PageSourceSearch

https://www.naak.com/products/boost-drink-mix-60-salted-cucumber-bag

html naak.com collected 2026-10-04 00:48:22 UTC 558,138 bytes, 6,736 lines download raw bytes

1<!doctype html>
2<html lang="en">
3  <head>
4    <!--LOOMI SDK-->
5<!--DO NOT EDIT-->
6<link rel="preconnect"  href="https://live.visually-io.com/" crossorigin data-em-disable>
7<link rel="dns-prefetch" href="https://live.visually-io.com/" data-em-disable>
8<script>
9    (()=> {
10        const env = 2;
11        var store = "naakbar.myshopify.com";
12        var alias = store.replace(".myshopify.com", "").replaceAll("-", "_").toUpperCase();
13        var jitsuKey =  "js.12429414";
14        var themeId = 186884456752;
15        var role = "main";
16        window.loomi_ctx = {...(window.loomi_ctx || {}),storeAlias:alias,jitsuKey,env,themeId,role};
17        (()=>{window.loomi_ctx.cc=1})()
18        
19    
20	
21	var product = {};
22	var variants = [];
23	
24	variants.push({id:50970992935216,policy:"deny",price:4800,iq:72});
25	
26	product.variants = variants;
27	product.oos = !true;
28	product.price = 4800 ;
29	window.loomi_ctx.current_product=product;
30	window.loomi_ctx.productId=10099179225392;
31	window.loomi_ctx.variantId = 50970992935216;
32	
33        
34        window.loomi_ctx.blockingConcent = ;
35        loomi_ctx.ttl=1779053127;
36        
37        !function(){var n,t,e;!function(n){n.JSCondition="jsCondition",n.JSFunction="jsFunction",n.JSEvent="jsEvent",n.Selector="selector",n.ElementEvent="elementEvent",n.PageLoad="pageLoad",n.Timeout="timeout",n.Inactivity="inactivity",n.ExitIntent="exitIntent",n.Conjunction="conjunction"}(n||(n={})),function(n){n[n.PAUSED=4]="PAUSED"}(t||(t={})),function(n){n[n.LOCAL=0]="LOCAL",n[n.STAGE=1]="STAGE",n[n.PROD=2]="PROD",n[n.TEST=3]="TEST"}(e||(e={}));var r,i="lmi_preview";function o(){return o=Object.assign?Object.assign.bind():function(n){for(var t=1;t<arguments.length;t++){var e=arguments[t];for(var r in e)({}).hasOwnProperty.call(e,r)&&(n[r]=e[r])}return n},o.apply(null,arguments)}function c(n,t){n.prototype=Object.create(t.prototype),n.prototype.constructor=n,a(n,t)}function a(n,t){return a=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,t){return n.__proto__=t,n},a(n,t)}!function(n){n.USE_CASE="USE_CASE",n.ADD_TO_CART="ADD_TO_CART"}(r||(r={})),window.addEventListener("load",function(){setTimeout(function(){},2e3)});var u="vslyCtags",s=function(){return new Date(1e3*Math.floor(Date.now()/1e3))};function l(n,t,e,r){return void 0===t&&(t=500),void 0===e&&(e=4),new Promise(function(i,o){n()?i(0):0!==e?setTimeout(function(){r&&r()&&o("condition rejected "+f(function(){return n.toString()})),l(n,t,e-1).then(i).catch(o)},t):o("condition rejected "+f(function(){return n.toString()}))})}function f(n,t){void 0===t&&(t=void 0);try{return n()}catch(n){return t}}var d=function(n){return n&&decodeURIComponent(document.cookie.replace(new RegExp("(?:(?:^|.*;)\\s*"+encodeURIComponent(n).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*([^;]*).*$)|^.*$"),"$1"))||null};function v(){return m(function(){var n=new Function(document.querySelector('script[id="__st"]').textContent+";return __st.cid.toString()")();return n&&window.localStorage.setItem("vsly__st",n),!0}),f(function(){return window.__st.cid.toString()})||window.localStorage.getItem("vsly__st")}function m(n,t,e){void 0===t&&(t=5),void 0===e&&(e=500),t>=0&&!f(n)&&setTimeout(function(){f(n)||m(n,t-1)},e)}var w=/*#__PURE__*/function(){function n(n,t){this._value=void 0,this._addedAt=void 0,this._value=n,this._addedAt=t||(new Date).getTime()}var t=n.prototype;return t.value=function(){return this._value},t.addedAt=function(){return this._addedAt},n}(),g=/*#__PURE__*/function(){function n(n,t){this.backend=void 0,this.ttlMillis=void 0,this.backend=n,this.ttlMillis=t}var t=n.prototype;return t.isValid=function(n){return!!n&&(new Date).getTime()-n.addedAt()<=this.ttlMillis},t.get=function(n){var t=this.backend.get(n),e=this.isValid(t);if(t&&e)return t.value();e||this.backend.remove(n)},t.set=function(n,t,e){var r=new w(t,e);this.backend.set(n,r)},n}(),p=/*#__PURE__*/function(){function n(n){this.namespace=void 0,this.namespace="vsly_cache_"+n,window[this.namespace]={}}var t=n.prototype;return t.get=function(n){var t=this;return f(function(){return window[t.namespace][n]})},t.remove=function(n){var t=this;f(function(){return delete window[t.namespace][n]})},t.set=function(n,t){window[this.namespace][n]=t},n}(),h=/*#__PURE__*/function(){function n(n){this.namespace=void 0,this.namespace="vsly_cache_"+n}var t=n.prototype;return t.get=function(n){var t=this;return f(function(){var e=sessionStorage.getItem(t.namespace+"_"+n);if(e){var r=JSON.parse(e);return new w(r._value,r._addedAt)}})},t.remove=function(n){sessionStorage.removeItem(this.namespace+"_"+n)},t.set=function(n,t){sessionStorage.setItem(this.namespace+"_"+n,JSON.stringify(t))},n}(),_=/*#__PURE__*/function(n){function t(t,e){return n.call(this,new h(t),e)||this}return c(t,n),t}
37(g),y=/*#__PURE__*/function(n){function t(t,e){return n.call(this,new p(t),e)||this}return c(t,n),t}(g),S=function(n,t){void 0===t&&(t=8397271938200529);for(var e,r=3735928559^t,i=1103547991^t,o=0;o<n.length;o++)e=n.charCodeAt(o),r=Math.imul(r^e,2654435761),i=Math.imul(i^e,1597334677);return r=Math.imul(r^r>>>16,2246822507)^Math.imul(i^i>>>13,3266489909),""+(4294967296*(2097151&(i=Math.imul(i^i>>>16,2246822507)^Math.imul(r^r>>>13,3266489909)))+(r>>>0))};function I(){return f(function(){return window.Shopify.country})||f(function(){return window.visually.country})}var P,O="visually",b="widgets";function A(){var n=f(function(){return window.loomi_ctx.cart});if(n)return n;var t=localStorage.getItem("loomi-cart");if(t)try{return JSON.parse(t)}catch(n){}}window.IntersectionObserver&&new IntersectionObserver(function(n,t){n.forEach(function(n){if(n.isIntersecting){var e=n.target;(function(n){var t=n.getAttribute("lmw"),e=n.getAttribute("lmwv");if(t&&e){var r=t+e;return l(function(){return f(function(){return!!window[O][b][r]})&&f(function(){return!!window.preact})},50,500).then(function(){f(function(){return window[O][b][r]("#"+n.id)})}),!0}return!1})(e)&&t.unobserve(e)}})},{root:null,rootMargin:window.vslyDeferWidgetsMargin||"100px",threshold:.1}),function(n){n.CART_CHANGE="CART_CHANGE",n.LOYALTY_CHANGE="LOYALTY_CHANGE"}(P||(P={}));var E=function(){return window.loomi_ctx.session.id};function x(n){return JSON.parse(localStorage.getItem(n)||"[]")}function T(n,t,e,r){n=n||[],t=t||[];var i=f(function(){return t.filter(function(t){return!n.find(e(t))})})||[],o=[].concat(n,i).slice(0,25);return o.length>0&&localStorage.setItem(r,JSON.stringify(o)),o}var C,D="vsly_params_history",N="vsly_visited_pages";!function(n){n.MOBILE="MOBILE",n.DESKTOP="DESKTOP"}(C||(C={}));var L=function(){return edgetag("getUserId")},k="lmi_type",M="lmi_from",R="lmi_class",j="lmi_utm_data",U={utm_source:"source",utm_medium:"medium",utm_campaign:"campaign",utm_term:"term",utm_content:"content"},J=function(n,t){void 0===t&&(t=3);for(var e=n,r=0;r<t;r++)try{var i=decodeURIComponent(e);if(i===e)break;e=i}catch(n){break}return e};function F(){var n,t,e,r=(n=function(n){if(function(n){return!n||"{}"===JSON.stringify(n)}(n))return null;var t={};return n.campaign&&(t.campaign=n.campaign),n.medium&&(t.medium=n.medium),n.source&&(t.source=n.source),n.term&&(t.term=n.term),n.content&&(t.content=n.content),t}(f(function(){return function(n){void 0===n&&(n=window.location.search);var t={utm:{},lmi_params:{}};return f(function(){return new URLSearchParams(n)}).forEach(function(n,e){if(n){var r=U[e],i=J(n);r?t.utm[r]=i:function(n){return f(function(){return[R,M,k].includes(n)})}(e)&&(t.lmi_params[e]=i)}}),t}().utm})),t=[],null!=(e=localStorage.getItem(j))&&(t=[].concat(JSON.parse(e)).slice(0,20)),n&&(n.ts=s(),t=[n].concat(t)),t);return localStorage.setItem(j,JSON.stringify(r)),r}function B(){var n=F();return f(function(){return n.filter(function(n){return n.campaign}).reduce(function(n,t){return t.ts>n.ts?t:n},n[0]).campaign})||""}var H=function(){try{var n=function(){if(!K)return Promise.resolve(new Promise(function(n,t){var e=indexedDB.open(q,1);e.onerror=function(n){t("IDB e:o"+n.target.error)},e.onsuccess=function(t){n(K=t.target.result)},e.onupgradeneeded=function(n){n.target.result.createObjectStore(G,{keyPath:"id"}).createIndex("id","id",{unique:!0})}})).then(function(){})}();return Promise.resolve(n&&n.then?n.then(function(){return K}):K)}catch(n){return Promise.reject(n)}},q="VISUALLY_IO",G=q,K=null;function V(){var n=new URL(window.location.href);return n.protocol+"//"+n.hostname+n.pathname}var Y="__eventn_id";function W(n,t,e){void 0===e&&(e=Y);var r=z(n,t);f(function(){return localStorage.setItem(e,r)}),function(n,t,e,r){f(function(){return window.loomi_ctx.cc})&&!f(function(){return(f(function(){return window.Shopify.customerPrivacy.analyticsProcessingAllowed})||f(function(){return window.Shopify.customerPrivacy.userCanBeTracked})||f(function(){return window.visually.analyticsProcessingAllowed}))()})||(document.cookie=encodeURIComponent(n)+"="+t+"; path=/; expires=Fri, 31 Dec 9999 23:59:59 GMT"+(e?"; domain="+e:"")+(r?"; secure":""))}(e,r,document.location.hostname.replace("www.","").replace("checkout.",""),"http:"!==document.location.protocol)}function $(n){return{firstSeen:f(function(){return parseInt(n.split(".")[1])},null),id:f(function(){return n.split(".")[0]})}}function z(n,t){return n+"."+t}function Z(){return Math.trunc((new Date).getTime()/1e3)}var Q=function(n){return(new Date).getTime()/1e3-n<=7200},X="vsly_vid",nn="lmi_debug";function tn(n){return f(function(){return new URL(window.location.href).searchParams.get(n)||void 0})}function en(){try{var n=f(function(){return window.vslyAntiFlickerReveal},void 0);n&&n()}catch(n){}}new _("p",18e5),new y("recs_cache",300001);var rn,on=new Map;function cn(n){return an(n)?"http://localhost:8080":"https://"+function(n){return void 0===n&&(n=window.loomi_ctx.env),n===e.STAGE?"sdk.loomi-stg.xyz":"live.visually-io.com"}()}function an(n){return[e.TEST,e.LOCAL].includes(n)}!function(n){n.NONE="none",n.YOTPO="yotpo"}(rn||(rn={}));var un="vsly_session";function sn(n){return J((n||"").replace("+"," "))}function ln(){var n=window.loomi_ctx.storeAlias,t={id:S(n+window.loomi_ctx.userId+s()+B()+vn()),utm_campaign:B(),last_interaction:new Date,landing_page:f(function(){return location.href},""),start_at:new Date};return fn(t),t}function fn(n){var t=JSON.stringify(n);localStorage.setItem(un,t),window.loomi_ctx.session=n}function dn(){var n=function(){window.loomi_ctx=window.loomi_ctx||{};var n=window.loomi_ctx.session||f(function(){var n=JSON.parse(localStorage.getItem(un));return n.last_interaction=new Date(n.last_interaction),n.start_at=new Date(n.start_at),n})||ln();return function(n){var t=new Date,e=n.last_interaction;return(t.valueOf()-e.valueOf())/6e4>30||sn(B())!==sn(n.utm_campaign)||n.last_interaction.getDate()!==t.getDate()}(n)&&(n=ln()),window.loomi_ctx.session=n,n}();n.last_interaction=new Date,fn(n)}var vn=function(){return Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15)},mn=["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IE","IT","LV","LT","LU","MT","NL","PL","PT","RO","SK","SI","ES","SE","NO","IS","LI"],wn=function(n){void 0===n&&(n=!0);var t=window.loomi_ctx.consent;t.allowed=n,t.fin||(t.fin=gn())},gn=function(){return(new Date).getTime()},pn=function(){return window.Shopify.customerPrivacy},hn=function(){return Promise.resolve()};(function(){try{if(window.vsly_init=!0,window.vslyIntegrationType="static","number"==typeof(c=f(function(){return window.loomi_ctx.ttl}))&&Number.isFinite(c)&&!(c<=0)&&c<Math.floor(Date.now()/1e3))return console.log("sdk blocked"),Promise.resolve();window.loomi_ctx.sdk_version="0.12.64";var n=window.loomi_ctx,t=function(n,t){try{return f(dn),f(function(){var n=window.loomi_ctx.ctags||[];0===n.length?window.loomi_ctx.ctags=JSON.parse(localStorage.getItem(u)||"[]"):localStorage.setItem(u,JSON.stringify(n)),f(function(){var n=JSON.parse(localStorage.getItem("vsl
37yCustomCtags")||"[]");n&&n.length>0&&(window.loomi_ctx.ctags=[].concat(window.loomi_ctx.ctags||[],n))})}),Promise.resolve(function(n,t){try{var e=(c=function(n){var t=function(n){try{var t=d(n),e=$(t);if(t)return{id:e.id,firstSeen:e.firstSeen||Z()}}catch(n){}}(n),e=function(n){var t=window.localStorage.getItem(n),e=$(t);if(t)return{id:e.id,firstSeen:e.firstSeen||Z()}}(n);if(!t&&!e){var r=function(){var n=Math.random().toString(36).substring(2,12),t=Z();return{newId:n,newEpoch:t,value:z(n,t)}}(),i=r.newId,o=r.newEpoch;return W(i,o,n),{id:i,firstSeen:o}}if(!e&&t)return W(t.id,t.firstSeen,n),t;if(!t&&e)return W(e.id,e.firstSeen,n),e;var c=Math.min(t.firstSeen,e.firstSeen),a=t.firstSeen<=e.firstSeen?t.id:e.id;return function(n,t){return n.firstSeen===t.firstSeen&&n.id!==t.id}(t,e)&&(a=t.id<=e.id?t.id:e.id),e.id==t.id&&e.firstSeen==t.firstSeen||W(a,c,n),{id:a,firstSeen:c}}(Y),{id:c.id,firstSession:Q(a=c.firstSeen),firstSeen:a}),r=function(n,t){var e=function(){var n=f(function(){return A().items.map(function(n){return{variantId:n.variant_id||0,quantity:n.quantity||0,productId:n.product_id||0,price:n.price||0}})})||[],t={path:window.location.pathname,host:window.location.hostname};f(function(){return n.length})>0&&(t.cartItems=n);var e=f(function(){return A().token});e&&(t.cartToken=e);var r=F();r&&(t.trafficSources=r),t.productsSeenInSession=function(){var n=f(function(){return window.loomi_ctx.sessionProducts});if(n)return n;var t=localStorage.getItem("loomi_session_products"),e=t?JSON.parse(t):[];return f(function(){return e.filter(function(n){return""!=n.handle}).reverse().slice(0,20)})}(),t.isCustomer=!!v(),t.query=window.location.search||"";var i=f(function(){return(("spa"==window.vslyIntegrationType?f(function(){return A().attributes.map(function(n){return n.key})}):f(function(){return Object.keys(A().attributes)}))||[]).filter(function(n){return!n.startsWith("vsly")&&n.length<20}).slice(0,15)});return i&&(t.cartAttributes=i),t}();e.storeAlias=n;var r=v();r&&(e.clientId=r),e.anonymousId=t.id,e.firstSeen=t.firstSeen,e.firstSession=t.firstSession,e.gaId=f(function(){return document.cookie.split(";").map(function(n){return n.split("=")}).find(function(n){return"_ga"==n[0].trim()})[1]},"");var i=window.loomi_ctx;e.customerTags=f(function(){return i.ctags.slice(0,20)}),e.landingPage=f(function(){return i.session.landing_page}),e.hasSubs=!!f(function(){return(n=A(),f(function(){return n.items.map(function(n){return f(function(){return n.selling_plan_allocation.selling_plan.name.toLowerCase()})}).filter(function(n){return!!n})},[])).length>0;var n});var c,a=(c="vsly_edgetag",m(function(){return L()&&localStorage.setItem(c,L()),!0}),f(L)||localStorage.getItem(c));a&&(e.edgetag=a);var u=function(){try{var n=f(function(){return new URL(window.location.href)});if(f(function(){return n.searchParams.get("forceOverride")})){var t=f(function(){return n.searchParams.get("targeting")});if(t)return JSON.parse(atob(t))}}catch(n){!function(){var n;(window.location.search.includes("lmi_debug")||f(function(){return window.vsly_fbs}))&&(n=console).error.apply(n,["loomi-editor"].concat([].slice.call(arguments)))}("preview overrides",n)}return{}}(),l=x(D),w=function(){var n,t=x(N);function e(n){return new Date(n.ts).valueOf()}function r(){var n=new URL(location.href);return["vslyvid","vslywgid","vslysid","lmi_preview","targeting","vsly_vid"].forEach(function(t){return n.searchParams.delete(t)}),n.search||""}return(n=N,Promise.resolve(H()).then(function(t){return new Promise(function(e,r){var i=t.transaction([G],"readonly").objectStore(G).get(n);i.onerror=function(n){r("IDB e:r"+n.target.error)},i.onsuccess=function(n){e(n.target.result)}})})).then(function(n){var i,o={ts:new Date,name:V(),search:f(r,"")},c=!!o.search,a=(f(function(){return n.visits})||t||[]).filter(function(n){return!c||!(n.name===o.name&&!n.search)}).filter(function(n){return!(n.name===o.name&&(o.search===n.search||c&&!n.search))}).sort(function(n,t){return e(t)-e(n)}).slice(0,500);a.unshift(o),(i={id:N,visits:a},Promise.resolve(H()).then(function(n){return new Promise(function(t,e){var r=n.transaction([G],"readwrite").objectStore(G).put(i);r.onerror=function(n){e("IDB e:w"+n.target.error)},r.onsuccess=function(){t("")}})})).catch()}).catch(),T([{ts:s(),name:V()}],t,function(n){return function(t){return n.name===t.name}},N)}(),g=JSON.parse(localStorage.getItem("loomi_purchased_products")||"[]"),p=o({deviceKind:f(function(){return window.loomi_ctx.deviceOverride},void 0)},{}),h=!!f(function(){return navigator.userAgent.includes("Macintosh")&&"ontouchend"in document}),_=f(function(){return window.innerWidth},0),y=f(function(){return window.vslyDesktopBreakpoint}
37)||960,S=f(function(){return d("cart_currency")})||f(function(){return A().currency})||"",I=f(function(){return i.current_product});if(I){e.oos=f(function(){return I.oos}),e.price=f(function(){return I.price}),e.iq=f(function(){return I.variants.reduce(function(n,t){return t.iq+n},0)}),e.productId=f(function(){var n=function(){var n={},t=window.loomi_ctx||{};t.productId&&(n.productId=t.productId);var e=f(function(){var n=new URL(location.href).searchParams,t="variant";return n.has(t)&&function(n){var t=Number(n),e=isNaN(t)?Number((""+n).replace(/[^\d.]+/g,""))||void 0:t;if(void 0!==e&&0!==e)return""+e}(n.get(t))})||t.variantId;return e&&(n.variantId=e),n}().productId;return Number.isFinite(Number(n))?n.toString():""},"");var P=1*i.variantId;Number.isFinite(P)&&(e.vid=P)}var O=f(E);"spa"==window.vslyIntegrationType&&(e.spa=!0);var b=f(function(){return i.ttl});return o({cartCurrency:S},e,{queryHistory:l,isIPadPro:h,windowInnerWidth:_,desktopBreakpoint:y,visitedPages:w,ttl:Number.isFinite(b)?b:0,purchasedLineItems:g,sid:O},p||{},u||{})}(n,e);return Promise.resolve(function(n,t){try{var e=function(n){return btoa(unescape(encodeURIComponent(JSON.stringify(n))))}(t),r=(u=function(n){var t="/api/allocator/web/public/v2/allocate";return an(n)&&(t="/allocate"),{cfgUrl:""+cn(n)+t}}(n).cfgUrl,s=function(){[i,X].map(function(n){var t=tn(n);t&&sessionStorage.setItem(n,t)});var n=sessionStorage.getItem(i),t=sessionStorage.getItem(X);return{previewKey:n,debugAllocator:tn(nn),previewVariantId:t}}(),l=s.previewKey,f=s.debugAllocator,d=s.previewVariantId,v=new URL(u),l&&v.searchParams.append(i,l),f&&v.searchParams.append(nn,"true"),d&&v.searchParams.append(X,d),v);r.searchParams.append("q",e);var o=S(r.href),c=window.vslyNativeFetch||window.fetch,a=on.has(o)?on.get(o):c(r.href).finally(function(){return on.delete(o)});return on.set(o,a),Promise.resolve(a).then(function(n){if(n.ok)return Promise.resolve(n.json());throw new Error("failed to load config: "+n.statusText)})}catch(n){return Promise.reject(n)}var u,s,l,f,d,v}(t,r)).then(function(n){return f(function(){window.loomi_ctx.audiences=n.audiences,f(function(){return n.audiences&&localStorage.setItem("vsly_audiences",JSON.stringify(n.audiences))}),window.loomi_ctx.testedThemes=n.testedThemes||[]}),function(n){var t=n.currentVariant;window.loomi_ctx=o({},window.loomi_ctx||{});var e=f(function(){return t.pid});e&&(window.loomi_ctx.productId=""+e);var r=f(function(){return t.vid});r&&(window.loomi_ctx.variantId=""+r);var i=f(function(){return t.price});i&&(window.loomi_ctx.variantPrice=i);var c=f(function(){return t.meta});c&&(window.loomi_ctx.productMeta=""+c)}(n),T(n.queryHistory,r.queryHistory,function(n){return function(t){return t.v===n.v&&t.k===n.k}},D),function(n){var t;(t=n.experiments)&&t.findIndex(function(n){var t=f(function(){return n.clientTargetingFormula.toString()},"")||"";return t.includes("CartItemHasTag")||t.includes("CartItemHasCollection")||t.includes("AllCartItemsHasTag")})>-1||!0===f(function(){return n.flags["sdk-enable-cart-enrichment"]},!1)&&(n.flags["sdk-enable-cart-enrichment"]=!1)}(n),{configuration:n,tracking:e}})}catch(n){return Promise.reject(n)}var c,a}(n,t))}catch(n){return Promise.reject(n)}}(n.storeAlias,n.env);(r=function(){var n=I();return!!n&&!mn.includes(n)},new Promise(function(n,t){var e,i=(e=window.loomi_ctx).consent||(e.consent={});i.init=gn(),(I()?hn():l(I,50,200)).then(function(){r()&&(wn(),n())}),(f(function(){return pn().analyticsProcessingAllowed})?hn():l(function(){return f(function(){return pn().analyticsProcessingAllowed})},50,200)).then(function(){var e=pn().analyticsProcessingAllowed()||r();wn(e),e?n():t()}),i.ccListener||(document.addEventListener("visitorConsentCollected",function(e){var i=e.detail.analyticsAllowed||r();wn(i),i?n():t()}),i.ccListener=!0)})).catch();var e=new Promise(function(n){"function"==typeof window.loomi_ctx.run?n():window.addEventListener("visually_loaded",function(){return n()},{once:!0})});return Promise.all([t,e]).then(function(n){var t,e,r,i=n[0],o=i.configuration,c=i.tracking;(t="vsly-a",e="https://assets.visually.io/v/visually-a.js?cb="+window.loomi_ctx.sdk_version,void 0===r&&(r={async:!1,defer:!1}),new Promise(function(n,i){var o=document.getElementById(t);o?n(document.getElementById(t)):((o=document.createElement("script")).id=t,o.src=e,o.async=r.async||!1,o.defer=r.defer||!1,o.setAttribute("data-em-disable",""),o.onload=function(){return n(o)},o.onerror=function(){return i(new Error("Failed to load "+e))},document.head.appendChild(o))})).catch(),window.loomi_ctx.run(o,c)}).catch(function(n){return console.error(n)}).finally(en)}catch(n){return Promise.reject(n)}var r,c}
37)().then(function(){return console.log("vsly sdk init")})}();
38
39    })()
40</script>
40
41<link href="https://assets.visually.io/vsly/lib/visually.js" rel="preload" as="script" data-em-disable>
42<script rel="prefetch" type="text/javascript" src="https://assets.visually.io/vsly/lib/visually.js" data-em-disable></script>
42
43<link href="https://assets.visually.io/widgets/vsly-preact.min.js" rel="preload" as="script" data-em-disable>
44<script data-vsly="preact2" type="text/javascript" src="https://assets.visually.io/widgets/vsly-preact.min.js" data-em-disable></script>
44
45<!--LOOMI SDK-->
46
47
48    <!-- Start of Shoplift scripts -->
49    <!-- 2026-06-05T16:28:31.4865751Z -->
50<style>.shoplift-hide { opacity: 0 !important; }</style>
51<style id="sl-preview-bar-hide">#preview-bar-iframe, #PBarNextFrameWrapper { display: none !important; }</style>
52<script type="text/javascript">(function(rootPath, template, themeRole, themeId, isThemePreview){ /* Generated on 2026-09-24T13:05:43.5221877Z */(function(){"use strict";var te=document.createElement("style");te.textContent=`#shoplift-preview-control{position:fixed;max-width:332px;height:56px;background-color:#141414;z-index:9999;bottom:20px;display:flex;border-radius:8px;box-shadow:13px 22px 7px #0000,9px 14px 7px #00000003,5px 8px 6px #0000000d,2px 4px 4px #00000017,1px 1px 2px #0000001a,0 0 #0000001a;align-items:center;margin:0 auto;left:16px;right:16px;opacity:0;transform:translateY(20px);visibility:hidden;transition:opacity .4s ease-in-out,transform .4s ease-in-out,visibility 0s .4s}#shoplift-preview-control.visible{opacity:1;transform:translateY(0);visibility:visible;transition:opacity .4s ease-in-out,transform .4s ease-in-out,visibility 0s 0s}#shoplift-preview-control *{font-family:Inter,sans-serif;color:#fff;box-sizing:border-box;font-size:16px}#shoplift-preview-variant-title{font-weight:400;line-height:140%;font-size:16px;text-align:start;letter-spacing:-.16px;flex-grow:1;text-wrap:nowrap;overflow:hidden;text-overflow:ellipsis}#shoplift-preview-variant-selector{position:relative;display:block;padding:6px 0;height:100%;min-width:0;flex:1 1 auto}#shoplift-preview-variant-menu-trigger{border:none;cursor:pointer;width:100%;background-color:transparent;padding:0 16px;border-left:1px solid #333;border-right:1px solid #333;height:100%;display:flex;align-items:center;justify-content:start;gap:8px}#shoplift-preview-variant-selector .menu-variant-label{width:24px;height:24px;border-radius:50%;padding:6px;display:flex;justify-content:center;align-items:center;font-size:12px;font-style:normal;font-weight:600;line-height:100%;letter-spacing:-.12px;flex-shrink:0}#shoplift-preview-variant-selector .preview-variant-menu{position:absolute;bottom:110%;transform:translate3d(0,20px,0);visibility:hidden;pointer-events:none;opacity:0;cursor:pointer;background-color:#141414;border:1px solid #141414;border-radius:6px;width:100%;max-height:156px;overflow-y:auto;box-shadow:0 8px 16px #0003;z-index:1;transition:opacity .3s ease-in-out,transform .3s ease-in-out,visibility 0s .3s}#shoplift-preview-variant-selector .preview-variant-menu.preview-variant-menu__visible{visibility:visible;pointer-events:auto;opacity:100;transform:translateZ(0);transition:opacity .3s ease-in-out,transform .3s ease-in-out,visibility 0s 0s}@media screen and (max-width:400px){#shoplift-preview-variant-selector .preview-variant-menu{position:fixed;left:0;right:0;width:auto;bottom:110%}}#shoplift-preview-variant-selector .preview-variant-menu .preview-variant-menu--item{padding:12px 16px;display:flex;overflow:hidden}#shoplift-preview-variant-selector .preview-variant-menu .preview-variant-menu--item .menu-variant-label{margin-right:6px}#shoplift-preview-variant-selector .preview-variant-menu .preview-variant-menu--item span{overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap;white-space:nowrap;color:#f6f6f6;font-size:14px;font-style:normal;font-weight:500}#shoplift-preview-variant-selector .preview-variant-menu .preview-variant-menu--item:hover{background-color:#545454}#shoplift-preview-variant-selector .preview-variant-menu .preview-variant-menu--item:last-of-type{border-bottom-left-radius:6px;border-bottom-right-radius:6px}#shoplift-preview-variant-selector .preview-variant-menu .preview-variant-menu--item:first-of-type{border-top-left-radius:6px;border-top-right-radius:6px}#shoplift-preview-control div:has(#shoplift-exit-preview-button){padding:0 16px}#shoplift-exit-preview-button{padding:6px 8px;font-weight:500;line-height:75%;border-radius:4px;background-color:transparent;border:none;text-decoration:none}#shoplift-exit-preview-button:hover{cursor:pointer;background-color:#333}#shoplift-preview-subscription-warning{position:relative;display:flex;align-items:center;gap:6px;padding:6px 10px;margin:0 4px;border-left:1px solid #333;cursor:help;outline:none}#shoplift-preview-subscription-warning__icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background-color:#f59e0b;color:#141414!important;font-weight:700;font-size:12px!important;line-height:1;flex-shrink:0}#shoplift-preview-subscription-warning__label{font-size:13px!important;font-weight:500;color:#fbbf24!important;text-wrap:nowrap;white-space:nowrap}#shoplift-preview-subscription-warning__tooltip{position:absolute;bottom:calc(100% + 8px);right:0;max-width:320px;width:max-content;padding:10px 12px;border-radius:6px;background-color:#1f1f1f;color:#fff!important;font-size:12px!important;line-height:1.4!important;box-shadow:0 8px 16px #0000004d;z-index:10000;opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .2s ease-in-out,transform .2s ease-in-out,visibility 0s .2s;pointer-events:none}#shoplift-preview-subscription-warning__tooltip.shoplift-preview-subscription-warning__tooltip--visible{opacity:1;visibility:visible;transform:translateY(0);transition:opacity .2s ease-in-out,transform .2s ease-in-out,visibility 0s 0s}#shoplift-preview-subscription-warning:focus-visible{box-shadow:inset 0 0 0 2px #f59e0b;border-radius:4px}#shoplift-preview-control:has(#shoplift-preview-subscription-warning){max-width:480px}/*$vite$:1*/`,document.head.appendChild(te);var fe=" daum[ /]| deusu/|(?:^|[^g])news(?!sapphire)|(?<! channel/|google/)google(?!(?:wv|app|/google| pixel))|(?<! cu)bots?(?:\\b|_)|(?<!cam)scan|(?<!lib)http|24x
527|;\\s\\w+;$|@[a-z][\\w-]+\\.|\\(\\)|\\.com\\b|\\b\\w+/1\\.0;|\\bbw/|\\bdlc\\b|\\bort/|\\bperl\\b|\\btime/|\\||^[<\\(;]|^[\\w \\.\\-\\(?:\\):%]+(?:/v?\\d+(?:\\.\\d+)?(?:\\.\\d{1,10})*?)?(?:,|$)|^[\\w\\-]+/[\\w]+$|^[^ ]{50,}$|^\\d+\\b|^\\w*search\\b|^\\w+/[\\w\\(\\)]*$|^\\w+/\\d\\.\\d\\s\\([\\w@]+\\)$|^active|^ad muncher|^amaya|^apache/|^avsdevicesdk/|^azure|^biglotron|^blackbox exporter|^bot|^clamav[ /]|^claude-code/|^client/|^cobweb/|^custom|^ddg[_-]android|^discourse|^dispatch/\\d|^downcast/|^duckduckgo|^email|^exodusmovement|^facebook|^getright/|^gozilla/|^hobbit|^hotzonu|^hwcdn/|^igetter/|^jeode/|^jetty/|^jigsaw|^microsoft bits|^movabletype|^mozilla/\\d\\.\\d\\s[\\w\\.-]+$|^mozilla/\\d\\.\\d\\s\\((?:compatible;)?(?:\\s?[\\w\\d-.]+\\/\\d+\\.\\d+)?\\)$|^navermailapp|^netsurf|^offline|^openai/|^owler|^php|^postman|^ps_daily/|^python|^rank|^read|^reed|^remove\\.bg/|^rest|^rss|^snapchat|^sora |^space bison|^stape/|^svn|^swcd |^taringa|^thumbor/|^track|^w3c|^webbandit/|^webcopier|^wget|^whatsapp|^wordpress|^xenu link sleuth|^yahoo|^yandex|^zdm/\\d|^zoom marketplace/|abuse|advisor|agent\\b|analyzer|archive|ask jeeves/teoma|attracta|audit|bluecoat drtr|browsex|burpcollaborator|capture|catch|check\\b|checker|chrome-lighthouse|chromeframe|classifier|cloudflare|collapsify\\b|convertify|cookiehubverify/|crawl|cursor/|cypress/|dareboost|datanyze|dejaclick|detect|discovery|dmbrowser|download|exaleadcloudview|feed|firephp|foregenix|functionize|grab|hardenize\\b|headless|hotjar|httrack|hubspot marketing grader|ibisbrowser|infrawatch|insight|inspect|iplabel|java(?!;)|library|linkcheck|linktiger|mail\\.ru/|manager|manus-user/|marketgoo/|measure|monitor\\b|neustar wpm|node\\b|nutch|offbyone|openvas|optimize|pageburst|pagespeed|parser|phantomjs|pingdom|playwright|powermarks|preview|productfinder|prospectingstudio|proxy|ptst[ /]\\d|radar|readable/|retriever|rexx;|rigor|rss\\b|scrape|securityheaders|selenium|server|silktide|sindup/|sogou|sparkler/|speedcurve|spider|splash|statuscake|supercleaner|synapse|synthetic|testlocally|tools|torrent|transcoder|url|validator|virtuoso|wappalyzer|watchtowr|webglance|webkit2png|whatcms/|xtate/",ge=/bot|crawl|http|lighthouse|scan|search|spider/i,z;function me(){if(z instanceof RegExp)return z;try{z=new RegExp(fe,"i")}catch{z=ge}return z}var ye=a=>typeof a=="string"&&a!=="";function ve(a){return ye(a)&&me().test(a)}var we=ve;class X{timestamp;constructor(){this.timestamp=new Date}}class be extends X{type;testId;hypothesisId;constructor(e,t,i){super(),this.type=3,this.testId=e,this.hypothesisId=t,this.timestamp=i}}class Se extends X{type;path;constructor(e){super(),this.type=4,this.path=e}}class Ce extends X{type;cart;constructor(e){super(),this.type=5,this.cart=e}}class ie extends Error{isBot;constructor(){super(),this.isBot=!0}}function Te(a,e,t){for(const i of e.selectors){const s=a.querySelectorAll(i.cssSelector);for(let r=0;r<s.length;r++)t(e.testId,e.hypothesisId)}re(a,e,(i,s,r,o,n)=>n(s,r),t)}function U(a,e,t){for(const i of e.selectors)ne(a,e.testId,e.hypothesisId,i,t??(()=>{}));re(a,e,ne,t??(()=>{}))}function se(a){return a.urlPatterns.reduce((e,t)=>{switch(t.operator){case"contains":return e+`.*${t}.*`;case"endsWith":return e+`.*${t}`;case"startsWith":return e+`${t}.*`}},"")}function re(a,e,t,i){new MutationObserver(()=>{for(const r of e.selectors)t(a,e.testId,e.hypothesisId,r,i)}).observe(a.documentElement,{childList:!0,subtree:!0})}function ne(a,e,t,i,s){const r=a.querySelectorAll(i.cssSelector);for(let o=0;o<r.length;o++){let n=r.item(o);if(n instanceof HTMLElement&&n.dataset.shoplift!==""){n.dataset.shoplift="";for(const l of i.actions.sort(Re))n=Ie(a,i.cssSelector,n,l)}}return r.length>0&&s?(s(e,t),!0):!1}function Ie(a,e,t,i){switch(i.type){case"innerHtml":t.innerHTML=i.value;break;case"attribute":Pe(t,i.scope,i.value);break;case"css":Ae(a,e,i.value);break;case"js":ke(a,t,i);break;case"copy":return Ee(t);case"remove":xe(t);break;case"move":_e(t,parseInt(i.value));break}return t}function Pe(a,e,t){a.setAttribute(e,t)}function Ae(a,e,t){const i=a.createElement("style");i.innerHTML=`${e} { ${t} }`,a.getElementsByTagName("head")[0]?.appendChild(i)}function ke(a,e,t){Function("document","element",`"use strict"; ${t.value}`)(a,e)}function Ee(a){const e=a.cloneNode(!0);if(!a.parentNode)throw"Can't copy node outside of DOM";return a.parentNode.insertBefore(e,a.nextSibling),e}function xe(a){a.remove()}function _e(a,e){if(e===0)return;const t=Array.prototype.slice.call(a.parentElement.children).indexOf(a),i=Math.min(Math.max(t+e,0),a.parentElement.children.length-1);a.parentElement.children.item(i).insertAdjacentElement(e>0?"afterend":"beforebegin",a)}function Re(a,e){return oe(a)-oe(e)}function oe(a){return a.type==="copy"||a.type==="remove"?0:1}
52const M={Template:0,UrlRedirect:2,Script:3,Price:5},De="data:image/svg+xml,%3csvg%20width='12'%20height='12'%20viewBox='0%200%2012%2012'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M9.96001%207.90004C9.86501%207.90004%209.77001%207.86504%209.69501%207.79004L6.43501%204.53004C6.19501%204.29004%205.80501%204.29004%205.56501%204.53004L2.30501%207.79004C2.16001%207.93504%201.92001%207.93504%201.77501%207.79004C1.63001%207.64504%201.63001%207.40504%201.77501%207.26004L5.03501%204.00004C5.56501%203.47004%206.43001%203.47004%206.96501%204.00004L10.225%207.26004C10.37%207.40504%2010.37%207.64504%2010.225%207.79004C10.15%207.86004%2010.055%207.90004%209.96001%207.90004Z'%20fill='white'/%3e%3c/svg%3e",Ve="data:image/svg+xml,%3csvg%20width='14'%20height='24'%20viewBox='0%200%2014%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M12.3976%2014.5255C12.2833%2013.8788%2012.0498%2013.3024%2011.6952%2012.7961C11.3416%2012.2898%2010.9209%2011.8353%2010.4353%2011.4317C9.94868%2011.0291%209.43546%2010.6488%208.89565%2010.292C8.48487%2010.049%208.09577%209.78565%207.72637%209.50402C7.35697%209.2224%207.08016%208.89503%206.89694%208.51987C6.71273%208.14471%206.67826%207.69533%206.79055%207.1697C6.86345%206.83216%206.97476%206.54647%207.12351%206.31162C7.27324%206.07778%207.47124%205.89986%207.7175%205.77684C7.96377%205.65483%208.21989%205.59383%208.48389%205.59383C8.88087%205.59383%209.17639%205.7016%209.3734%205.91714C9.56943%206.13268%209.68271%206.42345%209.71424%206.78946C9.74576%207.15547%209.72015%207.55401%209.63839%207.98509C9.55663%208.41617%209.43645%208.84724%209.27687%209.27934L13.5127%208.80149C13.9638%207.52656%2014.1017%206.42447%2013.9264%205.49725C13.751%204.56901%2013.2664%203.85122%2012.4724%203.34491C12.239%203.19648%2011.9779%203.07041%2011.6893%202.96569L12.0026%201.50979L9.86397%200L7.3875%201.50979L7.11169%202.78878C6.65166%202.8874%206.21724%203.01957%205.8114%203.19038C4.85292%203.594%204.06684%204.15115%203.45117%204.86385C2.83452%205.57655%202.42571%206.40108%202.22378%207.33847C2.06616%208.06947%202.04942%208.70796%202.17551%209.25087C2.30061%209.7948%202.52028%2010.2828%202.8355%2010.7139C3.14974%2011.145%203.51816%2011.5344%203.93977%2011.881C4.36039%2012.2288%204.782%2012.5521%205.20164%2012.851C5.68334%2013.1702%206.13844%2013.5169%206.56497%2013.8921C6.99052%2014.2672%207.31954%2014.7125%207.55004%2015.228C7.78055%2015.7445%207.81502%2016.3769%207.65347%2017.1262C7.56482%2017.5389%207.43676%2017.8765%207.27028%2018.1388C7.10381%2018.4011%206.89596%2018.5983%206.64772%2018.7295C6.3985%2018.8606%206.12071%2018.9267%205.8114%2018.9267C5.21641%2018.9267%204.79776%2018.6034%204.62833%2018.1632C4.4589%2017.7229%204.47367%2017.2583%204.60075%2016.5639C4.72782%2015.8705%205.05092%2015.1395%205.37107%2014.3699H1.17665C1.17665%2014.3699%200.207341%2016.1115%200.0310135%2017.6762C-0.0655232%2018.5302%200.0635208%2019.2653%200.41519%2019.8844C0.76686%2020.5036%201.33032%2020.9814%202.10655%2021.319C2.39222%2021.443%202.7104%2021.5447%203.05813%2021.623L2.54589%2024H7.17473L7.7047%2021.5386C8.08493%2021.442%208.43857%2021.3231%208.76562%2021.1787C9.73985%2020.7476%2010.52%2020.1427%2011.1071%2019.3649C11.6932%2018.5871%2012.0873%2017.7291%2012.2892%2016.7917C12.4744%2015.9295%2012.5099%2015.1741%2012.3966%2014.5275L12.3976%2014.5255Z'%20fill='white'/%3e%3c/svg%3e";async function Oe(a){let e=a.replace(/-/g,"+").replace(/_/g,"/");for(;e.length%4;)e+="=";const t=atob(e),i=Uint8Array.from(t,o=>
52o.charCodeAt(0)),s=new Blob([i]).stream().pipeThrough(new DecompressionStream("gzip")),r=await new Response(s).text();return JSON.parse(r)}function F(a,e){return typeof e=="string"&&/\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d+(?:Z|[+-]\d+)/.test(e)?new Date(e):e}function ee(a,e){return e}function q(a,e=!1,t=!1,i=","){const s=a/100;if(t){const o=Math.round(s).toLocaleString("en-US");return i!==","?o.replace(/,/g,i):o}else{const r=e?",":".",o=s.toFixed(2).split("."),n=parseInt(o[0],10),l=o[1]??"00",c=n.toLocaleString("en-US");return i!==","?`${c.replace(/,/g,i)}${r}${l}`:e?`${c.replace(/,/g,".")}${r}${l}`:`${c}${r}${l}`}}function H(a,e,t,i){const s=e.replace("{{amount}}",q(a,!1,!1)).replace("{{amount_no_decimals}}",q(a,!1,!0)).replace("{{amount_with_comma_separator}}",q(a,!0,!1)).replace("{{amount_no_decimals_with_comma_separator}}",q(a,!0,!0)).replace("{{amount_with_space_separator}}",q(a,!1,!1," ")).replace("{{amount_no_decimals_with_space_separator}}",q(a,!1,!0," ")).replace("{{amount_with_apostrophe_separator}}",q(a,!1,!1,"'")).replace("{{amount_no_decimals_with_apostrophe_separator}}",q(a,!1,!0,"'")).replace("{{amount_with_period_and_space_separator}}",q(a,!1,!1,". ")).replace("{{amount_no_decimals_with_period_and_space_separator}}",q(a,!1,!0,". "));return i?`${s} ${t}`:s}function ae(a){return a.replace(/[^\d.,\s-]/g,"").trim()}function j(a){const e=new Map;for(const[t,i,s]of a.variants)e.set(t,{priceInCents:i,compareAtPriceInCents:s});return e}function Le(a,e,t,i){const{priceInCents:s,compareAtPriceInCents:r}=t,{moneyFormat:o,currency:n,currencyCodeEnabled:l}=i;if(a.getAttribute("data-sl-attribute-p")===e)a.innerHTML=H(s,o,n,l);else if(a.getAttribute("data-sl-attribute-cap")===e)r<=0||r<=s?a.remove():a.innerHTML=H(r,o,n,l);else if(a.getAttribute("data-sl-attribute-discount")===e&&!(r<=0||r<=s)){const d=Math.round((r-s)/r*100),u=ae(H(r-s,o,n,!1)),h=a.getAttribute("data-sl-format")||"percent";h==="percent"?a.textContent=`-${d}%`:h==="amount"?a.textContent=`-${u}`:h==="both"&&(a.textContent=`-${d}% (-${u})`)}}function $e(a){const e=[],t={id:"url-pattern",operator:"contains",value:"/"};for(const[i,s,r]of a.variants){e.push({id:`p-${i}`,cssSelector:`[data-sl-attribute-p="${i}"]`,urlPatterns:[t],actions:[{id:`p-action-${i}`,type:"innerHtml",scope:"price",value:H(s,a.moneyFormat,a.currency,a.currencyCodeEnabled)}]});const o=r<=0||r<=s;if(e.push({id:`cap-${i}`,cssSelector:`[data-sl-attribute-cap="${i}"]`,urlPatterns:[t],actions:[{id:`cap-action-${i}`,type:o?"remove":"innerHtml",scope:"compare-at-price",value:o?"":H(r,a.moneyFormat,a.currency,a.currencyCodeEnabled)}]}),!o&&r>s){const n=Math.round((r-s)/r*100),l=ae(H(r-s,a.moneyFormat,a.currency,!1));e.push({id:`d-${i}`,cssSelector:`[data-sl-attribute-discount="${i}"]`,urlPatterns:[t],actions:[{id:`d-action-${i}`,type:"js",scope:null,value:`var format = element.getAttribute('data-sl-format') || 'percent';                    if (format === 'percent') {                      element.textContent = '-${n}%';                    } else if (format === 'amount') {                      element.textContent = '-${l}';                    } else if (format === 'both') {                      element.textContent = '-${n}% (-${l})';                    }`}]})}}return e}const Me=a=>{let e=5381;for(let t=0;t<a.length;t++)e=(e*33^a.charCodeAt(t))>>>0;return e.toString(36)},qe=()=>Math.random().toString(36).slice(2,10)+Date.now().toString(36).slice(-4),He=a=>btoa(JSON.stringify(a)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""),K=a=>a.replace(/#slr-[a-z0-9]+$/,""),tt="modulepreload",it=function(a){return"/"+a},st={},Ne=function(e,t,i){let s=Promise.resolve();function r(o){const n=new Event("vite:preloadError",{cancelable:!0});if(n.payload=o,window.dispatchEvent(n),!n.defaultPrevented)throw o}return s.then(o=>{for(const n of o||[])n.status==="rejected"&&r(n.reason);return e().catch(r)})};function le(a,e,t){const i=t?a.plans.filter(c=>!c.variantId||c.variantId===t):a.plans,s=[],r=[];for(const c of i)c.direction==="decrease"?(s.push(c.existingShopifyPlanId),r.push(c.createdShopifyPlanId)):(s.push(c.createdShopifyPlanId),r.push(c.existingShopifyPlanId));const o=e?s:r,n=e?r:s;if(t)for(const c of a.plans)for(const d of[c.existingShopifyPlanId,c.createdShopifyPlanId])d&&!o.includes(d)&&!n.includes(d)&&n.push(d);const l={};for(let c=0;c<n.length;c++){const d=n[c],u=o[c];d&&u&&(l[d]=u)}return{showPlanIds:o,hidePlanIds:n,swapMap:l}}function ce(a,e,t){const i=e?a.plans.find(r=>r.variantId===e):void 0;if(i)return i.direction;if(t){const r=a.plans.find(o=>o.productId===t);if(r)return r.direction}return a.plans.find(r=>!r.variantId)?.direction??null}function J(a,e){const t=e?a.plans.filter(r=>!r.productId||r.productId===e):a.plans,i={};for(const r of t)i[r.existingShopifyPlanId]=r.existingDiscountAmount,i[r.createdShopifyPlanId]=r.existingDiscountAmount;
52const s=Math.max(...Object.values(i),0);return{discountMap:i,maxDiscount:s}}function W(a){const e=document.querySelector('form[action*="/cart/add"] input[name="product-id"]')?.value;if(e)return e;if(a){for(const r of Array.from(document.querySelectorAll("[data-sl-attribute-p]"))){const o=r.getAttribute("data-sl-attribute-p");if(!o)continue;const n=a.variants.find(l=>l[0]===o);if(n?.[3])return n[3]}const s=document.querySelector('form[action*="/cart/add"] input[name="id"]')?.value;if(s){const r=a.variants.find(o=>o[0]===s);if(r?.[3])return r[3]}}const t=window,i=t.ShopifyAnalytics?.meta?.product?.id??t.meta?.product?.id;return i!=null?String(i):null}function D(a,e){return a.widget.selectors[e]??[]}function N(a,e){return a.replace(/[\d.]+%/,`${e}%`)}function $(a,e){const t=document.createTreeWalker(a,NodeFilter.SHOW_TEXT);let i=t.nextNode();for(;i;){if(i.nodeValue!==null){const s=e(i.nodeValue);if(s!==i.nodeValue){i.nodeValue=s;return}}i=t.nextNode()}}function de(a,e){return a===null?!1:a==="decrease"?!e:e}async function Ue(a){if(a.subscriptionSwapDone)return;const e=a.getActiveAssignment();if(!e)return;const t=a.getHypothesis(e.hypothesisId);if(!t?.subscriptionData)return;a.subscriptionSwapDone=!0;const i=t.subscriptionData,s=t.isControl,r=[...new Set(i.plans.map(d=>d.direction))].join(",");a.log(`[SUB-SWAP] ${s?"A":"B"} side, directions=${r}`);const o=i.plans.some(d=>d.variantId);let n=!1,l=!1;function c(){if(!l){l=!0;try{const d=o?document.querySelector("select[name='id'], input[name='id']")?.value:void 0,{showPlanIds:u,hidePlanIds:h,swapMap:p}=le(i,s,d);a.swapMap=p;const b=D(i,"widgetParent"),E=D(i,"subscriptionPlans"),S=D(i,"subscriptionInput");if(!b.length||!E.length||!S.length)return;const C=document.querySelector(b[0].selector);if(!C?.shadowRoot)return;const _=C.shadowRoot.querySelector(E[0].selector);if(!_?.shadowRoot)return;const T=S[0].selector;let m=null;if(i.widget.widgetType==="buttons"||i.widget.widgetType==="radio"){const y=Array.from(_.shadowRoot.querySelectorAll(T));if(!y.length)return;for(const v of y){const g=v.closest("label");g&&(u.includes(v.value)?g.style.display="":h.includes(v.value)&&(g.style.display="none"))}const w=y.some(v=>u.includes(v.value)&&v.checked),I=y.some(v=>h.includes(v.value)&&v.checked);if((w||I)&&(n=!1),!w&&!n){n=!0;for(const v of y)if(u.includes(v.value)){v.closest("label")?.click(),v.dispatchEvent(new Event("change",{bubbles:!0}));break}}const f=y.find(v=>v.checked);m=f&&u.includes(f.value)?f.value:u[0]??null}else if(i.widget.widgetType==="dropdown"){const y=_.shadowRoot.querySelector("select");if(!y)return;for(const w of Array.from(y.options))h.includes(w.value)&&(w.style.display="none",w.disabled=!0);if(h.includes(y.value)){const w=Array.from(y.options).find(I=>u.includes(I.value));w&&(y.value=w.value,y.dispatchEvent(new Event("change",{bubbles:!0})))}m=u.includes(y.value)?y.value:u[0]??null}if(m){const y=Array.from(document.querySelectorAll('input[name="selling_plan"]'));for(const w of y)w.value!==m&&(w.value=m)}}finally{l=!1}}}if(a.subscriptionHideWrongPlans=c,a.swapMap=le(i,s).swapMap,c(),o){const d=document.querySelector("select[name='id'], input[name='id']");d&&d.addEventListener("change",c)}}function B(a){const e=D(a,"widgetParent");return e.length?document.querySelector(e[0].selector)?.shadowRoot??null:null}function Y(a,e){const t=D(a,"subscriptionPlans");return t.length?e.querySelector(t[0].selector)?.shadowRoot??null:null}function Z(a,e){const t=new URLSearchParams(window.location.search).get("variant");if(t)return t;{const i=document.querySelector('form[action*="/cart/add"] input[name="id"]')?.value;if(i)return i}return a.size>0?[...a.keys()][0]:void 0}function G(a,e){return H(a,e.moneyFormat,e.currency,e.currencyCodeEnabled)}function Fe({originalFetch:a,swapMap:e,slptValue:t,getSelectedPlanId:i,log:s}){if(window.fetch.__shoplift_intercepted)return s("[SUB-INTERCEPT] already installed — skipping"),()=>{};function r(n){if(i){const l=i();if(l)return e[l]??l}return e[n]??n}const o=function(n,l){if((typeof n=="string"?n:n instanceof URL?n.href:n.url).includes("/cart/add")&&l?.body)try{if(l.body instanceof FormData){const d=l.body.get("selling_plan");d?l.body.set("selling_plan",r(String(d))):(!d||d==="")&&t&&l.body.set("properties[_slpt]",t)}
52else if(typeof l.body=="string"){const d=JSON.parse(l.body);if(d.items)for(const u of d.items){const h=String(u.selling_plan??"");h?u.selling_plan=r(h):!u.selling_plan&&t&&(u.properties||(u.properties={}),u.properties._slpt=t)}else if(d.id){const u=String(d.selling_plan??"");u?d.selling_plan=r(u):!d.selling_plan&&t&&(d.properties||(d.properties={}),d.properties._slpt=t)}l.body=JSON.stringify(d)}}catch(d){s("[SUB-INTERCEPT] body parse failed; cart-add proceeds with un-swapped plan",d)}return a.call(window,n,l)};return o.__shoplift_intercepted=!0,window.fetch=o,function(){window.fetch===o&&(window.fetch=a)}}function Be({log:a}){if(window.fetch.__shoplift_intercepted)return a("[SUB-PREVIEW-BLOCK] already installed — skipping"),()=>{};const e=window.fetch,t=function(i,s){const r=typeof i=="string"?i:i instanceof URL?i.href:i.url;return r.includes("/cart/add")?(a("[SUB-PREVIEW-BLOCK] cart-add blocked in preview mode",{url:r}),Promise.resolve(new Response(JSON.stringify({id:0,properties:{},quantity:0,variant_id:0,key:"preview",title:"Preview — cart-add blocked",price:0,original_price:0,line_price:0,original_line_price:0,total_discount:0,discounts:[],preview:!0}),{status:200,headers:{"Content-Type":"application/json"}}))):e.call(window,i,s)};return t.__shoplift_intercepted=!0,window.fetch=t,function(){window.fetch===t&&(window.fetch=e)}}function pe({data:a,runUpdates:e,debounceMs:t=150}){let i=null;function s(){i&&clearTimeout(i),e(),i=setTimeout(e,t)}let r=null;const o=[],n={childList:!0,subtree:!0,characterData:!0,attributes:!0};function l(h){for(const p of o)p.disconnect();o.length=0;for(const p of Array.from(h.querySelectorAll("*")))if(p.shadowRoot){const b=new MutationObserver(s);b.observe(p.shadowRoot,n),o.push(b)}}function c(){const h=B(a);return h?(r&&r.disconnect(),l(h),r=new MutationObserver(p=>{p.some(b=>b.type==="childList"&&b.addedNodes.length>0)&&l(h),s()}),r.observe(h,n),!0):!1}const d=document.body||document.documentElement,u=new MutationObserver(()=>{c()&&s()});return u.observe(d,{childList:!0,subtree:!0}),c()&&s(),e(),function(){i&&(clearTimeout(i),i=null),u.disconnect(),r&&(r.disconnect(),r=null);for(const p of o)p.disconnect();o.length=0}}async function ze(a){if(a.subscriptionPriceDone)return;const e=a.getActiveAssignment(),t=e?a.getHypothesis(e.hypothesisId):void 0,i=t?.subscriptionData?null:a.findActiveSubscriptionTestControl(),s=t?.subscriptionData?t:i?.hypothesis;if(!s?.subscriptionData)return;const r=t?.subscriptionData?e.testId:i.testId;a.subscriptionPriceDone=!0;const o=s.subscriptionData,n=s.isControl,l=s.priceData,c=o.widget.widgetType;let d=W(l),u=J(o,d),h=u.discountMap,p=u.maxDiscount;function b(){const g=W(l);g!==d&&(d=g,u=J(o,d),h=u.discountMap,p=u.maxDiscount,a.log(`[SUB-PRICE] scope refreshed side=${n?"A":"B"}, currentProductId=${d??"n/a"}, maxDiscount=${p}`))}a.log(`[SUB-PRICE] side=${n?"A":"B"}, currentProductId=${d??"n/a"}, maxDiscount=${p}`),a.updatePriceTestHiddenInputs(r,n?"control":"variant",!1);function E(){if(!l)return null;const g=j(l),P=Z(g),A=ce(o,P,d);if(!de(A,n))return null;const k=P?g.get(P):void 0;return k?{formattedVariantPrice:G(k.priceInCents,l),formattedDiscounted:G(k.priceInCents*(1-p/100),l)}:null}Fe({originalFetch:a.fetch,swapMap:a.swapMap??{},slptValue:a.slptValue??void 0,log:a.log,getSelectedPlanId:()=>{const g=B(o);if(!g)return null;const P=Y(o,g);if(!P)return null;const A=D(o,"subscriptionInput"),k=A.length?A[0].selector:'input[name="rc_plan"]';return P.querySelector(`${k}:checked`)?.value??null}});function S(g){const P=D(o,"subscriptionDiscount");for(const A of P)if(A.selector.includes("badge")||A.selector.includes("__badge")){const k=g.querySelector(A.selector);k?.textContent&&!k.textContent.includes(`${p}%`)&&$(k,x=>N(x,p))}}function C(g){const P=E();if(!P)return;const A=D(o,"subscriptionCompareAt");for(const k of A){const x=g.querySelector(k.selector)||g.querySelector(`[part~="${k.selector}"]`);x?.textContent&&!x.textContent.includes(P.formattedVariantPrice)&&$(x,R=>/\d/.test(R)?P.formattedVariantPrice:R)}}function _(g,P){const A=D(o,"subscriptionCompareAt"),k=P===0?"none":"";for(const x of A){const R=g.querySelector(x.selector)||g.querySelector(`[part~="${x.selector}"]`);R&&(k==="none"?R.style.display!=="none"&&(R.style.display="none"):R.style.display==="none"&&(R.style.display=""))}}function T(g){const P=D(o,"subscriptionInput"),A=P.length?P[0].selector:'input[name="rc_plan"]',k=D(o,"subscriptionPlanDiscount"),x=k.length?k[0].selector:".rc-plans-button__discount";for(const R of Array.from(g.querySelectorAll("label"))){const O=R.querySelector(A),V=R.querySelector(x);
52if(O&&V){const L=h[O.value];if(L!==void 0){if(L===0)V.style.display!=="none"&&(V.style.display="none");else if(V.style.display==="none"&&(V.style.display=""),V.textContent){const Q=V.textContent.match(/[\d.]+%/)?.[0];Q&&Q!==`${L}%`&&$(V,et=>N(et,L))}}}}}function m(g){const P=g.querySelector("select");if(P)for(const A of Array.from(P.options)){const k=h[A.value];if(k!==void 0&&A.textContent){const x=A.textContent.match(/[\d.]+%/)?.[0];x&&x!==`${k}%`&&(A.textContent=N(A.textContent,k))}}}function y(g,P){const k=D(o,"subscriptionDiscount").filter(x=>x.selector.includes("benefit")||x.selector==="rc-benefits");for(const x of k){const R=g.querySelector(x.selector);if(R?.shadowRoot){for(const O of Array.from(R.shadowRoot.querySelectorAll("li")))if(O.textContent?.includes("Save")){const V=O;if(P===0)V.style.display!=="none"&&(V.style.display="none");else{V.style.display==="none"&&(V.style.display="");const L=O.textContent.match(/[\d.]+%/)?.[0];L&&L!==`${P}%`&&$(O,Q=>N(Q,P))}}}}}let w=!1;function I(){if(!w){w=!0;try{if(b(),d!==null&&Object.keys(h).length===0)return;const g=B(o);if(!g)return;S(g),l&&C(g);const P=Y(o,g);let A=p;if(P){const k=D(o,"subscriptionInput"),x=k.length?k[0].selector:'input[name="rc_plan"]',R=P.querySelector(`${x}:checked`);if(R){const O=h[R.value];O!==void 0&&(A=O)}c==="buttons"||c==="radio"?T(P):m(P)}_(g,A),y(g,A)}finally{w=!1}}}function f(){const g=E();if(!g)return;const P=B(o);if(!P)return;const A=D(o,"onetimeToggle"),k=A.length?A[0].selector:'input[value="onetime"]';if(!P.querySelector(k)?.checked)return;const R=D(o,"subscriptionPrice");for(const O of R){const V=P.querySelector(O.selector)||P.querySelector(`[part~="${O.selector}"]`);V?.textContent&&!V.textContent.includes(g.formattedDiscounted)&&$(V,L=>/\d/.test(L)?g.formattedDiscounted:L)}}function v(){a.subscriptionHideWrongPlans&&a.subscriptionHideWrongPlans(),I(),a.subscriptionUpdateOneTime&&a.subscriptionUpdateOneTime(),f()}pe({data:o,runUpdates:v})}async function We(a){if(a.subscriptionOneTimeDone)return;const e=a.getActiveAssignment(),t=e?a.getHypothesis(e.hypothesisId):void 0,i=!!(t?.subscriptionData&&t.priceData),s=i?null:a.findActiveSubscriptionTestControl(),r=i?t:s?.hypothesis;if(!r?.subscriptionData||!r.priceData)return;const o=i?e.testId:s.testId;a.subscriptionOneTimeDone=!0;const n=r.subscriptionData,l=r.priceData,c=j(l),d=r.isControl,u=d?"control":"variant";a.slptValue=`${o}:${u}:f`,a.updatePriceTestHiddenInputs(o,u,!1);function h(){const p=B(n);if(!p)return;const b=Z(c);if(!b)return;const E=W(l),S=ce(n,b,E);if(!de(S,d))return;const C=c.get(b);if(!C)return;const _=H(C.priceInCents,l.moneyFormat,l.currency,l.currencyCodeEnabled),T=D(n,"onetimePrice");if(!T.length)return;const m=D(n,"onetimeContainer"),y=m.length?m[0].selector:'[part~="rc-purchase-option__onetime"]',I=p.querySelector(y)??p;for(const f of T){let v=null;try{v=I.querySelector(f.selector)}catch{v=null}v??=I.querySelector(`[part~="${f.selector}"]`),v&&v.textContent&&!v.textContent.includes(_)&&$(v,g=>/\d/.test(g)?_:g)}}a.subscriptionUpdateOneTime=h,h()}async function Ge(a,e){const{subscriptionPreviewRender:t}=await Ne(async()=>{const{subscriptionPreviewRender:i}=await Promise.resolve().then(()=>Xe);return{subscriptionPreviewRender:i}},void 0);return t(a.subscriptionData,a.priceData,a.isControl,e)}function je(a,e){const t=a.widget.selectors.widgetParent??[],i=a.widget.selectors.subscriptionPlans??[],s=a.widget.selectors.subscriptionInput??[];if(!t.length||!i.length||!s.length){e("[SUB-GLOBAL-HIDE] Missing required selectors — skipping");return}const r=t[0].selector,o=i[0].selector,n=s[0].selector;let l=!1,c=null,d=!1;function u(){if(!d){d=!0;try{h()}finally{d=!1}}}function h(){const C=document.querySelector(r);if(!C?.shadowRoot)return;const _=C.shadowRoot.querySelector(o);if(!_?.shadowRoot)return;_.shadowRoot!==c&&(c=_.shadowRoot,l=!1);let T=0;if(a.widget.widgetType==="buttons"||a.widget.widgetType==="radio"){const m=Array.from(_.shadowRoot.querySelectorAll(n));for(const f of m)if(a.planIds.includes(f.value)){f.disabled||(f.disabled=!0);const v=f.closest("label");v&&v.style.display!=="none"&&(v.style.display="none",T++)}const y=m.filter(f=>!a.planIds.includes(f.value));if(!y.some(f=>f.checked)&&!l&&y.length>0){l=!0;const f=y[0];f.closest("label")?.click(),f.dispatchEvent(new Event("change",{bubbles:!0})),e(`[SUB-GLOBAL-HIDE] Preselected first visible plan input=${f.value}`)}const I=y.find(f=>f.checked)??y[0];
52if(I){const f=Array.from(document.querySelectorAll('input[name="selling_plan"]'));for(const v of f)v.value!==I.value&&(v.value=I.value,e(`[SUB-GLOBAL-HIDE] Mirrored plan id ${I.value} to form selling_plan input`))}}else if(a.widget.widgetType==="dropdown"){const m=_.shadowRoot.querySelector("select");if(!m)return;for(const I of Array.from(m.options))a.planIds.includes(I.value)&&(I.style.display!=="none"&&(I.style.display="none"),I.disabled||(I.disabled=!0),T++);const y=Array.from(m.options).filter(I=>!a.planIds.includes(I.value)),w=y.some(I=>I.value===m.value);y.length>0&&!w&&!l&&(l=!0,m.value=y[0].value,m.dispatchEvent(new Event("change",{bubbles:!0})),e(`[SUB-GLOBAL-HIDE] Preselected first visible option=${y[0].value}`))}T>0&&e(`[SUB-GLOBAL-HIDE] Hidden ${T} B-side plan buttons`)}const p={childList:!0,subtree:!0,characterData:!0};let b=null;function E(C){b?.disconnect(),b=new MutationObserver(()=>u()),b.observe(C,p)}function S(){const C=document.querySelector(r);if(!C?.shadowRoot)return!1;u(),new MutationObserver(()=>{u();const m=C.shadowRoot.querySelector(o);m?.shadowRoot&&E(m.shadowRoot)}).observe(C.shadowRoot,p);const T=C.shadowRoot.querySelector(o);return T?.shadowRoot&&E(T.shadowRoot),!0}if(!S()){e("[SUB-GLOBAL-HIDE] Widget not in DOM yet — waiting via MutationObserver");const C=new MutationObserver(()=>{S()&&C.disconnect()});C.observe(document.body??document.documentElement,{childList:!0,subtree:!0})}}const ue="Limited preview",Ke="Add-to-cart and checkout prices won't reflect this test until it launches — test selling plans are not created in your subscription app until after a test is launched.",Je=5e3;function Ye(){const a=document.createElement("div");a.id="shoplift-preview-subscription-warning";const e=document.createElement("span");e.id="shoplift-preview-subscription-warning__icon",e.setAttribute("aria-hidden","true"),e.textContent="!";const t=document.createElement("span");t.id="shoplift-preview-subscription-warning__label",t.textContent=ue;const i=document.createElement("div");i.id="shoplift-preview-subscription-warning__tooltip",i.setAttribute("role","tooltip"),i.textContent=Ke,a.appendChild(e),a.appendChild(t),a.appendChild(i),a.setAttribute("tabindex","0"),a.setAttribute("aria-describedby",i.id),a.setAttribute("aria-label",ue);let s=null;function r(){s!==null&&(clearTimeout(s),s=null)}function o(){i.classList.add("shoplift-preview-subscription-warning__tooltip--visible")}function n(){i.classList.remove("shoplift-preview-subscription-warning__tooltip--visible")}function l(){o(),r(),s=setTimeout(()=>{n(),s=null},Je)}function c(){r(),o()}function d(){s===null&&n()}a.addEventListener("mouseenter",c),a.addEventListener("mouseleave",d),a.addEventListener("focus",c),a.addEventListener("blur",d);function u(p){try{const b=p.target;if(!(b instanceof Element))return;(b.closest('form[action*="/cart/add"] button[type="submit"], form[action*="/cart/add"] input[type="submit"]')!==null||b.closest('[name="add"], button[name="add"], [data-add-to-cart], button[data-add-to-cart]')!==null)&&l()}catch{}}document.addEventListener("click",u,!0);function h(){r(),document.removeEventListener("click",u,!0),a.removeEventListener("mouseenter",c),a.removeEventListener("mouseleave",d),a.removeEventListener("focus",c),a.removeEventListener("blur",d),a.remove()}return{root:a,tooltip:i,cleanup:h}}let he=!1;class Ze{DATA_SL_ATTRIBUTE_P="data-sl-attribute-p";DATA_SL_TEST_ID="data-sl-test-id";VIEWPORT_TRACK_THRESHOLD=.5;temporarySessionKey="Shoplift_Session";essentialSessionKey="Shoplift_Essential";analyticsSessionKey="Shoplift_Analytics";priceSelectorsSessionKey="Shoplift_PriceSelectors_v2";shop;host;eventHost;disableReferrerOverride;legacySessionKey;cssHideClass;testConfigs;inactiveTestConfigs;hiddenSubscriptionPlans;testsFilteredByAudience;sendPageView;shopliftDebug;gaConfig;telemetryEnabled;getCountryTimeout;geoViaShopify;resolvedRegion=null;state;subscriptionPreviewWarningCleanup=null;shopifyAnalyticsId;cookie=document.cookie;isSyncing=!1;isSyncingGA=!1;fetch;localStorageSet;localStorageGet;sessionStorageSet=window.sessionStorage.setItem.bind(window.sessionStorage);sessionStorageGet=window.sessionStorage.getItem.bind(window.sessionStorage);
52urlParams=new URLSearchParams(window.location.search);device;logHistory;activeViewportObservers=new Map;clientIdRetryCount=0;constructor(e,t,i,s,r,o,n,l,c,d,u,h,p,b=!1){this.shop=e,this.host=t,this.eventHost=i,this.disableReferrerOverride=l,this.logHistory=[],this.legacySessionKey=`SHOPLIFT_SESSION_${this.shop}`,this.cssHideClass=s?"shoplift-hide":"",this.testConfigs=u.map(S=>({...S,startAt:new Date(S.startAt),statusHistory:S.statusHistory.map(C=>({...C,createdAt:new Date(C.createdAt)}))})),this.inactiveTestConfigs=h,this.hiddenSubscriptionPlans=p,this.sendPageView=!!r,this.shopliftDebug=o===!0,this.telemetryEnabled=c===!0,this.geoViaShopify=b===!0,this.gaConfig=n!=={"sendEvents":false,"mode":"gtag"}?n:{sendEvents:!1},this.fetch=window.fetch.bind(window),this.localStorageSet=window.localStorage.setItem.bind(window.localStorage),this.localStorageGet=window.localStorage.getItem.bind(window.localStorage);const E=this.getDeviceType();this.device=E!=="tablet"?E:"mobile",this.state=this.loadState(),this.shopifyAnalyticsId=this.getShopifyAnalyticsId(),this.testsFilteredByAudience=u.filter(S=>
52S.status=="active"),this.getCountryTimeout=d===1000?1e3:d,window.__slReadCookie=S=>{const C=this.getCookie(S);if(C===null)return null;try{return decodeURIComponent(C)}catch{return C}},this.log("State Loaded",JSON.stringify(this.state))}deriveCategoryFromExistingTests(){if(!this.state.temporary.testCategory&&this.state.essential.visitorTests.length>0){const e=this.state.essential.visitorTests.some(t=>{if(!t.hypothesisId)return!1;const i=this.getHypothesis(t.hypothesisId);return i&&["theme","basicScript","price"].includes(i.type)});this.state.temporary.testCategory=e?"global":"conditional",this.persistTemporaryState(),this.log("Derived test category from existing visitorTests: %s",this.state.temporary.testCategory)}}async init(){try{if(this.log("Shoplift script initializing"),window.Shopify&&window.Shopify.designMode){this.log("Skipping script for design mode");return}if(window.location.href.includes("slScreenshot=true")){this.log("Skipping script for screenshot");return}if(window.location.hostname.endsWith(".edgemesh.com")){this.log("Skipping script for preview");return}if(window.location.href.includes("isShopliftMerchant")){const o=this.urlParams.get("isShopliftMerchant")==="true";this.log("Setting merchant session to %s",o),this.state.temporary.isMerchant=o,this.persistTemporaryState()}if(this.state.temporary.isMerchant){this.log("Setting up preview for merchant"),typeof window.shoplift!="object"&&this.setShopliftStub(),this.state.temporary.previewConfig||this.hidePage(),await this.initPreview(),document.querySelector("#sl-preview-bar-hide")?.remove();return}if(this.state.temporary.previewConfig=void 0,we(navigator.userAgent))return;const e=Date.now(),t=!this.state.temporary.lastSeen||e-this.state.temporary.lastSeen>1800*1e3;(!this.state.temporary.entryPage||t)&&(this.state.temporary.entryPage=K(window.location.href)),this.state.temporary.lastSeen=e,this.persistTemporaryState(),window.__slEntryPage=this.state.temporary.entryPage??"";const i=this.state.essential.visitorTests.filter(o=>o.hypothesisId&&+o.createdAt>Date.now()-6e4);if(i.length===0)this.sendDiagnosticTelemetry("page-landed",null);else for(const o of i)this.sendDiagnosticTelemetry("page-landed",o.testId,{hypothesisId:o.hypothesisId,isControl:o.assignedTo==="control",testType:o.testType??"unknown"});if(navigator.userAgent.includes("Chrome/118")){this.log("Random: %o",[Math.random(),Math.random(),Math.random()]);const o=await this.makeRequest({url:`${this.eventHost}/api/v0/events/ip`,method:"get"}).then(n=>n?.json());this.log(`IP: ${o}`),this.makeRequest({url:`${this.eventHost}/api/v0/logs`,method:"post",data:JSON.stringify(this.debugState(),ee)}).catch()}if(this.shopifyAnalyticsId=this.getShopifyAnalyticsId(),this.monitorConsentChange(),this.checkForThemePreview())return;if(!this.disableReferrerOverride&&this.state.temporary.originalReferrer!=null){this.log(`Overriding referrer from '${document.referrer}' to '${this.state.temporary.originalReferrer}'`);const o=this.state.temporary.originalReferrer;delete this.state.temporary.originalReferrer,this.persistTemporaryState(),Object.defineProperty(document,"referrer",{get:()=>o,enumerable:!0,configurable:!0})}if(await this.refreshVisitor(this.shopifyAnalyticsId),await this.handleVisitorTest()){this.log("Redirecting for visitor test");return}this.setShoplift(),this.showPage(),this.ensureCartAttributesForExistingPriceTests(!1);const r=this.state.essential.visitorTests.some(o=>(o.hypothesisId?this.getHypothesis(o.hypothesisId):void 0)?.subscriptionData!=null)||Object.values(this.state.temporary.testReservations??{}).some(o=>this.getHypothesis(o.hypothesisId)?.subscriptionData!=null);this.hiddenSubscriptionPlans&&!r&&(this.log(`[SUB-GLOBAL] Visitor not in subscription test — hiding ${this.hiddenSubscriptionPlans.planIds.length} B-side plans`),je(this.hiddenSubscriptionPlans,o=>this.log(o))),await this.subscriptionSwap(),await this.subscriptionOneTimePrice(),await this.subscriptionPriceChange(),await this.finalize(),console.log("SHOPLIFT SCRIPT INITIALIZED!")}catch(e){if(e instanceof ie)return;throw e}finally{typeof window.shoplift!="object"&&this.setShopliftStub()}}getVariantColor(e){switch(e){case"a":return{text:"#141414",bg:"#E2E2E2"};case"b":return{text:"rgba(255, 255, 255, 1)",bg:"rgba(37, 99, 235, 1)"}}}getDefaultVariantTitle(e){return e.title?e.title:e.type==="price"?e.isControl?"Original prices":"Variant prices":e.isControl?"Original":"Untitled variant "+e.label.toUpperCase()}
52async initPreview(){const e=this.urlParams.get("previewConfig");if(e){this.state.temporary.previewConfig=void 0,this.log("Setting up the preview"),this.log("Found preview config, writing to temporary state");const t=await Oe(e);if(this.state.temporary.previewConfig=t,this.state.temporary.previewConfig.testTypeCategory===M.Price){this.hidePage(!0);const s=this.state.temporary.previewConfig;let r=`${this.host}/api/dom-selectors/${s.storeId}/${s.testId}/${s.isDraft||!1}`;s.shopifyProductId&&(r+=`?productId=${s.shopifyProductId}`);const o=await this.makeJsonRequest({method:"get",url:r}).catch(n=>(this.log("Error getting domSelectors",n),null));if(s.variants.forEach(n=>n.domSelectors=o[n.id]?.domSelectors),s.isDraft){const n=`${this.host}/api/dom-selectors/${s.storeId}/${s.testId}/subscription-preview`,l=await this.makeJsonRequest({method:"get",url:n}).catch(c=>(this.log("No subscription preview data for draft (test may not have a subscription widget)",c),null));l?.subscriptionData&&s.variants.forEach(c=>{c.subscriptionData=l.subscriptionData,c.priceData=l.priceData})}}this.persistTemporaryState();const i=new URL(window.location.toString());i.searchParams.delete("previewConfig"),this.queueRedirect(i)}else if(this.state.temporary.previewConfig){this.showPage();const t=this.state.temporary.previewConfig;if(t.testTypeCategory===M.Template&&this.handleTemplatePreview(t)&&this.initPreviewControls(t),t.testTypeCategory===M.UrlRedirect&&this.handleUrlPreview(t)&&this.initPreviewControls(t),t.testTypeCategory===M.Script&&this.handleScriptPreview(t)&&this.initPreviewControls(t),t.testTypeCategory===M.Price){const i=await this.handlePricePreview(t);t.isDraft?await this.handleSubscriptionPricePreview(t):await this.handleSubscriptionLivePreview(t),i&&this.initPreviewControls(t)}}}initPreviewControls(e){document.addEventListener("DOMContentLoaded",()=>{const t=e.variants.find(b=>b.id===e.currentVariant),i=t?.label||"a",s=e.variants,r=document.createElement("div");r.id="shoplift-preview-control";const o=document.createElement("div"),n=document.createElement("img");n.src=Ve,n.height=24,n.width=14,o.style.padding="0 16px",o.style.lineHeight="100%",o.appendChild(n),r.appendChild(o);const l=document.createElement("div");l.id="shoplift-preview-variant-selector";const c=document.createElement("button");c.id="shoplift-preview-variant-menu-trigger";const d=document.createElement("div");d.className="menu-variant-label",d.style.backgroundColor=this.getVariantColor(i).bg,d.style.color=this.getVariantColor(i).text,d.innerText=i.toUpperCase(),c.appendChild(d);const u=document.createElement("span");if(u.id="shoplift-preview-variant-title",u.innerText=t?this.getDefaultVariantTitle(t):"Untitled variant "+i.toUpperCase(),c.appendChild(u),s.length>1){const b=document.createElement("img");b.src=De,b.width=12,b.height=12,b.style.height="12px",b.style.width="12px",c.appendChild(b);const E=document.createElement("div");E.className="preview-variant-menu";for(const S of e.variants.filter(C=>C.id!==e.currentVariant)){const C=document.createElement("div");C.className="preview-variant-menu--item";const _=document.createElement("div");_.className="menu-variant-label",_.style.backgroundColor=this.getVariantColor(S.label).bg,_.style.color=this.getVariantColor(S.label).text,_.style.flexShrink="0",_.innerText=S.label.toUpperCase(),C.appendChild(_);const T=document.createElement("span");T.innerText=this.getDefaultVariantTitle(S),C.appendChild(T),C.addEventListener("click",()=>{this.pickVariant(S.id)}),E.appendChild(C)}l.appendChild(E),c.addEventListener("click",()=>{E.className!=="preview-variant-menu preview-variant-menu__visible"?E.classList.add("preview-variant-menu__visible"):E.classList.remove("preview-variant-menu__visible")}),document.addEventListener("click",S=>{S.target instanceof Element&&!c.contains(S.target)&&E.className==="preview-variant-menu preview-variant-menu__visible"&&E.classList.remove("preview-variant-menu__visible")})}else c.style.pointerEvents="none",d.style.margin="0";if(l.appendChild(c),r.appendChild(l),e.hasSubscription){this.subscriptionPreviewWarningCleanup?.();const b=Ye();r.appendChild(b.root),this.subscriptionPreviewWarningCleanup=b.cleanup}const h=document.createElement("div"),p=document.createElement("button");p.id="shoplift-exit-preview-button",p.innerText="Exit",h.appendChild(p),p.addEventListener("click",()=>{this.exitPreview()}),r.appendChild(h),document.body.appendChild(r),requestAnimationFrame(()=>{r.classList.add("visible")})}),this.ensureCartAttributesForExistingPriceTests(!0)}pickVariant(e){if(this.state.temporary.previewConfig){const t=this.state.temporary.previewConfig,i=new URL(window.location.toString());if(t.testTypeCategory===M.UrlRedirect){const s=t.variants.find(r=>r.id===t.currentVariant)?.redirectUrl;if(i.pathname===s){const r=t.variants.find(o=>o.id===e)?.redirectUrl;r&&(i.pathname=r)}}if(t.testTypeCategory===M.Template){const s=t.variants.find(r=>r.id===t.currentVariant)?.pathName;if(s&&i.pathname===s){const r=t.variants.find(o=>o.id===e)?.pathName;r&&r!==s&&(i.pathname=r)}}t.currentVariant=e,this.persistTemporaryState(),this.queueRedirect(i)}}exitPreview(){const e=new URL(window.location.toString());if(this.state.temporary.previewConfig?.testTypeCategory===M.Template&&e.searchParams.delete("view"),this.state.temporary.previewConfig?.testTypeCategory===M.Script&&e.searchParams.delete("slVariant"),this.state.temporary.previewConfig?.testTypeCategory===M.UrlRedirect){const i=this.state.temporary.previewConfig.variants.filter(r=>!r.isControl&&r.redirectUrl!==null).map(r=>r.redirectUrl),s=this.state.temporary.previewConfig.variants.find(r=>r.label==="a")?.redirectUrl;i.includes(e.pathname)&&s&&(e.pathname=s)}this.state.temporary.isMerchant=!1,e.searchParams.delete("isShopliftMerchant"),this.state.temporary.previewConfig=void 0,this.persistTemporaryState(),this.subscriptionPreviewWarningCleanup?.(),this.subscriptionPreviewWarningCleanup=null,this.hidePage(),this.queueRedirect(e)}handleTemplatePreview(e){const t=e.currentVariant,i=e.variants.find(l=>l.id===t);if(!i)return!1;const s=e.variants.find(l=>l.isControl);if(!s)return!1;this.log("Setting up template preview for type",s.type);
52const r=new URL(window.location.toString()),o=r.searchParams.get("view"),n=i.type===s.type;return!n&&!i.isControl&&template.suffix===s.affix&&this.typeFromTemplate()===s.type&&i.pathName!==null?(this.log("Hit control template type, redirecting to the variant url"),this.hidePage(),r.pathname=i.pathName,this.queueRedirect(r),!0):(!i.isControl&&this.typeFromTemplate()==i.type&&template.suffix===s.affix&&n&&o!==(i.affix||"__DEFAULT__")&&(this.log("Template type and affix match control, updating the view param"),r.searchParams.delete("view"),this.log("Setting the new viewParam to",i.affix||"__DEFAULT__"),this.hidePage(),r.searchParams.set("view",i.affix||"__DEFAULT__"),this.queueRedirect(r)),o!==null&&o!==(i.affix||"__DEFAULT__")&&(r.searchParams.delete("view"),this.hidePage(),this.queueRedirect(r)),!0)}handleUrlPreview(e){const t=e.currentVariant,i=e.variants.find(o=>o.id===t),s=e.variants.find(o=>o.isControl)?.redirectUrl;if(!i)return!1;this.log("Setting up URL redirect preview");const r=new URL(window.location.toString());return r.pathname===s&&!i.isControl&&i.redirectUrl!==null&&(this.log("Url matches control, redirecting"),this.hidePage(),r.pathname=i.redirectUrl,this.queueRedirect(r)),!0}handleScriptPreview(e){const t=e.currentVariant,i=e.variants.find(o=>o.id===t);if(!i)return!1;this.log("Setting up script preview");const s=new URL(window.location.toString());return s.searchParams.get("slVariant")!==i.id&&(this.log("current id doesn't match the variant, redirecting"),s.searchParams.delete("slVariant"),this.log("Setting the new slVariantParam"),this.hidePage(),s.searchParams.set("slVariant",i.id),this.queueRedirect(s)),!0}async handlePricePreview(e){const t=e.currentVariant,i=e.variants.find(s=>s.id===t);return i?(this.log("Setting up price preview"),i.domSelectors&&i.domSelectors.length>0&&(U(document,{testId:e.testId,hypothesisId:i.id,selectors:i.domSelectors}),this.ensureCartAttributesForExistingPriceTests(!0)),!0):!1}async handleSubscriptionPricePreview(e){const t=e.variants.find(i=>i.id===e.currentVariant);t?.subscriptionData&&(this.log("Setting up subscription price preview"),await Ge({id:t.id,isControl:t.isControl,subscriptionData:t.subscriptionData,priceData:t.priceData},(i,...s)=>this.log(i,...s)))}async handleSubscriptionLivePreview(e){this.testConfigs.find(s=>s.id===e.testId)?.hypotheses.find(s=>s.id===e.currentVariant)?.subscriptionData&&(this.log("Setting up subscription live preview"),this.subscriptionSwapDone=!1,this.subscriptionOneTimeDone=!1,this.subscriptionPriceDone=!1,await this.subscriptionSwap(),await this.subscriptionOneTimePrice(),await this.subscriptionPriceChange())}async finalize(){const e=await this.getCartState();e!==null&&this.queueCartUpdate(e),this.pruneStateAndSave(),await this.syncAllEvents()}setShoplift(){this.log("Setting up public API");const t=this.urlParams.get("slVariant")==="true",i=t?null:this.urlParams.get("slVariant");window.shoplift={isHypothesisActive:async s=>{if(this.log("Script checking variant for hypothesis '%s'",s),t)return this.log("Forcing variant for hypothesis '%s'",s),!0;if(i!==null)return this.log("Forcing hypothesis '%s'",i),s===i;const r=this.testConfigs.find(n=>n.hypotheses.some(l=>l.id===s));if(!r)return this.log("No test found for hypothesis '%s'",s),!1;const o=this.state.essential.visitorTests.find(n=>n.testId===r.id);return o?(this.log("Active visitor test found",s),o.hypothesisId===s):(await this.manuallySplitVisitor(r),this.testConfigs.some(n=>n.hypotheses.some(l=>l.id===s&&this.state.essential.visitorTests.some(c=>c.hypothesisId===l.id))))},setAnalyticsConsent:async s=>{await this.onConsentChange(s,!0)},getVisitorData:()=>({visitor:this.state.analytics.visitor,visitorTests:this.state.essential.visitorTests.filter(s=>!s.isInvalid).map(s=>{const{shouldSendToGa:r,savedAt:o,...n}=s;return n})})}}setShopliftStub(){this.log("Setting up stubbed public API");const t=this.urlParams.get("slVariant")==="true",i=t?null:this.urlParams.get("slVariant");window.shoplift={isHypothesisActive:s=>Promise.resolve(t||s===i),setAnalyticsConsent:()=>Promise.resolve(),getVisitorData:()=>({visitor:null,visitorTests:[]})}}async manuallySplitVisitor(e){this.log("Starting manual split for test '%s'",e.id),await this.handleVisitorTest([e]);const t=this.getReservationForTest(e.id);t&&!t.isRealized&&t.entryCriteriaKey&&(this.log("Realizing manual API reservation for test '%s'",e.id),this.realizeReservationForCriteria(t.entryCriteriaKey)),this.saveState(),this.syncAllEvents()}async handleVisitorTest(e){await this.filterTestsByAudience(this.testConfigs,this.state.analytics.visitor??this.buildBaseVisitor(),this.state.essential.visitorTests),this.pruneStaleVisitorTests(),this.deriveC
52ategoryFromExistingTests(),this.clearStaleReservations();let t=e?e.filter(i=>this.testsFilteredByAudience.some(s=>s.id===i.id)):[...this.testsForUrl(this.testsFilteredByAudience),...this.domTestsForUrl(this.testsFilteredByAudience)];try{if(t.length===0)return this.log("No tests found"),!1;this.log("Checking for existing visitor test on page");const i=this.getCurrentVisitorHypothesis(t);if(i){this.log("Found current visitor test");const l=this.considerRedirect(i);return l&&(this.log("Redirecting for current visitor test"),this.redirect(i)),l}const s=this.getReservationForCurrentPage();if(s){this.log("Found matching reservation for current page: %s",s.testId);const l=this.getHypothesis(s.hypothesisId);if(l){l.type!=="price"&&this.realizeReservationForCriteria(s.entryCriteriaKey);const c=this.considerRedirect(l);return c&&this.redirect(l),c}}this.log("No active test relation for test page");const r=this.testsForUrl(this.inactiveTestConfigs.filter(l=>this.testIsPaused(l)&&l.hypotheses.some(c=>this.state.essential.visitorTests.some(d=>d.hypothesisId===c.id)))).map(l=>l.id);if(r.length>0)return this.log("Visitor has paused tests for test page, skipping test assignment: %o",r),!1;if(!this.state.temporary.testCategory){const l=this.testsFilteredByAudience.filter(d=>this.isGlobalEntryCriteria(this.getEntryCriteriaKey(d))),c=this.testsFilteredByAudience.filter(d=>!this.isGlobalEntryCriteria(this.getEntryCriteriaKey(d)));if(this.log("Category dice roll - global tests: %o, conditional tests: %o",l.map(d=>({id:d.id,title:d.title,criteria:this.getEntryCriteriaKey(d)})),c.map(d=>({id:d.id,title:d.title,criteria:this.getEntryCriteriaKey(d)}))),l.length>0&&c.length>0){const d=l.length,u=c.length,h=d+u,p=Math.random()*h;this.state.temporary.testCategory=p<d?"global":"conditional",this.log("Category dice roll: rolled %.2f of %d (global weight: %d, conditional weight: %d), selected '%s'",p,h,d,u,this.state.temporary.testCategory)}else l.length>0?(this.state.temporary.testCategory="global",this.log("Only global tests available, setting category to global")):(this.state.temporary.testCategory="conditional",this.log("Only conditional tests available, setting category to conditional"));this.persistTemporaryState()}const o=this.state.temporary.testCategory;if(this.log("Visitor test category: %s",o),o==="global"){const l=this.testsFilteredByAudience.filter(c=>!this.isGlobalEntryCriteria(this.getEntryCriteriaKey(c)));for(const c of l)this.markTestAsBlocked(c,"category:global");t=t.filter(c=>this.isGlobalEntryCriteria(this.getEntryCriteriaKey(c)))}else{const l=this.testsFilteredByAudience.filter(c=>this.isGlobalEntryCriteria(this.getEntryCriteriaKey(c)));for(const c of l)this.markTestAsBlocked(c,"category:conditional");t=t.filter(c=>!this.isGlobalEntryCriteria(this.getEntryCriteriaKey(c)))}if(t.length===0)return this.log("No tests remaining after category filter"),!1;this.createReservations(t);const n=this.getReservationForCurrentPage();if(n&&!n.isRealized){const l=this.getHypothesis(n.hypothesisId);if(l){l.type!=="price"&&this.realizeReservationForCriteria(n.entryCriteriaKey);const c=this.considerRedirect(l);return c&&(this.log("Redirecting for new test"),this.redirect(l)),c}}return!1}finally{this.includeInDomTests(),this.saveState()}}includeInDomTests(){this.applyControlForAudienceFilteredPriceTests();const e=this.getDomTestsForCurrentUrl(),t=this.getVisitorDomHypothesis(e);for(const i of e){this.log("Evaluating dom test '%s'",i.id);const s=i.hypotheses.some(p=>p.type==="price");if(this.state.essential.visitorTests.find(p=>p.testId===i.id&&p.isInvalid&&!p.hypothesisId)){if(this.log("Visitor is blocked from test '%s', applying control prices if price test",i.id),s){const p=i.hypotheses.find(b=>b.isControl);p?.priceData&&(this.applyPriceTestWithMapLookup(i.id,p,[p],()=>{this.log("Control prices applied for blocked visitor, no metrics tracked")}),this.updatePriceTestHiddenInputs(i.id,"control",!1))}continue}const o=this.getReservationForTest(i.id);let n=null,l=!1;const c=t.find(p=>i.hypotheses.some(b=>p.id===b.id));if(o)n=this.getHypothesis(o.hypothesisId)??null,this.log("Using reserved hypothesis '%s' for test '%s'",o.hypothesisId,i.id);else if(c)n=c,this.log("Using existing hypothesis assignment for test '%s'",i.id);else if(s){const p=this.visitorActiveTestTypeWithReservations();p?(l=!0,this.log("Visitor already in test type '%s', treating as non-test for price test '%s'",p,i.id)):n=this.pickHypothesis(i)}else n=this.pickHypothesis(i);if(l&&s){const p=i.hypotheses.find(b=>b.isControl);p?.priceData&&(this.log("Applying control prices for non-test visitor on price test '%s' (Map-based)",i.id),this.applyPriceTestWithMapLookup(i.id,p,[p],()=>{this.log("Control prices applied for non-test visitor, no metrics tracked")}
52),this.updatePriceTestHiddenInputs(i.id,"control",!1));continue}if(!n){this.log("Failed to pick hypothesis for test");continue}this.sendDiagnosticTelemetry("assignment",i.id,{hypothesisId:n.id,isControl:n.isControl,testType:n.type});const d=i.bayesianRevision??4,u=n.type==="price",h=d>=5;if(u&&h){if(this.log(`Price test with Map-based lookup (v${d}): ${i.id}`),!n.priceData){this.log("No price data for hypothesis '%s', skipping",n.id);continue}const p=n.isControl?"control":"variant";this.log(`Setting up Map-based price test for ${p} (test: ${i.id})`),this.applyPriceTestWithMapLookup(i.id,n,i.hypotheses,b=>{const E=this.getReservationForTest(b);E&&!E.isRealized&&E.entryCriteriaKey?this.realizeReservationForCriteria(E.entryCriteriaKey):this.queueAddVisitorToTest(b,n),this.saveState(),this.queuePageView(window.location.pathname),this.syncAllEvents()});continue}if(u&&!h){this.log(`Price test without viewport tracking (v${d}): ${i.id}`);const p=this.getDomSelectorsForHypothesis(n);if(p.length===0)continue;U(document,{testId:i.id,hypothesisId:n.id,selectors:p},b=>{this.queueAddVisitorToTest(b,n),this.saveState(),this.queuePageView(window.location.pathname),this.syncAllEvents()});continue}if(!n.domSelectors||n.domSelectors.length===0){this.log("No selectors found, skipping hypothesis");continue}U(document,{testId:i.id,hypothesisId:n.id,selectors:n.domSelectors},p=>{this.queueAddVisitorToTest(p,n),this.saveState(),this.queuePageView(window.location.pathname),this.syncAllEvents()})}}considerRedirect(e){if(this.log("Considering redirect for hypothesis '%s'",e.id),e.isControl)return this.log("Skipping redirect for control"),!1;if(e.type==="basicScript"||e.type==="manualScript")return this.log("Skipping redirect for script test"),!1;const t=this.state.essential.visitorTests.find(o=>o.hypothesisId===e.id),i=new URL(window.location.toString()),r=new URLSearchParams(window.location.search).get("view");if(e.type==="theme"){if(!(e.themeId===themeId)){if(this.log("Theme id '%s' is not hypothesis theme ID '%s'",e.themeId,themeId),this.isAppProxyPath())return this.log("On App Proxy path, skipping theme redirect to avoid infinite loop"),!1;if(t&&t.themeId!==e.themeId&&(t.themeId===themeId||!this.isThemePreview()))this.log("On old theme, redirecting and updating local visitor"),t.themeId=e.themeId;else if(this.isThemePreview())return this.log("On non-test theme, skipping redirect"),!1;return this.log("Hiding page to redirect for theme test"),this.hidePage(),!0}return!1}else if(e.type!=="dom"&&e.type!=="price"&&e.affix!==template.suffix&&e.affix!==r||e.redirectPath&&!i.pathname.endsWith(e.redirectPath))return this.log("Hiding page to redirect for template test"),this.hidePage(),!0;return this.log("Not redirecting"),!1}redirect(e){if(this.log("Redirecting to hypothesis '%s'",e.id),e.isControl)return;const t=new URL(window.location.toString());if(t.searchParams.delete("view"),e.redirectPath){const n=RegExp("^(/w{2}-w{2})/").exec(t.pathname);if(n&&n.length>1){const l=n[1];t.pathname=`${l}${e.redirectPath}`}else t.pathname=e.redirectPath}else e.type==="theme"?(t.searchParams.set("_ab","0"),t.searchParams.set("_fd","0"),t.searchParams.set("_sc","1"),t.searchParams.set("preview_theme_id",e.themeId.toString())):e.type!=="urlRedirect"&&t.searchParams.set("view",e.affix);const i=this.state.essential.visitorTests.find(n=>n.hypothesisId===e.id)?.testId,s=t.pathname+t.search,r=window.location.pathname+window.location.search,o=K(t.hash);if(i&&s!==r&&!o){const n=qe(),l=He({v:2,t:i,n,fh:Me(window.location.pathname+window.location.search)});t.hash=`slr-${n}`;const c=new Date(Date.now()+3e4).toUTCString();document.cookie=`shoplift_redirect=${l};domain=.${window.location.hostname};path=/;SameSite=Strict;expires=${c}`}s===r&&this.showPage(),this.queueRedirect(t)}async refreshVisitor(e){if(e===null||!this.state.essential.isFirstLoad||!this.testConfigs.some(i=>i.visitorOption!=="all"))return;this.log("Refreshing visitor"),this.hidePage();const t=await this.getVisitor(e);t&&t.id&&this.updateLocalVisitor(t)}buildBaseVisitor(){return{shopifyAnalyticsId:this.shopifyAnalyticsId,device:this.device,country:null,...this.state.essential.initialState}}getInitialState(){const e=this.getUTMValue("utm_source")??"",t=this.getUTMValue("utm_medium")??"",i=this.getUTMValue("utm_campaign")??"",s=this.getUTMValue("utm_content")??"",r=window.document.referrer,o=this.device;return{createdAt:new Date,utmSource:e,utmMedium:t,utmCampaign:i,utmContent:s,referrer:r,device:o}}checkForThemePreview(){return this.log("Checking for theme preview"),window.location.hostname.endsWith(".shopifypreview.com")?(this.log("on shopify preview domain"),this.clearThemeBar(!0,!1,this.state),document.querySelector("#sl-preview-bar-hide")?.remove(),!1):this.isThemePreview()?this.state.essential.visitorTests.some(e=>e.isThemeTest&&e.hypothesisId!=null&&this.getHypothesis(e.hypothesisId)&&e.themeId===themeId)?(this.log("On active theme test, remov
52ing theme bar"),this.clearThemeBar(!1,!0,this.state),!1):this.state.essential.visitorTests.some(e=>e.isThemeTest&&e.hypothesisId!=null&&!this.getHypothesis(e.hypothesisId)&&e.themeId===themeId)?(this.log("Visitor is on an inactive theme test, redirecting to main theme"),this.redirectToMainTheme(),!0):this.state.essential.isFirstLoad?(this.log("No visitor found on theme preview, redirecting to main theme"),this.redirectToMainTheme(),!0):this.inactiveTestConfigs.some(e=>e.hypotheses.some(t=>t.themeId===themeId))?(this.log("Current theme is an inactive theme test, redirecting to main theme"),this.redirectToMainTheme(),!0):this.testConfigs.some(e=>e.hypotheses.some(t=>t.themeId===themeId))?(this.log("Falling back to clearing theme bar"),this.clearThemeBar(!1,!0,this.state),!1):(this.log("No tests on current theme, skipping script"),this.clearThemeBar(!0,!1,this.state),document.querySelector("#sl-preview-bar-hide")?.remove(),!0):(this.log("Not on theme preview"),this.clearThemeBar(!0,!1,this.state),!1)}redirectToMainTheme(){this.hidePage();const e=new URL(window.location.toString());e.searchParams.set("preview_theme_id",""),this.queueRedirect(e)}testsForUrl(e){const t=new URL(window.location.href),i=this.typeFromTemplate();return e.filter(s=>s.hypotheses.some(r=>r.type!=="dom"&&r.type!=="price"&&(r.isControl&&r.type===i&&r.affix===template.suffix||r.type==="theme"||r.isControl&&r.type==="urlRedirect"&&r.redirectPath&&t.pathname.endsWith(r.redirectPath)||r.type==="basicScript"))&&(s.ignoreTestViewParameterEnforcement||!t.searchParams.has("view")||s.hypotheses.map(r=>r.affix).includes(t.searchParams.get("view")??"")))}domTestsForUrl(e){const t=new URL(window.location.href);return e.filter(i=>i.hypotheses.some(s=>s.type!=="dom"&&s.type!=="price"?!1:s.type==="price"&&s.priceData&&s.priceData.variants.length>0?!0:s.domSelectors&&s.domSelectors.some(r=>new RegExp(se(r)).test(K(t.toString())))))}async filterTestsByAudience(e,t,i){const s=[],r=e.some(n=>(n.requiresRegion||this.geoViaShopify&&n.requiresCountry)&&!i.some(l=>l.testId===n.id));this.resolvedRegion===null&&r&&(this.log("Hiding page to wait for Shopify region resolution"),this.hidePage(),await this.waitForResolvedRegion()),window.__slRegion=this.resolvedRegion??"";let o=t.country;this.geoViaShopify?o=this.resolvedRegion?this.resolvedRegion.slice(0,2):o:!o&&e.some(n=>n.requiresCountry&&!i.some(l=>l.testId===n.id))&&(this.log("Hiding page to check geoip"),this.hidePage(),o=await this.makeJsonRequest({method:"get",url:`${this.eventHost}/api/v0/visitors/get-country`,signal:AbortSignal.timeout(this.getCountryTimeout)}).catch(n=>(this.log("Error getting country",n),null)));for(const n of e){if(this.log("Checking audience for test '%s'",n.id),this.state.essential.visitorTests.some(d=>d.testId===n.id&&d.hypothesisId==null)){console.log(`Skipping blocked test '${n.id}'`);continue}const l=this.visitorCreatedDuringTestActive(n.statusHistory);(i.some(d=>d.testId===n.id&&(n.device==="all"||n.device===t.device&&n.device===this.device))||this.isTargetAudience(n,t,l,o))&&(this.log("Visitor is in audience for test '%s'",n.id),s.push(n))}this.testsFilteredByAudience=s}async waitForResolvedRegion(e=1500,t=50){const i=Date.now();for(;this.resolvedRegion===null&&Date.now()-i<e;)await new Promise(s=>window.setTimeout(s,t))}isTargetAudience(e,t,i,s){const r=this.getChannel(t);return(e.device==="all"||e.device===t.device&&e.device===this.device)&&(e.visitorOption==="all"||e.visitorOption==="new"&&i||e.visitorOption==="returning"&&!i)&&(e.targetAudiences.length===0||e.targetAudiences.reduce((o,n)=>o||n.reduce((l,c)=>l&&c(t,i,r,s),!0),!1))}visitorCreatedDuringTestActive(e){let t="";for(const i of e){if(this.state.analytics.visitor!==null&&this.state.analytics.visitor.createdAt<i.createdAt||this.state.essential.initialState.createdAt<i.createdAt)break;t=i.status}return t==="active"}getDomTestsForCurrentUrl(){return this.domTestsForUrl(this.testsFilteredByAudience)}getCurrentVisitorHypothesis(e){return e.flatMap(t=>t.hypotheses).find(t=>t.type!=="dom"&&t.type!=="price"&&this.state.essential.visitorTests.some(i=>i.hypothesisId===t.id))}getVisitorDomHypothesis(e){return e.flatMap(t=>t.hypotheses).filter(t=>(t.type==="dom"||t.type==="price")&&this.state.essential.visitorTests.some(i=>i.hypothesisId===t.id))}getHypothesis(e){return this.testConfigs.filter(t=>t.hypotheses.some(i=>i.id===e)).map(t=>t.hypotheses.find(i=>i.id===e))[0]}getActiveAssignment(){if(this.state.temporary.isMerchant&&this.state.temporary.previewConfig){const t=this.state.temporary.previewConfig;return t.currentVariant&&t.testId?{testId:t.testId,hypothesisId:t.currentVariant}:null}const e=this.state.essential.visitorTests.find(t=>t.hypothesisId);return e?.hypothesisId?{testId:e.testId,hypothesisId:e.hypothesisId}:null}findActiveSubscriptionTestControl(){for(const e of this.testConfigs){const t=e.hypotheses.find(i=>i.isControl);if(t?.subscriptionData)return{testId:e.id,hypothesis:t}}return null}getDomSelectorsForHypothesis(e){if(!e)return[];if(e.domSelectors&&e.domSelectors.length>0)return e.domSelectors;if(e.priceData){const t=`${this.priceSelectorsSessionKey}_${e.id}`;try{const s=sessionStorage.getItem(t);if(s){const r=JSON.parse(s);return e.domSelectors=r,this.log("Loaded %d price selectors from cache for hypothesis '%s'",r.length,e.id),r}}catch{}const i=$e(e.priceData);e.domSelectors=i;try{sessionStorage.setItem(t,JSON.stringify(i)),this.log("Generated and cached %d price selectors for hypothesis '%s'",i.length,e.id)}catch{this.log("Generated %d price selectors for hypothesis '%s' (cache unavailable)",i.length,e.id)}return i}return[]}hasThemeTest(e){return e.some(t=>t.hypotheses.some(i=>i.type==="theme"))}hasTestThatIsNotThemeTest(e){return e.some(t=>t.hypotheses.some(i=>i.type!=="theme"&&i.type!=="dom"&&i.type!=="price"))}hasThemeAndOtherTestTypes(e){return this.hasThemeTest(e)&&this.hasTestThatIsNotThemeTest(e)}testIsPaused(e){return e.status==="paused"||e.status==="incompatible"||e.status==="suspended"}visitorActiveTestType(){const e=this.state.essential.visitorTests.filter(t=>this.testConfigs.some(i=>i.hypotheses.some(s=>s.id==t.hypothesisId)));return e.length===0?null:e.some(t=>t.isThemeTest)?"theme":"templateOrUrlRedirect"}getReservationType(e){return e==="price"||this.isTemplateTestType(e)?"deferred":"immediate"}isTemplateTestType(e){return["product","collection","landing","index","cart","search","blog","article","collectionList"].includes(e)}getEntryCriteriaKey(e){const t=e.hypotheses.find(i=>i.isControl);if(!t)return`unknown:${e.id}`;switch(t.type){case"theme":return"global:theme";case"basicScript":return"global:autoApi";case"price":return"global:price";case"manualScript":return`conditional:manualApi:${e.id}`;case"urlRedirect":return`conditional:url:${t.redirectPath||"unknown"}`;default:return`conditional:template:${t.type}`}}isGlobalEntryCriteria(e){return e.startsWith("global:")}groupTestsByEntryCriteria(e){const t=new Map;for(const i of e){const s=this.getEntryCriteriaKey(i),r=t.get(s)||[];r.push(i),t.set(s,r)}return t}doesCurrentPageMatchEntryCriteria(e){if(this.isGlobalEntryCriteria(e))return!0;
52if(e==="conditional:manualApi")return!1;if(e.startsWith("conditional:url:")){const t=e.replace("conditional:url:","");return window.location.pathname.endsWith(t)}if(e.startsWith("conditional:template:")){const t=e.replace("conditional:template:","");return this.typeFromTemplate()===t}return!1}hasActiveReservation(){const e=this.getActiveReservations();return Object.values(e).some(t=>!t.isRealized)}getActiveReservation(){const e=this.getActiveReservations();return Object.values(e).find(t=>!t.isRealized)??null}clearStaleReservations(){const e=this.state.temporary.testReservations;if(!e)return;let t=!1;for(const[i,s]of Object.entries(e)){const r=this.testConfigs.find(n=>n.id===s.testId);if(!r){this.log("Test '%s' no longer in config, clearing reservation for criteria '%s'",s.testId,i),delete e[i],t=!0;continue}if(r.status!=="active"){this.log("Test '%s' status is '%s', clearing reservation for criteria '%s'",s.testId,r.status,i),delete e[i],t=!0;continue}this.testsFilteredByAudience.some(n=>n.id===s.testId)||(this.log("Visitor no longer passes audience for test '%s', clearing reservation for criteria '%s'",s.testId,i),delete e[i],t=!0)}t&&this.persistTemporaryState()}createReservations(e){if(this.state.temporary.testReservations||(this.state.temporary.testReservations={}),this.state.temporary.rolledEntryCriteria||(this.state.temporary.rolledEntryCriteria=[]),this.state.temporary.testCategory==="global"){this.createSingleReservation(e,"global");return}const i=e.filter(n=>this.doesCurrentPageMatchEntryCriteria(this.getEntryCriteriaKey(n))),s=e.filter(n=>!this.doesCurrentPageMatchEntryCriteria(this.getEntryCriteriaKey(n)));this.log("Conditional tests split - matching current page: %d, not matching: %d",i.length,s.length),i.length>0&&this.log("Tests matching current page (same pool): %o",i.map(n=>({id:n.id,title:n.title,criteria:this.getEntryCriteriaKey(n)})));const r=`conditional:current-page:${this.typeFromTemplate()}`;if(i.length>0&&!this.state.temporary.rolledEntryCriteria.includes(r)){this.createSingleReservation(i,r);for(const n of i){const l=this.getEntryCriteriaKey(n);this.state.temporary.rolledEntryCriteria.includes(l)||this.state.temporary.rolledEntryCriteria.push(l)}}const o=this.groupTestsByEntryCriteria(s);for(const[n,l]of o){if(this.state.temporary.rolledEntryCriteria.includes(n)){this.log("Already rolled for criteria '%s', skipping",n);continue}if(l.some(S=>this.state.essential.visitorTests.some(C=>C.testId===S.id))){this.log("Visitor already has VT for criteria '%s', skipping",n),this.state.temporary.rolledEntryCriteria.push(n);continue}const d=[...l].sort((S,C)=>S.id.localeCompare(C.id));this.log("Test dice roll for criteria '%s' - available tests: %o",n,d.map(S=>({id:S.id,title:S.title})));const u=Math.floor(Math.random()*d.length),h=d[u];this.log("Test dice roll: picked index %d of %d, selected test '%s' (%s)",u+1,l.length,h.id,h.title);const p=this.pickHypothesis(h);if(!p){this.log("No hypothesis picked for test '%s'",h.id);continue}this.sendDiagnosticTelemetry("assignment",h.id,{hypothesisId:p.id,isControl:p.isControl,testType:p.type});const b=this.getReservationType(p.type),E={testId:h.id,hypothesisId:p.id,testType:p.type,reservationType:b,isThemeTest:p.type==="theme",themeId:p.themeId,createdAt:new Date,isRealized:!1,entryCriteriaKey:n};this.state.temporary.testReservations[n]=E,this.state.temporary.rolledEntryCriteria.push(n),this.log("Created %s reservation for test '%s' (criteria: %s)",b,h.id,n);for(const S of l)S.id!==h.id&&this.markTestAsBlocked(S,n)}this.persistTemporaryState()}createSingleReservation(e,t){if(this.state.temporary.rolledEntryCriteria.includes(t)){this.log("Already rolled for pool '%s', skipping",t);return}if(e.some(u=>this.state.essential.visitorTests.some(h=>h.testId===u.id&&!h.isInvalid))){this.log("Visitor already has VT for pool '%s', skipping",t),this.state.temporary.rolledEntryCriteria.push(t);return}if(e.length===0){this.log("No tests in pool '%s'",t);return}const s=[...e].sort((u,h)=>u.id.localeCompare(h.id));this.log("Test dice roll for pool '%s' - available tests: %o",t,s.map(u=>({id:u.id,title:u.title,criteria:this.getEntryCriteriaKey(u)})));const r=Math.floor(Math.random()*s.length),o=s[r];this.log("Test dice roll: picked index %d of %d, selected test '%s' (%s)",r,e.length,o.id,o.title);const n=this.pickHypothesis(o);if(!n){this.log("No hypothesis picked for test '%s'",o.id);return}this.sendDiagnosticTelemetry("assignment",o.id,{hypothesisId:n.id,isControl:n.isControl,testType:n.type});const l=this.getReservationType(n.type),c=this.getEntryCriteriaKey(o),d={testId:o.id,hypothesisId:n.id,testType:n.type,reservationType:l,isThemeTest:n.type==="theme",themeId:n.themeId,createdAt:new Date,isRealized:!1,entryCriteriaKey:c};this.state.temporary.testReservations[c]=d,this.state.temporary.rolledEntryCriteria.push(t),this.log("Created %s reservation for test '%s' from pool '%s' (criteria: %s)",l,o.id,t,c);for(const u of e)u.id!==o.id&&this.markTestAsBlocked(u,`pool:${t}`);this.persistTemporaryState()}markTestAsBlocked(e,t){this.state.essential.visitorTests.some(i=>i.testId===e.id)||(this.log("Blocking visitor from test '%s' (reason: %s)",e.id,t),this.state.essential.visitorTests.push({createdAt:new Date,testId:e.id,hypothesisId:null,isThemeTest:e.hypotheses.some(i=>
52i.type==="theme"),shouldSendToGa:!1,isSaved:!0,isInvalid:!0,themeId:void 0}))}realizeReservationForCriteria(e){const t=this.state.temporary.testReservations?.[e];if(!t)return this.log("No reservation found for criteria '%s'",e),!1;if(t.isRealized)return this.log("Reservation already realized for criteria '%s'",e),!1;if(this.state.essential.visitorTests.some(s=>s.testId===t.testId&&!s.isInvalid))return this.log("Visitor already assigned to test '%s'",t.testId),!1;const i=this.getHypothesis(t.hypothesisId);return i?(t.isRealized=!0,this.persistTemporaryState(),this.queueAddVisitorToTest(t.testId,i),this.saveState(),this.log("Realized reservation for test '%s' (criteria: %s)",t.testId,e),!0):(this.log("Hypothesis '%s' not found",t.hypothesisId),!1)}getActiveReservations(){return this.state.temporary.testReservations??{}}getReservationForCurrentPage(){const e=this.getActiveReservations();for(const[t,i]of Object.entries(e)){if(i.isRealized)continue;const s=this.testConfigs.find(r=>r.id===i.testId);if(!(!s||s.status!=="active")&&this.doesCurrentPageMatchEntryCriteria(t))return i}return null}getReservationForTest(e){const t=this.getActiveReservations();return Object.values(t).find(i=>i.testId===e)??null}getReservationTestType(){const e=this.getActiveReservations(),t=Object.values(e);if(t.length===0)return null;for(const i of t)if(i.isThemeTest)return"theme";for(const i of t)if(i.testType==="price")return"price";return t.some(i=>!i.isRealized)?"templateOrUrlRedirect":null}hasPriceTests(e){return e.some(t=>t.hypotheses.some(i=>i.type==="price"))}_priceTestProductIds=null;getPriceTestProductIds(){if(this._priceTestProductIds)return this._priceTestProductIds;const e=new Set;for(const t of this.testConfigs)for(const i of t.hypotheses)if(i.type==="price"){for(const s of i.domSelectors||[]){const r=s.cssSelector.match(/data-sl-attribute-(?:p|cap)="(\d+)"/);r?.[1]&&e.add(r[1])}if(i.priceData?.variants)for(const[s]of i.priceData.variants)e.add(s)}return this._priceTestProductIds=e,this.log("Built price test product ID cache with %d products",e.size),e}isProductInAnyPriceTest(e){return this.getPriceTestProductIds().has(e)}visitorActiveTestTypeWithReservations(){const e=this.getActiveReservations();for(const r of Object.values(e)){if(r.isThemeTest)return"theme";if(r.testType==="price")return"price"}if(Object.values(e).some(r=>!r.isRealized)){if(this.state.temporary.testCategory==="global")for(const o of Object.values(e)){if(o.testType==="theme")return"theme";if(o.testType==="price")return"price";if(o.testType==="basicScript")return"theme"}return"templateOrUrlRedirect"}const i=this.state.essential.visitorTests.filter(r=>!r.isInvalid&&this.testConfigs.some(o=>o.hypotheses.some(n=>n.id===r.hypothesisId)));return i.length===0?null:i.some(r=>this.getHypothesis(r.hypothesisId)?.type==="price")?"price":i.some(r=>r.isThemeTest)?"theme":"templateOrUrlRedirect"}applyControlForAudienceFilteredPriceTests(){const e=this.testConfigs.filter(s=>s.status==="active"&&s.hypotheses.some(r=>r.type==="price"));if(e.length===0)return;const t=this.testsFilteredByAudience.filter(s=>s.hypotheses.some(r=>r.type==="price")),i=e.filter(s=>!t.some(r=>r.id===s.id));if(i.length!==0){this.log("Found %d price tests filtered by audience, applying control selectors",i.length);for(const s of i){const r=s.hypotheses.find(c=>c.isControl),o=this.getDomSelectorsForHypothesis(r);if(o.length===0){this.log("No control selectors for audience-filtered price test '%s'",s.id);continue}const n=new URL(window.location.href);o.some(c=>{try{return new RegExp(se(c)).test(K(n.toString()))}catch{return!1}})&&(this.log("Applying control selectors for audience-filtered price test '%s'",s.id),U(document,{testId:s.id,hypothesisId:r.id,selectors:o},()=>{}),this.updatePriceTestHiddenInputs(s.id,"control",!1))}}}pickHypothesis(e){let t=Math.random();const i=e.hypotheses.reduce((r,o)=>r+o.visitorCount,0);return e.hypotheses.sort((r,o)=>r.isControl?o.isControl?0:-1:o.isControl?1:0).reduce((r,o)=>{if(r!==null)return r;const l=e.hypotheses.reduce((c,d)=>c&&d.visitorCount>20,!0)?o.visitorCount/i-o.trafficPercentage:0;return t<=o.trafficPercentage-l?o:(t-=o.trafficPercentage-l,null)},null)}typeFromTemplate(){switch(template.type){case"list-collections":return"collectionList";case"page":return"landing";case"article":case"blog":case"cart":case"collection":case"index":case"product":case"search":return template.type;default:return null}}queueRedirect(e){this.saveState(),this.disableReferrerOverride||(this.log(`Saving temporary referrer override '${document.referrer}'`),this.state.temporary.originalReferrer=document.referrer,this.persistTemporaryState()),window.setTimeout(()=>window.location.assign(e),0),window.setTimeout(()=>{this.syncAllEvents()},2e3)}scheduleRetrySync(){this.clientIdRetryCount>=5||(this.clientIdRetryCount++,window.setTimeout(()=>{this.syncAllEvents()},500))}async syncAllEvents(){const e=async()=>
52{if(this.isSyncing){window.setTimeout(()=>{(async()=>await e())()},500);return}try{if(this.isSyncing=!0,this.syncGAEvents(),this.shopifyAnalyticsId||(this.shopifyAnalyticsId=this.getShopifyAnalyticsId()),!this.shopifyAnalyticsId){this.scheduleRetrySync();return}await this.syncEvents()}finally{this.isSyncing=!1}};await e()}async syncEvents(){if(!this.state.essential.consentApproved||!this.shopifyAnalyticsId||this.state.analytics.queue.length===0)return;const e=this.state.analytics.queue.length,t=this.state.analytics.queue.splice(0,e);this.log("Syncing %s events",e);try{const i={shop:this.shop,visitorDetails:{shopifyAnalyticsId:this.shopifyAnalyticsId,device:this.state.analytics.visitor?.device??this.device,country:this.state.analytics.visitor?.country??null,...this.state.essential.initialState},events:this.state.essential.visitorTests.filter(r=>!r.isInvalid&&!r.isSaved&&r.hypothesisId!=null).map(r=>new be(r.testId,r.hypothesisId,r.createdAt)).concat(t)};await this.sendEvents(i);for(const r of this.state.essential.visitorTests.filter(o=>!o.isInvalid&&!o.isSaved&&o.hypothesisId!=null))this.sendDiagnosticTelemetry("event-delivered",r.testId,{hypothesisId:r.hypothesisId,isControl:r.assignedTo==="control",testType:r.testType??"unknown"});const s=await this.getVisitor(this.shopifyAnalyticsId);s!==null&&this.updateLocalVisitor(s);for(const r of this.state.essential.visitorTests.filter(o=>!o.isInvalid&&!o.isSaved))r.isSaved=!0,r.savedAt=Date.now()}catch{this.state.analytics.queue.splice(0,0,...t)}finally{this.saveState()}}syncGAEvents(){if(!this.gaConfig.sendEvents){if(he)return;he=!0,this.log("UseGtag is false — skipping GA Events");return}if(this.isSyncingGA){this.log("Already syncing GA - skipping GA events");return}const e=this.state.essential.visitorTests.filter(t=>t.shouldSendToGa);e.length!==0&&(this.isSyncingGA=!0,this.log("Syncing %s GA Events",e.length),Promise.allSettled(e.map(t=>this.sendGAEvent(t))).then(()=>this.log("All gtag events sent")).finally(()=>this.isSyncingGA=!1))}sendGAEvent(e){return new Promise(t=>{this.log("Sending GA Event for test %s, hypothesis %s",e.testId,e.hypothesisId);const i=()=>{this.log("GA acknowledged event for hypothesis %s",e.hypothesisId),e.shouldSendToGa=!1,this.persistEssentialState(),t()},s={exp_variant_string:`SL-${e.testId}-${e.hypothesisId}`};
52this.shopliftDebug&&Object.assign(s,{debug_mode:!0});function r(o,n,l){window.dataLayer=window.dataLayer||[],window.dataLayer.push(arguments)}this.gaConfig.mode==="gtag"?r("event","experience_impression",{...s,event_callback:i}):(window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"experience_impression",...s,eventCallback:i}))})}updateLocalVisitor(e){let t;({visitorTests:t,...this.state.analytics.visitor}=e),this.log("updateLocalVisitor - server returned %d tests: %o",t.length,t.map(s=>({testId:s.testId,hypothesisId:s.hypothesisId,isInvalid:s.isInvalid}))),this.log("updateLocalVisitor - local has %d tests: %o",this.state.essential.visitorTests.length,this.state.essential.visitorTests.map(s=>({testId:s.testId,hypothesisId:s.hypothesisId,isSaved:s.isSaved,isInvalid:s.isInvalid})));const i=300*1e3;for(const s of this.state.essential.visitorTests.filter(r=>r.isSaved&&(!r.savedAt||Date.now()-r.savedAt>i)&&!t.some(o=>o.testId===r.testId)))this.log("updateLocalVisitor - marking LOCAL test as INVALID (isSaved && not in server): testId=%s, hypothesisId=%s",s.testId,s.hypothesisId),s.isInvalid=!0;for(const s of t){const r=this.state.essential.visitorTests.findIndex(n=>n.testId===s.testId);if(!(r!==-1))this.log("updateLocalVisitor - ADDING server test (not found locally): testId=%s, hypothesisId=%s",s.testId,s.hypothesisId),this.state.essential.visitorTests.push(s);else{const n=this.state.essential.visitorTests.at(r);this.log("updateLocalVisitor - REPLACING local test with server test: testId=%s, local hypothesisId=%s -> server hypothesisId=%s, local isInvalid=%s -> false",s.testId,n?.hypothesisId,s.hypothesisId,n?.isInvalid),s.isInvalid=!1,s.shouldSendToGa=n?.shouldSe
52ndToGa??!1,s.testType=n?.testType,s.assignedTo=n?.assignedTo,s.testTitle=n?.testTitle,this.state.essential.visitorTests.splice(r,1,s)}}this.log("updateLocalVisitor - FINAL local tests: %o",this.state.essential.visitorTests.map(s=>({testId:s.testId,hypothesisId:s.hypothesisId,isSaved:s.isSaved,isInvalid:s.isInvalid}))),this.state.analytics.visitor.storedAt=new Date}async getVisitor(e){try{return await this.makeJsonRequest({method:"get",url:`${this.eventHost}/api/v0/visitors/by-key/${this.shop}/${e}`})}catch{return null}}async sendEvents(e){await this.makeRequest({method:"post",url:`${this.eventHost}/api/v0/events`,data:JSON.stringify(e)})}sendDiagnosticTelemetry(e,t,i){if(!this.telemetryEnabled||!navigator.sendBeacon)return;const s=this.state.essential.consentApproved,r=JSON.stringify({shop:this.shop,testId:t,checkpoint:e,device:this.device,...s?{visitorId:this.shopifyAnalyticsId??"unknown"}:{},clientTimestamp:Date.now(),consentApproved:s,hasConsentInteraction:this.state.essential.hasConsentInteraction,...i});navigator.sendBeacon(`${this.eventHost}/api/v0/telemetry`,new Blob([r],{type:"text/plain"}))}getUTMValue(e){const i=decodeURIComponent(window.location.search.substring(1)).split("&");for(let s=0;s<i.length;s++){const r=i[s].split("=");if(r[0]===e)return r[1]||null}return null}hidePage(e){this.log("Hiding page"),this.cssHideClass&&!window.document.documentElement.classList.contains(this.cssHideClass)&&(window.document.documentElement.classList.add(this.cssHideClass),e||setTimeout(this.removeAsyncHide(this.cssHideClass),2e3))}showPage(){this.cssHideClass&&this.removeAsyncHide(this.cssHideClass)()}getDeviceType(){function e(){let i=!1;return(function(s){(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(s)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(s.substr(0,4)))&&(i=!0)})(navigator.userAgent||navigator.vendor),i}function t(){let i=!1;return(function(s){(/android|ipad|playbook|silk/i.test(s)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|
52sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(s.substr(0,4)))&&(i=!0)})(navigator.userAgent||navigator.vendor),i}return e()?"mobile":t()?"tablet":"desktop"}removeAsyncHide(e){return()=>{e&&window.document.documentElement.classList.remove(e)}}async getCartState(){try{let e=await this.makeJsonRequest({method:"get",url:`${window.location.origin}/cart.js`});return e===null||(e.note===null&&(e=await this.makeJsonRequest({method:"post",url:`${window.location.origin}/cart/update.js`,data:JSON.stringify({note:""})})),e==null)?null:{token:e.token,total_price:e.total_price,total_discount:e.total_discount,currency:e.currency,items_subtotal_price:e.items_subtotal_price,items:e.items.map(t=>({quantity:t.quantity,variant_id:t.variant_id,key:t.key,price:t.price,final_line_price:t.final_line_price,sku:t.sku,product_id:t.product_id}))}}catch(e){return this.log("Error sending cart info",e),null}}ensureCartAttributesForExistingPriceTests(e){try{if(this.log("Checking visitor assignments for active price tests"),e&&this.state.temporary.previewConfig){const t=this.state.temporary.previewConfig;this.log("Using preview config for merchant:",t.testId);let i="variant";if(t.variants&&t.variants.length>0){const s=t.variants.find(r=>r.id===t.currentVariant);s&&s.isControl&&(i="control")}this.log("Merchant preview - updating hidden inputs:",t.testId,i),this.updatePriceTestHiddenInputs(t.testId,i,!0);return}for(const t of this.state.essential.visitorTests){const i=this.testConfigs.find(o=>o.id===t.testId);if(!i){this.log("Test config not found:",t.testId);continue}const s=i.hypotheses.find(o=>o.id===t.hypothesisId);if(!s||s.type!=="price")continue;const r=s.isControl?"control":"variant";this.log("Updating hidden inputs for price test:",t.testId,r),this.updatePriceTestHiddenInputs(t.testId,r,e)}}catch(t){this.log("Error ensuring cart attributes for existing price tests:",t)}}subscriptionSwapDone=!1;subscriptionHideWrongPlans=null;subscriptionPriceDone=!1;subscriptionUpdateOneTime=null;subscriptionOneTimeDone=!1;swapMap=null;slptValue=null;async subscriptionSwap(){await Ue(this)}async subscriptionPriceChange(){await ze(this)}async subscriptionOneTimePrice(){await We(this)}updatePriceTestHiddenInputs(e,t,i){try{this.cleanupPriceTestObservers();const s=`${e}:${t}:${i?"t":"f"}`,r=T=>{const m=T.getAttribute("data-sl-pid");if(!m)return!0;if(i&&this.state.temporary.previewConfig){const w=this.state.temporary.previewConfig,I=t==="control"?"a":"b",f=w.variants.find(v=>v.label===I);if(!f)return!1;for(const v of f.domSelectors||[]){const g=v.cssSelector.match(/data-sl-attribute-(?:p|cap)="(\d+)"/);if(g){const P=g[1];if(this.log(`Extracted ID from selector: ${P}, comparing to: ${m}`),P===m)return this.log("Product ID match found in preview config:",m,"variant:",f.label),!0}else this.log(`Could not extract ID from selector: ${v.cssSelector}`)}return this.log("No product ID match in preview config for:",m,"variant:",I),!1}const y=this.testConfigs.find(w=>w.id===e);if(!y)return this.log("Test config not found for testId:",e),!1;for(const w of y.hypotheses||[]){for(const I of w.domSelectors||[]){const f=I.cssSelector.match(/data-sl-attribute-(?:p|cap)="(\d+)"/);if(f&&f[1]===m)return this.log("Product ID match found in domSelectors:",m,"for test:",e),!0}if(w.priceData?.variants){for(const I of w.priceData.variants)if(I[0]===m)return this.log("Product ID match found in priceData:",m,"for test:",e),!0}}return this.log("No product ID match for:",m,"in test:",e),!1},o=new Set;let n=!1,l=null;const c=(T,m)=>{if(document.querySelectorAll("[data-sl-attribute-p]").forEach(w=>{if(w instanceof Element&&w.nodeType===Node.ELEMENT_NODE&&w.isConnected&&document.contains(w))try{T.observe(w,{childList:!0,subtree:!0,characterData:!0,characterDataOldValue:!0,attributes:!1})}catch(I){this.log(`Failed to observe element (${m}):`,I)}}),document.body&&document.body.isConnected)try{T.observe(document.body,{childList:!0,subtree:!0,characterData:!0,characterDataOldValue:!0,attributes:!1})}catch(w){this.log(`Failed to observe document.body (${m}):`,w)}},d=(T,m,y,w)=>{const I=T.filter(f=>{const v=f.cssSelector.match(/data-sl-attribute-(?:p|cap)="(\d+)"/);return v&&v[1]===w});this.log(`Applying ${y} DOM selectors, total: ${T.length}, filtered: ${I.length}`),I.length>0&&U(document,{testId:e,hypothesisId:m,selectors:I})},u=(T,m)=>{this.log(`Applying DOM selector changes for product ID: ${T}`),m.disconnect(),n=!0;try{if(i&&this.state.temporary.previewConfig){const y=t==="control"?"a":"b",w=this.state.temporary.previewConfig.variants.find(I=>I.label===y);if(!w?.domSelectors){this.log(`No DOM selectors found for preview variant: ${y}`);return}d(w.domSelectors,w.id,"preview config",T)}else{const y=this.testConfigs.find(I=>I.id===e);if(!y){this.log(`No test config found for testId: ${e}`);return}const w=y.hypotheses.find(I=>t==="control"?I.isControl:!I.isControl);if(!w?.domSelectors){this.log(`No DOM selectors found for assignment: ${t}`);return}d(w.domSelectors,w.id,"live config",T)}}finally{l!==null&&clearTimeout(l),l=window.setTimeout(()=>{n=!1,l=null,c(m,"reconnection"),this.log("Re-established innerHTML observer after DOM changes")}
52,50)}},h=new MutationObserver(T=>{if(!n)for(const m of T){if(m.type!=="childList"&&m.type!=="characterData")continue;let y=m.target;m.type==="characterData"&&(y=m.target.parentElement||m.target.parentNode);let w=y,I=w.getAttribute("data-sl-attribute-p");for(;!I&&w.parentElement;)w=w.parentElement,I=w.getAttribute("data-sl-attribute-p");if(!I)continue;const f=w.innerHTML||w.textContent||"";let v="";m.type==="characterData"&&m.oldValue!==null&&(v=m.oldValue),this.log(`innerHTML changed on element with data-sl-attribute-p="${I}"`),v&&this.log(`Previous content: "${v}"`),this.log(`Current content: "${f}"`),u(I,h)}});c(h,"initial setup"),o.add(h);const p=new MutationObserver(T=>{T.forEach(m=>{m.addedNodes.forEach(y=>{if(y.nodeType===Node.ELEMENT_NODE){const w=y;E(w);const I=w.matches('input[name="properties[_slpt]"]')?[w]:w.querySelectorAll('input[name="properties[_slpt]"]');I.length>0&&this.log(`MutationObserver found ${I.length} new hidden input(s)`),I.forEach(f=>{const v=f.getAttribute("data-sl-pid");if(this.log(`MutationObserver checking new input with data-sl-pid="${v}"`),r(f))f.value!==s&&(f.value=s,this.log("Updated newly added hidden input:",s)),S(f);else{const g=f.getAttribute("data-sl-pid");g&&this.isProductInAnyPriceTest(g)?this.log("Preserving hidden input for product ID '%s' - belongs to a different price test",g):(f.remove(),this.log("Removed newly added non-matching hidden input for product ID:",g))}})}})})});o.add(p);const b=new MutationObserver(T=>{T.forEach(m=>{if(m.type==="attributes"&&m.attributeName==="data-sl-pid"){const y=m.target;if(this.log("AttributeObserver detected data-sl-pid attribute change on:",y.tagName),y.matches('input[name="properties[_slpt]"]')){const w=y,I=m.oldValue,f=w.getAttribute("data-sl-pid");this.log(`data-sl-pid changed from "${I}" to "${f}" - triggering payment placement updates`),r(w)?(w.value!==s&&(w.value=s,this.log("Updated hidden input after data-sl-pid change:",s)),f&&u(f,h),this.log("Re-running payment placement updates after variant change"),E(document.body)):f&&this.isProductInAnyPriceTest(f)?this.log("Preserving hidden input for product ID '%s' - belongs to a different price test",f):(w.remove(),this.log("Removed non-matching hidden input after data-sl-pid change:",f))}}})});o.add(b);const E=T=>{T.tagName==="SHOPIFY-PAYMENT-TERMS"&&(this.log("MutationObserver found new shopify-payment-terms element"),this.updateShopifyPaymentTerms(e,t));const m=T.querySelectorAll("shopify-payment-terms");m.length>0&&(this.log(`MutationObserver found ${m.length} shopify-payment-terms in added node`),this.updateShopifyPaymentTerms(e,t)),T.tagName==="AFTERPAY-PLACEMENT"&&(this.log("MutationObserver found new afterpay-placement element"),this.updateAfterpayPlacements(e,t,"afterpay"));const y=T.querySelectorAll("afterpay-placement");y.length>0&&(this.log(`MutationObserver found ${y.length} afterpay-placement in added node`),this.updateAfterpayPlacements(e,t,"afterpay")),T.tagName==="SQUARE-PLACEMENT"&&(this.log("MutationObserver found new square-placement element"),this.updateAfterpayPlacements(e,t,"square"));const w=T.querySelectorAll("square-placement");w.length>0&&(this.log(`MutationObserver found ${w.length} square-placement in added node`),this.updateAfterpayPlacements(e,t,"square")),T.tagName==="KLARNA-PLACEMENT"&&(this.log("MutationObserver found new klarna-placement element"),this.updateKlarnaPlacements(e,t));const I=T.querySelectorAll("klarna-placement");I.length>0&&(this.log(`MutationObserver found ${I.length} klarna-placement in added node`),this.updateKlarnaPlacements(e,t))},S=T=>{b.observe(T,{attributes:!0,attributeFilter:["data-sl-pid"],attributeOldValue:!0,subtree:!1});const m=T.getAttribute("data-sl-pid");this.log(`Started AttributeObserver on specific input with data-sl-pid="${m}"`)},C=()=>{const T=document.querySelectorAll('input[name="properties[_slpt]"]');this.log(`Found ${T.length} existing hidden inputs to check`),T.forEach(m=>{const y=m.getAttribute("data-sl-pid");this.log(`Checking existing input with data-sl-pid="${y}"`),r(m)?(m.value=s,this.log("Updated existing hidden input:",s),y&&(this.log("Applying initial DOM selector changes for existing product"),u(y,h)),S(m)):y&&this.isProductInAnyPriceTest(y)?this.log("Preserving hidden input for product ID '%s' - belongs to a different price test",
52y):(m.remove(),this.log("Removed non-matching hidden input for product ID:",y))})},_=()=>{document.body?(p.observe(document.body,{childList:!0,subtree:!0}),this.log("Started MutationObserver on document.body"),C(),E(document.body)):document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>{document.body&&(p.observe(document.body,{childList:!0,subtree:!0}),this.log("Started MutationObserver after DOMContentLoaded"),C(),E(document.body))}):(this.log("Set timeout on observer"),setTimeout(_,10))};_(),window.__shopliftPriceTestObservers=o,window.__shopliftPriceTestValue=s,this.log("Set up DOM observer for price test hidden inputs")}catch(s){this.log("Error updating price test hidden inputs:",s)}}updateKlarnaPlacements(e,t){this.updatePlacementElements(e,t,"klarna-placement",(i,s)=>{i.setAttribute("data-purchase-amount",s.toString())})}cleanupPriceTestObservers(){const e=window.__shopliftPriceTestObservers;e&&(e.forEach(t=>{t.disconnect()}),e.clear(),this.log("Cleaned up existing price test observers")),delete window.__shopliftPriceTestObservers,delete window.__shopliftPriceTestValue}updateAfterpayPlacements(e,t,i="afterpay"){const s=i==="square"?"square-placement":"afterpay-placement";if(document.querySelectorAll(s).length===0){this.log(`No ${s} elements found on page - early return`);return}this.updatePlacementElements(e,t,s,(o,n)=>{if(i==="afterpay"){const l=(n/100).toFixed(2);o.setAttribute("data-amount",l)}else o.setAttribute("data-amount",n.toString())}),this.log("updateAfterpayPlacements completed")}updatePlacementElements(e,t,i,s){const r=document.querySelectorAll(i);if(r.length===0){this.log(`No ${i} elements found - early return`);return}let o;if(this.state.temporary.isMerchant&&this.state.temporary.previewConfig){const l=t==="control"?"a":"b",c=this.state.temporary.previewConfig.variants.find(d=>d.label===l);if(!c?.domSelectors){this.log(`No variant found for label ${l} in preview config for ${i}`);return}o=c.domSelectors,this.log(`Using preview config for ${i} in merchant mode, variant: ${l}`)}else{const l=this.testConfigs.find(d=>d.id===e);if(!l){this.log(`No testConfig found for id: ${e} - early return`);return}
52const c=l.hypotheses.find(d=>t==="control"?d.isControl:!d.isControl);if(!c?.domSelectors){this.log(`No hypothesis or domSelectors found for assignment: ${t} - early return`);return}o=c.domSelectors}const n=new RegExp(`${this.DATA_SL_ATTRIBUTE_P}=["'](\\d+)["']`);r.forEach(l=>{let c=null;const d=l.parentElement;if(d&&(c=d.querySelector('input[name="properties[_slpt]"]')),c||(c=l.querySelector('input[name="properties[_slpt]"]')),!c){this.log(`No hidden input found for ${i} element`);return}const u=c.getAttribute("data-sl-pid");if(!u){this.log("Hidden input has no data-sl-pid attribute - skipping");return}const h=o.find(S=>{const C=S.cssSelector.match(n);return C&&C[1]===u});if(!h){this.log(`No matching selector found for productId: ${u} - skipping element`);return}const p=h.actions.find(S=>S.scope==="price");if(!p?.value){this.log("No price action or value found - skipping element");return}const b=parseFloat(p.value.replace(/[^0-9.]/g,""));if(Number.isNaN(b)){this.log(`Invalid price "${p.value}" for product ${u} - skipping`);return}const E=Math.round(b*100);s(l,E)}),this.log(`updatePlacementElements completed for ${i}`)}updateShopifyPaymentTerms(e,t){const i=document.querySelectorAll("shopify-payment-terms");if(i.length===0)return;this.log("Store using shopify payments");let s;if(this.state.temporary.isMerchant&&this.state.temporary.previewConfig){const o=t==="control"?"a":"b",n=this.state.temporary.previewConfig.variants.find(l=>l.label===o);if(!n||!n.domSelectors){this.log(`No variant found for label ${o} in preview config`);return}s=n.domSelectors,this.log(`Using preview config for shopify-payment-terms in merchant mode, variant: ${o}`)}else{const o=this.testConfigs.find(l=>l.id===e);if(!o)return;const n=o.hypotheses.find(l=>t==="control"?l.isControl===!0:l.isControl===!1);if(!n||!n.domSelectors)return;s=n.domSelectors}const r=new RegExp(`${this.DATA_SL_ATTRIBUTE_P}=["'](\\d+)["']`);i.forEach(o=>{const n=o.getAttribute("variant-id");if(!n)return;const l=s.find(c=>{const d=c.cssSelector.match(r);return d&&d[1]===n});if(l){const c=l.actions.find(d=>d.scope==="price");if(c&&c.value){const d=o.getAttribute("shopify-meta");if(d)try{const u=JSON.parse(d);if(u.variants&&Array.isArray(u.variants)){const h=u.variants.find(p=>p.id?.toString()===n);if(h){h.full_price=c.value;const p=parseFloat(c.value.replace(/[^0-9.]/g,""));if(h.number_of_payment_terms&&h.number_of_payment_terms>1){const b=p/h.number_of_payment_terms;h.price_per_term=`$${b.toFixed(2)}`}o.setAttribute("shopify-meta",JSON.stringify(u))}}}catch(u){this.log("Error parsing/updating shoplift-meta:",u)}}}})}async makeJsonRequest(e){const t=await this.makeRequest(e);return t===null?null:JSON.parse(await t.text(),F)}async makeRequest(e){const{url:t,method:i,headers:s,data:r,signal:o}=e,n=new Headers;if(s)for(const c in s)n.append(c,s[c]);(!s||!s.Accept)&&n.append("Accept","application/json"),(!s||!s["Content-Type"])&&n.append("Content-Type","application/json"),(this.eventHost.includes("ngrok.io")||this.eventHost.includes("ngrok-free.app"))&&n.append("ngrok-skip-browser-warning","1234");const l=await this.fetch(t,{method:i,headers:n,body:r,signal:o});if(!l.ok){if(l.status===204)return null;if(l.status===422){const c=await l.json();if(typeof c<"u"&&c.isBot)throw new ie}throw new Error(`Error sending shoplift request ${l.status}`)}return l}queueAddVisitorToTest(e,t){if(this.state.essential.visitorTests.some(s=>s.testId===e))return;const i=this.testConfigs.find(s=>s.id===e);if(this.state.essential.visitorTests.push({createdAt:new Date,testId:e,hypothesisId:t.id,isThemeTest:t.type==="theme",themeId:t.themeId,isSaved:!1,isInvalid:!1,shouldSendToGa:!0,testType:t.type,assignedTo:t.isControl?"control":"variant",testTitle:i?.title}),t.type==="price"){const s=t.isControl?"control":"variant";this.log("Price test assignment detected, updating cart attributes:",e,s),this.updatePriceTestHiddenInputs(e,s,!1)}}queueCartUpdate(e){this.queueEvent(new Ce(e))}queuePageView(e){this.queueEvent(new Se(e))}queueEvent(e){!this.state.essential.consentApproved&&this.state.essential.hasConsentInteraction||this.state.analytics.queue.length>10||this.state.analytics.queue.push(e)}legacyGetLocalStorageVisitor(){const e=this.localStorageGet(this.legacySessionKey);if(e)try{return JSON.parse(e,F)}catch{}return null}pruneStaleVisitorTests(){this.state.essential.visitorTests=this.state.essential.visitorTests.filter(e=>this.testConfigs.some(t=>t.id==e.testId)||this.inactiveTestConfigs.filter(t=>this.testIsPaused(t)).some(t=>t.id===e.testId))}pruneStateAndSave(){this.pruneStaleVisitorTests(),this.saveState()}saveState(){this.persistEssentialState(),this.persistAnalyticsState()}loadState(){const e=this.loadAnalyticsState(),t={analytics:e,essential:this.loadEssentialState(e),temporary:this.loadTemporaryState()},i=this.legacyGetLocalStorageVisitor(),s=this.legacyGetCookieVisitor(),r=[i,s].filter(o=>o!==null).sort((o,n)=>+n.storedAt-+o.storedAt)[0];return t.analytics.visitor===null&&r&&({visitorTests:t.essential.visitorTests,...t.analytics.visitor}=r,t.essential.isFirstLoad=!1,t.essential.initialState={createdAt:r.createdAt,referrer:r.referrer,utmCampaign:r.utmCampaign,utmContent:r.utmContent,utmMedium:r.utmMedium,utmSource:r.utmSource,device:r.device},this.deleteCookie("SHOPLIFT"),this.deleteLocalStorage(this.legacySessionKey)),!t.essential.consentApproved&&t.essential.hasConsentInteraction&&this.deleteLocalStorage(this.analyticsSessionKey),t}loadEssentialState(e){const t=this.loadLocalStorage(this.essentialSessionKey),i=this.loadCookie(this.essentialSessionKey),s=this.getInitialState();e.visitor?.device&&(s.device=e.visitor.device);const r={timestamp:new Date,consentApproved:!1,hasConsentInteraction:!1,debugMode:!1,initialState:s,visitorTests:[],isFirstLoad:!0},o=[t,i].filter(n=>n!==null).sort((n,l)=>+l.timestamp-+n.timestamp)[0]??r;return o.initialState||(e.visitor!==null?o.initialState=e.visitor:(o.initialState=s,o.initialState.createdAt=o.timestamp)),o}loadAnalyticsState(){const e=this.loadLocalStorage(this.analyticsSessionKey),t=this.loadCookie(this.analyticsSessionKey),i={timestamp:new Date,visitor:null,queue:[]},s=[e,t].filter(r=>r!==null).sort((r,o)=>+o.timestamp-+r.timestamp)[0]??i;return s.queue.length===0&&e&&e.queue.length>1&&(s.queue=e.queue),s}loadTemporaryState(){const e=this.sessionStorageGet(this.temporarySessionKey),t=e?JSON.parse(e,F):null,i=this.loadCookie(this.temporarySessionKey);return t??i??{isMerchant:!1,timestamp:new Date}}persistEssentialState(){this.log("Persisting essential state"),this.state.essential.isFirstLoad=!1,this.state.essential.timestamp=new Date,this.persistLocalStorageState(this.essentialSessionKey,this.state.essential),this.persist
52CookieState(this.essentialSessionKey,this.state.essential)}persistAnalyticsState(){this.log("Persisting analytics state"),this.state.essential.consentApproved&&(this.state.analytics.timestamp=new Date,this.persistLocalStorageState(this.analyticsSessionKey,this.state.analytics),this.persistCookieState(this.analyticsSessionKey,{...this.state.analytics,queue:[]}))}persistTemporaryState(){this.log("Setting temporary session state"),this.state.temporary.timestamp=new Date,this.sessionStorageSet(this.temporarySessionKey,JSON.stringify(this.state.temporary)),this.persistCookieState(this.temporarySessionKey,this.state.temporary,!0)}loadLocalStorage(e){const t=this.localStorageGet(e);if(t===null)return null;try{return JSON.parse(t,F)}catch{return null}}loadCookie(e){const t=this.getCookie(e);if(t===null)return null;try{return JSON.parse(t,F)}catch{return null}}persistLocalStorageState(e,t){this.localStorageSet(e,JSON.stringify(t))}persistCookieState(e,t,i=!1){const s=JSON.stringify(t),r=i?"":`expires=${new Date(new Date().getTime()+864e5*365).toUTCString()};`;document.cookie=`${e}=${s};domain=.${window.location.hostname};path=/;SameSite=Strict;${r}`}deleteCookie(e){const t=new Date(0).toUTCString();document.cookie=`${e}=;domain=.${window.location.hostname};path=/;expires=${t};`}deleteLocalStorage(e){window.localStorage.removeItem(e)}getChannel(e){return[{"name":"cross-network","test":(v) => new RegExp(".*cross-network.*", "i").test(v.utmCampaign)},{"name":"direct","test":(v) => v.utmSource === "" && v.utmMedium === ""},{"name":"paid-shopping","test":(v) => (new RegExp("^(?:Google|IGShopping|aax-us-east\.amazon-adsystem\.com|aax\.amazon-adsystem\.com|alibaba|alibaba\.com|amazon|amazon\.co\.uk|amazon\.com|apps\.shopify\.com|checkout\.shopify\.com|checkout\.stripe\.com|cr\.shopping\.naver\.com|cr2\.shopping\.naver\.com|ebay|ebay\.co\.uk|ebay\.com|ebay\.com\.au|ebay\.de|etsy|etsy\.com|m\.alibaba\.com|m\.shopping\.naver\.com|mercadolibre|mercadolibre\.com|mercadolibre\.com\.ar|mercadolibre\.com\.mx|message\.alibaba\.com|msearch\.shopping\.naver\.com|nl\.shopping\.net|no\.shopping\.net|offer\.alibaba\.com|one\.walmart\.com|order\.shopping\.yahoo\.co\.jp|partners\.shopify\.com|s3\.amazonaws\.com|se\.shopping\.net|shop\.app|shopify|shopify\.com|shopping\.naver\.com|shopping\.yahoo\.co\.jp|shopping\.yahoo\.com|shopzilla|shopzilla\.com|simplycodes\.com|store\.shopping\.yahoo\.co\.jp|stripe|stripe\.com|uk\.shopping\.net|walmart|walmart\.com)$", "i").test(v.utmSource) || new RegExp("^(.*(([^a-df-z]|^)shop|shopping).*)$", "i").test(v.utmCampaign)) && new RegExp("^(.*cp.*|ppc|retargeting|paid.*)$", "i").test(v.utmMedium)},{"name":"paid-search","test":(v) => new RegExp("^(?:360\.cn|alice|aol|ar\.search\.yahoo\.com|ask|at\.search\.yahoo\.com|au\.search\.yahoo\.com|auone|avg|babylon|baidu|biglobe|biglobe\.co\.jp|biglobe\.ne\.jp|bing|br\.search\.yahoo\.com|ca\.search\.yahoo\.com|centrum\.cz|ch\.search\.yahoo\.com|cl\.search\.yahoo\.com|cn\.bing\.com|cnn|co\.search\.yahoo\.com|comcast|conduit|daum|daum\.net|de\.search\.yahoo\.com|dk\.search\.yahoo\.com|dogpile|dogpile\.com|duckduckgo|ecosia\.org|email\.seznam\.cz|eniro|es\.search\.yahoo\.com|espanol\.search\.yahoo\.com|exalead\.com|excite\.com|fi\.search\.yahoo\.com|firmy\.cz|fr\.search\.yahoo\.com|globo|go\.mail\.ru|google|google-play|hk\.search\.yahoo\.com|id\.search\.yahoo\.com|in\.search\.yahoo\.com|incredimail|it\.search\.yahoo\.com|kvasir|lens\.google\.com|lite\.qwant\.com|lycos|m\.baidu\.com|m\.naver\.com|m\.search\.naver\.com|m\.sogou\.com|mail\.rambler\.ru|mail\.yandex\.ru|malaysia\.search\.yahoo\.com|msn|msn\.com|mx\.search\.yahoo\.com|najdi|naver|naver\.com|news\.google\.com|nl\.search\.yahoo\.com|no\.search\.yahoo\.com|ntp\.msn\.com|nz\.search\.yahoo\.com|onet|onet\.pl|pe\.search\.yahoo\.com|ph\.search\.yahoo\.com|pl\.search\.yahoo\.com|play\.google\.com|qwant|qwant\.com|rakuten|rakuten\.co\.jp|rambler|rambler\.ru|se\.search\.yahoo\.com|search-results|search\.aol\.co\.uk|search\.aol\.com|search\.google\.com|search\.smt\.docomo\.ne\.jp|search\.ukr\.net|secureurl\.ukr\.net|seznam|seznam\.cz|sg\.search\.yahoo\.com|so\.com|sogou|sogou\.com|sp-web\.search\.auone\.jp|startsiden|startsiden\.no|suche\.aol\.de|terra|th\.search\.yahoo\.com|tr\.search\.yahoo\.com|tut\.by|tw\.search\.yahoo\.com|uk\.search\.yahoo\.com|ukr|us\.search\.yahoo\.com|virgilio|vn\.search\.yahoo\.com|wap\.sogou\.com|webmaster\.yandex\.ru|websearch\.rakuten\.co\.jp|yahoo|yahoo\.co\.jp|yahoo\.com|yandex|yandex\.by|yandex\.com|yandex\.com\.tr|yandex\.fr|yandex\.kz|yandex\.ru|yandex\.ua|y
52andex\.uz|zen\.yandex\.ru)$", "i").test(v.utmSource) && new RegExp("^(.*cp.*|ppc|retargeting|paid.*)$", "i").test(v.utmMedium)},{"name":"paid-social","test":(v) => new RegExp("^(?:43things|43things\.com|51\.com|5ch\.net|Hatena|ImageShack|academia\.edu|activerain|activerain\.com|activeworlds|activeworlds\.com|addthis|addthis\.com|airg\.ca|allnurses\.com|allrecipes\.com|alumniclass|alumniclass\.com|ameba\.jp|ameblo\.jp|americantowns|americantowns\.com|amp\.reddit\.com|ancestry\.com|anobii|anobii\.com|answerbag|answerbag\.com|answers\.yahoo\.com|aolanswers|aolanswers\.com|apps\.facebook\.com|ar\.pinterest\.com|artstation\.com|askubuntu|askubuntu\.com|asmallworld\.com|athlinks|athlinks\.com|away\.vk\.com|awe\.sm|b\.hatena\.ne\.jp|baby-gaga|baby-gaga\.com|babyblog\.ru|badoo|badoo\.com|bebo|bebo\.com|beforeitsnews|beforeitsnews\.com|bharatstudent|bharatstudent\.com|biip\.no|biswap\.org|bit\.ly|blackcareernetwork\.com|blackplanet|blackplanet\.com|blip\.fm|blog\.com|blog\.feedspot\.com|blog\.goo\.ne\.jp|blog\.naver\.com|blog\.yahoo\.co\.jp|blogg\.no|bloggang\.com|blogger|blogger\.com|blogher|blogher\.com|bloglines|bloglines\.com|blogs\.com|blogsome|blogsome\.com|blogspot|blogspot\.com|blogster|blogster\.com|blurtit|blurtit\.com|bookmarks\.yahoo\.co\.jp|bookmarks\.yahoo\.com|br\.pinterest\.com|brightkite|brightkite\.com|brizzly|brizzly\.com|business\.facebook\.com|buzzfeed|buzzfeed\.com|buzznet|buzznet\.com|cafe\.naver\.com|cafemom|cafemom\.com|camospace|camospace\.com|canalblog\.com|care\.com|care2|care2\.com|caringbridge\.org|catster|catster\.com|cbnt\.io|cellufun|cellufun\.com|centerblog\.net|chat\.zalo\.me|chegg\.com|chicagonow|chicagonow\.com|chiebukuro\.yahoo\.co\.jp|classmates|classmates\.com|classquest|classquest\.com|co\.pinterest\.com|cocolog-nifty|cocolog-nifty\.com|copainsdavant\.linternaute\.com|couchsurfing\.org|cozycot|cozycot\.com|cross\.tv|crunchyroll|crunchyroll\.com|cyworld|cyworld\.com|cz\.pinterest\.com|d\.hatena\.ne\.jp|dailystrength\.org|deluxe\.com|deviantart|deviantart\.com|dianping|dianping\.com|digg|digg\.com|diigo|diigo\.com|discover\.hubpages\.com|disqus|disqus\.com|dogster|dogster\.com|dol2day|dol2day\.com|doostang|doostang\.com|dopplr|dopplr\.com|douban|douban\.com|draft\.blogger\.com|draugiem\.lv|drugs-forum|drugs-forum\.com|dzone|dzone\.com|edublogs\.org|elftown|elftown\.com|epicurious\.com|everforo\.com|exblog\.jp|extole|extole\.com|facebook|facebook\.com|faceparty|faceparty\.com|fandom\.com|fanpop|fanpop\.com|fark|fark\.com|fb|fb\.me|fc2|fc2\.com|feedspot|feministing|feministing\.com|filmaffinity|filmaffinity\.com|flickr|flickr\.com|flipboard|flipboard\.com|folkdirect|folkdirect\.com|foodservice|foodservice\.com|forums\.androidcentral\.com|forums\.crackberry\.com|forums\.imore\.com|forums\.nexopia\.com|forums\.webosnation\.com|forums\.wpcentral\.com|fotki|fotki\.com|fotolog|fotolog\.com|foursquare|foursquare\.com|free\.facebook\.com|friendfeed|friendfeed\.com|fruehstueckstreff\.org|fubar|fubar\.com|gaiaonline|gaiaonline\.com|gamerdna|gamerdna\.com|gather\.com|geni\.com|getpocket\.com|glassboard|glassboard\.com|glassdoor|glassdoor\.com|godtube|godtube\.com|goldenline\.pl|goldstar|goldstar\.com|goo\.gl|gooblog|goodreads|goodreads\.com|google\+|googlegroups\.com|googleplus|govloop|govloop\.com|gowalla|gowalla\.com|gree\.jp|groups\.google\.com|gulli\.com|gutefrage\.net|habbo|habbo\.com|hi5|hi5\.com|hootsuite|hootsuite\.com|houzz|houzz\.com|hoverspot|hoverspot\.com|hr\.com|hu\.pinterest\.com|hubculture|hubculture\.com|hubpages\.com|hyves\.net|hyves\.nl|ibibo|ibibo\.com|id\.pinterest\.com|identi\.ca|ig|imageshack\.com|imageshack\.us|imvu|imvu\.com|in\.pinterest\.com|insanejournal|insanejournal\.com|instagram|instagram\.com|instapaper|instapaper\.com|internations\.org|interpals\.net|intherooms|intherooms\.com|irc-galleria\.net|is\.gd|italki|italki\.com|jammerdirect|jammerdirect\.com|jappy\.com|jappy\.de|kaboodle\.com|kakao|kakao\.com|kakaocorp\.com|kaneva|kaneva\.com|kin\.naver\.com|l\.facebook\.com|l\.instagram\.com|l\.messenger\.com|last\.fm|librarything|librarything\.com|lifestream\.aol\.com|line|line\.me|linkedin|linkedin\.com|listal|listal\.com|listography|listography\.com|livedoor\.com|livedoorblog|livejournal|livejournal\.com|lm\.facebook\.com|lnkd\.in|m\.blog\.naver\.com|m\.cafe\.naver\.com|m\.facebook\.com|m\.kin\.naver\.com|m\.vk\.com|m\.yelp\.com|mbga\.jp|medium\.com|meetin\.org|meetup|meetup\.com|meinvz\.net|meneame\.net|menuism\.com|messages\.google\.com|messages\.yahoo\.co\.jp|messenger|messenger\.com|mix\.com|mixi\.jp|mobile\.facebook\.com|mocospace|mocospace\.com|mouthshut|mouthshut\.com|movabletype|movabletype\.com|mubi|mubi\.com|my\.o
52pera\.com|myanimelist\.net|myheritage|myheritage\.com|mylife|mylife\.com|mymodernmet|mymodernmet\.com|myspace|myspace\.com|netvibes|netvibes\.com|news\.ycombinator\.com|newsshowcase|nexopia|ngopost\.org|niconico|nicovideo\.jp|nightlifelink|nightlifelink\.com|ning|ning\.com|nl\.pinterest\.com|odnoklassniki\.ru|odnoklassniki\.ua|okwave\.jp|old\.reddit\.com|oneworldgroup\.org|onstartups|onstartups\.com|opendiary|opendiary\.com|oshiete\.goo\.ne\.jp|out\.reddit\.com|over-blog\.com|overblog\.com|paper\.li|partyflock\.nl|photobucket|photobucket\.com|pinboard|pinboard\.in|pingsta|pingsta\.com|pinterest|pinterest\.at|pinterest\.ca|pinterest\.ch|pinterest\.cl|pinterest\.co\.kr|pinterest\.co\.uk|pinterest\.com|pinterest\.com\.au|pinterest\.com\.mx|pinterest\.de|pinterest\.es|pinterest\.fr|pinterest\.it|pinterest\.jp|pinterest\.nz|pinterest\.ph|pinterest\.pt|pinterest\.ru|pinterest\.se|pixiv\.net|pl\.pinterest\.com|playahead\.se|plurk|plurk\.com|plus\.google\.com|plus\.url\.google\.com|pocket\.co|posterous|posterous\.com|pro\.homeadvisor\.com|pulse\.yahoo\.com|qapacity|qapacity\.com|quechup|quechup\.com|quora|quora\.com|qzone\.qq\.com|ravelry|ravelry\.com|reddit|reddit\.com|redux|redux\.com|renren|renren\.com|researchgate\.net|reunion|reunion\.com|reverbnation|reverbnation\.com|rtl\.de|ryze|ryze\.com|salespider|salespider\.com|scoop\.it|screenrant|screenrant\.com|scribd|scribd\.com|scvngr|scvngr\.com|secondlife|secondlife\.com|serverfault|serverfault\.com|shareit|sharethis|sharethis\.com|shvoong\.com|sites\.google\.com|skype|skyrock|skyrock\.com|slashdot\.org|slideshare\.net|smartnews\.com|snapchat|snapchat\.com|social|sociallife\.com\.br|socialvibe|socialvibe\.com|spaces\.live\.com|spoke|spoke\.com|spruz|spruz\.com|ssense\.com|stackapps|stackapps\.com|stackexchange|stackexchange\.com|stackoverflow|stackoverflow\.com|stardoll\.com|stickam|stickam\.com|studivz\.net|suomi24\.fi|superuser|superuser\.com|sweeva|sweeva\.com|t\.co|t\.me|tagged|tagged\.com|taggedmail|taggedmail\.com|talkbiznow|talkbiznow\.com|taringa\.net|techmeme|techmeme\.com|tencent|tencent\.com|tiktok|tiktok\.com|tinyurl|tinyurl\.com|toolbox|toolbox\.com|touch\.facebook\.com|tr\.pinterest\.com|travellerspoint|travellerspoint\.com|tripadvisor|tripadvisor\.com|trombi|trombi\.com|trustpilot|tudou|tudou\.com|tuenti|tuenti\.com|tumblr|tumblr\.com|tweetdeck|tweetdeck\.com|twitter|twitter\.com|twoo\.com|typepad|typepad\.com|unblog\.fr|urbanspoon\.com|ushareit\.com|ushi\.cn|vampirefreaks|vampirefreaks\.com|vampirerave|vampirerave\.com|vg\.no|video\.ibm\.com|vk\.com|vkontakte\.ru|wakoopa|wakoopa\.com|wattpad|wattpad\.com|web\.facebook\.com|web\.skype\.com|webshots|webshots\.com|wechat|wechat\.com|weebly|weebly\.com|weibo|weibo\.com|wer-weiss-was\.de|weread|weread\.com|whatsapp|whatsapp\.com|wiki\.answers\.com|wikihow\.com|wikitravel\.org|woot\.com|wordpress|wordpress\.com|wordpress\.org|xanga|xanga\.com|xing|xing\.com|yahoo-mbga\.jp|yammer|yammer\.com|yelp|yelp\.co\.uk|yelp\.com|youroom\.in|za\.pinterest\.com|zalo|zoo\.gr|zooppa|zooppa\.com)$", "i").test(v.utmSource) && new RegExp("^(.*cp.*|ppc|retargeting|paid.*)$", "i").test(v.utmMedium)},{"name":"paid-video","test":(v) => new RegExp("^(?:blog\.twitch\.tv|crackle|crackle\.com|curiositystream|curiositystream\.com|d\.tube|dailymotion|dailymotion\.com|dashboard\.twitch\.tv|disneyplus|disneyplus\.com|fast\.wistia\.net|help\.hulu\.com|help\.netflix\.com|hulu|hulu\.com|id\.twitch\.tv|iq\.com|iqiyi|iqiyi\.com|jobs\.netflix\.com|justin\.tv|m\.twitch\.tv|m\.youtube\.com|music\.youtube\.com|netflix|netflix\.com|player\.twitch\.tv|player\.vimeo\.com|ted|ted\.com|twitch|twitch\.tv|utreon|utreon\.com|veoh|veoh\.com|viadeo\.journaldunet\.com|vimeo|vimeo\.com|wistia|wistia\.com|youku|youku\.com|youtube|youtube\.com)$", "i").test(v.utmSource) && new RegExp("^(.*cp.*|ppc|retargeting|paid.*)$", "i").test(v.utmMedium)},{"name":"display","test":(v) => new RegExp("^(?:display|banner|expandable|interstitial|cpm)$", "i").test(v.utmMedium)},{"name":"paid-other","test":(v) => new RegExp("^(.*cp.*|ppc|retargeting|paid.*)$", "i").test(v.utmMedium)}
52,{"name":"organic-shopping","test":(v) => new RegExp("^(?:360\.cn|alice|aol|ar\.search\.yahoo\.com|ask|at\.search\.yahoo\.com|au\.search\.yahoo\.com|auone|avg|babylon|baidu|biglobe|biglobe\.co\.jp|biglobe\.ne\.jp|bing|br\.search\.yahoo\.com|ca\.search\.yahoo\.com|centrum\.cz|ch\.search\.yahoo\.com|cl\.search\.yahoo\.com|cn\.bing\.com|cnn|co\.search\.yahoo\.com|comcast|conduit|daum|daum\.net|de\.search\.yahoo\.com|dk\.search\.yahoo\.com|dogpile|dogpile\.com|duckduckgo|ecosia\.org|email\.seznam\.cz|eniro|es\.search\.yahoo\.com|espanol\.search\.yahoo\.com|exalead\.com|excite\.com|fi\.search\.yahoo\.com|firmy\.cz|fr\.search\.yahoo\.com|globo|go\.mail\.ru|google|google-play|hk\.search\.yahoo\.com|id\.search\.yahoo\.com|in\.search\.yahoo\.com|incredimail|it\.search\.yahoo\.com|kvasir|lens\.google\.com|lite\.qwant\.com|lycos|m\.baidu\.com|m\.naver\.com|m\.search\.naver\.com|m\.sogou\.com|mail\.rambler\.ru|mail\.yandex\.ru|malaysia\.search\.yahoo\.com|msn|msn\.com|mx\.search\.yahoo\.com|najdi|naver|naver\.com|news\.google\.com|nl\.search\.yahoo\.com|no\.search\.yahoo\.com|ntp\.msn\.com|nz\.search\.yahoo\.com|onet|onet\.pl|pe\.search\.yahoo\.com|ph\.search\.yahoo\.com|pl\.search\.yahoo\.com|play\.google\.com|qwant|qwant\.com|rakuten|rakuten\.co\.jp|rambler|rambler\.ru|se\.search\.yahoo\.com|search-results|search\.aol\.co\.uk|search\.aol\.com|search\.google\.com|search\.smt\.docomo\.ne\.jp|search\.ukr\.net|secureurl\.ukr\.net|seznam|seznam\.cz|sg\.search\.yahoo\.com|so\.com|sogou|sogou\.com|sp-web\.search\.auone\.jp|startsiden|startsiden\.no|suche\.aol\.de|terra|th\.search\.yahoo\.com|tr\.search\.yahoo\.com|tut\.by|tw\.search\.yahoo\.com|uk\.search\.yahoo\.com|ukr|us\.search\.yahoo\.com|virgilio|vn\.search\.yahoo\.com|wap\.sogou\.com|webmaster\.yandex\.ru|websearch\.rakuten\.co\.jp|yahoo|yahoo\.co\.jp|yahoo\.com|yandex|yandex\.by|yandex\.com|yandex\.com\.tr|yandex\.fr|yandex\.kz|yandex\.ru|yandex\.ua|yandex\.uz|zen\.yandex\.ru)$", "i").test(v.utmSource) || new RegExp("^(.*(([^a-df-z]|^)shop|shopping).*)$", "i").test(v.utmCampaign)},{"name":"organic-social","test":(v) => new RegExp("^(?:43things|43things\.com|51\.com|5ch\.net|Hatena|ImageShack|academia\.edu|activerain|activerain\.com|activeworlds|activeworlds\.com|addthis|addthis\.com|airg\.ca|allnurses\.com|allrecipes\.com|alumniclass|alumniclass\.com|ameba\.jp|ameblo\.jp|americantowns|americantowns\.com|amp\.reddit\.com|ancestry\.com|anobii|anobii\.com|answerbag|answerbag\.com|answers\.yahoo\.com|aolanswers|aolanswers\.com|apps\.facebook\.com|ar\.pinterest\.com|artstation\.com|askubuntu|askubuntu\.com|asmallworld\.com|athlinks|athlinks\.com|away\.vk\.com|awe\.sm|b\.hatena\.ne\.jp|baby-gaga|baby-gaga\.com|babyblog\.ru|badoo|badoo\.com|bebo|bebo\.com|beforeitsnews|beforeitsnews\.com|bharatstudent|bharatstudent\.com|biip\.no|biswap\.org|bit\.ly|blackcareernetwork\.com|blackplanet|blackplanet\.com|blip\.fm|blog\.com|blog\.feedspot\.com|blog\.goo\.ne\.jp|blog\.naver\.com|blog\.yahoo\.co\.jp|blogg\.no|bloggang\.com|blogger|blogger\.com|blogher|blogher\.com|bloglines|bloglines\.com|blogs\.com|blogsome|blogsome\.com|blogspot|blogspot\.com|blogster|blogster\.com|blurtit|blurtit\.com|bookmarks\.yahoo\.co\.jp|bookmarks\.yahoo\.com|br\.pinterest\.com|brightkite|brightkite\.com|brizzly|brizzly\.com|business\.facebook\.com|buzzfeed|buzzfeed\.com|buzznet|buzznet\.com|cafe\.naver\.com|cafemom|cafemom\.com|camospace|camospace\.com|canalblog\.com|care\.com|care2|care2\.com|caringbridge\.org|catster|catster\.com|cbnt\.io|cellufun|cellufun\.com|centerblog\.net|chat\.zalo\.me|chegg\.com|chicagonow|chicagonow\.com|chiebukuro\.yahoo\.co\.jp|classmates|classmates\.com|classquest|classquest\.com|co\.pinterest\.com|cocolog-nifty|cocolog-nifty\.com|copainsdavant\.linternaute\.com|couchsurfing\.org|cozycot|cozycot\.com|cross\.tv|crunchyroll|crunchyroll\.com|cyworld|cyworld\.com|cz\.pinterest\.com|d\.hatena\.ne\.jp|dailystrength\.org|deluxe\.com|deviantart|deviantart\.com|dianping|dianping\.com|digg|digg\.com|diigo|diigo\.com|discover\.hubpages\.com|disqus|disqus\.com|dogster|dogster\.com|dol2day|dol2day\.com|doostang|doostang\.com|dopplr|dopplr\.com|douban|douban\.com|draft\.blogger\.com|draugiem\.lv|drugs-forum|drugs-forum\.com|dzone|dzone\.com|edublogs\.org|elftown|elftown\.com|epicurious\.com|everforo\.com|exblog\.jp|extole|extole\.com|facebook|facebook\.com|faceparty|faceparty\.com|fandom\.com|fanpop|fanpop\.com|fark|fark\.com|fb|fb\.me|fc2|fc2\.com|feedspot|feministing|feministing\.com|filmaffinity|filmaffinity\.com|flickr|flickr\.com|flipboard|flipboard\.com|folkdirect|folkdirect\.com|foodservice|foodservice\.com|forums\.androidcentral\.com|forums\.crackberry\.com|forums\.imore\.com|forums\.nexopia\.com|forums\.webosnation\.com|forums\.wpcentral\.com|fotki|fotki\.com|fotolog|fotolog\.com|foursquare|foursquare\.com|free\.facebook\.com|friendfeed|friendfeed\.com|fruehstueckstreff\.org|fubar|fubar\.com|gaiaonline|gaiaonline\.com|gamerdna|gamerdna\.com|gather\.com|geni\.com|getpocket\.com|glassboard|glassboard\.com|glassdoor|glassdoor\.com|godtube|godtube\.com|goldenline\.pl|goldstar|goldstar\.com|goo\.gl|gooblog|goodreads|goodreads\.com|google\+|googlegroups\.com|googleplus|govloop|govloop\.com|gowalla|gowalla\.com|gree\.jp|groups\.google\.com|gulli\.com|gutefrage\.net|habbo|habbo\.com|hi5|hi5\.com|hootsuite|hootsuite\.com|houzz|houzz\.com|hoverspot|hoverspot\.com|hr\.com|hu\.pinterest\.com|hubculture|hubculture\.com|hubpages\.com|hyves\.net|hyves\.nl|ibibo|ibibo\.com|id\.pinterest\.com|identi\.ca|ig|imageshack\.com|imageshack\.us|imvu|imvu\.com|in\.pinterest\.com|insanejournal|insanejournal\.com|instagram|instagram\.com|instapaper|instapaper\.com|internations\.org|interpals\.net|intherooms|intherooms\.com|irc-galleria\.net|is\.gd|italki|italki\.com|jammerdirect|jammerdirect\.com|jappy\.com|jappy\.de|kaboodle\.com|k
52akao|kakao\.com|kakaocorp\.com|kaneva|kaneva\.com|kin\.naver\.com|l\.facebook\.com|l\.instagram\.com|l\.messenger\.com|last\.fm|librarything|librarything\.com|lifestream\.aol\.com|line|line\.me|linkedin|linkedin\.com|listal|listal\.com|listography|listography\.com|livedoor\.com|livedoorblog|livejournal|livejournal\.com|lm\.facebook\.com|lnkd\.in|m\.blog\.naver\.com|m\.cafe\.naver\.com|m\.facebook\.com|m\.kin\.naver\.com|m\.vk\.com|m\.yelp\.com|mbga\.jp|medium\.com|meetin\.org|meetup|meetup\.com|meinvz\.net|meneame\.net|menuism\.com|messages\.google\.com|messages\.yahoo\.co\.jp|messenger|messenger\.com|mix\.com|mixi\.jp|mobile\.facebook\.com|mocospace|mocospace\.com|mouthshut|mouthshut\.com|movabletype|movabletype\.com|mubi|mubi\.com|my\.opera\.com|myanimelist\.net|myheritage|myheritage\.com|mylife|mylife\.com|mymodernmet|mymodernmet\.com|myspace|myspace\.com|netvibes|netvibes\.com|news\.ycombinator\.com|newsshowcase|nexopia|ngopost\.org|niconico|nicovideo\.jp|nightlifelink|nightlifelink\.com|ning|ning\.com|nl\.pinterest\.com|odnoklassniki\.ru|odnoklassniki\.ua|okwave\.jp|old\.reddit\.com|oneworldgroup\.org|onstartups|onstartups\.com|opendiary|opendiary\.com|oshiete\.goo\.ne\.jp|out\.reddit\.com|over-blog\.com|overblog\.com|paper\.li|partyflock\.nl|photobucket|photobucket\.com|pinboard|pinboard\.in|pingsta|pingsta\.com|pinterest|pinterest\.at|pinterest\.ca|pinterest\.ch|pinterest\.cl|pinterest\.co\.kr|pinterest\.co\.uk|pinterest\.com|pinterest\.com\.au|pinterest\.com\.mx|pinterest\.de|pinterest\.es|pinterest\.fr|pinterest\.it|pinterest\.jp|pinterest\.nz|pinterest\.ph|pinterest\.pt|pinterest\.ru|pinterest\.se|pixiv\.net|pl\.pinterest\.com|playahead\.se|plurk|plurk\.com|plus\.google\.com|plus\.url\.google\.com|pocket\.co|posterous|posterous\.com|pro\.homeadvisor\.com|pulse\.yahoo\.com|qapacity|qapacity\.com|quechup|quechup\.com|quora|quora\.com|qzone\.qq\.com|ravelry|ravelry\.com|reddit|reddit\.com|redux|redux\.com|renren|renren\.com|researchgate\.net|reunion|reunion\.com|reverbnation|reverbnation\.com|rtl\.de|ryze|ryze\.com|salespider|salespider\.com|scoop\.it|screenrant|screenrant\.com|scribd|scribd\.com|scvngr|scvngr\.com|secondlife|secondlife\.com|serverfault|serverfault\.com|shareit|sharethis|sharethis\.com|shvoong\.com|sites\.google\.com|skype|skyrock|skyrock\.com|slashdot\.org|slideshare\.net|smartnews\.com|snapchat|snapchat\.com|social|sociallife\.com\.br|socialvibe|socialvibe\.com|spaces\.live\.com|spoke|spoke\.com|spruz|spruz\.com|ssense\.com|stackapps|stackapps\.com|stackexchange|stackexchange\.com|stackoverflow|stackoverflow\.com|stardoll\.com|stickam|stickam\.com|studivz\.net|suomi24\.fi|superuser|superuser\.com|sweeva|sweeva\.com|t\.co|t\.me|tagged|tagged\.com|taggedmail|taggedmail\.com|talkbiznow|talkbiznow\.com|taringa\.net|techmeme|techmeme\.com|tencent|tencent\.com|tiktok|tiktok\.com|tinyurl|tinyurl\.com|toolbox|toolbox\.com|touch\.facebook\.com|tr\.pinterest\.com|travellerspoint|travellerspoint\.com|tripadvisor|tripadvisor\.com|trombi|trombi\.com|trustpilot|tudou|tudou\.com|tuenti|tuenti\.com|tumblr|tumblr\.com|tweetdeck|tweetdeck\.com|twitter|twitter\.com|twoo\.com|typepad|typepad\.com|unblog\.fr|urbanspoon\.com|ushareit\.com|ushi\.cn|vampirefreaks|vampirefreaks\.com|vampirerave|vampirerave\.com|vg\.no|video\.ibm\.com|vk\.com|vkontakte\.ru|wakoopa|wakoopa\.com|wattpad|wattpad\.com|web\.facebook\.com|web\.skype\.com|webshots|webshots\.com|wechat|wechat\.com|weebly|weebly\.com|weibo|weibo\.com|wer-weiss-was\.de|weread|weread\.com|whatsapp|whatsapp\.com|wiki\.answers\.com|wikihow\.com|wikitravel\.org|woot\.com|wordpress|wordpress\.com|wordpress\.org|xanga|xanga\.com|xing|xing\.com|yahoo-mbga\.jp|yammer|yammer\.com|yelp|yelp\.co\.uk|yelp\.com|youroom\.in|za\.pinterest\.com|zalo|zoo\.gr|zooppa|zooppa\.com)$", "i").test(v.utmSource) || new RegExp("^(?:social|social-network|social-media|sm|social network|social media)$", "i").test(v.utmMedium)},{"name":"organic-video","test":(v) => new RegExp("^(?:blog\.twitch\.tv|crackle|crackle\.com|curiositystream|curiositystream\.com|d\.tube|dailymotion|dailymotion\.com|dashboard\.twitch\.tv|disneyplus|disneyplus\.com|fast\.wistia\.net|help\.hulu\.com|help\.netflix\.com|hulu|hulu\.com|id\.twitch\.tv|iq\.com|iqiyi|iqiyi\.com|jobs\.netflix\.com|justin\.tv|m\.twitch\.tv|m\.youtube\.com|music\.youtube\.com|netflix|netflix\.com|player\.twitch\.tv|player\.vimeo\.com|ted|ted\.com|twitch|twitch\.tv|utreon|utreon\.com|veoh|veoh\.com|viadeo\.journaldunet\.com|vimeo|vimeo\.com|wistia|wistia\.com|youku|youku\.com|youtube|youtube\.com)$", "i").test(v.utmSource) || new RegExp("^(.*video.*)$", "i").test(v.utmMedium)},{"name":"organic-search","test":(v) => new RegExp("^(?:360\.cn|alice|aol|ar\.search\.yahoo\.com|ask|at\.search\.yahoo\.com|au\.search\.yahoo\.com|auone|avg|babylon|baidu|biglobe|biglobe\.co\.jp|biglobe\.ne\.jp|bing|br\.search\.yahoo\.com|ca\.search\.yahoo\.com|centrum\.cz|ch\.search\.yahoo\.com|cl\.search\.yahoo\.com|cn\.bing\.com|cnn|co\.search\.yahoo\.com|comcast|conduit|daum|daum\.net|de\.search\.yahoo\.com|dk\.search\.yahoo\.com|dogpile|dogpile\.com|duckduckgo|ecosia\.org|email\.seznam\.cz|eniro|es\.search\.yahoo\.com|espanol\.search\.yahoo\.com|exalead\.com|excite\.com|fi\.search\.yahoo\.com|firmy\.cz|fr\.search\.yahoo\.com|globo|go\.mail\.ru|google|google-play|hk\.search\.yahoo\.com|id\.search\.yahoo\.com|in\.search\.yahoo\.com|incredimail|it\.search\.yahoo\.com|kvasir|lens\.google\.com|lite\.qwant\.com|lycos|m\.baidu\.com|m\.naver\.com|m\.search\.naver\.com|m\.sogou\.com|mail\.rambler\.ru|mail\.yandex\.ru|malaysia\.search\.yahoo\.com|msn|msn\.com|mx\.search\.yahoo\.com|najdi|naver|naver\.com|news\.google\.com|nl\.search\.yahoo\.com|no\.search\.yahoo\.com|ntp\.msn\.com|nz\.search\.yahoo\.com|onet|onet\.pl|pe\.search\.yahoo\.com|ph\.search\.yahoo\.com|pl\.search\.yahoo\.com|play\.google\.com|qwant|qwant\.com|rakuten|rakuten\.co\.jp|rambler|rambler\.ru|se\.search\.yahoo\.com|search-results|search\.aol\.co\.uk|search\.aol\.com|search\.google\.com|search\.smt\.docomo\.ne\.jp|search\.ukr\.net|secureurl\.ukr\.net|seznam|seznam\.cz|sg\.search\.yahoo\.com|so\.com|sogou|sogou\.com|sp-web\.search\.auone\.jp|startsiden|startsiden\.no|suche\.aol\.de|terra|th\.search\.yahoo\.com|tr\.search\.yahoo\.com|tut\.by|tw\.search\.yahoo\.com|uk\.search\.yahoo\.com|ukr|us\.search\.yahoo\.com|virgilio|vn\.search\.yahoo\.com|wap\.sogou\.com|webmaster\.yandex\.ru|websearch\.rakuten\.co\.jp|yahoo|yahoo\.co\.jp|yahoo\.com|yandex|yandex\.by|yandex\.com|yandex\.com\.tr|yandex\.fr|yandex\.kz|yandex\.ru|yandex\.ua|y
52andex\.uz|zen\.yandex\.ru)$", "i").test(v.utmSource) || v.utmMedium.toLowerCase() === "organic"},{"name":"referral","test":(v) => new RegExp("^(?:referral|app|link)$", "i").test(v.utmMedium)},{"name":"email","test":(v) => new RegExp("^(?:email|e-mail|e_mail|e mail)$", "i").test(v.utmMedium) || new RegExp("^(?:email|e-mail|e_mail|e mail)$", "i").test(v.utmSource)},{"name":"affiliate","test":(v) => v.utmMedium.toLowerCase() === "affiliate"},{"name":"audio","test":(v) => v.utmMedium.toLowerCase() === "audio"},{"name":"sms","test":(v) => v.utmSource.toLowerCase() === "sms" || v.utmMedium.toLowerCase() === "sms"},{"name":"mobile-push-notification","test":(v) => v.utmSource.toLowerCase() === "firebase" || new RegExp("(?:.*mobile.*|.*notification.*|push$)", "i").test(v.utmMedium)}].find(i=>i.test(e))?.name??"other"}getShopifyAnalyticsId(){const e=this.getCookie("_shopify_y");if(e)return e;try{const t=this.localStorageGet("Shoplift_ClientId");if(t)return t}catch{}return null}legacyGetCookieVisitor(){const e=this.getCookie("SHOPLIFT");return e===null?null:JSON.parse(e,F)}getCookie(e){const t=this.cookie.split("; ").filter(i=>i.split("=").at(0)===e).at(0);return t===void 0?null:t.split("=").slice(1).join("=")}monitorConsentChange(){document.addEventListener("visitorConsentCollected",e=>{(async()=>await this.onConsentChange(e.detail.analyticsAllowed,!0))()}),document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>this.loadShopifyConsentApiWithRetry()):this.loadShopifyConsentApiWithRetry()}loadShopifyConsentApiWithRetry(){let e=0;const t=()=>{this.loadShopifyConsentApi()||e++<10&&window.setTimeout(t,100)};t()}loadShopifyConsentApi(){if(window.Shopify){this.log("Loading Shopify features");const e=async()=>{if(!window.Shopify){this.log("Shopify object missing... suddenly?");return}if(window.Shopify.customerPrivacy===void 0){this.log("Shopify CustomerPrivacy api still missing, trying again in 1000ms"),t=window.setTimeout(()=>{(async()=>await e())()},1e3);return}if(this.geoViaShopify){const s=window.Shopify.customerPrivacy.getRegion?.();this.resolvedRegion=typeof s=="string"?s.replace(/-/g,""):""}const i=window.Shopify.customerPrivacy.getTrackingConsent();await this.onConsentChange(window.Shopify.customerPrivacy.analyticsProcessingAllowed(),i==="yes")};let t=window.setTimeout(()=>{(async()=>await e())()},5e3);return window.Shopify.loadFeatures([{name:"consent-tracking-api",version:"0.1"}],i=>{(async()=>{if(window.clearTimeout(t),i){this.log("Error loading consent tracking",i);return}await e()})()}),!0}return!1}async onConsentChange(e,t){try{if(this.log("Consent change detected",e,t),this.state.essential.consentApproved=e,this.state.essential.hasConsentInteraction=t,!this.state.essential.consentApproved){this.state.essential.hasConsentInteraction&&(this.state.analytics.queue.length=0),this.saveState();return}this.cookie=document.cookie,this.shopifyAnalyticsId=this.getShopifyAnalyticsId(),this.saveState(),await this.syncAllEvents()}catch(i){this.log("Error syncing on consent change",i)}}isThemePreview(){return isThemePreview||themeRole!=="main"}isAppProxyPath(){const e=["/apps/","/tools/","/a/"],t=window.location.pathname;return e.some(i=>t.startsWith(i))}clearThemeBar(e,t,i){const s=structuredClone(i);this.log("Looking for theme bar"),this.waitForElement(null,"body").then(r=>this.waitForElement(r,"#preview-bar-iframe, #PBarNextFrameWrapper").then(o=>(this.log("Found theme bar"),t&&(this.log("Removing theme bar"),o.remove()),e?this.makeRequest({url:`${this.eventHost}/api/v0/logs`,method:"post",data:JSON.stringify({...this.debugState(),stateAtEvaluation:s},ee)}):Promise.resolve(null)))).catch(r=>console.error(r))}waitForElement(e,t){return new Promise(i=>{const s=document.querySelector(t);if(s){i(s);return}const r=new MutationObserver(o=>{const n=document.querySelector(t);if(n){r.disconnect(),i(n);return}});r.observe(e??document.documentElement,{childList:!0})})}setDebug(e){this.state.essential.debugMode=e,this.saveState()}log(e,...t){let i=0;const s=e.replace(/%[sdoOfF]/g,r=>{if(i>=t.length)return r;const o=t[i++];return r==="%o"||r==="%O"?JSON.stringify(o):String(o)});this.logHistory.push(`[${new Date().toISOString()}][SL] ${s}`),!(!this.state.essential.debugMode&&!this.shopliftDebug)&&console.debug(`[SL] ${e}`,...t)}debugState(){return{state:this.state,storage:{essential:this.loadLocalStorage(this.essentialSessionKey),analytics:this.loadLocalStorage(this.analyticsSessionKey)},params:{shop:this.shop,host:this.host,eventHost:this.eventHost,cssHideClass:this.cssHideClass,testConfigs:this.testConfigs,inactiveTestConfigs:this.inactiveTestConfigs,sendPageView:this.sendPageView,isShopifyMerchantCookie
52:this.getCookie("is_shopify_merchant"),themeId,url:window.location.href,isThemePreview,themeRole,gaConfig:this.gaConfig},logHistory:this.logHistory}}createViewportObserver(e,t={}){const{threshold:i=this.VIEWPORT_TRACK_THRESHOLD,triggerOnce:s=!0}=t,r=new Set;return new IntersectionObserver(o=>{o.forEach(n=>{if(n.isIntersecting&&!r.has(n.target)){const l=n.target,c=l.getAttribute(this.DATA_SL_TEST_ID);c&&(e(c,l),s&&r.add(l))}})},{threshold:i})}applyChangesWithViewport(e,t,i,s){const r=t.selectorsForViewportTracking??t.selectors,o=n=>{if(this.state.essential.visitorTests.some(h=>h.testId===n)||this.activeViewportObservers.has(n))return;const l=[];if(r.forEach(h=>{e.querySelectorAll(h.cssSelector).forEach(b=>l.push(b))}),l.length===0)return;let c=!1;const d=()=>{c||(c=!0,i(n),u.disconnect(),this.activeViewportObservers.delete(n))},u=this.createViewportObserver(()=>{d()},{triggerOnce:!0,...s});this.activeViewportObservers.set(n,u),this.log(`Created viewport observer for test ${n}, observing ${l.length} elements`),l.forEach(h=>{h.setAttribute(this.DATA_SL_TEST_ID,String(n)),u.observe(h)}),setTimeout(()=>{c||l.forEach(h=>{const p=h.getBoundingClientRect(),b=s?.threshold??this.VIEWPORT_TRACK_THRESHOLD,E=Math.min(p.bottom,window.innerHeight)-Math.max(p.top,0),S=Math.min(p.right,window.innerWidth)-Math.max(p.left,0);p.top<window.innerHeight&&p.bottom>0&&p.left<window.innerWidth&&p.right>0&&E>0&&S>0&&E>=p.height*b&&(this.log(`Price element already visible in viewport for test ${n}:`,h),d())})},100)};t.selectors.length>0&&U(e,t,()=>{}),Te(e,{testId:t.testId,hypothesisId:t.hypothesisId,selectors:r},n=>{o(n)})}applyPriceTestWithMapLookup(e,t,i,s){if(!t.priceData){this.log("No price data for hypothesis '%s'",t.id);return}this.log("Hypothesis '%s' isControl=%s, priceData has %d variants",t.id,t.isControl,t.priceData.variants.length);const r=t.priceData.variants.slice(0,3);for(const[S,C,_]of r)this.log("  Sample priceData: variant=%s, price=%d, compareAt=%d",S,C,_);const o=j(t.priceData),n=new Set;for(const S of i)if(S.priceData)for(const[C]of S.priceData.variants)n.add(C);this.log("Price test Map lookup: %d products in hypothesis, %d total products to track",o.size,n.size);const l=t.priceData,c=new WeakSet;let d=!1;const u="[data-sl-attribute-p], [data-sl-attribute-cap], [data-sl-attribute-discount]",h=S=>{if(c.has(S))return;const C=S.getAttribute("data-sl-attribute-p"),_=S.getAttribute("data-sl-attribute-cap"),T=S.getAttribute("data-sl-attribute-discount"),m=C||_||T;if(!m||!n.has(m))return;c.add(S);const y=o.get(m);y&&(this.log("Applying price for product %s: %d cents (compare at: %d cents)",m,y.priceInCents,y.compareAtPriceInCents),Le(S,m,y,l),this.log("Applied price to element for product %s",m)),!d&&!this.state.essential.visitorTests.some(w=>w.testId===e)&&(S.setAttribute(this.DATA_SL_TEST_ID,String(e)),this.setupElementViewportTracking(S,e,()=>{d||(d=!0,s(e))}))},p=()=>{const S=document.querySelectorAll(u);this.log("Scanning for price elements, found: %d",S.length),S.forEach(h)},b=new MutationObserver(S=>{for(const C of S)C.type==="childList"&&C.addedNodes.forEach(_=>{if(_.nodeType===Node.ELEMENT_NODE){const T=_;(T.hasAttribute("data-sl-attribute-p")||T.hasAttribute("data-sl-attribute-cap")||T.hasAttribute("data-sl-attribute-discount"))&&h(T),T.querySelectorAll(u).forEach(h)}}),C.type==="attributes"&&C.target instanceof Element&&h(C.target)}),E=document.body||document.documentElement;b.observe(E,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-sl-attribute-p","data-sl-attribute-cap","data-sl-attribute-discount"]}),this.log("MutationObserver started for price elements"),p(),document.readyState==="loading"&&document.addEventListener("DOMContentLoaded",()=>{this.log("DOMContentLoaded - rescanning for price elements"),p()}),setTimeout(()=>{this.log("Delayed rescan for price elements"),p()},100),setTimeout(()=>{this.log("Final rescan for price elements"),p()},500)}setupElementViewportTracking(e,t,i){const s=this.VIEWPORT_TRACK_THRESHOLD,r=e.getBoundingClientRect(),o=Math.min(r.bottom,window.innerHeight)-Math.max(r.top,0),n=Math.min(r.right,window.innerWidth)-Math.max(r.left,0);if(r.top<window.innerHeight&&r.bottom>0&&r.left<window.innerWidth&&r.right>0&&o>0&&n>0&&o>=r.height*s){this.log("Price element already visible for test %s",t),i();return}const c=new IntersectionObserver(d=>{for(const u of d)if(u.isIntersecting&&u.intersectionRatio>=s){this.log("Price element entered viewport for test %s",t),c.disconnect(),i();break}},{threshold:s});c.observe(e)}debug(){const e=this.debugState();console.log(JSON.stringify(e,ee,2))}}(async function(){window.shopliftInstance||(window.shopliftInstance=new Ze("naakbar.myshopify.com","https://app.shoplift.ai","https://events.shoplift.ai",false,false,false,{"sendEvents":false,"mode":"gtag"},false,false,1000,[],[{"id":"019db121-04e6-7096-872c-ccb86568382d","bayesianRevision":5,"status":"incompatible","hypotheses":[{"id":"019dac1c-aba6-7c41-9060-e51f1f4fc78a","type":"product","themeId":186884456752,"affix":"v2_pdp","isControl":true,"redirectPath":null},{"id":"019dac1c-aba6-7cb8-aac0-87181ac46bb9","type":"product","themeId":186884456752,"affix":"sl-8FAE07C7","isControl":false,"redirectPath":null}],"ignoreTestViewParameterEnforcement":false},{"id":"019ff7b5-7eef-71e8-a713-85c918687ea1","bayesianRevision":5,"status":"suspended","hypotheses":[{"id":"019ff7ad-12ca-7256-838f-46b82911bb91","type":"product","themeId":186884456752,"affix":"basic-units","isControl":true,"redirectPath":null},{"id":"019ff7ad-7d6e-756a-9965-6ef35510bb90","type":"product","themeId":186884456752,"affix":"basic-units-test","isControl":false,"redirectPath":null}],"ignoreTestViewParameterEnforcement":false}
52],null,false),await window.shopliftInstance.init())})();async function Qe(a,e,t,i){const s=Be({log:i});if(t)return i("[SUB-PREVIEW] A side — no overlay applied; widget renders naturally"),s;const r=a.widget.widgetType,o=e?j(e):null;let n=W(e),l=J(a,n),c=l.discountMap,d=l.maxDiscount;function u(){const f=W(e);f!==n&&(n=f,l=J(a,n),c=l.discountMap,d=l.maxDiscount,i(`[SUB-PREVIEW] scope refreshed currentProductId=${n??"n/a"}, maxDiscount=${d}`))}i(`[SUB-PREVIEW] side=B, currentProductId=${n??"n/a"}, maxDiscount=${d}`);function h(f){if(!e||!o)return null;const v=Z(o),g=v?o.get(v):void 0;return g?{formattedVariantPrice:G(g.priceInCents,e),formattedDiscounted:G(g.priceInCents*(1-f/100),e)}:null}function p(f){const v=Y(a,f);if(!v)return d;const g=D(a,"subscriptionInput"),P=g.length?g[0].selector:'input[name="rc_plan"]',A=v.querySelector(`${P}:checked`);if(A){const k=c[A.value];if(k!==void 0)return k}return d}function b(f){const v=D(a,"subscriptionDiscount");for(const g of v)if(g.selector.includes("badge")||g.selector.includes("__badge")){const P=f.querySelector(g.selector);P?.textContent&&!P.textContent.includes(`${d}%`)&&$(P,A=>N(A,d))}}function E(f,v){const g=h(v);if(!g)return;const P=D(a,"subscriptionCompareAt");for(const A of P){const k=f.querySelector(A.selector)||f.querySelector(`[part~="${A.selector}"]`);k?.textContent&&!k.textContent.includes(g.formattedVariantPrice)&&$(k,x=>/\d/.test(x)?g.formattedVariantPrice:x)}}function S(f,v){const g=h(v);if(!g)return;const P=D(a,"subscriptionPrice");for(const A of P){const k=f.querySelector(A.selector)||f.querySelector(`[part~="${A.selector}"]`);k?.textContent&&!k.textContent.includes(g.formattedDiscounted)&&$(k,x=>/\d/.test(x)?g.formattedDiscounted:x)}}function C(f){const v=D(a,"subscriptionInput"),g=v.length?v[0].selector:'input[name="rc_plan"]',P=D(a,"subscriptionPlanDiscount"),A=P.length?P[0].selector:".rc-plans-button__discount";for(const k of Array.from(f.querySelectorAll("label"))){const x=k.querySelector(g),R=k.querySelector(A);if(x&&R?.textContent){const O=c[x.value];if(O!==void 0){const V=R.textContent.match(/[\d.]+%/)?.[0];V&&V!==`${O}%`&&$(R,L=>N(L,O))}}}}function _(f){const v=f.querySelector("select");if(v)for(const g of Array.from(v.options)){const P=c[g.value];if(P!==void 0&&g.textContent){const A=g.textContent.match(/[\d.]+%/)?.[0];A&&A!==`${P}%`&&(g.textContent=N(g.textContent,P))}}}function T(f){const v=D(a,"onetimePrice");if(!v.length||!e||!o)return;const g=Z(o),P=g?o.get(g):void 0;if(!P)return;const A=G(P.priceInCents,e),k=D(a,"onetimeContainer"),x=k.length?k[0].selector:'[part~="rc-purchase-option__onetime"]',R=f.querySelector(x);if(R)for(const O of v){const V=R.querySelector(`[part~="${O.selector}"]`);V?.textContent&&!V.textContent.includes(A)&&$(V,L=>/\d/.test(L)?A:L)}}function m(f,v){const P=D(a,"subscriptionDiscount").filter(A=>A.selector.includes("benefit")||A.selector==="rc-benefits");for(const A of P){const k=f.querySelector(A.selector);if(k?.shadowRoot){for(const x of Array.from(k.shadowRoot.querySelectorAll("li")))if(x.textContent?.includes("Save")){const R=x.textContent.match(/[\d.]+%/)?.[0];R&&R!==`${v}%`&&$(x,O=>N(O,v))}}}}let y=!1;function w(){if(!y){y=!0;try{u();const f=B(a);if(!f)return;const v=p(f);b(f),E(f,v),S(f,v),T(f);const g=Y(a,f);g&&(r==="buttons"||r==="radio"?C(g):_(g)),m(f,v)}finally{y=!1}}}const I=pe({data:a,runUpdates:w});return function(){I(),s()}}const Xe=Object.freeze(Object.defineProperty({__proto__:null,subscriptionPreviewRender:Qe},Symbol.toStringTag,{value:"Module"}))})(); })("/", { suffix: "basic-bags-15-servings", type: "product" }, "main", 186884456752, false)</script>
52
53    <!-- End of Shoplift scripts -->
54
55    
55<script id="pandectes-rules">�   /* PANDECTES-GDPR: DO NOT MODIFY AUTO GENERATED CODE OF THIS SCRIPT */�   �   window.PandectesSettings = {"store":{"id":50706808986,"plan":"basic","theme":"shopify-boilerplate-v2/main","primaryLocale":"fr","adminMode":false,"headless":false,"storefrontRootDomain":"","checkoutRootDomain":"","storefrontAccessToken":""},"impressions":{"enabled":false,"timezone":"America/New_York"},"tsPublished":1779375603,"declaration":{"showPurpose":false,"showProvider":false,"declIntroText":"We use cookies to optimize website functionality, analyze the performance, and provide personalized experience to you. Some cookies are essential to make the website operate and function correctly. Those cookies cannot be disabled. In this window you can manage your preference of cookies.","showDateGenerated":true},"language":{"unpublished":[],"languageMode":"Single","fallbackLanguage":"en","languageDetection":"browser","languagesSupported":[]},"texts":{"managed":{"headerText":{"en":"We respect your privacy"},"consentText":{"en":"This website uses cookies to ensure you get the best experience."},"linkText":{"en":"Learn more"},"imprintText":{"en":"Imprint"},"googleLinkText":{"en":"Google's Privacy Terms"},"allowButtonText":{"en":"Accept"},"denyButtonText":{"en":"Decline"},"dismissButtonText":{"en":"Ok"},"leaveSiteButtonText":{"en":"Leave this site"},"preferencesButtonText":{"en":"Preferences"},"cookiePolicyText":{"en":"Cookie policy"},"preferencesPopupTitleText":{"en":"Manage consent preferences"},"preferencesPopupIntroText":{"en":"We use cookies to optimize website functionality, analyze the performance, and provide personalized experience to you. Some cookies are essential to make the website operate and function correctly. Those cookies cannot be disabled. In this window you can manage your preference of cookies."},"preferencesPopupSaveButtonText":{"en":"Save preferences"},"preferencesPopupCloseButtonText":{"en":"Close"},"preferencesPopupAcceptAllButtonText":{"en":"Accept all"},"preferencesPopupRejectAllButtonText":{"en":"Reject all"},"cookiesDetailsText":{"en":"Cookies details"},"preferencesPopupAlwaysAllowedText":{"en":"Always allowed"},"accessSectionParagraphText":{"en":"You have the right to request access to your data at any time."},"accessSectionTitleText":{"en":"Data portability"},"accessSectionAccountInfoActionText":{"en":"Personal data"},"accessSectionDownloadReportActionText":{"en":"Request export"},"accessSectionGDPRRequestsActionText":{"en":"Data subject requests"},"accessSectionOrdersRecordsActionText":{"en":"Orders"},"rectificationSectionParagraphText":{"en":"You have the right to request your data to be updated whenever you think it is appropriate."},"rectificationSectionTitleText":{"en":"Data Rectification"},"rectificationCommentPlaceholder":{"en":"Describe what you want to be updated"},"rectificationCommentValidationError":{"en":"Comment is required"},"rectificationSectionEditAccountActionText":{"en":"Request an update"},"erasureSectionTitleText":{"en":"Right to be forgotten"},"erasureSectionParagraphText":{"en":"You have the right to ask all your data to be erased. After that, you will no longer be able to access your account."},"erasureSectionRequestDeletionActionText":{"en":"Request personal data deletion"},"consentDate":{"en":"Consent date"},"consentId":{"en":"Consent ID"},"consentSectionChangeConsentActionText":{"en":"Change consent preference"},"consentSectionConsentedText":{"en":"You consented to the cookies policy of this website on"},"consentSectionNoConsentText":{"en":"You have not consented to the cookies policy of this website."},"consentSectionTitleText":{"en":"Your cookie consent"},"consentStatus":{"en":"Consent preference"},"confirmationFailureMessage":{"en":"Your request was not verified. Please try again and if problem persists, contact store owner for assistance"},"confirmationFailureTitle":{"en":"A problem occurred"},"confirmationSuccessMessage":{"en":"We will soon get back to you as to your request."},"confirmationSuccessTitle":{"en":"Your request is verified"},"guestsSupportEmailFailureMessage":{"en":"Your request was not submitted. Please try again and if problem persists, contact store owner for assistance."},"guestsSupportEmailFailureTitle":{"en":"A problem occurred"},"guestsSupportEmailPlaceholder":{"en":"E-mail address"},"guestsSupportEmailSuccessMessage":{"en":"If you are registered as a customer of this store, you will soon receive an email with instructions on how to proceed."}
55,"guestsSupportEmailSuccessTitle":{"en":"Thank you for your request"},"guestsSupportEmailValidationError":{"en":"Email is not valid"},"guestsSupportInfoText":{"en":"Please login with your customer account to further proceed."},"submitButton":{"en":"Submit"},"submittingButton":{"en":"Submitting..."},"cancelButton":{"en":"Cancel"},"declIntroText":{"en":"We use cookies to optimize website functionality, analyze the performance, and provide personalized experience to you. Some cookies are essential to make the website operate and function correctly. Those cookies cannot be disabled. In this window you can manage your preference of cookies."},"declName":{"en":"Name"},"declPurpose":{"en":"Purpose"},"declType":{"en":"Type"},"declRetention":{"en":"Retention"},"declProvider":{"en":"Provider"},"declFirstParty":{"en":"First-party"},"declThirdParty":{"en":"Third-party"},"declSeconds":{"en":"seconds"},"declMinutes":{"en":"minutes"},"declHours":{"en":"hours"},"declWeeks":{"en":"week(s)"},"declDays":{"en":"days"},"declMonths":{"en":"months"},"declYears":{"en":"years"},"declSession":{"en":"Session"},"declDomain":{"en":"Domain"},"declPath":{"en":"Path"}}
55,"categories":{"strictlyNecessaryCookiesTitleText":{"en":"Strictly necessary cookies"},"strictlyNecessaryCookiesDescriptionText":{"en":"These cookies are essential in order to enable you to move around the website and use its features, such as accessing secure areas of the website. The website cannot function properly without these cookies."},"functionalityCookiesTitleText":{"en":"Functional cookies"},"functionalityCookiesDescriptionText":{"en":"These cookies enable the site to provide enhanced functionality and personalisation. They may be set by us or by third party providers whose services we have added to our pages. If you do not allow these cookies then some or all of these services may not function properly."},"performanceCookiesTitleText":{"en":"Performance cookies"},"performanceCookiesDescriptionText":{"en":"These cookies enable us to monitor and improve the performance of our website. For example, they allow us to count visits, identify traffic sources and see which parts of the site are most popular."},"targetingCookiesTitleText":{"en":"Targeting cookies"},"targetingCookiesDescriptionText":{"en":"These cookies may be set through our site by our advertising partners. They may be used by those companies to build a profile of your interests and show you relevant adverts on other sites.    They do not store directly personal information, but are based on uniquely identifying your browser and internet device. If you do not allow these cookies, you will experience less targeted advertising."},"unclassifiedCookiesTitleText":{"en":"Unclassified cookies"},"unclassifiedCookiesDescriptionText":{"en":"Unclassified cookies are cookies that we are in the process of classifying, together with the providers of individual cookies."}},"auto":{}},"library":{"previewMode":false,"fadeInTimeout":0,"defaultBlocked":7,"showLink":true,"showImprintLink":false,"showGoogleLink":false,"enabled":true,"cookie":{"expiryDays":365,"secure":true,"domain":""},"dismissOnScroll":false,"dismissOnWindowClick":false,"dismissOnTimeout":false,"palette":{"popup":{"background":"#FFFFFF","backgroundForCalculations":{"a":1,"b":255,"g":255,"r":255},"text":"#000000"},"button":{"background":"transparent","backgroundForCalculations":{"a":1,"b":255,"g":255,"r":255},"text":"#000000","textForCalculation":{"a":1,"b":0,"g":0,"r":0},"border":"#000000"}},"content":{"href":"https://tonyricher.myshopify.com/policies/privacy-policy","imprintHref":"/","close":"&#10005;","target":"","logo":"<img class=\"cc-banner-logo\" style=\"max-height: 40px;\" src=\"https://cdn.shopify.com/s/files/1/0507/0680/8986/t/19/assets/pandectes-logo.png?v=1779375602?v=1779375603638\" alt=\"Cookie banner\" />"},"window":"<div role=\"dialog\" aria-label=\"{{header}}\" aria-describedby=\"cookieconsent:desc\" id=\"pandectes-banner\" class=\"cc-window-wrapper cc-top-wrapper\"><div class=\"pd-cookie-banner-window cc-window {{classes}}\">{{children}}</div></div>","compliance":{"opt-both":"<div class=\"cc-compliance cc-highlight\">{{deny}}{{allow}}</div>"},"type":"opt-both","layouts":{"basic":"{{logo}}{{messagelink}}{{compliance}}{{close}}"},"position":"top","theme":"wired","revokable":true,"animateRevokable":false,"revokableReset":false,"revokableLogoUrl":"https://cdn.shopify.com/s/files/1/0507/0680/8986/t/19/assets/pandectes-reopen-logo.png?v=1779375603","revokablePlacement":"bottom-left","revokableMarginHorizontal":15,"revokableMarginVertical":15,"static":false,"autoAttach":true,"hasTransition":true,"blacklistPage":[""],"elements":{"close":"<button aria-label=\"Close\" type=\"button\" class=\"cc-close\">{{close}}</button>","dismiss":"<button type=\"button\" class=\"cc-btn cc-btn-decision cc-dismiss\">{{dismiss}}</button>","allow":"<button type=\"button\" class=\"cc-btn cc-btn-decision cc-allow\">{{allow}}</button>","deny":"<button type=\"button\" class=\"cc-btn cc-btn-decision cc-deny\">{{deny}}</button>","preferences":"<button type=\"button\" class=\"cc-btn cc-settings\" aria-controls=\"pd-cp-preferences\" onclick=\"Pandectes.fn.openPreferences()\">{{preferences}}</button>"}},"geolocation":{"brOnly":false,"caOnly":false,"chOnly":false,"euOnly":false,"jpOnly":false,"thOnly":false,"canadaOnly":false,"canadaLaw25":false,"canadaPipeda":false,"globalVisibility":true},"dsr":{"guestsSupport":false,"accessSectionDownloadReportAuto":false},"banner":{"resetTs":1706439519,"extraCss":"        .cc-banner-logo {max-width: 24em!important;}    @media(min-width: 768px) {.cc-window.cc-floating{max-width: 24em!important;width: 24em!important;}}    .cc-message, .pd-cookie-banner-window .cc-header, .cc-logo {text-align: left}    .cc-window-wrapper{z-index: 2147483647;}    .cc-window{z-index: 2147483647;font-family: inherit;}    .pd-cookie-banner-window .cc-header{font-family: inherit;}    .pd-cp-ui{font-family: inherit; background-color: #FFFFFF;color:#000000;}    button.pd-cp-btn, a.pd-cp-btn{}    input + .pd-cp-preferences-slider{background-color: rgba(0, 0, 0, 0.3)}    .pd-cp-scrolling-section::-webkit-scrollbar{background-color: rgba(0, 0, 0, 0.3)}    input:checked + .pd-cp-preferences-slider{background-color: rgba(0, 0, 0, 1)}    .pd-cp-scrolling-section::-webkit-scrollbar-thumb {background-color: rgba(0, 0, 0, 1)}    .pd-cp-ui-close{color:#000000;}    .pd-cp-preferences-slider:before{background-color: #FFFFFF}    .pd-cp-title:before {border-color: #000000!important}    .pd-cp-preferences-slider{background-color:#000000}    .pd-cp-toggle{color:#000000!important}    @media(max-width:699px) {.pd-cp-ui-close-top svg {fill: #000000}}    .pd-cp-toggle:hover,.pd-cp-toggle:visited,.pd-cp-toggle:active{color:#000000!important}    .pd-cookie-banner-window {box-shadow: 0 0 18px rgb(0 0 0 / 20%);}  ","customJavascript":{},"showPoweredBy":false,"logoHeight":40,"hybridStrict":false,"cookiesBlockedByDefault":"7","isActive":false,"implicitSavePreferences":false,"cookieIcon":false,"blockBots":false,"showCookiesDetails":true,"hasTransition":true,"blockingPage":false,"showOnlyLandingPage":false,"leaveSiteUrl":"https://www.google.com","linkRespectStoreLang":false},"cookies":{"0":[{"name":"keep_alive","type":"http","domain":"tonyricher.myshopify.com","path":"/","provider":"Shopify","firstParty":true,"retention":"30 minute(s)","session":false,"expires":30,"unit":"declMinutes","purpose":{"en":"Used in connection with buyer localization."}},{"name":"secure_customer_sig","type":"http","domain":"tonyricher.myshopify.com","path":"/","provider":"Shopify","firstParty":true,"retention":"1 year(s)","session":false,"expires":1,"unit":"declYears","purpose":{"en":"Used in connection with customer login."}},{"name":"localization","type":"http","domain":"tonyricher.myshopify.com","path":"/","provider":"Shopify","firstParty":true,"retention":"1 year(s)","session":false,"expires":1,"unit":"declYears","purpose":{"en":"Shopify store localization"}},{"name":"cart_currency","type":"http","domain":"tonyricher.myshopify.com","path":"/","provider":"Shopify","firstParty":true,"retention":"2 ","session":false,"expires":2,"unit":"declSession","purpose":{"en":"The cookie is necessary for the secure checkout and payment function on the website. This function is provided by shopify.com."}},{"name":"_cmp_a","type":"http","domain":".tonyricher.myshopify.com","path":"/","provider":"Shopify","firstParty":true,"retention":"1 day(s)","session":false,"expires":1,"unit":"declDays","purpose":{"en":"Used for managing customer privacy settings."}}],"1":[],"2":[{"name":"_shopify_y","type":"http","domain":".tonyricher.myshopify.com","path":"/","provider":"Shopify","firstParty":true,"retention":"1 year(s)","session":false,"expires":1,"unit":"declYears","purpose":{"en":"Shopify analytics."}}
55,{"name":"_shopify_s","type":"http","domain":".tonyricher.myshopify.com","path":"/","provider":"Shopify","firstParty":true,"retention":"30 minute(s)","session":false,"expires":30,"unit":"declMinutes","purpose":{"en":"Shopify analytics."}},{"name":"_orig_referrer","type":"http","domain":".tonyricher.myshopify.com","path":"/","provider":"Shopify","firstParty":true,"retention":"2 ","session":false,"expires":2,"unit":"declSession","purpose":{"en":"Tracks landing pages."}},{"name":"_landing_page","type":"http","domain":".tonyricher.myshopify.com","path":"/","provider":"Shopify","firstParty":true,"retention":"2 ","session":false,"expires":2,"unit":"declSession","purpose":{"en":"Tracks landing pages."}}],"4":[],"8":[]},"blocker":{"isActive":false,"googleConsentMode":{"id":"","analyticsId":"","isActive":false,"adStorageCategory":4,"analyticsStorageCategory":2,"personalizationStorageCategory":1,"functionalityStorageCategory":1,"customEvent":true,"securityStorageCategory":0,"redactData":true,"urlPassthrough":false,"dataLayerProperty":"dataLayer"},"facebookPixel":{"id":"","isActive":false,"ldu":false},"amazon":{},"microsoft":{},"rakuten":{"isActive":false,"cmp":false,"ccpa":false},"gpcIsActive":false,"clarity":{},"defaultBlocked":7,"patterns":{"whiteList":[],"blackList":{"1":[],"2":[],"4":[],"8":[]},"iframesWhiteList":[],"iframesBlackList":{"1":[],"2":[],"4":[],"8":[]},"beaconsWhiteList":[],"beaconsBlackList":{"1":[],"2":[],"4":[],"8":[]}}}}�   �   !function(){"use strict";window.PandectesRules=window.PandectesRules||{},window.PandectesRules.manualBlacklist={1:[],2:[],4:[]},window.PandectesRules.blacklistedIFrames={1:[],2:[],4:[]},window.PandectesRules.blacklistedCss={1:[],2:[],4:[]},window.PandectesRules.blacklistedBeacons={1:[],2:[],4:[]};const e="javascript/blocked",t=["US-CA","US-VA","US-CT","US-UT","US-CO","US-MT","US-TX","US-OR","US-IA","US-NE","US-NH","US-DE","US-NJ","US-TN","US-MN","US-RI","US-IN","US-KY"],n=["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IE","IT","LV","LT","LU","MT","NL","PL","PT","RO","SK","SI","ES","SE","GB","LI","NO","IS"];function a(e){return new RegExp(e.replace(/[/\\.+?$()]/g,"\\$&").replace("*","(.*)"))}const o=(e,t="log")=>{new URLSearchParams(window.location.search).get("log")&&console[t](`PandectesRules: ${e}`)};function s(e){const t=document.createElement("script");t.async=!0,t.src=e,document.head.appendChild(t)}const r=window.PandectesRulesSettings||window.PandectesSettings,i=function(){if(void 0!==window.dataLayer&&Array.isArray(window.dataLayer)){if(window.dataLayer.some((e=>"pandectes_full_scan"===e.event)))return!0}return!1}(),c=((e="_pandectes_gdpr")=>{const t=("; "+document.cookie).split("; "+e+"=");let n;if(t.length<2)n={};else{const e=t.pop().split(";");n=window.atob(e.shift())}const a=(e=>{try{return JSON.parse(e)}catch(e){return!1}})(n);return!1!==a?a:n})(),{banner:{isActive:d},blocker:{defaultBlocked:l,patterns:u}}=r,g=c&&null!==c.preferences&&void 0!==c.preferences?c.preferences:null,p=i?0:d?null===g?l:g:0,f={1:!(1&p),2:!(2&p),4:!(4&p)},{blackList:w,whiteList:h,iframesBlackList:y,iframesWhiteList:m,beaconsBlackList:b,beaconsWhiteList:_}=u,k={blackList:[],whiteList:[],iframesBlackList:{1:[],2:[],4:[],8:[]},iframesWhiteList:[],beaconsBlackList:{1:[],2:[],4:[],8:[]},beaconsWhiteList:[]};[1,2,4].map((e=>{f[e]||(k.blackList.push(...w[e].length?w[e].map(a):[]),k.iframesBlackList[e]=y[e].length?y[e].map(a):[],k.beaconsBlackList[e]=b[e].length?b[e].map(a):[])})),k.whiteList=h.length?h.map(a):[],k.iframesWhiteList=m.length?m.map(a):[],k.beaconsWhiteList=_.length?_.map(a):[];const v={scripts:[],iframes:{1:[],2:[],4:[]},beacons:{1:[],2:[],4:[]},css:{1:[],2:[],4:[]}},S=(t,n)=>t&&(!n||n!==e)&&(!k.blackList||k.blackList.some((e=>e.test(t))))&&(!k.whiteList||k.whiteList.every((e=>!e.test(t)))),L=(e,t)=>{const n=k.iframesBlackList[t],a=k.iframesWhiteList;return e&&(!n||n.some((t=>t.test(e))))&&(!a||a.every((t=>!t.test(e))))},C=(e,t)=>{const n=k.beaconsBlackList[t],a=k.beaconsWhiteList;return e&&(!n||n.some((t=>t.test(e))))&&(!a||a.every((t=>!t.test(e))))},A=new MutationObserver((e=>{for(let t=0;t<e.length;t++){const{addedNodes:n}=e[t];for(let e=0;e<n.length;e++){const t=n[e],a=t.dataset&&t.dataset.cookiecategory;if(1===t.nodeType&&"LINK"===t.tagName){const e=t.dataset&&t.dataset.href;if(e&&a)switch(a){case"functionality":case"C0001":v.css[1].push(e);break;case"performance":case"C0002":v.css[2].push(e);break;case"targeting":case"C0003":v.css[4].push(e)}}}}}));var E=new MutationObserver((t=>{for(let n=0;n<t.length;n++){const{addedNodes:a}=t[n];for(let t=0;t<a.length;t++){const n=a[t],s=n.src||n.dataset&&n.dataset.src,r=n.dataset&&n.dataset.cookiecategory;if(1===n.nodeType&&"IFRAME"===n.tagName){if(s){let e=!1;L(s,1)||"functionality"===r||"C0001"===r?(e=!0,v.iframes[1].push(s)):L(s,2)||"performance"===r||"C0002"===r?(e=!0,v.iframes[2].push(s)):(L(s,4)||"targeting"===r||"C0003"===r)&&(e=!0,v.iframes[4].push(s)),e&&(n.removeAttribute("src"),n.setAttribute("data-src",s))}}else if(1===n.nodeType&&"IMG"===n.tagName){if(s){let e=!1;C(s,1)?(e=!0,v.beacons[1].push(s)):C(s,2)?(e=!0,v.beacons[2].push(s)):C(s,4)&&(e=!0,v.beacons[4].push(s)),e&&(n.removeAttribute("src"),n.setAttribute("data-src",s))}}
55else if(1===n.nodeType&&"SCRIPT"===n.tagName){const t=n.type;let a=!1;if(S(s,t)?(o(`rule blocked: ${s}`),a=!0):s&&r?o(`manually blocked @ ${r}: ${s}`):r&&o(`manually blocked @ ${r}: inline code`),a){v.scripts.push([n,t]),n.type=e;const a=function(t){n.getAttribute("type")===e&&t.preventDefault(),n.removeEventListener("beforescriptexecute",a)};n.addEventListener("beforescriptexecute",a),n.parentElement&&n.parentElement.removeChild(n)}}}}}));const P=document.createElement,$={src:Object.getOwnPropertyDescriptor(HTMLScriptElement.prototype,"src"),type:Object.getOwnPropertyDescriptor(HTMLScriptElement.prototype,"type")};window.PandectesRules.unblockCss=e=>{const t=v.css[e]||[];t.length&&o(`Unblocking CSS for ${e}`),t.forEach((e=>{const t=document.querySelector(`link[data-href^="${e}"]`);t.removeAttribute("data-href"),t.href=e})),v.css[e]=[]},window.PandectesRules.unblockIFrames=e=>{const t=v.iframes[e]||[];t.length&&o(`Unblocking IFrames for ${e}`),k.iframesBlackList[e]=[],t.forEach((e=>{const t=document.querySelector(`iframe[data-src^="${e}"]`);t.removeAttribute("data-src"),t.src=e})),v.iframes[e]=[]},window.PandectesRules.unblockBeacons=e=>{const t=v.beacons[e]||[];t.length&&o(`Unblocking Beacons for ${e}`),k.beaconsBlackList[e]=[],t.forEach((e=>{const t=document.querySelector(`img[data-src^="${e}"]`);t.removeAttribute("data-src"),t.src=e})),v.beacons[e]=[]},window.PandectesRules.unblockInlineScripts=function(e){const t=1===e?"functionality":2===e?"performance":"targeting",n=document.querySelectorAll(`script[type="javascript/blocked"][data-cookiecategory="${t}"]`);o(`unblockInlineScripts: ${n.length} in ${t}`),n.forEach((function(e){const t=document.createElement("script");for(let n=0;n<e.attributes.length;n++){const a=e.attributes[n];"type"!==a.name&&"data-cookiecategory"!==a.name&&t.setAttribute(a.name,a.value)}t.type="text/javascript",e.hasAttribute("src")?t.src=e.getAttribute("src"):t.textContent=e.textContent,e.parentNode.replaceChild(t,e)}))},window.PandectesRules.unblockInlineCss=function(e){const t=1===e?"functionality":2===e?"performance":"targeting",n=document.querySelectorAll(`link[data-cookiecategory="${t}"]`);o(`unblockInlineCss: ${n.length} in ${t}`),n.forEach((function(e){e.href=e.getAttribute("data-href")}))},window.PandectesRules.unblock=function(e){e.length<1?(k.blackList=[],k.whiteList=[],k.iframesBlackList=[],k.iframesWhiteList=[]):(k.blackList&&(k.blackList=k.blackList.filter((t=>e.every((e=>"string"==typeof e?!t.test(e):e instanceof RegExp?t.toString()!==e.toString():void 0))))),k.whiteList&&(k.whiteList=[...k.whiteList,...e.map((e=>{if("string"==typeof e){const t=".*"+a(e)+".*";if(k.whiteList.every((e=>e.toString()!==t.toString())))return new RegExp(t)}else if(e instanceof RegExp&&k.whiteList.every((t=>t.toString()!==e.toString())))return e;return null})).filter(Boolean)]));let t=0;
55[...v.scripts].forEach((([e,n],a)=>{if(function(e){const t=e.getAttribute("src");return k.blackList&&k.blackList.every((e=>!e.test(t)))||k.whiteList&&k.whiteList.some((e=>e.test(t)))}(e)){const o=document.createElement("script");for(let t=0;t<e.attributes.length;t++){let n=e.attributes[t];"src"!==n.name&&"type"!==n.name&&o.setAttribute(n.name,e.attributes[t].value)}o.setAttribute("src",e.src),o.setAttribute("type",n||"application/javascript"),document.head.appendChild(o),v.scripts.splice(a-t,1),t++}})),0==k.blackList.length&&0===k.iframesBlackList[1].length&&0===k.iframesBlackList[2].length&&0===k.iframesBlackList[4].length&&0===k.beaconsBlackList[1].length&&0===k.beaconsBlackList[2].length&&0===k.beaconsBlackList[4].length&&(o("Disconnecting observers"),E.disconnect(),A.disconnect())};const{store:{adminMode:T,headless:B,storefrontRootDomain:R,checkoutRootDomain:I,storefrontAccessToken:O},banner:{isActive:U},blocker:z}=r,{defaultBlocked:D}=z;U&&function(e){if(window.Shopify&&window.Shopify.customerPrivacy)return void e();let t=null;window.Shopify&&window.Shopify.loadFeatures&&window.Shopify.trackingConsent?e():t=setInterval((()=>{window.Shopify&&window.Shopify.loadFeatures&&(clearInterval(t),window.Shopify.loadFeatures([{name:"consent-tracking-api",version:"0.1"}],(t=>{t?o("Shopify.customerPrivacy API - failed to load"):(o(`shouldShowBanner() -> ${window.Shopify.trackingConsent.shouldShowBanner()} | saleOfDataRegion() -> ${window.Shopify.trackingConsent.saleOfDataRegion()}`),e())})))}),10)}((()=>{!function(){const e=window.Shopify.trackingConsent;if(!1!==e.shouldShowBanner()||null!==g||7!==D)try{const t=T&&!(window.Shopify&&window.Shopify.AdminBarInjector);let n={preferences:!(1&p)||i||t,analytics:!(2&p)||i||t,marketing:!(4&p)||i||t};B&&(n.headlessStorefront=!0,n.storefrontRootDomain=R?.length?R:window.location.hostname,n.checkoutRootDomain=I?.length?I:`checkout.${window.location.hostname}`,n.storefrontAccessToken=O?.length?O:""),e.firstPartyMarketingAllowed()===n.marketing&&e.analyticsProcessingAllowed()===n.analytics&&e.preferencesProcessingAllowed()===n.preferences||e.setTrackingConsent(n,(function(e){e&&e.error?o("Shopify.customerPrivacy API - failed to setTrackingConsent"):o(`setTrackingConsent(${JSON.stringify(n)})`)}))}catch(e){o("Shopify.customerPrivacy API - exception")}}(),function(){if(B){const e=window.Shopify.trackingConsent,t=e.currentVisitorConsent();if(navigator.globalPrivacyControl&&""===t.sale_of_data){const t={sale_of_data:!1,headlessStorefront:!0};t.storefrontRootDomain=R?.length?R:window.location.hostname,t.checkoutRootDomain=I?.length?I:`checkout.${window.location.hostname}`,t.storefrontAccessToken=O?.length?O:"",e.setTrackingConsent(t,(function(e){e&&e.error?o(`Shopify.customerPrivacy API - failed to setTrackingConsent({${JSON.stringify(t)})`):o(`setTrackingConsent(${JSON.stringify(t)})`)}))}}}()}));const N="[Pandectes :: Google Consent Mode debug]:";function j(...e){const t=e[0],n=e[1],a=e[2];if("consent"!==t)return"config"===t?"config":void 0;const{ad_storage:o,ad_user_data:s,ad_personalization:r,functionality_storage:i,analytics_storage:c,personalization_storage:d,security_storage:l}=a,u={Command:t,Mode:n,ad_storage:o,ad_user_data:s,ad_personalization:r,functionality_storage:i,analytics_storage:c,personalization_storage:d,security_storage:l};return console.table(u),"default"===n&&("denied"===o&&"denied"===s&&"denied"===r&&"denied"===i&&"denied"===c&&"denied"===d||console.warn(`${N} all types in a "default" command should be set to "denied" except for security_storage that should be set to "granted"`)),n}let M=!1,x=!1;function q(e){e&&("default"===e?(M=!0,x&&console.warn(`${N} "default" command was sent but there was already an "update" command before it.`)):"update"===e?(x=!0,M||console.warn(`${N} "update" command was sent but there was no "default" command before it.`)):"config"===e&&(M||console.warn(`${N} a tag read consent state before a "default" command was sent.`)))}function F(e){return null==e?[]:Array.isArray(e)?e:Array.from(e)}const{banner:{isActive:W,hybridStrict:H},geolocation:{caOnly:G=!1,euOnly:J=!1,brOnly:K=!1,jpOnly:V=!1,thOnly:Z=!1,chOnly:Y=!1,zaOnly:X=!1,canadaOnly:Q=!1,globalVisibility:ee=!0},blocker:{defaultBlocked:te=7,googleConsentMode:{isActive:ne,onlyGtm:ae=!1,id:oe="",analyticsId:se="",adwordsId:re="",redactData:ie,urlPassthrough:ce,adStorageCategory:de,analyticsStorageCategory:le,functionalityStorageCategory:ue,personalizationStorageCategory:ge,securityStorageCategory:pe,dataLayerProperty:fe="dataLayer",waitForUpdate:we=0,useNativeChannel:he=!1,debugMode:ye=!1}}}=r;function me(){window[fe].push(arguments)}window[fe]=window[fe]||[];const be={hasInitialized:!1,useNativeChannel:!1,ads_data_redaction:!1,url_passthrough:!1,data_layer_property:"dataLayer",storage:{ad_storage:"granted",ad_user_data:"granted",ad_personalization:"granted",analytics_storage:"granted",functionality_storage:"granted",personalization_storage:"granted",security_storage:"granted"}};if(W&&ne)if(ye&&(_e=fe||"dataLayer",window[_e].forEach((e=>{q(j(...F(e)))})),window[_e].push=function(...e){return q(j(...F(e[0]))),Array.prototype.push.apply(this,e)}),ae){const e="https://www.googletagmanager.com";if(oe.length){const t=oe.split(",");window[be.data_layer_property].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});for(let n=0;n<t.length;n++){const a="dataLayer"!==be.data_layer_property?`&l=${be.data_layer_property}`:"";s(`${e}/gtm.js?id=${t[n].trim()}${a}`)}}}else{const e=0===(te&de)?"granted":"denied",a=0===(te&le)?"granted":"denied",o=0===(te&ue)?"granted":"denied",r=0===(te&ge)?"granted":"denied",i=0===(te&pe)?"granted":"denied";be.hasInitialized=!0,be.useNativeChannel=he,be.url_passthrough=ce,be.ads_data_redaction="denied"===e&&ie,be.storage.ad_storage=e,be.storage.ad_user_data=e,be.storage.ad_personalization=e,be.storage.analytics_storage=a,be.storage.functionality_storage=o,be.storage.personalization_storage=r,be.storage.security_storage=i,be.data_layer_property=fe||"dataLayer",me("set","developer_id.dMTZkMj",!0),be.ads_data_redaction&&me("set","ads_data_redaction",be.ads_data_redaction),be.url_passthrough&&me("set","url_passthrough",be.url_passthrough),function(){const e=p!==te?{wait_for_update:we||500}:we?{wait_for_update:we}:{};ee&&!H?me("consent","default",{...be.storage,...e}):(me("consent","default",{...be.storage,...e,region:[...J||H?n:[],...G&&!H?t:[],...K&&!H?["BR"]:[],...V&&!H?["JP"]:[],...!1===Q||H?[]:["CA"],...Z&&!H?["TH"]:[],...Y&&!H?["CH"]:[],...X&&
55!H?["ZA"]:[]]}),me("consent","default",{ad_storage:"granted",ad_user_data:"granted",ad_personalization:"granted",analytics_storage:"granted",functionality_storage:"granted",personalization_storage:"granted",security_storage:"granted",...e}));if(null!==g){const e=0===(p&de)?"granted":"denied",t=0===(p&le)?"granted":"denied",n=0===(p&ue)?"granted":"denied",a=0===(p&ge)?"granted":"denied",o=0===(p&pe)?"granted":"denied";be.storage.ad_storage=e,be.storage.ad_user_data=e,be.storage.ad_personalization=e,be.storage.analytics_storage=t,be.storage.functionality_storage=n,be.storage.personalization_storage=a,be.storage.security_storage=o,me("consent","update",be.storage)}me("js",new Date);const a="https://www.googletagmanager.com";if(oe.length){const e=oe.split(",");window[be.data_layer_property].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});for(let t=0;t<e.length;t++){const n="dataLayer"!==be.data_layer_property?`&l=${be.data_layer_property}`:"";s(`${a}/gtm.js?id=${e[t].trim()}${n}`)}}if(se.length){const e=se.split(",");for(let t=0;t<e.length;t++){const n=e[t].trim();n.length&&(s(`${a}
55/gtag/js?id=${n}`),me("config",n,{send_page_view:!be.useNativeChannel}))}}if(re.length){const e=re.split(",");for(let t=0;t<e.length;t++){const n=e[t].trim();n.length&&(s(`${a}/gtag/js?id=${n}`),me("config",n,{allow_enhanced_conversions:!0}))}}}()}var _e;function ke(e,t,n=100,a=5e3){const o=e===window&&t.startsWith("window.")?t.substring(7):t;return new Promise(((s,r)=>{let i=null;const c=()=>{i&&clearTimeout(i)};(()=>{const d=Date.now(),l=()=>{const u=function(e,t){if(!t)return e;if(null==e)return;return t.split(".").reduce(((e,t)=>{if(null!=e)return e[t]}),e)}(e,o);return null!=u?(c(),s({value:u})):Date.now()-d>=a?(c(),r(new Error(`Property path "${t}" not found within ${a}ms.`))):void(i=setTimeout(l,n))};l()})()}))}const{blocker:{klaviyoIsActive:ve,googleConsentMode:{adStorageCategory:Se}}}=r;ve&&window.addEventListener("PandectesEvent_OnConsent",(function(e){const{preferences:t,consentType:n}=e.detail;if(null!=t&&"default"!==n){const e=0===(t&Se)?"granted":"denied";ke(window,"klaviyo").then((()=>{const t=["identify",{ad_personalization:e,ad_user_data:e}];window.klaviyo.push(t)})).catch((()=>{console.warn("Klaviyo object not found on window")}))}}));const{banner:{revokableTrigger:Le}}=r;if(Le){const e=async()=>{for await(let e of((e,t=1e3,n=1e4)=>{const a=new WeakMap;return{async*[Symbol.asyncIterator](){const o=Date.now();for(;Date.now()-o<n;){const n=document.querySelectorAll(e);for(const e of n)a.has(e)||(a.set(e,!0),yield e);await new Promise((e=>setTimeout(e,t)))}}}})('a[href*="reopenbanner" i]'))e.onclick=e=>{e.preventDefault(),window.Pandectes.fn.revokeConsent()}};"loading"===document.readyState?window.addEventListener("DOMContentLoaded",e):e()}const{banner:{isActive:Ce},blocker:{defaultBlocked:Ae=7,microsoft:{isActive:Ee,uetTags:Pe,dataLayerProperty:$e="uetq"}={isActive:!1,uetTags:"",dataLayerProperty:"uetq"},clarity:{isActive:Te,id:Be}={isActive:!1,id:""}}}=r,Re={hasInitialized:!1,data_layer_property:"uetq",storage:{ad_storage:"granted"}};if(Ce&&Ee){if(function(e,t,n){const a=new Date;a.setTime(a.getTime()+24*n*60*60*1e3);const o="expires="+a.toUTCString();document.cookie=`${e}=${t}; ${o}; path=/; secure; samesite=strict`}("_uetmsdns","0",365),Pe.length){const e=Pe.split(",");for(let t=0;t<e.length;t++)e[t].trim().length&&Me(e[t])}const e=4&Ae?"denied":"granted";if(Re.hasInitialized=!0,Re.storage.ad_storage=e,window[$e]=window[$e]||[],window[$e].push("consent","default",Re.storage),null!==g){const e=4&p?"denied":"granted";Re.storage.ad_storage=e,window[$e].push("consent","update",Re.storage)}window.addEventListener("PandectesEvent_OnConsent",(e=>{["new","revoke"].includes(e.detail?.consentType)&&(4&e.detail?.preferences?window[$e].push("consent","update",{ad_storage:"denied"}):window[$e].push("consent","update",{ad_storage:"granted"}))}))}var Ie,Oe,Ue,ze,De,Ne,je;function Me(e){const t=document.createElement("script");t.type="text/javascript",t.async=!0,t.src="//bat.bing.com/bat.js",t.onload=function(){const t={ti:e,cookieFlags:"SameSite=None;Secure"};t.q=window[$e],window[$e]=new UET(t),window[$e].push("pageLoad")},document.head.appendChild(t)}Te&&Ce&&(Be.length&&(Ie=window,Oe=document,ze="script",De=Be,Ie[Ue="clarity"]=Ie[Ue]||function(){(Ie[Ue].q=Ie[Ue].q||[]).push(arguments)},(Ne=Oe.createElement(ze)).async=1,Ne.src="https://www.clarity.ms/tag/"+De,(je=Oe.getElementsByTagName(ze)[0]).parentNode.insertBefore(Ne,je)),window.addEventListener("PandectesEvent_OnConsent",(e=>{["new","revoke"].includes(e.detail?.consentType)&&"function"==typeof window.clarity&&(2&e.detail?.preferences?window.clarity("consent",!1):window.clarity("consent"))})));(r?.blocker?.amazon?.enabled??!1)&&((()=>{if(window.amznConsent||document.querySelector("script[data-amzn-consent]"))return;const e=document.createElement("script");e.type="text/javascript",e.async=!0,e.src="https://c.amazon-adsystem.com/aat/amzn-consent.js",e.dataset.amznConsent="true",document.head.appendChild(e)})(),window.addEventListener("PandectesEvent_OnConsent",(function(e){const{preferences:t}=e.detail;if(null!=t){const e=!(4&t);ke(window,"amznConsent").then((({value:t})=>{let n=window?.Shopify?.customerPrivacy?.getRegion();n?.length>2&&(n=n.substr(0,2));
55const a=t();n&&2==n.length&&a.setCountryCode(n),a.setEnableAdStorage(e).setEnableUserData(e).build()})).catch((e=>{console.log(e),console.warn("window.amznConsent not found")}))}}))),window.PandectesRules.gcm=be;const{banner:{isActive:xe},blocker:{isActive:qe}}=r;o(`Prefs: ${p} | Banner: ${xe?"on":"off"} | Blocker: ${qe?"on":"off"}`);const Fe=null===g&&/\/checkouts\//.test(window.location.pathname);0!==p&&!1===i&&qe&&!Fe&&(o("Blocker will execute"),document.createElement=function(...t){if("script"!==t[0].toLowerCase())return P.bind?P.bind(document)(...t):P;const n=P.bind(document)(...t);try{Object.defineProperties(n,{src:{...$.src,set(t){S(t,n.type)&&$.type.set.call(this,e),$.src.set.call(this,t)}},type:{...$.type,get(){const t=$.type.get.call(this);return t===e||S(this.src,t)?null:t},set(t){const a=S(n.src,n.type)?e:t;$.type.set.call(this,a)}}}),n.setAttribute=function(t,a){if("type"===t){const t=S(n.src,n.type)?e:a;$.type.set.call(n,t)}else"src"===t?(S(a,n.type)&&$.type.set.call(n,e),$.src.set.call(n,a)):HTMLScriptElement.prototype.setAttribute.call(n,t,a)}}catch(e){console.warn("PandectesRules: unable to prevent script execution for script src ",n.src,".\n",'A likely cause would be because you are using a third-party browser extension that monkey patches the "document.createElement" function.')}return n},E.observe(document.documentElement,{childList:!0,subtree:!0}),A.observe(document.documentElement,{childList:!0,subtree:!0}))}();
56�</script>
vendor: 72 bytes, lines 56-59
56
57<script
58    async
59    src="https://www.googletagmanager.com/gtag/js?id=
59AW-6318682449
vendor: 49 bytes, lines 59-62
59"
60    data-cookiecategory="C0003"
61  ></script>
62  
62<script data-cookiecategory="C0003">
63    
vendor: 152 bytes, lines 63-68
63window.dataLayer = window.dataLayer || [];
64    function gtag() {
65      dataLayer.push(arguments);
66    }
67    gtag('js', new Date());
68    gtag('config', "
68AW-6318682449
vendor: 6 bytes, lines 68-69
68");
69  
69</script>
69<script type="text/plain" data-usercentrics="Microsoft Clarity">
70  (function (c, l, a, r, i, t, y) {
71    c[a] =
72      c[a] ||
73      function () {
74        (c[a].q = c[a].q || []).push(arguments);
75      };
76    t = l.createElement(r);
77    t.async = 1;
78    t.src = 'https://www.clarity.ms/tag/' + i;
79    y = l.getElementsByTagName(r)[0];
80    y.parentNode.insertBefore(t, y);
81  })(window, document, 'clarity', 'script', 'xxnoxwwyae');
82</script>
82
83<meta charset="utf-8">
84    <meta name="viewport" content="width=device-width,initial-scale=1">
85    <meta name="theme-color" content="#000000"><link rel="icon" type="image/png" href="//www.naak.com/cdn/shop/files/Favicon_-_64_x_64_px.png?crop=center&height=32&v=1738537468&width=32"><title>
86      näak BOOST™ Energy Drink Mix 60 ‧ Salted Cucumber ‧ Bag
87 &ndash; Näak NA</title><meta name="description" content="All-natural 60g carbs + high-sodium drink mix for steady and fast-acting energy with extra sodium for hot days and heavy sweaters. The packaging you will receive may be different.">
88
89
90
91
92<link rel="preload" as="image" href="//www.naak.com/cdn/shop/files/naak-na-drink-mixes-1-bag-15-servings-boost-drink-mix-60-salted-cucumber-bag-1253784197.jpg?v=1786395130&width=1200" imagesizes="(min-width: 1024px) 50vw, 100vw" fetchpriority="high">
93
94<meta property="og:site_name" content="Näak NA">
95<meta property="og:url" content="https://www.naak.com/products/boost-drink-mix-60-salted-cucumber-bag">
96<meta property="og:title" content="näak BOOST™ Energy Drink Mix 60 ‧ Salted Cucumber ‧ Bag"><meta property="og:image" content="http://www.naak.com/cdn/shop/files/naak-na-drink-mixes-1-bag-15-servings-boost-drink-mix-60-salted-cucumber-bag-1253784197.jpg?v=1786395130&width=1200">
97  <meta property="og:image:secure_url" content="https://www.naak.com/cdn/shop/files/naak-na-drink-mixes-1-bag-15-servings-boost-drink-mix-60-salted-cucumber-bag-1253784197.jpg?v=1786395130&width=1200"><meta property="og:type" content="website">
98<meta name="twitter:card" content="summary_large_image">
99<script type="application/ld+json">
100  {
101    "@context": "https://schema.org",
102    "@graph": [
103      {
104        "@type": "Organization",
105        "@id": "https:\/\/www.naak.com\/#organization",
106        "name": "Näak NA",
107        "url": "https:\/\/www.naak.com",
108        "description": "We make performance and sustainable nutrition to help you go longer and farther. Explore Ultra Energy™ drink mixes, bars, waffles, gels and purees. Get your free nutrition plan today!",
109        "email": "[email protected]"
110      },
111      {
112        "@type": "WebSite",
113        "@id": "https:\/\/www.naak.com\/#website",
114        "name": "Näak NA",
115        "url": "https:\/\/www.naak.com",
116        "publisher": {
117          "@id": "https:\/\/www.naak.com\/#organization"
118        },
119        "potentialAction": {
120          "@type": "SearchAction",
121          "target": {
122            "@type": "EntryPoint",
123            "urlTemplate": "https:\/\/www.naak.com\/search?q={search_term_string}"
124          },
125          "query-input": "required name=search_term_string"
126        }
127      }
128    ]
129  }
130</script>
vendor: 1 bytes, line 130
130
131<script type="application/ld+json">
132  {
133    "@context": "https://schema.org",
134    "@graph": [
135      {
136        "@type": "Product",
137        "@id": "https:\/\/www.naak.com\/products\/boost-drink-mix-60-salted-cucumber-bag#product",
138        "name": "BOOST™ Drink Mix 60 · Salted Cucumber · Bag",
139        "description": "All-natural 60g carbs + high-sodium drink mix for steady and fast-acting energy with extra sodium for hot days and heavy sweaters.\nThe packaging you will receive may be different.",
140        "url": "https:\/\/www.naak.com\/products\/boost-drink-mix-60-salted-cucumber-bag",
141        "sku": "BE-DM-CU-BG-01-CA",
142        "brand": {
143          "@type": "Brand",
144          "name": "Näak"
145        },
146        "category": "Drink Mixes",
147        "image": [{
148                "@type": "ImageObject",
149                "url": "https:\/\/www.naak.com\/cdn\/shop\/files\/naak-na-drink-mixes-1-bag-15-servings-boost-drink-mix-60-salted-cucumber-bag-1253784197.jpg?v=1786395130\u0026width=1600",
150                "caption": "Näak NA Drink Mixes BOOST™ Drink Mix 60 · Salted Cucumber · Bag"
151              }],
152        "offers": [{
153              "@type": "Offer",
154              "url": "https:\/\/www.naak.com\/products\/boost-drink-mix-60-salted-cucumber-bag?variant=50970992935216",
155              "sku": "BE-DM-CU-BG-01-CA",
156              "price": 48.0,
157              "priceCurrency": "USD",
158              "availability": "https://schema.org/InStock",
159              "itemCondition": "https://schema.org/NewCondition",
160              "seller": {
161                "@id": "https:\/\/www.naak.com\/#organization"
162              }
163            }
164],
165        "aggregateRating": {
166          "@type": "AggregateRating",
167          "ratingValue": "5.0",
168          "reviewCount": 8,
169          "bestRating": "5.0",
170          "worstRating": 1
171        }
172      },
173      {
174        "@type": "BreadcrumbList",
175        "itemListElement": [
176          {
177            "@type": "ListItem",
178            "position": 1,
179            "name": "Home",
180            "item": "https:\/\/www.naak.com"
181          },
182          {
183            "@type": "ListItem",
184            "position": 2,
185            "name": "All products",
186            "item": "https:\/\/www.naak.com\/collections\/all"
187          },
188          {
189            "@type": "ListItem",
190            "position": 3,
191            "name": "BOOST™ Drink Mix 60 · Salted Cucumber · Bag",
192            "item": "https:\/\/www.naak.com\/products\/boost-drink-mix-60-salted-cucumber-bag"
193          }
194        ]
195      }
196    ]
197  }
198</script>
198
199<link href="//www.naak.com/cdn/shop/t/335/assets/app.css?v=180490310481434994361790690532" rel="stylesheet" type="text/css" media="all" />
200
201
202
203<link
204  rel="preload"
205  as="font"
206  href="//www.naak.com/cdn/shop/t/335/assets/Gotham-Book.woff2?v=12903021498071736711785253586"
207  type="font/woff2"
208  crossorigin
209  fetchpriority="low"
210>
211<link
212  rel="preload"
213  as="font"
214  href="//www.naak.com/cdn/shop/t/335/assets/Gotham-Medium.woff2?v=35539213883941330071785253585"
215  type="font/woff2"
216  crossorigin
217  fetchpriority="low"
218>
219
220<style data-shopify>
221  :root {
222    --color-primary: #000000;
223    --color-offwhite: #f6f6f6;
224    --color-accent: #fff200;
225    --color-muted: #a3a3a3;
226    --color-surface: #f3f3f3;
227    --font-body-family: "Gotham", sans-serif;
228    --font-body-style: normal;
229    --font-body-weight: 400;
230  }
231</style>
232<script type="application/json" id="BoilerplateMoney">
233  {
234    "format": "${{amount}}",
235    "currency": "USD"
236  }
237</script>
237<script async crossorigin fetchpriority="high" src="/cdn/shopifycloud/importmap-polyfill/es-modules-shim.2.4.0.js"></script>
vendor: 1 bytes, line 237
237
238<script type="importmap">
239  {
240    "imports": {
241      "@boilerplate/cart": "//www.naak.com/cdn/shop/t/335/assets/cart.js?v=55704357077109611521790000716"
242    }
243  }
244</script>
vendor: 1 bytes, line 244
244
245<script type="application/json" id="BoilerplateModuleUrls">
246  {
247    "collectionFacets": "//www.naak.com/cdn/shop/t/335/assets/collection-facets.js?v=107285634282139304331790690533",
248    "productPage": "//www.naak.com/cdn/shop/t/335/assets/product-page.js?v=173811756240290351531790690533",
249    "announcementBar": "//www.naak.com/cdn/shop/t/335/assets/announcement-bar.js?v=160055163860794502451785253584",
250    "trustBar": "//www.naak.com/cdn/shop/t/335/assets/trust-bar.js?v=33354286794038072461785253586",
251    "userReviews": "//www.naak.com/cdn/shop/t/335/assets/user-reviews.js?v=13637785631456474261785253587",
252    "userReviewsV2": "//www.naak.com/cdn/shop/t/335/assets/user-reviews-v2.js?v=30868949931488162221785253586",
253    "athleteCards": "//www.naak.com/cdn/shop/t/335/assets/athlete-cards.js?v=171244763370331151421785253585",
254    "galleryCarousel": "//www.naak.com/cdn/shop/t/335/assets/gallery-carousel.js?v=158726342410000070431785253586",
255    "fullWidthVideo": "//www.naak.com/cdn/shop/t/335/assets/full-width-video.js?v=53803976191327787441785253586",
256    "searchDrawer": "//www.naak.com/cdn/shop/t/335/assets/search-drawer.js?v=62466861263933134201785253584",
257    "searchPage": "//www.naak.com/cdn/shop/t/335/assets/search-page.js?v=71245251793034703741785928112",
258    "listCollections": "//www.naak.com/cdn/shop/t/335/assets/list-collections.js?v=180409741315517286111785253584",
259    "blogPage": "//www.naak.com/cdn/shop/t/335/assets/blog-page.js?v=14838856939115349961785253586",
260    "articlePage": "//www.naak.com/cdn/shop/t/335/assets/article-page.js?v=170530424603030238131785253585",
261    "productCard": "//www.naak.com/cdn/shop/t/335/assets/product-card.js?v=139077932648126842161790000717",
262    "collectionCarousel": "//www.naak.com/cdn/shop/t/335/assets/collection-carousel.js?v=82746987927128333991785253585",
263    "eventsCarousel": "//www.naak.com/cdn/shop/t/335/assets/events-carousel.js?v=134733755459729497151785253586",
264    "brandStorytellingCarousel": "//www.naak.com/cdn/shop/t/335/assets/brand-storytelling-carousel.js?v=126237548797881773281785253586",
265    "blogCarousel": "//www.naak.com/cdn/shop/t/335/assets/blog-carousel.js?v=84571061347578065291785253586",
266    "productHighlightsSlider": "//www.naak.com/cdn/shop/t/335/assets/product-highlights-slider.js?v=179993523373220095351785253587",
267    "productRecommendationsCarousel": "//www.naak.com/cdn/shop/t/335/assets/product-recommendations-carousel.js?v=166858339
267687415823131785253584",
268    "showcase": "//www.naak.com/cdn/shop/t/335/assets/showcase.js?v=27699735492282828711788336147",
269    "nutritionGuide": "//www.naak.com/cdn/shop/t/335/assets/nutrition-guide.js?v=76788188561723187531785253584",
270    "localizationSelector": "//www.naak.com/cdn/shop/t/335/assets/localization-selector.js?v=148762191850722173971786371921"
271  }
272</script>
vendor: 1 bytes, line 272
272
273<script>
274  /*
275    Paliers cadeaux du panier (ex. « 2x free purées » dès 30) : le module panier ne les recalcule qu'au
276    chargement de la page et après ses propres actions. Les sections LP (pop-in, ATC, collection, VSL)
277    ajoutent au panier en direct via /cart/add.js : elles appellent cette fonction juste après, sinon le
278    cadeau n'apparaît qu'au rechargement (constaté le 2026-09-28 sur la LP UTMB).
279    Anti-rebond de 400 ms : plusieurs notifications rapprochées ne déclenchent qu'un recalcul.
280  */
281  window.fnlSyncCartRewards = function () {
282    clearTimeout(window.__fnlRewardsTimer);
283    window.__fnlRewardsTimer = setTimeout(function () {
284      import('@boilerplate/cart')
285        .then(function (m) { return m.refreshCartUI && m.refreshCartUI(); })
286        .catch(function (e) { console.error('[Cart rewards sync]', e); });
287    }, 400);
288  };
289</script>
vendor: 1 bytes, line 289
289
290<script type="module" src="//www.naak.com/cdn/shop/t/335/assets/app.js?v=38869594119698373601786546381"></script>
vendor: 1 bytes, line 290
290
291<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
291<meta name="google-site-verification" content="OmTndwrTUTj8l0cTWSVm67D1U0dOwiE_z-YCtwy5rKg">
292<meta name="google-site-verification" content="m9tCyzZ7GmAIEvmLzA-FQWFsS9vaI5P9-1gTDg8JebA">
293<meta name="google-site-verification" content="Yt3GL2I_Nsgb1YL8ymTu2045pgTYTIaAck4VtFEF1is">
294<meta name="facebook-domain-verification" content="92rtuv90qkv23wq7ahood12yj93dvx">
295<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/12429414/digital_wallets/dialog">
296<meta id="in-context-paypal-metadata" data-shop-id="12429414" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="USD">
297<link rel="ucp" href="/.well-known/ucp" version="2026-08-25"><link rel="buy" href="/cart/50970992935216:1?ucp/version=2026-08-25&amp;context/payment/0/handler=dev.shopify.shop_pay" payment="dev.shopify.shop_pay com.google.pay dev.shopify.card"><link rel="alternate" hreflang="x-default" href="https://www.naak.com/products/boost-drink-mix-60-salted-cucumber-bag">
298<link rel="alternate" hreflang="en" href="https://www.naak.com/products/boost-drink-mix-60-salted-cucumber-bag">
299<link rel="alternate" hreflang="fr" href="https://www.naak.com/fr/products/boost-drink-mix-60-salted-cucumber-bag">
300<link rel="alternate" type="application/json+oembed" href="https://www.naak.com/products/boost-drink-mix-60-salted-cucumber-bag.oembed">
301<script async="async" src="/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=34996528"></script>
301
302<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
303<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=34996528&shop_id=12429414" crossorigin="anonymous"></script>
vendor: 1 bytes, line 303
303
304<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":12429414,"countryCode":"CA","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/12429414","merchantName":"Näak NA","requiredBillingContactFields":["postalAddress","email"],"requiredShippingContactFields":["postalAddress","email"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","interac","jcb"],"total":{"type":"pending","label":"Näak NA","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 304
304
305<script id="shopify-features" type="application/json">{"accessToken":"cdfff98b98634065b32f5c0f825e205c","betas":["rich-media-storefront-analytics"],"domain":"www.naak.com","predictiveSearch":true,"shopId":12429414,"locale":"en"}</script>
vendor: 1 bytes, line 305
305
306<script>var Shopify = Shopify || {};
307Shopify.shop = "naakbar.myshopify.com";
308Shopify.locale = "en";
309Shopify.currency = {"active":"USD","rate":"0.701646"};
310Shopify.country = "US";
311Shopify.theme = {"name":"naak-na-new-theme\/main","id":186884456752,"schema_name":"Shopify Boilerplate V2","schema_version":"2.0.0","theme_store_id":null,"role":"main"};
312Shopify.theme.handle = "null";
313Shopify.theme.style = {"id":null,"handle":null};
314Shopify.cdnHost = "www.naak.com/cdn";
315Shopify.routes = Shopify.routes || {};
316Shopify.routes.root = "/";
317Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js";
318Shopify.SignInWithShop = Shopify.SignInWithShop || {};
319Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {};
320Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 320
320
321<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 321
321
322<script>!function(o){function n(){var o=[];function n(){o.push(Array.prototype.slice.apply(arguments))}return n.q=o,n}var t=o.Shopify=o.Shopify||{};t.loadFeatures=n(),t.autoloadFeatures=n()}(window);</script>
vendor: 1 bytes, line 322
322
323<script>
324  window.ShopifyPay = window.ShopifyPay || {};
325  window.ShopifyPay.apiHost = "shop.app\/pay";
326  window.ShopifyPay.redirectState = null;
327</script>
vendor: 1 bytes, line 327
327
328<script>
329  window.Shopify = window.Shopify || {};
330  window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {};
331  window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 };
332  window.Shopify.SignInWithShop.eligible = true;
333</script>
vendor: 1 bytes, line 333
333
334<script id="shop-js-analytics" type="application/json">{"pageType":"product"}</script>
vendor: 1 bytes, line 334
334
335<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"></script>
vendor: 1 bytes, line 335
335
336<script type="module">
337  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js");
338
339  window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true});
340
341</script>
vendor: 1 bytes, line 341
341
342<script>
343  window.Shopify = window.Shopify || {};
344  if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
345  window.Shopify.featureAssets['shop-js'] = {"avatar":["modules/v2/loader.avatar.en.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.en.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.en.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.en.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.en.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.en.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.en.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.en.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.en.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.en.esm.js"],"listener":["modules/v2/loader.listener.en.esm.js"],"pay-button":["modules/v2/loader.pay-button.en.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.en.esm.js"],"shop-button":["modules/v2/loader.shop-button.en.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.en.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.en.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.en.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.en.esm.js"],"shop-login":["modules/v2/loader.shop-login.en.esm.js"],"shop-toast-manager":["modules/v2/loader.shop-toast-manager.en.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.en.esm.js"]};
346</script>
vendor: 1 bytes, line 346
346
347<script id="__st">var __st={"a":12429414,"offset":-14400,"reqid":"facdffff-2280-452f-8d2c-3baf856a8eee-1791074901","pageurl":"www.naak.com\/products\/boost-drink-mix-60-salted-cucumber-bag","u":"35587d269302","p":"product","rtyp":"product","rid":10099179225392};</script>
vendor: 1 bytes, line 347
347
348<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 348
348
349<script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.3.iife.js',D={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!0,!0)}();</script>
vendor: 1 bytes, line 349
349
350<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//www.naak.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 350
350
351<script>(function () {var userAgent = navigator.userAgent;var platform = navigator.platform;var maxTouchPoints = navigator.maxTouchPoints || 0;var isIOS = /iPad|iPhone|iPod/.test(platform) || (platform === 'MacIntel' && maxTouchPoints > 1);var isMacSafari = platform.indexOf('Mac') === 0 && /Safari/.test(userAgent) && !/Chrome|Chromium|CriOS|FxiOS|Edg|OPR|Android/.test(userAgent);var isAppleSafari = isIOS || isMacSafari;if (isAppleSafari) {fetch('/sf_private_access_tokens' + location.search).catch(function () {});}function browserMajorVersion(pattern) {var match = userAgent.match(pattern);return match ? parseInt(match[1], 10) : null;}function shouldLoadAutosizesPolyfill() {if (!window.PerformanceObserver?.supportedEntryTypes?.includes('paint')) {return false;}var chromeVersion = browserMajorVersion(/Chrome\/(\d+)/);if (chromeVersion !== null) {return chromeVersion < 126;}var firefoxVersion = browserMajorVersion(/Firefox\/(\d+)/);if (firefoxVersion !== null) {return firefoxVersion < 150;}var safariVersion = isAppleSafari ? browserMajorVersion(/Version\/(\d+).*Safari\//) : null;if (safariVersion !== null) {return safariVersion < 27;}return true;}if (shouldLoadAutosizesPolyfill()) {var autosizesScript = document.createElement('script');autosizesScript.async = true;autosizesScript.crossOrigin = 'anonymous';autosizesScript.src = "//www.naak.com/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script>
351<script crossorigin="anonymous" defer="defer" src="//www.naak.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 351
351
352<script id="shopify-origin-trials" async="async" integrity="sha256-qJbe/jEZBHtr5W/BlA2cKAz3vkXu6vJQyLjgvgCC86g=" src="//cdn.shopify.com/shopifycloud/storefront/assets/storefront/origin_trials-318ab40a.js" crossorigin="anonymous" onload="window.__shopifyOriginTrialsDone = true" onerror="window.__shopifyOriginTrialsDone = true"></script>
vendor: 1 bytes, line 352
352
353<script>
354  window.Shopify = window.Shopify || {};
355  window.Shopify.MCP = window.Shopify.MCP || {};
356  window.Shopify.MCP.enabled = true;
357  window.Shopify.MCP.shop = "naakbar.myshopify.com";
358  window.Shopify.MCP.mcpEndpoint = "https:\/\/www.naak.com\/api\/mcp";
359  window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n  - What is your return policy?\n  - What is your shipping policy?\n  - What is your phone number?\n  - What are your hours of operation?\"\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."}},"required":["query"]}}];
360</script>
vendor: 1 bytes, line 360
360
361<script>(()=>{var d="shopify:webmcp_adapter_loaded",n=Symbol.for("shopify.webmcp_adapter_loading");function s(c,a,{win:r=window,doc:o=document}={}){function p(){try{return r.localStorage.getItem(d)==="true"}catch{return!1}}function l(){try{r.localStorage.setItem(d,"true")}catch{}}function u(){return typeof(o.modelContext||r.navigator?.modelContext)?.registerTool=="function"}function f(){if(r[n]||!u())return;let t=o.head||o.getElementsByTagName("head")[0];if(!t)return;let e=o.createElement("script");e.type="module",e.crossOrigin="anonymous",a&&(e.integrity=a),e.src=c,e.addEventListener("load",l,{once:!0}),e.addEventListener("error",()=>{r[n]=!1},{once:!0}),t.appendChild(e),r[n]=!0}function _(t){let e=o.getElementById("shopify-origin-trials");if(!e||r.__shopifyOriginTrialsDone){t();return}e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})}function i(){_(()=>r.setTimeout(f,0))}function m(){o.addEventListener("DOMContentLoaded",i,{once:!0})}p()?i():m()}s("\/\/www.naak.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})();
362</script>
vendor: 1 bytes, line 362
362
363<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.src="https://www.naak.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}};
364</script>
vendor: 1 bytes, line 364
364
365<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
366  function portableWalletsHideBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.add("hidden"),t.setAttribute("aria-hidden","true"),n.removeEventListener("click",e))}function portableWalletsShowBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.remove("hidden"),t.removeAttribute("aria-hidden"),n.addEventListener("click",e))}window.Shopify?.PaymentButton&&(window.Shopify.PaymentButton.hideBuyerConsent=portableWalletsHideBuyerConsent,window.Shopify.PaymentButton.showBuyerConsent=portableWalletsShowBuyerConsent);
367</script>
vendor: 1 bytes, line 367
367
368<script data-source-attribution="shopify.dynamic_checkout.cart.bootstrap">document.addEventListener("DOMContentLoaded",(function(){function t(){return document.querySelector("shopify-accelerated-checkout-cart, shopify-accelerated-checkout")}if(t())Shopify.PaymentButton.init();else{new MutationObserver((function(e,n){t()&&(Shopify.PaymentButton.init(),n.disconnect())})).observe(document.body,{childList:!0,subtree:!0})}}));
369</script>
369
370<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://www.naak.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous">
371<style id="shopify-accelerated-checkout-cart">
372        #shopify-buyer-consent {
373  margin-top: 1em;
374  display: inline-block;
375  width: 100%;
376}
377
378#shopify-buyer-consent.hidden {
379  display: none;
380}
381
382#shopify-subscription-policy-button {
383  background: none;
384  border: none;
385  padding: 0;
386  text-decoration: underline;
387  font-size: inherit;
388  cursor: pointer;
389}
390
391#shopify-subscription-policy-button::before {
392  box-shadow: none;
393}
394
395      </style>
396
397<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
397
398  <!-- BEGIN app block: shopify://apps/addingwell/blocks/aw-gtm/c8ed21e7-0ac8-4249-8c91-cbdde850b5b8 -->
398<script
399  type="module"
400>
401  setTimeout(async function () {
402    const keySessionStorage = 'aw_settings';
403    let __AW__settings = JSON.parse(sessionStorage.getItem(keySessionStorage));
404    if(!__AW__settings) {
405      const awSettings = await fetch(
406              "/apps/addingwell-proxy",
407              {
408                method: "GET",
409                redirect: "follow",
410                headers: {'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*'}
411              }
412      );
413      if (awSettings.ok) {
414        __AW__settings = await awSettings.json();
415        sessionStorage.setItem(keySessionStorage, JSON.stringify(__AW__settings));
416      } else {
417        console.error('Addingwell - Loading proxy error', awSettings.status);
418        return;
419      }
420    }
421
422    if(__AW__settings.insertGtmTag && __AW__settings.gtmId) {
423      let __AW__gtmUrl = 'https://www.googletagmanager.com/gtm.js';
424      let __AW__isAddingwellCdn = false;
425      if(__AW__settings.insertGtmUrl && __AW__settings.gtmUrl) {
426        __AW__gtmUrl = __AW__settings.gtmUrl;
427        __AW__isAddingwellCdn = __AW__settings.isAddingwellCdn;
428      }
429
430      (function(w,d,s,l,i){
431        w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});
432        var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';
433        j.async=true;
434        j.src=`${__AW__gtmUrl}?${__AW__isAddingwellCdn ? 'awl' : 'id'}=`+(__AW__isAddingwellCdn ? i.replace(/^GTM-/, '') : i)+dl;f.parentNode.insertBefore(j,f);
435      })(window,document,'script',`${__AW__settings.dataLayerVariableName}`,`${__AW__settings.gtmId}`);
436    }
437
438    const __AW__getEventNameWithSuffix = (eventName) => {
439      return eventName + (__AW__settings.dataLayerEventSuffix ? "_" + __AW__settings.dataLayerEventSuffix : "");
440    }
441
442    function __AW__waitForShopifyYCookie(maxAttempts, intervalMs) {
443      return new Promise(function(resolve) {
444        let attempts = 0;
445        maxAttempts = maxAttempts || 5;
446        intervalMs = intervalMs || 200;
447        function check() {
448          const match = document.cookie.match(/(?:^|;\s*)_shopify_y=([^;]*)/);
449          if (match) {
450            resolve(match[1]);
451          } else if (attempts < maxAttempts) {
452            attempts++;
453            setTimeout(check, intervalMs);
454          } else {
455            console.warn('[AW] _shopify_y cookie not found after consent');
456            resolve(null);
457          }
458        }
459        check();
460      });
461    }
462
463    const __AW__CONSENT_KEY = 'aw_consent_state';
464
465    function __AW__getConsentState() {
466      try {
467        if (window.Shopify?.customerPrivacy?.currentVisitorConsent) {
468          return JSON.stringify(window.Shopify.customerPrivacy.currentVisitorConsent());
469        }
470      } catch(e) {}
471      return null;
472    }
473
474    function __AW__isEmptyConsent(stateStr) {
475      try {
476        return Object.values(JSON.parse(stateStr)).every(v => v === '');
477      } catch(e) {}
478      return true;
479    }
480
481    let __AW__prevConsentState = __AW__getConsentState() ?? localStorage.getItem(__AW__CONSENT_KEY);
482
483    document.addEventListener('visitorConsentCollected', async function(event) {
484      const currentConsentState = __AW__getConsentState();
485
486      if (currentConsentState !== null && currentConsentState === __AW__prevConsentState) {
487        return;
488      }
489
490      __AW__prevConsentState = currentConsentState;
491
492      if (currentConsentState !== null) {
493        if (__AW__isEmptyConsent(currentConsentState)) {
494          localStorage.removeItem(__AW__CONSENT_KEY);
495        } else {
496          localStorage.setItem(__AW__CONSENT_KEY, currentConsentState);
497        }
498      }
499
500      window.Shopify.analytics.publish('addingwell:shopify_update_consent', {visitorConsentCollected: true});
501
502      const shopifyY = await __AW__waitForShopifyYCookie();
503      if (!shopifyY) return;
504
505      window[__AW__settings.dataLayerVariableName] = window[__AW__settings.dataLayerVariableName] || [];
506      window[__AW__settings.dataLayerVariableName].push({
507        event: __AW__getEventNameWithSuffix('shopify_consent_updated'),
508      });
509    });
510
511    if(__AW__settings.enableDataLayer) {
512      const MAX_ITEMS_BATCH = 10;
513      const sendBatchEvents = (items, eventName, eventObject) => {
514        let batch = [];
515        for(let i  = 0; i < items.length; i++) {
516          batch.push(items[i]);
517          if(batch.length === MAX_ITEMS_BATCH || i === items.length - 1) {
518            const eventClone = {
519              ...eventObject,
520              ecommerce: {
521                ...eventObject.ecommerce,
522                items: [...batch]
523              }
524            };
525            window[__AW__settings.dataLayerVariableName].push({ ecommerce: null });
526            window[__AW__settings.dataLayerVariableName].push({
527              ...{'event': __AW__getEventNameWithSuffix(eventName)},
528              ...eventClone
529            });
530
531            batch = [];
532          }
533        }
534      }
535
536      function __AW__filterNullOrEmpty(obj) {
537        let filteredObj = {};
538
539        for (let key in obj) {
540          if (obj.hasOwnProperty(key)) {
541            let value = obj[key];
542
543            // If value is an object (and not null), recursively filter sub-elements
544            if (typeof value === "object" && value !== null && value !== undefined) {
545              let filteredSubObject = __AW__filterNullOrEmpty(value);
546
547              // Add the filtered sub-object only if it's not empty
548              if (Object.keys(filteredSubObject).length > 0) {
549                filteredObj[key] = filteredSubObject;
550              }
551            } else {
552              // Add the value only if it's neither null nor an empty string
553              if (value !== null && value !== "" && value !== undefined) {
554                filteredObj[key] = value;
555              }
556            }
557          }
558        }
559        return filteredObj;
560      }
561
562      function getPageType(value) {
563        const pageTypeMapping = {
564          404: '404',
565          article: 'article',
566          blog: 'blog',
567          cart: 'cart',
568          collection: 'collection',
569          gift_card: 'gift_card',
570          index: 'homepage',
571          product: 'product',
572          search: 'searchresults',
573          'customers/login': 'login',
574          'customers/register': 'sign_up'
575        };
576        return pageTypeMapping[value] || 'other';
577      }
578      let __AW__cartReady = false;
579      const cartRegex = /\/cart\/(add|change|update)(\.js|\.json)?(\?.*)?$/;
580      const pendingCartEventName = "aw_pending_cart_event";
581      let awCartQueue = Promise.resolve();
582
583      function pushDataLayerEvents() {
584        initCart();
585        window[__AW__settings.dataLayerVariableName] = window[__AW__settings.dataLayerVariableName] || [];  // init data layer if doesn't already exist
586        const templateName = "product";
587
588        const getFormattedPrice = (priceInCents) => priceInCents/100;
589        /**********************
590         * DATALAYER SECTIONS
591         ***********************/
592        /**
593         * DATALAYER: User Data
594         * Build user_data properties.
595         */
596        let newCustomer = true;
597        window.__AW__CommonData = {
598          user_data: {
599            new_customer: newCustomer,
600          }
601        };
602
603        
604
605        window.__AW__CommonData.country = "US"
606        window.__AW__CommonData.market = "united-states"
607        window.__AW__CommonData.marketId = 77830029616
608
609        
610          window.__AW__CommonData.language = "en-US";
611        
612        window.__AW__CommonData = __AW__filterNullOrEmpty(window.__AW__CommonData);
613
614        // Ajout du hash SHA256 des champs sensibles de user_data (version robuste)
615        async function sha256(str) {
616          if (!str) return undefined;
617          if (!(window.crypto && window.crypto.subtle)) {
618            console.error('Crypto.subtle non supporté, hash impossible pour :', str);
619            return undefined;
620          }
621          try {
622            const buf = await window.crypto.subtle.digest('SHA-256', new TextEncoder().encode(str));
623            return Array.from(new Uint8Array(buf)).map(x => x.toString(16).padStart(2, '0')).join('');
624          } catch (e) {
625            console.error('Erreur lors du hash SHA256 pour', str, e);
626            return undefined;
627          }
628        }
629        async function getUserDataHash(user_data) {
630          const hashObj = {};
631          if (!user_data) return hashObj;
632          try {
633            if (user_data.email_address) hashObj.email_address = await sha256(user_data.email_address);
634            if (user_data.phone_number) hashObj.phone_number = await sha256(user_data.phone_number);
635            if (user_data.address && typeof user_data.address === 'object') {
636              hashObj.address = {};
637              if (user_data.address.first_name) hashObj.address.first_name = await sha256(user_data.address.first_name);
638              if (user_data.address.last_name) hashObj.address.last_name = await sha256(user_data.address.last_name);
639              if (user_data.address.street) hashObj.address.street = await sha256(user_data.address.street);
640              if (user_data.address.city) hashObj.address.city = await sha256(user_data.address.city);
641              if (user_data.address.region) hashObj.address.region = await sha256(user_data.address.region);
642              if (user_data.address.postal_code) hashObj.address.postal_code = await sha256(user_data.address.postal_code);
643              if (user_data.address.country) hashObj.address.country = await sha256(user_data.address.country);
644            }
645          } catch (e) {
646            console.error('Erreur lors du hash user_data_hashed', e);
647          }
648          return __AW__filterNullOrEmpty(hashObj);
649        }
650        (async function() {
651          if (window.__AW__CommonData && window.__AW__CommonData.user_data) {
652            window.__AW__CommonData.user_data_hashed = await getUserDataHash(window.__AW__CommonData.user_data);
653          }
654        })();
655
656        window.__AW__CommonData["page_type"] = getPageType(templateName);
657        window.__AW__CommonData["theme"] = window?.Shopify?.theme;
658        window[__AW__settings.dataLayerVariableName].push(window.__AW__CommonData);
659
660        window[__AW__settings.dataLayerVariableName].push({"event": __AW__getEventNameWithSuffix("page_view")});
661
662        /** DATALAYER: select_item handoff */
663        const pendingSelectItemName = "aw_pending_select_item";
664
665        const __AW__pushSelectItem = (payload) => {
666          window[__AW__settings.dataLayerVariableName].push({ ecommerce: null });
667          window[__AW__settings.dataLayerVariableName].push(payload);
668        };
669
670        const __AW__flushPendingSelectItem = () => {
671          let pending = null;
672          try {
673            pending = sessionStorage.getItem(pendingSelectItemName);
674            sessionStorage.removeItem(pendingSelectItemName);
675          } catch (e) {
676            return;
677          }
678          if (!pending) return;
679          try {
680            __AW__pushSelectItem(JSON.parse(pending));
681          } catch (e) {
682            console.warn('[AW] pending select_item error', e);
683          }
684        };
685
686        __AW__flushPendingSelectItem();
687
688
689        /**
690         * DATALAYER: 404 Pages
691         * Fire on 404 Pages */
692        
693
694
695        /**
696         * DATALAYER: Blog Articles
697         * Fire on Blog Article Pages */
698        
699
700        
701
702        
703
704        /** DATALAYER: Product List Page (Collections, Category)
705         * Fire on all product listing pages. */
706
707        const __AW__transformNumberToString = (value) => {
708          if (value !== null && value !== undefined && typeof value === 'number') {
709            return value.toString();
710          }
711          /** By Default return the current value */
712          return value;
713        };
714
715        let discountPrice = 0.00;
716        
717
718        /** DATALAYER: Product Page
719         * Fire on all Product View pages. */
720        
721
722        var dl_ecom_quantity = 1;
723        var dl_ecom_price = getFormattedPrice(4800);
724        var dl_ecom_value = dl_ecom_quantity * dl_ecom_price;
725
726        var __AW__itemVariant = {"id":50970992935216,"title":"1 bag - 15 servings","option1":"1 bag - 15 servings","option2":null,"option3":null,"sku":"BE-DM-CU-BG-01-CA","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"BOOST™ Drink Mix 60 · Salted Cucumber · Bag - 1 bag - 15 servings","public_title":"1 bag - 15 servings","options":["1 bag - 15 servings"],"price":4800,"weight":0,"compare_at_price":null,"inventory_quantity":50,"inventory_management":"shopify","inventory_policy":"deny","barcode":null,"requires_selling_plan":false,"unit_price":320,"unit_price_measurement":{"measured_type":"count","quantity_value":"15.0","quantity_unit":"item","reference_value":1,"reference_unit":"item"},"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":4080}],"price":4080,"compare_at_price":4800,"per_delivery_price":4080,"unit_price":272,"
726selling_plan_id":692439580976,"selling_plan_group_id":"eceb5dec9e45638dea1dbe91ef2100ca7cabc898"}],"quantity_rule":{"min":1,"max":null,"increment":1}};
727        var __AW__itemVariantQuantity = 72
728
729        
730        discountPrice = 0.00;
731        
732
733        
734        
735          
736            
737          
738          
739        
740        
741
742        const awEcommerceProduct = {
743          ecommerce: {
744            currency: "USD",
745            value:  dl_ecom_value,
746            'items': [{
747              'item_id'             : __AW__transformNumberToString(10099179225392),
748              'item_variant'        : __AW__itemVariant?.title || null,
749              'item_variant_title'  : __AW__itemVariant?.title || null,
750              'item_variant_id'     : __AW__transformNumberToString(__AW__itemVariant?.id || null),
751              'item_product_id'     : __AW__transformNumberToString(10099179225392),
752              'item_product_title'  : "BOOST™ Drink Mix 60 · Salted Cucumber · Bag",
753              'item_name'           : "BOOST™ Drink Mix 60 · Salted Cucumber · Bag",
754              'sku'                 : __AW__transformNumberToString(__AW__itemVariant?.sku || null),
755              'discount'            : discountPrice,
756              'price'               : dl_ecom_price,
757              'item_brand'          : "Näak",
758              'item_category'       : "Drink Mixes",
759              'item_list_id'        : null,
760              'item_list_name'      : null,
761              'quantity'            : dl_ecom_quantity,
762              'inventory_quantity'  : __AW__itemVariantQuantity,
763              'url'                 : "\/products\/boost-drink-mix-60-salted-cucumber-bag",
764              'selling_plan_id'     : null,
765              'selling_plan_name'   : null
766            }]
767          }
768        };
769        window[__AW__settings.dataLayerVariableName].push({ ecommerce: null });
770        window[__AW__settings.dataLayerVariableName].push({
771          ...{'event': __AW__getEventNameWithSuffix('view_item')},
772          ...awEcommerceProduct
773        });
774
775        
776
777        /** DATALAYER: Cart View
778         * Fire anytime a user views their cart (non-dynamic) */
779        
780
781        let drawerCartAlreadyOpened = false;
782        let pendingViewCartTimeout = null;
783
784        let stateObserver = null;
785        let domObserver = null;
786
787        function initCart() {
788          fetch(`${window.Shopify?.routes?.root || "/"}cart.js?adw=1&init=1`, {
789            credentials: 'same-origin',
790            headers: { 'Accept': 'application/json' }
791          }).then(r => r.ok ? r.json() : null)
792            .then(freshCart => {
793              if (freshCart) {
794                window.__AW__slaveShopifyCart = freshCart;
795              } else {
796                window.__AW__slaveShopifyCart = { items: [] };
797              }
798              __AW__cartReady = true;
799            })
800            .catch(e => {
801              console.warn('[AW] Cart hydration failed', e);
802              window.__AW__slaveShopifyCart = { items: [] };
803              __AW__cartReady = true;
804            })
805            .finally(() => {
806              // A snapshot left by a non-AJAX add to cart (form submit + reload) can only be synced once the cart is ready
807              if (sessionStorage.getItem(pendingCartEventName)) {
808                scheduleCartSync();
809              }
810            });
811        }
812
813        function fireViewCartOncePerOpen() {
814          if (pendingViewCartTimeout) return;
815
816          drawerCartAlreadyOpened = true;
817
818          pendingViewCartTimeout = setTimeout(() => {
819            pendingViewCartTimeout = null;
820            if (!__AW__cartReady) return;
821            const ecommerceDataLayer = {
822              ecommerce: {
823                currency: window.__AW__slaveShopifyCart.currency,
824                value: window.__AW__slaveShopifyCart.total_price / 100,
825                items: window.__AW__slaveShopifyCart.items.map(item => {
826                  const price = (item.discounted_price ?? item.price) / 100;
827                  const discount = (item.price - (item.discounted_price ?? 0)) / 100;
828
829                  let coupon = "";
830                  if (Array.isArray(item?.discounts)) {
831                    coupon = item.discounts
832                            .filter(d => typeof d?.title === "string")
833                            .map(d => d.title)
834                            .join(", ");
835                  }
836
837                  return {
838                    item_id: __AW__transformNumberToString(item.product_id),
839                    item_variant: item.variant_title,
840                    item_variant_title: item.variant_title,
841                    item_variant_id: __AW__transformNumberToString(item.variant_id),
842                    item_product_id: __AW__transformNumberToString(item.product_id),
843                    item_product_title: item.product_title,
844                    item_name: item.product_title,
845                    price,
846                    discount,
847                    item_brand: item.vendor,
848                    item_category: item.product_type,
849                    item_list_name: item.collection || "",
850                    item_list_id: "",
851                    quantity: item.quantity,
852                    sku: __AW__transformNumberToString(item.sku),
853                    coupon,
854                    url: item.url,
855                    selling_plan_id     : item?.selling_plan_allocation?.selling_plan?.id,
856                    selling_plan_name   : item?.selling_plan_allocation?.selling_plan?.name
857
858                  };
859                })
860              }
861            };
862
863            window[__AW__settings.dataLayerVariableName].push({ ecommerce: null });
864            window[__AW__settings.dataLayerVariableName].push({
865              event: __AW__getEventNameWithSuffix("view_cart"),
866              ...ecommerceDataLayer
867            });
868          }, 1000);
869        }
870
871        function resetOnClose() {
872          drawerCartAlreadyOpened = false;
873          if (pendingViewCartTimeout) {
874            clearTimeout(pendingViewCartTimeout);
875            pendingViewCartTimeout = null;
876          }
877        }
878
879        function getTargets() {
880          const cartDrawer = document.querySelector("cart-drawer");
881          const dialog =
882                  document.querySelector("cart-drawer dialog") ||
883                  document.querySelector("cart-drawer-component dialog") ||
884                  document.querySelector("cart-drawer-component dialog[ref='dialog']");
885
886          return { cartDrawer, dialog };
887        }
888
889        function isCartOpen({ cartDrawer, dialog }) {
890          const openByDialog = !!dialog && (dialog.open || dialog.hasAttribute("open"));
891          const openByClass = !!cartDrawer && cartDrawer.classList.contains("active");
892          const openByAttr = !!cartDrawer && cartDrawer.hasAttribute("open");
893          return openByDialog || openByClass || openByAttr;
894        }
895
896        function attachStateObserver() {
897          const { cartDrawer, dialog } = getTargets();
898
899          if (stateObserver) stateObserver.disconnect();
900
901          stateObserver = new MutationObserver(() => {
902            const openNow = isCartOpen(getTargets());
903
904            if (openNow) {
905              if (!drawerCartAlreadyOpened) fireViewCartOncePerOpen();
906            } else {
907              resetOnClose();
908            }
909          });
910
911          if (cartDrawer) {
912            stateObserver.observe(cartDrawer, {
913              attributes: true,
914              attributeFilter: ["class", "open"]
915            });
916          }
917
918          if (dialog) {
919            stateObserver.observe(dialog, {
920              attributes: true,
921              attributeFilter: ["open"]
922            });
923          }
924
925          const openNow = isCartOpen(getTargets());
926          if (openNow) {
927            if (!drawerCartAlreadyOpened) fireViewCartOncePerOpen();
928          } else {
929            resetOnClose();
930          }
931        }
932
933        function observeCartDrawerOpen() {
934          attachStateObserver();
935
936          if (domObserver) domObserver.disconnect();
937
938          domObserver = new MutationObserver(() => {
939            attachStateObserver();
940          });
941
942          domObserver.observe(document.documentElement, {
943            childList: true,
944            subtree: true
945          });
946        }
947
948        observeCartDrawerOpen();
949
950
951        /** DATALAYER: Search Results */
952        var searchPage = new RegExp("search", "g");
953        if(document.location.pathname.match(searchPage)){
954          var __AW__items = [];
955          
956
957          const awEcommerceSearch = {
958            search_term: null,
959            results_count: null,
960            ecommerce: {
961              currency: "USD",
962              items : []
963            }
964          };
965          sendBatchEvents(__AW__items, "search", awEcommerceSearch);
966        }
967
968
969        document.addEventListener('click', async function(e) {
970          const btn = e.target.closest('[href*="/cart/add"], [action*="/cart/add"], button[name="add"]');
971          if (!btn || !__AW__cartReady) return;
972          snapshotCart();
973        }, true);
974
975        patchFetch();
976        patchXhr();
977
978        function snapshotCart() {
979          try {
980            sessionStorage.setItem(
981              pendingCartEventName,
982              JSON.stringify(window.__AW__slaveShopifyCart ?? { items: [] })
983            );
984          } catch (e) {
985            console.warn('[AW] snapshot error', e);
986          }
987        }
988
989        function patchXhr() {
990          const nativeSend = typeof XMLHttpRequest === 'function' ? XMLHttpRequest.prototype?.send : null;
991          if (typeof nativeSend !== 'function' || nativeSend.__AW__patched) return;
992
993          XMLHttpRequest.prototype.send = function(body) {
994            this.addEventListener('load', () => {
995              try {
996                const abs = this.responseURL || '';
997                const u = new URL(abs, location.origin);
998                const mt = u.pathname + (u.search || '');
999                if (this.status === 200 && cartRegex.test(mt)) {
1000                  scheduleCartSync();
1001                }
1002              } catch (e) {
1003                console.error('[AW] XHR handler error', e);
1004              }
1005            });
1006            return nativeSend.apply(this, arguments);
1007          };
1008
1009          XMLHttpRequest.prototype.send.__AW__patched = true;
1010        }
1011
1012        function patchFetch() {
1013          const previousFetch = window.fetch;
1014          if (typeof previousFetch !== 'function' || previousFetch.__AW__patched) return;
1015
1016          window.fetch = async function (...args) {
1017            const resource = args[0];
1018            try {
1019
1020              const url = resource instanceof Request ? resource.url  : resource instanceof URL ? resource.href : String(resource);
1021              if (cartRegex.test(url)) {
1022                const response = await previousFetch.apply(this, args);
1023                if (response.ok) {
1024                  scheduleCartSync();
1025                } else {
1026                  console.warn(`Fetch for ${url} failed with status: ${response.status}`);
1027                }
1028                return response;
1029              }
1030            } catch (error) {
1031              console.error('[AW] Fetch Wrapper Error:', error);
1032            }
1033
1034            return previousFetch.apply(this, args);
1035          };
1036
1037          window.fetch.__AW__patched = true;
1038        }
1039
1040        function scheduleCartSync() {
1041          if (!__AW__cartReady) return;
1042          awCartQueue = awCartQueue
1043            .then(() => {
1044              if (!sessionStorage.getItem(pendingCartEventName)) snapshotCart();
1045              return runCartSyncOnce();
1046            }).catch(e => {
1047              console.error('[AW] scheduleCartSync error', e);
1048            });
1049        }
1050
1051        async function runCartSyncOnce() {
1052          try {
1053            const response = await fetch(`${window.Shopify.routes.root || "/"}cart.js?adw=1`, {
1054              credentials: 'same-origin',
1055              headers: { 'Accept': 'application/json' }
1056            });
1057            if (!response.ok) throw new Error('HTTP ' + response.status);
1058            const newCart = await response.json();
1059            await compareCartData(newCart);
1060          } catch (error) {
1061            console.error('[AW] Error fetching /cart.js (singleton):', error);
1062          }
1063        }
1064
1065        function compareCartData(newCartData) {
1066          return new Promise((resolve) => {
1067            setTimeout(() => {
1068              try {
1069                const oldCartData = sessionStorage.getItem(pendingCartEventName) ? JSON.parse(sessionStorage.getItem(pendingCartEventName)) : {items: []};
1070                newCartData = newCartData || {items: []};
1071                const cartItemKey = item => `${item.variant_id ?? item.id}:${item.selling_plan_allocation?.selling_plan?.id ?? ''}`;
1072                const oldItems = new Map(oldCartData.items.map(item => [cartItemKey(item), item]));
1073                const newItems = new Map(newCartData.items.map(item => [cartItemKey(item), item]));
1074
1075                newItems.forEach((newItem, key) => {
1076                  const oldItem = oldItems.get(key);
1077                  const eventName = "add_to_cart";
1078                  if (!oldItem) {
1079                    handleCartDataLayer(eventName, newItem.quantity, newItem);
1080                  } else if (newItem.quantity > oldItem.quantity) {
1081                    handleCartDataLayer(eventName, newItem.quantity - oldItem.quantity, newItem);
1082                  }
1083                });
1084
1085                oldItems.forEach((oldItem, key) => {
1086                  const newItem = newItems.get(key);
1087                  const eventName = "remove_from_cart";
1088                  if (!newItem) {
1089                    handleCartDataLayer(eventName, oldItem.quantity, oldItem);
1090                  } else if (oldItem.quantity > newItem.quantity) {
1091                    handleCartDataLayer(eventName, oldItem.quantity - newItem.quantity, newItem);
1092                  }
1093                });
1094
1095                sessionStorage.removeItem(pendingCartEventName);
1096                window.__AW__slaveShopifyCart = newCartData;
1097              } catch(e) {
1098                console.error('[AW] compareCartData error', e);
1099                sessionStorage.removeItem(pendingCartEventName);
1100              } finally {
1101                resolve();
1102              }
1103            }, 500);
1104          });
1105        }
1106
1107        function handleCartDataLayer(eventName, quantity, item) {
1108          const price = (item.discounted_price ?? item.price) / 100;
1109          const discount = (item.price - (item.discounted_price ?? 0)) / 100;
1110          const totalValue = price * quantity;
1111          let coupon = "";
1112          if(Array.isArray(item?.discounts)) {
1113            coupon = item.discounts
1114                    .filter(discount => typeof discount?.title === 'string')
1115                    .map(discount => discount.title)
1116                    .join(', ');
1117          }
1118
1119          const ecommerceCart = {
1120            ecommerce: {
1121              currency: "USD",
1122              value: totalValue,
1123              items: [{
1124                item_id: __AW__transformNumberToString(item.product_id),
1125                item_variant: item.variant_title || "Default Variant",
1126                item_variant_id: __AW__transformNumberToString(item.variant_id),
1127                item_variant_title: item.variant_title || "Default Variant",
1128                item_name: item.product_title,
1129                item_product_id: __AW__transformNumberToString(item.product_id),
1130                item_product_title: item.product_title,
1131                sku: __AW__transformNumberToString(item.sku),
1132                discount: discount,
1133                price: price,
1134                item_brand: item.vendor,
1135                item_category: item.product_type,
1136                quantity: quantity,
1137                coupon: coupon,
1138                url: item?.url,
1139                selling_plan_id     : item?.selling_plan_allocation?.selling_plan?.id,
1140                selling_plan_name   : item?.selling_plan_allocation?.selling_plan?.name
1141              }]
1142            }
1143          };
1144
1145          window[__AW__settings.dataLayerVariableName].push({ ecommerce: null });
1146          window[__AW__settings.dataLayerVariableName].push({
1147            ...{ 'event': __AW__getEventNameWithSuffix(eventName) },
1148            ...ecommerceCart
1149          });
1150
1151        }
1152      }
1153
1154      if (document.readyState === 'loading') {
1155        // document still loading...
1156        document.addEventListener('DOMContentLoaded', () => {
1157          pushDataLayerEvents();
1158        });
1159      } else {
1160        // already loaded, chocs away!
1161        pushDataLayerEvents();
1162      }
1163    }
1164  }, 0);
1165</script>
1165
1166
1167
1168<!-- END app block --><!-- BEGIN app block: shopify://apps/reamaze-live-chat-helpdesk/blocks/reamaze-config/ef7a830c-d722-47c6-883b-11db06c95733 -->
1169
1170  
1170<script type="text/javascript" async src="https://cdn.reamaze.com/assets/reamaze-loader.js"></script>
1170
1171
1172  
1172<script type="text/javascript">
1173    var _support = _support || { 'ui': {}, 'user': {} };
1174    _support.account = 'naakbar';
1175  </script>
1175
1176
1177  
1178
1179  
1180    <!-- reamaze_embeddable_31347_s -->
1181<!-- Embeddable - Näak Contact Form Embed -->
1182<script type="text/javascript">
1183  var _support = _support || { 'ui': {}, 'user': {} };
1184  _support['account'] = 'naakbar';
1185  _support['contact_custom_fields'] = _support['contact_custom_fields'] || {};
1186  _support['contact_custom_fields']['rmz_form_id_31347'] = {
1187      'Order #': {
1188        pos: 1641661414166,
1189        type: 'text',
1190        value: '',
1191        required: false,
1192        placeholder: '',
1193      },
1194      'Topic': {
1195        pos: 1641661434456,
1196        type: 'dropdown',
1197        value: ['Product information','My online order','A quality issue','Something else'],
1198        required: true,
1199        placeholder: 'Select Topic',
1200        defaultValue: 'undefined',
1201      }
1202  };
1203</script>
1203
1204<!-- reamaze_embeddable_31347_e -->
1205
1206  
1207
1208
1209
1210
1211
1212<!-- END app block --><!-- BEGIN app block: shopify://apps/klaviyo-email-marketing-sms/blocks/klaviyo-onsite-embed/2632fe16-c075-4321-a88b-50b567f42507 -->
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225  
1225<script async src="https://static.klaviyo.com/onsite/js/HU4W5n/klaviyo.js?company_id=HU4W5n"></script>
1225
1226  
1226<script>!function(){if(!window.klaviyo){window._klOnsite=window._klOnsite||[];try{window.klaviyo=new Proxy({},{get:function(n,i){return"push"===i?function(){var n;(n=window._klOnsite).push.apply(n,arguments)}:function(){for(var n=arguments.length,o=new Array(n),w=0;w<n;w++)o[w]=arguments[w];var t="function"==typeof o[o.length-1]?o.pop():void 0,e=new Promise((function(n){window._klOnsite.push([i].concat(o,[function(i){t&&t(i),n(i)}]))}));return e}}})}catch(n){window.klaviyo=window.klaviyo||[],window.klaviyo.push=function(){var n;(n=window._klOnsite).push.apply(n,arguments)}}}}();</script>
1226
1227
1228  
1229    
1229<script id="viewed_product">
1230      if (item == null) {
1231        var _learnq = _learnq || [];
1232
1233        var MetafieldReviews = null
1234        var MetafieldYotpoRating = null
1235        var MetafieldYotpoCount = null
1236        var MetafieldLooxRating = null
1237        var MetafieldLooxCount = null
1238        var okendoProduct = null
1239        var okendoProductReviewCount = null
1240        var okendoProductReviewAverageValue = null
1241        try {
1242          // The following fields are used for Customer Hub recently viewed in order to add reviews.
1243          // This information is not part of __kla_viewed. Instead, it is part of __kla_viewed_reviewed_items
1244          MetafieldReviews = {"rating":{"scale_min":"1.0","scale_max":"5.0","value":"5.0"},"rating_count":8};
1245          MetafieldYotpoRating = null
1246          MetafieldYotpoCount = null
1247          MetafieldLooxRating = null
1248          MetafieldLooxCount = null
1249
1250          okendoProduct = null
1251          // If the okendo metafield is not legacy, it will error, which then requires the new json formatted data
1252          if (okendoProduct && 'error' in okendoProduct) {
1253            okendoProduct = null
1254          }
1255          okendoProductReviewCount = okendoProduct ? okendoProduct.reviewCount : null
1256          okendoProductReviewAverageValue = okendoProduct ? okendoProduct.reviewAverageValue : null
1257        } catch (error) {
1258          console.error('Error in Klaviyo onsite reviews tracking:', error);
1259        }
1260
1261        var item = {
1262          Name: "BOOST™ Drink Mix 60 · Salted Cucumber · Bag",
1263          ProductID: 10099179225392,
1264          Categories: ["All","All — minus utmb aid station sample pack","Best sellers","Cycling","Hiking","Malen Osa's collection","New Arrivals","Pau Capell's collection","Proven favorites, for every athlete.","Road Running","Special Offer","Sylvia Norksdar's collection","Trail running"],
1265          ImageURL: "https://www.naak.com/cdn/shop/files/naak-na-drink-mixes-1-bag-15-servings-boost-drink-mix-60-salted-cucumber-bag-1253784197_grande.jpg?v=1786395130",
1266          URL: "https://www.naak.com/products/boost-drink-mix-60-salted-cucumber-bag",
1267          Brand: "Näak",
1268          Price: "$48.00",
1269          Value: "48.00",
1270          CompareAtPrice: "$0.00"
1271        };
1272        _learnq.push(['track', 'Viewed Product', item]);
1273        _learnq.push(['trackViewedItem', {
1274          Title: item.Name,
1275          ItemId: item.ProductID,
1276          Categories: item.Categories,
1277          ImageUrl: item.ImageURL,
1278          Url: item.URL,
1279          Metadata: {
1280            Brand: item.Brand,
1281            Price: item.Price,
1282            Value: item.Value,
1283            CompareAtPrice: item.CompareAtPrice
1284          },
1285          metafields:{
1286            reviews: MetafieldReviews,
1287            yotpo:{
1288              rating: MetafieldYotpoRating,
1289              count: MetafieldYotpoCount,
1290            },
1291            loox:{
1292              rating: MetafieldLooxRating,
1293              count: MetafieldLooxCount,
1294            },
1295            okendo: {
1296              rating: okendoProductReviewAverageValue,
1297              count: okendoProductReviewCount,
1298            }
1299          }
1300        }]);
1301      }
1302    </script>
1302
1303  
1304
1305
1306
1307
1308  
1308<script>
1309    window.klaviyoReviewsProductDesignMode = false
1310  </script>
1310
1311
1312
1313
1314  <!-- BEGIN app snippet: customer-hub-data -->
1314<script>
1315  if (!window.customerHub) {
1316    window.customerHub = {};
1317  }
1318  window.customerHub.storefrontRoutes = {
1319    login: "https://www.naak.com/customer_authentication/redirect?locale=en&region_country=US?return_url=%2F%23k-hub",
1320    register: "https://shopify.com/12429414/account?locale=en&region_country=US&buyer_flags=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJuYWFrYmFyLm15c2hvcGlmeS5jb20iLCJmbGFncyI6W10sImV4cCI6MTc5MTY3OTcwMSwibmJmIjoxNzkxMDc0OTAxfQ.SHWPjZDj8LUGcVo3jaKUbM7_T6GacYSFGtg1hXXO7pc?return_url=%2F%23k-hub",
1321    logout: "/account/logout",
1322    profile: "/account",
1323    addresses: "/account/addresses",
1324  };
1325  
1326  window.customerHub.userId = null;
1327  
1328  window.customerHub.storeDomain = "naakbar.myshopify.com";
1329
1330  
1331    window.customerHub.activeProduct = {
1332      name: "BOOST™ Drink Mix 60 · Salted Cucumber · Bag",
1333      category: null,
1334      imageUrl: "https://www.naak.com/cdn/shop/files/naak-na-drink-mixes-1-bag-15-servings-boost-drink-mix-60-salted-cucumber-bag-1253784197_grande.jpg?v=1786395130",
1335      id: "10099179225392",
1336      link: "https://www.naak.com/products/boost-drink-mix-60-salted-cucumber-bag",
1337      options: [
1338        
1339          {
1340            name: "Quantity",
1341            values: [
1342              
1343                
1344                
1345                {
1346                  name: "1 bag - 15 servings",
1347                  colorHex: null,
1348                  swatchImageUrl: null
1349                }
1350              
1351            ]
1352          }
1353        
1354      ],
1355      variants: [
1356        
1357          {
1358            id: "50970992935216",
1359            selectedOptions: [
1360              
1361                
1362                {
1363                  name: "Quantity",
1364                  value: "1 bag - 15 servings"
1365                }
1366              
1367            ],
1368            
1369            imageUrl: null,
1370            
1371            price: "4800",
1372            currency: "CAD",
1373            availableForSale: true,
1374            title: "1 bag - 15 servings",
1375          },
1376        
1377      ],
1378    };
1379    window.customerHub.activeProduct.variants.forEach((variant) => {
1380        
1381        variant.price = `${variant.price.slice(0, -2)}.${variant.price.slice(-2)}`;
1382    });
1383  
1384
1385  
1386    window.customerHub.storeLocale = {
1387        currentLanguage: 'en',
1388        currentCountry: 'US',
1389        availableLanguages: [
1390          
1391            {
1392              iso_code: 'en',
1393              endonym_name: 'English'
1394            },
1395          
1396            {
1397              iso_code: 'fr',
1398              endonym_name: 'français'
1399            }
1400          
1401        ],
1402        availableCountries: [
1403          
1404            {
1405              iso_code: 'CA',
1406              name: 'Canada',
1407              currency_code: 'CAD'
1408            },
1409          
1410            {
1411              iso_code: 'HK',
1412              name: 'Hong Kong SAR',
1413              currency_code: 'HKD'
1414            },
1415          
1416            {
1417              iso_code: 'ID',
1418              name: 'Indonesia',
1419              currency_code: 'IDR'
1420            },
1421          
1422            {
1423              iso_code: 'JP',
1424              name: 'Japan',
1425              currency_code: 'JPY'
1426            },
1427          
1428            {
1429              iso_code: 'NZ',
1430              name: 'New Zealand',
1431              currency_code: 'NZD'
1432            },
1433          
1434            {
1435              iso_code: 'RU',
1436              name: 'Russia',
1437              currency_code: 'CAD'
1438            },
1439          
1440            {
1441              iso_code: 'SG',
1442              name: 'Singapore',
1443              currency_code: 'SGD'
1444            },
1445          
1446            {
1447              iso_code: 'KR',
1448              name: 'South Korea',
1449              currency_code: 'KRW'
1450            },
1451          
1452            {
1453              iso_code: 'TH',
1454              name: 'Thailand',
1455              currency_code: 'THB'
1456            },
1457          
1458            {
1459              iso_code: 'US',
1460              name: 'United States',
1461              currency_code: 'USD'
1462            }
1463          
1464        ]
1465    };
1466  
1467</script>
1467
1468<!-- END app snippet -->
1469
1470
1471
1472
1473
1474
1475
1476<!-- END app block --><!-- BEGIN app block: shopify://apps/microsoft-clarity/blocks/clarity_js/31c3d126-8116-4b4a-8ba1-baeda7c4aeea -->
1477<script type="text/javascript">
1478  (function (c, l, a, r, i, t, y) {
1479    c[a] = c[a] || function () { (c[a].q = c[a].q || []).push(arguments); };
1480    t = l.createElement(r); t.async = 1; t.src = "https://www.clarity.ms/tag/" + i + "?ref=shopify";
1481    y = l.getElementsByTagName(r)[0]; y.parentNode.insertBefore(t, y);
1482
1483    c.Shopify.loadFeatures([{ name: "consent-tracking-api", version: "0.1" }], error => {
1484      if (error) {
1485        console.error("Error loading Shopify features:", error);
1486        return;
1487      }
1488
1489      c[a]('consentv2', {
1490        ad_Storage: c.Shopify.customerPrivacy.marketingAllowed() ? "granted" : "denied",
1491        analytics_Storage: c.Shopify.customerPrivacy.analyticsProcessingAllowed() ? "granted" : "denied",
1492        source: 101,
1493      });
1494    });
1495
1496    l.addEventListener("visitorConsentCollected", function (e) {
1497      c[a]('consentv2', {
1498        ad_Storage: e.detail.marketingAllowed ? "granted" : "denied",
1499        analytics_Storage: e.detail.analyticsAllowed ? "granted" : "denied",
1500        source: 101,
1501      });
1502    });
1503  })(window, document, "clarity", "script", "xxnoxwwyae");
1504</script>
1504
1505
1506
1507
1508<!-- END app block --><link href="https://cdn.shopify.com/extensions/01a0e810-6f0e-75a7-af9e-8d71945888fc/loop-subscriptions-276/assets/loop_widget.css" rel="stylesheet" type="text/css" media="all">
1509<link rel="canonical" href="https://www.naak.com/products/boost-drink-mix-60-salted-cucumber-bag">
1510<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
1511<script>(function(){if ("sendBeacon" in navigator && "performance" in window) {try {var session_token_from_headers = performance.getEntriesByType('navigation')[0].serverTiming.find(x => x.name == '_s').description;} catch {var session_token_from_headers = undefined;}var session_cookie_matches = document.cookie.match(/_shopify_s=([^;]*)/);var session_token_from_cookie = session_cookie_matches && session_cookie_matches.length === 2 ? session_cookie_matches[1] : "";var session_token = session_token_from_headers || session_token_from_cookie || "";function handle_abandonment_event(e) {var entries = performance.getEntries().filter(function(entry) {return /monorail-edge.shopifysvc.com/.test(entry.name);});if (!window.abandonment_tracked && entries.length === 0) {window.abandonment_tracked = true;var currentMs = Date.now();var navigation_start = performance.timing.navigationStart;var payload = {shop_id: 12429414,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "product"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
vendor: 1 bytes, line 1511
1511
1512<script>
1513  window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || [];
1514</script>
vendor: 1 bytes, line 1514
1514
1515<script>(function(){var wpmLoader=function(){"use strict";var e=/Googlebot|Storebot-Google|bingbot|Baiduspider|YandexBot|DuckDuckBot|Slurp|facebookexternalhit|Twitterbot|LinkedInBot|Applebot|AdsBot-Google|Mediapartners-Google|APIs-Google|PetalBot|SemrushBot|AhrefsBot|MJ12bot|DotBot|Acunetix|PerplexityBot|Perplexity-User/i,t=/bytedance/i;function i(){try{var e=document.cookie;if(!e||"string"!=typeof e)return;for(var t=0,i=e.split(";");t<i.length;t++){var n=i[t],r=n.indexOf("=");if(-1!==r){var o=n.slice(0,r).trim();if(o){var a=void 0;try{a=decodeURIComponent(o)}catch(e){a=o}if("_shopify_s"===a){var d=n.slice(r+1).trim();try{return decodeURIComponent(d)}catch(e){return d}}}}}return}catch(e){return}}function n(e){try{"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn(e)}catch(e){}}function r(e,t){return"string"==typeof e&&e.length>0&&e.length<=t?e:void 0}function o(e){var t;switch(null==(t=null==e?void 0:e.navigation)?void 0:t.type){case 0:return"navigate";case 1:return"reload";case 2:return"back_forward";default:return}}function a(){var e,t,i;try{var n=null==(i=null==(t=null==(e=self.ShopifyAnalytics)?void 0:e.lib)?void 0:t.trekkie)?void 0:i.state;return"awaiting-consent"===n||"initialized"===n?n:void 0}catch(e){return}}return function(d,s,u,l){var c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};try{var p=c.trekkieShim;!0!==p&&"true"!==p||null!=window.__TREKKIE_SHIM_QUEUE||(window.__TREKKIE_SHIM_QUEUE=[])}catch(e){}var f,v,h,y,g=(v=(f={modern:/Edge?\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(9{2}|\d{3,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(15\.\d+|(1[6-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(9{2}|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]\d+|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/([2-9]\d|\d{3,})\.\d+/,legacy:/Edge?\/(1[6-9]|[2-9]\d|\d{3,})\.\d+(\.\d+|)|Firefox\/(5[4-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)|Chrom(ium|e)\/(5[1-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)([\d.]+$|.*Safari\/(?![\d.]+ Edge\/[\d.]+$))|(Maci|X1{2}).+ Version\/(10\.\d+|(1[1-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(3[89]|[4-9]\d|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(10[._]\d+|(1[1-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/}).modern,h=f.legacy,(y=navigator.userAgent).match(e)?"bot":y.match(v)?"modern":y.match(h)?"legacy":y.match(t)?"bot":"unknown"),m=function(e){var t,i,n=r(e,128);try{var a=window.performance,d=null==(t=null==a?void 0:a.getEntriesByType)?void 0:t.call(a,"navigation")[0];if(!d)return{requestId:n,navigationType:o(a)};var s="type"in d?r(d.type,64):void 0,u="serverTiming"in d&&Array.isArray(d.serverTiming)?d.serverTiming:[];return{requestId:null!=n?n:r(null==(i=u.find(function(e){return"requestID"===e.name}))?void 0:i.description,128),navigationType:s}}catch(e){return{requestId:n}}}(c.requestId),w=function(e){var t=e.version,r=e.browserTarget,o=e.surface,a=e.shopId,d=e.monorailEndpoint,s=window.location.href;return{emit:function(e){var u=e.status,l=e.errorMsg,c=e.failureReason,p=e.useKeepaliveFallback,f=void 0!==p&&p,v=e.navigationType,h=e.pagehidePersisted,y=e.requestId,g=e.trekkieState;if(d){var m,w;try{var b=(new Date).getTime();m=JSON.stringify({metadata:{event_sent_at_ms:b},events:[{schema_id:"web_pixels_manager_load/3.3",payload:{version:t,bundle_target:r,page_url:s,status:u,surface:o,error_msg:l,failure_reason:c,navigation_type:v,pagehide_persisted:h,request_id:y,trekkie_state:g,shop_id:a,visit_token:i()},metadata:{event_created_at_ms:b}}]})}catch(e){return}try{if("function"==typeof window.navigator.sendBeacon&&-1===(w=window.navigator.userAgent).indexOf("iPhone; CPU iPhone OS 12_")&&-1===w.indexOf("iPad; CPU OS 12_")&&-1===w.indexOf("iPod touch; CPU iPhone OS 12_")&&window.navigator.sendBeacon.bind(window.navigator)(d,m))return}catch(e){}if(f)try{"function"==typeof window.fetch&&window.fetch(d,{method:"POST",headers:{"Content-Type":"text/plain"},body:m,keepalive:!0}
1515).catch(function(){})}catch(e){}else try{var _=new XMLHttpRequest;_.open("POST",d,!0),_.setRequestHeader("Content-Type","text/plain"),_.send(m)}catch(e){n("[Web Pixels Manager] Got an unhandled error while logging to Monorail.")}}else n("[Web Pixels Manager] No Monorail endpoint provided, skipping logging.")}}}({version:u,browserTarget:g,surface:d.surface,shopId:d.shopId,monorailEndpoint:d.monorailEndpoint});if(Boolean(null==(_=null==(b=window.Shopify)?void 0:b.analytics)?void 0:_.replayQueue))w.emit({status:"setup-skipped",errorMsg:"replay queue already initialized."});else{var b,_;w.emit({status:"setup-started"}),window.Shopify=window.Shopify||{};var S=window.Shopify;S.analytics=S.analytics||{};var P=S.analytics;P.replayQueue=[],P.publish=function(e,t,i){return P.replayQueue.push([e,t,i]),!0};try{self.performance.mark("wpm:start")}catch(e){}var k,C="modern"===g?"modern":"legacy",E=(null!=l?l:{modern:"",legacy:""})[C],I=[(k={baseUrl:s,hashVersion:u,buildTarget:C}).baseUrl,"/wpm","/b",k.hashVersion,"modern"===k.buildTarget?"m":"l",".js"].join(""),O=!1,T=!1;try{c.browserTarget=g,function(){O=!0;try{window.addEventListener("pagehide",M)}catch(e){O=!1}}(),R(function(){try{R(x)}catch(e){D(e)}}),w.emit({status:"loading",requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()})}catch(e){D(e)}}function U(){var e;if(q(),!function(){var e,t;return Boolean(null==(t=null==(e=window.Shopify)?void 0:e.analytics)?void 0:t.initialized)}()){var t,i,n;try{if("function"!=typeof(null==(e=window.webPixelsManager)?void 0:e.init))return void A();if(!(null!==(n=i=t=window.webPixelsManager.init(d))&&"function"!=typeof n&&Object(n)===n&&"publish"in i&&"function"==typeof i.publish&&"publishCustomEvent"in i&&"function"==typeof i.publishCustomEvent&&"visitor"in i&&"function"==typeof i.visitor))return void A()}catch(e){return void A(e)}var r=window.Shopify.analytics;r.replayQueue.forEach(function(e){var i=e[0],n=e[1],r=e[2];t.publishCustomEvent(i,n,r)}),r.replayQueue=[],r.publish=t.publishCustomEvent,r.visitor=t.visitor,r.initialized=!0}}function A(e){B("manager_api_unavailable",void 0===e?void 0:Q(e))}function x(){B("script_load_failed","".concat(I," has failed to load"))}function B(e,t){T||(T=!0,q(),w.emit({status:"failed",errorMsg:t,failureReason:e,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function M(e){O&&(q(),w.emit({status:"pagehide-while-loading",useKeepaliveFallback:!0,pagehidePersisted:e.persisted,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function q(){O=!1;try{window.removeEventListener("pagehide",M)}catch(e){}}function R(e){var t;!function(e){var t=e.src,i=e.async,n=void 0===i||i,r=e.onload,o=e.onerror,a=e.sri,d=e.scriptDataAttributes,s=void 0===d?{}:d,u=document.createElement("script"),l=document.querySelector("head"),c=document.querySelector("body");if(u.async=n,u.src=t,a&&(u.integrity=a,u.crossOrigin="anonymous"),s)for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))try{u.dataset[p]=String(s[p])}catch(e){}if(r&&u.addEventListener("load",r),o&&u.addEventListener("error",o),l)l.appendChild(u);else{if(!c)throw new Error("Did not find a head or body element to append the script");c.appendChild(u)}}({src:I,async:!0,onload:U,onerror:e,sri:(t=E,"string"==typeof t&&/^sha384-[A-Za-z0-9+/=]+$/.test(t)?E:""),scriptDataAttributes:c})}function D(e){B("script_append_failed",Q(e))}function Q(e){return e instanceof Error?e.message:"Unknown error"}}}();wpmLoader({shopId: 12429414,storefrontBaseUrl: "https://www.naak.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://www.naak.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"2778923312","configuration":"{\"pixel_id\":\"655069044656418\",\"pixel_type\":\"facebook_pixel\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"96420dbe9ea96c426a1b7f364f977719","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"2744713520","configuration":"{\"projectId\":\"xxnoxwwyae\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"d8a2bb2ccbb513dc8e8b6937f4b8033e","type":"APP","apiClientId":240074326017,"privacyPurposes":[],"capabilities":["advanced_dom_events"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]}
1515,"dataSharingState":"unrestricted"},{"id":"2386034992","configuration":"{\"shop\":\"naakbar.myshopify.com\", \"shopliftUrl\":\"https:\/\/events.shoplift.ai\/api\/events\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"dabcda9558be25394b12ce3ce899568b","type":"APP","apiClientId":7521861633,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"1782513968","configuration":"{\"accountID\":\"HU4W5n\",\"webPixelConfig\":\"eyJlbmFibGVBZGRlZFRvQ2FydEV2ZW50cyI6IHRydWV9\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"c63c5b72c8d77be5f2d27d14c081da38","type":"APP","apiClientId":123074,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"1345028400","configuration":"{\"webPixelName\":\"Judge.me\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"8acc938b1a30dc7624e304493ca567d7","type":"APP","apiClientId":683015,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"929333552","configuration":"{\"shopId\":\"22888\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"e46595b10fdc5e1674d5c89a8c843bb3","type":"APP","apiClientId":5443297,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"844562736","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-DC8W65XN7F\\\",\\\"AW-17807573393\\\",\\\"GT-P3MHB9T\\\"],\\\"target_country\\\":\\\"CA\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":[\\\"G-DC8W65XN7F\\\",\\\"AW-17807573393\\\/_3g8CKesjNQbEJGDqKtC\\\"]},{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":[\\\"G-DC8W65XN7F\\\",\\\"AW-17807573393\\\/FnU4CMeMj9QbEJGDqKtC\\\"]},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-DC8W65XN7F\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-DC8W65XN7F\\\",\\\"AW-17807573393\\\/zNywCMSMj9QbEJGDqKtC\\\",\\\"MC-Q47TQHNRL7\\\"]},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-DC8W65XN7F\\\"},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-DC8W65XN7F\\\",\\\"AW-17807573393\\\/sqUACKSsjNQbEJGDqKtC\\\",\\\"MC-Q47TQHNRL7\\\"]},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-DC8W65XN7F\\\",\\\"AW-17807573393\\\/YCXlCK2sjNQbEJGDqKtC\\\",\\\"MC-Q47TQHNRL7\\\"]},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-DC8W65XN7F\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":[\\\"G-DC8W65XN7F\\\",\\\"AW-17807573393\\\/NG8wCMqMj9QbEJGDqKtC\\\"]},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":[\\\"G-DC8W65XN7F\\\",\\\"AW-17807573393\\\/7blrCKqsjNQbEJGDqKtC\\\"]},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-DC8W65XN7F\\\"}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"a3321ca85cf5aaf6b57585fcd8d67b3a","type":"APP","apiClientId":1780363,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]}
1515,{"id":"169607472","configuration":"{\"tagID\":\"2613742984271\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"7ae565e198624b39e0856d352b9a6b4c","type":"APP","apiClientId":3009811,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"130908464","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"Heatmap pixel"},{"id":"192479536","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":[],"name":"addingwell-pixel"},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"Näak NA","paymentSettings":{"currencyCode":"CAD"},"myshopifyDomain":"naakbar.myshopify.com","countryCode":"CA","storefrontUrl":"https:\/\/www.naak.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[{"price":{"amount":48.0,"currencyCode":"USD"},"product":{"title":"BOOST™ Drink Mix 60 · Salted Cucumber · Bag","vendor":"Näak","id":"10099179225392","untranslatedTitle":"BOOST™ Drink Mix 60 · Salted Cucumber · Bag","url":"\/products\/boost-drink-mix-60-salted-cucumber-bag","type":"Drink Mixes"},"id":"50970992935216","image":{"src":"\/\/www.naak.com\/cdn\/shop\/files\/naak-na-drink-mixes-1-bag-15-servings-boost-drink-mix-60-salted-cucumber-bag-1253784197.jpg?v=1786395130"},"sku":"BE-DM-CU-BG-01-CA","title":"1 bag - 15 servings","untranslatedTitle":"1 bag - 15 servings"}],"products":[{"id":"10099179225392","handle":"boost-drink-mix-60-salted-cucumber-bag","isCollective":null,"title":"BOOST™ Drink Mix 60 · Salted Cucumber · Bag","type":"Drink Mixes","untranslatedTitle":"BOOST™ Drink Mix 60 · Salted Cucumber · Bag","url":"\/products\/boost-drink-mix-60-salted-cucumber-bag","vendor":"Näak","remoteShopId":null,"variants":[{"id":"50970992935216","image":{"src":"\/\/www.naak.com\/cdn\/shop\/files\/naak-na-drink-mixes-1-bag-15-servings-boost-drink-mix-60-salted-cucumber-bag-1253784197.jpg?v=1786395130"},"price":{"amount":48.0,"currencyCode":"USD"},"sku":"BE-DM-CU-BG-01-CA","title":"1 bag - 15 servings","untranslatedTitle":"1 bag - 15 servings"}]},{"id":"10095776137520","handle":"boost-gel-30-neutral","isCollective":null,"title":"BOOST™ Gel 30 · Neutral","type":"Gels","untranslatedTitle":"BOOST™ Gel 30 · Neutral","url":"\/products\/boost-gel-30-neutral","vendor":"Näak","remoteShopId":null,"variants":[{"id":"50829705871664","image":{"src":"\/\/www.naak.com\/cdn\/shop\/files\/naak-na-gel-boost-gel-30-neutral-1253784193.jpg?v=1786395369"},"price":{"amount":4.0,"currencyCode":"USD"},"sku":"BE-GL-NE-UN-V2-CA","title":"x1","untranslatedTitle":"x1"}]},{"id":"9763368075568","handle":"boost-drink-mix-60-neutral-bag","isCollective":null,"title":"BOOST™ Drink Mix 60 · Neutral · Bag","type":"Drink mixes","untranslatedTitle":"BOOST™ Drink Mix 60 · Neutral · Bag","url":"\/products\/boost-drink-mix-60-neutral-bag","vendor":"Näak","remoteShopId":null,"variants":[{"id":"49589358625072","image":{"src":"\/\/www.naak.com\/cdn\/shop\/files\/naak-drink-mixes-1-bag-15-servings-boost-drink-mix-60-neutral-bag-1253784187.jpg?v=1786395670"},"price":{"amount":48.0,"currencyCode":"USD"},"sku":"BE-DM-NE-BG-01-CA","title":"1 Bag - $3.20 \/ Serving","untranslatedTitle":"1 bag - 15 servings"}]},{"id":"15137969996080","handle":"boost-drink-mix-60-pomegranate-berries-bag","isCollective":null,"title":"BOOST™ Drink Mix 60 · Pomegranate Berries · Bag","type":"Drink mixes","untranslatedTitle":"BOOST™ Drink Mix 60 · Pomegranate Berries · Bag","url":"\/products\/boost-drink-m
1515ix-60-pomegranate-berries-bag","vendor":"Näak","remoteShopId":null,"variants":[{"id":"66999415079216","image":{"src":"\/\/www.naak.com\/cdn\/shop\/files\/naak-na-drink-mixes-1-bag-15-servings-boost-drink-mix-60-pomegranate-berries-bag-1253784205.jpg?v=1786394588"},"price":{"amount":48.0,"currencyCode":"USD"},"sku":"BE-DM-GR-BG-01-CA","title":"1 bag - 15 servings","untranslatedTitle":"1 bag - 15 servings"}]},{"id":"10105197035824","handle":"naak-boost-drink-mix-60-variety-pack","isCollective":null,"title":"Boost™ Drink Mix 60 · Variety Pack","type":"Drink mixes","untranslatedTitle":"Boost™ Drink Mix 60 · Variety Pack","url":"\/products\/naak-boost-drink-mix-60-variety-pack","vendor":"Näak","remoteShopId":null,"variants":[{"id":"51095523393840","image":{"src":"\/\/www.naak.com\/cdn\/shop\/files\/naak-na-pack-boost-drink-mixes-variety-pack-1252656940.jpg?v=1785782289"},"price":{"amount":68.0,"currencyCode":"USD"},"sku":null,"title":"Default Title","untranslatedTitle":"Default Title"}]},{"id":"10099180536112","handle":"boost-drink-mix-60-salted-cucumber-single-serve","isCollective":null,"title":"BOOST™ Drink Mix 60 · Salted Cucumber · Single Serve","type":"Drink mixes","untranslatedTitle":"BOOST™ Drink Mix 60 · Salted Cucumber · Single Serve","url":"\/products\/boost-drink-mix-60-salted-cucumber-single-serve","vendor":"Näak","remoteShopId":null,"variants":[{"id":"50971026522416","image":{"src":"\/\/www.naak.com\/cdn\/shop\/files\/naak-na-drink-mixes-boost-drink-mix-60-salted-cucumber-single-serve-1253784198.jpg?v=1786395069"},"price":{"amount":4.0,"currencyCode":"USD"},"sku":"BE-DM-CU-SU-01-CA","title":"x1","untranslatedTitle":"x1"}]},{"id":"15307766071600","handle":"2x-free-purees","isCollective":null,"title":"2x Free ULTRA™ Purees","type":"Purees","untranslatedTitle":"2x Free ULTRA™ Purees","url":"\/products\/2x-free-purees","vendor":"Näak","remoteShopId":null,"variants":[{"id":"67853263077680","image":{"src":"\/\/www.naak.com\/cdn\/shop\/files\/naak-purees-2x-free-ultra-purees-1260038316.jpg?v=1790396950"},"price":{"amount":7.0,"currencyCode":"USD"},"sku":null,"title":"Default Title","untranslatedTitle":"Default Title"}]}],"purchasingCompany":null},},"https://www.naak.com/cdn","5982071ew7ea472e3p69b68784m2150dfea",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"186884456752","themePublished":"true","eventMetadataId":"73ef5700-e3a3-4462-b6f2-1b1b51a34a8d","pageType":"product","resourceId":"10099179225392","shopId":"12429414","storefrontBaseUrl":"https:\/\/www.naak.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\", \"7ee89bf1\"]","isMerchantRequest":"false","hashVersion":"5982071ew7ea472e3p69b68784m2150dfea","publish":"custom","events":"[[\"page_viewed\",{}],[\"product_viewed\",{\"productVariant\":{\"price\":{\"amount\":48.0,\"currencyCode\":\"USD\"},\"product\":{\"title\":\"BOOST™ Drink Mix 60 · Salted Cucumber · Bag\",\"vendor\":\"Näak\",\"id\":\"10099179225392\",\"untranslatedTitle\":\"BOOST™ Drink Mix 60 · Salted Cucumber · Bag\",\"url\":\"\/products\/boost-drink-mix-60-salted-cucumber-bag\",\"type\":\"Drink Mixes\"},\"id\":\"50970992935216\",\"image\":{\"src\":\"\/\/www.naak.com\/cdn\/shop\/files\/naak-na-drink-mixes-1-bag-15-servings-boost-drink-mix-60-salted-cucumber-bag-1253784197.jpg?v=1786395130\"},\"sku\":\"BE-DM-CU-BG-01-CA\",\"title\":\"1 bag - 15 servings\",\"untranslatedTitle\":\"1 bag - 15 servings\"}}]]"});})();</script>
1515<script>
1516  window.ShopifyAnalytics = window.ShopifyAnalytics || {};
1517  window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
1518  window.ShopifyAnalytics.meta.currency = 'USD';
1519  var meta = {"product":{"id":10099179225392,"gid":"gid:\/\/shopify\/Product\/10099179225392","vendor":"Näak","type":"Drink Mixes","handle":"boost-drink-mix-60-salted-cucumber-bag","variants":[{"id":50970992935216,"price":4800,"name":"BOOST™ Drink Mix 60 · Salted Cucumber · Bag - 1 bag - 15 servings","public_title":"1 bag - 15 servings","sku":"BE-DM-CU-BG-01-CA"}],"remote":false},"page":{"pageType":"product","resourceType":"product","resourceId":10099179225392,"requestId":"facdffff-2280-452f-8d2c-3baf856a8eee-1791074901"}};
1520  for (var attr in meta) {
1521    window.ShopifyAnalytics.meta[attr] = meta[attr];
1522  }
1523</script>
vendor: 1 bytes, line 1523
1523
1524<script class="analytics">
1525  (function () {
1526    var customDocumentWrite = function(content) {
1527      var jquery = null;
1528
1529      if (window.jQuery) {
1530        jquery = window.jQuery;
1531      } else if (window.Checkout && window.Checkout.$) {
1532        jquery = window.Checkout.$;
1533      }
1534
1535      if (jquery) {
1536        jquery('body').append(content);
1537      }
1538    };
1539
1540    var hasLoggedConversion = function(token) {
1541      if (token) {
1542        return document.cookie.indexOf('loggedConversion=' + token) !== -1;
1543      }
1544      return false;
1545    }
1546
1547    var setCookieIfConversion = function(token) {
1548      if (token) {
1549        var twoMonthsFromNow = new Date(Date.now());
1550        twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
1551
1552        document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
1553      }
1554    }
1555
1556    var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
1557    window.ShopifyAnalytics.lib.trekkie = window.trekkie;
1558    if (trekkie.integrations) {
1559      return;
1560    }
1561    trekkie.methods = [
1562      'identify',
1563      'page',
1564      'ready',
1565      'track',
1566      'trackForm',
1567      'trackLink'
1568    ];
1569    trekkie.factory = function(method) {
1570      return function() {
1571        var args = Array.prototype.slice.call(arguments);
1572        args.unshift(method);
1573        trekkie.push(args);
1574        if (method == 'track' || method == 'page') {
1575          var pageUrl;
1576          try {
1577            pageUrl = window.location.href;
1578          } catch (e) {}
1579          var pageReferrer;
1580          try {
1581            pageReferrer = document.referrer;
1582          } catch (e) {}
1583          try {
1584            if (window.__TREKKIE_SHIM_QUEUE == null) {
1585              window.__TREKKIE_SHIM_QUEUE = [];
1586            }
1587            window.__TREKKIE_SHIM_QUEUE.push({
1588              from: 'trekkie-stub',
1589              method: method,
1590              args: args.slice(1),
1591              pageContext: {
1592                url: pageUrl,
1593                referrer: pageReferrer
1594              }
1595            });
1596          } catch (e) {
1597            // no-op
1598          }
1599        }
1600        return trekkie;
1601      };
1602    };
1603    for (var i = 0; i < trekkie.methods.length; i++) {
1604      var key = trekkie.methods[i];
1605      trekkie[key] = trekkie.factory(key);
1606    }
1607    trekkie.load = function(config) {
1608      trekkie.config = config || {};
1609      trekkie.config.initialDocumentCookie = document.cookie;
1610      var first = document.getElementsByTagName('script')[0];
1611var script = document.createElement('script');
1612script.type = 'text/javascript';
1613script.onerror = function(e) {
1614  var scriptFallback = document.createElement('script');
1615  scriptFallback.type = 'text/javascript';
1616  scriptFallback.onerror = function(error) {
1617          var Monorail = {
1618      produce: function produce(monorailDomain, schemaId, payload) {
1619        var currentMs = new Date().getTime();
1620        var event = {
1621          schema_id: schemaId,
1622          payload: payload,
1623          metadata: {
1624            event_created_at_ms: currentMs,
1625            event_sent_at_ms: currentMs
1626          }
1627        };
1628        return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
1629      },
1630      sendRequest: function sendRequest(endpointUrl, payload) {
1631        // Try the sendBeacon API
1632        if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
1633          var blobData = new window.Blob([payload], {
1634            type: 'text/plain'
1635          });
1636
1637          if (window.navigator.sendBeacon(endpointUrl, blobData)) {
1638            return true;
1639          } // sendBeacon was not successful
1640
1641        } // XHR beacon
1642
1643        var xhr = new XMLHttpRequest();
1644
1645        try {
1646          xhr.open('POST', endpointUrl);
1647          xhr.setRequestHeader('Content-Type', 'text/plain');
1648          xhr.send(payload);
1649        } catch (e) {
1650          console.log(e);
1651        }
1652
1653        return false;
1654      },
1655      isIos12: function isIos12() {
1656        return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
1657      }
1658    };
1659    Monorail.produce('monorail-edge.shopifysvc.com',
1660      'trekkie_storefront_load_errors/1.1',
1661      {shop_id: 12429414,
1662      theme_id: 186884456752,
1663      app_name: "storefront",
1664      context_url: window.location.href,
1665      source_url: "//www.naak.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"});
1666
1667  };
1668  scriptFallback.async = true;
1669  scriptFallback.src = '//www.naak.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js';
1670  first.parentNode.insertBefore(scriptFallback, first);
1671};
1672script.async = true;
1673script.src = '//www.naak.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js';
1674first.parentNode.insertBefore(script, first);
1675
1676    };
1677    trekkie.load(
1678      {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":12429414,"isMerchantRequest":null,"themeId":186884456752,"themeCityHash":"3492907534576220399","contentLanguage":"en","currency":"USD","eventMetadataId":"73ef5700-e3a3-4462-b6f2-1b1b51a34a8d"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}}
1679    );
1680
1681    var loaded = false;
1682    trekkie.ready(function() {
1683      if (loaded) return;
1684      loaded = true;
1685
1686      window.ShopifyAnalytics.lib = window.trekkie;
1687
1688      var originalDocumentWrite = document.write;
1689      document.write = customDocumentWrite;
1690      try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
1691      document.write = originalDocumentWrite;
1692
1693      var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
1694      var token = match? match[1]: undefined;
1695      if (!hasLoggedConversion(token)) {
1696        setCookieIfConversion(token);
1697        window.ShopifyAnalytics.lib.track("Viewed Product",{"currency":"USD","variantId":50970992935216,"productId":10099179225392,"productGid":"gid:\/\/shopify\/Product\/10099179225392","name":"BOOST™ Drink Mix 60 · Salted Cucumber · Bag - 1 bag - 15 servings","price":"48.00","sku":"BE-DM-CU-BG-01-CA","brand":"Näak","variant":"1 bag - 15 servings","category":"Drink Mixes","nonInteraction":true,"remote":false,"available":true},undefined,undefined,{"shopifyEmitted":true});
1698      }
1699    });
1700
1701    window.ShopifyAnalytics.lib.page(null,{"pageType":"product","resourceType":"product","resourceId":10099179225392,"requestId":"facdffff-2280-452f-8d2c-3baf856a8eee-1791074901","shopifyEmitted":true});
1702
1703    var eventsListenerScript = document.createElement('script');
1704    eventsListenerScript.async = true;
1705    eventsListenerScript.src = "//www.naak.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
1706    document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
1707})();</script>
1707
1708  
1708<script>
1709  if (!window.ga || (window.ga && typeof window.ga !== 'function')) {
1710    window.ga = function ga() {
1711      (window.ga.q = window.ga.q || []).push(arguments);
1712      if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
1713        window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"});
1714      }
1715      console.error("Shopify's Google Analytics stub called with:", Array.from(arguments), "\nSee https://help.shopify.com/manual/promoting-marketing/pixels/pixel-migration#google for more information.");
1716    };
1717    if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') {
1718      window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"});
1719    }
1720  }
1721</script>
vendor: 1 bytes, line 1721
1721
1722<script
1723  defer
1724  src="https://www.naak.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js"
1725  data-application="storefront-renderer"
1726  data-shop-id="12429414"
1727  data-render-region="gcp-us-central1"
1728  data-page-type="product"
1729  data-theme-instance-id="186884456752"
1730  data-theme-name="Shopify Boilerplate V2"
1731  data-theme-version="2.0.0"
1732  data-monorail-region="shop_domain"
1733  data-resource-timing-sampling-rate="10"
1734  data-shs="true"
1735  data-shs-beacon="true"
1736  data-shs-export-with-fetch="true"
1737  data-shs-logs-sample-rate="1"
1738  data-shs-beacon-endpoint="https://www.naak.com/api/collect"
1739></script>
1739
1740<meta name="shopify-y" content="00000000-0000-0000-5000-000000000000" data-expiration="1822632501000"><meta name="shopify-s" content="00000000-0000-0000-5000-000000000000" data-expiration="1791076701000"><meta name="new-cookie-storage-activated" content="t">
1741</head>
1742
1743  
1743<script src="//www.naak.com/cdn/shop/t/335/assets/loop_bundle.js?v=22391738680670039401785855395"></script>
1743
1744  <body
1745    x-data="
1746      {
1747        openDrawer: (() => {
1748          try {
1749            return new URL(location.href).searchParams.get('cartDrawer') === 'open' ? 'cart' : null;
1750          } catch (_) {
1751            return null;
1752          }
1753        })(),
1754        productInfoPanel: 'ingredients',
1755        megaMenuIds: ['shop', 'explore'],
1756        megaMenuTab: 'shop',
1757        isMegaMenuOpen(id) {
1758          return id ? this.openDrawer === id : this.megaMenuIds.includes(this.openDrawer);
1759        },
1760        isCartOpen() { return this.openDrawer === 'cart'; },
1761        isFacetsOpen() { return this.openDrawer === 'facets'; },
1762        isSearchOpen() { return this.openDrawer === 'search'; },
1763        isLocaleOpen() { return this.openDrawer === 'locale'; },
1764        openMegaMenu(id) {
1765          this.megaMenuTab = id;
1766          this.openDrawer = id;
1767        },
1768        toggleMegaMenu(id) {
1769          if (this.isMegaMenuOpen() && this.megaMenuTab === id) {
1770            this.closeDrawers();
1771          } else {
1772            this.megaMenuTab = id;
1773            this.openDrawer = id;
1774          }
1775        },
1776        openCart() { this.openDrawer = 'cart'; },
1777        openLocale() {
1778          this.openDrawer = 'locale';
1779          window.dispatchEvent(new CustomEvent('boilerplate:locale-drawer:open'));
1780        },
1781        openFacets() {
1782          this.openDrawer = 'facets';
1783          window.dispatchEvent(new CustomEvent('boilerplate:collection-facets:sync', { detail: { open: true } }));
1784        },
1785        closeDrawers() {
1786          if (this.openDrawer === 'facets') {
1787            window.dispatchEvent(new CustomEvent('boilerplate:collection-facets:sync', { detail: { open: false } }));
1788          }
1789          if (this.openDrawer === 'search') {
1790            window.dispatchEvent(new CustomEvent('boilerplate:search-drawer:close'));
1791          }
1792          this.openDrawer = null;
1793        },
1794        openProductDrawer(id, panel) {
1795          if (id === 'product-reviews') {
1796            this.productInfoPanel = 'reviews';
1797            this.openDrawer = 'product-details';
1798            window.dispatchEvent(new CustomEvent('boilerplate:product-drawer-reviews:open'));
1799            return;
1800          }
1801          if (id === 'product-info') {
1802            if (panel) this.productInfoPanel = panel;
1803            this.openDrawer = 'product-details';
1804            if (panel === 'reviews') {
1805              window.dispatchEvent(new CustomEvent('boilerplate:product-drawer-reviews:open'));
1806            }
1807            return;
1808          }
1809          if (id === 'product-flavor') {
1810            window.dispatchEvent(new CustomEvent('boilerplate:product-flavor-drawer:open'));
1811          }
1812          if (panel) this.productInfoPanel = panel;
1813          this.openDrawer = id;
1814          if (panel === 'reviews') {
1815            window.dispatchEvent(new CustomEvent('boilerplate:product-drawer-reviews:open'));
1816          }
1817        },
1818        openSearch() { this.openDrawer = 'search'; },
1819        toggleSearch() {
1820          if (this.openDrawer === 'search') {
1821            this.closeDrawers();
1822          } else {
1823            this.openSearch();
1824            window.dispatchEvent(new CustomEvent('boilerplate:search-drawer:open'));
1825          }
1826        },
1827        toggleCart() {
1828          if (this.openDrawer === 'cart') {
1829            this.closeDrawers();
1830          } else {
1831            window.dispatchEvent(new CustomEvent('boilerplate:cart-drawer:open'));
1832          }
1833        }
1834      }
1835    "
1836    @boilerplate:cart-drawer:open.window="openCart()"
1837    @boilerplate:cart-drawer:close.window="closeDrawers()"
1838    @boilerplate:locale-drawer:open.window="openDrawer = 'locale'"
1839    @boilerplate:search-drawer:open.window="openSearch()"
1840    @boilerplate:collection-facets:open.window="openFacets()"
1841    @boilerplate:collection-facets:close.window="closeDrawers()"
1842    class="relative min-h-lvh bg-white text-black template-product"
1843    :class="openDrawer ? 'overflow-hidden' : ''"
1844  >
1845    
1845<script>
1846      window.boilerplateStrings = {
1847        product: {
1848          addToCart: "Add to cart",
1849          soldOut: "Sold out"
1850        }
1851      };
1852    </script>
1852
1853
1854    <a class="sr-only focus:not-sr-only" href="#MainContent">Skip to content</a>
1855
1856    <!-- BEGIN sections: header-group -->
1857<div id="shopify-section-sections--27256355291440__announcement" class="shopify-section shopify-section-group-header-group announcement-bar-section">
1858
1859
1860
1861  
1862
1863  <div
1864    class="announcement-bar announcement-bar--reserving announcement-bar--primary  "
1865    
1866  >
1867    <div class="announcement-bar__inner">
1868      <div class="announcement-bar__layout">
1869        <div class="announcement-bar__spacer" aria-hidden="true"></div>
1870
1871        <div class="announcement-bar__message">
1872          
1873            
1874
1875<div
1876  class="announcement-ticker announcement-bar__swiper w-full"
1877  data-announcement-bar
1878  data-autoplay="true"
1879  data-autoplay-speed="5000"
1880  data-loop="true"
1881  role="region"
1882  aria-label="Announcement bar"
1883  aria-roledescription="carousel"
1884  tabindex="0"
1885>
1886  <div class="announcement-ticker__track" data-announcement-track>
1887    
1888  
1889<div
1890  class="announcement-ticker__slide announcement-bar__slide flex h-full w-full items-center justify-center gap-[var(--announcement-gap)] text-center "
1891  style="--announcement-gap: 10px;"
1892  
1893  
1894>
1895  
1896
1897<div
1898  class="product-text-block text-sm text-black/60"
1899  style="margin-top: 0px; margin-bottom: 0px;"
1900  
1901>
1902  
1903    <div class="rte"><p><strong>15% off subscriptions for members.</strong> <a href="/pages/membership-program" title="membership-program"><span style="text-decoration:underline">Join Now</span></a></p></div>
1904  
1905</div>
1906
1907
1908
1909</div>
1910
1911
1912
1913<div
1914  class="announcement-ticker__slide announcement-bar__slide flex h-full w-full items-center justify-center gap-[var(--announcement-gap)] text-center "
1915  style="--announcement-gap: 10px; display: none;"
1916  data-announcement-slide-hidden
1917  
1918>
1919  
1920
1921<div
1922  class="product-text-block text-sm text-black/60"
1923  style="margin-top: 0px; margin-bottom: 0px;"
1924  
1925>
1926  
1927    <div class="rte"><p>New BOOST™ Drink Mix Flavour. <a href="/products/boost-drink-mix-60-salted-cucumber-bag" title="BOOST™ Drink Mix 60 · Salted Cucumber · Bag">Shop Now</a></p></div>
1928  
1929</div>
1930
1931
1932
1933</div>
1934
1935
1936
1937<div
1938  class="announcement-ticker__slide announcement-bar__slide flex h-full w-full items-center justify-center gap-[var(--announcement-gap)] text-center "
1939  style="--announcement-gap: 10px; display: none;"
1940  data-announcement-slide-hidden
1941  
1942>
1943  
1944
1945<div
1946  class="product-text-block text-sm text-black/60"
1947  style="margin-top: 0px; margin-bottom: 8px;"
1948  
1949>
1950  
1951    <div class="rte"><p>Which product is right for you? <a href="/pages/take-the-quiz" title="Which product is right for you?">Take the quiz</a></p></div>
1952  
1953</div>
1954
1955
1956
1957</div>
1958
1959
1960
1961
1962  </div>
1963</div>
1964
1965          
1966        </div>
1967
1968        
1969          <aside class="announcement-bar__aside max-lg:hidden">
1970            <a href="/pages/store-locator" class="header__badge">
1971              Find a store
1972            </a>
1973            
1974
1975<button
1976  type="button"
1977  class="announcement-bar__locale "
1978  aria-label="Choose a region"
1979  aria-haspopup="dialog"
1980  @click="openLocale()"
1981>
1982  <span class="announcement-bar__locale-link">
1983    <span>EN</span>
1984    <span
1985      class="announcement-bar__locale-separator"
1986      aria-hidden="true"
1987    >/</span>
1988    <span>$</span>
1989  </span>
1990</button>
1991
1992          </aside>
1993        
1994      </div>
1995    </div>
1996  </div>
1997
1998
1999
2000</div><div id="shopify-section-sections--27256355291440__header" class="shopify-section shopify-section-group-header-group section-header"><header
2001  id="HeaderSection-sections--27256355291440__header"
2002  class="header header--product"
2003  
2004  x-data="
2005    {
2006      scrolled: false,
2007      scrollThreshold() {
2008        const bar = document.querySelector('.announcement-bar-section');
2009        return (bar?.offsetHeight ?? 0) + 1;
2010      }
2011    }
2012  "
2013  x-init="scrolled = window.scrollY > scrollThreshold()"
2014  @scroll.window.passive="scrolled = window.scrollY > scrollThreshold()"
2015  :class="{ 'is-scrolled': scrolled }"
2016  aria-label="Näak NA"
2017>
2018  <div class="header__inner"><nav class="header__nav" aria-label="Main navigation"><button
2019            type="button"
2020            class="header__nav-link btn-link btn-link--s"
2021            data-mega-trigger="shop"
2022            :aria-expanded="isMegaMenuOpen('shop') ? 'true' : 'false'"
2023            aria-controls="MegaMenu-shop"
2024            @click.prevent="toggleMegaMenu('shop')"
2025          >
2026            Shop
2027          </button><button
2028            type="button"
2029            class="header__nav-link btn-link btn-link--s"
2030            data-mega-trigger="explore"
2031            :aria-expanded="isMegaMenuOpen('explore') ? 'true' : 'false'"
2032            aria-controls="MegaMenu-explore"
2033            @click.prevent="toggleMegaMenu('explore')"
2034          >
2035            Explore
2036          </button><a
2037            href="/pages/utmb-world-series"
2038            class="header__nav-lin btn-link btn-link--s max-lg:hidden"
2039            
2040          >
2041            UTMB® World Series
2042          </a><a href="/pages/nutrition-calculator" class="header__badge max-lg:hidden">
2043            Nutrition Calculator
2044          </a></nav><a href="/" class="header__logo" aria-label="Näak NA"><svg
2045  id="logo-header"
2046  class=""
2047  width="106" height="82"
2048  viewBox="0 0 106 82"
2049  fill="none"
2050  xmlns="http://www.w3.org/2000/svg"
2051  aria-hidden="true"
2052>
2053  <path d="M65.7688 56.8501C61.9819 56.8501 59.5891 59.8186 59.5891 63.3584C59.5891 66.8982 62.0177 69.831 65.7688 69.831C69.4842 69.831 71.9854 66.8625 71.9854 63.3226C71.9854 59.8186 69.4842 56.8501 65.7688 56.8501Z" fill="currentColor"/>
2054  <path d="M93.8836 49.4639H94.4119C94.6778 49.4639 94.8688 49.6495 94.8688 49.91C94.8688 50.1135 94.7538 50.2633 94.5672 50.3225L94.8867 50.8615H94.6488L94.365 50.3516H94.0869V50.8615H93.8836V49.4639ZM94.3416 51.3378C94.9738 51.3378 95.5011 50.8156 95.5011 50.1772C95.5011 49.5388 94.9738 49.0166 94.3416 49.0166C93.7104 49.0166 93.182 49.5388 93.182 50.1772C93.182 50.8156 93.7104 51.3378 94.3416 51.3378Z" fill="currentColor"/>
2055  <path d="M94.6726 49.9102C94.6726 49.7414 94.5743 49.6374 94.3643 49.6374H94.0861V50.1774H94.3475C94.562 50.1774 94.6726 50.079 94.6726 49.9102Z" fill="currentColor"/>
2056  <path d="M43.5117 56.8508C39.7248 56.8508 37.332 59.8193 37.332 63.3591C37.332 66.8978 39.7606 69.8305 43.5117 69.8305C47.2271 69.8305 49.7283 66.862 49.7283 63.3222C49.7283 59.8193 47.2271 56.8508 43.5117 56.8508Z" fill="currentColor"/>
2057  <path d="M90.9495 72.9768L84.0192 64.2167L82.3402 65.754V72.9768H78.4103V51.745
20577L82.3402 48.9415V61.1409L90.4491 53.7045H95.6301L86.7705 61.7133L96.0233 72.9768H90.9495ZM75.5941 72.9768H71.8061V70.3314C70.2355 72.1908 68.0549 73.4419 65.2332 73.4419C59.6601 73.4419 55.624 68.973 55.624 63.216C55.624 57.459 59.6958 53.2394 65.2332 53.2394C68.0549 53.2394 70.2355 54.5263 71.8061 56.3857L75.5941 53.7045V72.9768ZM94.3421 48.7962C95.1017 48.7962 95.7206 49.4223 95.7206 50.1826C95.7206 50.9429 95.1017 51.5578 94.3421 51.5578C93.5825 51.5578 92.9614 50.9317 92.9614 50.1714C92.9614 49.4111 93.5825 48.7962 94.3421 48.7962ZM53.3362 72.9768H49.5493V70.3303C47.9776 72.1897 45.7982 73.4419 42.9764 73.4419C37.4033 73.4419 33.3661 68.9719 33.3661 63.2149C33.3661 57.4579 37.439 53.2383 42.9764 53.2383C45.7982 53.2383 47.9776 54.5263 49.5493 56.3857L53.3362 53.7034V72.9768ZM31.0974 72.9768H27.1306V62.3573C27.1306 58.7459 25.2014 56.8508 22.5226 56.8508C19.5568 56.8508 17.4857 59.1384 17.4857 62.4289V72.9768H13.5558V53.7045L17.4142 56.4215C18.5212 54.4548 20.7364 53.2036 23.5235 53.2036C27.4534 53.2036 31.0974 55.7774 31.0974 61.2482V72.9768ZM40.2608 45.6577C41.7253 45.6577 42.8681 46.7669 42.8681 48.2327C42.8681 49.77 41.7253 50.8792 40.2608 50.8792C38.7605 50.8792 37.6178 49.77 37.6178 48.2327C37.6178 46.7669 38.7605 45.6577 40.2608 45.6577ZM47.5844 45.6577C49.0131 45.6577 50.1559 46.7669 50.1559 48.2327C50.1559 49.77 49.0131 50.8792 47.5844 50.8792C46.0841 50.8792 44.9402 49.77 44.9402 48.2327C44.9402 46.7669 46.0841 45.6577 47.5844 45.6577ZM97.3415 0L87.6139 9.14026L81.3527 6.72076L64.1608 18.0838L58.8703 16.7611L53.439 24.4613L43.4813 21.7443L25.0014 35.9909L15.4224 35.7874L0 55.2654V81.2986H106V16.1439L97.3415 0Z" fill="currentColor"/>
2058</svg>
2059</a><div class="header__actions"><button
2060        type="button"
2061        class="header__search-pill max-lg:hidden"
2062        aria-label="Search"
2063        aria-controls="search-drawer"
2064        :aria-expanded="isSearchOpen() ? 'true' : 'false'"
2065        @click="toggleSearch()"
2066      ><svg
2067      class=""
2068      aria-hidden="true"
2069      width="20"
2070      height="20"
2071      viewBox="0 0 20 20"
2072      fill="none"
2073      xmlns="http://www.w3.org/2000/svg"
2074    >
2075      <path d="M8.75 15C12.2018 15 15 12.2018 15 8.75C15 5.29822 12.2018 2.5 8.75 2.5C5.29822 2.5 2.5 5.29822 2.5 8.75C2.5 12.2018 5.29822 15 8.75 15Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
2076      <path d="M13.1694 13.1694L17.4999 17.4999" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
2077    </svg><span class="header__search-label">Search</span>
2078      </button>
2079
2080      <button
2081        type="button"
2082        class="header__search-mobile md:hidden"
2083        aria-label="Search"
2084        aria-controls="search-drawer"
2085        :aria-expanded="isSearchOpen() ? 'true' : 'false'"
2086        @click="toggleSearch()"
2087      ><svg
2088      class=""
2089      aria-hidden="true"
2090      width="20"
2091      height="20"
2092      viewBox="0 0 20 20"
2093      fill="none"
2094      xmlns="http://www.w3.org/2000/svg"
2095    >
2096      <path d="M8.75 15C12.2018 15 15 12.2018 15 8.75C15 5.29822 12.2018 2.5 8.75 2.5C5.29822 2.5 2.5 5.29822 2.5 8.75C2.5 12.2018 5.29822 15 8.75 15Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
2097      <path d="M13.1694 13.1694L17.4999 17.4999" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
2098    </svg></button><div class="header__icon-group"><a
2099            href="https://www.naak.com/customer_authentication/redirect?locale=en&region_country=US"
2100            class="header__account btn-link btn-link--s max-lg:hidden"
2101            rel="nofollow"
2102          >
2103            Account
2104          </a><button
2105          type="button"
2106          class="header__icon-btn js-cart-open"
2107          aria-label="Cart"
2108          aria-controls="cart-drawer"
2109          :aria-expanded="isCartOpen() ? 'true' : 'false'"
2110          @click="toggleCart()"
2111        ><svg
2112      class=""
2113      aria-hidden="true"
2114      width="20"
2115      height="20"
2116      viewBox="0 0 16 16"
2117      fill="none"
2118      xmlns="http://www.w3.org/2000/svg"
2119    >
2120      <path d="M12.7 4.6001H3.3C3.02386 4.6001 2.8 4.82396 2.8 5.1001L2 13.3001C2 13.5762 2.22386 13.8001 2.5 13.8001H13.5C13.7761 13.8001 14 13.5762 14 13.3001L13.2 5.1001C13.2 4.82396 12.9761 4.6001 12.7 4.6001Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
2121      <path d="M10.5 6.7998L10.5 4.0998C10.5 3.43676 10.2366 2.80088 9.76777 2.33204C9.29893 1.8632 8.66304 1.5998 8 1.5998C7.33696 1.5998 6.70107 1.8632 6.23223 2.33204C5.76339 2.80088 5.5 3.43676 5.5 4.0998L5.5 6.7998" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
2122      <circle
2123        data-cart-dot
2124        cx="12.8001"
2125        cy="12.8001"
2126        r="3.2"
2127        fill="#FFF200"style="display:none"/>
2128    </svg></button>
2129      </div>
2130    </div>
2131  </div>
2132</header>
2133
2134
2135</div><section id="shopify-section-sections--27256355291440__mega-menu" class="shopify-section shopify-section-group-header-group mega-menu-section"><div
2136  id="MegaMenu"
2137  class="mega-menu"
2138  :class="{ 'pointer-events-none': !isMegaMenuOpen() }"
2139  role="dialog"
2140  aria-modal="true"
2141  aria-label="Main menu"
2142  x-show="isMegaMenuOpen()"
2143  @keydown.escape.window="isMegaMenuOpen() && closeDrawers()"
2144  style="display: none;"
2145>
2146  <button
2147    type="button"
2148    class="mega-menu__backdrop max-lg:hidden"
2149    aria-label="Close"
2150    x-show="isMegaMenuOpen()"
2151    x-transition:enter="transition-opacity ease-out duration-300"
2152    x-transition:enter-start="opacity-0"
2153    x-transition:enter-end="opacity-100"
2154    x-transition:leave="transition-opacity ease-in duration-300"
2155    x-transition:leave-start="opacity-100"
2156    x-transition:leave-end="opacity-0"
2157    @click="closeDrawers()"
2158  ></button>
2159
2160  <div
2161    class="mega-menu__drawer"
2162    x-show="isMegaMenuOpen()"
2163    x-transition:enter="transform transition ease-out duration-300"
2164    x-transition:enter-start="-translate-x-full"
2165    x-transition:enter-end="translate-x-0"
2166    x-transition:leave="transform transition ease-in duration-300"
2167    x-transition:leave-start="translate-x-0"
2168    x-transition:leave-end="-translate-x-full"
2169  >
2170    <div class="mega-menu__shell"><div class="mega-menu__tabs">
2171        <div class="mega-menu__tabs-inner">
2172          <div class="mega-menu__tabs-inner-left">
2173            <button
2174              type="button"
2175              class="mega-menu__tab btn-link btn-link--s"
2176              :class="megaMenuTab === 'shop' ? 'mega-menu__tab--active' : 'mega-menu__tab--inactive'"
2177              :aria-expanded="isMegaMenuOpen() && megaMenuTab === 'shop' ? 'true' : 'false'"
2178              aria-controls="MegaMenu-shop"
2179              @click="openMegaMenu('shop')"
2180            >
2181              Shop
2182            </button>
2183            <button
2184              type="button"
2185              class="mega-menu__tab btn-link btn-link--s"
2186              :class="megaMenuTab === 'explore' ? 'mega-menu__tab--active' : 'mega-menu__tab--inactive'"
2187              :aria-expanded="isMegaMenuOpen() && megaMenuTab === 'explore' ? 'true' : 'false'"
2188              aria-controls="MegaMenu-explore"
2189              @click="openMegaMenu('explore')"
2190            >
2191              Explore
2192            </button><a href="/pages/utmb-world-series" class="mega-menu__badge">
2193                  UTMB Partner
2194                </a></div>
2195        </div>
2196      </div>
2197
2198      <div class="mega-menu__body">
2199        <div
2200          id="MegaMenu-shop"
2201          class="mega-menu__panel"
2202          :class="megaMenuTab === 'shop' ? '' : 'mega-menu__panel--hidden'"
2203          :hidden="megaMenuTab !== 'shop'"
2204        >
2205          <div id="shopify-block-AR1UyN1JmRlloSEx3e__shop" class="shopify-block"><div
2206  class="mega-menu__panel-inner"
2207  
2208>
2209  <div class="mega-menu__panel-content"><div id="shopify-block-AZWNKNHdwTWY2WkNkR__shop-category" class="shopify-block"><div class="mega-menu__category" ><a
2210        href="/collections/all-products"
2211        class="mega-menu__category-title no-underline transition-opacity hover:opacity-75"
2212      >Nutrition</a><div class="mega-menu__category-body">
2213    <div id="shopify-block-AQ3ZpUEhDaEc5VXBIR__shop-large" class="shopify-block"><div class="mega-menu__large-zone" >
2214  <div id="shopify-block-AQ09HbkJicUkyYXlzZ__shop-large-gels" class="shopify-block"><div class="mega-menu__link-wrap " ><a
2215        href="/collections/gels"
2216        class="mega-menu__link-item"
2217      >Gels</a></div>
2218</div>
2219<div id="shopify-block-AalMrNGp0bnFDTUdPV__shop-large-boissons" class="shopify-block"><div class="mega-menu__link-wrap " ><a
2220        href="/collections/drink-mixes"
2221        class="mega-menu__link-item"
2222      >Drink Mixes</a></div>
2223</div>
2224<div id="shopify-block-ANEF2RHdjN2lzbzZLZ__shop-large-purees" class="shopify-block"><div class="mega-menu__link-wrap " ><a
2225        href="/collections/ultra-energy-purees"
2226        class="mega-menu__link-item"
2227      >Purees</a></div>
2228</div>
2229<div id="shopify-block-AK0ZwcVIyaVRRSDFKL__shop-large-gaufres" class="shopify-block"><div class="mega-menu__link-wrap " ><a
2230        href="/collections/energy-waffles"
2231        class="mega-menu__link-item"
2232      >Waffles</a></div>
2233</div>
2234<div id="shopify-block-ANktoMFgvZ0ZIclY0N__shop-large-barres" class="shopify-block"><div class="mega-menu__link-wrap " ><a
2235        href="/collections/bars"
2236        class="mega-menu__link-item"
2237      >Bars</a></div>
2238</div>
2239<div id="shopify-block-AZCszN2VzeUFvdjlnQ__mega_menu_link_wGUxUi" class="shopify-block"><div class="mega-menu__link-wrap " ><a
2240        href="/collections/ultra-recovery-protein-powders"
2241        class="mega-menu__link-item"
2242      >Recovery Mixes</a></div>
2243</div>
2244
2245</div>
2246
2247
2248</div>
2249
2250    <div id="shopify-block-AOFdjV1RrT2tLb1VNS__shop-secondary" class="shopify-block"><div class="mega-menu__secondary-zone" >
2251  <div id="shopify-block-Ad3hTOHFNT1p5ZVoxa__shop-secondary-ultra" class="shopify-block"><div class="mega-menu__link-wrap " ><a
2252        href="/collections/ultra-energy"
2253        class="mega-menu__link-item"
2254      >ULTRA™ energy line</a></div>
2255</div>
2256<div id="shopify-block-AQWdVVW51NmpWeUViV__shop-secondary-boost" class="shopify-block"><div class="mega-menu__link-wrap " ><a
2257        href="/collections/boost-energy"
2258        class="mega-menu__link-item"
2259      >BOOST™ energy line</a></div>
2260</div>
2261<div id="shopify-block-AODNSc3FUZVo2ODRnZ__shop-secondary-recovery" class="shopify-block"><div class="mega-menu__link-wrap " ><a
2262        href="/collections/ultra-recovery-protein-powders"
2263        class="mega-menu__link-item"
2264      >RECOVERY™ line</a></div>
2265</div>
2266
2267</div>
2268
2269
2270</div>
2271
2272  </div>
2273</div>
2274
2275
2276</div>
2277
2278      <div id="shopify-block-ANFpUN3VVS1ducURGN__shop-links" class="shopify-block"><div class="mega-menu__links-zone" >
2279  <div id="shopify-block-AejZPK2hGSnYwOGRuM__mega_menu_link_tG6Lax" class="shopify-block"><div class="mega-menu__link-wrap " ><a
2280        href="/collections/new-arrivals"
2281        class="mega-menu__link-item"
2282      >New</a></div>
2283</div>
2284<div id="shopify-block-AM1VOd3dDREdnTW1Eb__shop-link-packs" class="shopify-block"><div class="mega-menu__link-wrap " ><a
2285        href="/collections/packs"
2286        class="mega-menu__link-item"
2287      >Packs</a></div>
2288</div>
2289<div id="shopify-block-AN1ByZjRGNHNsdkNEU__shop-link-accessoires" class="shopify-block"><div class="mega-menu__link-wrap " ><a
2290        href="/collections/gear-accessories"
2291        class="mega-menu__link-item"
2292      >Gear &amp; Accessories</a></div>
2293</div>
2294<div id="shopify-block-AQTRJa2ZsN3BhTGk3V__mega_menu_link_8qLFXk" class="shopify-block"><div class="mega-menu__link-wrap " ><a
2295        href="/collections/no-waste-deals"
2296        class="mega-menu__link-item"
2297      >No-waste deals</a></div>
2298</div>
2299
2300</div>
2301
2302
2303</div>
2304
2305</div><div id="shopify-block-AeU1yeUh6OFFnRGxtb__shop-featured" class="shopify-block"><div class="mega-menu__featured-zone" >
2306  <div id="shopify-block-AaXBpcmFMeDZYc1VWT__shop-featured-pack" class="shopify-block"><div class="mega-menu__featured-card" ><a href="/pages/nutrition-calculator" class="mega-menu__featured-card-link"><div class="mega-menu__featured-card-media"><img src="//www.naak.com/cdn/shop/files/Cocodona250_PreRace_Courntey-16.jpg?v=1785438254&amp;width=600" alt="Calculate your nutrition plan" srcset="//www.naak.com/cdn/shop/files/Cocodona250_PreRace_Courntey-16.jpg?v=1785438254&amp;width=222 222w, //www.naak.com/cdn/shop/files/Cocodona250_PreRace_Courntey-16.jpg?v=1785438254&amp;width=444 444w, //www.naak.com/cdn/shop/files/Cocodona250_PreRace_Courntey-16.jpg?v=1785438254&amp;width=600 600w" width="600" height="800" loading="lazy" class="mega-menu__featured-card-image" sizes="50vw">
2307</div>
2308      <p class="mega-menu__featured-card-label">Calculate your nutrition plan</p></a></div>
2309</div>
2310<div id="shopify-block-AeHlEREI4QWppQkJUV__shop-featured-guide" class="shopify-block"><div class="mega-menu__featured-card" ><a href="/pages/naak-nutrition-guide" class="mega-menu__featured-card-link"><div class="mega-menu__featured-card-media"><img src="//www.naak.com/cdn/shop/files/hogan-2-mobile.jpg?v=1785434353&amp;width=600" alt="The NÄAKLAB&#39;s nutrition guide" srcset="//www.naak.com/cdn/shop/files/hogan-2-mobile.jpg?v=1785434353&amp;width=222 222w, //www.naak.com/cdn/shop/files/hogan-2-mobile.jpg?v=1785434353&amp;width=444 444w, //www.naak.com/cdn/shop/files/hogan-2-mobile.jpg?v=1785434353&amp;width=600 600w" width="600" height="399" loading="lazy" class="mega-menu__featured-card-image" sizes="50vw">
2311</div>
2312      <p class="mega-menu__featured-card-label">The NÄAKLAB&#39;s nutrition guide</p></a></div>
2313</div>
2314
2315</div>
2316
2317
2318</div>
2319
2320</div>
2321
2322
2323</div>
2324
2325        </div>
2326
2327        <div
2328          id="MegaMenu-explore"
2329          class="mega-menu__panel mega-menu__panel--explore"
2330          :class="megaMenuTab === 'explore' ? '' : 'mega-menu__panel--hidden'"
2331          :hidden="megaMenuTab !== 'explore'"
2332        >
2333          <div id="shopify-block-Ab0RyM1ZBTXpSNjQxa__explore" class="shopify-block"><div
2334  class="mega-menu__panel-inner mega-menu__panel-inner--explore"
2335  
2336>
2337  <div class="mega-menu__panel-content"><div id="shopify-block-AeUJpeEtzSDZpd2ZWR__explore-links" class="shopify-block"><div class="mega-menu__links-zone" >
2338  <div id="shopify-block-AQXc3OHlMQTJRQkZNM__explore-link-utmb" class="shopify-block"><div class="mega-menu__link-wrap " ><a
2339        href="/pages/utmb-world-series"
2340        class="mega-menu__link-item"
2341      >näak x UTMB® World Series</a></div>
2342</div>
2343<div id="shopify-block-AWHA0V0YvdWFhWi9mT__mega_menu_link_p9NhgJ" class="shopify-block"><div class="mega-menu__link-wrap " ><a
2344        href="/pages/ultra-energy-science"
2345        class="mega-menu__link-item"
2346      >Science</a></div>
2347</div>
2348<div id="shopify-block-AZWlOdDhRVmJUL2ZMd__explore-link-histoire" class="shopify-block"><div class="mega-menu__link-wrap " ><a
2349        href="/pages/our-story"
2350        class="mega-menu__link-item"
2351      >Our Story</a></div>
2352</div>
2353<div id="shopify-block-AMU5XVDFXb3JtK3BFN__explore-link-athletes" class="shopify-block"><div class="mega-menu__link-wrap " ><a
2354        href="/pages/naak-pro-team"
2355        class="mega-menu__link-item"
2356      >Athletes</a></div>
2357</div>
2358<div id="shopify-block-AdUVDb0wzeGpoaURHT__explore-link-impact" class="shopify-block"><div class="mega-menu__link-wrap " ><a
2359        href="/pages/sustainability"
2360        class="mega-menu__link-item"
2361      >Sustainability</a></div>
2362</div>
2363<div id="shopify-block-AMzRobXpHd3NaQzNpN__explore-link-journal" class="shopify-block"><div class="mega-menu__link-wrap " ><a
2364        href="/blogs/articles"
2365        class="mega-menu__link-item"
2366      >Blog</a></div>
2367</div>
2368
2369</div>
2370
2371
2372</div>
2373
2374</div><div id="shopify-block-AWFBtYlNYbXNuTnJMN__explore-featured" class="shopify-block"><div class="mega-menu__featured-zone" >
2375  <div id="shopify-block-AWEs0MWd5bGY0cFdOR__explore-featured-utmb" class="shopify-block"><div class="mega-menu__featured-card" ><a href="/pages/utmb-world-series" class="mega-menu__featured-card-link"><div class="mega-menu__featured-card-media"><img src="//www.naak.com/cdn/shop/files/performance.jpg?v=1785429133&amp;width=600" alt="UTMB x Näak" srcset="//www.naak.com/cdn/shop/files/performance.jpg?v=1785429133&amp;width=222 222w, //www.naak.com/cdn/shop/files/performance.jpg?v=1785429133&amp;width=444 444w, //www.naak.com/cdn/shop/files/performance.jpg?v=1785429133&amp;width=600 600w" width="600" height="787" loading="lazy" class="mega-menu__featured-card-image" sizes="50vw" style="object-position:52.3786% 85.1557%;">
2376</div>
2377      <p class="mega-menu__featured-card-label">UTMB x Näak</p></a></div>
2378</div>
2379<div id="shopify-block-ARHlOakVNa1poZyttQ__explore-featured-faq" class="shopify-block"><div class="mega-menu__featured-card" ><a href="/pages/faq" class="mega-menu__featured-card-link"><div class="mega-menu__featured-card-media"><img src="//www.naak.com/cdn/shop/files/naakbar-faq-bg.jpg?v=1739621715&amp;width=600" alt="Frequently Asked Questions" srcset="//www.naak.com/cdn/shop/files/naakbar-faq-bg.jpg?v=1739621715&amp;width=222 222w, //www.naak.com/cdn/shop/files/naakbar-faq-bg.jpg?v=1739621715&amp;width=444 444w, //www.naak.com/cdn/shop/files/naakbar-faq-bg.jpg?v=1739621715&amp;width=600 600w" width="600" height="581" loading="lazy" class="mega-menu__featured-card-image" sizes="50vw">
2380</div>
2381      <p class="mega-menu__featured-card-label">Frequently Asked Questions</p></a></div>
2382</div>
2383
2384</div>
2385
2386
2387</div>
2388
2389</div>
2390
2391
2392</div>
2393
2394        </div>
2395      </div><footer class="mega-menu__footer"><a href="https://www.naak.com/customer_authentication/redirect?locale=en&region_country=US" class="mega-menu__footer-link md:hidden">
2396              Login
2397            </a><a href="/pages/store-locator" class="mega-menu__footer-link">
2398            Find a store
2399          </a>
2400
2401<button
2402  type="button"
2403  class="mega-menu__footer-locale "
2404  aria-label="Choose a region"
2405  aria-haspopup="dialog"
2406  @click="openLocale()"
2407>
2408  <span class="">
2409    <span>EN</span>
2410    <span
2411      class="mega-menu__footer-locale-separator"
2412      aria-hidden="true"
2413    >/</span>
2414    <span>$</span>
2415  </span>
2416</button>
2417
2418      </footer>
2419    </div><button
2420      type="button"
2421      class="mega-menu__close lg:hidden"
2422      @click="closeDrawers()"
2423    >
2424      Close
2425    </button>
2426  </div>
2427</div>
2428
2429
2430</section><div id="shopify-section-sections--27256355291440__search-drawer" class="shopify-section shopify-section-group-header-group section-search-drawer">
2431
2432<div
2433  id="search-drawer"
2434  class="search-drawer js-search-drawer fixed inset-0 z-50 overflow-hidden text-black"
2435  role="dialog"
2436  aria-modal="true"
2437  aria-labelledby="search-drawer-title"
2438  data-search-drawer
2439  data-search-results-section-id="search-drawer-results"
2440  data-predictive-search-url="/search/suggest"
2441  data-search-url="/search"
2442  x-show="isSearchOpen()"
2443  :aria-hidden="isSearchOpen() ? 'false' : 'true'"
2444  @keydown.escape.window="isSearchOpen() && closeDrawers()"
2445  style="display: none;"
2446>
2447  <div
2448    class="search-drawer__overlay absolute inset-0 z-0 bg-black/30 transition-opacity duration-200 ease-in-out"
2449    aria-hidden="true"
2450    x-show="isSearchOpen()"
2451    x-transition:enter="ease-out duration-200"
2452    x-transition:enter-start="opacity-0"
2453    x-transition:enter-end="opacity-100"
2454    x-transition:leave="ease-in duration-200"
2455    x-transition:leave-start="opacity-100"
2456    x-transition:leave-end="opacity-0"
2457    @click="closeDrawers()"
2458  ></div>
2459
2460  <div class="search-drawer__stage absolute inset-0 z-10 pointer-events-none">
2461    <div
2462      class="search-drawer__panel pointer-events-auto absolute top-0 right-0 flex h-lvh w-full max-w-[480px] will-change-transform"
2463      x-show="isSearchOpen()"
2464      x-transition:enter="transform ease-out duration-200 md:duration-350"
2465      x-transition:enter-start="translate-x-full"
2466      x-transition:enter-end="translate-x-0"
2467      x-transition:leave="transform ease-in duration-200 md:duration-350"
2468      x-transition:leave-start="translate-x-0"
2469      x-transition:leave-end="translate-x-full"
2470      x-data="{ searchQuery: '' }"
2471      @search-drawer:reset.window="searchQuery = ''"
2472    >
2473      <header class="search-drawer__header">
2474  <p id="search-drawer-title" class="search-drawer__header-title">
2475    Search
2476  </p>
2477  <button
2478    type="button"
2479    class="search-drawer__close"
2480    aria-label="Close"
2481    @click="closeDrawers()"
2482  >
2483    <svg class="size-4" width="20" height="20" viewBox="0 0 20 20" fill="none" aria-hidden="true">
2484      <path d="M4 4l12 12M16 4 4 16" stroke="currentColor" stroke-width="1.5"/>
2485    </svg>
2486  </button>
2487</header>
2488
2489
2490      <div class="search-drawer__scroll">
2491        <div class="search-drawer__inner">
2492          <form
2493            class="search-drawer__form"
2494            action="/search"
2495            method="get"
2496            role="search"
2497            data-search-drawer-form
2498          >
2499            <label class="sr-only" for="search-drawer-input">Search</label>
2500            <div
2501              class="search-drawer__field"
2502              :class="searchQuery.trim().length > 0 ? 'search-drawer__field--active' : ''"
2503            >
2504              <span class="search-drawer__field-icon" aria-hidden="true">
2505                <svg
2506      class="size-4"
2507      aria-hidden="true"
2508      width="20"
2509      height="20"
2510      viewBox="0 0 20 20"
2511      fill="none"
2512      xmlns="http://www.w3.org/2000/svg"
2513    >
2514      <path d="M8.75 15C12.2018 15 15 12.2018 15 8.75C15 5.29822 12.2018 2.5 8.75 2.5C5.29822 2.5 2.5 5.29822 2.5 8.75C2.5 12.2018 5.29822 15 8.75 15Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
2515      <path d="M13.1694 13.1694L17.4999 17.4999" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
2516    </svg>
2517              </span>
2518              <input
2519                id="search-drawer-input"
2520                class="search-drawer__input"
2521                type="search"
2522                name="q"
2523                value=""
2524                placeholder="Search for a product, an answer to a question..."
2525                autocomplete="off"
2526                autocorrect="off"
2527                autocapitalize="off"
2528                spellcheck="false"
2529                data-search-drawer-input
2530                x-model="searchQuery"
2531                @boilerplate:search-drawer:open.window="setTimeout(() => $el.focus(), 350)"
2532              >
2533            </div>
2534          </form>
2535
2536          <div class="search-drawer__results" data-search-drawer-body>
2537            <div data-search-drawer-results>
2538              <div class="search-drawer__state search-drawer__state--empty" data-search-drawer-empty><section class="search-drawer-carousel" data-search-drawer-carousel-section="recommended">
2539  <div class="search-drawer-carousel__head">
2540    <p class="search-drawer-carousel__title">Recommended for you</p>
2541    <div class="search-drawer-carousel__nav">
2542      <button
2543        type="button"
2544        class="search-drawer-carousel__nav-btn"
2545        data-search-drawer-prev="recommended"
2546        aria-label="Previous"
2547      >
2548        <svg
2549      class="size-4 rotate-180"
2550      width="16"
2551      height="16"
2552      viewBox="0 0 16 16"
2553      fill="none"
2554      xmlns="http://www.w3.org/2000/svg"
2555    >
2556      <path d="M8.67598 3.19976L13.476 7.99976L8.67598 12.7998" stroke="currentColor" stroke-width="1.5"/>
2557      <line x1="13.5" y1="8.04712" x2="1.5" y2="8.04712" stroke="currentColor" stroke-width="1.5"/>
2558    </svg>
2559      </button>
2560      <button
2561        type="button"
2562        class="search-drawer-carousel__nav-btn"
2563        data-search-drawer-next="recommended"
2564        aria-label="Next"
2565      >
2566        <svg
2567      class="size-4"
2568      width="16"
2569      height="16"
2570      viewBox="0 0 16 16"
2571      fill="none"
2572      xmlns="http://www.w3.org/2000/svg"
2573    >
2574      <path d="M8.67598 3.19976L13.476 7.99976L8.67598 12.7998" stroke="currentColor" stroke-width="1.5"/>
2575      <line x1="13.5" y1="8.04712" x2="1.5" y2="8.04712" stroke="currentColor" stroke-width="1.5"/>
2576    </svg>
2577      </button>
2578    </div>
2579  </div>
2580
2581  <div class="search-drawer-carousel__swiper swiper" data-search-drawer-carousel="recommended">
2582    <div class="swiper-wrapper">
2583      <div class="swiper-slide" >
2584            <a href="/products/boost-drink-mix-60-neutral-bag" class="search-product-card">
2585  <div class="search-product-card__media"><img src="//www.naak.com/cdn/shop/files/naak-drink-mixes-1-bag-15-servings-boost-drink-mix-60-neutral-bag-1253784187.jpg?v=1786395670&amp;width=840" alt="Näak Drink Mixes BOOST™ Drink Mix 60 · Neutral · Bag" srcset="//www.naak.com/cdn/shop/files/naak-drink-mixes-1-bag-15-servings-boost-drink-mix-60-neutral-bag-1253784187.jpg?v=1786395670&amp;width=210 210w, //www.naak.com/cdn/shop/files/naak-drink-mixes-1-bag-15-servings-boost-drink-mix-60-neutral-bag-1253784187.jpg?v=1786395670&amp;width=420 420w, //www.naak.com/cdn/shop/files/naak-drink-mixes-1-bag-15-servings-boost-drink-mix-60-neutral-bag-1253784187.jpg?v=1786395670&amp;width=840 840w" width="840" height="840" loading="lazy" class="search-product-card__image">
2586</div>
2587
2588  <div class="search-product-card__body">
2589    <div class="search-product-card__meta"><p class="search-product-card__range">ULTRA</p><p class="search-product-card__title">Drink Mix 60 · Neutral</p><p class="search-product-card__subtitle">High intensity ∙ Natural carbohydrate-rich drink</p></div>
2590
2591    <div class="search-product-card__price"><span class="search-product-card__price-value">$48.00</span>
2592    </div>
2593  </div>
2594</a>
2595
2596          </div>
2597    </div>
2598  </div></section>
2599
2600<section class="search-drawer-carousel" data-search-drawer-carousel-section="journal">
2601  <div class="search-drawer-carousel__head">
2602    <p class="search-drawer-carousel__title">Journal</p>
2603    <div class="search-drawer-carousel__nav">
2604      <button
2605        type="button"
2606        class="search-drawer-carousel__nav-btn"
2607        data-search-drawer-prev="journal"
2608        aria-label="Previous"
2609      >
2610        <svg
2611      class="size-4 rotate-180"
2612      width="16"
2613      height="16"
2614      viewBox="0 0 16 16"
2615      fill="none"
2616      xmlns="http://www.w3.org/2000/svg"
2617    >
2618      <path d="M8.67598 3.19976L13.476 7.99976L8.67598 12.7998" stroke="currentColor" stroke-width="1.5"/>
2619      <line x1="13.5" y1="8.04712" x2="1.5" y2="8.04712" stroke="currentColor" stroke-width="1.5"/>
2620    </svg>
2621      </button>
2622      <button
2623        type="button"
2624        class="search-drawer-carousel__nav-btn"
2625        data-search-drawer-next="journal"
2626        aria-label="Next"
2627      >
2628        <svg
2629      class="size-4"
2630      width="16"
2631      height="16"
2632      viewBox="0 0 16 16"
2633      fill="none"
2634      xmlns="http://www.w3.org/2000/svg"
2635    >
2636      <path d="M8.67598 3.19976L13.476 7.99976L8.67598 12.7998" stroke="currentColor" stroke-width="1.5"/>
2637      <line x1="13.5" y1="8.04712" x2="1.5" y2="8.04712" stroke="currentColor" stroke-width="1.5"/>
2638    </svg>
2639      </button>
2640    </div>
2641  </div>
2642
2643  <div class="search-drawer-carousel__swiper swiper" data-search-drawer-carousel="journal">
2644    <div class="swiper-wrapper">
2645      <div class="swiper-slide">
2646          <a href="/blogs/articles/hardrock-100-legend-resilience-and-high-altitude-peaks-in-colorado" class="search-article-card">
2647  <div class="search-article-card__media"><img src="//www.naak.com/cdn/shop/articles/Hardock_USAr_bfde3bc9-ec59-410a-aaec-e6e9b7327803.jpg?v=1784139907&amp;width=1500" alt="Hardrock 100: Legend, Resilience, and High-Altitude Peaks in Colorado" srcset="//www.naak.com/cdn/shop/articles/Hardock_USAr_bfde3bc9-ec59-410a-aaec-e6e9b7327803.jpg?v=1784139907&amp;width=210 210w, //www.naak.com/cdn/shop/articles/Hardock_USAr_bfde3bc9-ec59-410a-aaec-e6e9b7327803.jpg?v=1784139907&amp;width=420 420w, //www.naak.com/cdn/shop/articles/Hardock_USAr_bfde3bc9-ec59-410a-aaec-e6e9b7327803.jpg?v=1784139907&amp;width=600 600w, //www.naak.com/cdn/shop/articles/Hardock_USAr_bfde3bc9-ec59-410a-aaec-e6e9b7327803.jpg?v=1784139907&amp;width=800 800w, //www.naak.com/cdn/shop/articles/Hardock_USAr_bfde3bc9-ec59-410a-aaec-e6e9b7327803.jpg?v=1784139907&amp;width=1000 1000w, //www.naak.com/cdn/shop/articles/Hardock_USAr_bfde3bc9-ec59-410a-aaec-e6e9b7327803.jpg?v=1784139907&amp;width=1200 1200w, //www.naak.com/cdn/shop/articles/Hardock_USAr_bfde3bc9-ec59-410a-aaec-e6e9b7327803.jpg?v=1784139907&amp;width=1500 1500w" width="1500" height="525" loading="lazy" class="search-article-card__image">
2648</div>
2649
2650  <div class="search-article-card__body">
2651    <p class="search-article-card__title">
2651Hardrock 100: Legend, Resilience, and High-Altitude Peaks in Colorado</p></div>
2652</a>
2653
2654        </div><div class="swiper-slide">
2655          <a href="/blogs/articles/gatza-trail-120g-h-carb-mastery" class="search-article-card">
2656  <div class="search-article-card__media"><img src="//www.naak.com/cdn/shop/articles/Gatza_SP_3068636e-65dd-4418-82dc-d2f6822857b3.png?v=1782847136&amp;width=1500" alt="Gatza Trail: 120g/h Carb Mastery" srcset="//www.naak.com/cdn/shop/articles/Gatza_SP_3068636e-65dd-4418-82dc-d2f6822857b3.png?v=1782847136&amp;width=210 210w, //www.naak.com/cdn/shop/articles/Gatza_SP_3068636e-65dd-4418-82dc-d2f6822857b3.png?v=1782847136&amp;width=420 420w, //www.naak.com/cdn/shop/articles/Gatza_SP_3068636e-65dd-4418-82dc-d2f6822857b3.png?v=1782847136&amp;width=600 600w, //www.naak.com/cdn/shop/articles/Gatza_SP_3068636e-65dd-4418-82dc-d2f6822857b3.png?v=1782847136&amp;width=800 800w, //www.naak.com/cdn/shop/articles/Gatza_SP_3068636e-65dd-4418-82dc-d2f6822857b3.png?v=1782847136&amp;width=1000 1000w, //www.naak.com/cdn/shop/articles/Gatza_SP_3068636e-65dd-4418-82dc-d2f6822857b3.png?v=1782847136&amp;width=1200 1200w, //www.naak.com/cdn/shop/articles/Gatza_SP_3068636e-65dd-4418-82dc-d2f6822857b3.png?v=1782847136&amp;width=1500 1500w" width="1500" height="525" loading="lazy" class="search-article-card__image">
2657</div>
2658
2659  <div class="search-article-card__body">
2660    <p class="search-article-card__title">Gatza Trail: 120g/h Carb Mastery</p><div class="search-article-card__tags">
2661        <span class="search-article-card__tag">Fueling Tips</span>
2662      </div></div>
2663</a>
2664
2665        </div><div class="swiper-slide">
2666          <a href="/blogs/articles/ecotrail-paris-victory-in-the-city-of-light" class="search-article-card">
2667  <div class="search-article-card__media"><img src="//www.naak.com/cdn/shop/articles/Eco_trail_FR_82814216-7c71-4311-bc1e-b609b6e3ac9f.png?v=1782846952&amp;width=1500" alt="EcoTrail Paris: Victory in the City of Light" srcset="//www.naak.com/cdn/shop/articles/Eco_trail_FR_82814216-7c71-4311-bc1e-b609b6e3ac9f.png?v=1782846952&amp;width=210 210w, //www.naak.com/cdn/shop/articles/Eco_trail_FR_82814216-7c71-4311-bc1e-b609b6e3ac9f.png?v=1782846952&amp;width=420 420w, //www.naak.com/cdn/shop/articles/Eco_trail_FR_82814216-7c71-4311-bc1e-b609b6e3ac9f.png?v=1782846952&amp;width=600 600w, //www.naak.com/cdn/shop/articles/Eco_trail_FR_82814216-7c71-4311-bc1e-b609b6e3ac9f.png?v=1782846952&amp;width=800 800w, //www.naak.com/cdn/shop/articles/Eco_trail_FR_82814216-7c71-4311-bc1e-b609b6e3ac9f.png?v=1782846952&amp;width=1000 1000w, //www.naak.com/cdn/shop/articles/Eco_trail_FR_82814216-7c71-4311-bc1e-b609b6e3ac9f.png?v=1782846952&amp;width=1200 1200w, //www.naak.com/cdn/shop/articles/Eco_trail_FR_82814216-7c71-4311-bc1e-b609b6e3ac9f.png?v=1782846952&amp;width=1500 1500w" width="1500" height="525" loading="lazy" class="search-article-card__image">
2668</div>
2669
2670  <div class="search-article-card__body">
2671    <p class="search-article-card__title">EcoTrail Paris: Victory in the City of Light</p><div class="search-article-card__tags">
2672        <span class="search-article-card__tag">Fueling Tips</span>
2673      </div></div>
2674</a>
2675
2676        </div><div class="swiper-slide">
2677          <a href="/blogs/articles/90km-du-mont-blanc-in-heat-management-and-adapting-carb-intake" class="search-article-card">
2678  <div class="search-article-card__media"><img src="//www.naak.com/cdn/shop/articles/90k_FR.png?v=1782828609&amp;width=1500" alt="90km du Mont-Blanc: A lesson in Heat Management and Adapting carb intake" srcset="//www.naak.com/cdn/shop/articles/90k_FR.png?v=1782828609&amp;width=210 210w, //www.naak.com/cdn/shop/articles/90k_FR.png?v=1782828609&amp;width=420 420w, //www.naak.com/cdn/shop/articles/90k_FR.png?v=1782828609&amp;width=600 600w, //www.naak.com/cdn/shop/articles/90k_FR.png?v=1782828609&amp;width=800 800w, //www.naak.com/cdn/shop/articles/90k_FR.png?v=1782828609&amp;width=1000 1000w, //www.naak.com/cdn/shop/articles/90k_FR.png?v=1782828609&amp;width=1200 1200w, //www.naak.com/cdn/shop/articles/90k_FR.png?v=1782828609&amp;width=1500 1500w" width="1500" height="525" loading="lazy" class="search-article-card__image">
2679</div>
2680
2681  <div class="search-article-card__body">
2682    <p class="search-article-card__title">90km du Mont-Blanc: A lesson in Heat Management and Adapting carb intake</p><div class="search-article-card__tags">
2683        <span class="search-article-card__tag">Fueling Tips</span>
2684      </div></div>
2685</a>
2686
2687        </div><div class="swiper-slide">
2688          <a href="/blogs/articles/lavaredo-ultra-trail-50k-chasing-joy-and-victory" class="search-article-card">
2689  <div class="search-article-card__media"><img src="//www.naak.com/cdn/shop/articles/Lavaredo_IT.png?v=1782826355&amp;width=1500" alt="Lavaredo Ultra Trail 50K: Chasing Joy and Victory in the Dolomites" srcset="//www.naak.com/cdn/shop/articles/Lavaredo_IT.png?v=1782826355&amp;width=210 210w, //www.naak.com/cdn/shop/articles/Lavaredo_IT.png?v=1782826355&amp;width=420 420w, //www.naak.com/cdn/shop/articles/Lavaredo_IT.png?v=1782826355&amp;width=600 600w, //www.naak.com/cdn/shop/articles/Lavaredo_IT.png?v=1782826355&amp;width=800 800w, //www.naak.com/cdn/shop/articles/Lavaredo_IT.png?v=1782826355&amp;width=1000 1000w, //www.naak.com/cdn/shop/articles/Lavaredo_IT.png?v=1782826355&amp;width=1200 1200w, //www.naak.com/cdn/shop/articles/Lavaredo_IT.png?v=1782826355&amp;width=1500 1500w" width="1500" height="525" loading="lazy" class="search-article-card__image">
2690</div>
2691
2692  <div class="search-article-card__body">
2693    <p class="search-article-card__title">Lavaredo Ultra Trail 50K: Chasing Joy and Victory in the Dolomites</p><div class="search-article-card__tags">
2694        <span class="search-article-card__tag">Fueling Tips</span>
2695      </div></div>
2696</a>
2697
2698        </div><div class="swiper-slide">
2699          <a href="/blogs/articles/trail-100-andorra-by-utmb-conquering-heat-and-high-altitude" class="search-article-card">
2700  <div class="search-article-card__media"><img src="//www.naak.com/cdn/shop/articles/Andorre_5b74bf8e-ee40-4598-b678-47a0342ee9e3.png?v=1782744796&amp;width=1500" alt="Trail 100 Andorra by UTMB: Conquering Heat, Injury, and High-Altitude Self-Sufficiency" srcset="//www.naak.com/cdn/shop/articles/Andorre_5b74bf8e-ee40-4598-b678-47a0342ee9e3.png?v=1782744796&amp;width=210 210w, //www.naak.com/cdn/shop/articles/Andorre_5b74bf8e-ee40-4598-b678-47a0342ee9e3.png?v=1782744796&amp;width=420 420w, //www.naak.com/cdn/shop/articles/Andorre_5b74bf8e-ee40-4598-b678-47a0342ee9e3.png?v=1782744796&amp;width=600 600w, //www.naak.com/cdn/shop/articles/Andorre_5b74bf8e-ee40-4598-b678-47a0342ee9e3.png?v=1782744796&amp;width=800 800w, //www.naak.com/cdn/shop/articles/Andorre_5b74bf8e-ee40-4598-b678-47a0342ee9e3.png?v=1782744796&amp;width=1000 1000w, //www.naak.com/cdn/shop/articles/Andorre_5b74bf8e-ee40-4598-b678-47a0342ee9e3.png?v=1782744796&amp;width=1200 1200w, //www.naak.com/cdn/shop/articles/Andorre_5b74bf8e-ee40-4598-b678-47a0342ee9e3.png?v=1782744796&amp;width=1500 1500w" width="1500" height="525" loading="lazy" class="search-article-card__image">
2701</div>
2702
2703  <div class="search-article-card__body">
2704    <p class="search-article-card__title">Trail 100 Andorra by UTMB: Conquering Heat, Injury, and High-Altitude Self-Sufficiency</p><div class="search-article-card__tags">
2705        <span class="search-article-card__tag">Fueling Tips</span>
2706      </div></div>
2707</a>
2708
2709        </div>
2710    </div>
2711  </div></section>
2712
2713</div>
2714
2715            </div>
2716          </div>
2717        </div>
2718      </div>
2719
2720      <div
2721        class="search-drawer__footer"
2722        x-show="searchQuery.trim().length > 0"
2723        x-cloak
2724        style="display: none;"
2725      >
2726        <a
2727          href="/search"
2728          class="btn btn--primary search-drawer__footer-btn w-full"
2729          data-search-drawer-all-results
2730        >
2731          See all results
2732        </a>
2733      </div>
2734    </div>
2735  </div>
2736</div>
2737
2738
2739<script>
2740  window.Shopify = window.Shopify || {};
2741  window.Shopify.routes = window.Shopify.routes || {};
2742  if (!window.Shopify.routes.root) {
2743    window.Shopify.routes.root = "\/";
2744  }
2745</script>
2745
2746
2747
2748</div><div id="shopify-section-sections--27256355291440__search-drawer-results" class="shopify-section shopify-section-group-header-group section-search-drawer-results">
2749</div><div id="shopify-section-sections--27256355291440__cart-drawer" class="shopify-section shopify-section-group-header-group section-cart-drawer">
2750
2751<script>
2752  window.Shopify = window.Shopify || {};
2753  window.Shopify.routes = window.Shopify.routes || {};
2754  if (!window.Shopify.routes.root) {
2755    window.Shopify.routes.root = "\/";
2756  }
2757</script>
2757
2758
2759<script type="application/json" id="BoilerplateCartStrings">
2760  {
2761    "title": "Cart",
2762    "filledTitle": "Your cart",
2763    "empty": "Your cart is empty.",
2764    "continueShopping": "Continue shopping",
2765    "total": "Total",
2766    "taxesNotice": "Taxes and shipping calculated at checkout.",
2767    "freeShippingHint": "Free shipping based on cart total.",
2768    "freeShippingRemaining": "[amount] away from free shipping",
2769    "freeShippingReached": "You\u0026#39;ve unlocked free shipping.",
2770    "note": "Order note",
2771    "checkout": "Checkout",
2772    "update": "Update cart",
2773    "remove": "Remove",
2774    "quantity": "Quantity",
2775    "increaseQuantity": "Increase quantity",
2776    "decreaseQuantity": "Decrease quantity",
2777    "price": "Price",
2778    "priceSale": "Sale price",
2779    "priceRegular": "Regular price",
2780    "discountApplied": "Code applied.",
2781    "discountInvalid": "Invalid or expired code.",
2782    "discountError": "Could not apply code.",
2783    "freeShippingGoalCents": 7000
2784  }
2785</script>
2785
2786
2787
2788
2789<script type="application/json" id="BoilerplateCartRewardsConfig">
2790  {
2791    "tiers": [{
2792            "id": "reward_tier_bar",
2793            "thresholdCents": 3000,
2794            "variantId": 67853263077680,
2795            "title": "2x Free Purees",
2796            "allowRemove": true,
2797            "showQuantity": false
2798          }]
2799  }
2800</script>
2800
2801
2802
2803
2804<div
2805  id="cart-drawer"
2806  class="cart-drawer js-cart-drawer fixed inset-0 z-50 overflow-hidden text-black"
2807  role="dialog"
2808  aria-modal="true"
2809  aria-labelledby="cart-drawer-title"
2810  x-show="isCartOpen()"
2811  :aria-hidden="isCartOpen() ? 'false' : 'true'"
2812  @keydown.escape.window="isCartOpen() && closeDrawers()"
2813  style="display: none;"
2814>
2815  <div
2816    class="cart-drawer__overlay absolute inset-0 z-0 bg-black/50 transition-opacity duration-200 ease-in-out"
2817    aria-hidden="true"
2818    x-show="isCartOpen()"
2819    x-transition:enter="ease-out duration-200"
2820    x-transition:enter-start="opacity-0"
2821    x-transition:enter-end="opacity-100"
2822    x-transition:leave="ease-in duration-200"
2823    x-transition:leave-start="opacity-100"
2824    x-transition:leave-end="opacity-0"
2825    @click="closeDrawers()"
2826  ></div>
2827
2828  <div class="cart-drawer__stage absolute inset-0 z-10 focus:outline-none pointer-events-none">
2829    <div
2830      class="cart-drawer__panel js-cart-panel pointer-events-auto ml-auto flex h-dvh max-h-dvh w-full flex-col overflow-hidden lg:max-w-[520px] transform transition duration-200 ease-in-out sm:duration-350"
2831      x-show="isCartOpen()"
2832      x-transition:enter="transform ease-out duration-200 sm:duration-350"
2833      x-transition:enter-start="translate-x-full"
2834      x-transition:enter-end="translate-x-0"
2835      x-transition:leave="transform ease-in duration-200 sm:duration-350"
2836      x-transition:leave-start="translate-x-0"
2837      x-transition:leave-end="translate-x-full"
2838    >
2839      <header class="cart-drawer__header" data-cart-drawer-header>
2840  <p id="cart-drawer-title" class="cart-drawer__header-title">
2841    <span class="cart-drawer__header-label">Cart</span>
2842    
2843  </p>
2844  <button
2845    type="button"
2846    class="cart-drawer__close"
2847    aria-label="Close"
2848    @click="closeDrawers()"
2849  >
2850    <svg class="size-4" width="20" height="20" viewBox="0 0 20 20" fill="none" aria-hidden="true">
2851      <path d="M4 4l12 12M16 4 4 16" stroke="currentColor" stroke-width="1.5"/>
2852    </svg>
2853  </button>
2854</header>
2855
2856
2857      <div class="cart-drawer__content flex min-h-0 flex-1 flex-col overflow-hidden">
2858        
2859        <div class="cart-drawer__main flex min-h-0 flex-1 flex-col" data-cart-drawer-root data-cart-max-quantity="11">
2860          
2861            
2862
2863<div class="cart-drawer__empty">
2864  
2865    <p class="cart-drawer__empty-title">Your cart is empty.</p>
2866  
2867
2868  <div class="cart-drawer__empty-recommendations">
2869    
2870      <p class="cart-drawer__empty-subtitle">Our best sellers</p>
2871    
2872
2873    
2874    
2875      <div class="cart-drawer__cross-sell-list">
2876        
2877          
2878
2879
2880
2881        
2882          
2883
2884
2885
2886        
2887          
2888
2889
2890
2891        
2892      </div>
2893    
2894
2895    
2896      <a
2897        href="/collections/all"
2898        class="btn btn--primary cart-drawer__empty-cta w-full"
2899        @click="closeDrawers()"
2900      >
2901        
2902          <span class="hidden md:inline">All our products</span>
2903        
2904        
2905          <span class="md:hidden">See more</span>
2906        
2907        
2908      </a>
2909    
2910  </div>
2911</div>
2912
2913          
2914        </div>
2915
2916        
2917
2918        <div data-cart-drawer-trust-host>
2919          
2920
2921
2922  <div class="cart-drawer__trust" role="list">
2923    
2924      
2925        <p class="cart-drawer__trust-item" role="listitem" >
2926          48h Shipping
2927        </p>
2928      
2929    
2930      
2931        <p class="cart-drawer__trust-item" role="listitem" >
2932          30-day Returns
2933        </p>
2934      
2935    
2936      
2937        <p class="cart-drawer__trust-item" role="listitem" >
2938          Secure payment
2939        </p>
2940      
2941    
2942  </div>
2943
2944
2945        </div>
2946      </div>
2947    </div>
2948  </div>
2949</div>
2950
2951<script defer="defer">
2952  window.Loop = {};
2953  window.Loop.bundleCartAllItems = [];
2954  initLoopBundle("LOOP_BUNDLE_DRAWER_CONTAINER_CLASS");
2955</script>
2955
2956
2957
2958</div>
2959<!-- END sections: header-group -->
2960
2961    <main id="MainContent" role="main" class="MainContent"><div id="shopify-section-template--27273399271728__main" class="shopify-section shopify-section-product-section section-main-product">
2962
2963
2964
2965
2966
2967
2968
2969
2970  <div
2971    class="product-section"
2972    style="
2973      --info-share: 50%;
2974      --column-gap: 0px;
2975      --product-info-pt: 28px;
2976      --margin-bottom: 0px;
2977    "
2978  >
2979    <div
2980      class="product-section__layout"
2981      style="padding-bottom: 0px; margin-bottom: var(--margin-bottom);"
2982    >
2983      <div class="product-section__gallery product-section__gallery--sticky">
2984        
2985  
2986
2987<div
2988  class="product-media-gallery"
2989  data-product-media-gallery
2990  data-initial-slide="0"
2991  data-media-count="1"
2992  
2993>
2994  
2995  <div class="product-media-gallery__mobile lg:hidden">
2996    <div class="product-media-gallery__mobile-stage">
2997      
2998
2999
3000  <div
3001    class="product-media-gallery__badges"
3002    
3003      aria-hidden="false"
3004    
3005  >
3006    
3007      <span
3008        class="product-badge product-badge--black"
3009        data-product-card-sale-badge
3010        
3011          hidden
3012        
3013      ></span>
3014    
3015
3016    
3017      
3018        
3019        
3020          <span class="product-badge product-badge--black" data-product-card-tag>New</span>
3021        
3022      
3023    
3024  </div>
3025
3026
3027
3028
3029      <div
3030        class="product-media-gallery__scroll"
3031        data-product-media-scroll
3032        tabindex="0"
3033        role="region"
3034        aria-label="Product gallery"
3035      >
3036        <div class="product-media-gallery__track">
3037          
3038            
3039              
3040
3041<div
3042  class="product-media-gallery__cell product-media-gallery__slide snap-center"
3043  data-media-id="44387623534896"
3044  data-focal-x="50"
3045  data-focal-y="50"
3046  style="--gallery-focal-x: 50%;"
3047>
3048  
3049    <img src="//www.naak.com/cdn/shop/files/naak-na-drink-mixes-1-bag-15-servings-boost-drink-mix-60-salted-cucumber-bag-1253784197.jpg?v=1786395130&amp;width=1440" alt="Näak NA Drink Mixes BOOST™ Drink Mix 60 · Salted Cucumber · Bag" srcset="//www.naak.com/cdn/shop/files/naak-na-drink-mixes-1-bag-15-servings-boost-drink-mix-60-salted-cucumber-bag-1253784197.jpg?v=1786395130&amp;width=400 400w, //www.naak.com/cdn/shop/files/naak-na-drink-mixes-1-bag-15-servings-boost-drink-mix-60-salted-cucumber-bag-1253784197.jpg?v=1786395130&amp;width=600 600w, //www.naak.com/cdn/shop/files/naak-na-drink-mixes-1-bag-15-servings-boost-drink-mix-60-salted-cucumber-bag-1253784197.jpg?v=1786395130&amp;width=800 800w, //www.naak.com/cdn/shop/files/naak-na-drink-mixes-1-bag-15-servings-boost-drink-mix-60-salted-cucumber-bag-1253784197.jpg?v=1786395130&amp;width=1000 1000w, //www.naak.com/cdn/shop/files/naak-na-drink-mixes-1-bag-15-servings-boost-drink-mix-60-salted-cucumber-bag-1253784197.jpg?v=1786395130&amp;width=1200 1200w, //www.naak.com/cdn/shop/files/naak-na-drink-mixes-1-bag-15-servings-boost-drink-mix-60-salted-cucumber-bag-1253784197.jpg?v=1786395130&amp;width=1440 1440w" width="1440" height="1440" loading="eager" fetchpriority="high" sizes="(min-width: 1024px) 50vw, 100vw" class="product-media-gallery__image">
3050  
3051</div>
3052
3053            
3054          
3055          
3056            
3057          
3058        </div>
3059      </div>
3060
3061      
3062    </div>
3063  </div>
3064
3065  <div class="product-media-gallery__desktop hidden lg:flex lg:justify-end">
3066
3067    <div class="product-media-gallery__frame">
3068      
3069        
3070          
3071          
3072
3073
3074  <div
3075    class="product-media-gallery__badges"
3076    
3077      aria-hidden="false"
3078    
3079  >
3080    
3081      <span
3082        class="product-badge product-badge--black"
3083        data-product-card-sale-badge
3084        
3085          hidden
3086        
3087      ></span>
3088    
3089
3090    
3091      
3092        
3093        
3094          <span class="product-badge product-badge--black" data-product-card-tag>New</span>
3095        
3096      
3097    
3098  </div>
3099
3100
3101
3102          
3103
3104<div
3105  class="product-media-gallery__cell product-media-gallery__cell--hero"
3106  data-media-id="44387623534896"
3107  data-focal-x="50"
3108  data-focal-y="50"
3109  style="--gallery-focal-x: 50%;"
3110>
3111  
3112    <img src="//www.naak.com/cdn/shop/files/naak-na-drink-mixes-1-bag-15-servings-boost-drink-mix-60-salted-cucumber-bag-1253784197.jpg?v=1786395130&amp;width=1440" alt="Näak NA Drink Mixes BOOST™ Drink Mix 60 · Salted Cucumber · Bag" srcset="//www.naak.com/cdn/shop/files/naak-na-drink-mixes-1-bag-15-servings-boost-drink-m
3112ix-60-salted-cucumber-bag-1253784197.jpg?v=1786395130&amp;width=400 400w, //www.naak.com/cdn/shop/files/naak-na-drink-mixes-1-bag-15-servings-boost-drink-mix-60-salted-cucumber-bag-1253784197.jpg?v=1786395130&amp;width=600 600w, //www.naak.com/cdn/shop/files/naak-na-drink-mixes-1-bag-15-servings-boost-drink-mix-60-salted-cucumber-bag-1253784197.jpg?v=1786395130&amp;width=800 800w, //www.naak.com/cdn/shop/files/naak-na-drink-mixes-1-bag-15-servings-boost-drink-mix-60-salted-cucumber-bag-1253784197.jpg?v=1786395130&amp;width=1000 1000w, //www.naak.com/cdn/shop/files/naak-na-drink-mixes-1-bag-15-servings-boost-drink-mix-60-salted-cucumber-bag-1253784197.jpg?v=1786395130&amp;width=1200 1200w, //www.naak.com/cdn/shop/files/naak-na-drink-mixes-1-bag-15-servings-boost-drink-mix-60-salted-cucumber-bag-1253784197.jpg?v=1786395130&amp;width=1440 1440w" width="1440" height="1440" loading="eager" fetchpriority="high" sizes="(min-width: 1024px) 50vw, 100vw" class="product-media-gallery__image">
3113  
3114</div>
3115
3116        
3117      
3118
3119      
3120    </div>
3121  </div>
3122  
3123</div>
3124
3125
3126
3127
3128      </div>
3129
3130      <div class="product-section__info" data-main-product>
3131        <div class="product-section__info-inner">
3132          
3133  
3134
3135<nav
3136  class="product-breadcrumbs"
3137  style="padding-bottom: 24px;
3138"
3139  aria-label="Product breadcrumb"
3140  
3141>
3142  <a href="/" class="product-breadcrumbs__link">Home</a>
3143
3144  
3145    <span class="product-breadcrumbs__sep" aria-hidden="true">/</span>
3146    <a href="/collections/boost-energy" class="product-breadcrumbs__link">BOOST™ Energy Line</a>
3147  
3148
3149  
3150
3151  <span class="product-breadcrumbs__sep" aria-hidden="true">/</span>
3152  <span class="product-breadcrumbs__current" aria-current="page">Drink Mix 60 · Salted Cucumber</span>
3153</nav>
3154
3155
3156
3157
3158
3159<div class="product-family-switch" style="padding-bottom: 24px;
3160" >
3161    <div class="product-family-switch__track" role="tablist" aria-label="Product family"><a
3162              href="/products/boost-gel-30-neutral"
3163              class="product-family-switch__pill"
3164              aria-label="Gel"
3165              role="tab"
3166            >Gel</a><span
3167              class="product-family-switch__pill is-selected"
3168              aria-current="page"
3169              role="tab"
3170            >Drink Mix</span></div>
3171  </div>
3172
3173
3174
3175
3176<h1 class="product-title" style="padding-bottom: 16px;
3177" >BOOST™ Drink Mix 60 · Salted Cucumber · Bag</h1>
3178
3179
3180
3181
3182<div
3183    class="product-reviews-summary"
3184    style="padding-bottom: 16px;
3185"
3186    
3187  >
3188    <button
3189      type="button"
3190      class="product-reviews-summary__rating"
3191      @click="openProductDrawer('product-details', 'reviews')"
3192      aria-label="Rated 5.0 out of 5.0"
3193    >
3194      <svg
3195      class="product-reviews-summary__star"
3196      width="12"
3197      height="12"
3198      viewBox="0 0 12 12"
3199      fill="none"
3200      xmlns="http://www.w3.org/2000/svg"
3201    >
3202      <path d="M5.70941 0.145073C5.80605 -0.0487729 6.08263 -0.0487733 6.17926 0.145072L7.82361 3.4435C7.86182 3.52016 7.93503 3.57335 8.01974 3.58601L11.6649 4.1306C11.8791 4.1626 11.9646 4.42565 11.8101 4.57745L9.1812 7.16059C9.1201 7.22062 9.09214 7.30669 9.10628 7.39116L9.71475 11.0262C9.7505 11.2398 9.52675 11.4024 9.33463 11.3023L6.06556 9.60038C5.98958 9.56082 5.89909 9.56082 5.82312 9.60038L2.55404 11.3023C2.36192 11.4024 2.13817 11.2398 2.17393 11.0262L2.7824 7.39116C2.79654 7.30669 2.76857 7.22062 2.70748 7.16059L0.0786117 4.57745C-0.0758841 4.42565 0.00958318 4.1626 0.223804 4.1306L3.86893 3.58601C3.95364 3.57335 4.02685 3.52016 4.06507 3.4435L5.70941 0.145073Z" fill="currentColor"/>
3203    </svg>
3204      <span class="product-reviews-summary__score">5.0</span>
3205    </button>
3206
3207    <span class="product-reviews-summary__sep" aria-hidden="true">/</span>
3208
3209    <button
3210      type="button"
3211      class="product-reviews-summary__link"
3212      @click="openProductDrawer('product-details', 'reviews')"
3213    >8 athlete reviews</button>
3214
3215    <span class="product-reviews-summary__sep" aria-hidden="true">/</span>
3216
3217    
3218      
3219      <span class="product-reviews-summary__orders">
3220        +630 orders
3221      </span>
3222    
3223  </div>
3224
3225
3226
3227
3228<div class="product-tags-row" style="padding-bottom: 24px;
3229" >
3230  <span
3231    class="product-badge product-badge--black"
3232    data-product-card-sale-badge
3233    hidden
3234  ></span>
3235  
3236    <span class="product-tags-row__chip">Hot days, heavy sweaters</span>
3237  
3238  
3239  
3240</div>
3241
3242
3243
3244
3245
3246
3247  <div class="product-description rte" style="padding-bottom: 16px;
3248" >
3249    <p>All-natural 60g carbs + high-sodium drink mix for steady and fast-acting energy with extra sodium for hot days and heavy sweaters.</p>
3250<p><em>The packaging you will receive may be different.</em></p>
3251  </div>
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264<div class="product-trust-logos" style="padding-bottom: 16px;
3265" >
3266  
3267  
3268
3269</div>
3270
3271
3272
3273<div
3274  class="product-section__divider-wrap"
3275  style="padding-top: 0px; padding-bottom: 24px;
3276"
3277  
3278>
3279  <hr class="product-section__divider">
3280</div>
3281
3282
3283
3284
3285
3286  <div
3287    class="product-form flex flex-col"
3288    style="padding-top: 0px; padding-bottom: 8px;
3289"
3290    
3291  >
3292
3293<div class="product-flavor-switch" >
3294    <div class="product-flavor-switch__meta">
3295      <p class="product-flavor-switch__label">
3296        <span class="product-flavor-switch__name">Flavour</span><span class="product-flavor-switch__value">Neutral</span></p><button
3297          type="button"
3298          class="product-flavor-switch__help"
3299          @click="openProductDrawer('product-flavor')"
3300        >Which flavor to choose?</button></div>
3301
3302    <div class="product-flavor-switch__options" role="list"><a
3303            href="/products/boost-drink-mix-60-neutral-bag"
3304            class="product-flavor-switch__thumb"
3305            role="listitem"
3306            
3307              aria-label="Drink Mix 60 · Neutral"
3308            
3309            
3310          ><img src="//www.naak.com/cdn/shop/files/Product-Flavor-selector_0008s_0002_Boost-drink-mix-bag-neutral.png?v=1785766991&amp;width=240" alt="Drink Mix 60 · Neutral" srcset="//www.naak.com/cdn/shop/files/Product-Flavor-selector_0008s_0002_Boost-drink-mix-bag-neutral.png?v=1785766991&amp;width=40 40w, //www.naak.com/cdn/shop/files/Product-Flavor-selector_0008s_0002_Boost-drink-mix-bag-neutral.png?v=1785766991&amp;width=80 80w, //www.naak.com/cdn/shop/files/Product-Flavor-selector_0008s_0002_Boost-drink-mix-bag-neutral.png?v=1785766991&amp;width=160 160w, //www.naak.com/cdn/shop/files/Product-Flavor-selector_0008s_0002_Boost-drink-mix-bag-neutral.png?v=1785766991&amp;width=240 240w" width="240" height="240" loading="lazy" class="product-flavor-switch__thumb-image">
3311<span class="product-flavor-switch__thumb-tooltip" aria-hidden="true">Drink Mix 60 · Neutral</span></a><a
3312            href="/products/boost-drink-mix-60-salted-cucumber-bag"
3313            class="product-flavor-switch__thumb is-selected"
3314            role="listitem"
3315            
3316              aria-label="Drink Mix 60 · Salted Cucumber"
3317            
3318            
3319              aria-current="true"
3320            
3321          ><img src="//www.naak.com/cdn/shop/files/Product-Flavor-selector_0008s_0001_boost_salted_cucumber.png?v=1785767499&amp;width=240" alt="Drink Mix 60 · Salted Cucumber" srcset="//www.naak.com/cdn/shop/files/Product-Flavor-selector_0008s_0001_boost_salted_cucumber.png?v=1785767499&amp;width=40 40w, //www.naak.com/cdn/shop/files/Product-Flavor-selector_0008s_0001_boost_salted_cucumber.png?v=1785767499&amp;width=80 80w, //www.naak.com/cdn/shop/files/Product-Flavor-selector_0008s_0001_boost_salted_cucumber.png?v=1785767499&amp;width=160 160w, //www.naak.com/cdn/shop/files/Product-Flavor-selector_0008s_0001_boost_salted_cucumber.png?v=1785767499&amp;width=240 240w" width="240" height="240" loading="lazy" class="product-flavor-switch__thumb-image">
3322<span class="product-flavor-switch__thumb-tooltip" aria-hidden="true">Drink Mix 60 · Salted Cucumber</span></a><a
3323            href="/products/boost-drink-mix-60-pomegranate-berries-bag"
3324            class="product-flavor-switch__thumb is-sold-out"
3325            role="listitem"
3326            
3327              aria-label="Drink Mix 60 · Pomegranate Berries — Sold out"
3328            
3329            
3330          ><img src="//www.naak.com/cdn/shop/files/Product-Flavor-selector_0008s_0000_Boostdrink-mix-bag-pomegranate-berries.png?v=1785767741&amp;width=240" alt="Drink Mix 60 · Pomegranate Berries" srcset="//www.naak.com/cdn/shop/files/Product-Flavor-selector_0008s_0000_Boostdrink-mix-bag-pomegranate-berries.png?v=1785767741&amp;width=40 40w, //www.naak.com/cdn/shop/files/Product-Flavor-selector_0008s_0000_Boostdrink-mix-bag-pomegranate-berries.png?v=1785767741&amp;width=80 80w, //www.naak.com/cdn/shop/files/Product-Flavor-selector_0008s_0000_Boostdrink-mix-bag-pomegranate-berries.png?v=1785767741&amp;width=160 160w, //www.naak.com/cdn/shop/files/Product-Flavor-selector_0008s_0000_Boostdrink-mix-bag-pomegranate-berries.png?v=1785767741&amp;width=240 240w" width="240" height="240" loading="lazy" class="product-flavor-switch__thumb-image">
3331<span class="product-flavor-switch__thumb-tooltip" aria-hidden="true">Drink Mix 60 · Pomegranate Berries</span></a><a
3332            href="/products/naak-boost-drink-mix-60-variety-pack"
3333            class="product-flavor-switch__thumb"
3334            role="listitem"
3335            
3336              aria-label="Boost™ Drink Mix 60 · Variety Pack"
3337            
3338            
3339          ><img src="//www.naak.com/cdn/shop/files/Final_Website_-_Boost_Drink_Mixes_850ca78b-2538-45bc-9892-acf4c40d8050.png?v=1785852096&amp;width=240" alt="Boost™ Drink Mix 60 · Variety Pack" srcset="//www.naak.com/cdn/shop/files/Final_Website_-_Boost_Drink_Mixes_850ca78b-2538-45bc-9892-acf4c40d8050.png?v=1785852096&amp;width=40 40w, //www.naak.com/cdn/shop/files/Final_Website_-_Boost_Drink_Mixes_850ca78b-2538-45bc-9892-acf4c40d8050.png?v=1785852096&amp;width=80 80w, //www.naak.com/cdn/shop/files/Final_Website_-_Boost_Drink_Mixes_850ca78b-2538-45bc-9892-acf4c40d8050.png?v=1785852096&amp;width=160 160w, //www.naak.com/cdn/shop/files/Final_Website_-_Boost_Drink_Mixes_850ca78b-2538-45bc-9892-acf4c40d8050.png?v=1785852096&amp;width=240 240w" width="240" height="240" loading="lazy" class="product-flavor-switch__thumb-image">
3340<span class="product-flavor-switch__thumb-tooltip" aria-hidden="true">Boost™ Drink Mix 60 · Variety Pack</span></a></div>
3341  </div><div
3342  id="product-flavor-drawer"
3343  class="product-drawer product-drawer--flavor cart-drawer fixed inset-0 z-[80] overflow-hidden text-black"
3344  role="dialog"
3345  aria-modal="true"
3346  aria-labelledby="product-flavor-drawer-title"
3347  x-data="productFlavorDrawer($el)"
3348  x-show="openDrawer === 'product-flavor'"
3349  :aria-hidden="openDrawer === 'product-flavor' ? 'false' : 'true'"
3350  @keydown.escape.window="openDrawer === 'product-flavor' && closeDrawers()"
3351  @boilerplate:product-flavor-drawer:open.window="resetSelection()"
3352  style="display: none;"
3353>
3354  
3354<script type="application/json" data-product-flavor-drawer-config>
3355    {
3356      "currentProductId": 10099179225392,
3357      "flavors": [{
3358      "id": 9763368075568,
3359      "url": "\/products\/boost-drink-mix-60-neutral-bag",
3360      "title": "Drink Mix 60 · Neutral",
3361      "available": true
3362    },{
3363      "id": 10099179225392,
3364      "url": "\/products\/boost-drink-mix-60-salted-cucumber-bag",
3365      "title": "Drink Mix 60 · Salted Cucumber",
3366      "available": true
3367    },{
3368      "id": 15137969996080,
3369      "url": "\/products\/boost-drink-mix-60-pomegranate-berries-bag",
3370      "title": "Drink Mix 60 · Pomegranate Berries",
3371      "available": false
3372    },{
3373      "id": 10105197035824,
3374      "url": "\/products\/naak-boost-drink-mix-60-variety-pack",
3375      "title": "Boost™ Drink Mix 60 · Variety Pack",
3376      "available": true
3377    }]
3378    }
3379  </script>
3379
3380  <div
3381    class="cart-drawer__overlay absolute inset-0 z-0 bg-black/50 transition-opacity duration-200 ease-in-out"
3382    aria-hidden="true"
3383    x-show="openDrawer === 'product-flavor'"
3384    x-transition:enter="ease-out duration-200"
3385    x-transition:enter-start="opacity-0"
3386    x-transition:enter-end="opacity-100"
3387    x-transition:leave="ease-in duration-200"
3388    x-transition:leave-start="opacity-100"
3389    x-transition:leave-end="opacity-0"
3390    @click="closeDrawers()"
3391  ></div>
3392
3393  <div class="cart-drawer__stage absolute inset-0 z-10 pointer-events-none focus:outline-none">
3394    <div
3395      class="cart-drawer__panel js-product-flavor-drawer-panel pointer-events-auto ml-auto flex h-lvh w-full max-w-[520px] transform transition duration-200 ease-in-out sm:duration-350"
3396      x-show="openDrawer === 'product-flavor'"
3397      x-transition:enter="transform ease-out duration-200 sm:duration-350"
3398      x-transition:enter-start="translate-x-full"
3399      x-transition:enter-end="translate-x-0"
3400      x-transition:leave="transform ease-in duration-200 sm:duration-350"
3401      x-transition:leave-start="translate-x-0"
3402      x-transition:leave-end="translate-x-full"
3403    >
3404      <header class="cart-drawer__header">
3405  <p id="product-flavor-drawer-title" class="cart-drawer__header-title">
3406    <span class="cart-drawer__header-count">Choose Your Flavor</span>
3407  </p>
3408  <button
3409    type="button"
3410    class="cart-drawer__close"
3411    aria-label="Close"
3412    @click="closeDrawers()"
3413  >
3414    <svg class="size-4" width="20" height="20" viewBox="0 0 20 20" fill="none" aria-hidden="true">
3415      <path d="M4 4l12 12M16 4 4 16" stroke="currentColor" stroke-width="1.5"/>
3416    </svg>
3417  </button>
3418</header>
3419
3420
3421      <div class="cart-drawer__content flex min-h-0 flex-1 flex-col overflow-y-auto">
3422        <div class="product-flavor-drawer__body">
3423          <div class="product-flavor-drawer__intro">
3424            <h2 class="product-flavor-drawer__heading">Match your taste to your needs</h2><p class="product-flavor-drawer__intro-text">Built on the same 60g carb + sodium base, each flavor delivers a unique functional benefit to optimize your performance.</p></div>
3425
3426          <div class="product-flavor-drawer__grid" role="list"><button
3427                  type="button"
3428                  class="product-flavor-drawer__card"
3429                  role="listitem"
3430                  
3431                    data-flavor-id="9763368075568"
3432                  
3433                  
3434                    @click="selectedId = 9763368075568"
3435                    :class="{ 'is-selected': selectedId === 9763368075568 }"
3436                    :aria-pressed="selectedId === 9763368075568 ? 'true' : 'false'"
3437                  
3438                  
3439                    aria-label="Choose Drink Mix 60 · Neutral"
3440                  
3441                >
3442                  <div class="product-flavor-drawer__media"><img src="//www.naak.com/cdn/shop/files/Product-Flavor-selector_0008s_0002_Boost-drink-mix-bag-neutral.png?v=1785766991&amp;width=420" alt="" srcset="//www.naak.com/cdn/shop/files/Product-Flavor-selector_0008s_0002_Boost-drink-mix-bag-neutral.png?v=1785766991&amp;width=210 210w, //www.naak.com/cdn/shop/files/Product-Flavor-selector_0008s_0002_Boost-drink-mix-bag-neutral.png?v=1785766991&amp;width=420 420w" width="420" height="420" loading="lazy" class="product-flavor-drawer__image" sizes="210px">
3443</div>
3444
3445                  <div class="product-flavor-drawer__card-header">
3446                    <span class="product-flavor-drawer__radio" aria-hidden="true">
3447                      <span class="product-flavor-drawer__radio-dot"></span>
3448                    </span><span class="product-flavor-drawer__name">Drink Mix 60 · Neutral</span></div>
3449
3450                  <div class="product-flavor-drawer__details"><p class="product-flavor-drawer__ratio">2:1 glucose:fructose ratio</p><p class="product-flavor-drawer__description">Neutral flavour and low sweetness to avoid flavour fatigue, with 125mg of added sodium</p><p class="product-flavor-drawer__best-for">
3451        <span class="product-flavor-drawer__best-for-label">Best for</span>
3452        <span class="product-flavor-drawer__best-for-value">fight flavour fatigue</span>
3453      </p><div class="product-flavor-drawer__meters"><div class="product-flavor-drawer__meter">
3454            <p class="product-flavor-drawer__meter-label">Sodium Content</p>
3455            <div
3456              class="product-flavor-drawer__meter-segs"
3457              role="img"
3458              aria-label="Sodium Content: 1 out of 5"
3459            ><span class="product-flavor-drawer__meter-seg is-filled"></span><span class="product-flavor-drawer__meter-seg"></span><span class="product-flavor-drawer__meter-seg"></span><span class="product-flavor-drawer__meter-seg"></span><span class="product-flavor-drawer__meter-seg"></span></div>
3460          </div><div class="product-flavor-drawer__meter">
3461            <p class="product-flavor-drawer__meter-label">Sweetness</p>
3462            <div
3463              class="product-flavor-drawer__meter-segs"
3464              role="img"
3465              aria-label="Sweetness: 1 out of 5"
3466            ><span class="product-flavor-drawer__meter-seg is-filled"></span><span class="product-flavor-drawer__meter-seg"></span><span class="product-flavor-drawer__meter-seg"></span><span class="product-flavor-drawer__meter-seg"></span><span class="product-flavor-drawer__meter-seg"></span></div>
3467          </div></div></div>
3468                </button><button
3469                  type="button"
3470                  class="product-flavor-drawer__card is-selected"
3471                  role="listitem"
3472                  
3473                    data-flavor-id="10099179225392"
3474                  
3475                  
3476                    @click="selectedId = 10099179225392"
3477                    :class="{ 'is-selected': selectedId === 10099179225392 }"
3478                    :aria-pressed="selectedId === 10099179225392 ? 'true' : 'false'"
3479                  
3480                  
3481                    aria-label="Choose Drink Mix 60 · Salted Cucumber"
3482                  
3483                >
3484                  <div class="product-flavor-drawer__media"><img src="//www.naak.com/cdn/shop/files/Product-Flavor-selector_0008s_0001_boost_salted_cucumber.png?v=1785767499&amp;width=420" alt="" srcset="//www.naak.com/cdn/shop/files/Product-Flavor-selector_0008s_0001_boost_salted_cucumber.png?v=1785767499&amp;width=210 210w, //www.naak.com/cdn/shop/files/Product-Flavor-selector_0008s_0001_boost_salted_cucumber.png?v=1785767499&amp;width=420 420w" width="420" height="420" loading="lazy" class="product-flavor-drawer__image" sizes="210px">
3485</div>
3486
3487                  <div class="product-flavor-drawer__card-header">
3488                    <span class="product-flavor-drawer__radio" aria-hidden="true">
3489                      <span class="product-flavor-drawer__radio-dot"></span>
3490                    </span><span class="product-flavor-drawer__name">Drink Mix 60 · Salted Cucumber</span></div>
3491
3492                  <div class="product-flavor-drawer__details"><p class="product-flavor-drawer__ratio">500MG Sodium</p><p class="product-flavor-drawer__description">Twice the sodium of our neutral mix with a subtle cucumber flavour, perfect for hot days and heavy sweaters.</p><p class="product-flavor-drawer__best-for">
3493        <span class="product-flavor-drawer__best-for-label">Best for</span>
3494        <span class="product-flavor-drawer__best-for-value">Replenish the minerals lost in sweat</span>
3495      </p><div class="product-flavor-drawer__meters"><div class="product-flavor-drawer__meter">
3496            <p class="product-flavor-drawer__meter-label">Sodium Content</p>
3497            <div
3498              class="product-flavor-drawer__meter-segs"
3499              role="img"
3500              aria-label="Sodium Content: 3 out of 5"
3501            ><span class="product-flavor-drawer__meter-seg is-filled"></span><span class="product-flavor-drawer__meter-seg is-filled"></span><span class="product-flavor-drawer__meter-seg is-filled"></span><span class="product-flavor-drawer__meter-seg"></span><span class="product-flavor-drawer__meter-seg"></span></div>
3502          </div><div class="product-flavor-drawer__meter">
3503            <p class="product-flavor-drawer__meter-label">Sweetness</p>
3504            <div
3505              class="product-flavor-drawer__meter-segs"
3506              role="img"
3507              aria-label="Sweetness: 1 out of 5"
3508            ><span class="product-flavor-drawer__meter-seg is-filled"></span><span class="product-flavor-drawer__meter-seg"></span><span class="product-flavor-drawer__meter-seg"></span><span class="product-flavor-drawer__meter-seg"></span><span class="product-flavor-drawer__meter-seg"></span></div>
3509          </div></div></div>
3510                </button><button
3511                  type="button"
3512                  class="product-flavor-drawer__card is-sold-out"
3513                  role="listitem"
3514                  
3515                    data-flavor-id="15137969996080"
3516                  
3517                  
3518                    disabled
3519                    aria-disabled="true"
3520                    aria-pressed="false"
3521                  
3522                  
3523                    aria-label="Choose Drink Mix 60 · Pomegranate Berries"
3524                  
3525                >
3526                  <div class="product-flavor-drawer__media is-sold-out"><img src="//www.naak.com/cdn/shop/files/Product-Flavor-selector_0008s_0000_Boostdrink-mix-bag-pomegranate-berries.png?v=1785767741&amp;width=420" alt="" srcset="//www.naak.com/cdn/shop/files/Product-Flavor-selector_0008s_0000_Boostdrink-mix-bag-pomegranate-berries.png?v=1785767741&amp;width=210 210w, //www.naak.com/cdn/shop/files/Product-Flavor-selector_0008s_0000_Boostdrink-mix-bag-pomegranate-berries.png?v=1785767741&amp;width=420 420w" width="420" height="420" loading="lazy" class="product-flavor-drawer__image" sizes="210px">
3527</div>
3528
3529                  <div class="product-flavor-drawer__card-header">
3530                    <span class="product-flavor-drawer__radio" aria-hidden="true">
3531                      <span class="product-flavor-drawer__radio-dot"></span>
3532                    </span><span class="product-flavor-drawer__name">Drink Mix 60 · Pomegranate Berries</span></div>
3533
3534                  <div class="product-flavor-drawer__details"><p class="product-flavor-drawer__ratio">1:1 Glucose:Fructose</p><p class="product-flavor-drawer__description">Sweet pomegranate flavour for high-carb fueling, optimized to unlock intake rates up to 120g per hour.</p><p class="product-flavor-drawer__best-for">
3535        <span class="product-flavor-drawer__best-for-label">Best for</span>
3536        <span class="product-flavor-drawer__best-for-value">High-carb fueling</span>
3537      </p><div class="product-flavor-drawer__meters"><div class="product-flavor-drawer__meter">
3538            <p class="product-flavor-drawer__meter-label">Sodium Content</p>
3539            <div
3540              class="product-flavor-drawer__meter-segs"
3541              role="img"
3542              aria-label="Sodium Content: 2 out of 5"
3543            ><span class="product-flavor-drawer__meter-seg is-filled"></span><span class="product-flavor-drawer__meter-seg is-filled"></span><span class="product-flavor-drawer__meter-seg"></span><span class="product-flavor-drawer__meter-seg"></span><span class="product-flavor-drawer__meter-seg"></span></div>
3544          </div><div class="product-flavor-drawer__meter">
3545            <p class="product-flavor-drawer__meter-label">Sweetness</p>
3546            <div
3547              class="product-flavor-drawer__meter-segs"
3548              role="img"
3549              aria-label="Sweetness: 4 out of 5"
3550            ><span class="product-flavor-drawer__meter-seg is-filled"></span><span class="product-flavor-drawer__meter-seg is-filled"></span><span class="product-flavor-drawer__meter-seg is-filled"></span><span class="product-flavor-drawer__meter-seg is-filled"></span><span class="product-flavor-drawer__meter-seg"></span></div>
3551          </div></div></div>
3552                </button><button
3553                  type="button"
3554                  class="product-flavor-drawer__card"
3555                  role="listitem"
3556                  
3557                    data-flavor-id="10105197035824"
3558                  
3559                  
3560                    @click="selectedId = 10105197035824"
3561                    :class="{ 'is-selected': selectedId === 10105197035824 }"
3562                    :aria-pressed="selectedId === 10105197035824 ? 'true' : 'false'"
3563                  
3564                  
3565                    aria-label="Choose Boost™ Drink Mix 60 · Variety Pack"
3566                  
3567                >
3568                  <div class="product-flavor-drawer__media"><img src="//www.naak.com/cdn/shop/files/Final_Website_-_Boost_Drink_Mixes_850ca78b-2538-45bc-9892-acf4c40d8050.png?v=1785852096&amp;width=420" alt="" srcset="//www.naak.com/cdn/shop/files/Final_Website_-_Boost_Drink_Mixes_850ca78b-2538-45bc-9892-acf4c40d8050.png?v=1785852096&amp;width=210 210w, //www.naak.com/cdn/shop/files/Final_Website_-_Boost_Drink_Mixes_850ca78b-2538-45bc-9892-acf4c40d8050.png?v=1785852096&amp;width=420 420w" width="420" height="420" loading="lazy" class="product-flavor-drawer__image" sizes="210px">
3569</div>
3570
3571                  <div class="product-flavor-drawer__card-header">
3572                    <span class="product-flavor-drawer__radio" aria-hidden="true">
3573                      <span class="product-flavor-drawer__radio-dot"></span>
3574                    </span><span class="product-flavor-drawer__name">Boost™ Drink Mix 60 · Variety Pack</span></div>
3575
3576                  
3577                </button></div><p class="product-flavor-drawer__help"><span class="product-flavor-drawer__help-prefix">Still hesitating?</span><a href="/pages/nutrition-calculator" class="product-flavor-drawer__help-link">Calculate your nutrition needs →
3578                </a></p></div>
3579      </div>
3580
3581      <div class="product-flavor-drawer__footer">
3582        <a
3583          class="product-flavor-drawer__continue"
3584          x-bind:href="getSelected() ? getSelected().url : '#'"
3585          @click="continueWithSelected($event)"
3586          x-bind:aria-disabled="!getSelected() || !getSelected().available ? 'true' : 'false'"
3587        >
3588          <span>Continue with</span>
3589          <span x-text="getSelected() ? getSelected().title : ''"></span>
3590        </a>
3591      </div>
3592    </div>
3593  </div>
3594</div>
3595
3596
3597
3598
3599
3600
3601<div class="product-format-switch" >
3602    <p class="product-format-switch__label">
3603      <span class="product-format-switch__name">Format</span><span class="product-format-switch__value">Bag 975g</span></p>
3604
3605    <div
3606      class="product-format-switch__options"
3607      role="list"
3608      aria-label="Format"
3609    ><a
3610              href="/products/boost-drink-mix-60-salted-cucumber-single-serve"
3611              class="product-format-switch__pill"
3612              aria-label="Packet"
3613              role="listitem"
3614            >Packet</a><span
3615              class="product-format-switch__pill is-selected"
3616              aria-current="true"
3617              role="listitem"
3618            >Bag</span></div>
3619  </div>
3620
3621
3622
3623
3624
3625
3626
3627<div
3628  class="product-quantity-breaks product-quantity-option"
3629  style="margin-top: 0px; margin-bottom: 0px;"
3630  data-quantity-breaks
3631  data-base-quantity="1"
3632  data-package-label-singular="Drink Mix"
3633  data-package-label-plural="Drink Mixs"
3634  data-unit-price-suffix-type="units"
3635  data-servings-per-package="15"
3636  data-serving-label-singular=""
3637  data-serving-label-plural=""
3638  data-unit-price-suffix=" / unit"
3639  
3640  
3641>
3642  <p class="product-quantity-option__label">
3643    <span class="product-quantity-option__name">Quantity</span>
3644    <span class="product-quantity-option__note" data-quantity-breaks-summary></span>
3645  </p>
3646
3647  <fieldset class="product-quantity-breaks__fieldset product-quantity-option__fieldset">
3648    <legend class="sr-only">Quantity</legend>
3649    <div class="product-quantity-breaks__options product-quantity-option__options">
3650      
3651      
3652
3653<div class="product-quantity-breaks__value" >
3654  <label
3655    for="qty-break-AWG9VTUVIYmVrTlBOd__quantity_break_tier_xYPFMy"
3656    class="product-quantity-breaks__pill is-selected"
3657    data-quantity-break-pill
3658    data-number="1"
3659    data-reduction="0"
3660    data-multiplication="1"
3661    
3662      data-default="true"
3663    
3664  >
3665    <input
3666      type="radio"
3667      id="qty-break-AWG9VTUVIYmVrTlBOd__quantity_break_tier_xYPFMy"
3668      name="product-10099179225392-quantity-break"
3669      value="AWG9VTUVIYmVrTlBOd__quantity_break_tier_xYPFMy"
3670      class="sr-only"
3671      data-quantity-break
3672      aria-label="x1"
3673      
3674      
3675        checked
3676      
3677    >
3678    <span class="product-quantity-breaks__pill-label">x1</span>
3679    
3680  </label>
3681</div>
3682
3683
3684
3685
3686<div class="product-quantity-breaks__value" >
3687  <label
3688    for="qty-break-ATkxyVEQwbm56YnFpN__quantity_break_tier_dLqmft"
3689    class="product-quantity-breaks__pill"
3690    data-quantity-break-pill
3691    data-number="2"
3692    data-reduction="0"
3693    data-multiplication="2"
3694    
3695  >
3696    <input
3697      type="radio"
3698      id="qty-break-ATkxyVEQwbm56YnFpN__quantity_break_tier_dLqmft"
3699      name="product-10099179225392-quantity-break"
3700      value="ATkxyVEQwbm56YnFpN__quantity_break_tier_dLqmft"
3701      class="sr-only"
3702      data-quantity-break
3703      aria-label="x2"
3704      
3705      
3706    >
3707    <span class="product-quantity-breaks__pill-label">x2</span>
3708    
3709  </label>
3710</div>
3711
3712
3713
3714
3715<div class="product-quantity-breaks__value" >
3716  <label
3717    for="qty-break-AcnpDeHk5K0NtUkN2c__quantity_break_tier_dEnXUd"
3718    class="product-quantity-breaks__pill"
3719    data-quantity-break-pill
3720    data-number="3"
3721    data-reduction="0"
3722    data-multiplication="3"
3723    
3724  >
3725    <input
3726      type="radio"
3727      id="qty-break-AcnpDeHk5K0NtUkN2c__quantity_break_tier_dEnXUd"
3728      name="product-10099179225392-quantity-break"
3729      value="AcnpDeHk5K0NtUkN2c__quantity_break_tier_dEnXUd"
3730      class="sr-only"
3731      data-quantity-break
3732      aria-label="x3"
3733      
3734      
3735    >
3736    <span class="product-quantity-breaks__pill-label">x3</span>
3737    
3738  </label>
3739</div>
3740
3741
3742
3743    </div>
3744  </fieldset>
3745</div>
3746
3747
3748
3749<div id="shopify-block-Aa3N5bGFDUCtadDV6Q__loop_subscriptions_loop_widget_FMi7Ya" class="shopify-block shopify-app-block"><div id="loop-widget-container-id-10099179225392" class="loop-widget-container loop-display-none"></div>
3750
3751
3752<!-- BEGIN app snippet: loop_skeleton_loader --><div id="loop-widget-skeleton-container-id-10099179225392" class="loop-widget-skeleton-container">
3753    <div class="loop-widget-skeleton-purchase-options-container">
3754      <div class="loop-widget-skeleton-purchase-option">
3755        <div class="loop-widget-skeleton-purchase-option-header">
3756          <div class="loop-widget-skeleton-spg-label-discount-wrapper">
3757            <div class="loop-widget-skeleton-radio-placeholder skeleton-box"></div>
3758            <div class="loop-widget-skeleton-label-placeholder skeleton-box"></div>
3759            <div class="loop-widget-skeleton-discount-badge-placeholder skeleton-box"></div>
3760          </div>
3761          <div class="loop-widget-skeleton-purchase-option-price-container">
3762            <div class="loop-widget-skeleton-price-placeholder skeleton-box"></div>
3763          </div>
3764        </div>
3765        <div class="loop-widget-skeleton-spg-container">
3766          <div class="loop-widget-skeleton-selector-label-placeholder skeleton-box"></div>
3767          <div class="loop-widget-skeleton-selector-placeholder skeleton-box"></div>
3768          <div class="loop-widget-skeleton-description-placeholder skeleton-box"></div>
3769        </div>
3770      </div>
3771      <div class="loop-widget-skeleton-purchase-option loop-widget-skeleton-purchase-option-border-top loop-widget-skeleton-purchase-option-onetime">
3772        <div class="loop-widget-skeleton-purchase-option-header">
3773          <div class="loop-widget-skeleton-spg-label-discount-wrapper">
3774            <div class="loop-widget-skeleton-radio-placeholder skeleton-box"></div>
3775            <div class="loop-widget-skeleton-label-placeholder skeleton-box"></div>
3776            <div class="loop-widget-skeleton-discount-badge-placeholder skeleton-box"></div>
3777          </div>
3778          <div class="loop-widget-skeleton-purchase-option-price-container">
3779            <div class="loop-widget-skeleton-price-placeholder skeleton-box"></div>
3780          </div>
3781        </div>
3782      </div>
3783    </div>
3784</div><!-- END app snippet -->
3785<script type="text/javascript" src="https://cdn.shopify.com/extensions/01a0e810-6f0e-75a7-af9e-8d71945888fc/loop-subscriptions-276/assets/loop_widget.js" defer></script>
3785
3786
3787<script>
3788  try {
3789    const productObject = {"id":10099179225392,"title":"BOOST™ Drink Mix 60 · Salted Cucumber · Bag","handle":"boost-drink-mix-60-salted-cucumber-bag","description":"\u003cp\u003eAll-natural 60g carbs + high-sodium drink mix for steady and fast-acting energy with extra sodium for hot days and heavy sweaters.\u003c\/p\u003e\n\u003cp\u003e\u003cem\u003eThe packaging you will receive may be different.\u003c\/em\u003e\u003c\/p\u003e","published_at":"2026-03-09T14:18:33-04:00","created_at":"2026-03-07T12:38:10-05:00","vendor":"Näak","type":"Drink Mixes","tags":["Boost","new","pfs:label-New"],"price":4800,"price_min":4800,"price_max":4800,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":50970992935216,"title":"1 bag - 15 servings","option1":"1 bag - 15 servings","option2":null,"option3":null,"sku":"BE-DM-CU-BG-01-CA","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"BOOST™ Drink Mix 60 · Salted Cucumber · Bag - 1 bag - 15 servings","public_title":"1 bag - 15 servings","options":["1 bag - 15 servings"],"price":4800,"weight":0,"compare_at_price":null,"inventory_quantity":50,"inventory_management":"shopify","inventory_policy":"deny","barcode":null,"requires_selling_plan":false,"unit_price":320,"unit_price_measurement":{"measured_type":"count","quantity_value":"15.0","quantity_unit":"item","reference_value":1,"reference_unit":"item"},"selling_plan_allocations":[{"price_adjustments":[{"position":1,"price":4080}],"price":4080,"compare_at_price":4800,"per_delivery_price":4080,"unit_price":272,"
3789selling_plan_id":692439580976,"selling_plan_group_id":"eceb5dec9e45638dea1dbe91ef2100ca7cabc898"}],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/www.naak.com\/cdn\/shop\/files\/naak-na-drink-mixes-1-bag-15-servings-boost-drink-mix-60-salted-cucumber-bag-1253784197.jpg?v=1786395130"],"featured_image":"\/\/www.naak.com\/cdn\/shop\/files\/naak-na-drink-mixes-1-bag-15-servings-boost-drink-mix-60-salted-cucumber-bag-1253784197.jpg?v=1786395130","options":["Quantity"],"media":[{"alt":"Näak NA Drink Mixes BOOST™ Drink Mix 60 · Salted Cucumber · Bag","id":44387623534896,"position":1,"preview_image":{"aspect_ratio":1.0,"height":1600,"width":1600,"src":"\/\/www.naak.com\/cdn\/shop\/files\/naak-na-drink-mixes-1-bag-15-servings-boost-drink-mix-60-salted-cucumber-bag-1253784197.jpg?v=1786395130"},"aspect_ratio":1.0,"height":1600,"media_type":"image","src":"\/\/www.naak.com\/cdn\/shop\/files\/naak-na-drink-mixes-1-bag-15-servings-boost-drink-mix-60-salted-cucumber-bag-1253784197.jpg?v=1786395130","width":1600}],"requires_selling_plan":false,"selling_plan_groups":[{"id":"eceb5dec9e45638dea1dbe91ef2100ca7cabc898","name":"Subscribe and Save 15%","options":[{"name":"Deliver every","position":1,"values":["1 month"]}],"selling_plans":[{"id":692439580976,"name":"Deliver every 1 month","description":"\u003cul\u003e\n  \u003cli\u003e✓ Save 15% on every order\u003c\/li\u003e\n  \u003cli\u003e✓ Unlock exclusive member rewards\u003c\/li\u003e\n  \u003cli\u003e✓ Pause, skip or cancel anytime\u003c\/li\u003e\n\n\u003c\/ul\u003e","options":[{"name":"Deliver every","position":1,"value":"1 month"}],"recurring_deliveries":true,"price_adjustments":[{"order_count":null,"position":1,"value_type":"percentage","value":15}],"checkout_charge":{"value_type":"percentage","value":100}}],"app_id":"5284869"}],"content":"\u003cp\u003eAll-natural 60g carbs + high-sodium drink mix for steady and fast-acting energy with extra sodium for hot days and heavy sweaters.\u003c\/p\u003e\n\u003cp\u003e\u003cem\u003eThe packaging you will receive may be different.\u003c\/em\u003e\u003c\/p\u003e"};
3790    window.LOOP_WIDGET = {
3791      [productObject.id]: {
3792        product: productObject,
3793        prepaidSellingPlans: {},
3794        productBundleData: {},
3795        templateName: "basic-bags-15-servings",
3796        preferences: [],
3797        texts: [],
3798        storeJson: {},
3799      }
3800    };
3801
3802    function renderLoopWidget(productId) {
3803      if (window.LoopSubscriptions && typeof window.LoopSubscriptions.startLoopWidget === "function") {
3804        window.LoopSubscriptions.startLoopWidget(productId);
3805      } else {
3806        setTimeout(() => renderLoopWidget(productId), 5);
3807      }
3808    }
3809    renderLoopWidget(productObject.id);
3810  } catch (error) {
3811    console.error(`Error loading Loop subscriptions widget: error${error?.message}`, "error", error);
3812  }
3813</script>
3813
3814
3815
3816</div>
3817
3818<div
3819  class="product-buy-buttons"
3820  style="margin-top: 8px; margin-bottom: 0px;"
3821  
3822>
3823  
3824    <div
3825      class="sr-only"
3826      aria-live="polite"
3827      role="status"
3828      aria-atomic="true"
3829      data-product-form-live
3830    ></div>
3831
3832    <form method="post" action="/cart/add" id="ProductForm-template--27273399271728__main-AOFFwQ0JsV0p0VkE2T__buy_buttons" accept-charset="UTF-8" class="product-buy-buttons__form flex flex-col gap-2" enctype="multipart/form-data" data-main-product-form="true"><input type="hidden" name="form_type" value="product" /><input type="hidden" name="utf8" value="✓" />
3833      <input
3834        type="hidden"
3835        name="id"
3836        value="50970992935216"
3837        data-main-product-variant-id
3838      >
3839
3840      
3841        <input
3842          type="hidden"
3843          name="quantity"
3844          value="1"
3845          class="quantity__input"
3846          data-product-quantity
3847        >
3848      
3849
3850      <p
3851        class="hidden text-sm text-red-700"
3852        data-product-form-error
3853        role="alert"
3854      ></p><div class="product-buy-buttons__row" id="klaviyo-bis-anchor">
3855        
3856
3857        
3858        
3859
3860
3861
3862<div
3863  class="product-add-to-cart-button min-w-0 flex-1"
3864  
3865  
3866>
3867  <button
3868    type="submit"
3869    name="add"
3870    id="klaviyo-bis-anchor-submit"
3871    class="product-atc-button product-atc-button--priced btn btn--primary w-full min-w-0"
3872    data-main-product-submit
3873    data-label-add="Add"
3874    data-label-sold-out="Sold out"
3875    
3876  >
3877    <span class="product-atc-button__content" data-main-product-submit-default>
3878      <span
3879        data-main-product-submit-action
3880        data-label-add="Add"
3881        data-label-sold-out="Sold out"
3882      >
3883        
3884          Add
3885        
3886      </span>
3887      <span
3888        class="product-atc-button__sep"
3889        data-main-product-submit-sep
3890        
3891        aria-hidden="true"
3892        >/</span
3893      >
3894      <span
3895        class="product-atc-button__price-group"
3896        data-main-product-submit-price-group
3897        
3898      >
3899        <span class="product-atc-button__prices">
3900          <span data-main-product-submit-price>$48.00</span>
3901          <s
3902            class="product-atc-button__compare"
3903            data-main-product-submit-compare
3904            hidden
3905          ></s>
3906        </span>
3907      </span>
3908    </span>
3909
3910    
3911      <span
3912        class="product-atc-button__state product-atc-button__state--loading"
3913        data-main-product-submit-loading
3914        hidden
3915        aria-hidden="true"
3916      ><svg
3917  class="product-atc-button__loader"
3918  viewBox="0 0 442 231"
3919  fill="none"
3920  xmlns="http://www.w3.org/2000/svg"
3921  aria-hidden="true"
3922  focusable="false"
3923>
3924  <defs>
3925    <mask id="atc-loader-AblN4eGJpd0ZCK0M4c__add-to-cart" maskUnits="userSpaceOnUse" x="0" y="0" width="442" height="231">
3926      <g class="product-atc-button__loader-fill">
3927        <rect x="0" y="0" width="442" height="231" fill="white" />
3928      </g>
3929    </mask>
3930  </defs>
3931
3932  <path
3933    class="product-atc-button__loader-outline"
3934    d="M442 67.3174V230.446H0L64.3086 149.227L104.251 150.075L181.309 90.6699L222.831 101.999L245.478 69.8906L267.538 75.4062L339.225 28.0244L365.334 38.1133L405.896 0L442 67.3174Z"
3935    fill="none"
3936    stroke="currentColor"
3937    stroke-width="1.5"
3938    opacity="0.2"
3939  />
3940
3941  <path
3942    class="product-atc-button__loader-mountain"
3943    d="M442 67.3174V230.446H0L64.3086 149.227L104.251 150.075L181.309 90.6699L222.831 101.999L245.478 69.8906L267.538 75.4062L339.225 28.0244L365.334 38.1133L405.896 0L442 67.3174Z"
3944    fill="currentColor"
3945    mask="url(#atc-loader-AblN4eGJpd0ZCK0M4c__add-to-cart)"
3946  />
3947</svg>
3948
3949        <span class="sr-only">Adding…</span>
3950      </span>
3951    
3952
3953    
3954      <span
3955        class="product-atc-button__state product-atc-button__state--added"
3956        data-main-product-submit-added
3957        hidden
3958        aria-hidden="true"
3959      >
3960        <svg
3961          class="product-atc-button__check"
3962          width="16"
3963          height="16"
3964          viewBox="0 0 16 16"
3965          fill="none"
3966          aria-hidden="true"
3967        >
3968          <path d="M3 8.5L6.5 12L13 4" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"/>
3969        </svg>
3970        <span>Added</span>
3971      </span>
3972    
3973  </button>
3974</div>
3975
3976
3977
3978        
3979      </div>
3980
3981      <a
3982        id="klaviyo-bis-trigger"
3983        class="klaviyo-bis-trigger btn btn--secondary notify-me-bis w-full"
3984        href="#"
3985        
3986          hidden
3987        
3988      >Notify me when back in stock</a>
3989
3990      
3991      
3992      
3993<p class="product-buy-buttons__shipping">Shipped within 48h</p><input type="hidden" name="product-id" value="10099179225392" /><input type="hidden" name="section-id" value="template--27273399271728__main" /></form>
3994  
3995</div>
3996
3997
3998
3999
4000    
4000<script type="application/json" data-main-product-variants>
4001      [{
4002          "id": 50970992935216,
4003          "available": true,
4004          "options": ["1 bag - 15 servings"],
4005          "price_cents": 4800,
4006          "compare_at_cents": 0,
4007          "featured_media_id": null,
4008          "inventory_quantity": 72,
4009          "inventory_management": "shopify",
4010          "inventory_policy": "deny",
4011          "quantity_rule_min": 1,
4012          "quantity_rule_max": null,
4013          "quantity_rule_increment": 1
4014        }]
4015    </script>
4015
4016  </div>
4017
4018
4019
4020
4021
4022<div
4023  class="product-info-links"
4024  data-drawer-show-naak="true"
4025  data-drawer-show-ingredients="true"
4026  style="padding-bottom: 24px;
4027"
4028  
4029><button
4030      type="button"
4031      class="product-info-links__link"
4032      @click="openProductDrawer('product-details', 'ingredients')"
4033    >
4034      Ingredients and nutrition facts
4035    </button><button
4036      type="button"
4037      class="product-info-links__link"
4038      @click="openProductDrawer('product-details', 'faq')"
4039    >
4040      FAQ
4041    </button><button
4042      type="button"
4043      class="product-info-links__link"
4044      @click="openProductDrawer('product-details', 'naak-plus')"
4045    >
4046      näak+ advantages
4047    </button></div>
4048
4049
4050
4051<div class="product-nutrition-plan-cta-container" style="padding-bottom: 24px;
4052">
4053  <a
4054    href="/pages/nutrition-calculator"
4055    class="product-nutrition-plan-cta"
4056
4057    
4058  >
4059    <span class="product-nutrition-plan-cta__label">Get your personalized nutrition plan</span>
4060    <svg
4061      class="product-nutrition-plan-cta__icon"
4062      width="16"
4063      height="16"
4064      viewBox="0 0 16 16"
4065      fill="none"
4066      xmlns="http://www.w3.org/2000/svg"
4067    >
4068      <path d="M8.67598 3.19976L13.476 7.99976L8.67598 12.7998" stroke="currentColor" stroke-width="1.5"/>
4069      <line x1="13.5" y1="8.04712" x2="1.5" y2="8.04712" stroke="currentColor" stroke-width="1.5"/>
4070    </svg>
4071  </a>
4072</div>
4073
4074
4075
4076
4077
4078
4079  <section
4080    class="product-upsell"
4081    style="padding-bottom: 0px;
4082"
4083    aria-label="Often purchased with"
4084    data-product-upsell
4085    data-product-id="10099179225392"
4086    data-intent="complementary"
4087    data-limit="2"
4088    data-design-mode="false"
4089    aria-busy="true"
4090    
4091  >
4092    <p class="product-upsell__heading">Often purchased with</p>
4093    <template data-product-upsell-template>
4094      <article class="product-upsell-card" data-product-upsell-card>
4095  <a href="#" class="product-upsell-card__media" data-product-upsell-link tabindex="-1" aria-hidden="true">
4096    <div class="product-upsell-card__image-wrap" data-product-upsell-image-wrap hidden>
4097      <img
4098        class="product-upsell-card__image"
4099        data-product-upsell-image
4100        alt=""
4101        loading="lazy"
4102        width="84"
4103        height="102"
4104      >
4105    </div>
4106    <div class="product-upsell-card__image-placeholder" data-product-upsell-image-placeholder aria-hidden="true"></div>
4107  </a>
4108
4109  <div class="product-upsell-card__body">
4110    <div class="product-upsell-card__meta">
4111      <p class="product-upsell-card__title">
4112        <a href="#" class="product-upsell-card__title-link" data-product-upsell-link data-product-upsell-title></a>
4113      </p>
4114      <p class="product-upsell-card__subtitle" data-product-upsell-subtitle hidden></p>
4115    </div>
4116
4117    <div class="product-upsell-card__footer">
4118      <div class="product-upsell-card__price">
4119        <span class="product-upsell-card__price-current" data-product-upsell-price></span>
4120        <s class="product-upsell-card__price-compare" data-product-upsell-compare hidden></s>
4121      </div>
4122
4123      <form method="post" action="/cart/add" class="product-upsell-card__form" data-add-to-cart-form>
4124        <input type="hidden" name="id" value="" data-product-upsell-variant-id>
4125        <input type="hidden" name="quantity" value="1">
4126        <button
4127          type="submit"
4128          class="product-upsell-card__add product-atc-button"
4129          data-add-to-cart-submit
4130          data-product-upsell-add
4131        >
4132          <span class="product-atc-button__content" data-product-upsell-add-label>
4133            Add
4134          </span>
4135          <span
4136            class="product-atc-button__state product-atc-button__state--loading"
4137            data-atc-submit-loading
4138            hidden
4139            aria-hidden="true"
4140          >
4141            <svg
4142  class="product-atc-button__loader"
4143  viewBox="0 0 442 231"
4144  fill="none"
4145  xmlns="http://www.w3.org/2000/svg"
4146  aria-hidden="true"
4147  focusable="false"
4148>
4149  <defs>
4150    <mask id="upsell-atc-loader" maskUnits="userSpaceOnUse" x="0" y="0" width="442" height="231">
4151      <g class="product-atc-button__loader-fill">
4152        <rect x="0" y="0" width="442" height="231" fill="white" />
4153      </g>
4154    </mask>
4155  </defs>
4156
4157  <path
4158    class="product-atc-button__loader-outline"
4159    d="M442 67.3174V230.446H0L64.3086 149.227L104.251 150.075L181.309 90.6699L222.831 101.999L245.478 69.8906L267.538 75.4062L339.225 28.0244L365.334 38.1133L405.896 0L442 67.3174Z"
4160    fill="none"
4161    stroke="currentColor"
4162    stroke-width="1.5"
4163    opacity="0.2"
4164  />
4165
4166  <path
4167    class="product-atc-button__loader-mountain"
4168    d="M442 67.3174V230.446H0L64.3086 149.227L104.251 150.075L181.309 90.6699L222.831 101.999L245.478 69.8906L267.538 75.4062L339.225 28.0244L365.334 38.1133L405.896 0L442 67.3174Z"
4169    fill="currentColor"
4170    mask="url(#upsell-atc-loader)"
4171  />
4172</svg>
4173
4174            <span class="sr-only">Adding…</span>
4175          </span>
4176        </button>
4177      </form>
4178    </div>
4179  </div>
4180</article>
4181
4182    </template>
4183    <div class="product-upsell__list" data-product-upsell-list hidden></div>
4184    <div class="product-upsell__skeletons" data-product-upsell-skeletons>
4185      
4186        <article class="product-upsell-card product-upsell-card--skeleton" aria-hidden="true">
4187  <div class="product-upsell-card__media">
4188    <div class="product-upsell-card__skeleton-block product-upsell-card__skeleton-block--media"></div>
4189  </div>
4190
4191  <div class="product-upsell-card__body">
4192    <div class="product-upsell-card__meta">
4193      <div class="product-upsell-card__skeleton-block product-upsell-card__skeleton-block--title"></div>
4194      <div class="product-upsell-card__skeleton-block product-upsell-card__skeleton-block--subtitle"></div>
4195    </div>
4196
4197    <div class="product-upsell-card__footer">
4198      <div class="product-upsell-card__skeleton-block product-upsell-card__skeleton-block--price"></div>
4199      <div class="product-upsell-card__skeleton-block product-upsell-card__skeleton-block--button"></div>
4200    </div>
4201  </div>
4202</article>
4203
4204      
4205        <article class="product-upsell-card product-upsell-card--skeleton" aria-hidden="true">
4206  <div class="product-upsell-card__media">
4207    <div class="product-upsell-card__skeleton-block product-upsell-card__skeleton-block--media"></div>
4208  </div>
4209
4210  <div class="product-upsell-card__body">
4211    <div class="product-upsell-card__meta">
4212      <div class="product-upsell-card__skeleton-block product-upsell-card__skeleton-block--title"></div>
4213      <div class="product-upsell-card__skeleton-block product-upsell-card__skeleton-block--subtitle"></div>
4214    </div>
4215
4216    <div class="product-upsell-card__footer">
4217      <div class="product-upsell-card__skeleton-block product-upsell-card__skeleton-block--price"></div>
4218      <div class="product-upsell-card__skeleton-block product-upsell-card__skeleton-block--button"></div>
4219    </div>
4220  </div>
4221</article>
4222
4223      
4224    </div>
4225    <p class="sr-only" data-product-upsell-loading aria-live="polite">
4226      Loading recommendations…
4227    </p>
4228    <p class="product-upsell__empty text-sm text-[#757575]" data-product-upsell-empty hidden>
4229      
4230        No recommendations at the moment.
4231      
4232    </p>
4233  </section>
4234
4235
4236
4237
4238
4239
4240        </div>
4241      </div>
4242    </div>
4243  </div>
4244
4245
4246
4247
4248
4249<div
4250  id="product-details-drawer"
4251  class="product-drawer product-drawer--details cart-drawer fixed inset-0 z-50 overflow-hidden text-black"
4252  role="dialog"
4253  aria-modal="true"
4254  aria-labelledby="product-details-drawer-title"
4255  x-show="openDrawer === 'product-details'"
4256  :aria-hidden="openDrawer === 'product-details' ? 'false' : 'true'"
4257  @keydown.escape.window="openDrawer === 'product-details' && closeDrawers()"
4258  x-init="
4259    const panels = 'reviews,ingredients,faq,naak-plus'.split(',');
4260    if (!panels.includes(productInfoPanel)) {
4261      productInfoPanel = panels[0] || 'naak-plus';
4262    }
4263  "
4264  style="display: none;"
4265>
4266  <div
4267    class="cart-drawer__overlay absolute inset-0 z-0 bg-black/50 transition-opacity duration-200 ease-in-out"
4268    aria-hidden="true"
4269    x-show="openDrawer === 'product-details'"
4270    x-transition:enter="ease-out duration-200"
4271    x-transition:enter-start="opacity-0"
4272    x-transition:enter-end="opacity-100"
4273    x-transition:leave="ease-in duration-200"
4274    x-transition:leave-start="opacity-100"
4275    x-transition:leave-end="opacity-0"
4276    @click="closeDrawers()"
4277  ></div>
4278
4279  <div class="cart-drawer__stage absolute inset-0 z-10 pointer-events-none focus:outline-none">
4280    <div
4281      class="cart-drawer__panel js-product-drawer-panel pointer-events-auto ml-auto flex h-lvh w-full max-w-[520px] transform transition duration-200 ease-in-out sm:duration-350"
4282      x-show="openDrawer === 'product-details'"
4283      x-transition:enter="transform ease-out duration-200 sm:duration-350"
4284      x-transition:enter-start="translate-x-full"
4285      x-transition:enter-end="translate-x-0"
4286      x-transition:leave="transform ease-in duration-200 sm:duration-350"
4287      x-transition:leave-start="translate-x-0"
4288      x-transition:leave-end="translate-x-full"
4289    >
4290      <header class="cart-drawer__header">
4291  <p id="product-details-drawer-title" class="cart-drawer__header-title">
4292    <span class="cart-drawer__header-count">Product Details</span>
4293  </p>
4294  <button
4295    type="button"
4296    class="cart-drawer__close"
4297    aria-label="Close"
4298    @click="closeDrawers()"
4299  >
4300    <svg class="size-4" width="20" height="20" viewBox="0 0 20 20" fill="none" aria-hidden="true">
4301      <path d="M4 4l12 12M16 4 4 16" stroke="currentColor" stroke-width="1.5"/>
4302    </svg>
4303  </button>
4304</header>
4305
4306
4307      <nav
4308  class="product-drawer__tabs"
4309  role="tablist"
4310  aria-label="Product details sections"
4311><button
4312      type="button"
4313      role="tab"
4314      class="product-drawer__tab"
4315      data-product-drawer-reviews-tab
4316      :class="productInfoPanel === 'reviews' && 'is-active'"
4317      :aria-selected="productInfoPanel === 'reviews' ? 'true' : 'false'"
4318      @click="productInfoPanel = 'reviews'; window.dispatchEvent(new CustomEvent('boilerplate:product-drawer-reviews:open'))"
4319    >
4320      reviews (8)
4321    </button><button
4322      type="button"
4323      role="tab"
4324      class="product-drawer__tab"
4325      :class="productInfoPanel === 'ingredients' && 'is-active'"
4326      :aria-selected="productInfoPanel === 'ingredients' ? 'true' : 'false'"
4327      @click="productInfoPanel = 'ingredients'"
4328    >Ingredients and nutrition facts</button><button
4329      type="button"
4330      role="tab"
4331      class="product-drawer__tab"
4332      :class="productInfoPanel === 'faq' && 'is-active'"
4333      :aria-selected="productInfoPanel === 'faq' ? 'true' : 'false'"
4334      @click="productInfoPanel = 'faq'"
4335    >FAQ</button><button
4336      type="button"
4337      role="tab"
4338      class="product-drawer__tab"
4339      :class="productInfoPanel === 'naak-plus' && 'is-active'"
4340      :aria-selected="productInfoPanel === 'naak-plus' ? 'true' : 'false'"
4341      @click="productInfoPanel = 'naak-plus'"
4342    >Näak+ benefits</button></nav>
4343
4344
4345      <div class="cart-drawer__content flex min-h-0 flex-1 flex-col overflow-y-auto">
4346        <div class="product-drawer__body"><div x-show="productInfoPanel === 'reviews'" x-cloak>
4347              <div
4348    class="product-drawer__panel-section product-drawer-reviews"
4349    data-product-drawer-reviews
4350    data-product-id="10099179225392"
4351  >
4352    
4352<script type="application/json" data-product-drawer-reviews-config>
4353      {
4354        "shopDomain": "naakbar.myshopify.com",
4355        "apiToken": "wqClGBkqgFE2kqdr7LGClX6xw7I",
4356        "productId": 10099179225392,
4357        "productHandle": "boost-drink-mix-60-salted-cucumber-bag",
4358        "productTitle": "BOOST™ Drink Mix 60 · Salted Cucumber · Bag",
4359        "perPage": 15,
4360        "minRating": 3,
4361        "summary": {
4362          "rating": "5.0",
4363          "reviewCount": 8,
4364          "ordersLabel": null
4365        },
4366        "strings": {
4367          "loading": "Loading reviews…",
4368          "loadingMore": "Loading…",
4369          "loadMore": "Load more reviews",
4370          "error": "Unable to load reviews right now.",
4371          "errorConfig": "Set the Judge.me private API token in theme settings.",
4372          "errorPermissions": "Invalid Judge.me token — use the public API token (not the private one).",
4373          "errorNetwork": "Unable to reach Judge.me. Check the public token and your connection.",
4374          "verified": "Verified",
4375          "ratingAria": "Rating __RATING__ out of 5",
4376          "globalNotePrefix": "Overall rating from",
4377          "athletesCount": "8 athletes"
4378        }
4379      }
4380    </script>
4380
4381
4382    <header class="product-drawer-reviews__summary">
4383      <div class="product-drawer-reviews__summary-main"><p class="product-drawer-reviews__score">5.0</p><div class="product-drawer-reviews__summary-stats"><p class="product-drawer-reviews__summary-note">
4384              <span>Overall rating from</span>
4385              <span class="product-drawer-reviews__summary-note-count">8 athletes</span>
4386            </p><p class="product-drawer-reviews__summary-orders">
4387              +630 orders
4388            </p></div>
4389      </div>
4390
4391      <div class="product-drawer-reviews__histogram" data-product-drawer-reviews-histogram><div
4392            class="product-drawer-reviews__histogram-row"
4393            data-histogram-rating="5"
4394          >
4395            <div class="product-drawer-reviews__histogram-stars" aria-hidden="true"><svg
4396      class="product-drawer-reviews__histogram-star"
4397      width="12"
4398      height="12"
4399      viewBox="0 0 12 12"
4400      fill="none"
4401      xmlns="http://www.w3.org/2000/svg"
4402    >
4403      <path d="M5.70941 0.145073C5.80605 -0.0487729 6.08263 -0.0487733 6.17926 0.145072L7.82361 3.4435C7.86182 3.52016 7.93503 3.57335 8.01974 3.58601L11.6649 4.1306C11.8791 4.1626 11.9646 4.42565 11.8101 4.57745L9.1812 7.16059C9.1201 7.22062 9.09214 7.30669 9.10628 7.39116L9.71475 11.0262C9.7505 11.2398 9.52675 11.4024 9.33463 11.3023L6.06556 9.60038C5.98958 9.56082 5.89909 9.56082 5.82312 9.60038L2.55404 11.3023C2.36192 11.4024 2.13817 11.2398 2.17393 11.0262L2.7824 7.39116C2.79654 7.30669 2.76857 7.22062 2.70748 7.16059L0.0786117 4.57745C-0.0758841 4.42565 0.00958318 4.1626 0.223804 4.1306L3.86893 3.58601C3.95364 3.57335 4.02685 3.52016 4.06507 3.4435L5.70941 0.145073Z" fill="currentColor"/>
4404    </svg><svg
4405      class="product-drawer-reviews__histogram-star"
4406      width="12"
4407      height="12"
4408      viewBox="0 0 12 12"
4409      fill="none"
4410      xmlns="http://www.w3.org/2000/svg"
4411    >
4412      <path d="M5.70941 0.145073C5.80605 -0.0487729 6.08263 -0.0487733 6.17926 0.145072L7.82361 3.4435C7.86182 3.52016 7.93503 3.57335 8.01974 3.58601L11.6649 4.1306C11.8791 4.1626 11.9646 4.42565 11.8101 4.57745L9.1812 7.16059C9.1201 7.22062 9.09214 7.30669 9.10628 7.39116L9.71475 11.0262C9.7505 11.2398 9.52675 11.4024 9.33463 11.3023L6.06556 9.60038C5.98958 9.56082 5.89909 9.56082 5.82312 9.60038L2.55404 11.3023C2.36192 11.4024 2.13817 11.2398 2.17393 11.0262L2.7824 7.39116C2.79654 7.30669 2.76857 7.22062 2.70748 7.16059L0.0786117 4.57745C-0.0758841 4.42565 0.00958318 4.1626 0.223804 4.1306L3.86893 3.58601C3.95364 3.57335 4.02685 3.52016 4.06507 3.4435L5.70941 0.145073Z" fill="currentColor"/>
4413    </svg><svg
4414      class="product-drawer-reviews__histogram-star"
4415      width="12"
4416      height="12"
4417      viewBox="0 0 12 12"
4418      fill="none"
4419      xmlns="http://www.w3.org/2000/svg"
4420    >
4421      <path d="M5.70941 0.145073C5.80605 -0.0487729 6.08263 -0.0487733 6.17926 0.145072L7.82361 3.4435C7.86182 3.52016 7.93503 3.57335 8.01974 3.58601L11.6649 4.1306C11.8791 4.1626 11.9646 4.42565 11.8101 4.57745L9.1812 7.16059C9.1201 7.22062 9.09214 7.30669 9.10628 7.39116L9.71475 11.0262C9.7505 11.2398 9.52675 11.4024 9.33463 11.3023L6.06556 9.60038C5.98958 9.56082 5.89909 9.56082 5.82312 9.60038L2.55404 11.3023C2.36192 11.4024 2.13817 11.2398 2.17393 11.0262L2.7824 7.39116C2.79654 7.30669 2.76857 7.22062 2.70748 7.16059L0.0786117 4.57745C-0.0758841 4.42565 0.00958318 4.1626 0.223804 4.1306L3.86893 3.58601C3.95364 3.57335 4.02685 3.52016 4.06507 3.4435L5.70941 0.145073Z" fill="currentColor"/>
4422    </svg><svg
4423      class="product-drawer-reviews__histogram-star"
4424      width="12"
4425      height="12"
4426      viewBox="0 0 12 12"
4427      fill="none"
4428      xmlns="http://www.w3.org/2000/svg"
4429    >
4430      <path d="M5.70941 0.145073C5.80605 -0.0487729 6.08263 -0.0487733 6.17926 0.145072L7.82361 3.4435C7.86182 3.52016 7.93503 3.57335 8.01974 3.58601L11.6649 4.1306C11.8791 4.1626 11.9646 4.42565 11.8101 4.57745L9.1812 7.16059C9.1201 7.22062 9.09214 7.30669 9.10628 7.39116L9.71475 11.0262C9.7505 11.2398 9.52675 11.4024 9.33463 11.3023L6.06556 9.60038C5.98958 9.56082 5.89909 9.56082 5.82312 9.60038L2.55404 11.3023C2.36192 11.4024 2.13817 11.2398 2.17393 11.0262L2.7824 7.39116C2.79654 7.30669 2.76857 7.22062 2.70748 7.16059L0.0786117 4.57745C-0.0758841 4.42565 0.00958318 4.1626 0.223804 4.1306L3.86893 3.58601C3.95364 3.57335 4.02685 3.52016 4.06507 3.4435L5.70941 0.145073Z" fill="currentColor"/>
4431    </svg><svg
4432      class="product-drawer-reviews__histogram-star"
4433      width="12"
4434      height="12"
4435      viewBox="0 0 12 12"
4436      fill="none"
4437      xmlns="http://www.w3.org/2000/svg"
4438    >
4439      <path d="M5.70941 0.145073C5.80605 -0.0487729 6.08263 -0.0487733 6.17926 0.145072L7.82361 3.4435C7.86182 3.52016 7.93503 3.57335 8.01974 3.58601L11.6649 4.1306C11.8791 4.1626 11.9646 4.42565 11.8101 4.57745L9.1812 7.16059C9.1201 7.22062 9.09214 7.30669 9.10628 7.39116L9.71475 11.0262C9.7505 11.2398 9.52675 11.4024 9.33463 11.3023L6.06556 9.60038C5.98958 9.56082 5.89909 9.56082 5.82312 9.60038L2.55404 11.3023C2.36192 11.4024 2.13817 11.2398 2.17393 11.0262L2.7824 7.39116C2.79654 7.30669 2.76857 7.22062 2.70748 7.16059L0.0786117 4.57745C-0.0758841 4.42565 0.00958318 4.1626 0.223804 4.1306L3.86893 3.58601C3.95364 3.57335 4.02685 3.52016 4.06507 3.4435L5.70941 0.145073Z" fill="currentColor"/>
4440    </svg></div>
4441            <span class="product-drawer-reviews__histogram-count" data-histogram-count>
4442              (0)
4443            </span>
4444          </div><div
4445            class="product-drawer-reviews__histogram-row"
4446            data-histogram-rating="4"
4447          >
4448            <div class="product-drawer-reviews__histogram-stars" aria-hidden="true"><svg
4449      class="product-drawer-reviews__histogram-star"
4450      width="12"
4451      height="12"
4452      viewBox="0 0 12 12"
4453      fill="none"
4454      xmlns="http://www.w3.org/2000/svg"
4455    >
4456      <path d="M5.70941 0.145073C5.80605 -0.0487729 6.08263 -0.0487733 6.17926 0.145072L7.82361 3.4435C7.86182 3.52016 7.93503 3.57335 8.01974 3.58601L11.6649 4.1306C11.8791 4.1626 11.9646 4.42565 11.8101 4.57745L9.1812 7.16059C9.1201 7.22062 9.09214 7.30669 9.10628 7.39116L9.71475 11.0262C9.7505 11.2398 9.52675 11.4024 9.33463 11.3023L6.06556 9.60038C5.98958 9.56082 5.89909 9.56082 5.82312 9.60038L2.55404 11.3023C2.36192 11.4024 2.13817 11.2398 2.17393 11.0262L2.7824 7.39116C2.79654 7.30669 2.76857 7.22062 2.70748 7.16059L0.0786117 4.57745C-0.0758841 4.42565 0.00958318 4.1626 0.223804 4.1306L3.86893 3.58601C3.95364 3.57335 4.02685 3.52016 4.06507 3.4435L5.70941 0.145073Z" fill="currentColor"/>
4457    </svg><svg
4458      class="product-drawer-reviews__histogram-star"
4459      width="12"
4460      height="12"
4461      viewBox="0 0 12 12"
4462      fill="none"
4463      xmlns="http://www.w3.org/2000/svg"
4464    >
4465      <path d="M5.70941 0.145073C5.80605 -0.0487729 6.08263 -0.0487733 6.17926 0.145072L7.82361 3.4435C7.86182 3.52016 7.93503 3.57335 8.01974 3.58601L11.6649 4.1306C11.8791 4.1626 11.9646 4.42565 11.8101 4.57745L9.1812 7.16059C9.1201 7.22062 9.09214 7.30669 9.10628 7.39116L9.71475 11.0262C9.7505 11.2398 9.52675 11.4024 9.33463 11.3023L6.06556 9.60038C5.98958 9.56082 5.89909 9.56082 5.82312 9.60038L2.55404 11.3023C2.36192 11.4024 2.13817 11.2398 2.17393 11.0262L2.7824 7.39116C2.79654 7.30669 2.76857 7.22062 2.70748 7.16059L0.0786117 4.57745C-0.0758841 4.42565 0.00958318 4.1626 0.223804 4.1306L3.86893 3.58601C3.95364 3.57335 4.02685 3.52016 4.06507 3.4435L5.70941 0.145073Z" fill="currentColor"/>
4466    </svg><svg
4467      class="product-drawer-reviews__histogram-star"
4468      width="12"
4469      height="12"
4470      viewBox="0 0 12 12"
4471      fill="none"
4472      xmlns="http://www.w3.org/2000/svg"
4473    >
4474      <path d="M5.70941 0.145073C5.80605 -0.0487729 6.08263 -0.0487733 6.17926 0.145072L7.82361 3.4435C7.86182 3.52016 7.93503 3.57335 8.01974 3.58601L11.6649 4.1306C11.8791 4.1626 11.9646 4.42565 11.8101 4.57745L9.1812 7.16059C9.1201 7.22062 9.09214 7.30669 9.10628 7.39116L9.71475 11.0262C9.7505 11.2398 9.52675 11.4024 9.33463 11.3023L6.06556 9.60038C5.98958 9.56082 5.89909 9.56082 5.82312 9.60038L2.55404 11.3023C2.36192 11.4024 2.13817 11.2398 2.17393 11.0262L2.7824 7.39116C2.79654 7.30669 2.76857 7.22062 2.70748 7.16059L0.0786117 4.57745C-0.0758841 4.42565 0.00958318 4.1626 0.223804 4.1306L3.86893 3.58601C3.95364 3.57335 4.02685 3.52016 4.06507 3.4435L5.70941 0.145073Z" fill="currentColor"/>
4475    </svg><svg
4476      class="product-drawer-reviews__histogram-star"
4477      width="12"
4478      height="12"
4479      viewBox="0 0 12 12"
4480      fill="none"
4481      xmlns="http://www.w3.org/2000/svg"
4482    >
4483      <path d="M5.70941 0.145073C5.80605 -0.0487729 6.08263 -0.0487733 6.17926 0.145072L7.82361 3.4435C7.86182 3.52016 7.93503 3.57335 8.01974 3.58601L11.6649 4.1306C11.8791 4.1626 11.9646 4.42565 11.8101 4.57745L9.1812 7.16059C9.1201 7.22062 9.09214 7.30669 9.10628 7.39116L9.71475 11.0262C9.7505 11.2398 9.52675 11.4024 9.33463 11.3023L6.06556 9.60038C5.98958 9.56082 5.89909 9.56082 5.82312 9.60038L2.55404 11.3023C2.36192 11.4024 2.13817 11.2398 2.17393 11.0262L2.7824 7.39116C2.79654 7.30669 2.76857 7.22062 2.70748 7.16059L0.0786117 4.57745C-0.0758841 4.42565 0.00958318 4.1626 0.223804 4.1306L3.86893 3.58601C3.95364 3.57335 4.02685 3.52016 4.06507 3.4435L5.70941 0.145073Z" fill="currentColor"/>
4484    </svg></div>
4485            <span class="product-drawer-reviews__histogram-count" data-histogram-count>
4486              (0)
4487            </span>
4488          </div><div
4489            class="product-drawer-reviews__histogram-row"
4490            data-histogram-rating="3"
4491          >
4492            <div class="product-drawer-reviews__histogram-stars" aria-hidden="true"><svg
4493      class="product-drawer-reviews__histogram-star"
4494      width="12"
4495      height="12"
4496      viewBox="0 0 12 12"
4497      fill="none"
4498      xmlns="http://www.w3.org/2000/svg"
4499    >
4500      <path d="M5.70941 0.145073C5.80605 -0.0487729 6.08263 -0.0487733 6.17926 0.145072L7.82361 3.4435C7.86182 3.52016 7.93503 3.57335 8.01974 3.58601L11.6649 4.1306C11.8791 4.1626 11.9646 4.42565 11.8101 4.57745L9.1812 7.16059C9.1201 7.22062 9.09214 7.30669 9.10628 7.39116L9.71475 11.0262C9.7505 11.2398 9.52675 11.4024 9.33463 11.3023L6.06556 9.60038C5.98958 9.56082 5.89909 9.56082 5.82312 9.60038L2.55404 11.3023C2.36192 11.4024 2.13817 11.2398 2.17393 11.0262L2.7824 7.39116C2.79654 7.30669 2.76857 7.22062 2.70748 7.16059L0.0786117 4.57745C-0.0758841 4.42565 0.00958318 4.1626 0.223804 4.1306L3.86893 3.58601C3.95364 3.57335 4.02685 3.52016 4.06507 3.4435L5.70941 0.145073Z" fill="currentColor"/>
4501    </svg><svg
4502      class="product-drawer-reviews__histogram-star"
4503      width="12"
4504      height="12"
4505      viewBox="0 0 12 12"
4506      fill="none"
4507      xmlns="http://www.w3.org/2000/svg"
4508    >
4509      <path d="M5.70941 0.145073C5.80605 -0.0487729 6.08263 -0.0487733 6.17926 0.145072L7.82361 3.4435C7.86182 3.52016 7.93503 3.57335 8.01974 3.58601L11.6649 4.1306C11.8791 4.1626 11.9646 4.42565 11.8101 4.57745L9.1812 7.16059C9.1201 7.22062 9.09214 7.30669 9.10628 7.39116L9.71475 11.0262C9.7505 11.2398 9.52675 11.4024 9.33463 11.3023L6.06556 9.60038C5.98958 9.56082 5.89909 9.56082 5.82312 9.60038L2.55404 11.3023C2.36192 11.4024 2.13817 11.2398 2.17393 11.0262L2.7824 7.39116C2.79654 7.30669 2.76857 7.22062 2.70748 7.16059L0.0786117 4.57745C-0.0758841 4.42565 0.00958318 4.1626 0.223804 4.1306L3.86893 3.58601C3.95364 3.57335 4.02685 3.52016 4.06507 3.4435L5.70941 0.145073Z" fill="currentColor"/>
4510    </svg><svg
4511      class="product-drawer-reviews__histogram-star"
4512      width="12"
4513      height="12"
4514      viewBox="0 0 12 12"
4515      fill="none"
4516      xmlns="http://www.w3.org/2000/svg"
4517    >
4518      <path d="M5.70941 0.145073C5.80605 -0.0487729 6.08263 -0.0487733 6.17926 0.145072L7.82361 3.4435C7.86182 3.52016 7.93503 3.57335 8.01974 3.58601L11.6649 4.1306C11.8791 4.1626 11.9646 4.42565 11.8101 4.57745L9.1812 7.16059C9.1201 7.22062 9.09214 7.30669 9.10628 7.39116L9.71475 11.0262C9.7505 11.2398 9.52675 11.4024 9.33463 11.3023L6.06556 9.60038C5.98958 9.56082 5.89909 9.56082 5.82312 9.60038L2.55404 11.3023C2.36192 11.4024 2.13817 11.2398 2.17393 11.0262L2.7824 7.39116C2.79654 7.30669 2.76857 7.22062 2.70748 7.16059L0.0786117 4.57745C-0.0758841 4.42565 0.00958318 4.1626 0.223804 4.1306L3.86893 3.58601C3.95364 3.57335 4.02685 3.52016 4.06507 3.4435L5.70941 0.145073Z" fill="currentColor"/>
4519    </svg></div>
4520            <span class="product-drawer-reviews__histogram-count" data-histogram-count>
4521              (0)
4522            </span>
4523          </div></div>
4524    </header>
4525
4526    <div class="product-drawer-reviews__content">
4527      <div class="product-drawer-reviews__status" data-product-drawer-reviews-status hidden>
4528        <p class="product-drawer__placeholder" data-product-drawer-reviews-message></p>
4529      </div>
4530
4531      <div class="product-drawer-reviews__list" data-product-drawer-reviews-list role="list"></div>
4532
4533      <div class="product-drawer-reviews__footer" data-product-drawer-reviews-footer hidden>
4534        <button
4535          type="button"
4536          class="product-drawer-reviews__load-more btn btn--primary-outline"
4537          data-product-drawer-reviews-load-more
4538        >
4539          Load more reviews
4540        </button>
4541      </div>
4542    </div>
4543  </div>
4544            </div><div x-show="productInfoPanel === 'ingredients'" x-cloak>
4545              
4546<div class="product-drawer__panel-section product-drawer-composition">
4547    <p class="product-drawer-composition__title">Composition</p>
4548
4549    <div class="product-drawer-composition__sections"><div class="product-drawer-composition__block product-drawer-composition__block--ingredients">
4550          <div class="product-drawer-composition__head">
4551            <p class="product-drawer-composition__label">Ingredients</p>
4552            
4553          </div><div class="product-drawer-composition__text">
4554              <div class="product-drawer-composition__richtext">
4555                <div class="metafield-rich_text_field"><p><strong>Ingredients</strong>: Sugars (Isomaltulose*, tapioca maltodextrin), Natural cucumber flavor, Sea salt, Citric Acid, Potassium citrate. </p></div>
4556              </div>
4557            </div><p class="product-drawer-composition__allergens">May contain traces of: gluten, eggs, fish, peanuts, tree nuts, soy, milk, celery, mustard, sesame.<br />
4558Made in an Informed Sport certified facility.</p></div><div class="product-drawer-composition__block product-drawer-composition__block--nutrition">
4559          <p class="product-drawer-composition__label">Nutrition facts</p>
4560
4561          <div class="product-drawer-composition__nutrition-image">
4562            <img src="//www.naak.com/cdn/shop/files/BOOST_DM_CA_SC_d4f7f31d-733d-49c3-801a-13121435b072.jpg?v=1785418764&amp;width=1200" alt="" srcset="//www.naak.com/cdn/shop/files/BOOST_DM_CA_SC_d4f7f31d-733d-49c3-801a-13121435b072.jpg?v=1785418764&amp;width=400 400w, //www.naak.com/cdn/shop/files/BOOST_DM_CA_SC_d4f7f31d-733d-49c3-801a-13121435b072.jpg?v=1785418764&amp;width=600 600w, //www.naak.com/cdn/shop/files/BOOST_DM_CA_SC_d4f7f31d-733d-49c3-801a-13121435b072.jpg?v=1785418764&amp;width=800 800w, //www.naak.com/cdn/shop/files/BOOST_DM_CA_SC_d4f7f31d-733d-49c3-801a-13121435b072.jpg?v=1785418764&amp;width=1000 1000w, //www.naak.com/cdn/shop/files/BOOST_DM_CA_SC_d4f7f31d-733d-49c3-801a-13121435b072.jpg?v=1785418764&amp;width=1200 1200w" width="1200" height="1646" loading="lazy" class="product-drawer-composition__nutrition-img" sizes="(min-width: 520px) 472px, 100vw">
4563          </div>
4564        </div><div class="product-drawer-composition__block product-drawer-composition__block--dietary">
4565          <p class="product-drawer-composition__label">Dietary info</p>
4566          <div class="product-drawer-composition__text">
4567            <div class="product-drawer-composition__richtext">
4568              <div class="metafield-rich_text_field"><p>Vegan*<br />
4569Gluten Free*<br />
4570GMO Free*<br />
4571<br />
4572*but not independently certified as such</p></div>
4573            </div>
4574          </div>
4575        </div></div>
4576  </div>
4577            </div><div x-show="productInfoPanel === 'faq'" x-cloak>
4578              
4579<div
4580    class="product-drawer__panel-section product-drawer-faq"
4581    x-data='{ openFaq: "faq-1" }'
4582  >
4583    <p class="product-drawer-faq__title">Everything you need to know</p>
4584
4585    
4586    <div class="product-drawer-faq__list">
4587
4588          <div class="product-drawer-faq__item" :class="openFaq === 'faq-1' && 'is-open'">
4589            <button
4590              type="button"
4591              class="product-drawer-faq__trigger"
4592              :aria-expanded="openFaq === 'faq-1' ? 'true' : 'false'"
4593              @click="openFaq = openFaq === 'faq-1' ? null : 'faq-1'"
4594            >
4595              <span class="product-drawer-faq__question">What is näak BOOST™ Drink Mix 60?</span>
4596              <span
4597                class="product-drawer-faq__icon"
4598                :class="openFaq === 'faq-1' && 'is-open'"
4599                aria-hidden="true"
4600              >
4601                <svg
4602      class="product-drawer-faq__icon-svg"
4603      width="16"
4604      height="16"
4605      viewBox="0 0 16 16"
4606      fill="none"
4607      xmlns="http://www.w3.org/2000/svg"
4608    >
4609      <path d="M0 8H16" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"/>
4610      <path d="M8 0L8 15.9999" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"/>
4611    </svg>
4612              </span>
4613            </button><div
4614              class="product-drawer-faq__panel"
4615              x-show="openFaq === 'faq-1'"
4616              x-collapse
4617              style="display: none;"
4618            >
4619              <div class="product-drawer-faq__answer"><p>näak BOOST™ Drink Mix is an optimized carb energy drink mix designed to fuel endurance athletes. Each portion delivers 60g of carbohydrates and 250mg of sodium to fuel moderate to high-intensity efforts without using artificial ingredients or heavy flavorings.</p></div>
4620            </div>
4621          </div>
4622
4623          <div class="product-drawer-faq__item" :class="openFaq === 'faq-2' && 'is-open'">
4624            <button
4625              type="button"
4626              class="product-drawer-faq__trigger"
4627              :aria-expanded="openFaq === 'faq-2' ? 'true' : 'false'"
4628              @click="openFaq = openFaq === 'faq-2' ? null : 'faq-2'"
4629            >
4630              <span class="product-drawer-faq__question">What does näak BOOST™ Drink Mix 60 Salted Cucumber taste like?</span>
4631              <span
4632                class="product-drawer-faq__icon"
4633                :class="openFaq === 'faq-2' && 'is-open'"
4634                aria-hidden="true"
4635              >
4636                <svg
4637      class="product-drawer-faq__icon-svg"
4638      width="16"
4639      height="16"
4640      viewBox="0 0 16 16"
4641      fill="none"
4642      xmlns="http://www.w3.org/2000/svg"
4643    >
4644      <path d="M0 8H16" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"/>
4645      <path d="M8 0L8 15.9999" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"/>
4646    </svg>
4647              </span>
4648            </button><div
4649              class="product-drawer-faq__panel"
4650              x-show="openFaq === 'faq-2'"
4651              x-collapse
4652              style="display: none;"
4653            >
4654              <div class="product-drawer-faq__answer"><p>It has a very mild, lightly sweetened and light taste, making it drink very easily. It is specifically formulated to eliminate &quot;flavor fatigue&quot; and that sticky, sugary mouth feel that often causes runners to reject sweet gels and sports drinks late in a marathon or trail race.</p></div>
4655            </div>
4656          </div>
4657
4658          <div class="product-drawer-faq__item" :class="openFaq === 'faq-3' && 'is-open'">
4659            <button
4660              type="button"
4661              class="product-drawer-faq__trigger"
4662              :aria-expanded="openFaq === 'faq-3' ? 'true' : 'false'"
4663              @click="openFaq = openFaq === 'faq-3' ? null : 'faq-3'"
4664            >
4665              <span class="product-drawer-faq__question">When should I use näak BOOST™ Drink Mix 60?</span>
4666              <span
4667                class="product-drawer-faq__icon"
4668                :class="openFaq === 'faq-3' && 'is-open'"
4669                aria-hidden="true"
4670              >
4671                <svg
4672      class="product-drawer-faq__icon-svg"
4673      width="16"
4674      height="16"
4675      viewBox="0 0 16 16"
4676      fill="none"
4677      xmlns="http://www.w3.org/2000/svg"
4678    >
4679      <path d="M0 8H16" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"/>
4680      <path d="M8 0L8 15.9999" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"/>
4681    </svg>
4682              </span>
4683            </button><div
4684              class="product-drawer-faq__panel"
4685              x-show="openFaq === 'faq-3'"
4686              x-collapse
4687              style="display: none;"
4688            >
4689              <div class="product-drawer-faq__answer"><p>Use BOOST™ Drink Mix during any high-intensity training session, long run, or race where you need fast-acting and stable energy.  Engineered for endurance, it is equally effective for runners, cyclists, and triathletes. Incorporating it into your training sessions also allows you to train your gut, ensuring your digestive system is fully adapted and race-day ready.</p></div>
4690            </div>
4691          </div>
4692
4693          <div class="product-drawer-faq__item" :class="openFaq === 'faq-4' && 'is-open'">
4694            <button
4695              type="button"
4696              class="product-drawer-faq__trigger"
4697              :aria-expanded="openFaq === 'faq-4' ? 'true' : 'false'"
4698              @click="openFaq = openFaq === 'faq-4' ? null : 'faq-4'"
4699            >
4700              <span class="product-drawer-faq__question">What is the difference between näak BOOST™ Drink Mix 60 and other sports drink mixes?</span>
4701              <span
4702                class="product-drawer-faq__icon"
4703                :class="openFaq === 'faq-4' && 'is-open'"
4704                aria-hidden="true"
4705              >
4706                <svg
4707      class="product-drawer-faq__icon-svg"
4708      width="16"
4709      height="16"
4710      viewBox="0 0 16 16"
4711      fill="none"
4712      xmlns="http://www.w3.org/2000/svg"
4713    >
4714      <path d="M0 8H16" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"/>
4715      <path d="M8 0L8 15.9999" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"/>
4716    </svg>
4717              </span>
4718            </button><div
4719              class="product-drawer-faq__panel"
4720              x-show="openFaq === 'faq-4'"
4721              x-collapse
4722              style="display: none;"
4723            >
4724              <div class="product-drawer-faq__answer"><p>Unlike other sports drink mixes, näak BOOST™ provides 60g of carbohydrate and is made with 100% natural ingredients that are inherently gentler on the gut. It has a light taste profile to deliver energy while avoiding flavor fatigue. Traditional sports drinks, by contrast, often rely on lower carb doses packed with heavy artificial flavors, chemical additives, and high sweetness, which can quickly saturate your palate and cause nausea during long endurance efforts..</p></div>
4725            </div>
4726          </div>
4727
4728          <div class="product-drawer-faq__item" :class="openFaq === 'faq-5' && 'is-open'">
4729            <button
4730              type="button"
4731              class="product-drawer-faq__trigger"
4732              :aria-expanded="openFaq === 'faq-5' ? 'true' : 'false'"
4733              @click="openFaq = openFaq === 'faq-5' ? null : 'faq-5'"
4734            >
4735              <span class="product-drawer-faq__question">Is näak BOOST™ Drink Mix 60 easy to digest?</span>
4736              <span
4737                class="product-drawer-faq__icon"
4738                :class="openFaq === 'faq-5' && 'is-open'"
4739                aria-hidden="true"
4740              >
4741                <svg
4742      class="product-drawer-faq__icon-svg"
4743      width="16"
4744      height="16"
4745      viewBox="0 0 16 16"
4746      fill="none"
4747      xmlns="http://www.w3.org/2000/svg"
4748    >
4749      <path d="M0 8H16" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"/>
4750      <path d="M8 0L8 15.9999" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"/>
4751    </svg>
4752              </span>
4753            </button><div
4754              class="product-drawer-faq__panel"
4755              x-show="openFaq === 'faq-5'"
4756              x-collapse
4757              style="display: none;"
4758            >
4759              <div class="product-drawer-faq__answer"><p>Yes. It is specifically formulated with 100% natural, clean ingredients that are gentle on the stomach under intense running conditions. This prevents the stomach bloating and severe GI distress common with lower-quality, highly-processed sugar sports drinks.</p></div>
4760            </div>
4761          </div>
4762
4763          <div class="product-drawer-faq__item" :class="openFaq === 'faq-6' && 'is-open'">
4764            <button
4765              type="button"
4766              class="product-drawer-faq__trigger"
4767              :aria-expanded="openFaq === 'faq-6' ? 'true' : 'false'"
4768              @click="openFaq = openFaq === 'faq-6' ? null : 'faq-6'"
4769            >
4770              <span class="product-drawer-faq__question">How do I use näak BOOST™ Drink Mix 60 and how much do I need?</span>
4771              <span
4772                class="product-drawer-faq__icon"
4773                :class="openFaq === 'faq-6' && 'is-open'"
4774                aria-hidden="true"
4775              >
4776                <svg
4777      class="product-drawer-faq__icon-svg"
4778      width="16"
4779      height="16"
4780      viewBox="0 0 16 16"
4781      fill="none"
4782      xmlns="http://www.w3.org/2000/svg"
4783    >
4784      <path d="M0 8H16" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"/>
4785      <path d="M8 0L8 15.9999" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"/>
4786    </svg>
4787              </span>
4788            </button><div
4789              class="product-drawer-faq__panel"
4790              x-show="openFaq === 'faq-6'"
4791              x-collapse
4792              style="display: none;"
4793            >
4794              <div class="product-drawer-faq__answer"><p>Mix one serving into 500ml (17 oz) of water and consume every hour during your activity. For endurance efforts longer than 90 minutes, you should aim for a minimum of 60 grams of c
4794arbohydrates per hour depending on your intensity and tolerance (and up to to 90g/h). To easily hit this target, you can mix and combine different products from the BOOST™ energy system to customize your hourly intake and meet your specific goals.</p></div>
4795            </div>
4796          </div>
4797
4798          <div class="product-drawer-faq__item" :class="openFaq === 'faq-7' && 'is-open'">
4799            <button
4800              type="button"
4801              class="product-drawer-faq__trigger"
4802              :aria-expanded="openFaq === 'faq-7' ? 'true' : 'false'"
4803              @click="openFaq = openFaq === 'faq-7' ? null : 'faq-7'"
4804            >
4805              <span class="product-drawer-faq__question">What allergens does Näak BOOST™ Drink Mix 60 Salted Cucumber contain?</span>
4806              <span
4807                class="product-drawer-faq__icon"
4808                :class="openFaq === 'faq-7' && 'is-open'"
4809                aria-hidden="true"
4810              >
4811                <svg
4812      class="product-drawer-faq__icon-svg"
4813      width="16"
4814      height="16"
4815      viewBox="0 0 16 16"
4816      fill="none"
4817      xmlns="http://www.w3.org/2000/svg"
4818    >
4819      <path d="M0 8H16" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"/>
4820      <path d="M8 0L8 15.9999" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"/>
4821    </svg>
4822              </span>
4823            </button><div
4824              class="product-drawer-faq__panel"
4825              x-show="openFaq === 'faq-7'"
4826              x-collapse
4827              style="display: none;"
4828            >
4829              <div class="product-drawer-faq__answer"><p>näak BOOST™ Drink Mix Salted Cucumber is free from all major allergens. It is 100% plant-based, vegan, non-GMO, and naturally gluten-free. It uses only clean-label, natural ingredients to ensure it is completely safe and gentle for runners with food sensitivities or strict dietary preferences.</p></div>
4830            </div>
4831          </div>
4832
4833          <div class="product-drawer-faq__item" :class="openFaq === 'faq-8' && 'is-open'">
4834            <button
4835              type="button"
4836              class="product-drawer-faq__trigger"
4837              :aria-expanded="openFaq === 'faq-8' ? 'true' : 'false'"
4838              @click="openFaq = openFaq === 'faq-8' ? null : 'faq-8'"
4839            >
4840              <span class="product-drawer-faq__question">Is näak BOOST™ Drink Mix 60 Informed Sport certified?</span>
4841              <span
4842                class="product-drawer-faq__icon"
4843                :class="openFaq === 'faq-8' && 'is-open'"
4844                aria-hidden="true"
4845              >
4846                <svg
4847      class="product-drawer-faq__icon-svg"
4848      width="16"
4849      height="16"
4850      viewBox="0 0 16 16"
4851      fill="none"
4852      xmlns="http://www.w3.org/2000/svg"
4853    >
4854      <path d="M0 8H16" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"/>
4855      <path d="M8 0L8 15.9999" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"/>
4856    </svg>
4857              </span>
4858            </button><div
4859              class="product-drawer-faq__panel"
4860              x-show="openFaq === 'faq-8'"
4861              x-collapse
4862              style="display: none;"
4863            >
4864              <div class="product-drawer-faq__answer"><p>Yes. Every production batch of näak BOOST™ Drink Mix is rigorously tested and certified by the Informed Sport program. This guarantees the mix is entirely free of over 250 WADA (World Anti-Doping Agency) prohibited substances, giving competitive, elite, and drug-tested athletes total peace of mind at the start line.</p></div>
4865            </div>
4866          </div>
4867
4868          <div class="product-drawer-faq__item" :class="openFaq === 'faq-9' && 'is-open'">
4869            <button
4870              type="button"
4871              class="product-drawer-faq__trigger"
4872              :aria-expanded="openFaq === 'faq-9' ? 'true' : 'false'"
4873              @click="openFaq = openFaq === 'faq-9' ? null : 'faq-9'"
4874            >
4875              <span class="product-drawer-faq__question">What types of carbs are in näak BOOST™ Drink Mix 60 Salted Cucumber?</span>
4876              <span
4877                class="product-drawer-faq__icon"
4878                :class="openFaq === 'faq-9' && 'is-open'"
4879                aria-hidden="true"
4880              >
4881                <svg
4882      class="product-drawer-faq__icon-svg"
4883      width="16"
4884      height="16"
4885      viewBox="0 0 16 16"
4886      fill="none"
4887      xmlns="http://www.w3.org/2000/svg"
4888    >
4889      <path d="M0 8H16" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"/>
4890      <path d="M8 0L8 15.9999" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"/>
4891    </svg>
4892              </span>
4893            </button><div
4894              class="product-drawer-faq__panel"
4895              x-show="openFaq === 'faq-9'"
4896              x-collapse
4897              style="display: none;"
4898            >
4899              <div class="product-drawer-faq__answer"><p>The mix uses a precise combination of simple and complex carbohydrates, specifically utilizing a scientifically backed 2:1 glucose-to-fructose ratio. It delivers this optimal ratio by blending tapioca maltodextrin with beet-derived isomaltulose. This specific combination of ingredients ensures a rapid, immediate energy delivery to start, followed by a slow, controlled release of glucose to prevent sharp blood sugar spikes and subsequent energy crashes.</p></div>
4900            </div>
4901          </div></div>
4902  </div>
4903            </div><div x-show="productInfoPanel === 'naak-plus'" x-cloak>
4904              <div class="product-drawer__panel-section product-drawer-naak">
4905  <div class="product-drawer-naak__intro">
4906    <p class="product-drawer-naak__title">Save 15% with a Näak subscription</p>
4907    <p class="product-drawer-naak__lead">Enjoy your favourite products with subscriber-only benefits.</p>
4908  </div>
4909
4910  <ul class="product-drawer-naak__benefits" role="list">
4911    <li class="product-drawer-naak__benefit">
4912      <span class="product-drawer-naak__mark" aria-hidden="true">/</span>
4913      <p class="product-drawer-naak__text">
4914        <strong>15% off</strong> every recurring order
4915      </p>
4916    </li>
4917    <li class="product-drawer-naak__benefit">
4918      <span class="product-drawer-naak__mark" aria-hidden="true">/</span>
4919      <p class="product-drawer-naak__text">
4920        <strong>Modify, pause or cancel</strong> your subscription anytime
4921      </p>
4922    </li>
4923    <li class="product-drawer-naak__benefit">
4924      <span class="product-drawer-naak__mark" aria-hidden="true">/</span>
4925      <p class="product-drawer-naak__text">
4926        <strong>Early access</strong> to new products
4927      </p>
4928    </li>
4929    <li class="product-drawer-naak__benefit">
4930      <span class="product-drawer-naak__mark" aria-hidden="true">/</span>
4931      <p class="product-drawer-naak__text">
4932        <strong>Exclusive access</strong> to sales and limited offers
4933      </p>
4934    </li>
4935    <li class="product-drawer-naak__benefit">
4936      <span class="product-drawer-naak__mark" aria-hidden="true">/</span>
4937      <p class="product-drawer-naak__text">
4938        <strong>Partner perks</strong> with our partners
4939      </p>
4940    </li>
4941    <li class="product-drawer-naak__benefit">
4942      <span class="product-drawer-naak__mark" aria-hidden="true">/</span>
4943      <p class="product-drawer-naak__text">
4944        Invitations to <strong>exclusive events</strong>
4945      </p>
4946    </li>
4947    <li class="product-drawer-naak__benefit">
4948      <span class="product-drawer-naak__mark" aria-hidden="true">/</span>
4949      <p class="product-drawer-naak__text">
4950        <strong>Tips and recommendations</strong> from our ambassador athletes
4951      </p>
4952    </li>
4953    <li class="product-drawer-naak__benefit">
4954      <span class="product-drawer-naak__mark" aria-hidden="true">/</span>
4955      <p class="product-drawer-naak__text">
4956        <strong>Access to our nutrition calculator</strong> and sync with your sports watch
4957      </p>
4958    </li>
4959  </ul>
4960</div>
4961
4962            </div></div>
4963      </div>
4964
4965      <div class="product-drawer__footer">
4966        <button
4967          type="button"
4968          class="product-drawer__continue"
4969          @click="closeDrawers()"
4970        >
4971          All clear · Continue
4972        </button>
4973      </div>
4974    </div>
4975  </div>
4976</div>
4977
4978
4979
4980</div><section id="shopify-section-template--27273399271728__product-specs" class="shopify-section section-product-specs"><section
4981  class="product-specs"
4982  style="
4983    --product-specs-padding-top: 120px;
4984    --product-specs-padding-bottom: 120px;
4985  "
4986  aria-label="Product specifications"
4987  
4988>
4989  <div class="product-specs__grid">
4990    <div class="product-specs__intro" >
4991  <p class="product-specs__heading" >
4992    BOOST™ Drink Mix 60 · Salted Cucumber
4993  </p>
4994<div class="product-specs__description rte" >
4995    <div class="metafield-rich_text_field"><p>Fuel your high-intensity efforts with this easy-to-sip drink mix that delivers 60g of carbs and 500mg of sodium, perfect for hot days and heavy sweaters. Fast-absorbing, gut-friendly, and engineered for performance.</p></div>
4996  </div>
4997<div class="product-specs__logos" >
4998  <div
4999  class="pdp-logo-tooltip-host product-specs__logo product-specs__logo--has-tooltip"
5000  data-pdp-logo-tooltip
5001  
5002>
5003  <button
5004    type="button"
5005    class="pdp-logo-tooltip__trigger product-specs__logo-trigger"
5006    aria-expanded="false"
5007    aria-describedby="product-specs-logo-tooltip-AZGlPMW40UGVJTGVGR__product_specs_logo_XfVj4h"
5008  >
5009    <img src="//www.naak.com/cdn/shop/files/informed.png?v=1785427660&amp;width=240" alt="informed.png" srcset="//www.naak.com/cdn/shop/files/informed.png?v=1785427660&amp;width=80 80w, //www.naak.com/cdn/shop/files/informed.png?v=1785427660&amp;width=120 120w, //www.naak.com/cdn/shop/files/informed.png?v=1785427660&amp;width=160 160w, //www.naak.com/cdn/shop/files/informed.png?v=1785427660&amp;width=200 200w, //www.naak.com/cdn/shop/files/informed.png?v=1785427660&amp;width=240 240w" width="240" height="300" loading="lazy" class="product-specs__logo-image" sizes="120px">
5010  </button>
5011  <span id="product-specs-logo-tooltip-AZGlPMW40UGVJTGVGR__product_specs_logo_XfVj4h" class="pdp-logo-tooltip" role="tooltip">Tested for banned substances</span>
5012</div>
5013
5014
5015
5016
5017
5018</div>
5019
5020
5021
5022</div>
5023
5024
5025<div
5026  class="product-specs__details"
5027  x-data="{ openAccordion: null }"
5028  x-init="
5029    const defaultTrigger = $el.querySelector('[data-default-open]');
5030    if (defaultTrigger) {
5031      openAccordion = defaultTrigger.dataset.accordionId;
5032    }
5033  "
5034  
5035>
5036  <div class="product-specs__stats-line" >
5037  <div class="product-specs__stat" ><div class="product-specs__stat-value-row"><span class="product-specs__stat-value">60</span><span class="product-specs__stat-unit">
5038            g
5039          </span></div><p class="product-specs__stat-label">Carbohydrates
5040</p>
5041  </div>
5042<div class="product-specs__stat" ><div class="product-specs__stat-value-row"><span class="product-specs__stat-value">500</span><span class="product-specs__stat-unit">
5043            mg
5044          </span></div><p class="product-specs__stat-label">Sodium
5045</p>
5046  </div>
5047<div class="product-specs__stat" ><div class="product-specs__stat-value-row"><span class="product-specs__stat-value">2:1</span><span class="product-specs__stat-unit">
5048            ratio
5049          </span></div><p class="product-specs__stat-label"></p>
5050  </div>
5051<button
5052    type="button"
5053    class="product-specs__nutrition-link"
5054    @click="openProductDrawer('product-details', 'ingredients')"
5055    
5056  >
5057    Full nutrition facts
5058  </button>
5059
5060</div>
5061
5062
5063<div class="product-specs-accordion" >
5064  <button
5065    type="button"
5066    class="product-specs-accordion__trigger"
5067    id="ProductSpecsAccordion-ASjJMRENxTGJSYi9wM__accordion-sensory-trigger"
5068    data-accordion-id="ASjJMRENxTGJSYi9wM__accordion-sensory"
5069    data-default-open
5070    :aria-expanded="openAccordion === 'ASjJMRENxTGJSYi9wM__accordion-sensory' ? 'true' : 'false'"
5071    aria-controls="ProductSpecsAccordion-ASjJMRENxTGJSYi9wM__accordion-sensory"
5072    @click="openAccordion = openAccordion === 'ASjJMRENxTGJSYi9wM__accordion-sensory' ? null : 'ASjJMRENxTGJSYi9wM__accordion-sensory'"
5073  ><span class="product-specs-accordion__title">Sensory profile</span><span
5074      class="product-specs-accordion__icon"
5075      :class="openAccordion === 'ASjJMRENxTGJSYi9wM__accordion-sensory' && 'is-open'"
5076      aria-hidden="true"
5077    >
5078      <svg
5079      class="product-specs-accordion__icon-svg"
5080      width="16"
5081      height="16"
5082      viewBox="0 0 16 16"
5083      fill="none"
5084      xmlns="http://www.w3.org/2000/svg"
5085    >
5086      <path d="M0 8H16" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"/>
5087      <path d="M8 0L8 15.9999" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"/>
5088    </svg>
5089    </span>
5090  </button>
5091
5092  <div
5093    id="ProductSpecsAccordion-ASjJMRENxTGJSYi9wM__accordion-sensory"
5094    class="product-specs-accordion__panel"
5095    role="region"
5096    aria-labelledby="ProductSpecsAccordion-ASjJMRENxTGJSYi9wM__accordion-sensory-trigger"
5097    x-show="openAccordion === 'ASjJMRENxTGJSYi9wM__accordion-sensory'"
5098    x-collapse
5099    style="display: none;"
5100  >
5101    <div class="product-specs-accordion__content">
5102      <div >
5103    <div class="product-specs-scale product-specs-scale--desktop"><p class="product-specs-scale__label">Taste</p><div class="product-specs-scale__track">
5104    <div class="product-specs-scale__segments" role="img" aria-label="Taste: 2/5"><span
5105          class="product-specs-scale__segment is-filled"
5106          aria-hidden="true"
5107        ></span><span
5108          class="product-specs-scale__segment is-filled"
5109          aria-hidden="true"
5110        ></span><span
5111          class="product-specs-scale__segment"
5112          aria-hidden="true"
5113        ></span><span
5114          class="product-specs-scale__segment"
5115          aria-hidden="true"
5116        ></span><span
5117          class="product-specs-scale__segment"
5118          aria-hidden="true"
5119        ></span></div><div class="product-specs-scale__anchors"><span class="product-specs-scale__anchor">Light</span><span class="product-specs-scale__anchor product-specs-scale__anchor--end">Intense</span></div></div>
5120</div>
5121
5122  </div>
5123<div >
5124    <div class="product-specs-scale product-specs-scale--desktop"><p class="product-specs-scale__label">Sweetness</p><div class="product-specs-scale__track">
5125    <div class="product-specs-scale__segments" role="img" aria-label="Sweetness: 1/5"><span
5126          class="product-specs-scale__segment is-filled"
5127          aria-hidden="true"
5128        ></span><span
5129          class="product-specs-scale__segment"
5130          aria-hidden="true"
5131        ></span><span
5132          class="product-specs-scale__segment"
5133          aria-hidden="true"
5134        ></span><span
5135          class="product-specs-scale__segment"
5136          aria-hidden="true"
5137        ></span><span
5138          class="product-specs-scale__segment"
5139          aria-hidden="true"
5140        ></span></div><div class="product-specs-scale__anchors"><span class="product-specs-scale__anchor">Low</span><span class="product-specs-scale__anchor product-specs-scale__anchor--end">High</span></div></div>
5141</div>
5142
5143  </div>
5144<div >
5145    <div class="product-specs-scale product-specs-scale--desktop"><p class="product-specs-scale__label">Saltiness</p><div class="product-specs-scale__track">
5146    <div class="product-specs-scale__segments" role="img" aria-label="Saltiness: 3/5"><span
5147          class="product-specs-scale__segment is-filled"
5148          aria-hidden="true"
5149        ></span><span
5150          class="product-specs-scale__segment is-filled"
5151          aria-hidden="true"
5152        ></span><span
5153          class="product-specs-scale__segment is-filled"
5154          aria-hidden="true"
5155        ></span><span
5156          class="product-specs-scale__segment"
5157          aria-hidden="true"
5158        ></span><span
5159          class="product-specs-scale__segment"
5160          aria-hidden="true"
5161        ></span></div><div class="product-specs-scale__anchors"><span class="product-specs-scale__anchor">Low</span><span class="product-specs-scale__anchor product-specs-scale__anchor--end">High</span></div></div>
5162</div>
5163
5164  </div>
5165<div >
5166    <div class="product-specs-scale product-specs-scale--desktop"><p class="product-specs-scale__label">Acidity</p><div class="product-specs-scale__track">
5167    <div class="product-specs-scale__segments" role="img" aria-label="Acidity: 1/5"><span
5168          class="product-specs-scale__segment is-filled"
5169          aria-hidden="true"
5170        ></span><span
5171          class="product-specs-scale__segment"
5172          aria-hidden="true"
5173        ></span><span
5174          class="product-specs-scale__segment"
5175          aria-hidden="true"
5176        ></span><span
5177          class="product-specs-scale__segment"
5178          aria-hidden="true"
5179        ></span><span
5180          class="product-specs-scale__segment"
5181          aria-hidden="true"
5182        ></span></div><div class="product-specs-scale__anchors"><span class="product-specs-scale__anchor">Low</span><span class="product-specs-scale__anchor product-specs-scale__anchor--end">High</span></div></div>
5183</div>
5184
5185  </div>
5186
5187    </div>
5188  </div>
5189</div>
5190
5191
5192<div class="product-specs-accordion" >
5193  <button
5194    type="button"
5195    class="product-specs-accordion__trigger"
5196    id="ProductSpecsAccordion-AOG1wOXlrTDNVYStaZ__accordion-specs-trigger"
5197    data-accordion-id="AOG1wOXlrTDNVYStaZ__accordion-specs"
5198    
5199    :aria-expanded="openAccordion === 'AOG1wOXlrTDNVYStaZ__accordion-specs' ? 'true' : 'false'"
5200    aria-controls="ProductSpecsAccordion-AOG1wOXlrTDNVYStaZ__accordion-specs"
5201    @click="openAccordion = openAccordion === 'AOG1wOXlrTDNVYStaZ__accordion-specs' ? null : 'AOG1wOXlrTDNVYStaZ__accordion-specs'"
5202  ><span class="product-specs-accordion__title">Specifications</span><span
5203      class="product-specs-accordion__icon"
5204      :class="openAccordion === 'AOG1wOXlrTDNVYStaZ__accordion-specs' && 'is-open'"
5205      aria-hidden="true"
5206    >
5207      <svg
5208      class="product-specs-accordion__icon-svg"
5209      width="16"
5210      height="16"
5211      viewBox="0 0 16 16"
5212      fill="none"
5213      xmlns="http://www.w3.org/2000/svg"
5214    >
5215      <path d="M0 8H16" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"/>
5216      <path d="M8 0L8 15.9999" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"/>
5217    </svg>
5218    </span>
5219  </button>
5220
5221  <div
5222    id="ProductSpecsAccordion-AOG1wOXlrTDNVYStaZ__accordion-specs"
5223    class="product-specs-accordion__panel"
5224    role="region"
5225    aria-labelledby="ProductSpecsAccordion-AOG1wOXlrTDNVYStaZ__accordion-specs-trigger"
5226    x-show="openAccordion === 'AOG1wOXlrTDNVYStaZ__accordion-specs'"
5227    x-collapse
5228    style="display: none;"
5229  >
5230    <div class="product-specs-accordion__content">
5231      <div class="product-specs-spec-table" >
5232  <div class="product-specs-spec-row" ><p class="product-specs-spec-row__label">Target Usage</p><p class="product-specs-spec-row__value">High-Intensity ‧ Racing ‧ Performance ‧ Endurance</p></div>
5233<div class="product-specs-spec-row" ><p class="product-specs-spec-row__label">Target Activities</p><p class="product-specs-spec-row__value">Trail Running ‧ Road Running ‧ Cycling ‧ Triathlon</p></div>
5234<div class="product-specs-spec-row" ><p class="product-specs-spec-row__label">Recommended Hourly Target</p><p class="product-specs-spec-row__value">60-90g carbs / hour</p></div>
5235<div class="product-specs-spec-row" ><p class="product-specs-spec-row__label">Carbohydrates Base</p><p class="product-specs-spec-row__value">60G ‧ 1:1 ‧ Agave powder + Tapioca Maltodextrine</p></div>
5236<div class="product-specs-spec-row" ><p class="product-specs-spec-row__label">Taste Property</p><p class="product-specs-spec-row__value">Light Salted Cucumber Flavor ‧ Low Sweetness</p></div>
5237<div class="product-specs-spec-row" ><p class="product-specs-spec-row__label">Additional information</p><p class="product-specs-spec-row__value">Gluten free · soy free · lactose free · vegan · nut free · non-GMO</p></div>
5238
5239
5240</div>
5241
5242
5243
5244    </div>
5245  </div>
5246</div>
5247
5248
5249<div class="product-specs-accordion" >
5250  <button
5251    type="button"
5252    class="product-specs-accordion__trigger"
5253    id="ProductSpecsAccordion-AZ3BMMWlVcmdHRklKc__accordion-when-trigger"
5254    data-accordion-id="AZ3BMMWlVcmdHRklKc__accordion-when"
5255    data-default-open
5256    :aria-expanded="openAccordion === 'AZ3BMMWlVcmdHRklKc__accordion-when' ? 'true' : 'false'"
5257    aria-controls="ProductSpecsAccordion-AZ3BMMWlVcmdHRklKc__accordion-when"
5258    @click="openAccordion = openAccordion === 'AZ3BMMWlVcmdHRklKc__accordion-when' ? null : 'AZ3BMMWlVcmdHRklKc__accordion-when'"
5259  ><span class="product-specs-accordion__title">How to use</span><span
5260      class="product-specs-accordion__icon"
5261      :class="openAccordion === 'AZ3BMMWlVcmdHRklKc__accordion-when' && 'is-open'"
5262      aria-hidden="true"
5263    >
5264      <svg
5265      class="product-specs-accordion__icon-svg"
5266      width="16"
5267      height="16"
5268      viewBox="0 0 16 16"
5269      fill="none"
5270      xmlns="http://www.w3.org/2000/svg"
5271    >
5272      <path d="M0 8H16" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"/>
5273      <path d="M8 0L8 15.9999" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"/>
5274    </svg>
5275    </span>
5276  </button>
5277
5278  <div
5279    id="ProductSpecsAccordion-AZ3BMMWlVcmdHRklKc__accordion-when"
5280    class="product-specs-accordion__panel"
5281    role="region"
5282    aria-labelledby="ProductSpecsAccordion-AZ3BMMWlVcmdHRklKc__accordion-when-trigger"
5283    x-show="openAccordion === 'AZ3BMMWlVcmdHRklKc__accordion-when'"
5284    x-collapse
5285    style="display: none;"
5286  >
5287    <div class="product-specs-accordion__content">
5288      <div class="product-specs__richtext rte" >
5289    <div class="metafield-rich_text_field"><p><strong>Add 1.5 scoops/1 single packet  to 500 ml of water and shake well.</strong><br />
5290Drink 1 serving every 60 minutes, sipping consistently.*<br />
5291Customize your intake to meet your carb and sodium needs.<br />
5292<br />
5293*Based on a minimum recommendation of 60g of carbohydrates per hour for high-intensity efforts.</p></div>
5294  </div>
5295
5296    </div>
5297  </div>
5298</div>
5299
5300
5301
5302</div>
5303
5304
5305
5306  </div>
5307</section>
5308
5309
5310</section><section id="shopify-section-template--27273399271728__product_highlights_slider_Ub34mC" class="shopify-section section-product-highlights-slider"><section
5311    class="product-highlights-slider"
5312    data-product-highlights-slider
5313    aria-label="BOOST™ energy system, engineered for performance."
5314    
5315  >
5316    <div class="product-highlights-slider__head">
5317      <h2 class="product-highlights-slider__title">BOOST™ energy system, engineered for performance.</h2><div class="product-highlights-slider__nav">
5318          <button
5319            type="button"
5320            class="product-highlights-slider__nav-btn"
5321            data-product-highlights-slider-prev
5322            aria-label="Previous"
5323          >
5324            <svg
5325      class="size-4 rotate-180"
5326      width="16"
5327      height="16"
5328      viewBox="0 0 16 16"
5329      fill="none"
5330      xmlns="http://www.w3.org/2000/svg"
5331    >
5332      <path d="M8.67598 3.19976L13.476 7.99976L8.67598 12.7998" stroke="currentColor" stroke-width="1.5"/>
5333      <line x1="13.5" y1="8.04712" x2="1.5" y2="8.04712" stroke="currentColor" stroke-width="1.5"/>
5334    </svg>
5335          </button>
5336          <button
5337            type="button"
5338            class="product-highlights-slider__nav-btn"
5339            data-product-highlights-slider-next
5340            aria-label="Next"
5341          >
5342            <svg
5343      class="size-4"
5344      width="16"
5345      height="16"
5346      viewBox="0 0 16 16"
5347      fill="none"
5348      xmlns="http://www.w3.org/2000/svg"
5349    >
5350      <path d="M8.67598 3.19976L13.476 7.99976L8.67598 12.7998" stroke="currentColor" stroke-width="1.5"/>
5351      <line x1="13.5" y1="8.04712" x2="1.5" y2="8.04712" stroke="currentColor" stroke-width="1.5"/>
5352    </svg>
5353          </button>
5354        </div></div>
5355
5356    <div class="product-highlights-slider__track">
5357      <div
5358        class="product-highlights-slider__swiper swiper"
5359        data-product-highlights-slider-slider
5360        role="region"
5361        aria-roledescription="carousel"
5362      >
5363        <div class="swiper-wrapper"><div class="swiper-slide">
5364                <div class="product-highlights-slider__card"><div class="product-highlights-slider__card-media"><img src="//www.naak.com/cdn/shop/files/BOOST_CAT_1.jpg?v=1785419470&amp;width=828" alt="BOOST_CAT_1.jpg" srcset="//www.naak.com/cdn/shop/files/BOOST_CAT_1.jpg?v=1785419470&amp;width=275 275w, //www.naak.com/cdn/shop/files/BOOST_CAT_1.jpg?v=1785419470&amp;width=414 414w, //www.naak.com/cdn/shop/files/BOOST_CAT_1.jpg?v=1785419470&amp;width=550 550w, //www.naak.com/cdn/shop/files/BOOST_CAT_1.jpg?v=1785419470&amp;width=828 828w" width="828" height="1104" loading="lazy" class="product-highlights-slider__card-image" sizes="(min-width: 768px) 414px, 275px">
5365</div><div class="product-highlights-slider__card-text"><p class="product-highlights-slider__card-title">All-natural ingredients</p><p class="product-highlights-slider__card-description">Real-food energy, designed for a clean and efficient delivery.</p></div></div>
5366              </div><div class="swiper-slide">
5367                <div class="product-highlights-slider__card"><div class="product-highlights-slider__card-media"><img src="//www.naak.com/cdn/shop/files/BOOST_CAT_2.jpg?v=1785419464&amp;width=828" alt="BOOST_CAT_2.jpg" srcset="//www.naak.com/cdn/shop/files/BOOST_CAT_2.jpg?v=1785419464&amp;width=275 275w, //www.naak.com/cdn/shop/files/BOOST_CAT_2.jpg?v=1785419464&amp;width=414 414w, //www.naak.com/cdn/shop/files/BOOST_CAT_2.jpg?v=1785419464&amp;width=550 550w, //www.naak.com/cdn/shop/files/BOOST_CAT_2.jpg?v=1785419464&amp;width=828 828w" width="828" height="1104" loading="lazy" class="product-highlights-slider__card-image" sizes="(min-width: 768px) 414px, 275px">
5368</div><div class="product-highlights-slider__card-text"><p class="product-highlights-slider__card-title">Optimized carb fuel system</p><p class="product-highlights-slider__card-description">Simple and complex sources for steady, sustained energy.</p></div></div>
5369              </div><div class="swiper-slide">
5370                <div class="product-highlights-slider__card"><div class="product-highlights-slider__card-media"><img src="//www.naak.com/cdn/shop/files/BOOST_CAT_3.jpg?v=1785419443&amp;width=828" alt="BOOST_CAT_3.jpg" srcset="//www.naak.com/cdn/shop/files/BOOST_CAT_3.jpg?v=1785419443&amp;width=275 275w, //www.naak.com/cdn/shop/files/BOOST_CAT_3.jpg?v=1785419443&amp;width=414 414w, //www.naak.com/cdn/shop/files/BOOST_CAT_3.jpg?v=1785419443&amp;width=550 550w, //www.naak.com/cdn/shop/files/BOOST_CAT_3.jpg?v=1785419443&amp;width=828 828w" width="828" height="1104" loading="lazy" class="product-highlights-slider__card-image" sizes="(min-width: 768px) 414px, 275px">
5371</div><div class="product-highlights-slider__card-text"><p class="product-highlights-slider__card-title">Purpose-driven flavours</p><p class="product-highlights-slider__card-description">Each with their functional benefits</p></div></div>
5372              </div><div class="swiper-slide">
5373                <div class="product-highlights-slider__card"><div class="product-highlights-slider__card-media"><img src="//www.naak.com/cdn/shop/files/BOOST_CAT_4.jpg?v=1785419472&amp;width=828" alt="BOOST_CAT_4.jpg" srcset="//www.naak.com/cdn/shop/files/BOOST_CAT_4.jpg?v=1785419472&amp;width=275 275w, //www.naak.com/cdn/shop/files/BOOST_CAT_4.jpg?v=1785419472&amp;width=414 414w, //www.naak.com/cdn/shop/files/BOOST_CAT_4.jpg?v=1785419472&amp;width=550 550w, //www.naak.com/cdn/shop/files/BOOST_CAT_4.jpg?v=1785419472&amp;width=828 828w" width="828" height="1104" loading="lazy" class="product-highlights-slider__card-image" sizes="(min-width: 768px) 414px, 275px">
5374</div><div class="product-highlights-slider__card-text"><p class="product-highlights-slider__card-title">Informed Sports certified</p><p class="product-highlights-slider__card-description">for a total peace of mind.</p></div></div>
5375              </div></div>
5376      </div>
5377    </div></section>
5378</section><section id="shopify-section-template--27273399271728__editorial-quote" class="shopify-section section-editorial-quote"><section
5379    class="editorial-quote"
5380    style="--editorial-quote-overlay: 0.0;"
5381    aria-label="Editorial quote"
5382    
5383  ><div class="editorial-quote__media" aria-hidden="true"><div class="hidden md:block editorial-quote__media-layer">
5384            <img src="//www.naak.com/cdn/shop/files/Malen_Osa.jpg?v=1785419578&amp;width=2500" alt="" srcset="//www.naak.com/cdn/shop/files/Malen_Osa.jpg?v=1785419578&amp;width=750 750w, //www.naak.com/cdn/shop/files/Malen_Osa.jpg?v=1785419578&amp;width=1100 1100w, //www.naak.com/cdn/shop/files/Malen_Osa.jpg?v=1785419578&amp;width=1500 1500w, //www.naak.com/cdn/shop/files/Malen_Osa.jpg?v=1785419578&amp;width=1800 1800w, //www.naak.com/cdn/shop/files/Malen_Osa.jpg?v=1785419578&amp;width=2400 2400w, //www.naak.com/cdn/shop/files/Malen_Osa.jpg?v=1785419578&amp;width=2500 2500w" width="2500" height="1563" loading="lazy" class="editorial-quote__media-item editorial-quote__media-item--desktop" sizes="100vw">
5385          </div><div class="editorial-quote__media-layer block md:hidden">
5386            <img src="//www.naak.com/cdn/shop/files/Malen_Osa.jpg?v=1785419578&amp;width=1500" alt="" srcset="//www.naak.com/cdn/shop/files/Malen_Osa.jpg?v=1785419578&amp;width=375 375w, //www.naak.com/cdn/shop/files/Malen_Osa.jpg?v=1785419578&amp;width=550 550w, //www.naak.com/cdn/shop/files/Malen_Osa.jpg?v=1785419578&amp;width=750 750w, //www.naak.com/cdn/shop/files/Malen_Osa.jpg?v=1785419578&amp;width=1100 1100w, //www.naak.com/cdn/shop/files/Malen_Osa.jpg?v=1785419578&amp;width=1200 1200w, //www.naak.com/cdn/shop/files/Malen_Osa.jpg?v=1785419578&amp;width=1500 1500w" width="1500" height="938" loading="lazy" class="editorial-quote__media-item editorial-quote__media-item--mobile" sizes="100vw">
5387          </div><div class="editorial-quote__overlay" aria-hidden="true"></div>
5388      </div><div class="editorial-quote__inner">
5389        <figure class="editorial-quote__card"><blockquote class="editorial-quote__text">
5390              <p>« BOOST™ Drink Mix is my go-to for both training and racing. It makes it easy to hit my carb targets while staying hydrated. »</p>
5391            </blockquote><figcaption class="editorial-quote__meta"><p class="editorial-quote__author">Malen Osa</p><p class="editorial-quote__detail">1st Lavaredo Ultra Trail by UTMB 2026 · Trail / Ultra</p></figcaption></figure>
5392      </div></section>
5393</section><section id="shopify-section-template--27273399271728__product_recommendations_carousel_rUjKhj" class="shopify-section section-product-recommendations-carousel"><section
5394    class="collection-carousel product-recommendations-carousel is-loading"
5395    data-collection-carousel
5396    data-product-recommendations-carousel
5397    data-section-id="template--27273399271728__product_recommendations_carousel_rUjKhj"
5398    data-product-id="10099179225392"
5399    data-intent="complementary"
5400    data-limit="6"
5401    data-empty-hint="No products to display. Select a collection or enable Shopify recommendations."
5402    data-design-mode="false"
5403    aria-label="Frequently purchased together"
5404    aria-busy="true"
5405    
5406  >
5407    <div class="collection-carousel__head">
5408      <h2 class="collection-carousel__title">Frequently purchased together</h2>
5409    </div>
5410    <p class="sr-only">Loading recommended products…</p>
5411  </section>
5412</section><section id="shopify-section-template--27273399271728__image_with_text_6FPjkh" class="shopify-section section-image-with-text"><section
5413  class="image-with-text image-with-text--image-right"
5414  style="
5415    --image-with-text-padding-top: 24px;
5416    --image-with-text-padding-bottom: 24px;
5417    --image-with-text-media-min-height-mobile: 480px;
5418    --image-with-text-media-min-height-desktop: 820px;
5419  "
5420  aria-label="LOREM IPSUM"
5421>
5422  <div class="image-with-text__wrapper"><div class="image-with-text__media"><div class="hidden md:block image-with-text__media-frame">
5423            <img src="//www.naak.com/cdn/shop/files/Sustainability_desktop.webp?v=1785436003&amp;width=2500" alt="Sustainability_desktop.webp" srcset="//www.naak.com/cdn/shop/files/Sustainability_desktop.webp?v=1785436003&amp;width=400 400w, //www.naak.com/cdn/shop/files/Sustainability_desktop.webp?v=1785436003&amp;width=600 600w, //www.naak.com/cdn/shop/files/Sustainability_desktop.webp?v=1785436003&amp;width=800 800w, //www.naak.com/cdn/shop/files/Sustainability_desktop.webp?v=1785436003&amp;width=1000 1000w, //www.naak.com/cdn/shop/files/Sustainability_desktop.webp?v=1785436003&amp;width=1200 1200w, //www.naak.com/cdn/shop/files/Sustainability_desktop.webp?v=1785436003&amp;width=1600 1600w" width="2500" height="3107" loading="lazy" class="image-with-text__image" sizes="(min-width: 768px) 50vw, 100vw">
5424          </div><div class="block md:hidden image-with-text__media-frame">
5425            <img src="//www.naak.com/cdn/shop/files/Sustainability_mobile.webp?v=1785436092&amp;width=1000" alt="Sustainability_mobile.webp" srcset="//www.naak.com/cdn/shop/files/Sustainability_mobile.webp?v=1785436092&amp;width=400 400w, //www.naak.com/cdn/shop/files/Sustainability_mobile.webp?v=1785436092&amp;width=600 600w, //www.naak.com/cdn/shop/files/Sustainability_mobile.webp?v=1785436092&amp;width=800 800w, //www.naak.com/cdn/shop/files/Sustainability_mobile.webp?v=1785436092&amp;width=1000 1000w" width="1000" height="1250" loading="lazy" class="image-with-text__image" sizes="100vw">
5426          </div></div><div class="image-with-text__panel">
5427      <div class="image-with-text__content"><h2 class="image-with-text__title image-with-text__title--h2" >
5428                      2× less water, <br />
54292× less CO2.
5430                    </h2><div class="image-with-text__body"><div class="image-with-text__richtext rte" >
5431                <div class="metafield-rich_text_field"><p><strong>Sugar</strong><br />
5432Beet sugar* vs Fructose: 10× less water to produce 1kg of sugar<br />
5433<em>*Isomaltulose is made from beet sugar</em><br />
5434<br />
5435<strong>Starch</strong><br />
5436Tapioca starch* vs Corn starch: uses 2× less CO2 to produce the same amount of starch.<br />
5437<em>*Maltodextrin is made from starch.</em></p></div>
5438              </div></div><a
5439                    href="/pages/sustainability"
5440                    class="btn btn--primary-outline"
5441                    
5442                  >
5443                    LEARN MORE
5444                  </a></div>
5445    </div>
5446  </div>
5447</section>
5448
5449
5450</section><section id="shopify-section-template--27273399271728__product_pdp_links_YGUChK" class="shopify-section section-product-pdp-links"><section
5451    class="product-pdp-links"
5452    aria-label="Product links"
5453    
5454  >
5455    <div class="product-pdp-links__list"><button
5456          type="button"
5457          class="product-pdp-links__item"
5458          @click="openProductDrawer('product-details', 'faq')"
5459        >
5460          <span class="product-pdp-links__label">FAQ · All you need to know</span>
5461          <svg
5462      class="product-pdp-links__icon"
5463      width="16"
5464      height="16"
5465      viewBox="0 0 16 16"
5466      fill="none"
5467      xmlns="http://www.w3.org/2000/svg"
5468    >
5469      <path d="M8.67598 3.19976L13.476 7.99976L8.67598 12.7998" stroke="currentColor" stroke-width="1.5"/>
5470      <line x1="13.5" y1="8.04712" x2="1.5" y2="8.04712" stroke="currentColor" stroke-width="1.5"/>
5471    </svg>
5472        </button><button
5473          type="button"
5474          class="product-pdp-links__item"
5475          @click="openProductDrawer('product-details', 'reviews')"
5476          aria-label="Rated 5.0 out of 5.0"
5477        >
5478          <span class="product-pdp-links__reviews-meta">
5479            <span class="product-pdp-links__label">Reviews (8)</span>
5480            <span class="product-pdp-links__stars" aria-hidden="true"><svg
5481      class="product-pdp-links__star"
5482      width="12"
5483      height="12"
5484      viewBox="0 0 12 12"
5485      fill="none"
5486      xmlns="http://www.w3.org/2000/svg"
5487    >
5488      <path d="M5.70941 0.145073C5.80605 -0.0487729 6.08263 -0.0487733 6.17926 0.145072L7.82361 3.4435C7.86182 3.52016 7.93503 3.57335 8.01974 3.58601L11.6649 4.1306C11.8791 4.1626 11.9646 4.42565 11.8101 4.57745L9.1812 7.16059C9.1201 7.22062 9.09214 7.30669 9.10628 7.39116L9.71475 11.0262C9.7505 11.2398 9.52675 11.4024 9.33463 11.3023L6.06556 9.60038C5.98958 9.56082 5.89909 9.56082 5.82312 9.60038L2.55404 11.3023C2.36192 11.4024 2.13817 11.2398 2.17393 11.0262L2.7824 7.39116C2.79654 7.30669 2.76857 7.22062 2.70748 7.16059L0.0786117 4.57745C-0.0758841 4.42565 0.00958318 4.1626 0.223804 4.1306L3.86893 3.58601C3.95364 3.57335 4.02685 3.52016 4.06507 3.4435L5.70941 0.145073Z" fill="currentColor"/>
5489    </svg>
5490<svg
5491      class="product-pdp-links__star"
5492      width="12"
5493      height="12"
5494      viewBox="0 0 12 12"
5495      fill="none"
5496      xmlns="http://www.w3.org/2000/svg"
5497    >
5498      <path d="M5.70941 0.145073C5.80605 -0.0487729 6.08263 -0.0487733 6.17926 0.145072L7.82361 3.4435C7.86182 3.52016 7.93503 3.57335 8.01974 3.58601L11.6649 4.1306C11.8791 4.1626 11.9646 4.42565 11.8101 4.57745L9.1812 7.16059C9.1201 7.22062 9.09214 7.30669 9.10628 7.39116L9.71475 11.0262C9.7505 11.2398 9.52675 11.4024 9.33463 11.3023L6.06556 9.60038C5.98958 9.56082 5.89909 9.56082 5.82312 9.60038L2.55404 11.3023C2.36192 11.4024 2.13817 11.2398 2.17393 11.0262L2.7824 7.39116C2.79654 7.30669 2.76857 7.22062 2.70748 7.16059L0.0786117 4.57745C-0.0758841 4.42565 0.00958318 4.1626 0.223804 4.1306L3.86893 3.58601C3.95364 3.57335 4.02685 3.52016 4.06507 3.4435L5.70941 0.145073Z" fill="currentColor"/>
5499    </svg>
5500<svg
5501      class="product-pdp-links__star"
5502      width="12"
5503      height="12"
5504      viewBox="0 0 12 12"
5505      fill="none"
5506      xmlns="http://www.w3.org/2000/svg"
5507    >
5508      <path d="M5.70941 0.145073C5.80605 -0.0487729 6.08263 -0.0487733 6.17926 0.145072L7.82361 3.4435C7.86182 3.52016 7.93503 3.57335 8.01974 3.58601L11.6649 4.1306C11.8791 4.1626 11.9646 4.42565 11.8101 4.57745L9.1812 7.16059C9.1201 7.22062 9.09214 7.30669 9.10628 7.39116L9.71475 11.0262C9.7505 11.2398 9.52675 11.4024 9.33463 11.3023L6.06556 9.60038C5.98958 9.56082 5.89909 9.56082 5.82312 9.60038L2.55404 11.3023C2.36192 11.4024 2.13817 11.2398 2.17393 11.0262L2.7824 7.39116C2.79654 7.30669 2.76857 7.22062 2.70748 7.16059L0.0786117 4.57745C-0.0758841 4.42565 0.00958318 4.1626 0.223804 4.1306L3.86893 3.58601C3.95364 3.57335 4.02685 3.52016 4.06507 3.4435L5.70941 0.145073Z" fill="currentColor"/>
5509    </svg>
5510<svg
5511      class="product-pdp-links__star"
5512      width="12"
5513      height="12"
5514      viewBox="0 0 12 12"
5515      fill="none"
5516      xmlns="http://www.w3.org/2000/svg"
5517    >
5518      <path d="M5.70941 0.145073C5.80605 -0.0487729 6.08263 -0.0487733 6.17926 0.145072L7.82361 3.4435C7.86182 3.52016 7.93503 3.57335 8.01974 3.58601L11.6649 4.1306C11.8791 4.1626 11.9646 4.42565 11.8101 4.57745L9.1812 7.16059C9.1201 7.22062 9.09214 7.30669 9.10628 7.39116L9.71475 11.0262C9.7505 11.2398 9.52675 11.4024 9.33463 11.3023L6.06556 9.60038C5.98958 9.56082 5.89909 9.56082 5.82312 9.60038L2.55404 11.3023C2.36192 11.4024 2.13817 11.2398 2.17393 11.0262L2.7824 7.39116C2.79654 7.30669 2.76857 7.22062 2.70748 7.16059L0.0786117 4.57745C-0.0758841 4.42565 0.00958318 4.1626 0.223804 4.1306L3.86893 3.58601C3.95364 3.57335 4.02685 3.52016 4.06507 3.4435L5.70941 0.145073Z" fill="currentColor"/>
5519    </svg>
5520<svg
5521      class="product-pdp-links__star"
5522      width="12"
5523      height="12"
5524      viewBox="0 0 12 12"
5525      fill="none"
5526      xmlns="http://www.w3.org/2000/svg"
5527    >
5528      <path d="M5.70941 0.145073C5.80605 -0.0487729 6.08263 -0.0487733 6.17926 0.145072L7.82361 3.4435C7.86182 3.52016 7.93503 3.57335 8.01974 3.58601L11.6649 4.1306C11.8791 4.1626 11.9646 4.42565 11.8101 4.57745L9.1812 7.16059C9.1201 7.22062 9.09214 7.30669 9.10628 7.39116L9.71475 11.0262C9.7505 11.2398 9.52675 11.4024 9.33463 11.3023L6.06556 9.60038C5.98958 9.56082 5.89909 9.56082 5.82312 9.60038L2.55404 11.3023C2.36192 11.4024 2.13817 11.2398 2.17393 11.0262L2.7824 7.39116C2.79654 7.30669 2.76857 7.22062 2.70748 7.16059L0.0786117 4.57745C-0.0758841 4.42565 0.00958318 4.1626 0.223804 4.1306L3.86893 3.58601C3.95364 3.57335 4.02685 3.52016 4.06507 3.4435L5.70941 0.145073Z" fill="currentColor"/>
5529    </svg>
5530<span class="product-pdp-links__rating">5.0</span>
5531            </span>
5532          </span>
5533          <svg
5534      class="product-pdp-links__icon"
5535      width="16"
5536      height="16"
5537      viewBox="0 0 16 16"
5538      fill="none"
5539      xmlns="http://www.w3.org/2000/svg"
5540    >
5541      <path d="M8.67598 3.19976L13.476 7.99976L8.67598 12.7998" stroke="currentColor" stroke-width="1.5"/>
5542      <line x1="13.5" y1="8.04712" x2="1.5" y2="8.04712" stroke="currentColor" stroke-width="1.5"/>
5543    </svg>
5544        </button><a href="/pages/nutrition-calculator" class="product-pdp-links__item" >
5545              <span class="product-pdp-links__label">Get your personalized nutrition plan</span>
5546              <svg
5547      class="product-pdp-links__icon"
5548      width="16"
5549      height="16"
5550      viewBox="0 0 16 16"
5551      fill="none"
5552      xmlns="http://www.w3.org/2000/svg"
5553    >
5554      <path d="M8.67598 3.19976L13.476 7.99976L8.67598 12.7998" stroke="currentColor" stroke-width="1.5"/>
5555      <line x1="13.5" y1="8.04712" x2="1.5" y2="8.04712" stroke="currentColor" stroke-width="1.5"/>
5556    </svg>
5557            </a></div></section>
5558
5559
5560</section>
5561    </main>
5562
5563    <!-- BEGIN sections: footer-group -->
5564<section id="shopify-section-sections--27256355258672__trust-bar" class="shopify-section shopify-section-group-footer-group section-trust-bar"><section
5565    class="trust-bar"
5566    aria-label="Trust and reassurance"
5567    
5568  >
5569    <div
5570      class="trust-bar__swiper"
5571      data-trust-bar
5572      role="region"
5573      aria-roledescription="carousel"
5574      aria-label="Trust and reassurance"
5575    >
5576      <div class="trust-bar__track" data-trust-bar-track><div class="trust-bar__slide" >
5577            <div class="trust-bar__item"><p class="trust-bar__title">Free delivery from 70$</p><p class="trust-bar__description">Fast, tracked worldwide shipping.</p></div>
5578          </div><div class="trust-bar__slide" >
5579            <div class="trust-bar__item"><p class="trust-bar__title">Natural &amp; sustainable ingredients</p><p class="trust-bar__description">Selected for their effectiveness and low impact.</p></div>
5580          </div><div class="trust-bar__slide" >
5581            <div class="trust-bar__item"><p class="trust-bar__title">Flexible subscription</p><p class="trust-bar__description">Change, pause or cancel anytime.</p></div>
5582          </div></div><div class="trust-bar__progress" data-trust-bar-progress aria-hidden="true"><button
5583              type="button"
5584              class="trust-bar__progress-segment is-active"
5585              data-trust-bar-segment
5586              aria-label="Free delivery from 70$"
5587            ></button><button
5588              type="button"
5589              class="trust-bar__progress-segment"
5590              data-trust-bar-segment
5591              aria-label="Natural &amp; sustainable ingredients"
5592            ></button><button
5593              type="button"
5594              class="trust-bar__progress-segment"
5595              data-trust-bar-segment
5596              aria-label="Flexible subscription"
5597            ></button></div></div>
5598  </section>
5599</section><div id="shopify-section-sections--27256355258672__footer" class="shopify-section shopify-section-group-footer-group section-footer"><footer
5600  class="footer"
5601  role="contentinfo"
5602  aria-label="Footer navigation"
5603  
5604>
5605  <div class="footer-main">
5606    <div class="footer-logo footer-logo--mobile"><a id="logo-footer" href="/" class="footer-logo__link text-currentColor" aria-label="Näak NA">
5607  <svg width="296" height="227" viewBox="0 0 296 227" fill="none" xmlns="http://www.w3.org/2000/svg">
5608    <path d="M183.656 158.735C173.082 158.735 166.4 167.024 166.4 176.908C166.4 186.792 173.181 194.98 183.656 194.98C194.031 194.98 201.016 186.692 201.016 176.808C201.016 167.024 194.031 158.735 183.656 158.735Z" fill="currentColor"/>
5609    <path d="M262.165 138.112H263.641C264.383 138.112 264.917 138.63 264.917 139.357C264.917 139.926 264.595 140.344 264.074 140.509L264.967 142.014H264.302L263.51 140.59H262.733V142.014H262.165V138.112ZM263.444 143.344C265.21 143.344 266.682 141.886 266.682 140.103C266.682 138.321 265.21 136.863 263.444 136.863C261.682 136.863 260.206 138.321 260.206 140.103C260.206 141.886 261.682 143.344 263.444 143.344Z" fill="currentColor"/>
5610    <path d="M264.369 139.358C264.369 138.887 264.094 138.596 263.508 138.596H262.731V140.104H263.461C264.06 140.104 264.369 139.829 264.369 139.358Z" fill="currentColor"/>
5611    <path d="M121.504 158.737C110.93 158.737 104.248 167.026 104.248 176.91C104.248 186.79 111.029 194.979 121.504 194.979C131.88 194.979 138.864 186.69 138.864 176.807C138.864 167.026 131.88 158.737 121.504 158.737Z" fill="currentColor"/>
5612    <path d="M253.972 203.764L234.62 179.304L229.931 183.597V203.764H218.957V144.483L229.931 136.653V170.716L252.575 149.952H267.043L242.303 172.314L268.141 203.764H253.972ZM211.093 203.764H200.515V196.378C196.129 201.569 190.04 205.063 182.161 205.063C166.598 205.063 155.327 192.585 155.327 176.51C155.327 160.436 166.698 148.654 182.161 148.654C190.04 148.654 196.129 152.247 200.515 157.439L211.093 149.952V203.764ZM263.446 136.247C265.567 136.247 267.295 137.996 267.295 140.119C267.295 142.241 265.567 143.958 263.446 143.958C261.325 143.958 259.59 142.21 259.59 140.087C259.59 137.964 261.325 136.247 263.446 136.247ZM148.939 203.764H138.364V196.375C133.975 201.566 127.889 205.063 120.01 205.063C104.447 205.063 93.1734 192.581 93.1734 176.507C93.1734 160.432 104.547 148.651 120.01 148.651C127.889 148.651 133.975 152.247 138.364 157.439L148.939 149.949V203.764ZM86.8379 203.764H75.7609V174.113C75.7609 164.029 70.3737 158.737 62.8934 158.737C54.6114 158.737 48.828 165.125 48.828 174.312V203.764H37.8539V149.952L48.6283 157.539C51.7197 152.047 57.9054 148.554 65.6883 148.554C76.6624 148.554 86.8379 155.74 86.8379 171.016V203.764ZM112.426 127.484C116.516 127.484 119.707 130.581 119.707 134.674C119.707 138.967 116.516 142.063 112.426 142.063C108.237 142.063 105.046 138.967 105.046 134.674C105.046 130.581 108.237 127.484 112.426 127.484ZM132.877 127.484C136.867 127.484 140.058 130.581 140.058 134.674C140.058 138.967 136.867 142.063 132.877 142.063C128.688 142.063 125.494 138.967 125.494 134.674C125.494 130.581 128.688 127.484 132.877 127.484ZM271.822 0L244.658 25.5212L227.174 18.7655L179.166 50.493L164.392 46.7998L149.226 68.3001L121.42 60.714L69.8153 100.493L43.0665 99.9246L0 154.311V227H296V45.0766L271.822 0Z" fill="currentColor"/>
5613  </svg>
5614</a>
5615</div>
5616
5617    <div class="footer-logo footer-logo--desktop"><a id="logo-footer" href="/" class="footer-logo__link text-currentColor" aria-label="Näak NA">
5618  <svg width="296" height="227" viewBox="0 0 296 227" fill="none" xmlns="http://www.w3.org/2000/svg">
5619    <path d="M183.656 158.735C173.082 158.735 166.4 167.024 166.4 176.908C166.4 186.792 173.181 194.98 183.656 194.98C194.031 194.98 201.016 186.692 201.016 176.808C201.016 167.024 194.031 158.735 183.656 158.735Z" fill="currentColor"/>
5620    <path d="M262.165 138.112H263.641C264.383 138.112 264.917 138.63 264.917 139.357C264.917 139.926 264.595 140.344 264.074 140.509L264.967 142.014H264.302L263.51 140.59H262.733V142.014H262.165V138.112ZM263.444 143.344C265.21 143.344 266.682 141.886 266.682 140.103C266.682 138.321 265.21 136.863 263.444 136.863C261.682 136.863 260.206 138.321 260.206 140.103C260.206 141.886 261.682 143.344 263.444 143.344Z" fill="currentColor"/>
5621    <path d="M264.369 139.358C264.369 138.887 264.094 138.596 263.508 138.596H262.731V140.104H263.461C264.06 140.104 264.369 139.829 264.369 139.358Z" fill="currentColor"/>
5622    <path d="M121.504 158.737C110.93 158.737 104.248 167.026 104.248 176.91C104.248 186.79 111.029 194.979 121.504 194.979C131.88 194.979 138.864 186.69 138.864 176.807C138.864 167.026 131.88 158.737 121.504 158.737Z" fill="currentColor"/>
5623    <path d="M253.972 203.764L234.62 179.304L229.931 183.597V203.764H218.957V144.483L229.931 136.653V170.716L252.575 149.952H267.043L242.303 172.314L268.141 203.764H253.972ZM211.093 203.764H200.515V196.378C196.129 201.569 190.04 205.063 182.161 205.063C166.598 205.063 155.327 192.585 155.327 176.51C155.327 160.436 166.698 148.654 182.161 148.654C190.04 148.654 196.129 152.247 200.515 157.439L211.093 149.952V203.764ZM263.446 136.247C265.567 136.247 267.295 137.996 267.295 140.119C267.295 142.241 265.567 143.958 263.446 143.958C261.325 143.958 259.59 142.21 259.59 140.087C259.59 137.964 261.325 136.247 263.446 136.247ZM148.939 203.764H138.364V196.375C133.975 201.566 127.889 205.063 120.01 205.063C104.447 205.063 93.1734 192.581 93.1734 176.507C93.1734 160.432 104.547 148.651 120.01 148.651C127.889 148.651 133.975 152.247 138.364 157.439L148.939 149.949V203.764ZM86.8379 203.764H75.7609V174.113C75.7609 164.029 70.3737 158.737 62.8934 158.737C54.6114 158.737 48.828 165.125 48.828 174.312V203.764H37.8539V149.952L48.6283 157.539C51.7197 152.047 57.9054 148.554 65.6883 148.554C76.6624 148.554 86.8379 155.74 86.8379 171.016V203.764ZM112.426 127.484C116.516 127.484 119.707 130.581 119.707 134.674C119.707 138.967 116.516 142.063 112.426 142.063C108.237 142.063 105.046 138.967 105.046 134.674C105.046 130.581 108.237 127.484 112.426 127.484ZM132.877 127.484C136.867 127.484 140.058 130.581 140.058 134.674C140.058 138.967 136.867 142.063 132.877 142.063C128.688 142.063 125.494 138.967 125.494 134.674C125.494 130.581 128.688 127.484 132.877 127.484ZM271.822 0L244.658 25.5212L227.174 18.7655L179.166 50.493L164.392 46.7998L149.226 68.3001L121.42 60.714L69.8153 100.493L43.0665 99.9246L0 154.311V227H296V45.0766L271.822 0Z" fill="currentColor"/>
5624  </svg>
5625</a>
5626</div>
5627
5628    <div class="footer-content">
5629      <div class="footer-panel footer-panel--newsletter">
5630        <div class="footer-panel__inner footer-panel__inner--newsletter">
5631          <div class="footer-aside"><nav class="footer-social" aria-label="Social media"><a
5632      href="https://www.facebook.com/naakbar"
5633      class="footer-social__link"
5634      target="_blank"
5635      rel="noopener noreferrer"
5636      aria-label="Facebook"
5637    ><svg
5638      class="size-4 text-white"
5639      width="10"
5640      height="16"
5641      viewBox="0 0 10 16"
5642      fill="none"
5643      xmlns="http://www.w3.org/2000/svg"
5644    >
5645      <path d="M9.34473 8.9995L9.86346 6.104H6.62096V4.225C6.62096 3.433 7.07375 2.6605 8.52608 2.6605H10V0.1955C10 0.1955 8.66262 0 7.38359 0C4.7135 0 2.96826 1.387 2.96826 3.8975V6.1045H0V9H2.96826V16H6.62096V9L9.34473 8.9995Z" fill="currentColor"/>
5646    </svg></a><a
5647      href="https://www.instagram.com/naakbars/"
5648      class="footer-social__link"
5649      target="_blank"
5650      rel="noopener noreferrer"
5651      aria-label="Instagram"
5652    ><svg
5653      class="size-4 text-white"
5654      width="16"
5655      height="16"
5656      viewBox="0 0 16 16"
5657      fill="none"
5658      xmlns="http://www.w3.org/2000/svg"
5659    >
5660      <path d="M8.00015 0C5.82743 0 5.55499 0.00921734 4.70168 0.048135C3.85016 0.0869812 3.26861 0.22224 2.75973 0.419973C2.23365 0.624421 1.7875 0.897988 1.34275 1.34273C0.897988 1.78747 0.624421 2.23367 0.419997 2.75975C0.222217 3.26861 0.0870051 3.85016 0.0481112 4.70168C0.00919353 5.55499 0 5.82743 0 8.00015C0 10.1728 0.00919353 10.4453 0.0481112 11.2986C0.0870051 12.1501 0.222217 12.7317 0.419997 13.2405C0.624445 13.7666 0.898012 14.2127 1.34275 14.6575C1.78752 15.1023 2.23365 15.3758 2.75973 15.5803C3.26861 15.778 3.85016 15.9133 4.70168 15.9521C5.55499 15.991 5.82743 16.0003 8.00015 16.0003C10.1728 16.0003 10.4453 15.991 11.2986 15.9521C12.1501 15.9133 12.7317 15.778 13.2405 15.5803C13.7666 15.3758 14.2127 15.1023 14.6575 14.6575C15.1023 14.2127 15.3758 13.7666 15.5803 13.2405C15.778 12.7317 15.9133 12.1501 15.9521 11.2986C15.991 10.4453 16.0003 10.1728 16.0003 8.00015C16.0003 5.82743 15.991 5.55499 15.9521 4.70168C15.9133 3.85016 15.778 3.26861 15.5803 2.75975C15.3758 2.23367 15.1023 1.78747 14.6575 1.34273C14.2127 0.897988 13.7666 0.624421 13.2405 0.419973C12.7317 0.22224 12.1501 0.0869812 11.2986 0.048135C10.4453 0.00921734 10.1728 0 8.00015 0ZM8.00015 1.44145C10.1362 1.44145 10.3893 1.44962 11.2329 1.48811C12.0129 1.52367 12.4365 1.654 12.7184 1.76356C13.0918 1.9087 13.3583 2.08205 13.6382 2.362C13.9182 2.64195 14.0916 2.90846 14.2367 3.28187C14.3463 3.56378 14.4766 3.98739 14.5121 4.76739C14.5506 5.61098 14.5588 5.86402 14.5588 8.00013C14.5588 10.1362 14.5506 10.3893 14.5121 11.2329C14.4766 12.0129 14.3463 12.4365 14.2367 12.7184C14.0916 13.0918 13.9182 13.3583 13.6382 13.6382C13.3583 13.9182 13.0918 14.0916 12.7184 14.2367C12.4365 14.3463 12.0129 14.4766 11.2329 14.5121C10.3894 14.5506 10.1364 14.5588 8.00013 14.5588C5.86385 14.5588 5.61089 14.5506 4.76739 14.5121C3.98737 14.4766 3.56378 14.3463 3.2819 14.2367C2.90844 14.0916 2.64195 13.9182 2.36202 13.6382C2.08207 13.3583 1.9087 13.0918 1.76356 12.7184C1.654 12.4365 1.5237 12.0129 1.48811 11.2329C1.44962 10.3893 1.44145 10.1362 1.44145 8.00013C1.44145 5.86402 1.44962 5.61098 1.48811 4.76739C1.5237 3.98737 1.654 3.56378 1.76356 3.2819C1.9087 2.90844 2.08207 2.64195 2.362 2.36202C2.64195 2.08205 2.90846 1.9087 3.28187 1.76356C3.56378 1.654 3.98739 1.52367 4.76739 1.48811C5.61098 1.44962 5.86402 1.44145 8.00013 1.44145" fill="currentColor"/>
5661      <path d="M8.00035 10.6673C6.52752 10.6673 5.33361 9.47334 5.33361 8.00056C5.33361 6.52774 6.52752 5.33382 8.00035 5.33382C9.47312 5.33382 10.667 6.52774 10.667 8.00056C10.667 9.47334 9.47312 10.6673 8.00035 10.6673ZM8.00035 3.89237C5.73143 3.89237 3.89215 5.73164 3.89215 8.00056C3.89215 10.2694 5.73143 12.1087 8.00035 12.1087C10.2692 12.1087 12.1085 10.2694 12.1085 8.00056C12.1085 5.73164 10.2692 3.89237 8.00035 3.89237ZM13.2308 3.73005C13.2308 4.26028 12.801 4.69006 12.2708 4.69006C11.7406 4.69006 11.3108 4.26028 11.3108 3.73005C11.3108 3.19985 11.7406 2.77002 12.2708 2.77002C12.801 2.77002 13.2308 3.19985 13.2308 3.73005Z" fill="currentColor"/>
5662    </svg></a><a
5663      href="https://x.com/naakbars"
5664      class="footer-social__link"
5665      target="_blank"
5666      rel="noopener noreferrer"
5667      aria-label="X"
5668    ><svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
5669      <path d="M9.52165 6.77486L15.4777 0H14.066L8.89582 5.88229L4.76436 0H0L6.2466 8.896L0 16H1.41166L6.87244 9.78743L11.2356 16H16L9.52165 6.77486ZM7.58885 8.97371L6.95596 8.088L1.91986 1.04H4.08793L8.15117 6.728L8.78406 7.61371L14.0672 15.008H11.8991L7.58885 8.97371Z" fill="white"/>
5670    </svg></a><a
5671      href="https://www.youtube.com/@naak"
5672      class="footer-social__link"
5673      target="_blank"
5674      rel="noopener noreferrer"
5675      aria-label="YouTube"
5676    ><svg
5677      class="size-4 text-white"
5678      width="20"
5679      height="16"
5680      viewBox="0 0 20 16"
5681      fill="none"
5682      xmlns="http://www.w3.org/2000/svg"
5683    >
5684      <path fill-rule="evenodd" clip-rule="evenodd" d="M10 0C7.69889 0 5.5098 0.145938 3.53257 0.409298C1.42768 0.689646 0 2.50729 0 4.52451V11.4755C0 13.4927 1.42768 15.3104 3.53257 15.5907C5.5098 15.8541 7.69889 16 10 16C12.3011 16 14.4902 15.8541 16.4674 15.5907C18.5723 15.3104 20 13.4927 20 11.4755V4.52452C20 2.50729 18.5723 0.689646 16.4674 0.409298C14.4902 0.145938 12.3011 0 10 0ZM8.49851 4.66915C8.28298 4.54204 8.01452 4.53872 7.7958 4.66043C7.57706 4.78215 7.44186 5.0101 7.44186 5.25714V10.7429C7.44186 10.9899 7.57706 11.2178 7.7958 11.3395C8.01452 11.4613 8.28298 11.4579 8.49851 11.3308L13.1497 8.58798C13.3598 8.46409 13.4884 8.24082 13.4884 8C13.4884 7.75918 13.3598 7.53591 13.1497 7.41202L8.49851 4.66915Z" fill="currentColor"/>
5685    </svg></a><a
5686      href="https://www.tiktok.com/@naakbars"
5687      class="footer-social__link"
5688      target="_blank"
5689      rel="noopener noreferrer"
5690      aria-label="TikTok"
5691    ><svg class="size-4 text-white" width="16" height="16" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true">
5692      <path d="M11.5 1h-2v8.5a2 2 0 11-2-2v-2a4 4 0 104 4V5.5a5.9 5.9 0 003.5 1.1v-2A3.5 3.5 0 0111.5 1z"/>
5693    </svg></a><a
5694      href="https://www.strava.com/clubs/naak"
5695      class="footer-social__link"
5696      target="_blank"
5697      rel="noopener noreferrer"
5698      aria-label="Strava"
5699    ><svg class="size-4 text-white" width="16" height="16" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true">
5700      <path d="M6.5 2L3 9h2.5l1-2h2l1 2H12L8.5 2H6.5zm1 1.8L8.7 7H6.3l1.2-3.2z"/>
5701      <path d="M9.5 9l1 2 1-2h1.5L11 13.5 9 9h.5z"/>
5702    </svg></a></nav>
5703<div class="footer-bcorp text-white" aria-label="Certified B Corporation"><svg
5704      class="footer-bcorp__logo"
5705      width="76"
5706      height="105"
5707      viewBox="0 0 76 129"
5708      fill="none"
5709      xmlns="http://www.w3.org/2000/svg"
5710      aria-hidden="true"
5711    >
5712      <path d="M22.1865 36.939H37.8895C41.7092 36.939 46.747 36.939 49.3485 38.5187C52.2014 40.2163 54.4413 43.305 54.4413 47.557C54.4413 52.1625 52.0206 55.6206 48.0124 57.2554V57.3811C53.3489 58.4736 56.2568 62.474 56.2568 67.8105C56.2568 74.1766 51.7063 80.244 43.1003 80.244H22.1865V36.939ZM27.9474 55.5499H39.4771C46.0239 55.5499 48.6961 53.1843 48.6961 48.6337C48.6961 42.6291 44.4521 41.7803 39.4771 41.7803H27.9474V55.5499ZM27.9474 75.3791H42.3851C47.3522 75.3791 50.5116 72.3454 50.5116 67.6219C50.5116 61.9789 45.9611 60.407 41.1118 60.407H27.9474V75.3791Z" fill="currentColor"/>
5713      <path d="M70.9937 58.5993C70.9937 76.7858 56.2496 91.53 38.0552 91.53C19.8686 91.53 5.12448 76.7858 5.12448 58.5993C5.12448 40.4127 19.8686 25.6686 38.0552 25.6686C56.2496 25.6764 70.9937 40.4206 70.9937 58.5993ZM38.063 20.6543C17.1179 20.6543 0.133789 37.6384 0.133789 58.5835C0.133789 79.5287 17.1179 96.5128 38.063 96.5128C59.0161 96.5128 76.0001 79.5287 76.0001 58.5835C76.0001 37.6384 59.0161 20.6543 38.063 20.6543Z" fill="currentColor"/>
5714      <path d="M75.9133 104.521H0.204102V109.496H75.9133V104.521Z" fill="currentColor"/>
5715      <path d="M73.5482 99.0438C73.6425 99.0438 73.7289 99.0359 73.8154 99.0359C73.894 99.0281 73.9726 99.0124 74.0355 98.9888C74.1062 98.9574 74.1533 98.9102 74.1926 98.8552C74.2319 98.7923 74.2477 98.7137 74.2477 98.6115C74.2477 98.5251 74.2319 98.4465 74.2005 98.3993C74.1691 98.3443 74.1219 98.305 74.0669 98.2815C74.0119 98.25 73.9569 98.2343 73.8783 98.2186C73.8075 98.2107 73.7447 98.2107 73.6661 98.2107H73.1238V99.0517H73.5482V99.0438ZM73.7289 97.8649C74.0433 97.8649 74.2712 97.9278 74.4284 98.0535C74.5777 98.1793 74.6563 98.3679 74.6563 98.6273C74.6563 98.8709 74.5856 99.036 74.4599 99.1538C74.3262 99.2639 74.1612 99.3267 73.9569 99.3503L74.7114 100.514H74.2712L73.5482 99.3739H73.1159V100.514H72.6994V97.8728H73.7289V97.8649ZM71.8741 99.9476C71.9606 100.183 72.0942 100.396 72.2671 100.569C72.4321 100.741 72.6286 100.875 72.8565 100.977C73.0766 101.072 73.3281 101.119 73.5875 101.119C73.8547 101.119 74.0983 101.072 74.3184 100.977C74.5463 100.875 74.7428 100.741 74.9078 100.569C75.0729 100.396 75.2065 100.191 75.2929 99.9476C75.3873 99.7119 75.4423 99.4604 75.4423 99.1853C75.4423 98.9102 75.3951 98.6587 75.2929 98.4229C75.1986 98.1871 75.065 97.9828 74.9078 97.8099C74.7349 97.637 74.5385 97.5034 74.3184 97.4091C74.0983 97.3148 73.8468 97.2597 73.5875 97.2597C73.3281 97.2597 73.0766 97.3148 72.8565 97.4091C72.6286 97.5112 72.4243 97.6448 72.2671 97.8099C72.0942 97.9828 71.9684 98.1871 71.8741 98.4229C71.7798 98.6587 71.7327 98.9023 71.7327 99.1853C71.7248 99.4525 71.772 99.7119 71.8741 99.9476ZM71.4969 98.2893C71.6148 98.0142 71.7798 97.7863 71.9842 97.582C72.1885 97.3776 72.4321 97.2283 72.7072 97.1104C72.9823 96.9925 73.281 96.9375 73.5796 96.9375C73.894 96.9375 74.1848 96.9925 74.4677 97.1104C74.7349 97.2283 74.9786 97.3776 75.1751 97.582C75.3794 97.7863 75.5523 98.0221 75.6623 98.2893C75.7881 98.5644 75.8431 98.863 75.8431 99.1853C75.8431 99.5075 75.7881 99.8062 75.6623 100.081C75.5444 100.364 75.3794 100.6 75.1751 100.804C74.9707 101.017 74.7349 101.166 74.4677 101.284C74.1848 101.394 73.894 101.449 73.5796 101.449C73.2731 101.449 72.9823 101.394 72.7072 101.284C72.4321 101.166 72.1885 101.017 71.9842 100.804C71.7798 100.6 71.6148 100.364 71.4969 100.081C71.3711 99.8062 71.324 99.5075 71.324 99.1853C71.3161 98.863 71.3711 98.5644 71.4969 98.2893Z" fill="currentColor"/>
5716      <path d="M9.38402 3.97683C9.20326 3.68604 8.98319 3.43454 8.71598 3.22234C8.44876 3.00227 8.14224 2.83723 7.80429 2.71148C7.46634 2.59359 7.11267 2.53071 6.74328 2.53071C6.06738 2.53071 5.49364 2.66432 5.01422 2.92368C4.54266 3.18304 4.15755 3.53671 3.86676 3.97683C3.57596 4.41696 3.3559 4.91996 3.22229 5.48583C3.08868 6.0517 3.01795 6.6333 3.01795 7.23061C3.01795 7.80434 3.08082 8.36235 3.22229 8.90465C3.3559 9.44694 3.5681 9.93422 3.86676 10.3743
5716C4.15755 10.8066 4.54266 11.1603 5.01422 11.4196C5.48578 11.679 6.05952 11.8126 6.74328 11.8126C7.66282 11.8126 8.38588 11.5297 8.89674 10.9717C9.41546 10.4058 9.72983 9.66701 9.84772 8.74746H12.7635C12.685 9.60413 12.4885 10.3743 12.1662 11.066C11.844 11.7576 11.4275 12.347 10.9009 12.8265C10.3743 13.3137 9.76127 13.6831 9.06179 13.9425C8.36231 14.194 7.58423 14.3276 6.74328 14.3276C5.69799 14.3276 4.75486 14.1468 3.91391 13.7775C3.07296 13.4159 2.37348 12.9129 1.79189 12.2685C1.21815 11.6318 0.778029 10.8773 0.471515 10.0128C0.165 9.14829 0.0078125 8.22089 0.0078125 7.22275C0.0078125 6.20103 0.15714 5.25005 0.471515 4.37766C0.778029 3.50527 1.21815 2.73506 1.79189 2.09059C2.36562 1.43826 3.07296 0.927403 3.91391 0.558014C4.747 0.188624 5.69013 0 6.74328 0C7.49778 0 8.21298 0.110031 8.88102 0.322233C9.54907 0.542295 10.1542 0.85667 10.6808 1.27322C11.2074 1.68976 11.6475 2.20062 11.9933 2.81365C12.3391 3.42668 12.5592 4.13402 12.6457 4.91996H9.72983C9.67482 4.57414 9.56479 4.25977 9.38402 3.97683Z" fill="currentColor"/>
5717      <path d="M16.6853 11.6318C17.094 12.0248 17.6834 12.2291 18.4458 12.2291C18.9959 12.2291 19.4675 12.0955 19.8683 11.8205C20.2613 11.5454 20.5049 11.2546 20.5992 10.9481H22.9963C22.6112 12.1348 22.0218 12.9915 21.228 13.5024C20.4342 14.0132 19.4754 14.2726 18.3515 14.2726C17.5734 14.2726 16.866 14.1468 16.2452 13.8953C15.6164 13.6438 15.0898 13.2902 14.6497 12.8343C14.2174 12.3785 13.8795 11.8283 13.6437 11.1839C13.4079 10.5472 13.29 9.8399 13.29 9.07754C13.29 8.33877 13.4079 7.64714 13.6516 7.01053C13.8952 6.37393 14.241 5.81591 14.689 5.35221C15.137 4.88851 15.6714 4.51912 16.2923 4.2519C16.9132 3.98468 17.597 3.85107 18.3515 3.85107C19.1924 3.85107 19.9312 4.01612 20.5599 4.33835C21.1887 4.66845 21.6995 5.10071 22.1004 5.65087C22.5012 6.20102 22.792 6.82977 22.9728 7.52925C23.1535 8.22873 23.2164 8.96751 23.1614 9.73773H16.0094C16.0487 10.5944 16.2687 11.2389 16.6853 11.6318ZM19.7583 6.42108C19.4282 6.06741 18.9331 5.88665 18.2729 5.88665C17.8406 5.88665 17.4791 5.95738 17.1883 6.10671C16.8975 6.25604 16.6696 6.4368 16.4967 6.649C16.3237 6.86907 16.2059 7.09699 16.1351 7.34063C16.0644 7.58427 16.0251 7.79647 16.0094 7.99295H20.4421C20.3163 7.30133 20.0884 6.77475 19.7583 6.42108Z" fill="currentColor"/>
5718      <path d="M26.9812 4.09485V5.93394H27.0205C27.1462 5.62743 27.3191 5.34449 27.5392 5.07727C27.7593 4.81791 28.0029 4.58999 28.2858 4.40923C28.5688 4.22846 28.8674 4.07913 29.1897 3.97696C29.5119 3.87479 29.842 3.82764 30.1878 3.82764C30.3686 3.82764 30.5651 3.85907 30.7851 3.92195V6.45266C30.6594 6.42908 30.5022 6.4055 30.3214 6.38979C30.1406 6.37407 29.9677 6.35835 29.8027 6.35835C29.3076 6.35835 28.8832 6.4448 28.5373 6.60985C28.1915 6.77489 27.9165 7.00282 27.7043 7.29361C27.492 7.58441 27.3427 7.9145 27.2563 8.29961C27.1698 8.68472 27.1227 9.10126 27.1227 9.54925V14.0212H24.4033V4.09485H26.9812Z" fill="currentColor"/>
5719      <path d="M38.0625 4.09481V5.91818H36.0662V10.8303C36.0662 11.294 36.1448 11.6005 36.2941 11.7498C36.4434 11.8992 36.7578 11.9777 37.2137 11.9777C37.3708 11.9777 37.5123 11.9699 37.6538 11.962C37.7952 11.9463 37.9289 11.9306 38.0546 11.907V14.0133C37.8267 14.0526 37.5673 14.0762 37.2844 14.0919C37.0015 14.1076 36.7264 14.1155 36.4592 14.1155C36.0347 14.1155 35.6339 14.0841 35.2645 14.029C34.8873 13.974 34.5572 13.864 34.2664 13.6911C33.9756 13.526 33.7555 13.2903 33.5826 12.9837C33.4176 12.6772 33.3311 12.2764 33.3311 11.7734V5.92604H31.6807V4.10267H33.3311V1.13184H36.0505V4.10267H38.0625V4.09481Z" fill="currentColor"/>
5720      <path d="M39.6504 2.56223V0.314453H42.3697V2.56223H39.6504ZM42.3697 4.0948V14.0055H39.6504V4.0948H42.3697Z" fill="currentColor"/>
5721      <path d="M43.4541 5.91817V4.0948H45.081V3.32459C45.081 2.44434 45.3561 1.72128 45.9062 1.1554C46.4564 0.58953 47.2895 0.314453 48.3976 0.314453C48.6413 0.314453 48.8849 0.322313 49.1286 0.345891C49.3722 0.36161 49.608 0.385188 49.8359 0.393047V2.42862C49.5137 2.38932 49.1836 2.3736 48.8378 2.3736C48.4684 2.3736 48.2011 2.46006 48.044 2.63296C47.8868 2.80587 47.8082 3.09666 47.8082 3.50535V4.10266H49.6866V5.92603H47.8082V14.0212H45.081V5.92603H43.4541V5.91817Z" fill="currentColor"/>
5722      <path d="M51.5254 2.56223V0.314453H54.2447V2.56223H51.5254ZM54.2526 4.0948V14.0055H51.5254V4.0948H54.2526Z" fill="currentColor"/>
5723      <path d="M58.5446 11.6319C58.9533 12.0249 59.5427 12.2292 60.3051 12.2292C60.8553 12.2292 61.3268 12.0956 61.7276 11.8206C62.1206 11.5455 62.3643 11.2547 62.4586 10.9482H64.8557C64.4706 12.1349 63.8811 12.9916 63.0952 13.5025C62.3014 14.0133 61.3425 14.2727 60.2187 14.2727C59.4406 14.2727 58.7332 14.1469 58.1123 13.8954C57.4836 13.6439 56.957 13.2903 56.5169 12.8344C56.0846 12.3786 55.7467 11.8284 55.5109 11.1839C55.2751 10.5473 55.1572 9.84 55.1572 9.07764C55.1572 8.33886 55.283 7.64724 55.5188 7.01063C55.7624 6.35044 56.1082 5.80029 56.5562 5.33659C57.0042 4.87288 57.5386 4.50349 58.1595 4.23628C58.7804 3.96906 59.4642 3.83545 60.2187 3.83545C61.0596 3.83545 61.7984 4.000
57235 62.4271 4.32273C63.0559 4.65282 63.5667 5.08509 63.9676 5.63524C64.3684 6.1854 64.6592 6.81414 64.84 7.51363C65.0207 8.21311 65.0836 8.95189 65.0364 9.72211H57.8844C57.9159 10.5945 58.1359 11.239 58.5446 11.6319ZM61.6255 6.42118C61.3032 6.06751 60.8002 5.88674 60.1401 5.88674C59.7078 5.88674 59.3463 5.95748 59.0555 6.1068C58.7647 6.25613 58.5368 6.4369 58.3638 6.6491C58.1909 6.86916 58.073 7.09708 58.0023 7.34072C57.9316 7.58436 57.8923 7.79656 57.8766 7.99305H62.3014C62.1756 7.30143 61.9477 6.77485 61.6255 6.42118Z" fill="currentColor"/>
5724      <path d="M73.2964 12.7479C72.9742 13.2823 72.5576 13.6753 72.0389 13.9111C71.5202 14.1469 70.9386 14.2648 70.2863 14.2648C69.5475 14.2648 68.8952 14.1233 68.3293 13.8325C67.7634 13.5417 67.2997 13.1566 66.9382 12.6615C66.5767 12.1663 66.3016 11.6004 66.113 10.9638C65.9243 10.3272 65.8379 9.65918 65.8379 8.96756C65.8379 8.29951 65.9322 7.6629 66.113 7.04201C66.2937 6.42112 66.5767 5.87883 66.9382 5.39941C67.2997 4.92785 67.7634 4.54274 68.3057 4.2598C68.8559 3.96901 69.4925 3.82754 70.2234 3.82754C70.8129 3.82754 71.3709 3.95329 71.8975 4.20479C72.4319 4.45629 72.8484 4.81782 73.155 5.3051H73.1942V0.322266H75.9136V14.0133H73.3279V12.7479H73.2964ZM73.1785 7.84367C73.0999 7.46642 72.9742 7.13633 72.7856 6.84553C72.5969 6.55473 72.3612 6.32681 72.0625 6.14605C71.7717 5.96528 71.3945 5.87883 70.9543 5.87883C70.5142 5.87883 70.1291 5.96528 69.8226 6.14605C69.5161 6.32681 69.2724 6.56259 69.0838 6.85339C68.903 7.14419 68.7694 7.48214 68.683 7.85939C68.5965 8.23664 68.5572 8.6296 68.5572 9.03829C68.5572 9.4234 68.6044 9.80851 68.6908 10.1858C68.7773 10.5709 68.9266 10.9088 69.1231 11.2153C69.3196 11.514 69.5711 11.7576 69.8697 11.9463C70.1684 12.1349 70.5299 12.2213 70.9543 12.2213C71.4023 12.2213 71.7717 12.1349 72.0782 11.9541C72.3769 11.7733 72.6205 11.5376 72.8013 11.231C72.982 10.9324 73.1078 10.5866 73.1864 10.2093C73.265 9.82423 73.3043 9.43126 73.3043 9.02257C73.2964 8.61388 73.2571 8.22092 73.1785 7.84367Z" fill="currentColor"/>
5725      <path d="M6.8455 119.266C6.71189 118.307 5.79234 117.576 4.73919 117.576C2.83723 117.576 2.12202 119.195 2.12202 120.885C2.12202 122.488 2.83723 124.107 4.73919 124.107C6.03598 124.107 6.7669 123.219 6.92409 121.946H8.98324C8.76318 124.351 7.10486 125.891 4.73919 125.891C1.75264 125.891 0 123.659 0 120.885C0 118.024 1.75264 115.792 4.73919 115.792C6.86122 115.792 8.63743 117.034 8.89679 119.266H6.8455Z" fill="currentColor"/>
5726      <path d="M13.4082 118.496C15.6088 118.496 17.0235 119.95 17.0235 122.182C17.0235 124.398 15.6088 125.852 13.4082 125.852C11.2233 125.852 9.80078 124.39 9.80078 122.182C9.80078 119.957 11.2233 118.496 13.4082 118.496ZM13.4082 124.414C14.7207 124.414 15.1058 123.29 15.1058 122.19C15.1058 121.066 14.7129 119.95 13.4082 119.95C12.1114 119.95 11.7185 121.073 11.7185 122.19C11.7185 123.29 12.1114 124.414 13.4082 124.414Z" fill="currentColor"/>
5727      <path d="M18.21 118.676H20.0333V119.973H20.0648C20.4106 119.092 21.3616 118.487 22.2968 118.487C22.4304 118.487 22.5955 118.511 22.7134 118.55V120.334C22.5326 120.295 22.2497 120.271 22.0217 120.271C20.6149 120.271 20.1276 121.285 20.1276 122.511V125.655H18.21V118.676Z" fill="currentColor"/>
5728      <path d="M23.46 118.684H25.2834V119.572H25.307C25.7628 118.834 26.5173 118.496 27.3818 118.496C29.5746 118.496 30.557 120.264 30.557 122.245C30.557 124.107 29.5353 125.852 27.4919 125.852C26.6588 125.852 25.8571 125.49 25.4013 124.799H25.3698V128.123H23.4521V118.684H23.46ZM28.6393 122.197C28.6393 121.089 28.1913 119.942 26.9653 119.942C25.7078 119.942 25.307 121.066 25.307 122.197C25.307 123.329 25.7392 124.414 26.981 124.414C28.2385 124.414 28.6393 123.329 28.6393 122.197Z" fill="currentColor"/>
5729      <path d="M34.7617 118.496C36.9623 118.496 38.3849 119.95 38.3849 122.182C38.3849 124.398 36.9623 125.852 34.7617 125.852C32.5768 125.852 31.1621 124.39 31.1621 122.182C31.1621 119.957 32.5768 118.496 34.7617 118.496ZM34.7617 124.414C36.0742 124.414 36.4672 123.29 36.4672 122.19C36.4672 121.066 36.0742 119.95 34.7617 119.95C33.4649 119.95 33.0719 121.073 33.0719 122.19C33.0798 123.29 33.4728 124.414 34.7617 124.414Z" fill="currentColor"/>
5730      <path d="M39.5713 118.676H41.3947V119.973H41.4261C41.772 119.092 42.7229 118.487 43.6503 118.487C43.784 118.487 43.949 118.511 44.0669 118.55V120.334C43.894 120.295 43.611 120.271 43.3753 12
57300.271C41.9684 120.271 41.4812 121.285 41.4812 122.511V125.655H39.5635V118.676H39.5713Z" fill="currentColor"/>
5731      <path d="M44.6331 120.83C44.7431 119.03 46.3464 118.496 47.9183 118.496C49.3094 118.496 50.9835 118.802 50.9835 120.476V124.107C50.9835 124.744 51.0463 125.373 51.2271 125.663H49.278C49.2151 125.443 49.1522 125.215 49.1444 124.987C48.5392 125.624 47.6511 125.852 46.7944 125.852C45.4741 125.852 44.4209 125.192 44.4209 123.761C44.4209 122.182 45.6077 121.804 46.7944 121.639C47.9733 121.466 49.0658 121.506 49.0658 120.72C49.0658 119.895 48.492 119.777 47.824 119.777C47.0931 119.777 46.6215 120.075 46.5508 120.83H44.6331ZM49.0579 122.252C48.7278 122.535 48.0598 122.551 47.4625 122.661C46.8652 122.779 46.3307 122.983 46.3307 123.691C46.3307 124.406 46.8809 124.579 47.5096 124.579C49.0029 124.579 49.0658 123.392 49.0658 122.975V122.252H49.0579Z" fill="currentColor"/>
5732      <path d="M54.8504 118.684H56.2572V119.965H54.8504V123.423C54.8504 124.075 55.0154 124.233 55.6599 124.233C55.8643 124.233 56.0529 124.217 56.2572 124.177V125.679C55.935 125.734 55.5106 125.749 55.1333 125.749C53.9623 125.749 52.9327 125.474 52.9327 124.091V119.973H51.7695V118.692H52.9327V116.601H54.8504V118.684Z" fill="currentColor"/>
5733      <path d="M59.6208 117.608H57.7031V116.028H59.6208V117.608ZM57.7031 118.684H59.6208V125.663H57.7031V118.684Z" fill="currentColor"/>
5734      <path d="M64.5097 118.496C66.7104 118.496 68.1329 119.95 68.1329 122.182C68.1329 124.398 66.7104 125.852 64.5097 125.852C62.3248 125.852 60.9102 124.39 60.9102 122.182C60.9102 119.957 62.3248 118.496 64.5097 118.496ZM64.5097 124.414C65.8223 124.414 66.2152 123.29 66.2152 122.19C66.2152 121.066 65.8223 119.95 64.5097 119.95C63.2129 119.95 62.82 121.073 62.82 122.19C62.82 123.29 63.2129 124.414 64.5097 124.414Z" fill="currentColor"/>
5735      <path d="M69.3672 118.684H71.1906V119.659H71.2299C71.7171 118.873 72.5502 118.496 73.3676 118.496C75.4032 118.496 75.9219 119.643 75.9219 121.372V125.663H74.0042V121.718C74.0042 120.57 73.6663 120.005 72.7781 120.005C71.7329 120.005 71.2927 120.586 71.2927 122.009V125.671H69.375V118.684H69.3672Z" fill="currentColor"/>
5736    </svg></div>
5737</div>
5738
5739          <div class="footer-newsletter-wrap"><div class="footer-newsletter">
5740  <div class="footer-newsletter__intro"><p class="footer-newsletter__heading">JOIN THE NÄAK+ COMMUNITY</p><div class="footer-newsletter__body"><div class="footer-newsletter__text rte"><p>Save 15% on every subscription order, unlock members-only benefits, access exclusive events, and more.</p></div></div>
5741  </div><form method="post" action="/contact#contact_form" id="contact_form" accept-charset="UTF-8" class="footer-newsletter__form"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="✓" /><input type="hidden" name="contact[tags]" value="newsletter">
5742      <div class="footer-newsletter__fields">
5743        <div class="footer-newsletter__field">
5744          <input
5745            type="email"
5746            name="contact[email]"
5747            id="FooterNewsletter-sections--27256355258672__footer"
5748            placeholder="Your email"
5749            class="footer-newsletter__input"
5750            aria-label="Your email"
5751            required
5752            autocomplete="email"
5753          >
5754          <button type="submit" class="footer-newsletter__submit" aria-label="Subscribe to newsletter"><svg
5755      class="footer-newsletter__submit-icon"
5756      width="16"
5757      height="16"
5758      viewBox="0 0 16 16"
5759      fill="none"
5760      xmlns="http://www.w3.org/2000/svg"
5761    >
5762      <path d="M8.67598 3.19976L13.476 7.99976L8.67598 12.7998" stroke="currentColor" stroke-width="1.5"/>
5763      <line x1="13.5" y1="8.04712" x2="1.5" y2="8.04712" stroke="currentColor" stroke-width="1.5"/>
5764    </svg></button>
5765        </div>
5766
5767        <label class="footer-newsletter__consent">
5768          <input
5769            class="footer-newsletter__checkbox"
5770            type="checkbox"
5771            name="contact[accepts_marketing]"
5772            value="true"
5773            required
5774          >
5775          <span class="footer-newsletter__consent-text">I accept the <a href="/policies/privacy-policy" class="footer-newsletter__consent-link">Privacy Policy</a>.</span>
5776        </label>
5777      </div></form></div>
5778</div>
5779        </div>
5780      </div>
5781
5782      <nav class="footer-panel footer-panel--menus" aria-label="Footer navigation"><div class="footer-menus footer-menus--desktop"><div class="footer-menu__column" >
5783            <p class="footer-menu__title">SHOP</p>
5784            <ul class="footer-menu__list" role="list"><li>
5785                  <a
5786                    href="/collections/ultra-energy"
5787                    class="footer-menu__link"
5788                    
5789                  >ULTRA™</a>
5790                </li><li>
5791                  <a
5792                    href="/collections/boost-energy"
5793                    class="footer-menu__link"
5794                    
5795                  >BOOST™</a>
5796                </li><li>
5797                  <a
5798                    href="/collections/ultra-recovery-protein-powders"
5799                    class="footer-menu__link"
5800                    
5801                  >RECOVERY™</a>
5802                </li><li>
5803                  <a
5804                    href="/collections/packs"
5805                    class="footer-menu__link"
5806                    
5807                  >Packs</a>
5808                </li><li>
5809                  <a
5810                    href="/collections/accessories"
5811                    class="footer-menu__link"
5812                    
5813                  >Accessories</a>
5814                </li><li>
5815                  <a
5816                    href="/collections/no-waste-deals"
5817                    class="footer-menu__link"
5818                    
5819                  >No-waste deals</a>
5820                </li></ul>
5821          </div><div class="footer-menu__column" >
5822            <p class="footer-menu__title">HELP</p>
5823            <ul class="footer-menu__list" role="list"><li>
5824                  <a
5825                    href="/pages/faq"
5826                    class="footer-menu__link"
5827                    
5828                  >Frequently Asked Questions (FAQ)</a>
5829                </li><li>
5830                  <a
5831                    href="https://shopify.com/12429414/account/orders?locale=en&region_country=US&buyer_flags=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJuYWFrYmFyLm15c2hvcGlmeS5jb20iLCJmbGFncyI6W10sImV4cCI6MTc5MTY3OTcwMSwibmJmIjoxNzkxMDc0OTAxfQ.SHWPjZDj8
5831LUGcVo3jaKUbM7_T6GacYSFGtg1hXXO7pc"
5832                    class="footer-menu__link"
5833                    
5834                  >Track my order</a>
5835                </li><li>
5836                  <a
5837                    href="https://shopify.com/12429414/account/profile?locale=en&region_country=US&buyer_flags=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJuYWFrYmFyLm15c2hvcGlmeS5jb20iLCJmbGFncyI6W10sImV4cCI6MTc5MTY3OTcwMSwibmJmIjoxNzkxMDc0OTAxfQ.SHWPjZDj8LUGcVo3jaKUbM7_T6GacYSFGtg1hXXO7pc"
5838                    class="footer-menu__link"
5839                    
5840                  >My account</a>
5841                </li><li>
5842                  <a
5843                    href="/pages/contact-us"
5844                    class="footer-menu__link"
5845                    
5846                  >Contact us</a>
5847                </li></ul>
5848          </div><div class="footer-menu__column" >
5849            <p class="footer-menu__title">Services</p>
5850            <ul class="footer-menu__list" role="list"><li>
5851                  <a
5852                    href="/pages/store-locator"
5853                    class="footer-menu__link"
5854                    
5855                  >Find a store</a>
5856                </li><li>
5857                  <a
5858                    href="/pages/membership-program"
5859                    class="footer-menu__link"
5860                    
5861                  >NÄAK+ membership program</a>
5862                </li><li>
5863                  <a
5864                    href="https://www.b2b-canada.naak.com/new-retailer"
5865                    class="footer-menu__link"
5866                    
5867                  >Become a distributor</a>
5868                </li><li>
5869                  <a
5870                    href="https://naak.typeform.com/to/fgFR7Yap"
5871                    class="footer-menu__link"
5872                    
5873                  >Become an ambassador</a>
5874                </li><li>
5875                  <a
5876                    href="https://form.typeform.com/to/OnVabA5w?typeform-source=naak.typeform.com"
5877                    class="footer-menu__link"
5878                    
5879                  >Events request</a>
5880                </li><li>
5881                  <a
5882                    href="/pages/jobs"
5883                    class="footer-menu__link"
5884                    
5885                  >Careers</a>
5886                </li></ul>
5887          </div><div class="footer-menu__column" >
5888            <p class="footer-menu__title">NÄAK</p>
5889            <ul class="footer-menu__list" role="list"><li>
5890                  <a
5891                    href="/pages/utmb-world-series"
5892                    class="footer-menu__link"
5893                    
5894                  >UTMB® World Series x näak</a>
5895                </li><li>
5896                  <a
5897                    href="/pages/our-story"
5898                    class="footer-menu__link"
5899                    
5900                  >Our Story</a>
5901                </li><li>
5902                  <a
5903                    href="/blog/articles"
5904                    class="footer-menu__link"
5905                    
5906                  >Blog</a>
5907                </li></ul>
5908          </div></div><div class="footer-menus footer-menus--mobile"><details class="footer-accordion" >
5909            <summary class="footer-accordion__summary">
5910              <span class="footer-accordion__title">SHOP</span>
5911              <span class="footer-accordion__chevron" aria-hidden="true"></span>
5912            </summary>
5913            <ul class="footer-accordion__links" role="list"><li>
5914                  <a
5915                    href="/collections/ultra-energy"
5916                    class="footer-menu__link"
5917                    
5918                  >ULTRA™</a>
5919                </li><li>
5920                  <a
5921                    href="/collections/boost-energy"
5922                    class="footer-menu__link"
5923                    
5924                  >BOOST™</a>
5925                </li><li>
5926                  <a
5927                    href="/collections/ultra-recovery-protein-powders"
5928                    class="footer-menu__link"
5929                    
5930                  >RECOVERY™</a>
5931                </li><li>
5932                  <a
5933                    href="/collections/packs"
5934                    class="footer-menu__link"
5935                    
5936                  >Packs</a>
5937                </li><li>
5938                  <a
5939                    href="/collections/accessories"
5940                    class="footer-menu__link"
5941                    
5942                  >Accessories</a>
5943                </li><li>
5944                  <a
5945                    href="/collections/no-waste-deals"
5946                    class="footer-menu__link"
5947                    
5948                  >No-waste deals</a>
5949                </li></ul>
5950          </details>
5950<details class="footer-accordion" >
5951            <summary class="footer-accordion__summary">
5952              <span class="footer-accordion__title">HELP</span>
5953              <span class="footer-accordion__chevron" aria-hidden="true"></span>
5954            </summary>
5955            <ul class="footer-accordion__links" role="list"><li>
5956                  <a
5957                    href="/pages/faq"
5958                    class="footer-menu__link"
5959                    
5960                  >Frequently Asked Questions (FAQ)</a>
5961                </li><li>
5962                  <a
5963                    href="https://shopify.com/12429414/account/orders?locale=en&region_country=US&buyer_flags=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJuYWFrYmFyLm15c2hvcGlmeS5jb20iLCJmbGFncyI6W10sImV4cCI6MTc5MTY3OTcwMSwibmJmIjoxNzkxMDc0OTAxfQ.SHWPjZDj8LUGcVo3jaKUbM7_T6GacYSFGtg1hXXO7pc"
5964                    class="footer-menu__link"
5965                    
5966                  >Track my order</a>
5967                </li><li>
5968                  <a
5969                    href="https://shopify.com/12429414/account/profile?locale=en&region_country=US&buyer_flags=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJuYWFrYmFyLm15c2hvcGlmeS5jb20iLCJmbGFncyI6W10sImV4cCI6MTc5MTY3OTcwMSwibmJmIjoxNzkxMDc0OTAxfQ.SHWPjZDj8LUGcVo3jaKUbM7_T6GacYSFGtg1hXXO7pc"
5970                    class="footer-menu__link"
5971                    
5972                  >My account</a>
5973                </li><li>
5974                  <a
5975                    href="/pages/contact-us"
5976                    class="footer-menu__link"
5977                    
5978                  >Contact us</a>
5979                </li></ul>
5980          </details><details class="footer-accordion" >
5981            <summary class="footer-accordion__summary">
5982              <span class="footer-accordion__title">Services</span>
5983              <span class="footer-accordion__chevron" aria-hidden="true"></span>
5984            </summary>
5985            <ul class="footer-accordion__links" role="list"><li>
5986                  <a
5987                    href="/pages/store-locator"
5988                    class="footer-menu__link"
5989                    
5990                  >Find a store</a>
5991                </li><li>
5992                  <a
5993                    href="/pages/membership-program"
5994                    class="footer-menu__link"
5995                    
5996                  >NÄAK+ membership program</a>
5997                </li><li>
5998                  <a
5999                    href="https://www.b2b-canada.naak.com/new-retailer"
6000                    class="footer-menu__link"
6001                    
6002                  >Become a distributor</a>
6003                </li><li>
6004                  <a
6005                    href="https://naak.typeform.com/to/fgFR7Yap"
6006                    class="footer-menu__link"
6007                    
6008                  >Become an ambassador</a>
6009                </li><li>
6010                  <a
6011                    href="https://form.typeform.com/to/OnVabA5w?typeform-source=naak.typeform.com"
6012                    class="footer-menu__link"
6013                    
6014                  >Events request</a>
6015                </li><li>
6016                  <a
6017                    href="/pages/jobs"
6018                    class="footer-menu__link"
6019                    
6020                  >Careers</a>
6021                </li></ul>
6022          </details><details class="footer-accordion" >
6023            <summary class="footer-accordion__summary">
6024              <span class="footer-accordion__title">NÄAK</span>
6025              <span class="footer-accordion__chevron" aria-hidden="true"></span>
6026            </summary>
6027            <ul class="footer-accordion__links" role="list"><li>
6028                  <a
6029                    href="/pages/utmb-world-series"
6030                    class="footer-menu__link"
6031                    
6032                  >UTMB® World Series x näak</a>
6033                </li><li>
6034                  <a
6035                    href="/pages/our-story"
6036                    class="footer-menu__link"
6037                    
6038                  >Our Story</a>
6039                </li><li>
6040                  <a
6041                    href="/blog/articles"
6042                    class="footer-menu__link"
6043                    
6044                  >Blog</a>
6045                </li></ul>
6046          </details></div></nav>
6047    </div>
6048  </div><div class="footer-legal">
6049  <nav class="footer-legal__policies" aria-label="Legal links"><a href="/policies/terms-of-service" class="footer-legal__link">Terms of service</a><a href="/policies/privacy-policy" class="footer-legal__link">Privacy policy</a></nav>
6050
6051  <div class="footer-legal__meta">
6052    <p class="footer-legal__copyright">
6053      &copy; 2026
6054      Näak NA by <a href="https://tonyricher.fr" target="_blank" rel="noreferrer" >Tony.</a>
6055    </p>
6056    <div class="footer-legal__meta-end">
6057      <a href="/pages/store-locator" class="header__badge md:hidden">
6058        Find a store
6059      </a>
6060      
6061
6062<button
6063  type="button"
6064  class="footer-legal__locale "
6065  aria-label="Choose a region"
6066  aria-haspopup="dialog"
6067  @click="openLocale()"
6068>
6069  <span class="">
6070    <span>EN</span>
6071    <span
6072      class="text-[#818181]"
6073      aria-hidden="true"
6074    >/</span>
6075    <span>$</span>
6076  </span>
6077</button>
6078
6079    </div>
6080  </div>
6081</div>
6082</footer>
6083
6084
6085</div>
6086<!-- END sections: footer-group -->
6087
6088    
6089
6090<script type="application/json" id="StoreNetworkConfig">
6091  {
6092    "currentShop": "naakbar.myshopify.com",
6093    "currentCountry": "US",
6094    "currentLanguage": "en",
6095    "currentCurrency": {
6096      "iso": "USD",
6097      "symbol": "$"
6098    },
6099    "returnTo": "\/products\/boost-drink-mix-60-salted-cucumber-bag",
6100    "storeNetworkUrl": "\/\/www.naak.com\/cdn\/shop\/t\/335\/assets\/store-network.json?v=120238248950443774701786436431",
6101    "availableCountries": [{
6102          "code": "CA",
6103          "name": "Canada",
6104          "currency": {
6105            "iso": "CAD",
6106            "symbol": "$"
6107          }
6108        },{
6109          "code": "HK",
6110          "name": "Hong Kong SAR",
6111          "currency": {
6112            "iso": "HKD",
6113            "symbol": "$"
6114          }
6115        },{
6116          "code": "ID",
6117          "name": "Indonesia",
6118          "currency": {
6119            "iso": "IDR",
6120            "symbol": "Rp"
6121          }
6122        },{
6123          "code": "JP",
6124          "name": "Japan",
6125          "currency": {
6126            "iso": "JPY",
6127            "symbol": "Â¥"
6128          }
6129        },{
6130          "code": "NZ",
6131          "name": "New Zealand",
6132          "currency": {
6133            "iso": "NZD",
6134            "symbol": "$"
6135          }
6136        },{
6137          "code": "RU",
6138          "name": "Russia",
6139          "currency": {
6140            "iso": "CAD",
6141            "symbol": "$"
6142          }
6143        },{
6144          "code": "SG",
6145          "name": "Singapore",
6146          "currency": {
6147            "iso": "SGD",
6148            "symbol": "$"
6149          }
6150        },{
6151          "code": "KR",
6152          "name": "South Korea",
6153          "currency": {
6154            "iso": "KRW",
6155            "symbol": "₩"
6156          }
6157        },{
6158          "code": "TH",
6159          "name": "Thailand",
6160          "currency": {
6161            "iso": "THB",
6162            "symbol": "฿"
6163          }
6164        },{
6165          "code": "US",
6166          "name": "United States",
6167          "currency": {
6168            "iso": "USD",
6169            "symbol": "$"
6170          }
6171        }],
6172    "availableLanguages": [{
6173          "code": "en",
6174          "name": "English",
6175          "rootUrl": "\/"
6176        },{
6177          "code": "fr",
6178          "name": "français",
6179          "rootUrl": "\/fr"
6180        }],
6181    "i18n": {
6182      "intro": "You are currently shopping from __COUNTRY__, and your order will be billed in __CURRENCY__.",
6183      "confirm": "Confirm choice",
6184      "chooseRegion": "Choose a region",
6185      "countryLabel": "Country",
6186      "languageLabel": "Language",
6187      "searchCountry": "Search a country",
6188      "noCountryResults": "No country found"
6189    }
6190  }
6191</script>
6191
6192
6193<div
6194  id="localization-drawer"
6195  class="localization-drawer js-localization-drawer fixed inset-0 z-50 overflow-hidden text-black"
6196  role="dialog"
6197  aria-modal="true"
6198  aria-labelledby="localization-drawer-title"
6199  data-localization-drawer
6200  x-show="isLocaleOpen()"
6201  :aria-hidden="isLocaleOpen() ? 'false' : 'true'"
6202  @keydown.escape.window="isLocaleOpen() && closeDrawers()"
6203  style="display: none;"
6204>
6205  <div
6206    class="localization-drawer__overlay absolute inset-0 z-0 bg-black/50 transition-opacity duration-200 ease-in-out"
6207    aria-hidden="true"
6208    x-show="isLocaleOpen()"
6209    x-transition:enter="ease-out duration-200"
6210    x-transition:enter-start="opacity-0"
6211    x-transition:enter-end="opacity-100"
6212    x-transition:leave="ease-in duration-200"
6213    x-transition:leave-start="opacity-100"
6214    x-transition:leave-end="opacity-0"
6215    @click="closeDrawers()"
6216  ></div>
6217
6218  <div class="localization-drawer__stage absolute inset-0 z-10 pointer-events-none">
6219    <div
6220      class="localization-drawer__panel pointer-events-auto ml-auto flex h-dvh max-h-dvh w-full flex-col overflow-hidden bg-white lg:max-w-[520px]"
6221      x-show="isLocaleOpen()"
6222      x-transition:enter="transform ease-out duration-200 sm:duration-350"
6223      x-transition:enter-start="max-lg:translate-y-full lg:translate-x-full"
6224      x-transition:enter-end="max-lg:translate-y-0 lg:translate-x-0"
6225      x-transition:leave="transform ease-in duration-200 sm:duration-350"
6226      x-transition:leave-start="max-lg:translate-y-0 lg:translate-x-0"
6227      x-transition:leave-end="max-lg:translate-y-full lg:translate-x-full"
6228    >
6229      <header class="localization-drawer__header">
6230        <p id="localization-drawer-title" class="localization-drawer__title">
6231          Choose a region
6232        </p>
6233        <button
6234          type="button"
6235          class="localization-drawer__close"
6236          aria-label="Close"
6237          @click="closeDrawers()"
6238        >
6239          <svg class="size-4" width="20" height="20" viewBox="0 0 20 20" fill="none" aria-hidden="true">
6240      <path d="M4 4l12 12M16 4 4 16" stroke="currentColor" stroke-width="1.5"/>
6241    </svg>
6242        </button>
6243      </header>
6244
6245      <div class="localization-drawer__body">
6246        <p class="localization-drawer__intro" data-localization-intro>You are currently shopping from United States, and your order will be billed in USD ($).
6247        </p>
6248
6249        <div class="localization-drawer__fields">
6250          <div class="localization-drawer__field" data-localization-field="country">
6251            <button
6252              type="button"
6253              class="localization-drawer__select"
6254              aria-expanded="false"
6255              aria-controls="LocalizationCountryList"
6256              data-localization-select="country"
6257            >
6258              <span class="localization-drawer__select-value" data-localization-select-label="country">
6259                United States
6260              </span>
6261              <svg class="localization-drawer__chevron size-2.5" width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true">
6262      <path d="M4 6l4 4 4-4" stroke="currentColor" stroke-width="1.5"/>
6263    </svg>
6264            </button>
6265            <div
6266              class="localization-drawer__dropdown"
6267              hidden
6268              data-localization-dropdown="country"
6269            >
6270              <div class="localization-drawer__search">
6271                <label class="sr-only" for="LocalizationCountrySearch">
6272                  Search a country
6273                </label>
6274                <div class="localization-drawer__search-field" data-localization-country-search-field>
6275                  <span class="localization-drawer__search-icon" aria-hidden="true">
6276                    <svg
6277      class="size-4"
6278      aria-hidden="true"
6279      width="20"
6280      height="20"
6281      viewBox="0 0 20 20"
6282      fill="none"
6283      xmlns="http://www.w3.org/2000/svg"
6284    >
6285      <path d="M8.75 15C12.2018 15 15 12.2018 15 8.75C15 5.29822 12.2018 2.5 8.75 2.5C5.29822 2.5 2.5 5.29822 2.5 8.75C2.5 12.2018 5.29822 15 8.75 15Z" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
6286      <path d="M13.1694 13.1694L17.4999 17.4999" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
6287    </svg>
6288                  </span>
6289                  <input
6290                    id="LocalizationCountrySearch"
6291                    type="search"
6292                    class="localization-drawer__search-input"
6293                    placeholder="Search a country"
6294                    autocomplete="off"
6295                    autocorrect="off"
6296                    autocapitalize="off"
6297                    spellcheck="false"
6298                    enterkeyhint="search"
6299                    role="combobox"
6300                    aria-autocomplete="list"
6301                    aria-controls="LocalizationCountryList"
6302                    aria-expanded="false"
6303                    data-localization-country-search
6304                  >
6305                </div>
6306              </div>
6307              <ul
6308                id="LocalizationCountryList"
6309                class="localization-drawer__list"
6310                role="listbox"
6311                data-localization-list="country"
6312              ></ul>
6313            </div>
6314          </div>
6315
6316          <div class="localization-drawer__field" data-localization-field="language">
6317            <button
6318              type="button"
6319              class="localization-drawer__select"
6320              aria-expanded="false"
6321              aria-controls="LocalizationLanguageList"
6322              data-localization-select="language"
6323            >
6324              <span class="localization-drawer__select-value" data-localization-select-label="language">
6325                English
6326              </span>
6327              <svg class="localization-drawer__chevron size-2.5" width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true">
6328      <path d="M4 6l4 4 4-4" stroke="currentColor" stroke-width="1.5"/>
6329    </svg>
6330            </button>
6331            <div
6332              class="localization-drawer__dropdown"
6333              hidden
6334              data-localization-dropdown="language"
6335            >
6336              <ul
6337                id="LocalizationLanguageList"
6338                class="localization-drawer__list"
6339                role="listbox"
6340                data-localization-list="language"
6341              ></ul>
6342            </div>
6343          </div>
6344
6345          <button
6346            type="button"
6347            class="localization-drawer__confirm"
6348            data-localization-confirm
6349          >
6350            Confirm choice
6351          </button>
6352        </div>
6353      </div>
6354
6355      <form method="post" action="/localization" id="LocalizationForm" accept-charset="UTF-8" class="localization-drawer__form sr-only" enctype="multipart/form-data"><input type="hidden" name="form_type" value="localization" /><input type="hidden" name="utf8" value="✓" /><input type="hidden" name="_method" value="put" /><input type="hidden" name="return_to" value="/products/boost-drink-mix-60-salted-cucumber-bag" />
6356        <input type="hidden" name="country_code" value="US" data-localization-input="country">
6357        <input type="hidden" name="language_code" value="en" data-localization-input="language">
6358        <input type="hidden" name="return_to" value="/products/boost-drink-mix-60-salted-cucumber-bag">
6359      </form>
6360    </div>
6361  </div>
6362</div>
6363
6364<script>
6365  (function () {
6366    var KLAVIYO_ONSITE_SRC = 'https://a.klaviyo.com/media/js/onsite/onsite.js';
6367    function decodeHtmlEntities(value) {
6368      if (!value) return '';
6369      var el = document.createElement('textarea');
6370      el.innerHTML = String(value);
6371      return el.value;
6372    }
6373
6374    var bisStrings = {
6375      headline: decodeHtmlEntities("Back in stock alert"),
6376      body: decodeHtmlEntities("Leave your email and we\u0026#39;ll notify you as soon as this product is available again."),
6377      emailLabel: decodeHtmlEntities("Email address"),
6378      submit: decodeHtmlEntities("Notify me"),
6379      success: decodeHtmlEntities("You\u0026#39;re on the list. We\u0026#39;ll email you when it\u0026#39;s back."),
6380      close: decodeHtmlEntities("Close"),
6381      error: decodeHtmlEntities("Something went wrong. Please try again.")
6382    };
6383    var bisButtonLabel = decodeHtmlEntities("Notify me when back in stock");
6384
6385    var bisConfig = {
6386      trigger: {
6387        product_page_text: bisButtonLabel,
6388        product_page_class: 'btn btn--secondary notify-me-bis w-full',
6389        product_page_text_align: 'center',
6390        product_page_margin: '0',
6391        collection_page_text: bisButtonLabel,
6392        collection_page_class: 'btn btn--secondary notify-me-bis product-card__bis-trigger w-full',
6393        collection_page_text_align: 'center',
6394        collection_page_margin: '0',
6395        alternate_anchor: 'klaviyo-bis-trigger',
6396        replace_anchor: true
6397      },
6398      modal: {
6399        headline: bisStrings.headline,
6400        body_content: bisStrings.body,
6401        email_field_label: bisStrings.emailLabel,
6402        button_label: bisStrings.submit,
6403        subscription_success_label: bisStrings.success,
6404        footer_content: '',
6405        additional_styles: "@font-face{font-family:'Gotham';src:url('\/\/www.naak.com\/cdn\/shop\/t\/335\/assets\/Gotham-Book.woff2?v=12903021498071736711785253586') format('woff2');font-weight:400;font-style:normal;font-display:swap;}@font-face{font-family:'Gotham';src:url('\/\/www.naak.com\/cdn\/shop\/t\/335\/assets\/Gotham-Medium.woff2?v=35539213883941330071785253585') format('woff2');font-weight:500;font-style:normal;font-display:swap;}@font-face{font-family:'Gotham';src:url('\/\/www.naak.com\/cdn\/shop\/t\/335\/assets\/Gotham-Bold.woff2?v=104252140039233375851785253585') format('woff2');font-weight:700;font-style:normal;font-display:swap;}#klaviyo-bis-modal,#klaviyo-bis-modal *{box-sizing:border-box;}body.fadein{background:rgba(0,0,0,0.55)!important;}#klaviyo-bis-modal{position:fixed!important;inset:0!important;display:flex!important;align-items:flex-start;justify-content:center;padding:10px;overflow-y:auto;font-family:'Gotham',sans-serif;color:#000000;background:transparent!important;}@media (min-width:768px){#klaviyo-bis-modal{align-items:center;}}#klaviyo-bis-modal #container{position:relative;max-width:480px;width:100%;margin:0;padding:32px 24px 24px;background:#fff;border-radius:0;box-shadow:none;border:0;flex-shrink:0;}#klaviyo-bis-modal .close,#klaviyo-bis-modal button.close.klaviyo-bis-close{position:absolute;top:8px;right:8px;z-index:2;display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:#a3a3a3;font-family:'Gotham',sans-serif;font-size:28px;font-weight:400;line-height:1;cursor:pointer;opacity:1;transition:color 150ms ease;}#klaviyo-bis-modal .close:hover,#klaviyo-bis-modal button.close.klaviyo-bis-close:hover{color:#000000;}#klaviyo-bis-modal h3.modal-title{margin:0 36px 12px 0;padding:0;border:0;font-family:'Gotham',sans-serif;font-weight:500;font-size:14px;line-height:1.3;letter-spacing:0.02em;text-transform:uppercase;color:#000000;}#klaviyo-bis-modal #container\u003ep{margin:0 0 20px;padding:0;font-family:'Gotham',sans-serif;font-weight:400;font-size:14px;line-height:1.5;color:#000000;}#klaviyo-bis-modal form.form-horizontal,#klaviyo-bis-modal .form-group,#klaviyo-bis-modal .col-sm-12,#klaviyo-bis-modal .control-group,#klaviyo-bis-modal .submit-container{float:none;width:100%;}#klaviyo-bis-modal .form-group,#klaviyo-bis-modal .col-sm-12{margin:0;padding:0;}#klaviyo-bis-modal .form-group+.form-group,#klaviyo-bis-modal .form-group+.control-group,#klaviyo-bis-modal .control-group.submit-container{margin:12px 0 0!important;padding:0!important;}#klaviyo-bis-modal #variant_select{margin:0 0 12px;}#klaviyo-bis-modal select#variants{display:block;width:100%;height:50px;min-height:50px;margin:0;padding:0 40px 0 16px;border:1px solid #000000;border-radius:0;background:#fff;color:#000000;font-family:'Gotham',sans-serif;font-size:14px;font-weight:400;line-height:1.3;appearance:none;-webkit-appearance:none;box-shadow:none;}#klaviyo-bis-modal input#email,.klaviyo-bis-modal input#email,#klaviyo-bis-modal .form-control:not(select){display:block;width:100%;height:50px;min-height:50px;margin:0;padding:0 16px;border:1px solid #000000;border-radius:0;background:#fff;background-image:none;color:#000000;font-family:'Gotham',sans-serif;font-size:14px;font-weight:400;line-height:1.3;appearance:none;-webkit-appearance:none;box-shadow:none;}#klaviyo-bis-modal input#email::placeholder{color:#a3a3a3;opacity:1;}#klaviyo-bis-modal select#variants:focus,#klaviyo-bis-modal input#email:focus{outline:2px solid #000000;outline-offset:2px;}#klaviyo-bis-modal button.btn,#klaviyo-bis-modal button.btn-success,#klaviyo-bis-modal button.btn-lg,#klaviyo-bis-modal .col-xs-12{display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;height:50px;margin:0;padding:0 52px;border:1px solid transparent;border-radius:0;background:#fff200;color:#000000;font-family:'Gotham',sans-serif;font-size:12px;font-weight:500;line-height:1.2;letter-spacing:0.02em;text-transform:uppercase;cursor:pointer;box-shadow:none;transition:opacity 150ms ease;}#klaviyo-bis-modal button.btn:hover,#klaviyo-bis-modal button.btn-success:hover{opacity:0.9;background:#fff200;color:#000000;}#klaviyo-bis-modal #error_message,#klaviyo-bis-modal .error_message,#klaviyo-bis-modal .alert-danger{margin:12px 0 0;padding:12px 16px;border:0;border-radius:0;background:#fcd6d7;color:#C72E2F;font-family:'Gotham',sans-serif;font-size:14px;font-weight:400;line-height:1.5;}#klaviyo-bis-modal #completed_message,#klaviyo-bis-modal .completed_message,#klaviyo-bis-modal .alert-success{margin:12px 0 0;padding:12px 16px;border:0;border-radius:0;background:#d3efcd;color:#1B9500;font-family:'Gotham',sans-serif;font-size:14px;font-weight:400;line-height:1.5;}#klaviyo-bis-modal .error_message,#klaviyo-bis-modal .completed_message{display:none;}#klaviyo-bis-modal.complete .completed_message,#klaviyo-bis-modal .complete .completed_message{display:block;}#klaviyo-bis-modal #completed_message a,#klaviyo-bis-modal .completed_message a.klaviyo-bis-close{display:inline-block;margin-top:8px;color:#000000;font-family:'Gotham',sans-serif;font-size:12px;font-weight:500;line-height:1.2;letter-spacing:0.02em;text-transform:uppercase;text-decoration:underline;text-underline-offset:2px;}#klaviyo-bis-modal #newsletter_subscription,#klaviyo-bis-modal .small-print{display:none!important;}",
6406        font_family: 'Gotham, sans-serif',
6407        headers_font_family: 'Gotham, sans-serif',
6408        drop_background_color: "#000000",
6409        background_color: '#ffffff',
6410        text_color: "#000000",
6411        button_text_color: "#000000",
6412        button_background_color: "#fff200",
6413        close_button_color: "#a3a3a3",
6414        error_background_color: '#fcd6d7',
6415        error_text_color: '#C72E2F',
6416        success_background_color: '#d3efcd',
6417        success_text_color: '#1B9500'
6418      }
6419    };
6420
6421    window.boilerplateKlaviyo = {
6422      account: "HU4W5n",
6423      strings: bisStrings
6424    };
6425
6426    function initKlaviyoBackInStock() {
6427      if (window.__klaviyoBisEnabled) return;
6428      if (!window.klaviyo || typeof window.klaviyo.enable !== 'function') {
6429        window.setTimeout(initKlaviyoBackInStock, 50);
6430        return;
6431      }
6432
6433      window.klaviyo = window.klaviyo || [];
6434      window.klaviyo.init({
6435        account: "HU4W5n",
6436        platform: 'shopify',
6437        collection_urls: ['/']
6438      });
6439      window.klaviyo.enable('backinstock', bisConfig);
6440      window.__klaviyoBisEnabled = true;
6441    }
6442
6443    var existingScript = document.querySelector('script[src*="klaviyo.com/media/js/onsite/onsite.js"]');
6444    if (existingScript) {
6445      if (existingScript.readyState === 'complete' || existingScript.readyState === 'loaded') {
6446        initKlaviyoBackInStock();
6447      } else {
6448        existingScript.addEventListener('load', initKlaviyoBackInStock);
6449      }
6450      initKlaviyoBackInStock();
6451    } else {
6452      var script = document.createElement('script');
6453      script.src = KLAVIYO_ONSITE_SRC;
6454      script.async = true;
6455      script.addEventListener('load', initKlaviyoBackInStock);
6456      document.head.appendChild(script);
6457    }
6458
6459    /* Modale cards (hors PDP) — API Client Klaviyo, même look que la PDP */
6460    function ensureCardBisModal() {
6461      var existing = document.getElementById('boilerplate-bis-modal');
6462      if (existing) return existing;
6463
6464      var strings = window.boilerplateKlaviyo.strings;
6465      var modal = document.createElement('div');
6466      modal.id = 'boilerplate-bis-modal';
6467      modal.className = 'boilerplate-bis-modal';
6468      modal.hidden = true;
6469      modal.setAttribute('role', 'dialog');
6470      modal.setAttribute('aria-modal', 'true');
6471      modal.innerHTML =
6472        '<div class="boilerplate-bis-modal__backdrop" data-boilerplate-bis-close></div>' +
6473        '<div class="boilerplate-bis-modal__panel" id="container">' +
6474          '<button type="button" class="boilerplate-bis-modal__close close klaviyo-bis-close" data-boilerplate-bis-close aria-label="' + strings.close + '">×</button>' +
6475          '<h3 class="modal-title boilerplate-bis-modal__title"></h3>' +
6476          '<p class="boilerplate-bis-modal__body"></p>' +
6477          '<form class="boilerplate-bis-modal__form form-horizontal" novalidate>' +
6478            '<input type="hidden" name="variant_id" data-boilerplate-bis-variant>' +
6479            '<div class="form-group">' +
6480              '<input type="email" name="email" id="boilerplate-bis-email" class="form-control input-lg" required autocomplete="email" placeholder="' + strings.emailLabel + '">' +
6481            '</div>' +
6482            '<div class="submit-container">' +
6483              '<button type="submit" class="btn btn-success btn-lg">' + strings.submit + '</button>' +
6484            '</div>' +
6485            '<p class="boilerplate-bis-modal__error alert-danger" data-boilerplate-bis-error hidden></p>' +
6486            '<p class="boilerplate-bis-modal__success alert-success" data-boilerplate-bis-success hidden></p>' +
6487          '</form>' +
6488        '</div>';
6489      document.body.appendChild(modal);
6490
6491      modal.addEventListener('click', function (event) {
6492        if (event.target.closest('[data-boilerplate-bis-close]')) {
6493          closeCardBisModal();
6494        }
6495      });
6496
6497      modal.querySelector('form').addEventListener('submit', function (event) {
6498        event.preventDefault();
6499        submitCardBis(modal);
6500      });
6501
6502      document.addEventListener('keydown', function (event) {
6503        if (event.key === 'Escape' && !modal.hidden) closeCardBisModal();
6504      });
6505
6506      return modal;
6507    }
6508
6509    function closeCardBisModal() {
6510      var modal = document.getElementById('boilerplate-bis-modal');
6511      if (!modal) return;
6512      modal.hidden = true;
6513      document.body.classList.remove('boilerplate-bis-modal-open');
6514    }
6515
6516    function openCardBisModal(options) {
6517      var modal = ensureCardBisModal();
6518      var strings = window.boilerplateKlaviyo.strings;
6519      var variantId = options && options.variantId;
6520      if (!variantId) return;
6521
6522      modal.querySelector('.boilerplate-bis-modal__title').textContent = strings.headline;
6523      modal.querySelector('.boilerplate-bis-modal__body').textContent = strings.body;
6524      modal.querySelector('[data-boilerplate-bis-variant]').value = 
6524String(variantId);
6525      modal.querySelector('#boilerplate-bis-email').value = '';
6526      modal.querySelector('[data-boilerplate-bis-error]').hidden = true;
6527      modal.querySelector('[data-boilerplate-bis-success]').hidden = true;
6528      modal.querySelector('form').hidden = false;
6529      modal.hidden = false;
6530      document.body.classList.add('boilerplate-bis-modal-open');
6531      window.setTimeout(function () {
6532        modal.querySelector('#boilerplate-bis-email')?.focus();
6533      }, 50);
6534    }
6535
6536    function submitCardBis(modal) {
6537      var strings = window.boilerplateKlaviyo.strings;
6538      var account = window.boilerplateKlaviyo.account;
6539      var email = modal.querySelector('#boilerplate-bis-email')?.value?.trim();
6540      var variantId = modal.querySelector('[data-boilerplate-bis-variant]')?.value;
6541      var errorEl = modal.querySelector('[data-boilerplate-bis-error]');
6542      var successEl = modal.querySelector('[data-boilerplate-bis-success]');
6543      var form = modal.querySelector('form');
6544      var submitBtn = form.querySelector('button[type="submit"]');
6545
6546      errorEl.hidden = true;
6547      successEl.hidden = true;
6548
6549      if (!email || !variantId || !account) {
6550        errorEl.textContent = strings.error;
6551        errorEl.hidden = false;
6552        return;
6553      }
6554
6555      submitBtn.disabled = true;
6556
6557      fetch('https://a.klaviyo.com/client/back-in-stock-subscriptions/?company_id=' + encodeURIComponent(account), {
6558        method: 'POST',
6559        headers: {
6560          'Content-Type': 'application/json',
6561          revision: '2024-10-15'
6562        },
6563        body: JSON.stringify({
6564          data: {
6565            type: 'back-in-stock-subscription',
6566            attributes: {
6567              channels: ['EMAIL'],
6568              profile: {
6569                data: {
6570                  type: 'profile',
6571                  attributes: { email: email }
6572                }
6573              }
6574            },
6575            relationships: {
6576              variant: {
6577                data: {
6578                  type: 'catalog-variant',
6579                  id: '$shopify:::$default:::' + variantId
6580                }
6581              }
6582            }
6583          }
6584        })
6585      })
6586        .then(function (response) {
6587          if (!response.ok && response.status !== 202) {
6588            throw new Error('bis_failed');
6589          }
6590          form.hidden = true;
6591          successEl.textContent = strings.success;
6592          successEl.hidden = false;
6593        })
6594        .catch(function () {
6595          errorEl.textContent = strings.error;
6596          errorEl.hidden = false;
6597        })
6598        .finally(function () {
6599          submitBtn.disabled = false;
6600        });
6601    }
6602
6603    window.boilerplateKlaviyo.openCardBis = openCardBisModal;
6604    window.boilerplateKlaviyo.closeCardBis = closeCardBisModal;
6605  })();
6606</script>
6606
6607
6608<style>
6609  .boilerplate-bis-modal[hidden] { display: none !important; }
6610  .boilerplate-bis-modal {
6611    position: fixed;
6612    inset: 0;
6613    z-index: 999999;
6614    display: flex;
6615    align-items: flex-start;
6616    justify-content: center;
6617    padding: 10px;
6618    overflow-y: auto;
6619  }
6620  @media (min-width: 768px) {
6621    .boilerplate-bis-modal { align-items: center; }
6622  }
6623  .boilerplate-bis-modal__backdrop {
6624    position: fixed;
6625    inset: 0;
6626    background: #000000;
6627    opacity: 0.55;
6628  }
6629  .boilerplate-bis-modal__panel {
6630    position: relative;
6631    z-index: 1;
6632    max-width: 480px;
6633    width: 100%;
6634    margin: 0;
6635    padding: 32px 24px 24px;
6636    background: #fff;
6637  }
6638  .boilerplate-bis-modal__close {
6639    position: absolute;
6640    top: 8px;
6641    right: 8px;
6642    z-index: 2;
6643    display: flex;
6644    align-items: center;
6645    justify-content: center;
6646    width: 32px;
6647    height: 32px;
6648    margin: 0;
6649    padding: 0;
6650    border: 0;
6651    background: transparent;
6652    color: #a3a3a3;
6653    font-family: Gotham, sans-serif;
6654    font-size: 28px;
6655    font-weight: 400;
6656    line-height: 1;
6657    cursor: pointer;
6658  }
6659  .boilerplate-bis-modal__title {
6660    margin: 0 36px 12px 0;
6661    font-family: Gotham, sans-serif;
6662    font-weight: 500;
6663    font-size: 14px;
6664    line-height: 1.3;
6665    letter-spacing: 0.02em;
6666    text-transform: uppercase;
6667    color: #000000;
6668  }
6669  .boilerplate-bis-modal__body {
6670    margin: 0 0 20px;
6671    font-family: Gotham, sans-serif;
6672    font-size: 14px;
6673    line-height: 1.5;
6674    color: #000000;
6675  }
6676  .boilerplate-bis-modal__form .form-control {
6677    display: block;
6678    width: 100%;
6679    height: 50px;
6680    min-height: 50px;
6681    margin: 0;
6682    padding: 0 16px;
6683    border: 1px solid #000000;
6684    border-radius: 0;
6685    background: #fff;
6686    color: #000000;
6687    font-family: Gotham, sans-serif;
6688    font-size: 14px;
6689  }
6690  .boilerplate-bis-modal__form .submit-container { margin-top: 12px; }
6691  .boilerplate-bis-modal__form .btn {
6692    display: flex;
6693    align-items: center;
6694    justify-content: center;
6695    width: 100%;
6696    min-height: 50px;
6697    height: 50px;
6698    margin: 0;
6699    padding: 0 52px;
6700    border: 0;
6701    border-radius: 0;
6702    background: #fff200;
6703    color: #000000;
6704    font-family: Gotham, sans-serif;
6705    font-size: 12px;
6706    font-weight: 500;
6707    line-height: 1.2;
6708    letter-spacing: 0.02em;
6709    text-transform: uppercase;
6710    cursor: pointer;
6711  }
6712  .boilerplate-bis-modal__error,
6713  .boilerplate-bis-modal__success {
6714    margin: 12px 0 0;
6715    padding: 12px 16px;
6716    font-family: Gotham, sans-serif;
6717    font-size: 14px;
6718    line-height: 1.5;
6719  }
6720  .boilerplate-bis-modal__error { background: #fcd6d7; color: #C72E2F; }
6721  .boilerplate-bis-modal__success { background: #d3efcd; color: #1B9500; }
6722  body.boilerplate-bis-modal-open { overflow: hidden; }
6723</style><div id="shopify-block-AVHA5RnJOL2hMREZ4M__9870218667133425710" class="shopify-block shopify-app-block">
6723<script type="text/javascript" defer="defer" src="https://cdn.shopify.com/extensions/45cb970e-18e7-44a9-825a-a249ce2fb185/naak-nutrition-calculator-43/assets/naak-race-quiz-global.js"></script>
6723
6724
6725<script type="application/json" data-naak-race-quiz-global-data>
6726{
6727  
6728  "backend_url": "https:\/\/naak-nutrition-calculator.molsoftapps.com",
6729  "shop": "naakbar.myshopify.com"
6730}
6731</script>
6731
6732
6733
6734</div>
6734<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
6734
6735</body>
6736</html>

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