1<!doctype html> 2<html class="no-js" lang="en" dir="ltr"> 3<head> 4 5 6 <meta charset="utf-8"> 7 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 8 <meta name="viewport" content="width=device-width,initial-scale=1"> 9 <meta name="theme-color" content="#111111"> 10 <link rel="preconnect" href="https://cdn.shopify.com" crossorigin> 11 <link rel="preconnect" href="https://fonts.shopifycdn.com" crossorigin> 12 <link rel="dns-prefetch" href="https://productreviews.shopifycdn.com"> 13 <link rel="dns-prefetch" href="https://ajax.googleapis.com"> 14 <link rel="dns-prefetch" href="https://maps.googleapis.com"> 15 <link rel="dns-prefetch" href="https://maps.gstatic.com"> 16 <!-- PROXIMA NOVA FONT --> 17 <link rel="stylesheet" href=https://use.typekit.net/nso3obv.css><link rel="shortcut icon" href="//nomochoc.com/cdn/shop/files/Nomo-No-more-missing-out-drop_32x32.png?v=1739362895" type="image/png" /><title>All Products | NOMO Plant Powered Chocolate | Vegan & Free From 18– NOMOCHOC 19</title> 20<meta name="description" content="NOMO Chocolate is all about everyone enjoying the joy of indulgenceâbecause no one should miss out! Weâve crafted the ultimate plant powered treat, made for those who love creamy, chocolatey goodness without compromises. Whether you need nut free chocolate, dairy free chocolate, or a delicious free from and vegan chocolate experience, NOMO has you covered."><meta property="og:site_name" content="NOMOCHOC"> 21 <meta property="og:url" content="https://nomochoc.com/collections/all-products"> 22 <meta property="og:title" content="All Products | NOMO Plant Powered Chocolate | Vegan & Free From"> 23 <meta property="og:type" content="website"> 24 <meta property="og:description" content="NOMO Chocolate is all about everyone enjoying the joy of indulgenceâbecause no one should miss out! Weâve crafted the ultimate plant powered treat, made for those who love creamy, chocolatey goodness without compromises. Whether you need nut free chocolate, dairy free chocolate, or a delicious free from and vegan chocolate experience, NOMO has you covered."><meta property="og:image" content="http://nomochoc.com/cdn/shop/collections/Open_Graphs_aa8b036b-1126-474d-b32d-018c06c0f3b3.png?v=1748014913"> 25 <meta property="og:image:secure_url" content="https://nomochoc.com/cdn/shop/collections/Open_Graphs_aa8b036b-1126-474d-b32d-018c06c0f3b3.png?v=1748014913"> 26 <meta property="og:image:width" content="2500"> 27 <meta property="og:image:height" content="1313"><meta name="twitter:site" content="@"> 28 <meta name="twitter:card" content="summary_large_image"> 29 <meta name="twitter:title" content="All Products | NOMO Plant Powered Chocolate | Vegan & Free From"> 30 <meta name="twitter:description" content="NOMO Chocolate is all about everyone enjoying the joy of indulgenceâbecause no one should miss out! Weâve crafted the ultimate plant powered treat, made for those who love creamy, chocolatey goodness without compromises. Whether you need nut free chocolate, dairy free chocolate, or a delicious free from and vegan chocolate experience, NOMO has you covered."> 31<style data-shopify>@font-face { 32 font-family: "Tenor Sans"; 33 font-weight: 400; 34 font-style: normal; 35 font-display: swap; 36 src: url("//nomochoc.com/cdn/fonts/tenor_sans/tenorsans_n4.966071a72c28462a9256039d3e3dc5b0cf314f65.woff2") format("woff2"), 37 url("//nomochoc.com/cdn/fonts/tenor_sans/tenorsans_n4.2282841d948f9649ba5c3cad6ea46df268141820.woff") format("woff"); 38} 39 40 @font-face { 41 font-family: Nunito; 42 font-weight: 400; 43 font-style: normal; 44 font-display: swap; 45 src: url("//nomochoc.com/cdn/fonts/nunito/nunito_n4.fc49103dc396b42cae9460289072d384b6c6eb63.woff2") format("woff2"), 46 url("//nomochoc.com/cdn/fonts/nunito/nunito_n4.5d26d13beeac3116db2479e64986cdeea4c8fbdd.woff") format("woff"); 47} 48 49 50 @font-face { 51 font-family: Nunito; 52 font-weight: 600; 53 font-style: normal; 54 font-display: swap; 55 src: url("//nomochoc.com/cdn/fonts/nunito/nunito_n6.1a6c50dce2e2b3b0d31e02dbd9146b5064bea503.woff2") format("woff2"), 56 url("//nomochoc.com/cdn/fonts/nunito/nunito_n6.6b124f3eac46044b98c99f2feb057208e260962f.woff") format("woff"); 57} 58 59 @font-face { 60 font-family: Nunito; 61 font-weight: 400; 62 font-style: italic; 63 font-display: swap; 64 src: url("//nomochoc.com/cdn/fonts/nunito/nunito_i4.fd53bf99043ab6c570187ed42d1b49192135de96.woff2") format("woff2"), 65 url("//nomochoc.com/cdn/fonts/nunito/nunito_i4.cb3876a003a73aaae5363bb3e3e99d45ec598cc6.woff") format("woff"); 66} 67 68 @font-face { 69 font-family: Nunito; 70 font-weight: 600; 71 font-style: italic; 72 font-display: swap; 73 src: url("//nomochoc.com/cdn/fonts/nunito/nunito_i6.79bb6a51553d3b72598bab76aca3c938e7c6ac54.woff2") format("woff2"), 74 url("//nomochoc.com/cdn/fonts/nunito/nunito_i6.9ad010b13940d2fa0d660e3029dd144c52772c10.woff") format("woff"); 75} 76 77</style><link href="//nomochoc.com/cdn/shop/t/131/assets/theme.css?v=159644680179294232161788271881" rel="stylesheet" type="text/css" media="all" /> 78 <link href="//nomochoc.com/cdn/shop/t/131/assets/custom.css?v=145969612925764871901788270736" rel="stylesheet" type="text/css" media="all" /> 79<style data-shopify>:root { 80 --typeHeaderPrimary: "Tenor Sans"; 81 --typeHeaderFallback: sans-serif; 82 --typeHeaderSize: 36px; 83 --typeHeaderWeight: 400; 84 --typeHeaderLineHeight: 1; 85 --typeHeaderSpacing: 0.0em; 86 87 --typeBasePrimary:Nunito; 88 --typeBaseFallback:sans-serif; 89 --typeBaseSize: 18px; 90 --typeBaseWeight: 400; 91 --typeBaseSpacing: 0.025em; 92 --typeBaseLineHeight: 1.4; 93 94 --typeCollectionTitle: 20px; 95 96 --iconWeight: 2px; 97 --iconLinecaps: miter; 98 99 100 --buttonRadius: 50px; 101 102 103 --colorGridOverlayOpacity: 0.1; 104 } 105 106 .placeholder-content { 107 background-image: linear-gradient(100deg, #ffffff 40%, #f7f7f7 63%, #ffffff 79%); 108 }</style><link href="//nomochoc.com/cdn/shop/t/131/assets/font-styles.css?v=125811597229333334091788270736" rel="stylesheet" type="text/css" media="all" /> 109
109<script> 110 document.documentElement.className = document.documentElement.className.replace('no-js', 'js'); 111 window.theme = window.theme || {}; 112 theme.routes = { 113 home: "/", 114 cart: "/cart.js", 115 cartPage: "/cart", 116 cartAdd: "/cart/add.js", 117 cartChange: "/cart/change.js", 118 search: "/search", 119 predictive_url: "/search/suggest" 120 }; 121 theme.strings = { 122 soldOut: "Sold Out", 123 unavailable: "Unavailable", 124 inStockLabel: "In stock, ready to ship", 125 oneStockLabel: "Low stock - [count] item left", 126 otherStockLabel: "Low stock - [count] items left", 127 willNotShipUntil: "Ready to ship [date]", 128 willBeInStockAfter: "Back in stock [date]", 129 waitingForStock: "Inventory on the way", 130 savePrice: "Save [saved_amount]", 131 cartEmpty: "Your cart is currently empty.", 132 cartTermsConfirmation: "You must agree with the terms and conditions of sales to check out", 133 searchCollections: "Collections:", 134 searchPages: "Pages:", 135 searchArticles: "Articles:", 136 productFrom: "from ", 137 maxQuantity: "You can only have [quantity] of [title] in your cart." 138 }; 139 theme.settings = { 140 cartType: "drawer", 141 isCustomerTemplate: false, 142 moneyFormat: "£{{amount}}", 143 saveType: "dollar", 144 productImageSize: "natural", 145 productImageCover: false, 146 predictiveSearch: true, 147 predictiveSearchType: "product,article,page,collection", 148 predictiveSearchVendor: false, 149 predictiveSearchPrice: false, 150 quickView: false, 151 themeName: 'Impulse', 152 themeVersion: "7.2.0" 153 }; 154 </script>
154 155
155<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
155<meta name="google-site-verification" content="BoHTOeY6BduGWSoFzn-w93_DjPeg5KkMaQIY8fgcmlk"> 156<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/36080451720/digital_wallets/dialog"> 157<meta id="in-context-paypal-metadata" data-shop-id="36080451720" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="GBP"> 158<link rel="ucp" href="/.well-known/ucp" version="2026-08-25"><link rel="alternate" type="application/atom+xml" title="Feed" href="/collections/all-products.atom" /> 159<link rel="next" href="/collections/all-products?page=2"> 160<link rel="alternate" type="application/json+oembed" href="https://nomochoc.com/collections/all-products.oembed">
161<script async="async" src="/checkouts/internal/preloads.js?locale=en-GB&default_configuration_id=13926536"></script>
161 162<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
163<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-GB&default_configuration_id=13926536&shop_id=36080451720" crossorigin="anonymous"></script>
vendor: 1 bytes, line 163
163
164<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":36080451720,"countryCode":"GB","currencyCode":"GBP","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/36080451720","merchantName":"NOMOCHOC","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","maestro","masterCard","amex","discover","elo"],"total":{"type":"pending","label":"NOMOCHOC","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 164
164
165<script id="shopify-features" type="application/json">{"accessToken":"40da98bdcc22d72775d72154d0d070e0","betas":["rich-media-storefront-analytics"],"domain":"nomochoc.com","predictiveSearch":true,"shopId":36080451720,"locale":"en"}</script>
vendor: 1 bytes, line 165
165
166<script>var Shopify = Shopify || {}; 167Shopify.shop = "kinnerton-test.myshopify.com"; 168Shopify.locale = "en"; 169Shopify.currency = {"active":"GBP","rate":"1.0"}; 170Shopify.country = "GB"; 171Shopify.theme = {"name":"\/main-BAU\/collection ATC (01\/09\/2026)","id":182240117115,"schema_name":"Impulse","schema_version":"7.2.0","theme_store_id":null,"role":"main"}; 172Shopify.theme.handle = "null"; 173Shopify.theme.style = {"id":null,"handle":null}; 174Shopify.cdnHost = "nomochoc.com/cdn"; 175Shopify.routes = Shopify.routes || {}; 176Shopify.routes.root = "/"; 177Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 178Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 179Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 180Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 180
180
181<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 181
181
182<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 182
182
183<script> 184 window.ShopifyPay = window.ShopifyPay || {}; 185 window.ShopifyPay.apiHost = "shop.app\/pay"; 186 window.ShopifyPay.redirectState = null; 187</script>
vendor: 1 bytes, line 187
187
188<script> 189 window.Shopify = window.Shopify || {}; 190 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 191 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 192 window.Shopify.SignInWithShop.eligible = true; 193</script>
vendor: 1 bytes, line 193
193
194<script id="shop-js-analytics" type="application/json">{"pageType":"collection"}</script>
vendor: 1 bytes, line 194
194
195<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 195
195
196<script type="module"> 197 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"); 198 199 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 200 201</script>
vendor: 1 bytes, line 201
201
202<script> 203 window.Shopify = window.Shopify || {}; 204 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 205 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"]}; 206</script>
vendor: 1 bytes, line 206
206
207<script>(function() { 208 var isLoaded = false; 209 function asyncLoad() { 210 if (isLoaded) return; 211 isLoaded = true; 212 var urls = ["https:\/\/dr4qe3ddw9y32.cloudfront.net\/awin-shopify-integration-code.js?aid=24011\u0026v=shopifyApp_5.1.6\u0026ts=1744704734241\u0026shop=kinnerton-test.myshopify.com","https:\/\/d23dclunsivw3h.cloudfront.net\/redirect-app.js?shop=kinnerton-test.myshopify.com","https:\/\/cdn-bundler.nice-team.net\/app\/js\/bundler.js?shop=kinnerton-test.myshopify.com","\/\/cdn.shopify.com\/proxy\/f4ffeed8a877685ffaf25aa8515cea0f21a664e8060c17058fbb0ecffabc5204\/static.cdn.printful.com\/static\/js\/external\/shopify-product-customizer.js?v=0.28\u0026shop=kinnerton-test.myshopify.com\u0026sp-cache-control=cHVibGljLCBtYXgtYWdlPTkwMA","https:\/\/static.klaviyo.com\/onsite\/js\/klaviyo.js?company_id=ScvKFn\u0026shop=kinnerton-test.myshopify.com","https:\/\/static.klaviyo.com\/onsite\/js\/klaviyo.js?company_id=ScvKFn\u0026shop=kinnerton-test.myshopify.com","https:\/\/cdn-app.sealsubscriptions.com\/shopify\/public\/js\/sealsubscriptions.js?shop=kinnerton-test.myshopify.com","https:\/\/sapp.multivariants.com\/gate\/out\/sys\/js\/init.js?v=2.11\u0026shop=kinnerton-test.myshopify.com"]; 213 for (var i = 0; i < urls.length; i++) { 214 var s = document.createElement('script'); 215 s.type = 'text/javascript'; 216 s.async = true; 217 s.src = urls[i]; 218 var x = document.getElementsByTagName('script')[0]; 219 x.parentNode.insertBefore(s, x); 220 } 221 }; 222 if(window.attachEvent) { 223 window.attachEvent('onload', asyncLoad); 224 } else { 225 window.addEventListener('load', asyncLoad, false); 226 } 227})();</script>
vendor: 1 bytes, line 227
227
228<script id="__st">var __st={"a":36080451720,"offset":3600,"reqid":"7d35a1a0-5e3d-4049-9b3f-59f8ffe71786-1790384516","pageurl":"nomochoc.com\/collections\/all-products","u":"66d101c63a78","p":"collection","rtyp":"collection","rid":189679861896};</script>
vendor: 1 bytes, line 228
228
229<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 229
229
230<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 230
230
231<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//nomochoc.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 231
231
232<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 = "//nomochoc.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>
232<script crossorigin="anonymous" defer="defer" src="//nomochoc.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 232
232
233<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 233
233
234<script> 235 window.Shopify = window.Shopify || {}; 236 window.Shopify.MCP = window.Shopify.MCP || {}; 237 window.Shopify.MCP.enabled = true; 238 window.Shopify.MCP.shop = "kinnerton-test.myshopify.com"; 239 window.Shopify.MCP.mcpEndpoint = "https:\/\/nomochoc.com\/api\/mcp"; 240 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"]}}]; 241</script>
vendor: 1 bytes, line 241
241
242<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("\/\/nomochoc.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})(); 243</script>
vendor: 1 bytes, line 243
243
244<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://nomochoc.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}}; 245</script>
vendor: 1 bytes, line 245
245
246<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 247 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); 248</script>
vendor: 1 bytes, line 248
248
249<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})}})); 250</script>
250 251<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://nomochoc.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> 252<style id="shopify-accelerated-checkout-cart"> 253 #shopify-buyer-consent { 254 margin-top: 1em; 255 display: inline-block; 256 width: 100%; 257} 258 259#shopify-buyer-consent.hidden { 260 display: none; 261} 262 263#shopify-subscription-policy-button { 264 background: none; 265 border: none; 266 padding: 0; 267 text-decoration: underline; 268 font-size: inherit; 269 cursor: pointer; 270} 271 272#shopify-subscription-policy-button::before { 273 box-shadow: none; 274} 275 276 </style> 277
278<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
278 279
279<script src="//nomochoc.com/cdn/shop/t/131/assets/vendor-scripts-v11.js" defer="defer"></script>
279<script src="//nomochoc.com/cdn/shop/t/131/assets/theme.js?v=50314919846428265191788270736" defer="defer"></script>
279 280 281 282 283 284 285 286 287 288 <meta name="google-site-verification" content="GBLJ5zjapBuuujtbeT4BIjzJ-btVWqh70aeT7nBCw4Y" /> 289 <!-- Google Tag Manager --> 290
290<script>
vendor: 341 bytes, lines 290-294
290(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 291 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 292 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 293 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 294 })(window,document,'script','dataLayer','
294GTM-MVGB3XM
vendor: 7 bytes, lines 294-296
294'); 295 296
296</script>
296 297 <!-- End Google Tag Manager --> 298
298<script defer src="//nomochoc.com/cdn/shop/t/131/assets/embla-slider-component.min.js?v=10064230144345965371788270736"></script>
298 299 <link href="//nomochoc.com/cdn/shop/t/131/assets/embla-slider-component.css?v=157949057073660225541788270736" rel="stylesheet" type="text/css" media="all" /> 300 <link href="//nomochoc.com/cdn/shop/t/131/assets/embla-slider-component-skin.css?v=157264997965394116551788270736" rel="stylesheet" type="text/css" media="all" /> 301 302 <!-- Hotjar Tracking Code for https://nomochoc.com/ --> 303
303<script>
vendor: 125 bytes, lines 303-306
303 304 (function(h,o,t,j,a,r){ 305 h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)}; 306 h._hjSettings={hjid:
3063028045
vendor: 260 bytes, lines 306-312
306,hjsv:6}; 307 a=o.getElementsByTagName('head')[0]; 308 r=o.createElement('script');r.async=1; 309 r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv; 310 a.appendChild(r); 311 })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv='); 312
312</script>
312 313 314 <!-- MS Clarity for https://nomochoc.com/ --> 315
315<script type="text/javascript"> 316 (function(c,l,a,r,i,t,y){ 317 c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; 318 t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i; 319 y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y); 320 })(window, document, "clarity", "script", "wy6kvsclhb"); 321 </script>
321 322 <!-- BEGIN app block: shopify://apps/pandectes-gdpr/blocks/banner/58c0baa2-6cc1-480c-9ea6-38d6d559556a --> 323 324 325 326
326<script> 327 if (!window.pandectesRulesSettings) { 328 window.pandectesRulesSettings = {"version":"5","timestamp":1784626996945,"store":{"id":36080451720,"plan":"premium","primaryLocale":"en","headless":false},"banner":{"enabled":true},"regions":{"strict":"*","visible":"*"},"storage":{"type":"http","domain":"","duration":365,"lastReset":1666361754},"gpc":{"enabled":false},"klaviyo":{"enabled":true},"customEvent":{"enabled":true},"rakuten":{"enabled":false,"cmp":false,"ccpa":false},"facebook":{"enabled":false,"id":""},"amazon":{},"microsoft":{"uet":{},"clarity":{}},"google":{"enabled":true,"gtmId":"","ga4Id":"","adsId":"","adStorageCategory":4,"analyticsStorageCategory":2,"functionalityStorageCategory":1,"personalizationStorageCategory":1,"securityStorageCategory":0,"redactData":true,"urlPassthrough":false,"dataLayerName":"dataLayer","waitForUpdate":0,"sendPageView":true,"basicMode":false},"blocker":{"enabled":true,"scripts":{"0":[],"1":["www.paypal.com","static.hotjar.com/c/hotjar"],"2":[],"4":["s.pinimg.com/ct/core.js|s.pinimg.com/ct/lib","googletagmanager.com/gtag/js\\?id=AW|googleadservices.com","connect.facebook.net"],"8":[]},"css":{"0":[],"1":[],"2":[],"4":[],"8":[]},"iframes":{"0":[],"1":["www.youtube.com|www.youtube-nocookie.com"],"2":[],"4":[],"8":[]},"pixels":{"0":[],"1":[],"2":[],"4":[],"8":[]}}}; 329 const rulesScript = document.createElement('script'); 330 331 rulesScript.src = "https://cdn.shopify.com/extensions/01a0d309-5aa0-76cf-9f48-2a42b2760403/gdpr-cookie-consent-411/assets/pandectes-rules-latest.js"; 332 333 const firstChild = document.head.firstChild; 334 document.head.insertBefore(rulesScript, firstChild); 335 } 336 </script>
336 337 338 339
339<script defer src='https://cdn.shopify.com/extensions/01a0d309-5aa0-76cf-9f48-2a42b2760403/gdpr-cookie-consent-411/assets/pandectes-core-latest.js'></script>
339 340 341
341<script> 342 (() => { 343 const isLivePreview = locateLivePreviewParam(); 344 let previewUrl = 'https://app.pandect.es/js/pandectes-live-site-preview.js'; 345 346 347 function locateLivePreviewParam(paramName = 'pandectesLivePreview') { 348 const fromUrl = new URLSearchParams(window.location.search).get(paramName); 349 if (fromUrl) { 350 try { 351 sessionStorage.setItem(paramName, fromUrl); 352 } catch { 353 // storage disabled 354 } 355 return fromUrl; 356 } 357 return sessionStorage.getItem(paramName); 358 } 359 360 /** Injects the preview helper script when live preview is active (URL or sessionStorage). */ 361 function appendLivePreviewScriptIfNeeded(previewModeScriptUrl) { 362 if (!isLivePreview) return; 363 if (document.head.querySelector('script[data-pandectes-live-preview]')) return; 364 const script = document.createElement('script'); 365 script.src = previewModeScriptUrl; 366 script.async = true; 367 script.setAttribute('data-pandectes-live-preview', ''); 368 document.head.appendChild(script); 369 } 370 371 window.pandectesBannerSettings = {"version":"5","timestamp":1784626996,"store":{"id":36080451720,"plan":"premium","primaryLocale":"en","headless":false,"useGeolocation":false},"impressions":{"enabled":true,"timezone":"Europe/London"},"visibility":{"delay":0,"enabled":true,"startHidden":[],"botsFriendly":false,"disableDesignMode":false,"adminMode":false},"regions":{"strict":"*","visible":"*"},"consent":{"redirectOnDeny":false,"reloadOnConsent":false,"broadcastChannel":false,"redirectOnDenyUrl":"https://www.pandectes.io","shopify":true},"theme":{"logos":{"custom":false,"customWidget":false,"banner":"//kinnerton-test.myshopify.com/cdn/shop/files/pandectes-banner-logo.png?v=1784626996","widget":"//kinnerton-test.myshopify.com/cdn/shop/files/pandectes-reopen-logo.png?v=1784626996"},"mode":"light","border":0,"variables":":host { --float: 16px; --font-size: 14px; --duration: 250ms; --padding: 20px; --radius-dialog:8px; --radius-button:8px; --border-button: 2px; --font-family: inherit; --font-weight-button: 400; --color-base-100: oklch(100% 0 0);--color-base-200: oklch(97% 0 0);--color-base-300: oklch(94% 0 0);--color-base-content: oklch(7.6% 0 0);--color-primary: oklch(7.6% 0 0);--color-primary-content: oklch(100% 0 0);--color-secondary: oklch(7.6% 0 0);--color-secondary-content: oklch(100% 0 0);--color-accent: oklch(7.6% 0 0);--color-accent-content: oklch(100% 0 0);--color-neutral: oklch(7.6% 0 0);--color-neutral-content: oklch(100% 0 0);; --color-base-100-hex: #ffffff;--color-base-200-hex: #f5f5f5;--color-base-300-hex: #ebebeb;--color-base-content-hex: #010101;--color-primary-hex: #010101;--color-primary-content-hex: #ffffff;--color-secondary-hex: #010101;--color-secondary-content-hex: #ffffff;--color-accent-hex: #010101;--color-accent-content-hex: #ffffff;--color-neutral-hex: #010101;--color-neutral-content-hex: #ffffff; }","shadows":true,"isModal":false,"scrollLock":true,"useAnimations":true,"buttons":{"size":"md","border":2,"radius":8,"variants":{"primary":"filled","secondary":"outlined"}},"zIndex":2147483647,"showPoweredBy":true},"close":{"triggers":[],"action":"dismiss","pixels":200,"timeout":5},"language":{"multilingual":false,"detection":"browser","fallback":"en","supported":["en"],"allowChange":false},"widget":{"enabled":false,"position":"bottom left","action":"reopen","customTrigger":false},"dialogs":{"notice":{"style":{"type":"box","layout":"vertical-grouped","position":"middle center","animation":"animation-zoom","size":300},"buttons":{"primary":["allow","deny"],"secondary":["preferences"]},"features":{"hideHeader":false,"alignCenter":false,"flipButtons":false,"expandableIntro":false,"inlineLinks":false}},"preferences":{"style":{"type":"box","layout":"horizontal-grouped","position":"middle center","animation":"animation-fade","size":500},"buttons":{"primary":["allow","deny"],"secondary":["custom"]},"features":{"flipButtons":false,"primarySave":false,"showCookies":false,"groupByVendor":false,"useCheckboxes":false,"expandableIntro":false,"showDescriptions":true,"inlineLinks":false}},"status":false},"links":{"links":[{"id":"policy","url":"https://nomochoc.com/pages/privacy-policy"},{"id":"google","url":"https://business.safety.google/privacy/"}],"target":"_blank","respectLocale":false},"storage":{"type":"http","domain":"","duration":365,"lastReset":1666361754},"texts":{"en":{"buttons":{"showLess":"Show less","showMore":"Show more"},"links":{"policy":"Learn more","google":"Google's Privacy Terms","imprint":"Imprint"},"categories":[{"title":"Strictly necessary cookies","description":"The
371se 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."},{"title":"Functional cookies","description":"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."},{"title":"Performance cookies","description":"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."},{"title":"Targeting cookies","description":"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."}],"notice":{"title":"We respect your privacy","message":"This website uses cookies to ensure you get the best experience. The collection, sharing, and use of personal data can be used for personalization of ads.","dismiss":"Ok","allow":"Accept","deny":"Decline","preferences":"Preferences"},"preferences":{"title":"Manage consent preferences","message":"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.","cookieDetails":"Cookies details","alwaysActive":"Always allowed","deny":"Reject all","allow":"Accept all","custom":"Save preferences","dismiss":"Close","vendorLearnMore":"Learn more about this provider"},"status":{"title":"Cookie settings","message":"Your current state","allow":"Accept all","deny":"Deny all","dismiss":"Close","reopen":"Change your consent","consentDate":"C
371onsent date","consentId":"Your consent ID","hideDetails":"Hide details","showDetails":"Show details","noConsent":"No consent"},"declaration":{"name":"Name","type":"Type","vendor":"Provider","purpose":"Purpose","retention":"Retention","expirations":{"declSeconds":"seconds","declMinutes":"minutes","declHours":"hours","declDays":"days","declWeeks":"week(s)","declMonths":"months","declYears":"years","declSession":"Session"}},"cookies":{"1.gif":"Counts the number of sessions to optimize CMP product delivery.","ads/ga-audiences":"Stores information for remarketing purposes.","cart":"Contains information related to the user's cart.","cart_currency":"The cookie is necessary for the secure checkout and payment function on the website. This function is provided by shopify.com.","docapp-coupon":"Stores information related to coupon codes or discounts applied to the shopping cart.","hjActiveViewportIds":"Stores user active viewports IDs.","hjViewportId":"Stores user viewport details such as size and dimensions.","IDE":"To measure the visitorsâ actions after they click through from an advert. Expires after 1 year.","keep_alive":"Used in connection with buyer localization.","kl-bloom-local":"Stores information related to user preferences and interactions for targeted marketing.","kl-bloom-session":"Stores session information related to user interactions for targeted marketing purposes.","kl-uid":"Stores a unique identifier for the user for targeted marketing and personalization purposes.","lastExternalReferrer":"Detects how the user reached the website by registering their last URL-address.","lastExternalReferrerTime":"Contains the timestamp of the last update of the lastExternalReferrer cookie.","local-storage-test":"Used to test whether local storage is available in the browser.","localization":"Shopify store localization","optimonkclientid":"Stores a unique identifier for visitor analytics.","session-storage-test":"Used to test whether session storage is available in the browser.","shopify_pay_redirect":"The cookie is necessary for the secure checkout and payment function on the website. This function is provided by shopify.com.","test":"Used to discover cookie support.","test_cookie":"To measure the visitorsâ actions after they click through from an advert. Expires after each visit.","wpm-test-cookie":"A necessary cookie for website functionality.","_fbp":"Cookie is placed by Facebook to track visits across websites.","_ga":"Cookie is set by Google Analytics with unknown functionality","_gat":"Cookie is placed by Google Analytics to filter requests from bots.","_gcl_au":"Cookie is placed by Google Tag Manager to track conversions.","_gid":"Cookie is placed by Google Analytics to count and track pageviews.","_hjAbsoluteSessionInProgress":"Tracks the beginning of the user's journey for session count without identifiable information.","_hjFirstSeen":"Tracks the beginning of the user's journey for session count without identifiable information.","_hjIncludedInPageviewSample":"Indicates if a visitor is included in the data sampling for page views.","_hjIncludedInSessionSample":"Indicates if the visitor is included in Hotjar's data sampling based on session limits.","_hjLocalStorageTest":"Checks if the Tracking Code can use Local Storage. If it can, a value of 1 is set.","_hjSessionStorageTest":"Checks if the Tracking Code can use Session Storage. If it can, a value of 1 is set.","_kla_test":"Used for testing purposes to monitor the functionality of the Klaviyo tracking script.","_landing_page":"Tracks landing pages.","_orig_referrer":"Tracks landing pages.","_pandectes_gdpr":"Used for the functionality of the cookies consent banner.","_pin_unauth":"Used to group actions for users who cannot be identified by Pinterest.","_shopify_s":"Used to identify a given browser session/shop combination. Duration is 30 minute rolling expiry of last use.","_shopify_sa_t":"Capture the landing page of visitor when they come from other sites to support marketing analytics.","_shopify_y":"Shopify analytics.","_tracking_consent":"Tracking preferences.","__kla_id":"Tracks when someone clicks through a Klaviyo email to your website.","__kla_viewed":"Stores information about user views for the Klaviyo service.","__kl_key":"Stores a key used for targeting and personalization purposes.","__storage_test__":"Used to test whether storage is available in the browser.","secure_customer_sig":"Used in connection with customer login.","_y":"Shopify analytics.","_s":"Shopify analytics.","_shopify_sa_p":"Capture the landing page of visitor when they come from other sites to support marketing analytics.","cart_sig":"Shopify analytics.","_secure_session_id":"Used in connection with navigation through a storefront."}}},"categories":[{"bitwise":0},{"bitwise":1},{"bitwise":2},{"bitwise":4}],"vendors":[],"cookies":[{"name":"secure_customer_sig","domain":"nomochoc.com","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"cart_currency","domain":"nomochoc.com","type":"http","vendor":"Shopify","category":0,"retention":"15 day(s)","unit":"declDays","expires":15}
371,{"name":"_landing_page","domain":".nomochoc.com","type":"http","vendor":"Shopify","category":2,"retention":"14 day(s)","unit":"declDays","expires":14},{"name":"_orig_referrer","domain":".nomochoc.com","type":"http","vendor":"Shopify","category":2,"retention":"14 day(s)","unit":"declDays","expires":14},{"name":"_y","domain":".nomochoc.com","type":"http","vendor":"Shopify","category":1,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_ga_41RG534SPF","domain":".nomochoc.com","type":"http","vendor":"Google","category":2,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_s","domain":".nomochoc.com","type":"http","vendor":"Shopify","category":1,"retention":"30 minute(s)","unit":"declMinutes","expires":30},{"name":"_shopify_sa_p","domain":".nomochoc.com","type":"http","vendor":"Shopify","category":1,"retention":"30 minute(s)","unit":"declMinutes","expires":30},{"name":"_gcl_au","domain":".nomochoc.com","type":"http","vendor":"Google","category":3,"retention":"90 day(s)","unit":"declDays","expires":90},{"name":"geolizr_geodata","domain":".nomochoc.com","type":"http","vendor":"Unknown","category":4,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_gat","domain":".nomochoc.com","type":"http","vendor":"Google","category":2,"retention":"45 second(s)","unit":"declSeconds","expires":45},{"name":"shopify_pay_redirect","domain":"nomochoc.com","type":"http","vendor":"Shopify","category":0,"retention":"60 minute(s)","unit":"declMinutes","expires":60},{"name":"_hjSessionUser_3028045","domain":".nomochoc.com","type":"http","vendor":"Unknown","category":4,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_hjFirstSeen","domain":".nomochoc.com","type":"http","vendor":"Unknown","category":4,"retention":"30 minute(s)","unit":"declMinutes","expires":30},{"name":"_hjIncludedInPageviewSample","domain":"nomochoc.com","type":"http","vendor":"Unknown","category":4,"retention":"2 minute(s)","unit":"declMinutes","expires":2},{"name":"_hjIncludedInSessionSample","domain":"nomochoc.com","type":"http","vendor":"Unknown","category":4,"retention":"2 minute(s)","unit":"declMinutes","expires":2},{"name":"_fbp","domain":".nomochoc.com","type":"http","vendor":"Facebook","category":3,"retention":"90 day(s)","unit":"declDays","expires":90},{"name":"keep_alive","domain":"nomochoc.com","type":"http","vendor":"Shopify","category":0,"retention":"30 minute(s)","unit":"declMinutes","expires":30},{"name":"_shopify_y","domain":".nomochoc.com","type":"http","vendor":"Shopify","category":2,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"cart_sig","domain":"nomochoc.com","type":"http","vendor":"Shopify","category":0,"retention":"15 day(s)","unit":"declDays","expires":15},{"name":"_pin_unauth","domain":".nomochoc.com","type":"http","vendor":"Pinterest","category":3,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_gid","domain":".nomochoc.com","type":"http","vendor":"Google","category":2,"retention":"24 hour(s)","unit":"declHours","expires":24},{"name":"_shopify_s","domain":".nomochoc.com","type":"http","vendor":"Shopify","category":2,"retention":"30 minute(s)","unit":"declMinutes","expires":30},{"name":"_ga","domain":".nomochoc.com","type":"http","vendor":"Google","category":2,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"test_cookie","domain":".doubleclick.net","type":"http","vendor":"Google","category":3,"retention":"15 minute(s)","unit":"declMinutes","expires":15},{"name":"localization","domain":"nomochoc.com","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_tracking_consent","domain":".nomochoc.com","type":"http","vendor":"Shopify","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"docapp-coupon","domain":"nomochoc.com","type":"http","vendor":"Unknown","category":4,"retention":"24 hour(s)","unit":"declHours","expires":24},{"name":"_secure_session_id","domain":"nomochoc.com","type":"http","vendor":"Shopify","category":0,"retention":"24 hour(s)","unit":"declHours","expires":24},{"name":"IDE","domain":".doubleclick.net","type":"http","vendor":"Google","category":3,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"optiMonkClientId","domain":"nomochoc.com","type":"http","vendor":"Unknown","category":4,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_hjAbsoluteSessionInProgress","domain":".nomochoc.com","type":"http","vendor":"Unknown","category":4,"retention":"30 minute(s)","unit":"declMinutes","expires":30},{"name":"_hjSession_3028045","domain":".nomochoc.com","type":"http","vendor":"Unknown","category":4,"retention":"30 minute(s)","unit":"declMinutes","expires":30},{"name":"__kla_id","domain":"nomochoc.com","type":"http","vendor":"Klaviyo","category":3,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_shopify_sa_t","domain":".nomochoc.com","type":"http","vendor":"Shopify","category":1,"retention":"30 minute(s)","unit":"declMinutes","expires":30},{"name":"_shopify_sa_p","domain":"nomochoc.com","type":"http","vendor":"Shopify","category":2,"retention":"30 minute(s)","unit":"declMinutes","expires":30},{"name":"_pandectes_gdpr","domain":".nomochoc.com","type":"http","vendor":"Pandectes","category":0,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"cart","domain":"nomochoc.com","type":"http","vendor":"Shopify","category":0,"retention":"1 month(s)","unit":"declMonths","expires":1},{"name":"_shopify_s","domain":"com","type":"http","vendor":"Shopify","category":2,"retention":"Session","unit":"declSeconds","expires":1},{"name":"_shopify_sa_t","domain":"nomochoc.com","type":"http","vendor":"Shopify","category":2,"retention":"30 minute(s)","unit":"declMinutes","expires":30},{"name":"_pin_unauth","domain":"nomochoc.com","type":"http","vendor":"Pinterest","category":3,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"hjActiveViewportIds","domain":"https://nomochoc.com","type":"html_local","vendor":"Hotjar","category":1,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"_hjLocalStorageTest","domain":"https://nomochoc.com","type":"html_local","vendor":"Unknown","category":4,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"hjViewportId","domain":"https://nomochoc.com","type":"html_session","vendor":"Unknown","category":4,"retention":"Session","unit":"declYears","expires":1}
371,{"name":"lastExternalReferrerTime","domain":"https://nomochoc.com","type":"html_local","vendor":"Facebook","category":3,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"lastExternalReferrer","domain":"https://nomochoc.com","type":"html_local","vendor":"Facebook","category":3,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"_hjSessionStorageTest","domain":"https://nomochoc.com","type":"html_session","vendor":"Unknown","category":4,"retention":"Session","unit":"declYears","expires":1},{"name":"pagead/1p-user-list/#","domain":"https://www.google.ie","type":"html_session","vendor":"Unknown","category":4,"retention":"Session","unit":"declYears","expires":1},{"name":"1.gif","domain":"https://imgsct.cookiebot.com","type":"html_session","vendor":"Unknown","category":4,"retention":"Session","unit":"declYears","expires":1},{"name":"pagead/1p-user-list/#","domain":"https://www.google.com","type":"html_session","vendor":"Unknown","category":4,"retention":"Session","unit":"declYears","expires":1},{"name":"pagead/1p-conversion/#","domain":"https://www.google.ie","type":"html_session","vendor":"Unknown","category":4,"retention":"Session","unit":"declYears","expires":1},{"name":"_hjSession_*","domain":".nomochoc.com","type":"http","vendor":"Hotjar","category":1,"retention":"30 minute(s)","unit":"declMinutes","expires":30},{"name":"_hjSessionUser_*","domain":".nomochoc.com","type":"http","vendor":"Hotjar","category":1,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"wpm-test-cookie","domain":"com","type":"http","vendor":"Unknown","category":0,"retention":"Session","unit":"declSeconds","expires":1},{"name":"ads/ga-audiences","domain":"https://www.google.ie","type":"html_session","vendor":"Unknown","category":4,"retention":"Session","unit":"declYears","expires":1},{"name":"2c.cId","domain":"nomochoc.com","type":"http","vendor":"Unknown","category":4,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"_ga_*","domain":".nomochoc.com","type":"http","vendor":"Google","category":2,"retention":"1 year(s)","unit":"declYears","expires":1},{"name":"wpm-test-cookie","domain":"nomochoc.com","type":"http","vendor":"Unknown","category":4,"retention":"Session","unit":"declSeconds","expires":1},{"name":"klaviyoOnsite","domain":"https://nomochoc.com","type":"html_local","vendor":"Unknown","category":4,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"yZuO3kvXdaRiKQ-rapid-js-visitor-3","domain":"https://nomochoc.com","type":"html_local","vendor":"Unknown","category":4,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"kl-bloom-local","domain":"https://nomochoc.com","type":"html_local","vendor":"Unknown","category":4,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"kl-uid","domain":"https://nomochoc.com","type":"html_local","vendor":"Unknown","category":4,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"atlas_anonymous_token","domain":"https://nomochoc.com","type":"html_local","vendor":"Unknown","category":4,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"tl-advanced-free-gift-local-storage","domain":"https://nomochoc.com","type":"html_local","vendor":"Unknown","category":4,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"_kla_test","domain":"https://nomochoc.com","type":"html_local","vendor":"Unknown","category":4,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"local-storage-test","domain":"https://nomochoc.com","type":"html_local","vendor":"Unknown","category":4,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"klaviyoPagesVisitCount","domain":"https://nomochoc.com","type":"html_session","vendor":"Unknown","category":4,"retention":"Session","unit":"declYears","expires":1},{"name":"__kl_key","domain":"https://nomochoc.com","type":"html_local","vendor":"Unknown","category":4,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"session-storage-test","domain":"https://nomochoc.com","type":"html_session","vendor":"Unknown","category":4,"retention":"Session","unit":"declYears","expires":1},{"name":"test","domain":"https://nomochoc.com","type":"html_session","vendor":"Unknown","category":4,"retention":"Session","unit":"declYears","expires":1},{"name":"__storage_test__","domain":"https://nomochoc.com","type":"html_local","vendor":"Unknown","category":4,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"yZuO3kvXdaRiKQ-rapid-js-qoe-5","domain":"https://nomochoc.com","type":"html_local","vendor":"Unknown","category":4,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"__kla_viewed","domain":"https://nomochoc.com","type":"html_local","vendor":"Unknown","category":4,"retention":"Local Storage","unit":"declYears","expires":1},{"name":"kl-bloom-session","domain":"https://nomochoc.com","type":"html_session","vendor":"Unknown","category":4,"retention":"Session","unit":"declYears","expires":1},{"name":"scrollPosition_/search","domain":"https://nomochoc.com","type":"html_session","vendor":"Unknown","category":4,"retention":"Session","unit":"declYears","expires":1},{"name":"scrollPosition_/products/creamy-chocolate-egg-bar","domain":"https://nomochoc.com","type":"html_session","vendor":"Unknown","category":4,"retention":"Session","unit":"declYears","expires":1},{"name":"scrollPosition_/","domain":"https://nomochoc.com","type":"html_session","vendor":"Unknown","category":4,"retention":"Session","unit":"declYears","expires":1},{"name":"scrollPosition_/products/creamy-chocolate-large-bars","domain":"https://nomochoc.com","type":"html_session","vendor":"Unknown","category":4,"retention":"Session","unit":"declYears","expires":1},{"name":"scrollPosition_/products/fruit-crunch-chocolate-bars","domain":"https://nomochoc.com","type":"html_session","vendor":"Unknown","category":4,"retention":"Session","unit":"declYears","expires":1},{"name":"scrollPosition_/products/creamy-chocolate-bars","domain":"https://nomochoc.com","type":"html_session","vendor":"Unknown","category":4,"retention":"Session","unit":"declYears","expires":1}]}; 372 if (isLivePreview) { 373 if (!window.pandectesBannerSettings.store) { 374 window.pandectesBannerSettings.store = {}; 375 } 376 window.pandectesBannerSettings.store.plan = 'enterprise'; 377 } 378 379 function whenBodyReady(callback) { 380 window.addEventListener('DOMContentLoaded', callback); 381 } 382 383 384 whenBodyReady(function(){ 385 const element = document.createElement('pandectes-cmp'); 386 element.appData = window.pandectesBannerSettings; 387 document.body.appendChild(element); 388 appendLivePreviewScriptIfNeeded(previewUrl); 389 }); 390 391 })() 392 </script>
392 393 394 395 396 397 <!-- A11y --> 398 399 400 401 402 403 404 405 406 407 408<!-- END app block --><!-- BEGIN app block: shopify://apps/klaviyo-email-marketing-sms/blocks/klaviyo-onsite-embed/2632fe16-c075-4321-a88b-50b567f42507 --> 409 410 411 412 413 414 415 416 417 418 419 420 421
421<script async src="https://static.klaviyo.com/onsite/js/ScvKFn/klaviyo.js?company_id=ScvKFn"></script>
421 422
422<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>
422 423 424 425 426 427 428 429
429<script> 430 window.klaviyoReviewsProductDesignMode = false 431 </script>
431 432 433 434 435 <!-- BEGIN app snippet: customer-hub-data -->
435<script> 436 if (!window.customerHub) { 437 window.customerHub = {}; 438 } 439 window.customerHub.storefrontRoutes = { 440 login: "/account/login?return_url=%2F%23k-hub", 441 register: "/account/register?return_url=%2F%23k-hub", 442 logout: "/account/logout", 443 profile: "/account", 444 addresses: "/account/addresses", 445 }; 446 447 window.customerHub.userId = null; 448 449 window.customerHub.storeDomain = "kinnerton-test.myshopify.com"; 450 451 452 453 454 window.customerHub.storeLocale = { 455 currentLanguage: 'en', 456 currentCountry: 'GB', 457 availableLanguages: [ 458 459 { 460 iso_code: 'en', 461 endonym_name: 'English' 462 } 463 464 ], 465 availableCountries: [ 466 467 { 468 iso_code: 'AF', 469 name: 'Afghanistan', 470 currency_code: 'GBP' 471 }, 472 473 { 474 iso_code: 'AX', 475 name: 'à land Islands', 476 currency_code: 'GBP' 477 }, 478 479 { 480 iso_code: 'AL', 481 name: 'Albania', 482 currency_code: 'GBP' 483 }, 484 485 { 486 iso_code: 'DZ', 487 name: 'Algeria', 488 currency_code: 'GBP' 489 }, 490 491 { 492 iso_code: 'AD', 493 name: 'Andorra', 494 currency_code: 'GBP' 495 }, 496 497 { 498 iso_code: 'AO', 499 name: 'Angola', 500 currency_code: 'GBP' 501 }, 502 503 { 504 iso_code: 'AI', 505 name: 'Anguilla', 506 currency_code: 'GBP' 507 }, 508 509 { 510 iso_code: 'AG', 511 name: 'Antigua & Barbuda', 512 currency_code: 'GBP' 513 }, 514 515 { 516 iso_code: 'AR', 517 name: 'Argentina', 518 currency_code: 'GBP' 519 }, 520 521 { 522 iso_code: 'AM', 523 name: 'Armenia', 524 currency_code: 'GBP' 525 }, 526 527 { 528 iso_code: 'AW', 529 name: 'Aruba', 530 currency_code: 'GBP' 531 }, 532 533 { 534 iso_code: 'AC', 535 name: 'Ascension Island', 536 currency_code: 'GBP' 537 }, 538 539 { 540 iso_code: 'AU', 541 name: 'Australia', 542 currency_code: 'GBP' 543 }, 544 545 { 546 iso_code: 'AT', 547 name: 'Austria', 548 currency_code: 'GBP' 549 }, 550 551 { 552 iso_code: 'AZ', 553 name: 'Azerbaijan', 554 currency_code: 'GBP' 555 }, 556 557 { 558 iso_code: 'BS', 559 name: 'Bahamas', 560 currency_code: 'GBP' 561 }, 562 563 { 564 iso_code: 'BH', 565 name: 'Bahrain', 566 currency_code: 'GBP' 567 }, 568 569 { 570 iso_code: 'BD', 571 name: 'Bangladesh', 572 currency_code: 'GBP' 573 }, 574 575 { 576 iso_code: 'BB', 577 name: 'Barbados', 578 currency_code: 'GBP' 579 }, 580 581 { 582 iso_code: 'BY', 583 name: 'Belarus', 584 currency_code: 'GBP' 585 }, 586 587 { 588 iso_code: 'BE', 589 name: 'Belgium', 590 currency_code: 'GBP' 591 }, 592 593 { 594 iso_code: 'BZ', 595 name: 'Belize', 596 currency_code: 'GBP' 597 }, 598 599 { 600 iso_code: 'BJ', 601 name: 'Benin', 602 currency_code: 'GBP' 603 }, 604 605 { 606 iso_code: 'BM', 607 name: 'Bermuda', 608 currency_code: 'GBP' 609 }, 610 611 { 612 iso_code: 'BT', 613 name: 'Bhutan', 614 currency_code: 'GBP' 615 }, 616 617 { 618 iso_code: 'BO', 619 name: 'Bolivia', 620 currency_code: 'GBP' 621 }, 622 623 { 624 iso_code: 'BA', 625 name: 'Bosnia & Herzegovina', 626 currency_code: 'GBP' 627 }, 628 629 { 630 iso_code: 'BW', 631 name: 'Botswana', 632 currency_code: 'GBP' 633 }, 634 635 { 636 iso_code: 'BR', 637 name: 'Brazil', 638 currency_code: 'GBP' 639 }, 640 641 { 642 iso_code: 'IO', 643 name: 'British Indian Ocean Territory', 644 currency_code: 'GBP' 645 }, 646 647 { 648 iso_code: 'VG', 649 name: 'British Virgin Islands', 650 currency_code: 'GBP' 651 }, 652 653 { 654 iso_code: 'BN', 655 name: 'Brunei', 656 currency_code: 'GBP' 657 }, 658 659 { 660 iso_code: 'BG', 661 name: 'Bulgaria', 662 currency_code: 'GBP' 663 }, 664 665 { 666 iso_code: 'BF', 667 name: 'Burkina Faso', 668 currency_code: 'GBP' 669 }, 670 671 { 672 iso_code: 'BI', 673 name: 'Burundi', 674 currency_code: 'GBP' 675 }, 676 677 { 678 iso_code: 'KH', 679 name: 'Cambodia', 680 currency_code: 'GBP' 681 }, 682 683 { 684 iso_code: 'CM', 685 name: 'Cameroon', 686 currency_code: 'GBP' 687 }, 688 689 { 690 iso_code: 'CA', 691 name: 'Canada', 692 currency_code: 'GBP' 693 }, 694 695 { 696 iso_code: 'CV', 697 name: 'Cape Verde', 698 currency_code: 'GBP' 699 }, 700 701 { 702 iso_code: 'BQ', 703 name: 'Caribbean Netherlands', 704 currency_code: 'GBP' 705 }, 706 707 { 708 iso_code: 'KY', 709 name: 'Cayman Islands', 710 currency_code: 'GBP' 711 }, 712 713 { 714 iso_code: 'CF', 715 name: 'Central African Republic', 716 currency_code: 'GBP' 717 }, 718 719 { 720 iso_code: 'TD', 721 name: 'Chad', 722 currency_code: 'GBP' 723 }, 724 725 { 726 iso_code: 'CL', 727 name: 'Chile', 728 currency_code: 'GBP' 729 }, 730 731 { 732 iso_code: 'CN', 733 name: 'China', 734 currency_code: 'GBP' 735 }, 736 737 { 738 iso_code: 'CX', 739 name: 'Christmas Island', 740 currency_code: 'GBP' 741 }, 742 743 { 744 iso_code: 'CC', 745 name: 'Cocos (Keeling) Islands', 746 currency_code: 'GBP' 747 }, 748 749 { 750 iso_code: 'CO', 751 name: 'Colombia', 752 currency_code: 'GBP' 753 }, 754 755 { 756 iso_code: 'KM', 757 name: 'Comoros', 758 currency_code: 'GBP' 759 }, 760 761 { 762 iso_code: 'CG', 763 name: 'Congo - Brazzaville', 764 currency_code: 'GBP' 765 }, 766 767 { 768 iso_code: 'CD', 769 name: 'Congo - Kinshasa', 770 currency_code: 'GBP' 771 }, 772 773 { 774 iso_code: 'CK', 775 name: 'Cook Islands', 776 currency_code: 'GBP' 777 }, 778 779 { 780 iso_code: 'CR', 781 name: 'Costa Rica', 782 currency_code: 'GBP' 783 }, 784 785 { 786 iso_code: 'CI', 787 name: 'Côte dâIvoire', 788 currency_code: 'GBP' 789 }, 790 791 { 792 iso_code: 'HR', 793 name: 'Croatia', 794 currency_code: 'GBP' 795 }, 796 797 { 798 iso_code: 'CW', 799 name: 'Curaçao', 800 currency_code: 'GBP' 801 }, 802 803 { 804 iso_code: 'CY', 805 name: 'Cyprus', 806 currency_code: 'GBP' 807 }, 808 809 { 810 iso_code: 'CZ', 811 name: 'Czechia', 812 currency_code: 'GBP' 813 }, 814 815 { 816 iso_code: 'DK', 817 name: 'Denmark', 818 currency_code: 'GBP' 819 }, 820 821 { 822 iso_code: 'DJ', 823 name: 'Djibouti', 824 currency_code: 'GBP' 825 }, 826 827 { 828 iso_code: 'DM', 829 name: 'Dominica', 830 currency_code: 'GBP' 831 }, 832 833 { 834 iso_code: 'DO', 835 name: 'Dominican Republic', 836 currency_code: 'GBP' 837 }, 838 839 { 840 iso_code: 'EC', 841 name: 'Ecuador', 842 currency_code: 'GBP' 843 }, 844 845 { 846 iso_code: 'EG', 847 name: 'Egypt', 848 currency_code: 'GBP' 849 }, 850 851 { 852 iso_code: 'SV', 853 name: 'El Salvador', 854 currency_code: 'GBP' 855 }, 856 857 { 858 iso_code: 'GQ', 859 name: 'Equatorial Guinea', 860 currency_code: 'GBP' 861 }, 862 863 { 864 iso_code: 'ER', 865 name: 'Eritrea', 866 currency_code: 'GBP' 867 }, 868 869 { 870 iso_code: 'EE', 871 name: 'Estonia', 872 currency_code: 'GBP' 873 }, 874 875 { 876 iso_code: 'SZ', 877 name: 'Eswatini', 878 currency_code: 'GBP' 879 }, 880 881 { 882 iso_code: 'ET', 883 name: 'Ethiopia', 884 currency_code: 'GBP' 885 }, 886 887 { 888 iso_code: 'FK', 889 name: 'Falkland Islands', 890 currency_code: 'GBP' 891 }, 892 893 { 894 iso_code: 'FO', 895 name: 'Faroe Islands', 896 currency_code: 'GBP' 897 }, 898 899 { 900 iso_code: 'FJ', 901 name: 'Fiji', 902 currency_code: 'GBP' 903 }, 904 905 { 906 iso_code: 'FI', 907 name: 'Finland', 908 currency_code: 'GBP' 909 }, 910 911 { 912 iso_code: 'FR', 913 name: 'France', 914 currency_code: 'GBP' 915 }, 916 917 { 918 iso_code: 'GF', 919 name: 'French Guiana', 920 currency_code: 'GBP' 921 }, 922 923 { 924 iso_code: 'PF', 925 name: 'French Polynesia', 926 currency_code: 'GBP' 927 }, 928 929 { 930 iso_code: 'TF', 931 name: 'French Southern Territories', 932 currency_code: 'GBP' 933 }, 934 935 { 936 iso_code: 'GA', 937 name: 'Gabon', 938 currency_code: 'GBP' 939 }, 940 941 { 942 iso_code: 'GM', 943 name: 'Gambia', 944 currency_code: 'GBP' 945 }, 946 947 {
948 iso_code: 'GE', 949 name: 'Georgia', 950 currency_code: 'GBP' 951 }, 952 953 { 954 iso_code: 'DE', 955 name: 'Germany', 956 currency_code: 'GBP' 957 }, 958 959 { 960 iso_code: 'GH', 961 name: 'Ghana', 962 currency_code: 'GBP' 963 }, 964 965 { 966 iso_code: 'GI', 967 name: 'Gibraltar', 968 currency_code: 'GBP' 969 }, 970 971 { 972 iso_code: 'GR', 973 name: 'Greece', 974 currency_code: 'GBP' 975 }, 976 977 { 978 iso_code: 'GL', 979 name: 'Greenland', 980 currency_code: 'GBP' 981 }, 982 983 { 984 iso_code: 'GD', 985 name: 'Grenada', 986 currency_code: 'GBP' 987 }, 988 989 { 990 iso_code: 'GP', 991 name: 'Guadeloupe', 992 currency_code: 'GBP' 993 }, 994 995 { 996 iso_code: 'GT', 997 name: 'Guatemala', 998 currency_code: 'GBP' 999 }, 1000 1001 { 1002 iso_code: 'GG', 1003 name: 'Guernsey', 1004 currency_code: 'GBP' 1005 }, 1006 1007 { 1008 iso_code: 'GN', 1009 name: 'Guinea', 1010 currency_code: 'GBP' 1011 }, 1012 1013 { 1014 iso_code: 'GW', 1015 name: 'Guinea-Bissau', 1016 currency_code: 'GBP' 1017 }, 1018 1019 { 1020 iso_code: 'GY', 1021 name: 'Guyana', 1022 currency_code: 'GBP' 1023 }, 1024 1025 { 1026 iso_code: 'HT', 1027 name: 'Haiti', 1028 currency_code: 'GBP' 1029 }, 1030 1031 { 1032 iso_code: 'HN', 1033 name: 'Honduras', 1034 currency_code: 'GBP' 1035 }, 1036 1037 { 1038 iso_code: 'HK', 1039 name: 'Hong Kong SAR', 1040 currency_code: 'GBP' 1041 }, 1042 1043 { 1044 iso_code: 'HU', 1045 name: 'Hungary', 1046 currency_code: 'GBP' 1047 }, 1048 1049 { 1050 iso_code: 'IS', 1051 name: 'Iceland', 1052 currency_code: 'GBP' 1053 }, 1054 1055 { 1056 iso_code: 'IN', 1057 name: 'India', 1058 currency_code: 'GBP' 1059 }, 1060 1061 { 1062 iso_code: 'ID', 1063 name: 'Indonesia', 1064 currency_code: 'GBP' 1065 }, 1066 1067 { 1068 iso_code: 'IQ', 1069 name: 'Iraq', 1070 currency_code: 'GBP' 1071 }, 1072 1073 { 1074 iso_code: 'IE', 1075 name: 'Ireland', 1076 currency_code: 'GBP' 1077 }, 1078 1079 { 1080 iso_code: 'IM', 1081 name: 'Isle of Man', 1082 currency_code: 'GBP' 1083 }, 1084 1085 { 1086 iso_code: 'IL', 1087 name: 'Israel', 1088 currency_code: 'GBP' 1089 }, 1090 1091 { 1092 iso_code: 'IT', 1093 name: 'Italy', 1094 currency_code: 'GBP' 1095 }, 1096 1097 { 1098 iso_code: 'JM', 1099 name: 'Jamaica', 1100 currency_code: 'GBP' 1101 }, 1102 1103 { 1104 iso_code: 'JP', 1105 name: 'Japan', 1106 currency_code: 'GBP' 1107 }, 1108 1109 { 1110 iso_code: 'JE', 1111 name: 'Jersey', 1112 currency_code: 'GBP' 1113 }, 1114 1115 { 1116 iso_code: 'JO', 1117 name: 'Jordan', 1118 currency_code: 'GBP' 1119 }, 1120 1121 { 1122 iso_code: 'KZ', 1123 name: 'Kazakhstan', 1124 currency_code: 'GBP' 1125 }, 1126 1127 { 1128 iso_code: 'KE', 1129 name: 'Kenya', 1130 currency_code: 'GBP' 1131 }, 1132 1133 { 1134 iso_code: 'KI', 1135 name: 'Kiribati', 1136 currency_code: 'GBP' 1137 }, 1138 1139 { 1140 iso_code: 'XK', 1141 name: 'Kosovo', 1142 currency_code: 'GBP' 1143 }, 1144 1145 { 1146 iso_code: 'KW', 1147 name: 'Kuwait', 1148 currency_code: 'GBP' 1149 }, 1150 1151 { 1152 iso_code: 'KG', 1153 name: 'Kyrgyzstan', 1154 currency_code: 'GBP' 1155 }, 1156 1157 { 1158 iso_code: 'LA', 1159 name: 'Laos', 1160 currency_code: 'GBP' 1161 }, 1162 1163 { 1164 iso_code: 'LV', 1165 name: 'Latvia', 1166 currency_code: 'GBP' 1167 }, 1168 1169 { 1170 iso_code: 'LB', 1171 name: 'Lebanon', 1172 currency_code: 'GBP' 1173 }, 1174 1175 { 1176 iso_code: 'LS', 1177 name: 'Lesotho', 1178 currency_code: 'GBP' 1179 }, 1180 1181 { 1182 iso_code: 'LR', 1183 name: 'Liberia', 1184 currency_code: 'GBP' 1185 }, 1186 1187 { 1188 iso_code: 'LY', 1189 name: 'Libya', 1190 currency_code: 'GBP' 1191 }, 1192 1193 { 1194 iso_code: 'LI', 1195 name: 'Liechtenstein', 1196 currency_code: 'GBP' 1197 }, 1198 1199 { 1200 iso_code: 'LT', 1201 name: 'Lithuania', 1202 currency_code: 'GBP' 1203 }, 1204 1205 { 1206 iso_code: 'LU', 1207 name: 'Luxembourg', 1208 currency_code: 'GBP' 1209 }, 1210 1211 { 1212 iso_code: 'MO', 1213 name: 'Macao SAR', 1214 currency_code: 'GBP' 1215 }, 1216 1217 { 1218 iso_code: 'MG', 1219 name: 'Madagascar', 1220 currency_code: 'GBP' 1221 }, 1222 1223 { 1224 iso_code: 'MW', 1225 name: 'Malawi', 1226 currency_code: 'GBP' 1227 }, 1228 1229 { 1230 iso_code: 'MY', 1231 name: 'Malaysia', 1232 currency_code: 'GBP' 1233 }, 1234 1235 { 1236 iso_code: 'MV', 1237 name: 'Maldives', 1238 currency_code: 'GBP' 1239 }, 1240 1241 { 1242 iso_code: 'ML', 1243 name: 'Mali', 1244 currency_code: 'GBP' 1245 }, 1246 1247 { 1248 iso_code: 'MT', 1249 name: 'Malta', 1250 currency_code: 'GBP' 1251 }, 1252 1253 { 1254 iso_code: 'MQ', 1255 name: 'Martinique', 1256 currency_code: 'GBP' 1257 }, 1258 1259 { 1260 iso_code: 'MR', 1261 name: 'Mauritania', 1262 currency_code: 'GBP' 1263 }, 1264 1265 { 1266 iso_code: 'MU', 1267 name: 'Mauritius', 1268 currency_code: 'GBP' 1269 }, 1270 1271 { 1272 iso_code: 'YT', 1273 name: 'Mayotte', 1274 currency_code: 'GBP' 1275 }, 1276 1277 { 1278 iso_code: 'MX', 1279 name: 'Mexico', 1280 currency_code: 'GBP' 1281 }, 1282 1283 { 1284 iso_code: 'MD', 1285 name: 'Moldova', 1286 currency_code: 'GBP' 1287 }, 1288 1289 { 1290 iso_code: 'MC', 1291 name: 'Monaco', 1292 currency_code: 'GBP' 1293 }, 1294 1295 { 1296 iso_code: 'MN', 1297 name: 'Mongolia', 1298 currency_code: 'GBP' 1299 }, 1300 1301 { 1302 iso_code: 'ME', 1303 name: 'Montenegro', 1304 currency_code: 'GBP' 1305 }, 1306 1307 { 1308 iso_code: 'MS', 1309 name: 'Montserrat', 1310 currency_code: 'GBP' 1311 }, 1312 1313 { 1314 iso_code: 'MA', 1315 name: 'Morocco', 1316 currency_code: 'GBP' 1317 }, 1318 1319 { 1320 iso_code: 'MZ', 1321 name: 'Mozambique', 1322 currency_code: 'GBP' 1323 }, 1324 1325 { 1326 iso_code: 'MM', 1327 name: 'Myanmar (Burma)', 1328 currency_code: 'GBP' 1329 }, 1330 1331 { 1332 iso_code: 'NA', 1333 name: 'Namibia', 1334 currency_code: 'GBP' 1335 }, 1336 1337 { 1338 iso_code: 'NR', 1339 name: 'Nauru', 1340 currency_code: 'GBP' 1341 }, 1342 1343 { 1344 iso_code: 'NP', 1345 name: 'Nepal', 1346 currency_code: 'GBP' 1347 }, 1348 1349 { 1350 iso_code: 'NL', 1351 name: 'Netherlands', 1352 currency_code: 'GBP' 1353 }, 1354 1355 { 1356 iso_code: 'NC', 1357 name: 'New Caledonia', 1358 currency_code: 'GBP' 1359 }, 1360 1361 { 1362 iso_code: 'NZ', 1363 name: 'New Zealand', 1364 currency_code: 'GBP' 1365 }, 1366 1367 { 1368 iso_code: 'NI', 1369 name: 'Nicaragua', 1370 currency_code: 'GBP' 1371 }, 1372 1373 { 1374 iso_code: 'NE', 1375 name: 'Niger', 1376 currency_code: 'GBP' 1377 }, 1378 1379 { 1380 iso_code: 'NG', 1381 name: 'Nigeria', 1382 currency_code: 'GBP' 1383 }, 1384 1385 { 1386 iso_code: 'NU', 1387 name: 'Niue', 1388 currency_code: 'GBP' 1389 }, 1390 1391 { 1392 iso_code: 'NF', 1393 name: 'Norfolk Island', 1394 currency_code: 'GBP' 1395 }, 1396 1397 { 1398 iso_code: 'MK', 1399 name: 'North Macedonia', 1400 currency_code: 'GBP' 1401 }, 1402 1403 { 1404 iso_code: 'NO', 1405 name: 'Norway', 1406 currency_code: 'GBP' 1407 }, 1408 1409 { 1410 iso_code: 'OM', 1411 name: 'Oman', 1412 currency_code: 'GBP' 1413 }, 1414 1415 { 1416 iso_code: 'PK', 1417 name: 'Pakistan', 1418 currency_code: 'GBP' 1419 }, 1420 1421 { 1422 iso_code: 'PS', 1423 name: 'Palestinian Territories', 1424 currency_code: 'GBP' 1425 }, 1426 1427 { 1428 iso_code: 'PA', 1429 name: 'Panama', 1430 currency_code: 'GBP' 1431 }, 1432 1433 { 1434 iso_code: 'PG', 1435 name: 'Papua New Guinea', 1436 currency_code: 'GBP' 1437 }, 1438 1439 { 1440 iso_code: 'PY', 1441 name: 'Paraguay', 1442 currency_code: 'GBP' 1443 }, 1444 1445 { 1446 iso_code: 'PE', 1447 name: 'Peru', 1448 currency_code: 'GBP' 1449 }, 1450 1451 { 1452 iso_code: 'PH', 1453 name: 'Philippines', 1454 currency_code: 'GBP' 1455 }, 1456 1457 { 1458 iso_code: 'PN', 1459 name: 'Pitcairn Islands', 1460 currency_code: 'GBP' 1461 }, 1462 1463 { 1464 iso_code: 'PL', 1465 name: 'Poland', 1466 currency_code: 'GBP' 1467 }, 1468 1469 { 1470 iso_code: 'PT', 1471 name: 'Portugal', 1472 currency_code: 'GBP' 1473 }, 1474 1475 { 1476 iso_code: 'QA', 1477 name: 'Qatar', 1478 currency_code: 'GBP' 1479 }, 1480 1481 { 1482 iso_code: 'RE', 1483 name: 'Réunion', 1484 currency_code: 'GBP' 1485 }, 1486 1487 { 1488 iso_code: 'RO', 1489 name: 'Romania', 1490 currency_code: 'GBP' 1491 }, 1492 1493 { 1494 iso_code: 'RU', 1495 name: 'Russia', 1496 currency_code: 'GBP' 1497 }, 1498 1499 { 1500 iso_code: 'RW', 1501 name: 'Rwanda', 1502 currency_code: 'GBP' 1503 }, 1504 1505 { 1506 iso_code: 'WS', 1507 name: 'Samoa', 1508 currency_code: 'GBP' 1509 }, 1510 1511 { 1512 iso_code: 'SM', 1513 name: 'San Marino', 1514 currency_code: 'GBP' 1515 }, 1516 1517 { 1518 iso_code: 'ST', 1519 name: 'São Tomé & PrÃncipe', 1520 currency_code: 'GBP' 1521 }, 1522 1523 { 1524 iso_code: 'SA', 1525 name: 'Saudi Arabia', 1526 currency_code: 'GBP' 1527 }, 1528 1529 { 1530 iso_code: 'SN', 1531 name: 'Senegal', 1532 currency_code: 'GBP' 1533 }, 1534 1535 { 1536 iso_code: 'RS', 1537 name: 'Serbia', 1538 currency_code: 'GBP' 1539 }, 1540 1541 { 1542 iso_code: 'SC', 1543 name: 'Seychelles', 1544 currency_code: 'GBP' 1545 }, 1546 1547 { 1548 iso_code: 'SL', 1549 name: 'Sierra Leone', 1550 currency_code: 'GBP' 1551 }, 1552 1553 { 1554 iso_code: 'SG', 1555 name: 'Singapore', 1556 currency_code: 'GBP' 1557 }, 1558 1559 { 1560 iso_code: 'SX', 1561 name: 'Sint Maarten', 1562 currency_code: 'GBP' 1563 }, 1564 1565 { 1566 iso_code: 'SK', 1567 name: 'Slovakia', 1568 currency_code: 'GBP' 1569 }, 1570 1571 { 1572 iso_code: 'SI', 1573 name: 'Slovenia', 1574 currency_code: 'GBP' 1575 }, 1576 1577 { 1578 iso_code: 'SB', 1579 name: 'Solomon Islands', 1580 currency_code: 'GBP' 1581 }, 1582 1583 { 1584 iso_code: 'SO', 1585 name: 'Somalia', 1586 currency_code: 'GBP' 1587 }, 1588 1589 { 1590 iso_code: 'ZA', 1591 name: 'South Africa', 1592 currency_code: 'GBP' 1593 }, 1594 1595 { 1596 iso_code: 'GS', 1597 name: 'South Georgia & South Sandwich Islands', 1598 currency_code: 'GBP' 1599 }, 1600 1601 { 1602 iso_code: 'KR', 1603 name: 'South Korea', 1604 currency_code: 'GBP' 1605 }, 1606 1607 { 1608 iso_code: 'SS', 1609 name: 'South Sudan', 1610 currency_code: 'GBP' 1611 }, 1612 1613 { 1614 iso_code: 'ES', 1615 name: 'Spain', 1616 currency_code: 'GBP' 1617 }, 1618 1619 { 1620 iso_code: 'LK', 1621 name: 'Sri Lanka', 1622 currency_code: 'GBP' 1623 }, 1624 1625 { 1626 iso_code: 'BL', 1627 name: 'St. Barthélemy', 1628 currency_code: 'GBP' 1629 }, 1630 1631 { 1632 iso_code: 'SH', 1633 name: 'St. Helena', 1634 currency_code: 'GBP' 1635 }, 1636 1637 { 1638 iso_code: 'KN', 1639 name: 'St. Kitts & Nevis', 1640 currency_code: 'GBP' 1641 }, 1642 1643 { 1644 iso_code: 'LC', 1645 name: 'St. Lucia', 1646 currency_code: 'GBP' 1647 }, 1648 1649 { 1650 iso_code: 'MF', 1651 name: 'St. Martin', 1652 currency_code: 'GBP' 1653 }, 1654 1655 { 1656 iso_code: 'PM', 1657 name: 'St. Pierre & Miquelon', 1658 currency_code: 'GBP' 1659
1659 }, 1660 1661 { 1662 iso_code: 'VC', 1663 name: 'St. Vincent & Grenadines', 1664 currency_code: 'GBP' 1665 }, 1666 1667 { 1668 iso_code: 'SD', 1669 name: 'Sudan', 1670 currency_code: 'GBP' 1671 }, 1672 1673 { 1674 iso_code: 'SR', 1675 name: 'Suriname', 1676 currency_code: 'GBP' 1677 }, 1678 1679 { 1680 iso_code: 'SJ', 1681 name: 'Svalbard & Jan Mayen', 1682 currency_code: 'GBP' 1683 }, 1684 1685 { 1686 iso_code: 'SE', 1687 name: 'Sweden', 1688 currency_code: 'GBP' 1689 }, 1690 1691 { 1692 iso_code: 'CH', 1693 name: 'Switzerland', 1694 currency_code: 'GBP' 1695 }, 1696 1697 { 1698 iso_code: 'TW', 1699 name: 'Taiwan', 1700 currency_code: 'GBP' 1701 }, 1702 1703 { 1704 iso_code: 'TJ', 1705 name: 'Tajikistan', 1706 currency_code: 'GBP' 1707 }, 1708 1709 { 1710 iso_code: 'TZ', 1711 name: 'Tanzania', 1712 currency_code: 'GBP' 1713 }, 1714 1715 { 1716 iso_code: 'TH', 1717 name: 'Thailand', 1718 currency_code: 'GBP' 1719 }, 1720 1721 { 1722 iso_code: 'TL', 1723 name: 'Timor-Leste', 1724 currency_code: 'GBP' 1725 }, 1726 1727 { 1728 iso_code: 'TG', 1729 name: 'Togo', 1730 currency_code: 'GBP' 1731 }, 1732 1733 { 1734 iso_code: 'TK', 1735 name: 'Tokelau', 1736 currency_code: 'GBP' 1737 }, 1738 1739 { 1740 iso_code: 'TO', 1741 name: 'Tonga', 1742 currency_code: 'GBP' 1743 }, 1744 1745 { 1746 iso_code: 'TT', 1747 name: 'Trinidad & Tobago', 1748 currency_code: 'GBP' 1749 }, 1750 1751 { 1752 iso_code: 'TA', 1753 name: 'Tristan da Cunha', 1754 currency_code: 'GBP' 1755 }, 1756 1757 { 1758 iso_code: 'TN', 1759 name: 'Tunisia', 1760 currency_code: 'GBP' 1761 }, 1762 1763 { 1764 iso_code: 'TR', 1765 name: 'Türkiye', 1766 currency_code: 'GBP' 1767 }, 1768 1769 { 1770 iso_code: 'TM', 1771 name: 'Turkmenistan', 1772 currency_code: 'GBP' 1773 }, 1774 1775 { 1776 iso_code: 'TC', 1777 name: 'Turks & Caicos Islands', 1778 currency_code: 'GBP' 1779 }, 1780 1781 { 1782 iso_code: 'TV', 1783 name: 'Tuvalu', 1784 currency_code: 'GBP' 1785 }, 1786 1787 { 1788 iso_code: 'UM', 1789 name: 'U.S. Outlying Islands', 1790 currency_code: 'GBP' 1791 }, 1792 1793 { 1794 iso_code: 'UG', 1795 name: 'Uganda', 1796 currency_code: 'GBP' 1797 }, 1798 1799 { 1800 iso_code: 'UA', 1801 name: 'Ukraine', 1802 currency_code: 'GBP' 1803 }, 1804 1805 { 1806 iso_code: 'AE', 1807 name: 'United Arab Emirates', 1808 currency_code: 'GBP' 1809 }, 1810 1811 { 1812 iso_code: 'GB', 1813 name: 'United Kingdom', 1814 currency_code: 'GBP' 1815 }, 1816 1817 { 1818 iso_code: 'US', 1819 name: 'United States', 1820 currency_code: 'GBP' 1821 }, 1822 1823 { 1824 iso_code: 'UY', 1825 name: 'Uruguay', 1826 currency_code: 'GBP' 1827 }, 1828 1829 { 1830 iso_code: 'UZ', 1831 name: 'Uzbekistan', 1832 currency_code: 'GBP' 1833 }, 1834 1835 { 1836 iso_code: 'VU', 1837 name: 'Vanuatu', 1838 currency_code: 'GBP' 1839 }, 1840 1841 { 1842 iso_code: 'VA', 1843 name: 'Vatican City', 1844 currency_code: 'GBP' 1845 }, 1846 1847 { 1848 iso_code: 'VE', 1849 name: 'Venezuela', 1850 currency_code: 'GBP' 1851 }, 1852 1853 { 1854 iso_code: 'VN', 1855 name: 'Vietnam', 1856 currency_code: 'GBP' 1857 }, 1858 1859 { 1860 iso_code: 'WF', 1861 name: 'Wallis & Futuna', 1862 currency_code: 'GBP' 1863 }, 1864 1865 { 1866 iso_code: 'EH', 1867 name: 'Western Sahara', 1868 currency_code: 'GBP' 1869 }, 1870 1871 { 1872 iso_code: 'YE', 1873 name: 'Yemen', 1874 currency_code: 'GBP' 1875 }, 1876 1877 { 1878 iso_code: 'ZM', 1879 name: 'Zambia', 1880 currency_code: 'GBP' 1881 }, 1882 1883 { 1884 iso_code: 'ZW', 1885 name: 'Zimbabwe', 1886 currency_code: 'GBP' 1887 } 1888 1889 ] 1890 }; 1891 1892</script>
1892 1893<!-- END app snippet --> 1894 1895 1896 1897 1898 1899 1900 1901<!-- END app block --><!-- BEGIN app block: shopify://apps/analyzify-ga4-ads-tracking/blocks/app-embed-v4/69637cfd-dd6f-4511-aa97-7037cfb5515c --> 1902 1903 1904<!-- BEGIN app snippet: an_analyzify_settings --> 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915
1916<script defer> 1917 // AN_ANALYZIFY_SETTINGS 1918 (() => { 1919 try { 1920 const startTime = performance.now(); 1921 window.analyzify = window.analyzify || {}; 1922 1923 window.analyzify.log = (t, groupName, nestedGroupName) => { 1924 try { 1925 const styles = { 1926 default: 'color:#fff;background:#413389;', 1927 an_analyzify: 'color:#fff;background:#1f77b4;', 1928 an_analyzify_settings: 'color:#fff;background:#ff7f0e;', 1929 an_fb: 'color:#fff;background:#2ca02c;', 1930 an_criteo: 'color:#fff;background:#d62728;', 1931 an_bing: 'color:#fff;background:#9467bd;', 1932 an_clarity: 'color:#fff;background:#8c564b;', 1933 an_hotjar: 'color:#fff;background:#8c564b;', 1934 an_gtm: 'color:#fff;background:#e377c2;', 1935 an_klaviyo: 'color:#fff;background:#7f7f7f;', 1936 an_pinterest: 'color:#fff;background:#bcbd22;', 1937 an_rebuy: 'color:#fff;background:#17becf;', 1938 an_tiktok: 'color:#fff;background:#ffbb78;', 1939 an_x: 'color:#fff;background:#98df8a;', 1940 an_consent: 'color:#fff;background:#ff9896;' 1941 }; 1942 1943 if (window.analyzify.logging && t != null) { 1944 const style = styles[groupName] || styles['default']; 1945 console.log(`%c[${groupName || 'Analyzify'}]${nestedGroupName ? ` ${nestedGroupName}` : ''}`, style, t); 1946 analyzify.logs.push(t); 1947 if (analyzify?.stopAtLog) { 1948 debugger; 1949 } 1950 } 1951 } catch (error) { 1952 console.error("Error processing analyzify settings:", error); 1953 } 1954 } 1955 1956 (() => { 1957 try { 1958 window.analyzify = { 1959 ...window.analyzify, 1960 logging: "" == "true", 1961 logs: [], 1962 testing_environment: false, 1963 consent_version: null, 1964 initial_load: {}, 1965 variant_changed_with_view_item: false, 1966 listing_variant_tracking: false, 1967 chunk_size: 25, 1968 properties: { 1969 GTM: { 1970 status: true, 1971 id: "", 1972 multiple_view_item_list: false, 1973 feed_country: "", 1974 feed_region: "", 1975 feed_language: "", 1976 merchant_id: "", 1977 enhanced_params: true, 1978 replace_session_id: false, 1979 replace_gclid: false, 1980 variant_changed: true, 1981 generate_lead: true, 1982 video_tracking: true, 1983 view_image: true, 1984 enableQueuedEvents: false, 1985 }, 1986 GADS: { 1987 status:false, 1988 conversion_linker:true, 1989 allow_ad_personalization_signals:false, 1990 ads_data_redaction:true, 1991 url_passthrough:false, 1992 primary: { 1993 status: false, 1994 id: "AW-376655350", 1995 feed_country: "GB", 1996 feed_region: "GB", 1997 feed_language: "", 1998 merchant_id: "", 1999 product_id_format: "product_sku", 2000 replace_session_id:false, 2001 replace_gclid:false, 2002 xc_b2b: false, 2003 xc_rt: false, 2004 remarketing: { 2005 status:false, 2006 page_view: false, 2007 remove_from_cart: false, 2008 }, 2009 conversions: { 2010 view_item: { 2011 status: true, 2012 value: "Z7nPCJST5KICEPabzbMB", 2013 }, 2014 add_to_cart: { 2015 status: true, 2016 value: "sLa1CI_Rlc8YEPabzbMB", 2017 }, 2018 begin_checkout: { 2019 status: true, 2020 value: "0xV8CKf5ms8YEPabzbMB", 2021 }, 2022 purchase: { 2023 status: false, 2024 value: "", 2025 }, 2026 generate_lead: { 2027 status: false, 2028 value: "", 2029 } 2030 }, 2031 }, 2032 secondary: { 2033 status: false, 2034 id: "", 2035 feed_country: "",
2036 feed_region: "", 2037 merchant_id: "", 2038 feed_language: "", 2039 product_id_format: "product_sku", 2040 xc_b2b: false, 2041 xc_rt: false, 2042 remarketing: { 2043 status: false, 2044 page_view: false, 2045 remove_from_cart: false, 2046 }, 2047 conversions: { 2048 view_item: { 2049 status: false, 2050 value: "", 2051 }, 2052 add_to_cart:{ 2053 status: false, 2054 value: "", 2055 }, 2056 begin_checkout:{ 2057 status: false, 2058 value: "", 2059 }, 2060 purchase:{ 2061 status: false, 2062 value: "", 2063 }, 2064 generate_lead: { 2065 status: false, 2066 value: "", 2067 } 2068 } 2069 }, 2070 market: { 2071 status: false, 2072 product_id_format: "product_sku", 2073 gads_dynamic_item_id: false, 2074 overrides: [], 2075 }, 2076 }, 2077 GA4: { 2078 status: false, 2079 multiple_view_item_list: false, 2080 enhanced_params: true, 2081 all_forms: true, 2082 primary: { 2083 status: false, 2084 id: "G-41RG534SPF", 2085 config_id: "", 2086 product_id_format: "product_sku", 2087 replace_session_id: false, 2088 events: { 2089 variant_changed: true, 2090 view_item_list: true, 2091 select_item: true, 2092 nav_click: false, 2093 view_item: true, 2094 add_to_cart: true, 2095 add_to_wishlist: true, 2096 view_cart: true, 2097 remove_from_cart: true, 2098 begin_checkout: true, 2099 purchase: false, 2100 generate_lead: true, 2101 page_404: true, 2102 video_tracking: false, 2103 view_image: true, 2104 } 2105 }, 2106 secondary: { 2107 status: false, 2108 id: "", 2109 product_id_format: "product_sku", 2110 replace_session_id: false, 2111 events: { 2112 variant_changed: true, 2113 view_item_list: false, 2114 select_item: false, 2115 nav_click: false, 2116 view_item: false, 2117 add_to_cart: false, 2118 add_to_wishlist: false, 2119 view_cart: false, 2120 remove_from_cart: false, 2121 begin_checkout: false, 2122 purchase: false, 2123 generate_lead: false, 2124 page_404: true, 2125 video_tracking: false, 2126 view_image: true, 2127 } 2128 } 2129 }, 2130 X: { 2131 status: false, 2132 id:"", 2133 product_id_format: "product_sku", 2134 events:{ 2135 page_view: "", 2136 add_to_cart: "", 2137 begin_checkout: "", 2138 search: "" 2139 } 2140 }, 2141 BING: { 2142 status: false, 2143 id: "", 2144 product_id_format: "product_sku", 2145 events: { 2146 home: true, 2147 view_item: true, 2148 view_item_list: true, 2149 view_cart: true, 2150 search: true, 2151 add_to_cart: false, 2152 begin_checkout: false, 2153 purchase: false 2154 } 2155 }, 2156 FACEBOOK: { 2157 status: false, 2158 all_forms: false, 2159 primary: { 2160 status: false, 2161 id: "700894577311467", 2162 product_id_format: "product_sku", 2163 events: { 2164 view_content: true, 2165 view_collection: true, 2166 search: true, 2167 add_to_cart: true, 2168 add_to_wishlist: true, 2169 view_cart: true, 2170 initiate_checkout: true, 2171 add_payment_info: false, 2172 generate_lead: false, 2173 purchase: false, 2174 } 2175 }, 2176 secondary: { 2177 status: false, 2178 id: "", 2179 product_id_format: "", 2180 events: { 2181 view_content: false, 2182 view_collection: true, 2183 search: false, 2184 add_to_cart: false, 2185 add_to_wishlist: false, 2186 view_cart: true, 2187 initiate_checkout: false, 2188 add_payment_info: false, 2189 generate_lead: false, 2190 purchase: false, 2191 } 2192 } 2193 }, 2194 SERVERSIDE: { 2195 store_id: null, 2196 status: false, 2197 measurement_id: null, 2198 datalayer: false, 2199 endpoint: 'https://analyzifycdn.com/collect', 2200 testEndpoint: 'https://stag.analyzifycdn.com/collect', 2201 azfy_attribution: 'dual', 2202 shop_domain: "nomochoc.com", 2203 klaviyo_ss_active: '', 2204 all_forms: false, 2205 events: { 2206 add_to_cart: false, 2207 view_item: true, 2208 view_item_list: true, 2209 page_view: true, 2210 begin_checkout: false, 2211 search: true, 2212 generate_lead: false, 2213 }, 2214 sendCartUpdateDebug: false, 2215 }, 2216 PINTEREST:{ 2217 status: false, 2218 id: "", 2219 product_id_format: "product_sku", 2220 events:{ 2221 view_item_list: false, 2222 view_item: false, 2223 add_to_cart: false, 2224 purchase: false, 2225 } 2226 }, 2227 CRITEO:{ 2228 status: false, 2229 id: "", 2230 product_id_format: "product_sku", 2231 events:{ 2232 view_item_list: false, 2233 view_item: false, 2234 add_to_cart: false, 2235 view_cart: false, 2236 purchase: false, 2237 } 2238 }, 2239 CLARITY:{ 2240 status: false, 2241 id: "", 2242 events: { 2243 view_item: false, 2244 view_item_list: false, 2245 view_cart: false, 2246 add_to_cart: false, 2247 add_to_wishlist: false, 2248 remove_from_cart: false, 2249 begin_checkout: false, 2250 search: false, 2251 } 2252 }, 2253 HOTJAR:{ 2254 status: false, 2255 id: "", 2256 events: { 2257 view_item: false, 2258 view_item_list: false, 2259 view_cart: false, 2260 add_to_cart: false, 2261 add_to_wishlist: false, 2262 remove_from_cart: false, 2263 begin_checkout: false, 2264 search: false, 2265 } 2266 }, 2267 SNAPCHAT:{ 2268 status: false, 2269 id: "", 2270 events: { 2271 view_item: false, 2272 add_to_cart: false, 2273 initiate_checkout: false, 2274 }, 2275 product_id_format: "product_sku", 2276 }, 2277 REDDIT:{ 2278 status: false, 2279 id: "", 2280 product_id_format: "product_id", 2281 all_forms: false, 2282 events: { 2283 view_item: false, 2284 add_to_cart: false, 2285 search: false, 2286 generate_lead: false, 2287 }, 2288 }, 2289 KLAVIYO:{ 2290 status: false, 2291 id: "ScnKFn", 2292 product_id_format: "product_sku", 2293 events:{ 2294 subscribe: false, 2295 view_item_list: true, 2296 view_item: true, 2297 add_to_cart: true, 2298 add_to_wishlist: true, 2299 begin_checkout: true, 2300 search: true, 2301 purchase: false, 2302 } 2303 }, 2304 2305 TIKTOK:{ 2306 status: false, 2307 id: "", 2308 product_id_format: "product_sku", 2309 all_forms: false, 2310 events:{ 2311 view_item: false, 2312 add_to_cart: false, 2313 begin_checkout: false, 2314 search: false, 2315 purchase: false, 2316 generate_lead: false, 2317 } 2318 } 2319 }, 2320 send_unhashed_email: false, 2321 hide_raw_userdata: false,
2322 feed_region: 'GB', 2323 feed_country: 'GB', 2324 debug_mode: false, 2325 rebuy_atc_rfc: false, 2326 pageFly: false, 2327 user_id_format: "cid", 2328 send_user_id: true, 2329 addedProduct: null 2330 } 2331 } catch (error) { 2332 console.error("Error processing analyzify settings:", error); 2333 } 2334 })(); 2335 2336 window.analyzify_custom_classes = 'null'; 2337 window.analyzify_measurement_id = ''; 2338 window.analyzify_measurement_id_v3 = 'G-41RG534SPF'; 2339 window.analyzify.gtag_config = {}; 2340 2341 window.collection_sku_list = [ 2342 2343 'FKND015050A - 12 bars', 2344 2345 'FKN18714A', 2346 2347 'FKND013565A - 1 bar', 2348 2349 'FKNN010258A', 2350 2351 'FKND011354A - 12 bars', 2352 2353 'FKND013564A - 12 bars', 2354 2355 'FKND011353A - 12 bars', 2356 2357 'FKND013565A - 12 bars', 2358 2359 'FKND011362A - 12 bars', 2360 2361 'FKND013579A - 6 bars', 2362 2363 'FKND013581A - 6 bars', 2364 2365 'FKND013583A - 6 bars', 2366 2367 'FKND013584A - 6 bars', 2368 2369 'FKND013577A - 7 bars', 2370 2371 'FKND013573A - 7 bars', 2372 2373 'FKNN011357A', 2374 2375 'FKL18318A', 2376 2377 'FKND013579A - 6 bar/FKND013581A - 6 bar' 2378 2379 ]; 2380 2381 window.analyzify.cart_attributes = null; 2382 window.analyzify.eventId = null; 2383 window.analyzify.cart_id = null; 2384 window.analyzify.sh_info_obj = {}; 2385 2386 const orders = [ 2387 2388 ]; 2389 const totalOrderPrice = orders.reduce((acc, price) => acc + price, 0); 2390 2391 window.analyzify.shopify_customer = { 2392 2393 type: 'visitor', 2394 2395 }; 2396 2397 window.analyzify.shopify_template = 'collection'; 2398 2399 (() => { 2400 try { 2401 2402 2403 window.analyzify.getCollectionObj = (() => { 2404 try { 2405 return { 2406 products: [ 2407 2408 { 2409 title: "Toasted Coconut Chocolate Bars", 2410 id: 15376417587579, 2411 handle: "toasted-coconut-chocolate-bars", 2412 price: 2000, 2413 compare_at_price: null, 2414 type: "Vegan Chocolate Bars", 2415 vendor: "NOMO Chocolate", 2416 available: true, 2417 tags: ["_label_New","BirthdayDiscount","Offers \u0026 Deals","Small Bars","transition"], 2418 taxonomy: { 2419 id: "fb-2-3-2", 2420 name: "Chocolate", 2421 ancestors: ["Candy \u0026 Chocolate","Food Items","Food, Beverages \u0026 Tobacco"] 2422 }, 2423 options: ["Weight","Size"], 2424 variants: [ 2425 2426 2427 { 2428 id: 56226618769787, 2429 title: "33g \/ 12 Bars", 2430 price: 2000, 2431 available: true, 2432 sku: "FKND015050A - 12 bars", 2433 barcode: "1777454376", 2434 compare_at_price: null, 2435 } 2436 2437 ], 2438 }, 2439 2440 { 2441 title: "Mixed Chocolate Box", 2442 id: 6772151812232, 2443 handle: "mixed-chocolate-box", 2444 price: 1499, 2445 compare_at_price: null, 2446 type: "Vegan Chocolate Boxes", 2447 vendor: "NOMO Chocolate", 2448 available: true, 2449 tags: ["gift box","transition"], 2450 taxonomy: { 2451 id: "fb-2-3-2", 2452 name: "Chocolate", 2453 ancestors: ["Candy \u0026 Chocolate","Food Items","Food, Beverages \u0026 Tobacco"] 2454 }, 2455 options: ["Title"], 2456 variants: [ 2457 2458 2459 { 2460 id: 39952492134536, 2461 title: "Default Title", 2462 price: 1499, 2463 available: true, 2464 sku: "FKN18714A", 2465 barcode: "5010775297364", 2466 compare_at_price: null, 2467 } 2468 2469 ], 2470 }, 2471 2472 { 2473 title: "Pick \u0026 Mix Bar Bundle", 2474 id: 15062023274875, 2475 handle: "pick-mix-bar-bundle", 2476 price: 170, 2477 compare_at_price: null, 2478 type: "Vegan Chocolate Bars Pick \u0026 Mix", 2479 vendor: "NOMO Chocolate", 2480 available: true, 2481 tags: ["Bundles"], 2482 taxonomy: { 2483 id: "fb-2-3-2", 2484 name: "Chocolate", 2485 ancestors: ["Candy \u0026 Chocolate","Food Items","Food, Beverages \u0026 Tobacco"] 2486 }, 2487 options: ["Flavour"], 2488 variants: [ 2489 2490 2491 { 2492 id: 55442083840379, 2493 title: "Cookie Dough Chocolate Bar (1 bar)", 2494 price: 170, 2495 available: true, 2496 sku: "FKND013565A - 1 bar", 2497 barcode: "5010775204928", 2498 compare_at_price: null, 2499 } 2500 2501 ], 2502 }, 2503 2504 { 2505 title: "Ultimate Sharing Box", 2506 id: 7964928311432, 2507 handle: "ultimate-sharing-box", 2508 price: 700, 2509 compare_at_price: null, 2510 type: "Vegan Chocolate Boxes", 2511 vendor: "NOMO Chocolate", 2512 available: true, 2513 tags: ["_label_Up to 21% Discount","Sharing Box"], 2514 taxonomy: { 2515 id: "fb-2-3-2", 2516 name: "Chocolate", 2517 ancestors: ["Candy \u0026 Chocolate","Food Items","Food, Beverages \u0026 Tobacco"] 2518 }, 2519 options: ["Weight"], 2520 variants: [ 2521 2522 2523 { 2524 id: 55551016894843, 2525 title: "140g", 2526 price: 700, 2527 available: true, 2528 sku: "FKNN010258A", 2529 barcode: "5010775204409", 2530 compare_at_price: null, 2531 } 2532 2533 ], 2534 }, 2535 2536 { 2537 title: "Fruit \u0026 Crunch Chocolate Bars", 2538 id: 4762110656648, 2539 handle: "fruit-crunch-chocolate-bars", 2540 price: 2000, 2541 compare_at_price: null, 2542 type: "Vegan Chocolate Bars", 2543 vendor: "NOMO Chocolate", 2544 available: true, 2545 tags: ["_label_12 \/ 24 bars","BirthdayDiscount","High CVR%","Offers \u0026 Deals","Small Bars","transition"], 2546 taxonomy: { 2547 id: "fb-2-3-2", 2548 name: "Chocolate", 2549 ancestors: ["Candy \u0026 Chocolate","Food Items","Food, Beverages \u0026 Tobacco"] 2550 }, 2551 options: ["Weight","Size"], 2552 variants: [ 2553 2554 2555 { 2556 id: 55021798457723, 2557 title: "32g \/ 12 Bars", 2558 price: 2000, 2559 available: true, 2560 sku: "FKND011354A - 12 bars", 2561 barcode: null, 2562 compare_at_price: null, 2563 } 2564 2565 ], 2566 }, 2567 2568 { 2569 title: "Salted Popcorn Chocolate Bars", 2570 id: 15045558501755, 2571 handle: "salted-popcorn-chocolate-bars", 2572 price: 2000, 2573 compare_at_price: null, 2574 type: "Vegan Chocolate Bars", 2575 vendor: "NOMO Chocolate", 2576 available: true, 2577 tags: ["_label_12 \/ 24 bars"], 2578 taxonomy: { 2579 id: "fb-2-3-2", 2580 name: "Chocolate", 2581 ancestors: ["Candy \u0026 Chocolate","Food Items","Food, Beverages \u0026 Tobacco"] 2582 }, 2583 options: ["Weight","Size"], 2584 variants: [ 2585 2586 2587 { 2588 id: 55382384247163, 2589 title: "32g \/ 12 Bars", 2590 price: 2000, 2591 available: true, 2592 sku: "FKND013564A - 12 bars", 2593 barcode: null, 2594 compare_at_price: null, 2595 } 2596 2597 ], 2598 }, 2599 2600 { 2601 title: "Caramel Chocolate Bars", 2602 id: 5141180383368, 2603 handle: "caramel-chocolate-bars", 2604 price: 2000, 2605 compare_at_price: null, 2606 type: "Vegan Chocolate Bars", 2607 vendor: "NOMO Chocolate", 2608 available: true, 2609 tags: ["_label_12 \/ 24 bars","BirthdayDiscount","Offers \u0026 Deals","Small Bars","transition"], 2610 taxonomy: { 2611 id: "fb-2-3-2", 2612 name: "Chocolate", 2613 ancestors: ["Candy \u0026 Chocolate","Food Items","Food, Beverages \u0026 Tobacco"] 2614 }, 2615 options: ["Weight","Size"], 2616 variants: [ 2617 2618 2619 { 2620 id: 55021781975419, 2621 title: "38g \/ 12 Bars", 2622 price: 2000, 2623 available: true, 2624 sku: "FKND011353A - 12 bars", 2625 barcode: null, 2626 compare_at_price: null, 2627 } 2628 2629 ], 2630 }, 2631 2632 { 2633 title: "Cookie Dough Chocolate Bars", 2634 id: 15062685057403, 2635 handle: "cookie-dough-chocolate-bars", 2636 price: 2000, 2637 compare_at_price: null, 2638 type: "Vegan Chocolate Bars", 2639 vendor: "NOMO Chocolate", 2640 available: true, 2641 tags: ["_label_12 \/ 24 bars"], 2642 taxonomy: { 2643 id: "fb-2-3-2", 2644 name: "Chocolate", 2645 ancestors: ["Candy \u0026 Chocolate","Food Items","Food, Beverages \u0026 Tobacco"] 2646 }, 2647 options: ["Weight","Size"], 2648 variants: [ 2649 2650 2651 { 2652 id: 55391340495227, 2653 title: "33g \/ 12 Bars", 2654 price: 2000, 2655 available: true, 2656 sku: "FKND013565A - 12 bars", 2657 barcode: null, 2658 compare_at_price: null, 2659 } 2660 2661 ], 2662 }, 2663 2664 { 2665 title: "Creamy Chocolate Bars", 2666 id: 4762109313160, 2667 handle: "creamy-chocolate-bars", 2668 price: 2000, 2669 compare_at_price: null, 2670 type: "Vegan Chocolate Bars", 2671 vendor: "NOMO Chocolate", 2672 available: true, 2673 tags: ["_label_12 \/ 24 bars","BirthdayDiscount","High CVR%","Offers \u0026 Deals","Small Bars","transition"], 2674 taxonomy: { 2675 id: "fb-2-3-2", 2676 name: "Chocolate", 2677 ancestors: ["Candy \u0026 Chocolate","Food Items","Food, Beverages \u0026 Tobacco"] 2678 }, 2679 options: ["Weight","Size"], 2680 variants: [ 2681 2682 2683 { 2684 id: 55021784400251, 2685 title: "38g \/ 12 Bars", 2686 price: 2000, 2687 available: true, 2688 sku: "FKND011362A - 12 bars", 2689 barcode: null, 2690 compare_at_price: null, 2691 } 2692 2693 ], 2694 }, 2695 2696 { 2697 title: "Birthday Cake Filled Chocolate Bars", 2698 id: 15060021969275, 2699 handle: "birthday-cake-filled-bars", 2700 price: 2400, 2701 compare_at_price: null, 2702 type: "Vegan Chocolate Bars", 2703 vendor: "NOMO Chocolate", 2704 available: true, 2705 tags: ["_label_6 \/ 12 bars"], 2706 taxonomy: { 2707 id: "fb-2-3-2", 2708 name: "Chocolate", 2709 ancestors: ["Candy \u0026 Chocolate","Food Items","Food, Beverages \u0026 Tobacco"] 2710 }, 2711 options: ["Weight","Size"], 2712 variants: [ 2713 2714 2715 { 2716 id: 55382409380219, 2717 title: "127g \/ 6 Bars", 2718 price: 2400, 2719 available: true, 2720 sku: "FKND013579A - 6 bars", 2721 barcode: null, 2722 compare_at_price: null, 2723 } 2724 2725 ], 2726 }, 2727 2728 { 2729 title: "Caramel Filled Chocolate Bars", 2730 id: 8308074217608, 2731 handle: "caramel-filled-chocolate-bars", 2732 price: 1100, 2733 compare_at_price: 2340, 2734 type: "Vegan Chocolate Bars", 2735 vendor: "NOMO Chocolate", 2736
2736 available: true, 2737 tags: ["_label_6 \/ 12 bars"], 2738 taxonomy: { 2739 id: "fb-2-3-2", 2740 name: "Chocolate", 2741 ancestors: ["Candy \u0026 Chocolate","Food Items","Food, Beverages \u0026 Tobacco"] 2742 }, 2743 options: ["Weight","Size"], 2744 variants: [ 2745 2746 2747 { 2748 id: 53555641581947, 2749 title: "120g \/ 6 bars", 2750 price: 1100, 2751 available: true, 2752 sku: "FKND013581A - 6 bars", 2753 barcode: "5010775204867", 2754 compare_at_price: 2340, 2755 } 2756 2757 ], 2758 }, 2759 2760 { 2761 title: "Fudge Filled Chocolate Bars", 2762 id: 8308113047688, 2763 handle: "fudge-filled-chocolate-bars", 2764 price: 2400, 2765 compare_at_price: null, 2766 type: "Vegan Chocolate Bars", 2767 vendor: "NOMO Chocolate", 2768 available: true, 2769 tags: ["_label_6 \/ 12 bars"], 2770 taxonomy: { 2771 id: "fb-2-3-2", 2772 name: "Chocolate", 2773 ancestors: ["Candy \u0026 Chocolate","Food Items","Food, Beverages \u0026 Tobacco"] 2774 }, 2775 options: ["Weight","Size"], 2776 variants: [ 2777 2778 2779 { 2780 id: 53555646431611, 2781 title: "120g \/ 6 bars", 2782 price: 2400, 2783 available: true, 2784 sku: "FKND013583A - 6 bars", 2785 barcode: "754680338", 2786 compare_at_price: null, 2787 } 2788 2789 ], 2790 }, 2791 2792 { 2793 title: "Cookie Dough Filled Chocolate Bars", 2794 id: 7341832634504, 2795 handle: "cookie-dough-filled-bar", 2796 price: 1100, 2797 compare_at_price: 2400, 2798 type: "Vegan Chocolate Bars", 2799 vendor: "NOMO Chocolate", 2800 available: true, 2801 tags: ["_label_6 \/ 12 bars","BirthdayDiscount","Block Bars"], 2802 taxonomy: { 2803 id: "fb-2-3-2", 2804 name: "Chocolate", 2805 ancestors: ["Candy \u0026 Chocolate","Food Items","Food, Beverages \u0026 Tobacco"] 2806 }, 2807 options: ["Weight","Size"], 2808 variants: [ 2809 2810 2811 { 2812 id: 53555649773947, 2813 title: "127g \/ 6 bars", 2814 price: 1100, 2815 available: true, 2816 sku: "FKND013584A - 6 bars", 2817 barcode: "5010775204959", 2818 compare_at_price: 2400, 2819 } 2820 2821 ], 2822 }, 2823 2824 { 2825 title: "Creamy Chocolate Large Bars", 2826 id: 4762104758408, 2827 handle: "creamy-chocolate-large-bars", 2828 price: 2200, 2829 compare_at_price: null, 2830 type: "Vegan Chocolate Bars", 2831 vendor: "NOMO Chocolate", 2832 available: true, 2833 tags: ["_label_7 \/ 14 bars","BirthdayDiscount","Block Bars","Offers \u0026 Deals"], 2834 taxonomy: { 2835 id: "fb-2-3-2", 2836 name: "Chocolate", 2837 ancestors: ["Candy \u0026 Chocolate","Food Items","Food, Beverages \u0026 Tobacco"] 2838 }, 2839 options: ["Weight","Size"], 2840 variants: [ 2841 2842 2843 { 2844 id: 53555657605499, 2845 title: "75g \/ 7 bars", 2846 price: 2200, 2847 available: true, 2848 sku: "FKND013577A - 7 bars", 2849 barcode: null, 2850 compare_at_price: null, 2851 } 2852 2853 ], 2854 }, 2855 2856 { 2857 title: "Caramel \u0026 Sea Salt Chocolate Large Bars", 2858 id: 8311204806792, 2859 handle: "caramel-sea-salt-chocolate-large-bars", 2860 price: 2000, 2861 compare_at_price: null, 2862 type: "Vegan Chocolate Bars", 2863 vendor: "NOMO Chocolate", 2864 available: true, 2865 tags: ["_label_7 \/ 14 bars","Block Bars"], 2866 taxonomy: { 2867 id: "fb-2-3-2", 2868 name: "Chocolate", 2869 ancestors: ["Candy \u0026 Chocolate","Food Items","Food, Beverages \u0026 Tobacco"] 2870 }, 2871 options: ["Weight","Size"], 2872 variants: [ 2873 2874 2875 { 2876 id: 53555665895803, 2877 title: "75g \/ 7 bars", 2878 price: 2000, 2879 available: true, 2880 sku: "FKND013573A - 7 bars", 2881 barcode: null, 2882 compare_at_price: null, 2883 } 2884 2885 ], 2886 }, 2887 2888 { 2889 title: "Kids Crispy Mo", 2890 id: 7341872152712, 2891 handle: "crispy-mo", 2892 price: 2800, 2893 compare_at_price: null, 2894 type: "", 2895 vendor: "NOMO Chocolate", 2896 available: true, 2897 tags: ["_label_35 Units","BirthdayDiscount","Kids","transition"], 2898 taxonomy: { 2899 id: "fb-2-3-2", 2900 name: "Chocolate", 2901 ancestors: ["Candy \u0026 Chocolate","Food Items","Food, Beverages \u0026 Tobacco"] 2902 }, 2903 options: ["Weight","Size"], 2904 variants: [ 2905 2906 2907 { 2908 id: 55548094906747, 2909 title: "15g \/ 35 pieces", 2910 price: 2800, 2911 available: true, 2912 sku: "FKNN011357A", 2913 barcode: "05010775297562", 2914 compare_at_price: null, 2915 } 2916 2917 ], 2918 }, 2919 2920 { 2921 title: "Kids Creamy Chocolate Lollies", 2922 id: 6620768960648, 2923 handle: "kids-creamy-chocolate-lollies", 2924 price: 5000, 2925 compare_at_price: null, 2926 type: "Vegan Lollies", 2927 vendor: "NOMO Chocolate", 2928 available: true, 2929 tags: ["_label_72 lollies","BirthdayDiscount","Kids","Offers \u0026 Deals"], 2930 taxonomy: { 2931 id: "fb-2-3-2", 2932 name: "Chocolate", 2933 ancestors: ["Candy \u0026 Chocolate","Food Items","Food, Beverages \u0026 Tobacco"] 2934 }, 2935 options: ["Weight","Size"], 2936 variants: [ 2937 2938 2939 { 2940 id: 55551029772667, 2941 title: "12g \/ 72 lollies", 2942 price: 5000, 2943 available: true, 2944 sku: "FKL18318A", 2945 barcode: "05010775296435", 2946 compare_at_price: null, 2947 } 2948 2949 ], 2950 }, 2951 2952 { 2953 title: "NOMO Birthday Cake Filled Chocolate Bars\/ Caramel Filled Chocolate Bars Bundle", 2954 id: 15178795221371, 2955 handle: "nomo-birthday-cake-filled-chocolate-bars-caramel-filled-chocolate-bars-bundle", 2956 price: 4000, 2957 compare_at_price: 4740, 2958 type: "Vegan Chocolate Bars", 2959 vendor: "NOMO Chocolate", 2960 available: true, 2961 tags: ["BirthdayDiscount","Bundles","Offers \u0026 Deals","transition"], 2962 taxonomy: { 2963 id: "fb-2-3-2", 2964 name: "Chocolate", 2965 ancestors: ["Candy \u0026 Chocolate","Food Items","Food, Beverages \u0026 Tobacco"] 2966 }, 2967 options: ["Title"], 2968 variants: [ 2969 2970 2971 { 2972 id: 55626565353851, 2973 title: "Default Title", 2974 price: 4000, 2975 available: true, 2976 sku: "FKND013579A - 6 bar\/FKND013581A - 6 bar", 2977 barcode: null, 2978 compare_at_price: 4740, 2979 } 2980 2981 ], 2982 } 2983 2984 ], 2985 title: "NOMO Plant-Powered Chocolate - All Product" || null, 2986 id: 189679861896 || null, 2987 handle: "all-products" || null, 2988 all_products_count: 30 || null, 2989 products_count: 30 || null, 2990 }; 2991 } catch (error) { 2992 console.error("Error processing collectionObj:", error); 2993 return null; 2994 } 2995 })(); 2996 2997 } catch (error) { 2998 console.error("Error processing analyzify settings:", error); 2999 } 3000 })(); 3001 3002 window.analyzify.detectedCart = {"note":null,"attributes":{},"original_total_price":0,"total_price":0,"total_discount":0,"total_weight":0.0,"item_count":0,"items":[],"requires_shipping":false,"currency":"GBP","items_subtotal_price":0,"cart_level_discount_applications":[],"checkout_charge_amount":0}; 3003 3004 window.analyzify.market = (() => { 3005 try { 3006 const marketObj = { 3007 id: 142934152, 3008 handle: "gb", 3009 language: "en", 3010 country: "gb" 3011 } 3012 return marketObj; 3013 } catch (error) { 3014 console.error("Error processing market:", error); 3015 } 3016 })(); 3017 3018 window.analyzify.shop = (() => { 3019 try { 3020 const shopObj = { 3021 root_url: null || null, 3022 locale: "" || window?.Shopify?.locale?.toLowerCase() || null, 3023 country: window?.Shopify?.country?.toLowerCase() || null 3024 } 3025 return shopObj; 3026 } catch (error) { 3027 console.error("Error processing market:", error); 3028 } 3029 })(); 3030 3031 let isNoUtmInCookiesTestStore = false; 3032 window.analyzify.useCookiesForAttributionStoring = !isNoUtmInCookiesTestStore; 3033 window.analyzify.sendConsentSettings = false; 3034 window.analyzify.no_cartId_atr = false; 3035 3036 window.analyzify.debug = false; 3037 window.analyzify.op_cart_data_collection = true; 3038 window.analyzify.report_cart_atr_upsert = true; 3039 window.analyzify.report_cart_atr_admin = true; 3040 window.analyzify.report_cart_atr_admin_utm = true; 3041 window.analyzify.report_cart_atr_admin_cook = true; 3042 window.analyzify.report_cart_atr_admin_clid = true; 3043 window.analyzify.report_cart_atr_admin_consent = true; 3044 3045 window.analyzify.currency = window?.Shopify?.currency?.active || window.analyzify?.detectedCart?.currency || 'GBP' || null; 3046 3047 window.analyzify.storeObj = { 3048 store_url: (Shopify.shop || 'https://nomochoc.com').startsWith('https') ? (Shopify.shop || 'https://nomochoc.com')
3048: 'https://' + (Shopify.shop || 'https://nomochoc.com'), 3049 store_name: (Shopify.shop || 'nomochoc.com').replace('.myshopify.com', '') 3050 }; 3051 3052 window.analyzify.itemProps = window.analyzify?.itemProps || {}; 3053 3054 window.analyzify.checksendcartdata_status = false; 3055 3056 window.analyzify.consent_active = true; 3057 window.analyzify.gcm_active = false; 3058 window.analyzify.cookiebot_active = false; 3059 window.analyzify.basic_consent_mode_active = false; 3060 3061 window.analyzify.ga4_basic_consent_mode_active = false; 3062 window.analyzify.gads_basic_consent_mode_active = false; 3063 3064 window.analyzify.consent_flag = window.analyzify.consent_flag || { 3065 default: false, 3066 update: false, 3067 initial: false 3068 }; 3069 3070 window.analyzify.current_consent = { 3071 ad_storage: null, 3072 analytics_storage: null, 3073 ad_user_data: null, 3074 ad_personalization: null, 3075 personalization_storage: null, 3076 functionality_storage: "granted", 3077 wait_for_update: 500, 3078 }; 3079 analyzify.log('Analyzify settings loaded', 'an_analyzify_settings'); 3080 const endTime = performance.now(); 3081 const loadTime = (endTime - startTime).toFixed(2); 3082 console.log(`Analyzify settings loaded in ${loadTime}ms.`); 3083 } catch (error) { 3084 console.error("Error processing analyzify settings:", error); 3085 } 3086 })(); 3087</script>
3087 3088<!-- END app snippet --> 3089 3090 3091 3092<!-- BEGIN app snippet: an_consent -->
3092<script> 3093 (() => { 3094 try { 3095 window.analyzify = window.analyzify || {}; 3096 3097 window.analyzify.consent_version = "2.4.1"; 3098 3099 // Initialize consent flags 3100 window.analyzify.consent_flag = window.analyzify.consent_flag || { 3101 default: false, 3102 update: false, 3103 initial: false 3104 }; 3105 3106 window.analyzify.consent_flag.initial = true; 3107 3108 analyzify.log(`consent_active: ${window.analyzify.consent_active}`, 'an_consent', 'consentActive'); 3109 analyzify.log(`gcm_active: ${window.analyzify.gcm_active}`, 'an_consent', 'gcmActive'); 3110 analyzify.log(`cookiebot_active: ${window.analyzify.cookiebot_active}`, 'an_consent', 'cookiebotActive'); 3111 analyzify.log(`basic_consent_mode_active: ${window.analyzify.basic_consent_mode_active}`, 'an_consent', 'consentModeAdvanced'); 3112 3113 const analyzifyDebugLogger = (status) => { 3114 const shCustomerPrivacy = Shopify?.customerPrivacy; 3115 if (!shCustomerPrivacy) { 3116 console.log('[Analyzify Debug] Shopify.customerPrivacy not found.'); 3117 return; 3118 } 3119 3120 console.group(`%c[Analyzify Debug] Shopify.customerPrivacy State: ${status.toUpperCase()}`, 'background-color: #f0f0f0; color: #333; font-weight: bold; padding: 2px 5px; border-radius: 3px;'); 3121 console.log(`Timestamp: ${new Date().toISOString()}`); 3122 3123 for (const key in shCustomerPrivacy) { 3124 if (Object.prototype.hasOwnProperty.call(shCustomerPrivacy, key)) { 3125 const property = shCustomerPrivacy[key]; 3126 const type = typeof property; 3127 let value; 3128 3129 try { 3130 if (type === 'function') { 3131 value = property(); 3132 } 3133 console.log(`${key} (${type}):`, value); 3134 3135 } catch (e) { 3136 console.log(`${key} (${type}): Error getting value -> ${e.message}`); 3137 } 3138 } 3139 } 3140 console.groupEnd(); 3141 }; 3142 3143 if (window.analyzify.consent_active) { 3144 3145 window.dataLayer = window.dataLayer || []; 3146 function gtag() { dataLayer.push(arguments); } 3147 3148 const ConsentManager = { 3149 isInitialized: false, 3150 consentReady: false, 3151 consentQueue: [], 3152 3153 queueConsentAction: function (callback) { 3154 if (this.consentReady) { 3155 callback(window.analyzify.current_consent); 3156 } else { 3157 this.consentQueue.push(callback); 3158 } 3159 }, 3160 3161 processConsentQueue: function () { 3162 if (!this.consentReady) this.consentReady = true; 3163 while (this.consentQueue.length > 0) { 3164 const callback = this.consentQueue.shift(); 3165 try { 3166 callback(window.analyzify.current_consent); 3167 } catch (error) { 3168 console.error('Error processing queued consent action:', error); 3169 } 3170 } 3171 }, 3172 3173 getRegionalDefault: function (callback) { 3174 try { 3175 const cp = Shopify?.customerPrivacy; 3176 const userCanBeTrackedFn = typeof cp?.userCanBeTracked === 'function' ? cp.userCanBeTracked : null; 3177 const shouldShowBannerFn = typeof cp?.shouldShowBanner === 'function' ? cp.shouldShowBanner : null; 3178 const canBeTracked = userCanBeTrackedFn ? userCanBeTrackedFn() : undefined;
3179 const noBannerNeeded = shouldShowBannerFn ? (shouldShowBannerFn() === false) : false; 3180 3181 // Grant consent if the API isn't loaded, no banner is needed, or tracking is already allowed. 3182 if (noBannerNeeded || canBeTracked === true) { 3183 3184 analyzify.log("Default consent status is: GRANTED.", 'an_consent', 'getRegionalDefault'); 3185 const grantedConsent = { ad_storage: 'granted', analytics_storage: 'granted', ad_user_data: 'granted', ad_personalization: 'granted', personalization_storage: 'granted', functionality_storage: 'granted', security_storage: 'granted', sale_of_data: 'denied' }; 3186 return callback(grantedConsent); 3187 3188 } else if (canBeTracked === undefined){ 3189 // Wait for Shopify to collect consent, then resolve using getConsentPrefs 3190 analyzify.log("Waiting for visitorConsentCollected event...", 'an_consent', 'getRegionalDefault'); 3191 3192 const onCollected = () => { 3193 this.getConsentPrefs((consent) => { 3194 if (consent) return callback(consent); 3195 return callback(null); 3196 }); 3197 }; 3198 3199 document.addEventListener( 3200 'visitorConsentCollected', 3201 onCollected, 3202 { once: true, passive: true } 3203 ); 3204 3205 window.Shopify.loadFeatures([{ 3206 name: 'consent-tracking-api', 3207 version: '0.1', 3208 }], error => { 3209 if (error) { 3210 console.error('Error loading Shopify features:', error); 3211 } 3212 analyzify.log("Shopify consent-tracking-api loaded.", 'an_consent', 'loadFeatures'); 3213 }); 3214 3215 // Safety fallback if the event never fires 3216 /* 3217 setTimeout(() => { 3218 document.removeEventListener('visitorConsentCollected', onCollected); 3219 analyzify.log("visitorConsentCollected timeout â using DENIED fallback.", 'an_consent', 'getRegionalDefault'); 3220 const deniedConsent = { ad_storage: 'denied', analytics_storage: 'denied', ad_user_data: 'denied', ad_personalization: 'denied', personalization_storage: 'denied', functionality_storage: 'granted', security_storage: 'granted', sale_of_data: 'denied' }; 3221 return callback(deniedConsent); 3222 }, 5000); 3223 */ 3224 return; 3225 } else { 3226 // Otherwise, the user is in a region that requires consent, and they haven't given it yet. 3227 analyzify.log("Default consent status is: DENIED.", 'an_consent', 'getRegionalDefault'); 3228 const deniedConsent = { ad_storage: 'denied', analytics_storage: 'denied', ad_user_data: 'denied', ad_personalization: 'denied', personalization_storage: 'denied', functionality_storage: 'granted', security_storage: 'granted', sale_of_data: 'denied' }; 3229 return callback(deniedConsent); 3230 } 3231 } catch (e) { 3232 console.error('Error in getRegionalDefault:', e); 3233 return callback(null); // Fallback in case of unexpected error 3234 } 3235 }, 3236 3237 getConsentPrefs: function (callback) { 3238 try { 3239 const customerPrivacy = window.Shopify?.customerPrivacy; 3240 3241 // Fallback: if the API object is missing, treat as granted (aligns with regional default logic) 3242 if (!customerPrivacy) { 3243 const grantedConsent = { 3244 ad_storage: 'granted', 3245 analytics_storage: 'granted', 3246 ad_user_data: 'granted', 3247 ad_personalization: 'granted', 3248 personalization_storage: 'granted', 3249 functionality_storage: 'granted', 3250 security_storage: 'granted', 3251 sale_of_data: 'denied', 3252 }; 3253 return callback(grantedConsent); 3254 } 3255 3256 const currentVisitorConsentFn = typeof customerPrivacy.currentVisitorConsent === 'function' ? customerPrivacy.currentVisitorConsent : null; 3257 const userCanBeTrackedFn = typeof customerPrivacy.userCanBeTracked === 'function' ? customerPrivacy.userCanBeTracked : null; 3258 3259 const visitorConsentObj = currentVisitorConsentFn ? currentVisitorConsentFn() : undefined; 3260 const userCanBeTracked = userCanBeTrackedFn ? userCanBeTrackedFn() : undefined; 3261 3262 // If we don't have a consent object yet or tracking is allowed, grant 3263 if (!visitorConsentObj || userCanBeTracked === true) { 3264 const grantedConsent = { 3265 ad_storage: 'granted', 3266 analytics_storage: 'granted', 3267 ad_user_data: 'granted', 3268 ad_personalization: 'granted', 3269 personalization_storage: 'granted', 3270 functionality_storage: 'granted', 3271 security_storage: 'granted', 3272 sale_of_data: 'denied', 3273 }; 3274 return callback(grantedConsent); 3275 } 3276 3277 const currentConsent = { 3278 ad_storage: visitorConsentObj?.marketing === 'yes' ? 'granted' : 'denied', 3279 analytics_storage: visitorConsentObj?.analytics === 'yes' ? 'granted' : 'denied', 3280 ad_user_data: visitorConsentObj?.marketing === 'yes' ? 'granted' : 'denied', 3281 ad_personalization: visitorConsentObj?.marketing === 'yes' ? 'granted' : 'denied', 3282 personalization_storage: visitorConsentObj?.preferences === 'yes' ? 'granted' : 'denied', 3283 functionality_storage: 'granted', 3284 security_storage: 'granted', 3285 sale_of_data: visitorConsentObj?.sale_of_data === 'yes' ? 'granted' : 'denied', 3286 }; 3287 analyzify.log("Consent preferences retrieved.", 'an_consent', 'getConsentPrefs'); 3288 return callback(currentConsent); 3289 } catch (error) { 3290 console.error('Error getting consent:', error); 3291 return callback(null); 3292 } 3293 }, 3294 3295 dispatchUpdate: function (consent, status) { 3296 document.dispatchEvent(new CustomEvent('AnalyzifyConsent', { 3297 detail: { consent, status } 3298 })); 3299 analyzify.log("Consent updated.", 'an_consent', 'dispatchUpdate'); 3300 }, 3301 3302 init: function () { 3303 if (this.isInitialized) return; 3304 this.isInitialized = true; 3305 3306 const initialize = () => { 3307 this.getRegionalDefault((consent) => { 3308 if (consent && !this.consentReady) { 3309 window.analyzify.current_consent = consent; 3310 3311 if (window.analyzify.basic_consent_mode_active === false) { 3312 this.dispatchUpdate(consent, 'default'); 3313 } 3314 3315 this.processConsentQueue(); 3316 } 3317 }); 3318 }; 3319 3320 const waitForApi = (callback, retries = 0) => { 3321 try { 3322 const cp = Shopify?.customerPrivacy; 3323 const userCanBeTrackedFn = typeof cp?.userCanBeTracked === 'function' ? cp.userCanBeTracked : null; 3324 const currentVisitorConsentFn = typeof cp?.currentVisitorConsent === 'function' ? cp.currentVisitorConsent : null; 3325 const hasCachedConsent = cp && typeof cp.cachedConsent === 'object'; 3326 3327 const userCanBeTracked = userCanBeTrackedFn ? userCanBeTrackedFn() : undefined; 3328 3329 if (userCanBeTracked !== undefined || hasCachedConsent || currentVisitorConsentFn) { 3330 callback(); 3331 analyzify.log("Shopify Customer Privacy API available.", 'an_consent', 'waitForApi'); 3332 } else if (retries < 50) { 3333 setTimeout(() => waitForApi(callback, retries + 1), 200); 3334 analyzify.log("Shopify Customer Privacy API not available. Retrying...", 'an_consent', 'waitForApi'); 3335 } else { 3336 analyzify.log("Shopify Customer Privacy API not available.", 'an_consent', 'waitForApi'); 3337 callback(); 3338 } 3339 } catch (error) { 3340 console.error('Error waiting for Shopify Customer Privacy API:', error); 3341 callback(); 3342 } 3343 }; 3344 3345 waitForApi(initialize); 3346 3347 document.addEventListener("visitorConsentCollected", () => { 3348 this.getConsentPrefs((consent) => { 3349 if (consent) { 3350 window.analyzify.current_consent = consent; 3351 this.dispatchUpdate(consent, 'update'); 3352 } 3353 }); 3354 }); 3355 }, 3356 3357 onChange: function (callback) { 3358 document.addEventListener('AnalyzifyConsent', (e) => { 3359 if (e.detail?.consent) callback(e.detail.consent); 3360 analyzify.log("AnalyzifyConsent event received.", 'an_consent', 'onCh
3360ange'); 3361 }); 3362 } 3363 }; 3364 3365 ConsentManager.init(); 3366 window.analyzify.consentManager = ConsentManager; 3367 3368 window.AnalyzifyConsentInit = (status) => { 3369 if (window.analyzify.consent_flag[status] === true) return; 3370 window.analyzify.consentManager.queueConsentAction((consent) => { 3371 if (consent) ConsentManager.dispatchUpdate(consent, status); 3372 analyzify.log("AnalyzifyConsent event received.", 'an_consent', 'AnalyzifyConsentInit'); 3373 }); 3374 }; 3375 3376 document.addEventListener('AnalyzifyConsent', (e) => { 3377 if (e.detail && e.detail.status && e.detail.consent) { 3378 3379 e.detail.consent.analyzify_consent = ( 3380 e.detail.consent?.ad_storage === "granted" && 3381 e.detail.consent?.analytics_storage === "granted" 3382 ) ? "granted" : "denied"; 3383 3384 if (window.analyzify && analyzify.logging) { 3385 console.group('Analyzify Consent'); 3386 console.log('e.detail.consent', e.detail.consent); 3387 console.log('e.detail.status', e.detail.status); 3388 console.groupEnd(); 3389 } 3390 3391 if (window.analyzify && analyzify.gcm_active) { 3392 if (window.analyzify?.basic_consent_mode_active === false) { 3393 gtag("consent", e.detail.status, e.detail.consent); 3394 gtag("event", "consentUpdate", e.detail.consent); 3395 } 3396 dataLayer.push({ 3397 event: 'consentUpdate', 3398 status: e.detail.status, 3399 consentSettings: e.detail.consent 3400 }); 3401 analyzify.log("Consent updated (gcm_active)", 'an_consent', 'AnalyzifyConsent'); 3402 } 3403 analyzify.log("AnalyzifyConsent event received.", 'an_consent', 'AnalyzifyConsent'); 3404 } 3405 }); 3406 3407 if (window.analyzify.cookiebot_active) { 3408 /** 3409 * Loads Shopify's consent tracking API to ensure it's available. 3410 */ 3411 const loadFeatures = () => { 3412 try { 3413 window.Shopify.loadFeatures( 3414 [{ name: "consent-tracking-api", version: "0.1" }], 3415 (error) => { 3416 if (error) { 3417 console.error('Error loading Shopify features:', error); 3418 throw error; 3419 } 3420 analyzify.log('Shopify consent-tracking-api loaded.', 'an_consent', 'loadFeatures'); 3421 } 3422 ); 3423 } catch (error) { 3424 console.error('Error initializing Shopify features:', error); 3425 } 3426 }; 3427 3428 if (window.Shopify?.loadFeatures) { 3429 loadFeatures(); 3430 } 3431 3432 /** 3433 * Handles the Cookiebot consent ready event and sets Shopify's tracking consent. 3434 * https://www.cookiebot.com/en/developer/ 3435 */ 3436 window.addEventListener("CookiebotOnConsentReady", () => { 3437 try { 3438 analyzify.log('CookiebotOnConsentReady triggered', 'an_consent', 'cookiebotOnConsentReady'); 3439 3440 const C = window.Cookiebot.consent; 3441 if (C) { 3442 const existConsentShopify = setInterval(() => { 3443 if (window.Shopify && window.Shopify.customerPrivacy) { 3444 clearInterval(existConsentShopify); 3445 window.Shopify.customerPrivacy.setTrackingConsent( 3446 { 3447 analytics: C?.statistics || false, 3448 marketing: C?.marketing || false, 3449 preferences: C?.preferences || false, 3450 sale_of_data: C?.marketing || false, 3451 }, 3452 () => { 3453 analyzify.log("Consent captured from Cookiebot and set in Shopify.", 'an_consent', 'cookiebotOnConsentReady'); 3454 window.analyzify.current_consent = { 3455 ad_storage: C?.marketing ? "granted" : "denied", 3456 analytics_storage: C?.statistics ? "granted" : "denied", 3457 ad_user_data: C?.marketing ? "granted" : "denied", 3458 ad_personalization: C?.marketing ? "granted" : "denied", 3459 personalization_storage: C?.preferences ? "granted" : "denied", // Correctly mapped from preferences 3460 functionality_storage: "granted", 3461 wait_for_update: 500, 3462 }; 3463 // The AnalyzifyConsent event will be dispatched automatically 3464 // by the "visitorConsentCollected" listener that ConsentManager set up. 3465 } 3466 ); 3467 } 3468 }, 100); 3469 } 3470 } catch (error) { 3471 console.error('Error handling Cookiebot consent:', error); 3472 } 3473 }); 3474 } 3475 } 3476 3477 } catch (error) { 3478 console.error('Error initializing consent:', error); 3479 } 3480 })(); 3481</script>
3481<!-- END app snippet --> 3482 3483 3484
3485<script src="https://cdn.shopify.com/extensions/01a0ce89-4136-7242-9620-f6f7af798c03/analyzify-ga4-ads-tracking-342/assets/an_analyzify.js" data-cookieconsent="ignore"></script>
vendor: 2 bytes, line 3485
3485
3486<script src="https://cdn.shopify.com/extensions/01a0ce89-4136-7242-9620-f6f7af798c03/analyzify-ga4-ads-tracking-342/assets/app_embed.js" data-cookieconsent="ignore"></script>
3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525
3525<script src="https://cdn.shopify.com/extensions/01a0ce89-4136-7242-9620-f6f7af798c03/analyzify-ga4-ads-tracking-342/assets/an_gtm.js" data-cookieconsent="ignore"></script>
3525 3526 3527 3528 3529 3530
3531<script src="https://cdn.shopify.com/extensions/01a0ce89-4136-7242-9620-f6f7af798c03/analyzify-ga4-ads-tracking-342/assets/f-find-elem.js" data-cookieconsent="ignore"></script>
3531 3532 3533
3534<script src="https://cdn.shopify.com/extensions/01a0ce89-4136-7242-9620-f6f7af798c03/analyzify-ga4-ads-tracking-342/assets/f-video.js" defer data-cookieconsent="ignore"></script>
3534 3535 3536 3537 3538 3539
3540<script src="https://cdn.shopify.com/extensions/01a0ce89-4136-7242-9620-f6f7af798c03/analyzify-ga4-ads-tracking-342/assets/f-form-listener.js" data-cookieconsent="ignore"></script>
3540 3541 3542
3543<script> 3544 function analyzifyBoot() { 3545 try { 3546 window.analyzify.initialize = function () { 3547 try { 3548 window.analyzify.loadScript = function (callback) { 3549 callback(); 3550 }; 3551 3552 window.analyzify.appStart = function () { 3553 try { 3554 3555 analyzify.log('appStart', 'app-embed-v4'); 3556 3557 const MAX_RETRIES = 10; 3558 const INITIAL_DELAY = 500; // ms 3559 let retryCount = 0; 3560 3561 function initializeServices(dataObj) { 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 window.analyzify.initGTM(dataObj, window.analyzify.properties.GTM); 3594 if (window.analyzify.testing_environment) console.log('-> GTM initialized.'); 3595 3596 3597 } 3598 3599 function attemptInitialization() { 3600 if (window.analyzify && typeof window.analyzify.appStartSection1 === 'function') { 3601 try { 3602 3603 if (window.analyzify.testing_environment) analyzify.log('Analyzify app_embed appStartSection1 loading...', 'app-embed-v4', 'attemptInitialization'); 3604 3605 window.analyzify.appStartSection1(); 3606 3607 const dataObj = window.analyzify; 3608 if (!dataObj) { 3609 return analyzify.log('dataObj is not found'); 3610 } 3611 3612 initializeServices(dataObj); 3613 3614 if (window.analyzify.testing_environment) analyzify.log('Analyzify app_embed appStartSection1 completed.', 'app-embed-v4', 'attemptInitialization'); 3615 return true; // Success 3616 } catch (error) { 3617 console.error('Error executing appStartSection1 or services:', error); 3618 return false; 3619 } 3620 } else { 3621 retryCount++; 3622 3623 if (retryCount <= MAX_RETRIES) { 3624 const delay = INITIAL_DELAY * Math.pow(2, Math.min(retryCount - 1, 5)); // Exponential backoff, max 3.2s 3625 3626 if (window.analyzify.testing_environment) console.log(`-> AppStartSection1 is still unavailable. This may be due to script loading delays or interference (e.g., MutationObserver). Retrying in ${delay}ms... Attempt ${retryCount}/${MAX_RETRIES}`); 3627 3628 setTimeout(attemptInitialization, delay); 3629 } else { 3630 console.error('AppStartSection1 failed to load after maximum retries. Some analytics services may not function properly.'); 3631 3632 try { 3633 const dataObj = window.analyzify; 3634 if (dataObj) { 3635 if (window.analyzify.testing_environment) console.log('-> Attempting fallback initialization without appStartSection1...'); 3636 initializeServices(dataObj); 3637 } 3638 } catch (fallbackError) { 3639 console.error('Fallback initialization also failed:', fallbackError); 3640 } 3641 } 3642 return false; 3643 } 3644 } 3645 3646 attemptInitialization(); 3647 3648 } catch (error) { 3649 console.error("Error processing appStart:", error); 3650 } 3651 }; 3652 } catch (error) { 3653 console.error("Error processing initialize:", error); 3654 } 3655 }; 3656 window.analyzify.initial_load.initialize = true; 3657 analyzify.initialize(); 3658 analyzify.loadScript(function () { 3659 try { 3660 analyzify.appStart(); 3661 window.analyzify.initial_load.app_start = true; 3662 } catch (error) { 3663 console.error("Error processing loadScript:", error); 3664 } 3665 }); 3666 } catch (error) { 3667 console.error("Error processing initialize:", error); 3668 } 3669 } 3670 3671 3672 analyzifyBoot(); 3673 3674</script>
3674 3675 3676 3677 3678<!-- END app block --><!-- BEGIN app block: shopify://apps/beans-id-verification/blocks/discount-hub/5c736972-c385-431c-8cbb-05726b7a1739 --> 3679 3680 3681 3682<!-- END app block --><!-- BEGIN app block: shopify://apps/sc-easy-redirects/blocks/app/be3f8dbd-5d43-46b4-ba43-2d65046054c2 --> 3683 <!-- common for all pages --> 3684 3685 3686
3686<script src="https://cdn.shopify.com/extensions/019feafe-a942-7fff-96d6-964177dec909/sc-easy-redirects-16/assets/esc-redirect-app-live-feature.js" async></script>
3686 3687 3688 3689 3690 3691 3692<!-- END app block --><!-- BEGIN app block: shopify://apps/seal-subscriptions/blocks/subscription-script-append/13b25004-a140-4ab7-b5fe-29918f759699 -->
3692<script defer="defer"> 3693 /** SealSubs loader,version number: 2.0 */ 3694 (function(){ 3695 var loadScript=function(a,b){var c=document.createElement("script");c.setAttribute("defer", "defer");c.type="text/javascript",c.readyState?c.onreadystatechange=function(){("loaded"==c.readyState||"complete"==c.readyState)&&(c.onreadystatechange=null,b())}:c.onload=function(){b()},c.src=a,document.getElementsByTagName("head")[0].appendChild(c)}; 3696 // Set variable to prevent the other loader from requesting the same resources 3697 window.seal_subs_app_block_loader = true; 3698 appendScriptUrl('kinnerton-test.myshopify.com'); 3699 3700 // get script url and append timestamp of last change 3701 function appendScriptUrl(shop) { 3702 var timeStamp = Math.floor(Date.now() / (1000*1*1)); 3703 var timestampUrl = 'https://app.sealsubscriptions.com/shopify/public/status/shop/'+shop+'.js?'+timeStamp; 3704 loadScript(timestampUrl, function() { 3705 // append app script 3706 if (typeof sealsubscriptions_settings_updated == 'undefined') { 3707 sealsubscriptions_settings_updated = 'default-by-script'; 3708 } 3709 3710 var locale = ''; 3711 if (typeof window !== 'undefined' && 3712 typeof window.Shopify !== 'undefined' && 3713 typeof window.Shopify.locale !== 'undefined' 3714 ) { 3715 locale = window.Shopify.locale; 3716 } 3717 3718 var scriptUrl = "https://cdn-app.sealsubscriptions.com/shopify/public/js/sealsubscriptions-main.js?shop="+shop+"&"+sealsubscriptions_settings_updated+`&locale=${locale}`; 3719 loadScript(scriptUrl, function(){}); 3720 }); 3721 } 3722 })(); 3723 3724 var SealSubsScriptAppended = true; 3725 3726</script>
3726 3727 3728<!-- END app block --><!-- BEGIN app block: shopify://apps/beans-id-verification/blocks/discount-redeem/5c736972-c385-431c-8cbb-05726b7a1739 --> 3729 3730 3731 3732 3733<!-- END app block --><!-- BEGIN app block: shopify://apps/microsoft-clarity/blocks/clarity_js/31c3d126-8116-4b4a-8ba1-baeda7c4aeea -->
3734<script type="text/javascript"> 3735 (function (c, l, a, r, i, t, y) { 3736 c[a] = c[a] || function () { (c[a].q = c[a].q || []).push(arguments); }; 3737 t = l.createElement(r); t.async = 1; t.src = "https://www.clarity.ms/tag/" + i + "?ref=shopify"; 3738 y = l.getElementsByTagName(r)[0]; y.parentNode.insertBefore(t, y); 3739 3740 c.Shopify.loadFeatures([{ name: "consent-tracking-api", version: "0.1" }], error => { 3741 if (error) { 3742 console.error("Error loading Shopify features:", error); 3743 return; 3744 } 3745 3746 c[a]('consentv2', { 3747 ad_Storage: c.Shopify.customerPrivacy.marketingAllowed() ? "granted" : "denied", 3748 analytics_Storage: c.Shopify.customerPrivacy.analyticsProcessingAllowed() ? "granted" : "denied", 3749 source: 101, 3750 }); 3751 }); 3752 3753 l.addEventListener("visitorConsentCollected", function (e) { 3754 c[a]('consentv2', { 3755 ad_Storage: e.detail.marketingAllowed ? "granted" : "denied", 3756 analytics_Storage: e.detail.analyticsAllowed ? "granted" : "denied", 3757 source: 101, 3758 }); 3759 }); 3760 })(window, document, "clarity", "script", "wy6kvsclhb"); 3761</script>
3761 3762 3763 3764 3765<!-- END app block --><!-- BEGIN app block: shopify://apps/beans-id-verification/blocks/modern-discount-hub/5c736972-c385-431c-8cbb-05726b7a1739 --> 3766 3767 3768 3769<!-- END app block --><!-- BEGIN app block: shopify://apps/personizely-a-b-testing-cro/blocks/code-snippet/7a76a5cf-d4ab-4e6e-a88e-14fd37e56de1 --> 3770 3771 3772
3772<script> 3773 window.Personizely = { 3774 market: 'gb', 3775 moneyFormat: '£{{amount}}', 3776 template: { 3777 directory: '', 3778 name: 'collection', 3779 suffix: 'all-products' 3780 }, 3781 currency: 'GBP', 3782 3783 product: null, 3784 3785 3786 customer: null, 3787 3788 cart: {"note":null,"attributes":{},"original_total_price":0,"total_price":0,"total_discount":0,"total_weight":0.0,"item_count":0,"items":[],"requires_shipping":false,"currency":"GBP","items_subtotal_price":0,"cart_level_discount_applications":[],"checkout_charge_amount":0}, 3789 cartCollections: {} 3790 } 3791 </script>
3791 3792
3792<script src="https://static.personizely.net/43eeba26c6.js" data-em-disable type="text/javascript"></script>
3792 3793 3794 3795 3796<!-- END app block -->
3796<script src="https://cdn.shopify.com/extensions/019a10f6-a8a0-797e-a7ac-5e79f24cd7e1/student-beans-verification-111/assets/sb_banner.min.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 3796
3796
3797<script src="https://cdn.shopify.com/extensions/01a084bb-7f22-7b39-9053-a86f548cd006/multivariants-95/assets/app.js" type="text/javascript" defer="defer"></script>
3797 3798<link href="https://cdn.shopify.com/extensions/01a084bb-7f22-7b39-9053-a86f548cd006/multivariants-95/assets/app.css" rel="stylesheet" type="text/css" media="all">
3799<script src="https://cdn.shopify.com/extensions/019a10f6-a8a0-797e-a7ac-5e79f24cd7e1/student-beans-verification-111/assets/sb_fab.min.js" type="text/javascript" defer="defer"></script>
3799 3800<link rel="canonical" href="https://nomochoc.com/collections/all-products"> 3801<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
3802<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: 36080451720,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "collection"};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 3802
3802
3803<script> 3804 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 3805</script>
vendor: 1 bytes, line 3805
3805
3806<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}
3806).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: 36080451720,storefrontBaseUrl: "https://nomochoc.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://nomochoc.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"2292449659","configuration":"{\"accountID\":\"491440\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"6beb2e80c5918031073c477e306feacf","type":"APP","apiClientId":219313,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_name","read_customer_personal_data"],"dataSharingControls":["share_all_events"]}
3806,"dataSharingState":"unrestricted"},{"id":"2272461179","configuration":"{\"apiKey\":\"43eeba26c6\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"5db606f40f9dec661e38b768df1da575","type":"APP","apiClientId":2386752,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"2259583355","configuration":"{\"projectId\":\"wy6kvsclhb\"}","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"]},"dataSharingState":"unrestricted"},{"id":"2111471995","configuration":"{\"accountID\":\"ScvKFn\",\"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":"1765409147","configuration":"{\"accountID\":\"177212\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"ba8ca6b610ad7040b77346f01b756f94","type":"APP","apiClientId":956606,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"1521975675","configuration":"{\"advertiserId\":\"24011\",\"shopDomain\":\"kinnerton-test.myshopify.com\",\"appVersion\":\"shopifyApp_5.1.6\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"c287d09bac7e7a912a76f3941fab1c2f","type":"APP","apiClientId":2887701,"privacyPurposes":["ANALYTICS","MARKETING"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_personal_data"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"887751035","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"AW-376655350\\\",\\\"GT-PHCG56M\\\"],\\\"target_country\\\":\\\"GB\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":\\\"AW-376655350\\\/MfAhCJqT5KICEPabzbMB\\\"},{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":\\\"AW-376655350\\\/qxT-CJ2T5KICEPabzbMB\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"AW-376655350\\\/Z7nPCJST5KICEPabzbMB\\\",\\\"MC-QZCH02NLLX\\\"]}
3806,{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"AW-376655350\\\/aJa1CJGT5KICEPabzbMB\\\",\\\"MC-QZCH02NLLX\\\"]},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"AW-376655350\\\/DsiACI6T5KICEPabzbMB\\\",\\\"MC-QZCH02NLLX\\\"]},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":\\\"AW-376655350\\\/Vym4CKCT5KICEPabzbMB\\\"},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":\\\"AW-376655350\\\/n4CTCJeT5KICEPabzbMB\\\"}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"a3321ca85cf5aaf6b57585fcd8d67b3a","type":"APP","apiClientId":1780363,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"159613064","configuration":"{\"pixel_id\":\"700894577311467\",\"pixel_type\":\"facebook_pixel\",\"metaapp_system_user_token\":\"-\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"96420dbe9ea96c426a1b7f364f977719","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"56361096","configuration":"{\"tagID\":\"2612565141585\"}","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":[]},"dataSharingState":"optimized"},{"id":"18186376","configuration":"{\"gaFourMeasID\":\"123123\",\"gaFourPageView\":\"NO\",\"gaFourSearch\":\"NO\",\"gaFourProductView\":\"NO\",\"gaFourAddToCart\":\"NO\",\"gaFourBeginCheckout\":\"NO\",\"gaFourAPISecret\":\"111111\",\"logEvents\":\"NO\",\"gaSwitch\":\"NO\",\"fbSwitch\":\"NO\",\"fbAccessToken\":\"123123\",\"fbPixelID\":\"123123\",\"fbTestEvent\":\"123123\",\"checkoutSteps\":\"NO\",\"gaFourPurchase\":\"NO\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"e612cb09ab815cf93d972ae7d6019a1f","type":"APP","apiClientId":3921359,"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":"214434171","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["SALE_OF_DATA"],"name":"Analyzify 4.0 GTM"},{"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":"NOMOCHOC","paymentSettings":{"currencyCode":"GBP"},"myshopifyDomain":"kinnerton-test.myshopify.com","countryCode":"GB","storefrontUrl":"https:\/\/nomochoc.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[{"id":"15376417587579","handle":"toasted-coconut-chocolate-bars","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"56226618769787","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"6772151812232","handle":"mixed-chocolate-box","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"39952492134536","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]}
3806,{"id":"15062023274875","handle":"pick-mix-bar-bundle","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"55442083840379","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"7964928311432","handle":"ultimate-sharing-box","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"55551016894843","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"4762110656648","handle":"fruit-crunch-chocolate-bars","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"55021798457723","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"15045558501755","handle":"salted-popcorn-chocolate-bars","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"55382384247163","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"5141180383368","handle":"caramel-chocolate-bars","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"55021781975419","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"15062685057403","handle":"cookie-dough-chocolate-bars","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"55391340495227","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"4762109313160","handle":"creamy-chocolate-bars","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"55021784400251","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"15060021969275","handle":"birthday-cake-filled-bars","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"55382409380219","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8308074217608","handle":"caramel-filled-chocolate-bars","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"53555641581947","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8308113047688","handle":"fudge-filled-chocolate-bars","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"53555646431611","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"7341832634504","handle":"cookie-dough-filled-bar","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"53555649773947","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"4762104758408","handle":"creamy-chocolate-large-bars","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"53555657605499","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"8311204806792","handle":"caramel-sea-salt-chocolate-large-bars","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"53555665895803","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"7341872152712","handle":"crispy-mo","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"55548094906747","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"6620768960648","handle":"kids-creamy-chocolate-lollies","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"55551029772667","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]}
3806,{"id":"15178795221371","handle":"nomo-birthday-cake-filled-chocolate-bars-caramel-filled-chocolate-bars-bundle","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"55626565353851","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]}],"purchasingCompany":null},},"https://nomochoc.com/cdn","c8540278we853e1abpb62b2c4amde256306",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"182240117115","themePublished":"true","eventMetadataId":"66e1f054-e52b-465a-b4f6-d95f471bcce5","pageType":"collection","resourceId":"189679861896","shopId":"36080451720","storefrontBaseUrl":"https:\/\/nomochoc.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"16072cab\", \"8450a54b\", \"7ee89bf1\"]","isMerchantRequest":"false","hashVersion":"c8540278we853e1abpb62b2c4amde256306","publish":"custom","events":"[[\"page_viewed\",{}],[\"collection_viewed\",{\"collection\":{\"id\":\"189679861896\",\"title\":\"NOMO Plant-Powered Chocolate - All Product\",\"productVariants\":[{\"price\":{\"amount\":20.0,\"currencyCode\":\"GBP\"},\"product\":{\"title\":\"Toasted Coconut Chocolate Bars\",\"vendor\":\"NOMO Chocolate\",\"id\":\"15376417587579\",\"untranslatedTitle\":\"Toasted Coconut Chocolate Bars\",\"url\":\"\/products\/toasted-coconut-chocolate-bars\",\"type\":\"Vegan Chocolate Bars\"},\"id\":\"56226618769787\",\"image\":{\"src\":\"\/\/nomochoc.com\/cdn\/shop\/files\/CoconutSKU1_9d68065a-637c-43c6-85f8-f2915f1393ee.jpg?v=1778514051\"},\"sku\":\"FKND015050A - 12 bars\",\"title\":\"33g \/ 12 Bars\",\"untranslatedTitle\":\"33g \/ 12 Bars\"},{\"price\":{\"amount\":14.99,\"currencyCode\":\"GBP\"},\"product\":{\"title\":\"Mixed Chocolate Box\",\"vendor\":\"NOMO Chocolate\",\"id\":\"6772151812232\",\"untranslatedTitle\":\"Mixed Chocolate Box\",\"url\":\"\/products\/mixed-chocolate-box\",\"type\":\"Vegan Chocolate Boxes\"},\"id\":\"39952492134536\",\"image\":{\"src\":\"\/\/nomochoc.com\/cdn\/shop\/files\/Mixed_Box_SKU_1.jpg?v=1755769292\"},\"sku\":\"FKN18714A\",\"title\":\"Default Title\",\"untranslatedTitle\":\"Default Title\"},{\"price\":{\"amount\":1.7,\"currencyCode\":\"GBP\"},\"product\":{\"title\":\"Pick \u0026 Mix Bar Bundle\",\"vendor\":\"NOMO Chocolate\",\"id\":\"15062023274875\",\"untranslatedTitle\":\"Pick \u0026 Mix Bar Bundle\",\"url\":\"\/products\/pick-mix-bar-bundle\",\"type\":\"Vegan Chocolate Bars Pick \u0026 Mix\"},\"id\":\"55442083840379\",\"image\":{\"src\":\"\/\/nomochoc.com\/cdn\/shop\/files\/Cookie_Dough_SKU_1.jpg?v=1751622967\"},\"sku\":\"FKND013565A - 1 bar\",\"title\":\"Cookie Dough Chocolate Bar (1 bar)\",\"untranslatedTitle\":\"Cookie Dough Chocolate Bar (1 bar)\"},{\"price\":{\"amount\":7.0,\"currencyCode\":\"GBP\"},\"product\":{\"title\":\"Ultimate Sharing Box\",\"vendor\":\"NOMO Chocolate\",\"id\":\"7964928311432\",\"untranslatedTitle\":\"Ultimate Sharing Box\",\"url\":\"\/products\/ultimate-sharing-box\",\"type\":\"Vegan Chocolate Boxes\"},\"id\":\"55551016894843\",\"image\":{\"src\":\"\/\/nomochoc.com\/cdn\/shop\/files\/MiniBars1.jpg?v=1712745261\"},\"sku\":\"FKNN010258A\",\"title\":\"140g\",\"untranslatedTitle\":\"140g\"},{\"price\":{\"amount\":20.0,\"currencyCode\":\"GBP\"},\"product\":{\"title\":\"Fruit \u0026 Crunch Chocolate Bars\",\"vendor\":\"NOMO Chocolate\",\"id\":\"4762110656648\",\"untranslatedTitle\":\"Fruit \u0026 Crunch Chocolate Bars\",\"url\":\"\/products\/fruit-crunch-chocolate-bars\",\"type\":\"Vegan Chocolate Bars\"}
3806,\"id\":\"55021798457723\",\"image\":{\"src\":\"\/\/nomochoc.com\/cdn\/shop\/files\/Fruit_CrunchSKU1.jpg?v=1746616383\"},\"sku\":\"FKND011354A - 12 bars\",\"title\":\"32g \/ 12 Bars\",\"untranslatedTitle\":\"32g \/ 12 Bars\"},{\"price\":{\"amount\":20.0,\"currencyCode\":\"GBP\"},\"product\":{\"title\":\"Salted Popcorn Chocolate Bars\",\"vendor\":\"NOMO Chocolate\",\"id\":\"15045558501755\",\"untranslatedTitle\":\"Salted Popcorn Chocolate Bars\",\"url\":\"\/products\/salted-popcorn-chocolate-bars\",\"type\":\"Vegan Chocolate Bars\"},\"id\":\"55382384247163\",\"image\":{\"src\":\"\/\/nomochoc.com\/cdn\/shop\/files\/PopcornSKU1.jpg?v=1748868647\"},\"sku\":\"FKND013564A - 12 bars\",\"title\":\"32g \/ 12 Bars\",\"untranslatedTitle\":\"32g \/ 12 Bars\"},{\"price\":{\"amount\":20.0,\"currencyCode\":\"GBP\"},\"product\":{\"title\":\"Caramel Chocolate Bars\",\"vendor\":\"NOMO Chocolate\",\"id\":\"5141180383368\",\"untranslatedTitle\":\"Caramel Chocolate Bars\",\"url\":\"\/products\/caramel-chocolate-bars\",\"type\":\"Vegan Chocolate Bars\"},\"id\":\"55021781975419\",\"image\":{\"src\":\"\/\/nomochoc.com\/cdn\/shop\/files\/CaramelSKU1.jpg?v=1746616610\"},\"sku\":\"FKND011353A - 12 bars\",\"title\":\"38g \/ 12 Bars\",\"untranslatedTitle\":\"38g \/ 12 Bars\"},{\"price\":{\"amount\":20.0,\"currencyCode\":\"GBP\"},\"product\":{\"title\":\"Cookie Dough Chocolate Bars\",\"vendor\":\"NOMO Chocolate\",\"id\":\"15062685057403\",\"untranslatedTitle\":\"Cookie Dough Chocolate Bars\",\"url\":\"\/products\/cookie-dough-chocolate-bars\",\"type\":\"Vegan Chocolate Bars\"},\"id\":\"55391340495227\",\"image\":{\"src\":\"\/\/nomochoc.com\/cdn\/shop\/files\/CookieDoughSKU12.jpg?v=1748868647\"},\"sku\":\"FKND013565A - 12 bars\",\"title\":\"33g \/ 12 Bars\",\"untranslatedTitle\":\"33g \/ 12 Bars\"},{\"price\":{\"amount\":20.0,\"currencyCode\":\"GBP\"},\"product\":{\"title\":\"Creamy Chocolate Bars\",\"vendor\":\"NOMO Chocolate\",\"id\":\"4762109313160\",\"untranslatedTitle\":\"Creamy Chocolate Bars\",\"url\":\"\/products\/creamy-chocolate-bars\",\"type\":\"Vegan Chocolate Bars\"},\"id\":\"55021784400251\",\"image\":{\"src\":\"\/\/nomochoc.com\/cdn\/shop\/files\/CreamyChocSKU1_1.jpg?v=1751622967\"},\"sku\":\"FKND011362A - 12 bars\",\"title\":\"38g \/ 12 Bars\",\"untranslatedTitle\":\"38g \/ 12 Bars\"},{\"price\":{\"amount\":24.0,\"currencyCode\":\"GBP\"},\"product\":{\"title\":\"Birthday Cake Filled Chocolate Bars\",\"vendor\":\"NOMO Chocolate\",\"id\":\"15060021969275\",\"untranslatedTitle\":\"Birthday Cake Filled Chocolate Bars\",\"url\":\"\/products\/birthday-cake-filled-bars\",\"type\":\"Vegan Chocolate Bars\"},\"id\":\"55382409380219\",\"image\":{\"src\":\"\/\/nomochoc.com\/cdn\/shop\/files\/BirthdayCakeSKU11.jpg?v=1747130885\"},\"sku\":\"FKND013579A - 6 bars\",\"title\":\"127g \/ 6 Bars\",\"untranslatedTitle\":\"127g \/ 6 Bars\"},{\"price\":{\"amount\":11.0,\"currencyCode\":\"GBP\"},\"product\":{\"title\":\"Caramel Filled Chocolate Bars\",\"vendor\":\"NOMO Chocolate\",\"id\":\"8308074217608\",\"untranslatedTitle\":\"Caramel Filled Chocolate Bars\",\"url\":\"\/products\/caramel-filled-chocolate-bars\",\"type\":\"Vegan Chocolate Bars\"},\"id\":\"53555641581947\",\"image\":{\"src\":\"\/\/nomochoc.com\/cdn\/shop\/files\/CaramelSKU12.jpg?v=1747646058\"},\"sku\":\"FKND013581A - 6 bars\",\"title\":\"120g \/ 6 bars\",\"untranslatedTitle\":\"120g \/ 6 bars\"},{\"price\":{\"amount\":24.0,\"currencyCode\":\"GBP\"},\"product\":{\"title\":\"Fudge Filled Chocolate Bars\",\"vendor\":\"NOMO Chocolate\",\"id\":\"8308113047688\",\"untranslatedTitle\":\"Fudge Filled Chocolate Bars\",\"url\":\"\/products\/fudge-filled-chocolate-bars\",\"type\":\"Vegan Chocolate Bars\"},\"id\":\"53555646431611\",\"image\":{\"src\":\"\/\/nomochoc.com\/cdn\/shop\/files\/ChocFudgeSKU11.jpg?v=1747646159\"},\"sku\":\"FKND013583A - 6 bars\",\"title\":\"120g \/ 6 bars\",\"untranslatedTitle\":\"120g \/ 6 bars\"},{\"price\":{\"amount\":11.0,\"currencyCode\":\"GBP\"},\"product\":{\"title\":\"Cookie Dough Filled Chocolate Bars\",\"vendor\":\"NOMO Chocolate\",\"id\":\"7341832634504\",\"untranslatedTitle\":\"Cookie Dough Filled Chocolate Bars\",\"url\":\"\/products\/cookie-dough-filled-bar\",\"type\":\"Vegan Chocolate Bars\"},\"id\":\"53555649773947\",\"image\":{\"src\":\"\/\/nomochoc.com\/cdn\/shop\/files\/CookieDoughSKU14.
3806jpg?v=1747646114\"},\"sku\":\"FKND013584A - 6 bars\",\"title\":\"127g \/ 6 bars\",\"untranslatedTitle\":\"127g \/ 6 bars\"},{\"price\":{\"amount\":22.0,\"currencyCode\":\"GBP\"},\"product\":{\"title\":\"Creamy Chocolate Large Bars\",\"vendor\":\"NOMO Chocolate\",\"id\":\"4762104758408\",\"untranslatedTitle\":\"Creamy Chocolate Large Bars\",\"url\":\"\/products\/creamy-chocolate-large-bars\",\"type\":\"Vegan Chocolate Bars\"},\"id\":\"53555657605499\",\"image\":{\"src\":\"\/\/nomochoc.com\/cdn\/shop\/files\/CreamyChocSKU1.jpg?v=1749560246\"},\"sku\":\"FKND013577A - 7 bars\",\"title\":\"75g \/ 7 bars\",\"untranslatedTitle\":\"75g \/ 7 bars\"},{\"price\":{\"amount\":20.0,\"currencyCode\":\"GBP\"},\"product\":{\"title\":\"Caramel \u0026 Sea Salt Chocolate Large Bars\",\"vendor\":\"NOMO Chocolate\",\"id\":\"8311204806792\",\"untranslatedTitle\":\"Caramel \u0026 Sea Salt Chocolate Large Bars\",\"url\":\"\/products\/caramel-sea-salt-chocolate-large-bars\",\"type\":\"Vegan Chocolate Bars\"},\"id\":\"53555665895803\",\"image\":{\"src\":\"\/\/nomochoc.com\/cdn\/shop\/files\/SeaSaltCaramelSKU1.jpg?v=1749560288\"},\"sku\":\"FKND013573A - 7 bars\",\"title\":\"75g \/ 7 bars\",\"untranslatedTitle\":\"75g \/ 7 bars\"},{\"price\":{\"amount\":28.0,\"currencyCode\":\"GBP\"},\"product\":{\"title\":\"Kids Crispy Mo\",\"vendor\":\"NOMO Chocolate\",\"id\":\"7341872152712\",\"untranslatedTitle\":\"Kids Crispy Mo\",\"url\":\"\/products\/crispy-mo\",\"type\":\"\"},\"id\":\"55548094906747\",\"image\":{\"src\":\"\/\/nomochoc.com\/cdn\/shop\/files\/CrispyMoSKU11.jpg?v=1752748639\"},\"sku\":\"FKNN011357A\",\"title\":\"15g \/ 35 pieces\",\"untranslatedTitle\":\"15g \/ 35 pieces\"},{\"price\":{\"amount\":50.0,\"currencyCode\":\"GBP\"},\"product\":{\"title\":\"Kids Creamy Chocolate Lollies\",\"vendor\":\"NOMO Chocolate\",\"id\":\"6620768960648\",\"untranslatedTitle\":\"Kids Creamy Chocolate Lollies\",\"url\":\"\/products\/kids-creamy-chocolate-lollies\",\"type\":\"Vegan Lollies\"},\"id\":\"55551029772667\",\"image\":{\"src\":\"\/\/nomochoc.com\/cdn\/shop\/files\/LolliesSKU11.jpg?v=1752747675\"},\"sku\":\"FKL18318A\",\"title\":\"12g \/ 72 lollies\",\"untranslatedTitle\":\"12g \/ 72 lollies\"},{\"price\":{\"amount\":40.0,\"currencyCode\":\"GBP\"},\"product\":{\"title\":\"NOMO Birthday Cake Filled Chocolate Bars\/ Caramel Filled Chocolate Bars Bundle\",\"vendor\":\"NOMO Chocolate\",\"id\":\"15178795221371\",\"untranslatedTitle\":\"NOMO Birthday Cake Filled Chocolate Bars\/ Caramel Filled Chocolate Bars Bundle\",\"url\":\"\/products\/nomo-birthday-cake-filled-chocolate-bars-caramel-filled-chocolate-bars-bundle\",\"type\":\"Vegan Chocolate Bars\"},\"id\":\"55626565353851\",\"image\":{\"src\":\"\/\/nomochoc.com\/cdn\/shop\/files\/Caramel_B_daySKU1_d00631e9-e844-4e0e-a3fb-25ea3f15d7fc.jpg?v=1757581157\"},\"sku\":\"FKND013579A - 6 bar\/FKND013581A - 6 bar\",\"title\":\"Default Title\",\"untranslatedTitle\":\"Default Title\"}]}}]]"});})();</script>
3806<script> 3807 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 3808 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 3809 window.ShopifyAnalytics.meta.currency = 'GBP'; 3810 var meta = {"products":[{"id":15376417587579,"gid":"gid:\/\/shopify\/Product\/15376417587579","vendor":"NOMO Chocolate","type":"Vegan Chocolate Bars","handle":"toasted-coconut-chocolate-bars","variants":[{"id":56226618769787,"price":2000,"name":"Toasted Coconut Chocolate Bars - 33g \/ 12 Bars","public_title":"33g \/ 12 Bars","sku":"FKND015050A - 12 bars"},{"id":56226618802555,"price":3600,"name":"Toasted Coconut Chocolate Bars - 33g \/ 24 Bars","public_title":"33g \/ 24 Bars","sku":"FKND015050A - 24 bars"}],"remote":false},{"id":6772151812232,"gid":"gid:\/\/shopify\/Product\/6772151812232","vendor":"NOMO Chocolate","type":"Vegan Chocolate Boxes","handle":"mixed-chocolate-box","variants":[{"id":39952492134536,"price":1499,"name":"Mixed Chocolate Box","public_title":null,"sku":"FKN18714A"}],"remote":false},{"id":15062023274875,"gid":"gid:\/\/shopify\/Product\/15062023274875","vendor":"NOMO Chocolate","type":"Vegan Chocolate Bars Pick \u0026 Mix","handle":"pick-mix-bar-bundle","variants":[{"id":55442083840379,"price":170,"name":"Pick \u0026 Mix Bar Bundle - Cookie Dough Chocolate Bar (1 bar)","public_title":"Cookie Dough Chocolate Bar (1 bar)","sku":"FKND013565A - 1 bar"},{"id":55442083873147,"price":170,"name":"Pick \u0026 Mix Bar Bundle - Caramel Chocolate Bar (1 bar)","public_title":"Caramel Chocolate Bar (1 bar)","sku":"FKND011353A - 1 bar"},{"id":55442083905915,"price":170,"name":"Pick \u0026 Mix Bar Bundle - Salted Popcorn Chocolate Bar (1 bar)","public_title":"Salted Popcorn Chocolate Bar (1 bar)","sku":"FKND013564A - 1 bar"},{"id":55442123784571,"price":170,"name":"Pick \u0026 Mix Bar Bundle - Fruit \u0026 Crunch Chocolate Bar (1 bar)","public_title":"Fruit \u0026 Crunch Chocolate Bar (1 bar)","sku":"FKND011354A - 1 bar"},{"id":55442127225211,"price":170,"name":"Pick \u0026 Mix Bar Bundle - Creamy Chocolate Bar (1 bar)","public_title":"Creamy Chocolate Bar (1 bar)","sku":"FKND011362A - 1 bar"},{"id":56295809122683,"price":170,"name":"Pick \u0026 Mix Bar Bundle - Toasted Coconut Chocolate Bar (1 bar)","public_title":"Toasted Coconut Chocolate Bar (1 bar)","sku":"FKND015050A - 1 bar"}],"remote":false},{"id":7964928311432,"gid":"gid:\/\/shopify\/Product\/7964928311432","vendor":"NOMO Chocolate","type":"Vegan Chocolate Boxes","handle":"ultimate-sharing-box","variants":[{"id":55551016894843,"price":700,"name":"Ultimate Sharing Box - 140g","public_title":"140g","sku":"FKNN010258A"}],"remote":false},{"id":4762110656648,"gid":"gid:\/\/shopify\/Product\/4762110656648","vendor":"NOMO Chocolate","type":"Vegan Chocolate Bars","handle":"fruit-crunch-chocolate-bars","variants":[{"id":55021798457723,"price":2000,"name":"Fruit \u0026 Crunch Chocolate Bars - 32g \/ 12 Bars","public_title":"32g \/ 12 Bars","sku":"FKND011354A - 12 bars"},{"id":55021798490491,"price":3600,"name":"Fruit \u0026 Crunch Chocolate Bars - 32g \/ 24 Bars","public_title":"32g \/ 24 Bars","sku":"FKND011354A - 24 bars"}],"remote":false},{"id":15045558501755,"gid":"gid:\/\/shopify\/Product\/15045558501755","vendor":"NOMO Chocolate","type":"Vegan Chocolate Bars","handle":"salted-popcorn-chocolate-bars","variants":[{"id":55382384247163,"price":2000,"name":"Salted Popcorn Chocolate Bars - 32g \/ 12 Bars","public_title":"32g \/ 12 Bars","sku":"FKND013564A - 12 bars"},{"id":55382384279931,"price":3600,"name":"Salted Popcorn Chocolate Bars - 32g \/ 24 Bars","public_title":"32g \/ 24 Bars","sku":"FKND013564A - 24 bars"}],"remote":false},{"id":5141180383368,"gid":"gid:\/\/shopify\/Product\/5141180383368","vendor":"NOMO Chocolate","type":"Vegan Chocolate Bars","handle":"caramel-chocolate-bars","variants":[{"id":55021781975419,"price":2000,"name":"Caramel Chocolate Bars - 38g \/ 12 Bars","public_title":"38g \/ 12 Bars","sku":"FKND011353A - 12 bars"},{"id":55021782008187,"price":3600,"name":"Caramel Chocolate Bars - 38g \/ 24 Bars","public_title":"38g \/ 24 Bars","sku":"FKND011353A - 24 bars"}],"remote":false},{"id":15062685057403,"gid":"gid:\/\/shopify\/Product\/15062685057403","vendor":"NOMO Chocolate","type":"Vegan Chocolate Bars","handle":"cookie-dough-chocolate-bars","variants":[{"id":55391340495227,"price":2000,"name":"Cookie Dough Chocolate Bars - 33g \/ 12 Bars","public_title":"33g \/ 12 Bars","sku":"FKND013565A - 12 bars"},{"id":55391340527995,"price":3600,"name":"Cookie Dough Chocolate Bars - 33g \/ 24 Bars","public_title":"33g \/ 24 Bars","sku":"FKND013565A - 24 bars"}],"remote":false}
3810,{"id":4762109313160,"gid":"gid:\/\/shopify\/Product\/4762109313160","vendor":"NOMO Chocolate","type":"Vegan Chocolate Bars","handle":"creamy-chocolate-bars","variants":[{"id":55021784400251,"price":2000,"name":"Creamy Chocolate Bars - 38g \/ 12 Bars","public_title":"38g \/ 12 Bars","sku":"FKND011362A - 12 bars"},{"id":55021784433019,"price":3600,"name":"Creamy Chocolate Bars - 38g \/ 24 Bars","public_title":"38g \/ 24 Bars","sku":"FKND011362A - 24 bars"}],"remote":false},{"id":15060021969275,"gid":"gid:\/\/shopify\/Product\/15060021969275","vendor":"NOMO Chocolate","type":"Vegan Chocolate Bars","handle":"birthday-cake-filled-bars","variants":[{"id":55382409380219,"price":2400,"name":"Birthday Cake Filled Chocolate Bars - 127g \/ 6 Bars","public_title":"127g \/ 6 Bars","sku":"FKND013579A - 6 bars"},{"id":55382409412987,"price":4700,"name":"Birthday Cake Filled Chocolate Bars - 127g \/ 12 Bars","public_title":"127g \/ 12 Bars","sku":"FKND013579A - 12 bars"}],"remote":false},{"id":8308074217608,"gid":"gid:\/\/shopify\/Product\/8308074217608","vendor":"NOMO Chocolate","type":"Vegan Chocolate Bars","handle":"caramel-filled-chocolate-bars","variants":[{"id":53555641581947,"price":1100,"name":"Caramel Filled Chocolate Bars - 120g \/ 6 bars","public_title":"120g \/ 6 bars","sku":"FKND013581A - 6 bars"},{"id":53555641614715,"price":2000,"name":"Caramel Filled Chocolate Bars - 120g \/ 12 bars","public_title":"120g \/ 12 bars","sku":"FKND013581A - 12 bars"}],"remote":false},{"id":8308113047688,"gid":"gid:\/\/shopify\/Product\/8308113047688","vendor":"NOMO Chocolate","type":"Vegan Chocolate Bars","handle":"fudge-filled-chocolate-bars","variants":[{"id":53555646431611,"price":2400,"name":"Fudge Filled Chocolate Bars - 120g \/ 6 bars","public_title":"120g \/ 6 bars","sku":"FKND013583A - 6 bars"},{"id":53555646464379,"price":4700,"name":"Fudge Filled Chocolate Bars - 120g \/ 12 bars","public_title":"120g \/ 12 bars","sku":"FKND013583A - 12 bars"}],"remote":false},{"id":7341832634504,"gid":"gid:\/\/shopify\/Product\/7341832634504","vendor":"NOMO Chocolate","type":"Vegan Chocolate Bars","handle":"cookie-dough-filled-bar","variants":[{"id":53555649773947,"price":1100,"name":"Cookie Dough Filled Chocolate Bars - 127g \/ 6 bars","public_title":"127g \/ 6 bars","sku":"FKND013584A - 6 bars"},{"id":53555649806715,"price":2200,"name":"Cookie Dough Filled Chocolate Bars - 127g \/ 12 bars","public_title":"127g \/ 12 bars","sku":"FKND013584A - 12 bars"}],"remote":false},{"id":4762104758408,"gid":"gid:\/\/shopify\/Product\/4762104758408","vendor":"NOMO Chocolate","type":"Vegan Chocolate Bars","handle":"creamy-chocolate-large-bars","variants":[{"id":53555657605499,"price":2200,"name":"Creamy Chocolate Large Bars - 75g \/ 7 bars","public_title":"75g \/ 7 bars","sku":"FKND013577A - 7 bars"},{"id":53555657638267,"price":4100,"name":"Creamy Chocolate Large Bars - 75g \/ 14 bars","public_title":"75g \/ 14 bars","sku":"FKND013577A - 14 bars"}],"remote":false},{"id":8311204806792,"gid":"gid:\/\/shopify\/Product\/8311204806792","vendor":"NOMO Chocolate","type":"Vegan Chocolate Bars","handle":"caramel-sea-salt-chocolate-large-bars","variants":[{"id":53555665895803,"price":2000,"name":"Caramel \u0026 Sea Salt Chocolate Large Bars - 75g \/ 7 bars","public_title":"75g \/ 7 bars","sku":"FKND013573A - 7 bars"},{"id":53555665928571,"price":4000,"name":"Caramel \u0026 Sea Salt Chocolate Large Bars - 75g \/ 14 bars","public_title":"75g \/ 14 bars","sku":"FKND013573A - 14 bars"}],"remote":false},{"id":7341872152712,"gid":"gid:\/\/shopify\/Product\/7341872152712","vendor":"NOMO Chocolate","type":"","handle":"crispy-mo","variants":[{"id":55548094906747,"price":2800,"name":"Kids Crispy Mo - 15g \/ 35 pieces","public_title":"15g \/ 35 pieces","sku":"FKNN011357A"}],"remote":false},{"id":6620768960648,"gid":"gid:\/\/shopify\/Product\/6620768960648","vendor":"NOMO Chocolate","type":"Vegan Lollies","handle":"kids-creamy-chocolate-lollies","variants":[{"id":55551029772667,"price":5000,"n
3810ame":"Kids Creamy Chocolate Lollies - 12g \/ 72 lollies","public_title":"12g \/ 72 lollies","sku":"FKL18318A"}],"remote":false},{"id":15178795221371,"gid":"gid:\/\/shopify\/Product\/15178795221371","vendor":"NOMO Chocolate","type":"Vegan Chocolate Bars","handle":"nomo-birthday-cake-filled-chocolate-bars-caramel-filled-chocolate-bars-bundle","variants":[{"id":55626565353851,"price":4000,"name":"NOMO Birthday Cake Filled Chocolate Bars\/ Caramel Filled Chocolate Bars Bundle","public_title":null,"sku":"FKND013579A - 6 bar\/FKND013581A - 6 bar"}],"remote":false}],"page":{"pageType":"collection","resourceType":"collection","resourceId":189679861896,"requestId":"7d35a1a0-5e3d-4049-9b3f-59f8ffe71786-1790384516"}}; 3811 for (var attr in meta) { 3812 window.ShopifyAnalytics.meta[attr] = meta[attr]; 3813 } 3814</script>
vendor: 1 bytes, line 3814
3814
3815<script class="analytics"> 3816 (function () { 3817 var customDocumentWrite = function(content) { 3818 var jquery = null; 3819 3820 if (window.jQuery) { 3821 jquery = window.jQuery; 3822 } else if (window.Checkout && window.Checkout.$) { 3823 jquery = window.Checkout.$; 3824 } 3825 3826 if (jquery) { 3827 jquery('body').append(content); 3828 } 3829 }; 3830 3831 var hasLoggedConversion = function(token) { 3832 if (token) { 3833 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 3834 } 3835 return false; 3836 } 3837 3838 var setCookieIfConversion = function(token) { 3839 if (token) { 3840 var twoMonthsFromNow = new Date(Date.now()); 3841 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 3842 3843 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 3844 } 3845 } 3846 3847 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 3848 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 3849 if (trekkie.integrations) { 3850 return; 3851 } 3852 trekkie.methods = [ 3853 'identify', 3854 'page', 3855 'ready', 3856 'track', 3857 'trackForm', 3858 'trackLink' 3859 ]; 3860 trekkie.factory = function(method) { 3861 return function() { 3862 var args = Array.prototype.slice.call(arguments); 3863 args.unshift(method); 3864 trekkie.push(args); 3865 if (method == 'track' || method == 'page') { 3866 var pageUrl; 3867 try { 3868 pageUrl = window.location.href; 3869 } catch (e) {} 3870 var pageReferrer; 3871 try { 3872 pageReferrer = document.referrer; 3873 } catch (e) {} 3874 try { 3875 if (window.__TREKKIE_SHIM_QUEUE == null) { 3876 window.__TREKKIE_SHIM_QUEUE = []; 3877 } 3878 window.__TREKKIE_SHIM_QUEUE.push({ 3879 from: 'trekkie-stub', 3880 method: method, 3881 args: args.slice(1), 3882 pageContext: { 3883 url: pageUrl, 3884 referrer: pageReferrer 3885 } 3886 }); 3887 } catch (e) { 3888 // no-op 3889 } 3890 } 3891 return trekkie; 3892 }; 3893 }; 3894 for (var i = 0; i < trekkie.methods.length; i++) { 3895 var key = trekkie.methods[i]; 3896 trekkie[key] = trekkie.factory(key); 3897 } 3898 trekkie.load = function(config) { 3899 trekkie.config = config || {}; 3900 trekkie.config.initialDocumentCookie = document.cookie; 3901 var first = document.getElementsByTagName('script')[0]; 3902var script = document.createElement('script'); 3903script.type = 'text/javascript'; 3904script.onerror = function(e) { 3905 var scriptFallback = document.createElement('script'); 3906 scriptFallback.type = 'text/javascript'; 3907 scriptFallback.onerror = function(error) { 3908 var Monorail = { 3909 produce: function produce(monorailDomain, schemaId, payload) { 3910 var currentMs = new Date().getTime(); 3911 var event = { 3912 schema_id: schemaId, 3913 payload: payload, 3914 metadata: { 3915 event_created_at_ms: currentMs, 3916 event_sent_at_ms: currentMs 3917 } 3918 }; 3919 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 3920 }, 3921 sendRequest: function sendRequest(endpointUrl, payload) { 3922 // Try the sendBeacon API 3923 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 3924 var blobData = new window.Blob([payload], { 3925 type: 'text/plain' 3926 }); 3927 3928 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 3929 return true; 3930 } // sendBeacon was not successful 3931 3932 } // XHR beacon 3933 3934 var xhr = new XMLHttpRequest(); 3935 3936 try { 3937 xhr.open('POST', endpointUrl); 3938 xhr.setRequestHeader('Content-Type', 'text/plain'); 3939 xhr.send(payload); 3940 } catch (e) { 3941 console.log(e); 3942 } 3943 3944 return false; 3945 }, 3946 isIos12: function isIos12() { 3947 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 3948 } 3949 }; 3950 Monorail.produce('monorail-edge.shopifysvc.com', 3951 'trekkie_storefront_load_errors/1.1', 3952 {shop_id: 36080451720, 3953 theme_id: 182240117115, 3954 app_name: "storefront", 3955 context_url: window.location.href, 3956 source_url: "//nomochoc.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js"}); 3957 3958 }; 3959 scriptFallback.async = true; 3960 scriptFallback.src = '//nomochoc.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js'; 3961 first.parentNode.insertBefore(scriptFallback, first); 3962}; 3963script.async = true; 3964script.src = '//nomochoc.com/cdn/s/trekkie.storefront.f1ba865b3fecd812ad617f74ac079261075e9edb.min.js'; 3965first.parentNode.insertBefore(script, first); 3966 3967 }; 3968 trekkie.load( 3969 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":36080451720,"isMerchantRequest":null,"themeId":182240117115,"themeCityHash":"1500689903490889060","contentLanguage":"en","currency":"GBP","eventMetadataId":"66e1f054-e52b-465a-b4f6-d95f471bcce5"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}} 3970 ); 3971 3972 var loaded = false;
3973 trekkie.ready(function() { 3974 if (loaded) return; 3975 loaded = true; 3976 3977 window.ShopifyAnalytics.lib = window.trekkie; 3978 3979 var originalDocumentWrite = document.write; 3980 document.write = customDocumentWrite; 3981 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 3982 document.write = originalDocumentWrite; 3983 3984 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 3985 var token = match? match[1]: undefined; 3986 if (!hasLoggedConversion(token)) { 3987 setCookieIfConversion(token); 3988 window.ShopifyAnalytics.lib.track("Viewed Product Category",{"currency":"GBP","category":"Collection: all-products","collectionName":"all-products","collectionId":189679861896,"nonInteraction":true},undefined,undefined,{"shopifyEmitted":true}); 3989 } 3990 }); 3991 3992 window.ShopifyAnalytics.lib.page(null,{"pageType":"collection","resourceType":"collection","resourceId":189679861896,"requestId":"7d35a1a0-5e3d-4049-9b3f-59f8ffe71786-1790384516","shopifyEmitted":true}); 3993 3994 var eventsListenerScript = document.createElement('script'); 3995 eventsListenerScript.async = true; 3996 eventsListenerScript.src = "//nomochoc.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 3997 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 3998})();</script>
3998 3999
3999<script> 4000 if (!window.ga || (window.ga && typeof window.ga !== 'function')) { 4001 window.ga = function ga() { 4002 (window.ga.q = window.ga.q || []).push(arguments); 4003 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 4004 window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"}); 4005 } 4006 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."); 4007 }; 4008 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 4009 window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"}); 4010 } 4011 } 4012</script>
vendor: 1 bytes, line 4012
4012
4013<script 4014 defer 4015 src="https://nomochoc.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js" 4016 data-application="storefront-renderer" 4017 data-shop-id="36080451720" 4018 data-render-region="gcp-us-west1" 4019 data-page-type="collection" 4020 data-theme-instance-id="182240117115" 4021 data-theme-name="Impulse" 4022 data-theme-version="7.2.0" 4023 data-monorail-region="shop_domain" 4024 data-resource-timing-sampling-rate="10" 4025 data-shs="true" 4026 data-shs-beacon="true" 4027 data-shs-export-with-fetch="true" 4028 data-shs-logs-sample-rate="1" 4029 data-shs-beacon-endpoint="https://nomochoc.com/api/collect" 4030></script>
4030 4031<meta name="shopify-y" content="00000000-0000-0000-5000-000000000000" data-expiration="1821942116000"><meta name="shopify-s" content="00000000-0000-0000-5000-000000000000" data-expiration="1790386316000"><meta name="new-cookie-storage-activated" content="t"> 4032</head> 4033<body class="template-collection" data-center-text="true" data-button_style="round" data-type_header_capitalize="false" data-type_headers_align_text="true" data-type_product_capitalize="true" data-swatch_style="round" > 4034 <a class="in-page-link visually-hidden skip-link" href="#MainContent">Skip to content</a> 4035 <div id="PageContainer" class="page-container"> 4036 <div class="transition-body"><!-- BEGIN sections: header-group --> 4037<div id="shopify-section-sections--25654135226747__announcement" class="shopify-section shopify-section-group-header-group"><style></style> 4038 <div class="announcement-bar"> 4039 <div class="page-width"> 4040 <div class="slideshow-wrapper"> 4041 <button type="button" class="visually-hidden slideshow__pause" data-id="sections--25654135226747__announcement" aria-live="polite"> 4042 <span class="slideshow__pause-stop"> 4043 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-pause" viewBox="0 0 10 13"><g fill="#000" fill-rule="evenodd"><path d="M0 0h3v13H0zM7 0h3v13H7z"/></g></svg> 4044 <span class="icon__fallback-text">Pause slideshow</span> 4045 </span> 4046 <span class="slideshow__pause-play"> 4047 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-play" viewBox="18.24 17.35 24.52 28.3"><path fill="#323232" d="M22.1 19.151v25.5l20.4-13.489-20.4-12.011z"/></svg> 4048 <span class="icon__fallback-text">Play slideshow</span> 4049 </span> 4050 </button> 4051 4052 <div 4053 id="AnnouncementSlider" 4054 class="announcement-slider" 4055 data-compact="true" 4056 data-block-count="3"><div 4057 id="AnnouncementSlide-announcement_68PLTL" 4058 class="announcement-slider__slide" 4059 data-index="0" 4060 ><a class="announcement-link" href="/pages/sign-up-for-10-off"><span class="announcement-text">10% OFF YOUR FIRST TASTE|</span><span class="announcement-link-text">SIGN UP</span></a></div><div 4061 id="AnnouncementSlide-announcement_KQmbJT" 4062 class="announcement-slider__slide" 4063 data-index="1" 4064 ><span class="announcement-text">FREE UK DELIVERY*</span><span class="announcement-link-text">When you spend £50</span></div><div 4065 id="AnnouncementSlide-announcement_U9fiNc" 4066 class="announcement-slider__slide" 4067 data-index="2" 4068 ><a class="announcement-link" href="https://nomochoc.com/pages/student-graduate-discount"><span class="announcement-text">STUDENT, 16-26 YEAR OLD & APPRENTICE DISCOUNT</span></a></div></div> 4069 </div> 4070 </div> 4071 </div> 4072 4073 4074 4075 4076</div><div id="shopify-section-sections--25654135226747__header" class="shopify-section shopify-section-group-header-group"> 4077 4078<div id="NavDrawer" class="drawer drawer--right"> 4079 <div class="drawer__contents"> 4080 <div class="drawer__fixed-header"> 4081 <div class="drawer__header appear-animation appear-delay-1"> 4082 <div class="h2 drawer__title"></div> 4083 <div class="drawer__close"> 4084 <button type="button" class="drawer__close-button js-drawer-close"> 4085 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><path d="M19 17.61l27.12 27.13m0-27.12L19 44.74"/></svg> 4086 <span class="icon__fallback-text">Close menu</span> 4087 </button> 4088 </div> 4089 </div> 4090 </div> 4091 <div class="drawer__scrollable"> 4092 <ul class="mobile-nav" role="navigation" aria-label="Primary"> 4093 4094 <li class="mobile-nav__item appear-animation appear-delay-2"> 4095 <div class="link-wrapper mobile-link-wrapper"> 4096 4097 <a href="/collections/all-products" class="btn--nav-primary">SHOP CHOCOLATE</a> 4098 4099 4100 <a href="/pages/our-story" class="btn--nav-secondary">OUR STORY</a> 4101 4102 </div> 4103 </li><li class="mobile-nav__item appear-animation appear-delay-3"><a href="/collections/all-products" class="mobile-nav__link mobile-nav__link--top-level" data-active="true">All Chocolate</a></li><li class="mobile-nav__item appear-animation appear-delay-4"><a href="/collections/vegan-chocolate-bars" class="mobile-nav__link mobile-nav__link--top-level">Our Bars</a></li><li class="mobile-nav__item appear-animation appear-delay-5"><a href="/collections/vegan-chocolate-boxes" class="mobile-nav__link mobile-nav__link--top-level">Chocolate Box</a></li><li class="mobile-nav__item appear-animation appear-delay-6"><a href="/collections/vegan-chocolate-bundles" class="mobile-nav__link mobile-nav__link--top-level">Bundles</a></li><li class="mobile-nav__item appear-animation appear-delay-7"><a href="/collections/kids-chocolates" class="mobile-nav__link mobile-nav__link--top-level">Kids</a></li><li class="mobile-nav__item appear-animation appear-delay-8"><a href="/pages/nomo-subscription" class="mobile-nav__link mobile-nav__link--top-level">NOMO Subscription</a></li><li class="mobile-nav__item appear-animation appear-delay-9"><a href="/products/gift-card" class="mobile-nav__link mobile-nav__link--top-level">E-Gift Card</a></li><li class="mobile-nav__item appear-animation appear-delay-10"><a href="/blogs/recipes" class="mobile-nav__link mobile-nav__link--top-level">Recipes</a></li><li class="mobile-nav__item appear-animation appear-delay-11"><a href="/blogs/blog" class="mobile-nav__link mobile-nav__link--top-level">Blog</a></li><li class="mobile-nav__item appear-animation appear-delay-12"><div class="mobile-nav__has-sublist"><button type="button" 4104 aria-controls="Linklist-10" 4105 class="mobile-nav__link--button mobile-nav__link--top-level collapsible-trigger collapsible--auto-height">
4106 <span class="mobile-nav__faux-link"> 4107 Sale & Discounts 4108 </span> 4109 <div class="mobile-nav__toggle"> 4110 <span class="faux-button"><span class="collapsible-trigger__icon collapsible-trigger__icon--open" role="presentation"> 4111 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="M1.57 1.59l12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none" fill-rule="evenodd"/></svg> 4112</span> 4113</span> 4114 </div> 4115 </button></div><div id="Linklist-10" 4116 class="mobile-nav__sublist collapsible-content collapsible-content--all" 4117 > 4118 <div class="collapsible-content__inner"> 4119 <ul class="mobile-nav__sublist"><li class="mobile-nav__item"> 4120 <div class="mobile-nav__child-item"><a href="/collections/sale" 4121 class="mobile-nav__link" 4122 id="Sublabel-collections-sale1" 4123 > 4124 Sale 4125 </a></div></li><li class="mobile-nav__item"> 4126 <div class="mobile-nav__child-item"><a href="/pages/student-graduate-discount" 4127 class="mobile-nav__link" 4128 id="Sublabel-pages-student-graduate-discount2" 4129 > 4130 Student & 16-26 Discount 4131 </a></div></li><li class="mobile-nav__item"> 4132 <div class="mobile-nav__child-item"><a href="/pages/discount-codes" 4133 class="mobile-nav__link" 4134 id="Sublabel-pages-discount-codes3" 4135 > 4136 Discount Codes 4137 </a></div></li></ul> 4138 </div> 4139 </div></li><li class="mobile-nav__item appear-animation appear-delay-13"><div class="mobile-nav__has-sublist"><a href="/pages/our-story" 4140 class="mobile-nav__link mobile-nav__link--top-level" 4141 id="Label-pages-our-story11" 4142 > 4143 Our Story 4144 </a> 4145 <div class="mobile-nav__toggle"> 4146 <button type="button" 4147 aria-controls="Linklist-pages-our-story11" 4148 aria-labelledby="Label-pages-our-story11" 4149 class="collapsible-trigger collapsible--auto-height"><span class="collapsible-trigger__icon collapsible-trigger__icon--open" role="presentation"> 4150 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="M1.57 1.59l12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none" fill-rule="evenodd"/></svg> 4151</span> 4152</button> 4153 </div></div><div id="Linklist-pages-our-story11" 4154 class="mobile-nav__sublist collapsible-content collapsible-content--all" 4155 > 4156 <div class="collapsible-content__inner"> 4157 <ul class="mobile-nav__sublist"><li class="mobile-nav__item"> 4158 <div class="mobile-nav__child-item"><a href="/pages/nomo-awards" 4159 class="mobile-nav__link" 4160 id="Sublabel-pages-nomo-awards1" 4161 > 4162 Awards 4163 </a></div></li><li class="mobile-nav__item"> 4164 <div class="mobile-nav__child-item"><a href="/pages/faqs" 4165 class="mobile-nav__link" 4166 id="Sublabel-pages-faqs2" 4167 > 4168 FAQs 4169 </a></div></li></ul> 4170 </div> 4171 </div></li><li class="mobile-nav__item appear-animation appear-delay-14"><a href="/pages/get-in-touch" class="mobile-nav__link mobile-nav__link--top-level">Contact</a></li><li class="mobile-nav__item mobile-nav__item--secondary"> 4172 <div class="grid"><div class="grid__item one-half appear-animation appear-delay-15"> 4173 <a href="/account" class="mobile-nav__link">Log in 4174</a> 4175 </div></div> 4176 </li></ul><ul class="mobile-nav__social appear-animation appear-delay-16"><li class="mobile-nav__social-item"> 4177 <a target="_blank" rel="noopener" href="https://www.instagram.com/nomochocolate/?hl=en" title="NOMOCHOC on Instagram"> 4178 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-instagram" viewBox="0 0 32 32">
4178<path fill="#444" d="M16 3.094c4.206 0 4.7.019 6.363.094 1.538.069 2.369.325 2.925.544.738.287 1.262.625 1.813 1.175s.894 1.075 1.175 1.813c.212.556.475 1.387.544 2.925.075 1.662.094 2.156.094 6.363s-.019 4.7-.094 6.363c-.069 1.538-.325 2.369-.544 2.925-.288.738-.625 1.262-1.175 1.813s-1.075.894-1.813 1.175c-.556.212-1.387.475-2.925.544-1.663.075-2.156.094-6.363.094s-4.7-.019-6.363-.094c-1.537-.069-2.369-.325-2.925-.544-.737-.288-1.263-.625-1.813-1.175s-.894-1.075-1.175-1.813c-.212-.556-.475-1.387-.544-2.925-.075-1.663-.094-2.156-.094-6.363s.019-4.7.094-6.363c.069-1.537.325-2.369.544-2.925.287-.737.625-1.263 1.175-1.813s1.075-.894 1.813-1.175c.556-.212 1.388-.475 2.925-.544 1.662-.081 2.156-.094 6.363-.094zm0-2.838c-4.275 0-4.813.019-6.494.094-1.675.075-2.819.344-3.819.731-1.037.4-1.913.944-2.788 1.819S1.486 4.656 1.08 5.688c-.387 1-.656 2.144-.731 3.825-.075 1.675-.094 2.213-.094 6.488s.019 4.813.094 6.494c.075 1.675.344 2.819.731 3.825.4 1.038.944 1.913 1.819 2.788s1.756 1.413 2.788 1.819c1 .387 2.144.656 3.825.731s2.213.094 6.494.094 4.813-.019 6.494-.094c1.675-.075 2.819-.344 3.825-.731 1.038-.4 1.913-.944 2.788-1.819s1.413-1.756 1.819-2.788c.387-1 .656-2.144.731-3.825s.094-2.212.094-6.494-.019-4.813-.094-6.494c-.075-1.675-.344-2.819-.731-3.825-.4-1.038-.944-1.913-1.819-2.788s-1.756-1.413-2.788-1.819c-1-.387-2.144-.656-3.825-.731C20.812.275 20.275.256 16 .256z"/><path fill="#444" d="M16 7.912a8.088 8.088 0 0 0 0 16.175c4.463 0 8.087-3.625 8.087-8.088s-3.625-8.088-8.088-8.088zm0 13.338a5.25 5.25 0 1 1 0-10.5 5.25 5.25 0 1 1 0 10.5zM26.294 7.594a1.887 1.887 0 1 1-3.774.002 1.887 1.887 0 0 1 3.774-.003z"/></svg> 4179 <span class="icon__fallback-text">Instagram</span> 4180 </a> 4181 </li><li class="mobile-nav__social-item"> 4182 <a target="_blank" rel="noopener" href="https://www.facebook.com/NOMOChocolate/?locale=en_GB" title="NOMOCHOC on Facebook"> 4183 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-facebook" viewBox="0 0 14222 14222"><path d="M14222 7112c0 3549.352-2600.418 6491.344-6000 7024.72V9168h1657l315-2056H8222V5778c0-562 275-1111 1159-1111h897V2917s-814-139-1592-139c-1624 0-2686 984-2686 2767v1567H4194v2056h1806v4968.72C2600.418 13603.344 0 10661.352 0 7112 0 3184.703 3183.703 1 7111 1s7111 3183.703 7111 7111zm-8222 7025c362 57 733 86 1111 86-377.945 0-749.003-29.485-1111-86.28zm2222 0v-.28a7107.458 7107.458 0 0 1-167.717 24.267A7407.158 7407.158 0 0 0 8222 14137zm-167.717 23.987C7745.664 14201.89 7430.797 14223 7111 14223c319.843 0 634.675-21.479 943.283-62.013z"/></svg> 4184 <span class="icon__fallback-text">Facebook</span> 4185 </a> 4186 </li><li class="mobile-nav__social-item"> 4187 <a target="_blank" rel="noopener" href="https://www.tiktok.com/@nomochocolate" title="NOMOCHOC on TickTok"> 4188 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-tiktok" viewBox="0 0 2859 3333"><path d="M2081 0c55 473 319 755 778 785v532c-266 26-499-61-770-225v995c0 1264-1378 1659-1932 753-356-583-138-1606 1004-1647v561c-87 14-180 36-265 65-254 86-398 247-358 531 77 544 1075 705 992-358V1h551z"/></svg> 4189 <span class="icon__fallback-text">TikTok</span> 4190 </a> 4191 </li></ul> 4192 </div> 4193 </div> 4194</div> 4195<div id="CartDrawer" class="drawer drawer--right"> 4196 <form id="CartDrawerForm" action="/cart" method="post" novalidate class="drawer__contents" data-location="cart-drawer"> 4197 <div class="drawer__fixed-header"> 4198 <div class="drawer__header appear-animation appear-delay-1"> 4199 <div class="h2 drawer__title">Cart</div> 4200 <div class="drawer__close"> 4201 <button type="button" class="drawer__close-button js-drawer-close"> 4202 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><path d="M19 17.61l27.12 27.13m0-27.12L19 44.74"/></svg> 4203 <span class="icon__fallback-text">Close cart</span> 4204 </button> 4205 </div> 4206 </div> 4207 </div> 4208 4209 <div class="drawer__inner"> 4210 <div class="drawer__scrollable"> 4211 <div data-products class="appear-animation appear-delay-2"></div> 4212 4213 4214 </div> 4215 4216 <div class="drawer__footer appear-animation appear-delay-4"> 4217 <div data-discounts> 4218 4219 </div> 4220 4221 <div class="cart__item-sub cart__item-row"> 4222 <div class="ajaxcart__subtotal">Subtotal</div> 4223 <div data-subtotal>£0.00</div> 4224 </div> 4225 4226 4227 4228 4229 4230 <!-- Shipping Fee Row --> 4231 <div class="cart__item-sub cart__item-row cart__shipping" style="font-family: proxima-nova;text-transform: uppercase;letter-spacing: .3em;font-size: .8em;"> 4232 <div>Shipping</div> 4233 <div data-cart-shipping> 4234
4235 <span>£4.99</span> 4236 4237 </div> 4238 </div> 4239 4240 4241 4242 4243 <div class="cart__checkout-wrapper"> 4244 <button type="submit" name="checkout" data-terms-required="false" class="btn cart__checkout"> 4245 Check out 4246 </button> 4247 4248 4249 </div> 4250 </div> 4251 </div> 4252 4253 <div class="drawer__cart-empty appear-animation appear-delay-2"> 4254 <div class="drawer__scrollable"> 4255 Your cart is currently empty. 4256 </div> 4257 </div> 4258 </form> 4259 </div>
4259<script> 4260 (function() { 4261 const FREE_SHIPPING_THRESHOLD = 5000; // £50.00 in pence/cents 4262 const FLAT_RATE_TEXT = '£4.99'; // Your default flat rate 4263 4264 function updateDrawerShipping(cart) { 4265 const shippingElement = document.querySelector('[data-cart-shipping]'); 4266 if (!shippingElement) return; 4267 4268 // Check if cart contains items and ALL items are gift cards 4269 const hasItems = cart.items && cart.items.length > 0; 4270 const isOnlyGiftCards = hasItems && cart.items.every(function(item) { 4271 return item.gift_card || item.handle === 'gift-card' || item.product_type === 'Gift Card'; 4272 }); 4273 4274 // Show FREE if threshold met OR if the cart only contains gift cards 4275 if (cart.total_price >= FREE_SHIPPING_THRESHOLD || isOnlyGiftCards) { 4276 shippingElement.innerHTML = '<span class="text-success" style="color: green; font-weight: bold;">FREE</span>'; 4277 } else { 4278 shippingElement.innerHTML = `<span>${FLAT_RATE_TEXT}</span>`; 4279 } 4280 } 4281 4282 // 1. Initial check when the page loads 4283 document.addEventListener('DOMContentLoaded', function() { 4284 fetch('/cart.js') 4285 .then(response => response.json()) 4286 .then(cart => updateDrawerShipping(cart)) 4287 .catch(err => console.error('Error fetching initial cart:', err)); 4288 }); 4289 4290 // 2. Listen for theme cart update events (covers most modern Shopify themes) 4291 document.addEventListener('cart:updated', function(event) { 4292 if (event.detail && event.detail.cart) { 4293 updateDrawerShipping(event.detail.cart); 4294 } else { 4295 fetch('/cart.js') 4296 .then(res => res.json()) 4297 .then(cart => updateDrawerShipping(cart)) 4298 .catch(() => {}); 4299 } 4300 }); 4301 4302 // 3. Fallback: intercept AJAX /cart fetch calls (covers custom drawer themes & upsells) 4303 const originalFetch = window.fetch; 4304 window.fetch = async function(...args) { 4305 const response = await originalFetch.apply(this, args); 4306 const url = typeof args[0] === 'string' ? args[0] : (args[0]?.url || ''); 4307 4308 if (url.includes('/cart/add') || url.includes('/cart/change') || url.includes('/cart/update')) { 4309 try { 4310 const cartRes = await originalFetch('/cart.js'); 4311 const cart = await cartRes.json(); 4312 updateDrawerShipping(cart); 4313 } catch (e) { 4314 // silently handle background fetch errors 4315 } 4316 } 4317 return response; 4318 }; 4319 })(); 4320</script>
4320 4321
4322<script> 4323(function() { 4324 const productCache = {}; 4325 let isInitializing = false; 4326 4327 function getLineItemIdentifier(item) { 4328 const input = item.querySelector('input[name="updates[]"], input[name="qty"], .js-qty__num'); 4329 if (input) { 4330 if (input.dataset.id) return input.dataset.id; 4331 if (input.dataset.key) return input.dataset.key; 4332 if (input.id && input.id.includes('updates_')) return input.id.replace('updates_', ''); 4333 } 4334 const dataEl = item.querySelector('[data-id], [data-variant-id], [data-key]'); 4335 if (dataEl) return dataEl.dataset.id || dataEl.dataset.variantId || dataEl.dataset.key; 4336 return item.dataset.id || item.dataset.key || null; 4337 } 4338 4339 function getControlsWrapper(item) { 4340 let wrapper = item.querySelector('.cart-drawer__custom-controls'); 4341 if (!wrapper) { 4342 wrapper = document.createElement('div'); 4343 wrapper.className = 'cart-drawer__custom-controls'; 4344 // Flex column layout ensures strict line separation without overlapping 4345 wrapper.style.cssText = 'display: flex; flex-direction: column; align-items: flex-start; width: 100%; margin-top: 8px; gap: 8px; clear: both;'; 4346 4347 const targetContainer = item.querySelector('.ajaxcart__product-dialog, .cart__item-details, .ajaxcart__sub') || item; 4348 targetContainer.appendChild(wrapper); 4349 } 4350 return wrapper; 4351 } 4352 4353 async function initCartDrawerFeatures() { 4354 if (isInitializing) return; 4355 isInitializing = true; 4356 4357 const container = document.querySelector('#CartDrawer [data-products]'); 4358 if (!container) { 4359 isInitializing = false; 4360 return; 4361 } 4362 4363 const items = container.querySelectorAll('.ajaxcart__product, .cart__item, .drawer__scrollable > div'); 4364 4365 for (const item of items) { 4366 const rawIdentifier = getLineItemIdentifier(item); 4367 const wrapper = getControlsWrapper(item); 4368 4369 // 1. ADD VARIANT SELECTOR (Line 1) 4370 if (!item.dataset.variantSelectorInit) { 4371 const link = item.querySelector('a[href*="/products/"]'); 4372 if (link) { 4373 const match = link.href.match(/\/products\/([a-zA-Z0-9---_]+)/); 4374 if (match && match[1]) { 4375 const handle = match[1].split('?')[0]; 4376 item.dataset.variantSelectorInit = 'true'; 4377 4378 if (!productCache[handle]) { 4379 try { 4380 const res = await fetch(`/products/${handle}.js`); 4381 productCache[handle] = await res.json(); 4382 } catch (e) {} 4383 } 4384 4385 const product = productCache[handle]; 4386 if (product && product.variants.length > 1) { 4387 let currentVariant = null; 4388 if (rawIdentifier) { 4389 const variantIdNum = parseInt(String(rawIdentifier).split(':')[0], 10); 4390 currentVariant = product.variants.find(v => v.id === variantIdNum); 4391 } 4392 if (!currentVariant) { 4393 const itemText = item.innerText || ''; 4394 currentVariant = product.variants.find(v => itemText.includes(v.title)) || product.variants[0]; 4395 } 4396 4397 const oldIdentifier = rawIdentifier || currentVariant.id; 4398 4399 const select = document.createElement('select'); 4400 select.className = 'cart-drawer__size-select'; 4401 select.style.cssText = 'display: block; width: 100%; max-width: 200px; padding: 6px 10px; font-size: 16px; border: 1px solid #ccc; border-radius: 4px; background: #fff; cursor: pointer; -webkit-appearance: menulist; transition: opacity 0.2s ease;'; 4402 select.dataset.currentIdentifier = oldIdentifier; 4403
4404 product.variants.forEach(variant => { 4405 const option = document.createElement('option'); 4406 option.value = variant.id; 4407 option.textContent = variant.title + (variant.available ? '' : ' (Sold Out)'); 4408 option.disabled = !variant.available; 4409 if (variant.id === currentVariant.id) option.selected = true; 4410 select.appendChild(option); 4411 }); 4412 4413 wrapper.appendChild(select); 4414 4415 select.addEventListener('change', async function() { 4416 const newVariantId = parseInt(this.value, 10); 4417 const oldId = this.dataset.currentIdentifier; 4418 4419 if (!newVariantId || String(newVariantId) === String(oldId)) return; 4420 4421 const qtyInput = item.querySelector('input[name="updates[]"], .js-qty__num'); 4422 const quantity = qtyInput ? (parseInt(qtyInput.value, 10) || 1) : 1; 4423 4424 select.disabled = true; 4425 select.style.opacity = '0.4'; 4426 item.style.pointerEvents = 'none'; 4427 4428 try { 4429 await fetch('/cart/add.js', { 4430 method: 'POST', 4431 headers: { 'Content-Type': 'application/json', 'Accept': 'application/json' }, 4432 body: JSON.stringify({ items: [{ id: newVariantId, quantity: quantity }] }) 4433 }); 4434 4435 await fetch('/cart/change.js', { 4436 method: 'POST', 4437 headers: { 'Content-Type': 'application/json', 'Accept': 'application/json' }, 4438 body: JSON.stringify({ id: String(oldId), quantity: 0 }) 4439 }); 4440 4441 document.dispatchEvent(new CustomEvent('cart:build')); 4442 document.dispatchEvent(new CustomEvent('cart:updated')); 4443 } catch (err) { 4444 console.error('Variant swap failed:', err); 4445 select.disabled = false; 4446 select.style.opacity = '1'; 4447 item.style.pointerEvents = 'auto'; 4448 } 4449 }); 4450 } 4451 } 4452 } 4453 } 4454 4455 // 2. ADD REMOVE BUTTON (Line 2 below selector) 4456 if (!wrapper.querySelector('.cart-drawer__remove-btn')) { 4457 const removeBtn = document.createElement('button'); 4458 removeBtn.type = 'button'; 4459 removeBtn.className = 'cart-drawer__remove-btn'; 4460 removeBtn.textContent = 'Remove'; 4461 removeBtn.style.cssText = 'background: none; border: none; color: #d9534f; text-decoration: underline; font-size: 13px; padding: 2px 0; cursor: pointer; display: block; -webkit-appearance: none; transition: opacity 0.2s ease;'; 4462 4463 removeBtn.addEventListener('click', async function(e) { 4464 e.preventDefault(); 4465 e.stopPropagation(); 4466 4467 const currentId = wrapper.querySelector('.cart-drawer__size-select')?.dataset.currentIdentifier || rawIdentifier; 4468 if (!currentId) return; 4469 4470 removeBtn.disabled = true; 4471 removeBtn.textContent = 'Removing...'; 4472 item.style.opacity = '0.4'; 4473 item.style.pointerEvents = 'none'; 4474 4475 try { 4476 await fetch('/cart/change.js', { 4477 method: 'POST', 4478 headers: { 'Content-Type': 'application/json', 'Accept': 'application/json' }, 4479 body: JSON.stringify({ id: String(currentId), quantity: 0 }) 4480 }); 4481 4482 document.dispatchEvent(new CustomEvent('cart:build')); 4483 document.dispatchEvent(new CustomEvent('cart:updated')); 4484 } catch (err) { 4485 console.error('Remove item failed:', err); 4486 removeBtn.disabled = false; 4487 removeBtn.textContent = 'Remove'; 4488 item.style.opacity = '1'; 4489 item.style.pointerEvents = 'auto'; 4490 } 4491 }); 4492 4493 wrapper.appendChild(removeBtn); 4494 } 4495 } 4496 4497 isInitializing = false; 4498 } 4499 4500 let timeoutId = null; 4501 const drawerObserver = new MutationObserver(() => { 4502 if (timeoutId) clearTimeout(timeoutId); 4503 timeoutId = setTimeout(initCartDrawerFeatures, 100); 4504 }); 4505 4506 document.addEventListener('DOMContentLoaded', () => { 4507 const target = document.querySelector('#CartDrawer [data-products]'); 4508 if (target) { 4509 drawerObserver.observe(target, { childList: true, subtree: true }); 4510 initCartDrawerFeatures(); 4511 } 4512 }); 4513 4514 document.addEventListener('cart:build', () => setTimeout(initCartDrawerFeatures, 150)); 4515})(); 4516</script>
4516<style> 4517 .site-nav__link, 4518 .site-nav__dropdown-link:not(.site-nav__dropdown-link--top-level) { 4519 font-size: 20px; 4520 } 4521 .is-light .site-nav .site-nav__link, 4522 .is-light .site-nav .site-nav__link:hover, 4523 .is-light .site-nav__link, 4524 .is-light .site-nav__link:hover, 4525 .site-nav .site-nav__link { 4526 color: black; 4527 display: inline-flex; 4528 } 4529 4530 .mobile-menu.header-item.header-item--icons button { 4531 color: black; 4532 } 4533 4534 .site-nav .site-nav__link svg path, 4535 .mobile-menu .site-nav__link svg path { 4536 stroke-width: 4px; 4537 } 4538 4539 .is-light .site-nav .site-nav__icons .js-search-header, 4540 .site-nav .site-nav__icons .js-search-header { 4541 display: none; 4542 } 4543 4544 .link-wrapper { 4545 padding-right: 20px; 4546 display: flex; 4547 gap: 5px; 4548 } 4549 4550 .link-wrapper a { 4551 font-size: 14px; 4552 letter-spacing: 0; 4553 font-weight: bold; 4554 padding: 5px 20px; 4555 border-radius: 5px 10px 10px 5px; 4556 clip-path: polygon(0% 0%, 100% 10%, 100% 90%, 0% 100%); 4557 } 4558 4559 .btn--nav-primary { 4560 background-color: #ffc117; 4561 } 4562 4563 @media only screen and (min-width: 769px) { 4564 .site-nav__icons .site-nav__link--icon .icon, .site-nav__icons .cart-link { 4565 width: 20px; 4566 height: 20px; 4567 } 4568 4569 .site-nav__icons .cart-link .icon { 4570 vertical-align: unset; 4571 } 4572 4573 .mobile-link-wrapper { 4574 display: none; 4575 } 4576 4577 .mobile-menu { 4578 display: none; 4579 } 4580 } 4581 @media only screen and (max-width: 768px){ 4582 .desktop-link-wrapper { 4583 display: none; 4584 } 4585 4586 .mobile-link-wrapper { 4587 height: 65px; 4588 } 4589 4590 .link-wrapper { 4591 align-items: center; 4592 padding-left: 20px; 4593 } 4594 4595 .header-wrapper--sticky { 4596 position: unset; 4597 background: #1d92d6; 4598 } 4599 4600 .mobile-menu { 4601 justify-content: flex-start; 4602 } 4603 4604 .site-nav .site-nav__link.js-drawer-open-nav { 4605 display: none; 4606 } 4607 } 4608 4609 4610 4611 4612 4613</style> 4614 4615<div data-section-id="sections--25654135226747__header" data-section-type="header"><div class="header-sticky-wrapper"> 4616 <div id="HeaderWrapper" class="header-wrapper header-wrapper--sticky is-light"><div class="toolbar toolbar--transparent small--hide"> 4617 <div class="page-width"> 4618 <div class="toolbar__content"></div> 4619 4620 </div> 4621</div> 4622<header 4623 id="SiteHeader" 4624 class="site-header" 4625 data-sticky="true" 4626 data-overlay="true"> 4627 <div class="page-width"> 4628 <div 4629 class="header-layout header-layout--left-drawer" 4630 data-logo-align="left"> 4631 4632 <div class="mobile-menu header-item header-item--icons"> 4633 <button 4634 type="button" 4635 class="site-nav__link site-nav__link--icon js-drawer-open-nav" 4636 aria-controls="NavDrawer"> 4637 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-hamburger" viewBox="0 0 64 64"><path d="M7 15h51M7 32h43M7 49h51"/></svg> 4638 <span class="icon__fallback-text">Site navigation</span> 4639 </button> 4640 </div><div class="header-item header-item--logo"><style data-shopify>.header-item--logo, 4641 .header-layout--left-center .header-item--logo, 4642 .header-layout--left-center .header-item--icons { 4643 -webkit-box-flex: 0 1 110px; 4644 -ms-flex: 0 1 110px; 4645 flex: 0 1 110px; 4646 } 4647 4648 @media only screen and (min-width: 769px) { 4649 .header-item--logo, 4650 .header-layout--left-center .header-item--logo, 4651 .header-layout--left-center .header-item--icons { 4652 -webkit-box-flex: 0 0 170px; 4653 -ms-flex: 0 0 170px; 4654 flex: 0 0 170px; 4655 } 4656 } 4657 4658 .site-header__logo a { 4659 width: 110px; 4660 } 4661 .is-light .site-header__logo .logo--inverted { 4662 width: 110px; 4663 } 4664 @media only screen and (min-width: 769px) { 4665 .site-header__logo a { 4666 width: 170px; 4667 } 4668 4669 .is-light .site-header__logo .logo--inverted { 4670 width: 170px; 4671 } 4672 }</style><div class="h1 site-header__logo" itemscope itemtype="http://schema.org/Organization" > 4673 <a 4674 href="/" 4675 itemprop="url" 4676 class="site-header__logo-link" 4677 style="padding-top: 39.5%"> 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 <img src="//nomochoc.com/cdn/shop/files/Nomo-Logo-New-Nomo-Vegan-fur-Allergiker-Glutenfrei.png?v=1739346951&width=400" alt="" srcset="//nomochoc.com/cdn/shop/files/Nomo-Logo-New-Nomo-Vegan-fur-Allergiker-Glutenfrei.png?v=1739346951&width=170 170w, //nomochoc.com/cdn/shop/files/Nomo-Logo-New-Nomo-Vegan-fur-Allergiker-Glutenfrei.png?v=1739346951&width=340 340w" width="400" height="158" loading="eager" class="small--hide" sizes="170px" itemprop="logo" style="max-height: 67.14999999999999px;max-width: 170px;"> 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 <img src="//nomochoc.com/cdn/shop/files/Nomo-Logo-New-Nomo-Vegan-fur-Allergiker-Glutenfrei.png?v=1739346951&width=400" alt="" srcset="//nomochoc.com/cdn/shop/files/Nomo-Logo-New-Nomo-Vegan-fur-Allergiker-Glutenfrei.png?v=1739346951&width=110 110w, //nomochoc.com/cdn/shop/files/Nomo-Logo-New-Nomo-Vegan-fur-Allergiker-Glutenfrei.png?v=1739346951&width=220 220w" width="400" height="158" loading="eager" class="medium-up--hide" sizes="110px" style="max-height: 43.449999999999996px;max-width: 110px;"> 4699 4700 4701 4702 4703</a></div></div><div class="header-item header-item--icons">
4704 <div class="link-wrapper desktop-link-wrapper"> 4705 4706 <a href="/collections/all-products" class="btn--nav-primary">SHOP CHOCOLATE</a> 4707 4708 4709 <a href="/pages/our-story" class="btn--nav-secondary">OUR STORY</a> 4710 4711 </div> 4712<div class="site-nav"> 4713 <div class="site-nav__icons"><a class="site-nav__link site-nav__link--icon" href="https://shopify.com/36080451720/account"> 4714 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-user" viewBox="0 0 64 64"><path d="M35 39.84v-2.53c3.3-1.91 6-6.66 6-11.41 0-7.63 0-13.82-9-13.82s-9 6.19-9 13.82c0 4.75 2.7 9.51 6 11.41v2.53c-10.18.85-18 6-18 12.16h42c0-6.19-7.82-11.31-18-12.16z"/></svg> 4715 <span class="icon__fallback-text">Log in 4716</span> 4717 </a><a href="/search" class="site-nav__link site-nav__link--icon js-search-header"> 4718 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-search" viewBox="0 0 64 64"><path d="M47.16 28.58A18.58 18.58 0 1 1 28.58 10a18.58 18.58 0 0 1 18.58 18.58zM54 54L41.94 42"/></svg> 4719 <span class="icon__fallback-text">Search</span> 4720 </a><a href="/cart" class="site-nav__link site-nav__link--icon js-drawer-open-cart" aria-controls="CartDrawer" data-icon="cart"> 4721 <span class="cart-link"><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-cart" viewBox="0 0 64 64"><path fill="none" d="M14 17.44h46.79l-7.94 25.61H20.96l-9.65-35.1H3"/><circle cx="27" cy="53" r="2"/><circle cx="47" cy="53" r="2"/></svg><span class="icon__fallback-text">Cart</span> 4722 <span class="cart-link__bubble"></span> 4723 </span> 4724 </a><button 4725 type="button" 4726 class="site-nav__link site-nav__link--icon js-drawer-open-nav" 4727 aria-controls="NavDrawer"> 4728 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-hamburger" viewBox="0 0 64 64"><path d="M7 15h51M7 32h43M7 49h51"/></svg> 4729 <span class="icon__fallback-text">Site navigation</span> 4730 </button></div> 4731</div> 4732</div> 4733 </div></div> 4734 <div class="site-header__search-container"> 4735 <div class="site-header__search"> 4736 <div class="page-width"> 4737 <form action="/search" method="get" role="search" 4738 id="HeaderSearchForm" 4739 class="site-header__search-form"> 4740 <input type="hidden" name="type" value="product,article,page,collection"> 4741 <input type="hidden" name="options[prefix]" value="last"> 4742 <label for="search-icon" class="hidden-label">Search</label> 4743 <label for="SearchClose" class="hidden-label">"Close (esc)"</label> 4744 <button type="submit" id="search-icon" class="text-link site-header__search-btn site-header__search-btn--submit"> 4745 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-search" viewBox="0 0 64 64"><path d="M47.16 28.58A18.58 18.58 0 1 1 28.58 10a18.58 18.58 0 0 1 18.58 18.58zM54 54L41.94 42"/></svg> 4746 <span class="icon__fallback-text">Search</span> 4747 </button> 4748 <input type="search" name="q" value="" placeholder="Search our store" class="site-header__search-input" aria-label="Search our store"> 4749 </form> 4750 <button type="button" id="SearchClose" class="js-search-header-close text-link site-header__search-btn"> 4751 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><path d="M19 17.61l27.12 27.13m0-27.12L19 44.74"/></svg> 4752 <span class="icon__fallback-text">"Close (esc)"</span> 4753 </button> 4754 </div> 4755 </div><div id="PredictiveWrapper" class="predictive-results hide" data-image-size="square"> 4756 <div class="page-width"> 4757 <div id="PredictiveResults" class="predictive-result__layout"></div> 4758 <div class="text-center predictive-results__footer"> 4759 <button type="button" class="btn btn--small" data-predictive-search-button>
4759 4760 <small> 4761 View more 4762 </small> 4763 </button> 4764 </div> 4765 </div> 4766 </div></div> 4767 </header> 4768 </div> 4769 </div> 4770</div> 4771
4772<script> 4773 function updateMobileMenuWidth() { 4774 const mobileMenu = document.querySelector('.mobile-menu'); 4775 const headerIcons = document.querySelector('.header-item--icons:not(.mobile-menu)'); 4776 4777 if (!!mobileMenu && !!headerIcons) { 4778 mobileMenu.style.width = `${headerIcons.offsetWidth}px`; 4779 } 4780 } 4781 4782 document.addEventListener('DOMContentLoaded', updateMobileMenuWidth); 4783 window.addEventListener('resize', updateMobileMenuWidth); 4784</script>
4784 4785 4786 4787</div> 4788<!-- END sections: header-group --><!-- BEGIN sections: popup-group --> 4789 4790<!-- END sections: popup-group --><main class="main-content" id="MainContent"> 4791 <div id="shopify-section-template--25654139617659__scrolling_text_EHqH7L" class="shopify-section index-section--flush"><style data-shopify> 4792 .scrolling-text--template--25654139617659__scrolling_text_EHqH7L { 4793 --move-speed: 300s; 4794 } 4795 4796 .scrolling-text--template--25654139617659__scrolling_text_EHqH7L span { 4797 font-size: 20px; 4798 } 4799 4800 4801</style> 4802 4803 4804 <a href="/pages/sign-up-for-10-off"> 4805 4806<div class="scrolling-text scrolling-text--template--25654139617659__scrolling_text_EHqH7L"> 4807 <div class="scrolling-text__inner scrolling-text__inner--left" aria-hidden="true" tabindex="0" style="gap: 40px;"> 4808 4809 <span><i>10% Off Your First Taste | <b>Sign Up Now</b></i></span> 4810 4811 <span><i>10% Off Your First Taste | <b>Sign Up Now</b></i></span> 4812 4813 <span><i>10% Off Your First Taste | <b>Sign Up Now</b></i></span> 4814 4815 <span><i>10% Off Your First Taste | <b>Sign Up Now</b></i></span> 4816 4817 <span><i>10% Off Your First Taste | <b>Sign Up Now</b></i></span> 4818 4819 <span><i>10% Off Your First Taste | <b>Sign Up Now</b></i></span> 4820 4821 <span><i>10% Off Your First Taste | <b>Sign Up Now</b></i></span> 4822 4823 <span><i>10% Off Your First Taste | <b>Sign Up Now</b></i></span> 4824 4825 <span><i>10% Off Your First Taste | <b>Sign Up Now</b></i></span> 4826 4827 <span><i>10% Off Your First Taste | <b>Sign Up Now</b></i></span> 4828 4829 <span><i>10% Off Your First Taste | <b>Sign Up Now</b></i></span> 4830 4831 <span><i>10% Off Your First Taste | <b>Sign Up Now</b></i></span> 4832 4833 <span><i>10% Off Your First Taste | <b>Sign Up Now</b></i></span> 4834 4835 <span><i>10% Off Your First Taste | <b>Sign Up Now</b></i></span> 4836 4837 <span><i>10% Off Your First Taste | <b>Sign Up Now</b></i></span> 4838 4839 <span><i>10% Off Your First Taste | <b>Sign Up Now</b></i></span> 4840 4841 <span><i>10% Off Your First Taste | <b>Sign Up Now</b></i></span> 4842 4843 <span><i>10% Off Your First Taste | <b>Sign Up Now</b></i></span> 4844 4845 <span><i>10% Off Your First Taste | <b>Sign Up Now</b></i></span> 4846 4847 <span><i>10% Off Your First Taste | <b>Sign Up Now</b></i></span> 4848 4849 <span><i>10% Off Your First Taste | <b>Sign Up Now</b></i></span> 4850 4851 <span><i>10% Off Your First Taste | <b>Sign Up Now</b></i></span> 4852 4853 <span><i>10% Off Your First Taste | <b>Sign Up Now</b></i></span> 4854 4855 <span><i>10% Off Your First Taste | <b>Sign Up Now</b></i></span> 4856 4857 <span><i>10% Off Your First Taste | <b>Sign Up Now</b></i></span> 4858 4859 <span><i>10% Off Your First Taste | <b>Sign Up Now</b></i></span> 4860 4861 <span><i>10% Off Your First Taste | <b>Sign Up Now</b></i></span> 4862 4863 <span><i>10% Off Your First Taste | <b>Sign Up Now</b></i></span> 4864 4865 <span><i>10% Off Your First Taste | <b>Sign Up Now</b></i></span> 4866 4867 <span><i>10% Off Your First Taste | <b>Sign Up Now</b></i></span> 4868 4869 <span><i>10% Off Your First Taste | <b>Sign Up Now</b></i></span> 4870 4871 <span><i>10% Off Your First Taste | <b>Sign Up Now</b></i></span> 4872 4873 <span><i>10% Off Your First Taste | <b>Sign Up Now</b></i></span> 4874 4875 <span><i>10% Off Your First Taste | <b>Sign Up Now</b></i></span> 4876 4877 <span><i>10% Off Your First Taste | <b>Sign Up Now</b></i></span> 4878 4879 </div> 4880</div> 4881 4882 </a> 4883 4884 4885 4886 4887 4888<style> #shopify-section-template--25654139617659__scrolling_text_EHqH7L.index-section--flush {background-color: #ffc117;} </style></div><div id="shopify-section-template--25654139617659__collection-header" class="shopify-section"><div class="page-width page-content page-content--top"> 4889 <header class="section-header section-header--flush"> 4890<h1 class="section-header__title"> 4891 NOMO Plant-Powered Chocolate - All Product 4892 </h1> 4893 </header> 4894 </div> 4895 <div 4896 id="CollectionHeaderSection" 4897 data-section-id="template--25654139617659__collection-header" 4898 data-section-type="collection-header"> 4899 </div> 4900</div><div id="shopify-section-template--25654139617659__main-collection" class="shopify-section"><div 4901 class="collection-content" 4902 data-section-id="template--25654139617659__main-collection" 4903 data-section-type="collection-grid" 4904> 4905 <div id="CollectionAjaxContent"> 4906 <div class="page-width"> 4907 <div class="grid"> 4908 <div class="grid__item medium-up--one-fifth grid__item--sidebar"> 4909<div id="CollectionSidebar" data-style="sidebar"><div class="collection-sidebar small--hide"> 4910 4911<ul class="no-bullets tag-list tag-list--active-tags"></ul> 4912 4913<form class="filter-form"></form> 4914</div><div id="FilterDrawer" class="drawer drawer--left"> 4915 <div class="drawer__contents"> 4916 <div class="drawer__fixed-header"> 4917 <div class="drawer__header appear-animation appear-delay-1"> 4918 <div class="h2 drawer__title"> 4919 Filter 4920 </div> 4921 <div class="drawer__close"> 4922 <button type="button" class="drawer__close-button js-drawer-close"> 4923 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><path d="M19 17.61l27.12 27.13m0-27.12L19 44.74"/></svg>
4924 <span class="icon__fallback-text">Close menu</span> 4925 </button> 4926 </div> 4927 </div> 4928 </div><div class="drawer__scrollable appear-animation appear-delay-2"> 4929 4930<ul class="no-bullets tag-list tag-list--active-tags"></ul> 4931 4932<form class="filter-form"></form> 4933</div> 4934 </div> 4935 </div> 4936</div></div> 4937 <div class="grid__item medium-up--four-fifths grid__item--content"><div ><div class="collection__description-wrapper rte" style="text-align: center;"> 4938 <span class="collection__description-short"> 4939 Explore the NOMO product range Welcome to the deliciously inclusive world of NOMO â... 4940 </span> 4941 <span class="collection__description-full" style="display: none;"> 4942 <div class="OutlineElement Ltr SCXW34244226 BCX0"> 4943<p style="text-align: center;" class="Paragraph SCXW34244226 BCX0"><strong><span class="TextRun SCXW34244226 BCX0" lang="EN-US" data-contrast="auto"><span class="NormalTextRun SCXW34244226 BCX0">Explore </span><span class="NormalTextRun SCXW34244226 BCX0">the NOMO product range</span></span><span data-ccp-props='{"134233117":false,"134233118":false,"335559738":240,"335559739":240}' class="EOP SCXW34244226 BCX0"> </span></strong></p> 4944</div> 4945<div class="OutlineElement Ltr SCXW34244226 BCX0"> 4946<p class="Paragraph SCXW34244226 BCX0"><span class="TextRun SCXW34244226 BCX0" lang="EN-US" data-contrast="auto"><span class="NormalTextRun SCXW34244226 BCX0">Welcome to the deliciously inclusive world of NOMO â home of award-winning </span></span><span class="TextRun SCXW34244226 BCX0" lang="EN-US" data-contrast="auto"><span class="NormalTextRun SCXW34244226 BCX0">vegan chocolate</span></span><span class="TextRun SCXW34244226 BCX0" lang="EN-US" data-contrast="auto"><span class="NormalTextRun SCXW34244226 BCX0"> crafted for everyone. Our mission? To make sure no one misses out. </span><span class="NormalTextRun SCXW34244226 BCX0">Thatâs</span><span class="NormalTextRun SCXW34244226 BCX0"> why our entire range is proudly </span></span><span class="TextRun SCXW34244226 BCX0" lang="EN-US" data-contrast="auto"><span class="NormalTextRun SCXW34244226 BCX0">free from</span></span><span class="TextRun SCXW34244226 BCX0" lang="EN-US" data-contrast="auto"><span class="NormalTextRun SCXW34244226 BCX0"> dairy, gluten, eggs, and nutsâwithout ever </span><span class="NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW34244226 BCX0">compromising on</span><span class="NormalTextRun SCXW34244226 BCX0"> taste.</span></span><span data-ccp-props='{"134233117":false,"134233118":false,"335559738":240,"335559739":240}' class="EOP SCXW34244226 BCX0"> </span><span data-ccp-props='{"134233117":false,"134233118":false,"335559738":240,"335559739":240}' class="EOP SCXW34244226 BCX0"></span></p> 4947</div> 4948 </span> 4949 <button class="collection__description-toggle" type="button" style="display: inline; background: none; border: none; border-bottom: 2px solid black; cursor: pointer; padding-left: 4px;"> 4950 Read more 4951 </button> 4952 </div></div><div ><div data-scroll-to> 4953 4954 4955 4956 4957<div class="collection-grid__wrapper"> 4958 <div class="collection-filter"> 4959 <div class="collection-filter__item collection-filter__item--drawer"> 4960 <button 4961 type="button" 4962 class="js-drawer-open-collection-filters btn btn--tertiary" 4963 aria-controls="FilterDrawer"> 4964 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-filter" viewBox="0 0 64 64"><path d="M48 42h10M48 42a5 5 0 1 1-5-5 5 5 0 0 1 5 5zM7 42h31M16 22H6M16 22a5 5 0 1 1 5 5 5 5 0 0 1-5-5zM57 22H26"/></svg> 4965 Filter 4966</button> 4967 </div> 4968 4969 <div class="collection-filter__item collection-filter__item--count small--hide">30 products 4970</div> 4971 4972 <div class="collection-filter__item collection-filter__item--sort"> 4973 <div class="collection-filter__sort-container"><label for="SortBy" class="hidden-label">Sort</label> 4974 <select name="SortBy" id="SortBy" data-default-sortby="manual"> 4975 <option value="title-ascending" selected="selected">Sort</option><option value="manual" selected="selected">Featured</option><option value="most-relevant">Most relevant</option><option value="best-selling">Best selling</option><option value="title-ascending">Alphabetically, A-Z</option><option value="title-descending">Alphabetically, Z-A</option><option value="price-ascending">Price, low to high</option><option value="price-descending">Price, high to low</option><option value="created-ascending">Date, old to new</option><option value="created-descending">Date, new to old</option></select> 4976 </div> 4977 </div> 4978 </div> 4979 4980 <div class="grid grid--uniform"> 4981<div class="grid__item grid-product small--one-half medium-up--one-third " data-aos="row-of-3" data-product-handle="toasted-coconut-chocolate-bars" data-product-id="15376417587579"> 4982 <div class="grid-product__content"> 4983 <div class="grid-product__tag grid-product__tag--custom" > 4984 4985 New 4986 4987 </div> 4988 4989<a href="/products/toasted-coconut-chocolate-bars" class="grid-product__link"> 4990 <div class="grid-product__image-mask"><div class="image-wrap" 4991 4992 style="height: 0; padding-bottom: 100.0%;" 4993 4994 > 4995 4996 4997 4998 4999 5000 <img src="//nomochoc.com/cdn/shop/files/CoconutSKU1_9d68065a-637c-43c6-85f8-f2915f1393ee.jpg?v=1778514051" alt="" srcset="//nomochoc.com/cdn/shop/files/CoconutSKU1_9d68065a-637c-43c6-85f8-f2915f1393ee.jpg?v=1778514051&width=360 360w, //nomochoc.com/cdn/shop/files/CoconutSKU1_9d68065a-637c-43c6-85f8-f2915f1393ee.jpg?v=1778514051&width=540 540w, //nomochoc.com/cdn/shop/files/CoconutSKU1_9d68065a-637c-43c6-85f8-f2915f1393ee.jpg?v=1778514051&width=720 720w, //nomochoc.com/cdn/shop/files/CoconutSKU1_9d68065a-637c-43c6-85f8-f2915f1393ee.jpg?v=1778514051&width=900 900w" width="1000" height="1000" loading="lazy" class="grid-product__image image-style-- 5001" sizes="(min-width: 769px) 33vw, 50vw"> 5002 5003 5004 5005 5006</div><div class="grid-product__secondary-image small--hide"> 5007 5008 5009 5010 5011 5012 <img src="//nomochoc.com/cdn/shop/files/CoconutSKU2_5b734fce-7973-43eb-8343-5df85b2065d3.jpg?v=1778514052" alt="" srcset="//nomochoc.com/cdn/shop/files/CoconutSKU2_5b734fce-7973-43eb-8343-5df85b2065d3.jpg?v=1778514052&width=360 360w, //nomochoc.com/cdn/shop/files/CoconutSKU2_5b734fce-7973-43eb-8343-5df85b2065d3.jpg?v=1778514052&width=540 540w, //nomochoc.com/cdn/shop/files/CoconutSKU2_5b734fce-7973-43eb-8343-5df85b2065d3.jpg?v=1778514052&width=720 720w, //nomochoc.com/cdn/shop/files/CoconutSKU2_5b734fce-7973-43eb-8343-5df85b2065d3.jpg?v=1778514052&width=1000 1000w" width="1000" height="1000" loading="lazy" class="image-style-- 5013" sizes="(min-width: 769px) 33vw, 50vw"> 5014 5015 5016 5017 5018</div> 5019 5020 5021 <!-- Custom Add to Cart Button for Collection Pages --> 5022 <form method="post" action="/cart/add" class="custom-atc-form"> 5023 <!-- This grabs the ID of the product being clicked --> 5024 <input type="hidden" name="id" value="56226618769787" /> 5025 <input type="hidden" name="quantity" value="1" /> 5026 5027 <button type="submit" class="custom-atc-button" aria-label="Add to basket">
5028 <span class="custom-atc-icon"> 5029 <!-- The exact SVG icon from your reference code --> 5030 <svg fill="none" height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"> 5031 <path d="m13.5 7h-4v-4c0-.26522-.10536-.51957-.29289-.70711-.18754-.18753-.44189-.29289-.70711-.29289s-.51957.10536-.70711.29289c-.18753.18754-.29289.44189-.29289.70711v4h-4c-.26522 0-.51957.10536-.70711.29289-.18753.18754-.29289.44189-.29289.70711s.10536.51957.29289.70711c.18754.18753.44189.29289.70711.29289h4v4c0 .2652.10536.5196.29289.7071.18754.1875.44189.2929.70711.2929s.51957-.1054.70711-.2929c.18753-.1875.29289-.4419.29289-.7071v-4h4c.2652 0 .5196-.10536.7071-.29289.1875-.18754.2929-.44189.2929-.70711s-.1054-.51957-.2929-.70711c-.1875-.18753-.4419-.29289-.7071-.29289z" fill="#0f1111"></path> 5032 </svg> 5033 </span> 5034 </button> 5035 </form> 5036 5037</div> 5038 5039 <div class="grid-product__meta"> 5040 <div class="grid-product__title grid-product__title--body">Toasted Coconut Chocolate Bars</div><div class="grid-product__price">from £20.00 5041</div> 5042 <span class="shopify-product-reviews-badge" data-id="15376417587579"></span> 5043 <div class="klaviyo-star-rating-widget" data-id="15376417587579" data-product-title="Toasted Coconut Chocolate Bars" data-product-type="Vegan Chocolate Bars"></div></div> 5044 </a> 5045 </div></div> 5046
5047<script> 5048document.addEventListener('click', function(e) { 5049 const button = e.target.closest('.custom-atc-button'); 5050 if (!button) return; 5051 5052 const form = button.closest('.custom-atc-form'); 5053 if (!form) return; 5054 5055 e.preventDefault(); 5056 if (button.disabled) return; 5057 button.disabled = true; 5058 5059 const variantId = form.querySelector('input[name="id"]')?.value; 5060 if (!variantId) { 5061 button.disabled = false; 5062 return; 5063 } 5064 5065 // Send request matching your theme's payload structure 5066 fetch('/cart/add.js', { 5067 method: 'POST', 5068 headers: { 5069 'Content-Type': 'application/json', 5070 'Accept': 'application/json', 5071 'X-Requested-With': 'XMLHttpRequest' 5072 }, 5073 body: JSON.stringify({ 5074 items: [{ id: parseInt(variantId, 10), quantity: 1 }] 5075 }) 5076 }) 5077 .then(response => { 5078 if (!response.ok) throw new Error('Add to cart failed'); 5079 return response.json(); 5080 }) 5081 .then(data => { 5082 const firstProduct = data.items ? data.items[0] : data; 5083 5084 // Trigger your theme's native cart drawer build & open functions 5085 document.dispatchEvent(new CustomEvent("ajaxProduct:added", { detail: { firstProduct } })); 5086 document.dispatchEvent(new CustomEvent("cart:build")); 5087 5088 // Show cart badge notification in your header 5089 const cartBubble = document.querySelector(".cart-link__bubble"); 5090 if (cartBubble && !cartBubble.classList.contains("cart-link__bubble--visible")) { 5091 cartBubble.classList.add("cart-link__bubble--visible"); 5092 } 5093 }) 5094 .catch(err => { 5095 console.error('Custom ATC Error:', err); 5096 }) 5097 .finally(() => { 5098 button.disabled = false; 5099 }); 5100}); 5101</script>
5101 5102<div class="grid__item grid-product small--one-half medium-up--one-third " data-aos="row-of-3" data-product-handle="mixed-chocolate-box" data-product-id="6772151812232"> 5103 <div class="grid-product__content"><a href="/products/mixed-chocolate-box" class="grid-product__link"> 5104 <div class="grid-product__image-mask"><div class="image-wrap" 5105 5106 style="height: 0; padding-bottom: 100.0%;" 5107 5108 > 5109 5110 5111 5112 5113 5114 <img src="//nomochoc.com/cdn/shop/files/Mixed_Box_SKU_1.jpg?v=1755769292" alt="" srcset="//nomochoc.com/cdn/shop/files/Mixed_Box_SKU_1.jpg?v=1755769292&width=360 360w, //nomochoc.com/cdn/shop/files/Mixed_Box_SKU_1.jpg?v=1755769292&width=540 540w, //nomochoc.com/cdn/shop/files/Mixed_Box_SKU_1.jpg?v=1755769292&width=720 720w, //nomochoc.com/cdn/shop/files/Mixed_Box_SKU_1.jpg?v=1755769292&width=900 900w" width="1000" height="1000" loading="lazy" class="grid-product__image image-style-- 5115" sizes="(min-width: 769px) 33vw, 50vw"> 5116 5117 5118 5119 5120</div><div class="grid-product__secondary-image small--hide"> 5121 5122 5123 5124 5125 5126 <img src="//nomochoc.com/cdn/shop/files/NOMO_Mixed_Box_New_Packaging_1.jpg?v=1755769292" alt="" srcset="//nomochoc.com/cdn/shop/files/NOMO_Mixed_Box_New_Packaging_1.jpg?v=1755769292&width=360 360w, //nomochoc.com/cdn/shop/files/NOMO_Mixed_Box_New_Packaging_1.jpg?v=1755769292&width=540 540w, //nomochoc.com/cdn/shop/files/NOMO_Mixed_Box_New_Packaging_1.jpg?v=1755769292&width=720 720w, //nomochoc.com/cdn/shop/files/NOMO_Mixed_Box_New_Packaging_1.jpg?v=1755769292&width=1000 1000w" width="1000" height="1000" loading="lazy" class="image-style-- 5127" sizes="(min-width: 769px) 33vw, 50vw"> 5128 5129 5130 5131 5132</div> 5133 5134 5135 <!-- Custom Add to Cart Button for Collection Pages --> 5136 <form method="post" action="/cart/add" class="custom-atc-form"> 5137 <!-- This grabs the ID of the product being clicked --> 5138 <input type="hidden" name="id" value="39952492134536" /> 5139 <input type="hidden" name="quantity" value="1" /> 5140 5141 <button type="submit" class="custom-atc-button" aria-label="Add to basket"> 5142 <span class="custom-atc-icon"> 5143 <!-- The exact SVG icon from your reference code --> 5144 <svg fill="none" height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"> 5145 <path d="m13.5 7h-4v-4c0-.26522-.10536-.51957-.29289-.70711-.18754-.18753-.44189-.29289-.70711-.29289s-.51957.10536-.70711.29289c-.18753.18754-.29289.44189-.29289.70711v4h-4c-.26522 0-.51957.10536-.70711.29289-.18753.18754-.29289.44189-.29289.70711s.10536.51957.29289.70711c.18754.18753.44189.29289.70711.29289h4v4c0 .2652.10536.5196.29289.7071.18754.1875.44189.2929.70711.2929s.51957-.1054.70711-.2929c.18753-.1875.29289-.4419.29289-.7071v-4h4c.2652 0 .5196-.10536.7071-.29289.1875-.18754.2929-.44189.2929-.70711s-.1054-.51957-.2929-.70711c-.1875-.18753-.4419-.29289-.7071-.29289z" fill="#0f1111"></path> 5146 </svg> 5147 </span> 5148 </button> 5149 </form> 5150 5151</div> 5152 5153 <div class="grid-product__meta"> 5154 <div class="grid-product__title grid-product__title--body">Mixed Chocolate Box</div><div class="grid-product__price">£14.99 5155</div> 5156 <span class="shopify-product-reviews-badge" data-id="6772151812232"></span> 5157 <div class="klaviyo-star-rating-widget" data-id="6772151812232" data-product-title="Mixed Chocolate Box" data-product-type="Vegan Chocolate Boxes"></div></div> 5158 </a> 5159 </div></div> 5160
5161<script> 5162document.addEventListener('click', function(e) { 5163 const button = e.target.closest('.custom-atc-button'); 5164 if (!button) return; 5165 5166 const form = button.closest('.custom-atc-form'); 5167 if (!form) return; 5168 5169 e.preventDefault(); 5170 if (button.disabled) return; 5171 button.disabled = true; 5172 5173 const variantId = form.querySelector('input[name="id"]')?.value; 5174 if (!variantId) { 5175 button.disabled = false; 5176 return; 5177 } 5178 5179 // Send request matching your theme's payload structure 5180 fetch('/cart/add.js', { 5181 method: 'POST', 5182 headers: { 5183 'Content-Type': 'application/json', 5184 'Accept': 'application/json', 5185 'X-Requested-With': 'XMLHttpRequest' 5186 }, 5187 body: JSON.stringify({ 5188 items: [{ id: parseInt(variantId, 10), quantity: 1 }] 5189 }) 5190 }) 5191 .then(response => { 5192 if (!response.ok) throw new Error('Add to cart failed'); 5193 return response.json(); 5194 }) 5195 .then(data => { 5196 const firstProduct = data.items ? data.items[0] : data; 5197 5198 // Trigger your theme's native cart drawer build & open functions 5199 document.dispatchEvent(new CustomEvent("ajaxProduct:added", { detail: { firstProduct } })); 5200 document.dispatchEvent(new CustomEvent("cart:build")); 5201 5202 // Show cart badge notification in your header 5203 const cartBubble = document.querySelector(".cart-link__bubble"); 5204 if (cartBubble && !cartBubble.classList.contains("cart-link__bubble--visible")) { 5205 cartBubble.classList.add("cart-link__bubble--visible"); 5206 } 5207 }) 5208 .catch(err => { 5209 console.error('Custom ATC Error:', err); 5210 }) 5211 .finally(() => { 5212 button.disabled = false; 5213 }); 5214}); 5215</script>
5215 5216<div class="grid__item grid-product small--one-half medium-up--one-third " data-aos="row-of-3" data-product-handle="pick-mix-bar-bundle" data-product-id="15062023274875"> 5217 <div class="grid-product__content"><a href="/products/pick-mix-bar-bundle" class="grid-product__link"> 5218 <div class="grid-product__image-mask"><div class="image-wrap" 5219 5220 style="height: 0; padding-bottom: 100.0%;" 5221 5222 > 5223 5224 5225 5226 5227 5228 <img src="//nomochoc.com/cdn/shop/files/Pick_N_Mix_SKU_1.jpg?v=1751622967" alt="" srcset="//nomochoc.com/cdn/shop/files/Pick_N_Mix_SKU_1.jpg?v=1751622967&width=360 360w, //nomochoc.com/cdn/shop/files/Pick_N_Mix_SKU_1.jpg?v=1751622967&width=540 540w, //nomochoc.com/cdn/shop/files/Pick_N_Mix_SKU_1.jpg?v=1751622967&width=720 720w, //nomochoc.com/cdn/shop/files/Pick_N_Mix_SKU_1.jpg?v=1751622967&width=900 900w" width="1000" height="1000" loading="lazy" class="grid-product__image image-style-- 5229" sizes="(min-width: 769px) 33vw, 50vw"> 5230 5231 5232 5233 5234</div><div class="grid-product__secondary-image small--hide"> 5235 5236 5237 5238 5239 5240 <img src="//nomochoc.com/cdn/shop/files/CaramelCountline1.png?v=1751622967" alt="" srcset="//nomochoc.com/cdn/shop/files/CaramelCountline1.png?v=1751622967&width=360 360w, //nomochoc.com/cdn/shop/files/CaramelCountline1.png?v=1751622967&width=540 540w, //nomochoc.com/cdn/shop/files/CaramelCountline1.png?v=1751622967&width=720 720w, //nomochoc.com/cdn/shop/files/CaramelCountline1.png?v=1751622967&width=1000 1000w" width="1000" height="1000" loading="lazy" class="image-style-- 5241" sizes="(min-width: 769px) 33vw, 50vw"> 5242 5243 5244 5245 5246</div> 5247 5248 5249</div> 5250 5251 <div class="grid-product__meta"> 5252 <div class="grid-product__title grid-product__title--body">Pick & Mix Bar Bundle</div><div class="grid-product__price">£1.70 5253</div> 5254 <span class="shopify-product-reviews-badge" data-id="15062023274875"></span> 5255 <div class="klaviyo-star-rating-widget" data-id="15062023274875" data-product-title="Pick & Mix Bar Bundle" data-product-type="Vegan Chocolate Bars Pick & Mix"></div></div> 5256 </a> 5257 </div></div> 5258
5259<script> 5260document.addEventListener('click', function(e) { 5261 const button = e.target.closest('.custom-atc-button'); 5262 if (!button) return; 5263 5264 const form = button.closest('.custom-atc-form'); 5265 if (!form) return; 5266 5267 e.preventDefault(); 5268 if (button.disabled) return; 5269 button.disabled = true; 5270 5271 const variantId = form.querySelector('input[name="id"]')?.value; 5272 if (!variantId) { 5273 button.disabled = false; 5274 return; 5275 } 5276 5277 // Send request matching your theme's payload structure 5278 fetch('/cart/add.js', { 5279 method: 'POST', 5280 headers: { 5281 'Content-Type': 'application/json', 5282 'Accept': 'application/json', 5283 'X-Requested-With': 'XMLHttpRequest' 5284 }, 5285 body: JSON.stringify({ 5286 items: [{ id: parseInt(variantId, 10), quantity: 1 }] 5287 }) 5288 }) 5289 .then(response => { 5290 if (!response.ok) throw new Error('Add to cart failed'); 5291 return response.json(); 5292 }) 5293 .then(data => { 5294 const firstProduct = data.items ? data.items[0] : data; 5295 5296 // Trigger your theme's native cart drawer build & open functions 5297 document.dispatchEvent(new CustomEvent("ajaxProduct:added", { detail: { firstProduct } })); 5298 document.dispatchEvent(new CustomEvent("cart:build")); 5299 5300 // Show cart badge notification in your header 5301 const cartBubble = document.querySelector(".cart-link__bubble"); 5302 if (cartBubble && !cartBubble.classList.contains("cart-link__bubble--visible")) { 5303 cartBubble.classList.add("cart-link__bubble--visible"); 5304 } 5305 }) 5306 .catch(err => { 5307 console.error('Custom ATC Error:', err); 5308 }) 5309 .finally(() => { 5310 button.disabled = false; 5311 }); 5312}); 5313</script>
5313 5314<div class="grid__item grid-product small--one-half medium-up--one-third " data-aos="row-of-3" data-product-handle="ultimate-sharing-box" data-product-id="7964928311432"> 5315 <div class="grid-product__content"> 5316 <div class="grid-product__tag grid-product__tag--custom" > 5317 5318 Up to 21% Discount 5319 5320 </div> 5321 5322<a href="/products/ultimate-sharing-box" class="grid-product__link"> 5323 <div class="grid-product__image-mask"><div class="image-wrap" 5324 5325 style="height: 0; padding-bottom: 100.0999000999001%;" 5326 5327 > 5328 5329 5330 5331 5332 5333 <img src="//nomochoc.com/cdn/shop/files/MiniBars1.jpg?v=1712745261" alt="" srcset="//nomochoc.com/cdn/shop/files/MiniBars1.jpg?v=1712745261&width=360 360w, //nomochoc.com/cdn/shop/files/MiniBars1.jpg?v=1712745261&width=540 540w, //nomochoc.com/cdn/shop/files/MiniBars1.jpg?v=1712745261&width=720 720w, //nomochoc.com/cdn/shop/files/MiniBars1.jpg?v=1712745261&width=900 900w" width="1001" height="1002" loading="lazy" class="grid-product__image image-style-- 5334" sizes="(min-width: 769px) 33vw, 50vw"> 5335 5336 5337 5338 5339</div><div class="grid-product__secondary-image small--hide"> 5340 5341 5342 5343 5344 5345 <img src="//nomochoc.com/cdn/shop/files/MiniBars2.jpg?v=1712745261" alt="" srcset="//nomochoc.com/cdn/shop/files/MiniBars2.jpg?v=1712745261&width=360 360w, //nomochoc.com/cdn/shop/files/MiniBars2.jpg?v=1712745261&width=540 540w, //nomochoc.com/cdn/shop/files/MiniBars2.jpg?v=1712745261&width=720 720w, //nomochoc.com/cdn/shop/files/MiniBars2.jpg?v=1712745261&width=1000 1000w" width="1000" height="1000" loading="lazy" class="image-style-- 5346" sizes="(min-width: 769px) 33vw, 50vw"> 5347 5348 5349 5350 5351</div> 5352 5353 5354 <!-- Custom Add to Cart Button for Collection Pages --> 5355 <form method="post" action="/cart/add" class="custom-atc-form"> 5356 <!-- This grabs the ID of the product being clicked --> 5357 <input type="hidden" name="id" value="55551016894843" /> 5358 <input type="hidden" name="quantity" value="1" /> 5359 5360 <button type="submit" class="custom-atc-button" aria-label="Add to basket"> 5361 <span class="custom-atc-icon"> 5362 <!-- The exact SVG icon from your reference code --> 5363 <svg fill="none" height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"> 5364 <path d="m13.5 7h-4v-4c0-.26522-.10536-.51957-.29289-.70711-.18754-.18753-.44189-.29289-.70711-.29289s-.51957.10536-.70711.29289c-.18753.18754-.29289.44189-.29289.70711v4h-4c-.26522 0-.51957.10536-.70711.29289-.18753.18754-.29289.44189-.29289.70711s.10536.51957.29289.70711c.18754.18753.44189.29289.70711.29289h4v4c0 .2652.10536.5196.29289.7071.18754.1875.44189.2929.70711.2929s.51957-.1054.70711-.2929c.18753-.1875.29289-.4419.29289-.7071v-4h4c.2652 0 .5196-.10536.7071-.29289.1875-.18754.2929-.44189.2929-.70711s-.1054-.51957-.2929-.70711c-.1875-.18753-.4419-.29289-.7071-.29289z" fill="#0f1111"></path> 5365 </svg> 5366 </span> 5367 </button> 5368 </form> 5369 5370</div> 5371 5372 <div class="grid-product__meta"> 5373 <div class="grid-product__title grid-product__title--body">Ultimate Sharing Box</div><div class="grid-product__price">£7.00 5374</div> 5375 <span class="shopify-product-reviews-badge" data-id="7964928311432"></span> 5376 <div class="klaviyo-star-rating-widget" data-id="7964928311432" data-product-title="Ultimate Sharing Box" data-product-type="Vegan Chocolate Boxes"></div></div> 5377 </a> 5378 </div></div> 5379
5380<script> 5381document.addEventListener('click', function(e) { 5382 const button = e.target.closest('.custom-atc-button'); 5383 if (!button) return; 5384 5385 const form = button.closest('.custom-atc-form'); 5386 if (!form) return; 5387 5388 e.preventDefault(); 5389 if (button.disabled) return; 5390 button.disabled = true; 5391 5392 const variantId = form.querySelector('input[name="id"]')?.value; 5393 if (!variantId) { 5394 button.disabled = false; 5395 return; 5396 } 5397 5398 // Send request matching your theme's payload structure 5399 fetch('/cart/add.js', { 5400 method: 'POST', 5401 headers: { 5402 'Content-Type': 'application/json', 5403 'Accept': 'application/json', 5404 'X-Requested-With': 'XMLHttpRequest' 5405 }, 5406 body: JSON.stringify({ 5407 items: [{ id: parseInt(variantId, 10), quantity: 1 }] 5408 }) 5409 }) 5410 .then(response => { 5411 if (!response.ok) throw new Error('Add to cart failed'); 5412 return response.json(); 5413 }) 5414 .then(data => { 5415 const firstProduct = data.items ? data.items[0] : data; 5416 5417 // Trigger your theme's native cart drawer build & open functions 5418 document.dispatchEvent(new CustomEvent("ajaxProduct:added", { detail: { firstProduct } })); 5419 document.dispatchEvent(new CustomEvent("cart:build")); 5420 5421 // Show cart badge notification in your header 5422 const cartBubble = document.querySelector(".cart-link__bubble"); 5423 if (cartBubble && !cartBubble.classList.contains("cart-link__bubble--visible")) { 5424 cartBubble.classList.add("cart-link__bubble--visible"); 5425 } 5426 }) 5427 .catch(err => { 5428 console.error('Custom ATC Error:', err); 5429 }) 5430 .finally(() => { 5431 button.disabled = false; 5432 }); 5433}); 5434</script>
5434 5435<div class="grid__item grid-product small--one-half medium-up--one-third " data-aos="row-of-3" data-product-handle="fruit-crunch-chocolate-bars" data-product-id="4762110656648"> 5436 <div class="grid-product__content"> 5437 <div class="grid-product__tag grid-product__tag--custom" > 5438 5439 12 / 24 bars 5440 5441 </div> 5442 5443<a href="/products/fruit-crunch-chocolate-bars" class="grid-product__link"> 5444 <div class="grid-product__image-mask"><div class="image-wrap" 5445 5446 style="height: 0; padding-bottom: 100.0%;" 5447 5448 > 5449 5450 5451 5452 5453 5454 <img src="//nomochoc.com/cdn/shop/files/Fruit_CrunchSKU1.jpg?v=1746616383" alt="" srcset="//nomochoc.com/cdn/shop/files/Fruit_CrunchSKU1.jpg?v=1746616383&width=360 360w, //nomochoc.com/cdn/shop/files/Fruit_CrunchSKU1.jpg?v=1746616383&width=540 540w, //nomochoc.com/cdn/shop/files/Fruit_CrunchSKU1.jpg?v=1746616383&width=720 720w, //nomochoc.com/cdn/shop/files/Fruit_CrunchSKU1.jpg?v=1746616383&width=900 900w" width="1000" height="1000" loading="lazy" class="grid-product__image image-style-- 5455" sizes="(min-width: 769px) 33vw, 50vw"> 5456 5457 5458 5459 5460</div><div class="grid-product__secondary-image small--hide"> 5461 5462 5463 5464 5465 5466 <img src="//nomochoc.com/cdn/shop/files/Fruit_CrunchSKU3.jpg?v=1746616401" alt="" srcset="//nomochoc.com/cdn/shop/files/Fruit_CrunchSKU3.jpg?v=1746616401&width=360 360w, //nomochoc.com/cdn/shop/files/Fruit_CrunchSKU3.jpg?v=1746616401&width=540 540w, //nomochoc.com/cdn/shop/files/Fruit_CrunchSKU3.jpg?v=1746616401&width=720 720w, //nomochoc.com/cdn/shop/files/Fruit_CrunchSKU3.jpg?v=1746616401&width=1000 1000w" width="1000" height="1000" loading="lazy" class="image-style-- 5467" sizes="(min-width: 769px) 33vw, 50vw"> 5468 5469 5470 5471 5472</div> 5473 5474 5475 <!-- Custom Add to Cart Button for Collection Pages --> 5476 <form method="post" action="/cart/add" class="custom-atc-form"> 5477 <!-- This grabs the ID of the product being clicked --> 5478 <input type="hidden" name="id" value="55021798457723" /> 5479 <input type="hidden" name="quantity" value="1" /> 5480 5481 <button type="submit" class="custom-atc-button" aria-label="Add to basket"> 5482 <span class="custom-atc-icon"> 5483 <!-- The exact SVG icon from your reference code --> 5484 <svg fill="none" height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"> 5485 <path d="m13.5 7h-4v-4c0-.26522-.10536-.51957-.29289-.70711-.18754-.18753-.44189-.29289-.70711-.29289s-.51957.10536-.70711.29289c-.18753.18754-.29289.44189-.29289.70711v4h-4c-.26522 0-.51957.10536-.70711.29289-.18753.18754-.29289.44189-.29289.70711s.10536.51957.29289.70711c.18754.18753.44189.29289.70711.29289h4v4c0 .2652.10536.5196.29289.7071.18754.1875.44189.2929.70711.2929s.51957-.1054.70711-.2929c.18753-.1875.29289-.4419.29289-.7071v-4h4c.2652 0 .5196-.10536.7071-.29289.1875-.18754.2929-.44189.2929-.70711s-.1054-.51957-.2929-.70711c-.1875-.18753-.4419-.29289-.7071-.29289z" fill="#0f1111"></path> 5486 </svg> 5487 </span> 5488 </button> 5489 </form> 5490 5491</div> 5492 5493 <div class="grid-product__meta"> 5494 <div class="grid-product__title grid-product__title--body">Fruit & Crunch Chocolate Bars</div><div class="grid-product__price">from £20.00 5495</div> 5496 <span class="shopify-product-reviews-badge" data-id="4762110656648"></span> 5497 <div class="klaviyo-star-rating-widget" data-id="4762110656648" data-product-title="Fruit & Crunch Chocolate Bars" data-product-type="Vegan Chocolate Bars"></div></div> 5498 </a> 5499 </div></div> 5500
5501<script> 5502document.addEventListener('click', function(e) { 5503 const button = e.target.closest('.custom-atc-button'); 5504 if (!button) return; 5505 5506 const form = button.closest('.custom-atc-form'); 5507 if (!form) return; 5508 5509 e.preventDefault(); 5510 if (button.disabled) return; 5511 button.disabled = true; 5512 5513 const variantId = form.querySelector('input[name="id"]')?.value; 5514 if (!variantId) { 5515 button.disabled = false; 5516 return; 5517 } 5518 5519 // Send request matching your theme's payload structure 5520 fetch('/cart/add.js', { 5521 method: 'POST', 5522 headers: { 5523 'Content-Type': 'application/json', 5524 'Accept': 'application/json', 5525 'X-Requested-With': 'XMLHttpRequest' 5526 }, 5527 body: JSON.stringify({ 5528 items: [{ id: parseInt(variantId, 10), quantity: 1 }] 5529 }) 5530 }) 5531 .then(response => { 5532 if (!response.ok) throw new Error('Add to cart failed'); 5533 return response.json(); 5534 }) 5535 .then(data => { 5536 const firstProduct = data.items ? data.items[0] : data; 5537 5538 // Trigger your theme's native cart drawer build & open functions 5539 document.dispatchEvent(new CustomEvent("ajaxProduct:added", { detail: { firstProduct } })); 5540 document.dispatchEvent(new CustomEvent("cart:build")); 5541 5542 // Show cart badge notification in your header 5543 const cartBubble = document.querySelector(".cart-link__bubble"); 5544 if (cartBubble && !cartBubble.classList.contains("cart-link__bubble--visible")) { 5545 cartBubble.classList.add("cart-link__bubble--visible"); 5546 } 5547 }) 5548 .catch(err => { 5549 console.error('Custom ATC Error:', err); 5550 }) 5551 .finally(() => { 5552 button.disabled = false; 5553 }); 5554}); 5555</script>
5555 5556<div class="grid__item grid-product small--one-half medium-up--one-third " data-aos="row-of-3" data-product-handle="salted-popcorn-chocolate-bars" data-product-id="15045558501755"> 5557 <div class="grid-product__content"> 5558 <div class="grid-product__tag grid-product__tag--custom" > 5559 5560 12 / 24 bars 5561 5562 </div> 5563 5564<a href="/products/salted-popcorn-chocolate-bars" class="grid-product__link"> 5565 <div class="grid-product__image-mask"><div class="image-wrap" 5566 5567 style="height: 0; padding-bottom: 100.0%;" 5568 5569 > 5570 5571 5572 5573 5574 5575 <img src="//nomochoc.com/cdn/shop/files/PopcornSKU1.jpg?v=1748868647" alt="" srcset="//nomochoc.com/cdn/shop/files/PopcornSKU1.jpg?v=1748868647&width=360 360w, //nomochoc.com/cdn/shop/files/PopcornSKU1.jpg?v=1748868647&width=540 540w, //nomochoc.com/cdn/shop/files/PopcornSKU1.jpg?v=1748868647&width=720 720w, //nomochoc.com/cdn/shop/files/PopcornSKU1.jpg?v=1748868647&width=900 900w" width="1000" height="1000" loading="lazy" class="grid-product__image image-style-- 5576" sizes="(min-width: 769px) 33vw, 50vw"> 5577 5578 5579 5580 5581</div><div class="grid-product__secondary-image small--hide"> 5582 5583 5584 5585 5586 5587 <img src="//nomochoc.com/cdn/shop/files/PopcornSKU3.jpg?v=1746616503" alt="" srcset="//nomochoc.com/cdn/shop/files/PopcornSKU3.jpg?v=1746616503&width=360 360w, //nomochoc.com/cdn/shop/files/PopcornSKU3.jpg?v=1746616503&width=540 540w, //nomochoc.com/cdn/shop/files/PopcornSKU3.jpg?v=1746616503&width=720 720w, //nomochoc.com/cdn/shop/files/PopcornSKU3.jpg?v=1746616503&width=1000 1000w" width="1000" height="1000" loading="lazy" class="image-style-- 5588" sizes="(min-width: 769px) 33vw, 50vw"> 5589 5590 5591 5592 5593</div> 5594 5595 5596 <!-- Custom Add to Cart Button for Collection Pages --> 5597 <form method="post" action="/cart/add" class="custom-atc-form"> 5598 <!-- This grabs the ID of the product being clicked --> 5599 <input type="hidden" name="id" value="55382384247163" /> 5600 <input type="hidden" name="quantity" value="1" /> 5601 5602 <button type="submit" class="custom-atc-button" aria-label="Add to basket"> 5603 <span class="custom-atc-icon"> 5604 <!-- The exact SVG icon from your reference code --> 5605 <svg fill="none" height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"> 5606 <path d="m13.5 7h-4v-4c0-.26522-.10536-.51957-.29289-.70711-.18754-.18753-.44189-.29289-.70711-.29289s-.51957.10536-.70711.29289c-.18753.18754-.29289.44189-.29289.70711v4h-4c-.26522 0-.51957.10536-.70711.29289-.18753.18754-.29289.44189-.29289.70711s.10536.51957.29289.70711c.18754.18753.44189.29289.70711.29289h4v4c0 .2652.10536.5196.29289.7071.18754.1875.44189.2929.70711.2929s.51957-.1054.70711-.2929c.18753-.1875.29289-.4419.29289-.7071v-4h4c.2652 0 .5196-.10536.7071-.29289.1875-.18754.2929-.44189.2929-.70711s-.1054-.51957-.2929-.70711c-.1875-.18753-.4419-.29289-.7071-.29289z" fill="#0f1111"></path> 5607 </svg> 5608 </span> 5609 </button> 5610 </form> 5611 5612</div> 5613 5614 <div class="grid-product__meta"> 5615 <div class="grid-product__title grid-product__title--body">Salted Popcorn Chocolate Bars</div><div class="grid-product__price">from £20.00 5616</div> 5617 <span class="shopify-product-reviews-badge" data-id="15045558501755"></span> 5618 <div class="klaviyo-star-rating-widget" data-id="15045558501755" data-product-title="Salted Popcorn Chocolate Bars" data-product-type="Vegan Chocolate Bars"></div></div> 5619 </a> 5620 </div></div> 5621
5622<script> 5623document.addEventListener('click', function(e) { 5624 const button = e.target.closest('.custom-atc-button'); 5625 if (!button) return; 5626 5627 const form = button.closest('.custom-atc-form'); 5628 if (!form) return; 5629 5630 e.preventDefault(); 5631 if (button.disabled) return; 5632 button.disabled = true; 5633 5634 const variantId = form.querySelector('input[name="id"]')?.value; 5635 if (!variantId) { 5636 button.disabled = false; 5637 return; 5638 } 5639 5640 // Send request matching your theme's payload structure 5641 fetch('/cart/add.js', { 5642 method: 'POST', 5643 headers: { 5644 'Content-Type': 'application/json', 5645 'Accept': 'application/json', 5646 'X-Requested-With': 'XMLHttpRequest' 5647 }, 5648 body: JSON.stringify({ 5649 items: [{ id: parseInt(variantId, 10), quantity: 1 }] 5650 }) 5651 }) 5652 .then(response => { 5653 if (!response.ok) throw new Error('Add to cart failed'); 5654 return response.json(); 5655 }) 5656 .then(data => { 5657 const firstProduct = data.items ? data.items[0] : data; 5658 5659 // Trigger your theme's native cart drawer build & open functions 5660 document.dispatchEvent(new CustomEvent("ajaxProduct:added", { detail: { firstProduct } })); 5661 document.dispatchEvent(new CustomEvent("cart:build")); 5662 5663 // Show cart badge notification in your header 5664 const cartBubble = document.querySelector(".cart-link__bubble"); 5665 if (cartBubble && !cartBubble.classList.contains("cart-link__bubble--visible")) { 5666 cartBubble.classList.add("cart-link__bubble--visible"); 5667 } 5668 }) 5669 .catch(err => { 5670 console.error('Custom ATC Error:', err); 5671 }) 5672 .finally(() => { 5673 button.disabled = false; 5674 }); 5675}); 5676</script>
5676 5677<div class="grid__item grid-product small--one-half medium-up--one-third " data-aos="row-of-3" data-product-handle="caramel-chocolate-bars" data-product-id="5141180383368"> 5678 <div class="grid-product__content"> 5679 <div class="grid-product__tag grid-product__tag--custom" > 5680 5681 12 / 24 bars 5682 5683 </div> 5684 5685<a href="/products/caramel-chocolate-bars" class="grid-product__link"> 5686 <div class="grid-product__image-mask"><div class="image-wrap" 5687 5688 style="height: 0; padding-bottom: 100.0%;" 5689 5690 > 5691 5692 5693 5694 5695 5696 <img src="//nomochoc.com/cdn/shop/files/CaramelSKU1.jpg?v=1746616610" alt="" srcset="//nomochoc.com/cdn/shop/files/CaramelSKU1.jpg?v=1746616610&width=360 360w, //nomochoc.com/cdn/shop/files/CaramelSKU1.jpg?v=1746616610&width=540 540w, //nomochoc.com/cdn/shop/files/CaramelSKU1.jpg?v=1746616610&width=720 720w, //nomochoc.com/cdn/shop/files/CaramelSKU1.jpg?v=1746616610&width=900 900w" width="1000" height="1000" loading="lazy" class="grid-product__image image-style-- 5697" sizes="(min-width: 769px) 33vw, 50vw"> 5698 5699 5700 5701 5702</div><div class="grid-product__secondary-image small--hide"> 5703 5704 5705 5706 5707 5708 <img src="//nomochoc.com/cdn/shop/files/CaramelSKU3.jpg?v=1746616612" alt="" srcset="//nomochoc.com/cdn/shop/files/CaramelSKU3.jpg?v=1746616612&width=360 360w, //nomochoc.com/cdn/shop/files/CaramelSKU3.jpg?v=1746616612&width=540 540w, //nomochoc.com/cdn/shop/files/CaramelSKU3.jpg?v=1746616612&width=720 720w, //nomochoc.com/cdn/shop/files/CaramelSKU3.jpg?v=1746616612&width=1000 1000w" width="1000" height="1000" loading="lazy" class="image-style-- 5709" sizes="(min-width: 769px) 33vw, 50vw"> 5710 5711 5712 5713 5714</div> 5715 5716 5717 <!-- Custom Add to Cart Button for Collection Pages --> 5718 <form method="post" action="/cart/add" class="custom-atc-form"> 5719 <!-- This grabs the ID of the product being clicked --> 5720 <input type="hidden" name="id" value="55021781975419" /> 5721 <input type="hidden" name="quantity" value="1" /> 5722 5723 <button type="submit" class="custom-atc-button" aria-label="Add to basket"> 5724 <span class="custom-atc-icon"> 5725 <!-- The exact SVG icon from your reference code --> 5726 <svg fill="none" height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"> 5727 <path d="m13.5 7h-4v-4c0-.26522-.10536-.51957-.29289-.70711-.18754-.18753-.44189-.29289-.70711-.29289s-.51957.10536-.70711.29289c-.18753.18754-.29289.44189-.29289.70711v4h-4c-.26522 0-.51957.10536-.70711.29289-.18753.18754-.29289.44189-.29289.70711s.10536.51957.29289.70711c.18754.18753.44189.29289.70711.29289h4v4c0 .2652.10536.5196.29289.7071.18754.1875.44189.2929.70711.2929s.51957-.1054.70711-.2929c.18753-.1875.29289-.4419.29289-.7071v-4h4c.2652 0 .5196-.10536.7071-.29289.1875-.18754.2929-.44189.2929-.70711s-.1054-.51957-.2929-.70711c-.1875-.18753-.4419-.29289-.7071-.29289z" fill="#0f1111"></path> 5728 </svg> 5729 </span> 5730 </button> 5731 </form> 5732 5733</div> 5734 5735 <div class="grid-product__meta"> 5736 <div class="grid-product__title grid-product__title--body">Caramel Chocolate Bars</div><div class="grid-product__price">from £20.00 5737</div> 5738 <span class="shopify-product-reviews-badge" data-id="5141180383368"></span> 5739 <div class="klaviyo-star-rating-widget" data-id="5141180383368" data-product-title="Caramel Chocolate Bars" data-product-type="Vegan Chocolate Bars"></div></div> 5740 </a> 5741 </div></div> 5742
5743<script> 5744document.addEventListener('click', function(e) { 5745 const button = e.target.closest('.custom-atc-button'); 5746 if (!button) return; 5747 5748 const form = button.closest('.custom-atc-form'); 5749 if (!form) return; 5750 5751 e.preventDefault(); 5752 if (button.disabled) return; 5753 button.disabled = true; 5754 5755 const variantId = form.querySelector('input[name="id"]')?.value; 5756 if (!variantId) { 5757 button.disabled = false; 5758 return; 5759 } 5760 5761 // Send request matching your theme's payload structure 5762 fetch('/cart/add.js', { 5763 method: 'POST', 5764 headers: { 5765 'Content-Type': 'application/json', 5766 'Accept': 'application/json', 5767 'X-Requested-With': 'XMLHttpRequest' 5768 }, 5769 body: JSON.stringify({ 5770 items: [{ id: parseInt(variantId, 10), quantity: 1 }] 5771 }) 5772 }) 5773 .then(response => { 5774 if (!response.ok) throw new Error('Add to cart failed'); 5775 return response.json(); 5776 }) 5777 .then(data => { 5778 const firstProduct = data.items ? data.items[0] : data; 5779 5780 // Trigger your theme's native cart drawer build & open functions 5781 document.dispatchEvent(new CustomEvent("ajaxProduct:added", { detail: { firstProduct } })); 5782 document.dispatchEvent(new CustomEvent("cart:build")); 5783 5784 // Show cart badge notification in your header 5785 const cartBubble = document.querySelector(".cart-link__bubble"); 5786 if (cartBubble && !cartBubble.classList.contains("cart-link__bubble--visible")) { 5787 cartBubble.classList.add("cart-link__bubble--visible"); 5788 } 5789 }) 5790 .catch(err => { 5791 console.error('Custom ATC Error:', err); 5792 }) 5793 .finally(() => { 5794 button.disabled = false; 5795 }); 5796}); 5797</script>
5797 5798<div class="grid__item grid-product small--one-half medium-up--one-third " data-aos="row-of-3" data-product-handle="cookie-dough-chocolate-bars" data-product-id="15062685057403"> 5799 <div class="grid-product__content"> 5800 <div class="grid-product__tag grid-product__tag--custom" > 5801 5802 12 / 24 bars 5803 5804 </div> 5805 5806<a href="/products/cookie-dough-chocolate-bars" class="grid-product__link"> 5807 <div class="grid-product__image-mask"><div class="image-wrap" 5808 5809 style="height: 0; padding-bottom: 100.0%;" 5810 5811 > 5812 5813 5814 5815 5816 5817 <img src="//nomochoc.com/cdn/shop/files/CookieDoughSKU12.jpg?v=1748868647" alt="" srcset="//nomochoc.com/cdn/shop/files/CookieDoughSKU12.jpg?v=1748868647&width=360 360w, //nomochoc.com/cdn/shop/files/CookieDoughSKU12.jpg?v=1748868647&width=540 540w, //nomochoc.com/cdn/shop/files/CookieDoughSKU12.jpg?v=1748868647&width=720 720w, //nomochoc.com/cdn/shop/files/CookieDoughSKU12.jpg?v=1748868647&width=900 900w" width="1000" height="1000" loading="lazy" class="grid-product__image image-style-- 5818" sizes="(min-width: 769px) 33vw, 50vw"> 5819 5820 5821 5822 5823</div><div class="grid-product__secondary-image small--hide"> 5824 5825 5826 5827 5828 5829 <img src="//nomochoc.com/cdn/shop/files/CookieDoughSKU32.jpg?v=1747131066" alt="" srcset="//nomochoc.com/cdn/shop/files/CookieDoughSKU32.jpg?v=1747131066&width=360 360w, //nomochoc.com/cdn/shop/files/CookieDoughSKU32.jpg?v=1747131066&width=540 540w, //nomochoc.com/cdn/shop/files/CookieDoughSKU32.jpg?v=1747131066&width=720 720w, //nomochoc.com/cdn/shop/files/CookieDoughSKU32.jpg?v=1747131066&width=1000 1000w" width="1000" height="1000" loading="lazy" class="image-style-- 5830" sizes="(min-width: 769px) 33vw, 50vw"> 5831 5832 5833 5834 5835</div> 5836 5837 5838 <!-- Custom Add to Cart Button for Collection Pages --> 5839 <form method="post" action="/cart/add" class="custom-atc-form"> 5840 <!-- This grabs the ID of the product being clicked --> 5841 <input type="hidden" name="id" value="55391340495227" /> 5842 <input type="hidden" name="quantity" value="1" /> 5843 5844 <button type="submit" class="custom-atc-button" aria-label="Add to basket"> 5845 <span class="custom-atc-icon"> 5846 <!-- The exact SVG icon from your reference code --> 5847 <svg fill="none" height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"> 5848 <path d="m13.5 7h-4v-4c0-.26522-.10536-.51957-.29289-.70711-.18754-.18753-.44189-.29289-.70711-.29289s-.51957.10536-.70711.29289c-.18753.18754-.29289.44189-.29289.70711v4h-4c-.26522 0-.51957.10536-.70711.29289-.18753.18754-.29289.44189-.29289.70711s.10536.51957.29289.70711c.18754.18753.44189.29289.70711.29289h4v4c0 .2652.10536.5196.29289.7071.18754.1875.44189.2929.70711.2929s.51957-.1054.70711-.2929c.18753-.1875.29289-.4419.29289-.7071v-4h4c.2652 0 .5196-.10536.7071-.29289.1875-.18754.2929-.44189.2929-.70711s-.1054-.51957-.2929-.70711c-.1875-.18753-.4419-.29289-.7071-.29289z" fill="#0f1111"></path> 5849 </svg> 5850 </span> 5851 </button> 5852 </form> 5853 5854</div> 5855 5856 <div class="grid-product__meta"> 5857 <div class="grid-product__title grid-product__title--body">Cookie Dough Chocolate Bars</div><div class="grid-product__price">from £20.00 5858</div> 5859 <span class="shopify-product-reviews-badge" data-id="15062685057403"></span> 5860 <div class="klaviyo-star-rating-widget" data-id="15062685057403" data-product-title="Cookie Dough Chocolate Bars" data-product-type="Vegan Chocolate Bars"></div></div> 5861 </a> 5862 </div></div> 5863
5864<script> 5865document.addEventListener('click', function(e) { 5866 const button = e.target.closest('.custom-atc-button'); 5867 if (!button) return; 5868 5869 const form = button.closest('.custom-atc-form'); 5870 if (!form) return; 5871 5872 e.preventDefault(); 5873 if (button.disabled) return; 5874 button.disabled = true; 5875 5876 const variantId = form.querySelector('input[name="id"]')?.value; 5877 if (!variantId) { 5878 button.disabled = false; 5879 return; 5880 } 5881 5882 // Send request matching your theme's payload structure 5883 fetch('/cart/add.js', { 5884 method: 'POST', 5885 headers: { 5886 'Content-Type': 'application/json', 5887 'Accept': 'application/json', 5888 'X-Requested-With': 'XMLHttpRequest' 5889 }, 5890 body: JSON.stringify({ 5891 items: [{ id: parseInt(variantId, 10), quantity: 1 }] 5892 }) 5893 }) 5894 .then(response => { 5895 if (!response.ok) throw new Error('Add to cart failed'); 5896 return response.json(); 5897 }) 5898 .then(data => { 5899 const firstProduct = data.items ? data.items[0] : data; 5900 5901 // Trigger your theme's native cart drawer build & open functions 5902 document.dispatchEvent(new CustomEvent("ajaxProduct:added", { detail: { firstProduct } })); 5903 document.dispatchEvent(new CustomEvent("cart:build")); 5904 5905 // Show cart badge notification in your header 5906 const cartBubble = document.querySelector(".cart-link__bubble"); 5907 if (cartBubble && !cartBubble.classList.contains("cart-link__bubble--visible")) { 5908 cartBubble.classList.add("cart-link__bubble--visible"); 5909 } 5910 }) 5911 .catch(err => { 5912 console.error('Custom ATC Error:', err); 5913 }) 5914 .finally(() => { 5915 button.disabled = false; 5916 }); 5917}); 5918</script>
5918 5919<div class="grid__item grid-product small--one-half medium-up--one-third " data-aos="row-of-3" data-product-handle="creamy-chocolate-bars" data-product-id="4762109313160"> 5920 <div class="grid-product__content"> 5921 <div class="grid-product__tag grid-product__tag--custom" > 5922 5923 12 / 24 bars 5924 5925 </div> 5926 5927<a href="/products/creamy-chocolate-bars" class="grid-product__link"> 5928 <div class="grid-product__image-mask"><div class="image-wrap" 5929 5930 style="height: 0; padding-bottom: 100.0%;" 5931 5932 > 5933 5934 5935 5936 5937 5938 <img src="//nomochoc.com/cdn/shop/files/CreamyChocSKU1_1.jpg?v=1751622967" alt="" srcset="//nomochoc.com/cdn/shop/files/CreamyChocSKU1_1.jpg?v=1751622967&width=360 360w, //nomochoc.com/cdn/shop/files/CreamyChocSKU1_1.jpg?v=1751622967&width=540 540w, //nomochoc.com/cdn/shop/files/CreamyChocSKU1_1.jpg?v=1751622967&width=720 720w, //nomochoc.com/cdn/shop/files/CreamyChocSKU1_1.jpg?v=1751622967&width=900 900w" width="1000" height="1000" loading="lazy" class="grid-product__image image-style-- 5939" sizes="(min-width: 769px) 33vw, 50vw"> 5940 5941 5942 5943 5944</div><div class="grid-product__secondary-image small--hide"> 5945 5946 5947 5948 5949 5950 <img src="//nomochoc.com/cdn/shop/files/CreamyChocSKU3.jpg?v=1753868616" alt="" srcset="//nomochoc.com/cdn/shop/files/CreamyChocSKU3.jpg?v=1753868616&width=360 360w, //nomochoc.com/cdn/shop/files/CreamyChocSKU3.jpg?v=1753868616&width=540 540w, //nomochoc.com/cdn/shop/files/CreamyChocSKU3.jpg?v=1753868616&width=720 720w, //nomochoc.com/cdn/shop/files/CreamyChocSKU3.jpg?v=1753868616&width=1000 1000w" width="1000" height="1000" loading="lazy" class="image-style-- 5951" sizes="(min-width: 769px) 33vw, 50vw"> 5952 5953 5954 5955 5956</div> 5957 5958 5959 <!-- Custom Add to Cart Button for Collection Pages --> 5960 <form method="post" action="/cart/add" class="custom-atc-form"> 5961 <!-- This grabs the ID of the product being clicked --> 5962 <input type="hidden" name="id" value="55021784400251" /> 5963 <input type="hidden" name="quantity" value="1" /> 5964 5965 <button type="submit" class="custom-atc-button" aria-label="Add to basket"> 5966 <span class="custom-atc-icon"> 5967 <!-- The exact SVG icon from your reference code --> 5968 <svg fill="none" height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"> 5969 <path d="m13.5 7h-4v-4c0-.26522-.10536-.51957-.29289-.70711-.18754-.18753-.44189-.29289-.70711-.29289s-.51957.10536-.70711.29289c-.18753.18754-.29289.44189-.29289.70711v4h-4c-.26522 0-.51957.10536-.70711.29289-.18753.18754-.29289.44189-.29289.70711s.10536.51957.29289.70711c.18754.18753.44189.29289.70711.29289h4v4c0 .2652.10536.5196.29289.7071.18754.1875.44189.2929.70711.2929s.51957-.1054.70711-.2929c.18753-.1875.29289-.4419.29289-.7071v-4h4c.2652 0 .5196-.10536.7071-.29289.1875-.18754.2929-.44189.2929-.70711s-.1054-.51957-.2929-.70711c-.1875-.18753-.4419-.29289-.7071-.29289z" fill="#0f1111"></path> 5970 </svg> 5971 </span> 5972 </button> 5973 </form> 5974 5975</div> 5976 5977 <div class="grid-product__meta"> 5978 <div class="grid-product__title grid-product__title--body">Creamy Chocolate Bars</div><div class="grid-product__price">from £20.00 5979</div> 5980 <span class="shopify-product-reviews-badge" data-id="4762109313160"></span> 5981 <div class="klaviyo-star-rating-widget" data-id="4762109313160" data-product-title="Creamy Chocolate Bars" data-product-type="Vegan Chocolate Bars"></div></div> 5982 </a> 5983 </div></div> 5984
5985<script> 5986document.addEventListener('click', function(e) { 5987 const button = e.target.closest('.custom-atc-button'); 5988 if (!button) return; 5989 5990 const form = button.closest('.custom-atc-form'); 5991 if (!form) return; 5992 5993 e.preventDefault(); 5994 if (button.disabled) return; 5995 button.disabled = true; 5996 5997 const variantId = form.querySelector('input[name="id"]')?.value; 5998 if (!variantId) { 5999 button.disabled = false; 6000 return; 6001 } 6002 6003 // Send request matching your theme's payload structure 6004 fetch('/cart/add.js', { 6005 method: 'POST', 6006 headers: { 6007 'Content-Type': 'application/json', 6008 'Accept': 'application/json', 6009 'X-Requested-With': 'XMLHttpRequest' 6010 }, 6011 body: JSON.stringify({ 6012 items: [{ id: parseInt(variantId, 10), quantity: 1 }] 6013 }) 6014 }) 6015 .then(response => { 6016 if (!response.ok) throw new Error('Add to cart failed'); 6017 return response.json(); 6018 }) 6019 .then(data => { 6020 const firstProduct = data.items ? data.items[0] : data; 6021 6022 // Trigger your theme's native cart drawer build & open functions 6023 document.dispatchEvent(new CustomEvent("ajaxProduct:added", { detail: { firstProduct } })); 6024 document.dispatchEvent(new CustomEvent("cart:build")); 6025 6026 // Show cart badge notification in your header 6027 const cartBubble = document.querySelector(".cart-link__bubble"); 6028 if (cartBubble && !cartBubble.classList.contains("cart-link__bubble--visible")) { 6029 cartBubble.classList.add("cart-link__bubble--visible"); 6030 } 6031 }) 6032 .catch(err => { 6033 console.error('Custom ATC Error:', err); 6034 }) 6035 .finally(() => { 6036 button.disabled = false; 6037 }); 6038}); 6039</script>
6039 6040<div class="grid__item grid-product small--one-half medium-up--one-third " data-aos="row-of-3" data-product-handle="birthday-cake-filled-bars" data-product-id="15060021969275"> 6041 <div class="grid-product__content"> 6042 <div class="grid-product__tag grid-product__tag--custom" > 6043 6044 6 / 12 bars 6045 6046 </div> 6047 6048<a href="/products/birthday-cake-filled-bars" class="grid-product__link"> 6049 <div class="grid-product__image-mask"><div class="image-wrap" 6050 6051 style="height: 0; padding-bottom: 100.0%;" 6052 6053 > 6054 6055 6056 6057 6058 6059 <img src="//nomochoc.com/cdn/shop/files/BirthdayCakeSKU11.jpg?v=1747130885" alt="" srcset="//nomochoc.com/cdn/shop/files/BirthdayCakeSKU11.jpg?v=1747130885&width=360 360w, //nomochoc.com/cdn/shop/files/BirthdayCakeSKU11.jpg?v=1747130885&width=540 540w, //nomochoc.com/cdn/shop/files/BirthdayCakeSKU11.jpg?v=1747130885&width=720 720w, //nomochoc.com/cdn/shop/files/BirthdayCakeSKU11.jpg?v=1747130885&width=900 900w" width="1000" height="1000" loading="lazy" class="grid-product__image image-style-- 6060" sizes="(min-width: 769px) 33vw, 50vw"> 6061 6062 6063 6064 6065</div><div class="grid-product__secondary-image small--hide"> 6066 6067 6068 6069 6070 6071 <img src="//nomochoc.com/cdn/shop/files/BirthdayCakeSKU31.jpg?v=1747130885" alt="" srcset="//nomochoc.com/cdn/shop/files/BirthdayCakeSKU31.jpg?v=1747130885&width=360 360w, //nomochoc.com/cdn/shop/files/BirthdayCakeSKU31.jpg?v=1747130885&width=540 540w, //nomochoc.com/cdn/shop/files/BirthdayCakeSKU31.jpg?v=1747130885&width=720 720w, //nomochoc.com/cdn/shop/files/BirthdayCakeSKU31.jpg?v=1747130885&width=1000 1000w" width="1000" height="1000" loading="lazy" class="image-style-- 6072" sizes="(min-width: 769px) 33vw, 50vw"> 6073 6074 6075 6076 6077</div> 6078 6079 6080 <!-- Custom Add to Cart Button for Collection Pages --> 6081 <form method="post" action="/cart/add" class="custom-atc-form"> 6082 <!-- This grabs the ID of the product being clicked --> 6083 <input type="hidden" name="id" value="55382409380219" /> 6084 <input type="hidden" name="quantity" value="1" /> 6085 6086 <button type="submit" class="custom-atc-button" aria-label="Add to basket"> 6087 <span class="custom-atc-icon"> 6088 <!-- The exact SVG icon from your reference code --> 6089 <svg fill="none" height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"> 6090 <path d="m13.5 7h-4v-4c0-.26522-.10536-.51957-.29289-.70711-.18754-.18753-.44189-.29289-.70711-.29289s-.51957.10536-.70711.29289c-.18753.18754-.29289.44189-.29289.70711v4h-4c-.26522 0-.51957.10536-.70711.29289-.18753.18754-.29289.44189-.29289.70711s.10536.51957.29289.70711c.18754.18753.44189.29289.70711.29289h4v4c0 .2652.10536.5196.29289.7071.18754.1875.44189.2929.70711.2929s.51957-.1054.70711-.2929c.18753-.1875.29289-.4419.29289-.7071v-4h4c.2652 0 .5196-.10536.7071-.29289.1875-.18754.2929-.44189.2929-.70711s-.1054-.51957-.2929-.70711c-.1875-.18753-.4419-.29289-.7071-.29289z" fill="#0f1111"></path> 6091 </svg> 6092 </span> 6093 </button> 6094 </form> 6095 6096</div> 6097 6098 <div class="grid-product__meta"> 6099 <div class="grid-product__title grid-product__title--body">Birthday Cake Filled Chocolate Bars</div><div class="grid-product__price">from £24.00 6100</div> 6101 <span class="shopify-product-reviews-badge" data-id="15060021969275"></span> 6102 <div class="klaviyo-star-rating-widget" data-id="15060021969275" data-product-title="Birthday Cake Filled Chocolate Bars" data-product-type="Vegan Chocolate Bars"></div></div> 6103 </a> 6104 </div></div> 6105
6106<script> 6107document.addEventListener('click', function(e) { 6108 const button = e.target.closest('.custom-atc-button'); 6109 if (!button) return; 6110 6111 const form = button.closest('.custom-atc-form'); 6112 if (!form) return; 6113 6114 e.preventDefault(); 6115 if (button.disabled) return; 6116 button.disabled = true; 6117 6118 const variantId = form.querySelector('input[name="id"]')?.value; 6119 if (!variantId) { 6120 button.disabled = false; 6121 return; 6122 } 6123 6124 // Send request matching your theme's payload structure 6125 fetch('/cart/add.js', { 6126 method: 'POST', 6127 headers: { 6128 'Content-Type': 'application/json', 6129 'Accept': 'application/json', 6130 'X-Requested-With': 'XMLHttpRequest' 6131 }, 6132 body: JSON.stringify({ 6133 items: [{ id: parseInt(variantId, 10), quantity: 1 }] 6134 }) 6135 }) 6136 .then(response => { 6137 if (!response.ok) throw new Error('Add to cart failed'); 6138 return response.json(); 6139 }) 6140 .then(data => { 6141 const firstProduct = data.items ? data.items[0] : data; 6142 6143 // Trigger your theme's native cart drawer build & open functions 6144 document.dispatchEvent(new CustomEvent("ajaxProduct:added", { detail: { firstProduct } })); 6145 document.dispatchEvent(new CustomEvent("cart:build")); 6146 6147 // Show cart badge notification in your header 6148 const cartBubble = document.querySelector(".cart-link__bubble"); 6149 if (cartBubble && !cartBubble.classList.contains("cart-link__bubble--visible")) { 6150 cartBubble.classList.add("cart-link__bubble--visible"); 6151 } 6152 }) 6153 .catch(err => { 6154 console.error('Custom ATC Error:', err); 6155 }) 6156 .finally(() => { 6157 button.disabled = false; 6158 }); 6159}); 6160</script>
6160 6161<div class="grid__item grid-product small--one-half medium-up--one-third " data-aos="row-of-3" data-product-handle="caramel-filled-chocolate-bars" data-product-id="8308074217608"> 6162 <div class="grid-product__content"> 6163 <div class="grid-product__tag grid-product__tag--custom" > 6164 6165 6 / 12 bars 6166 6167 </div> 6168 6169<a href="/products/caramel-filled-chocolate-bars" class="grid-product__link"> 6170 <div class="grid-product__image-mask"><div class="image-wrap" 6171 6172 style="height: 0; padding-bottom: 100.0%;" 6173 6174 > 6175 6176 6177 6178 6179 6180 <img src="//nomochoc.com/cdn/shop/files/CaramelSKU12.jpg?v=1747646058" alt="" srcset="//nomochoc.com/cdn/shop/files/CaramelSKU12.jpg?v=1747646058&width=360 360w, //nomochoc.com/cdn/shop/files/CaramelSKU12.jpg?v=1747646058&width=540 540w, //nomochoc.com/cdn/shop/files/CaramelSKU12.jpg?v=1747646058&width=720 720w, //nomochoc.com/cdn/shop/files/CaramelSKU12.jpg?v=1747646058&width=900 900w" width="1000" height="1000" loading="lazy" class="grid-product__image image-style-- 6181" sizes="(min-width: 769px) 33vw, 50vw"> 6182 6183 6184 6185 6186</div><div class="grid-product__secondary-image small--hide"> 6187 6188 6189 6190 6191 6192 <img src="//nomochoc.com/cdn/shop/files/CaramelSKU32.jpg?v=1747646058" alt="" srcset="//nomochoc.com/cdn/shop/files/CaramelSKU32.jpg?v=1747646058&width=360 360w, //nomochoc.com/cdn/shop/files/CaramelSKU32.jpg?v=1747646058&width=540 540w, //nomochoc.com/cdn/shop/files/CaramelSKU32.jpg?v=1747646058&width=720 720w, //nomochoc.com/cdn/shop/files/CaramelSKU32.jpg?v=1747646058&width=1000 1000w" width="1000" height="1000" loading="lazy" class="image-style-- 6193" sizes="(min-width: 769px) 33vw, 50vw"> 6194 6195 6196 6197 6198</div> 6199 6200 6201 <!-- Custom Add to Cart Button for Collection Pages --> 6202 <form method="post" action="/cart/add" class="custom-atc-form"> 6203 <!-- This grabs the ID of the product being clicked --> 6204 <input type="hidden" name="id" value="53555641581947" /> 6205 <input type="hidden" name="quantity" value="1" /> 6206 6207 <button type="submit" class="custom-atc-button" aria-label="Add to basket"> 6208 <span class="custom-atc-icon"> 6209 <!-- The exact SVG icon from your reference code --> 6210 <svg fill="none" height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"> 6211 <path d="m13.5 7h-4v-4c0-.26522-.10536-.51957-.29289-.70711-.18754-.18753-.44189-.29289-.70711-.29289s-.51957.10536-.70711.29289c-.18753.18754-.29289.44189-.29289.70711v4h-4c-.26522 0-.51957.10536-.70711.29289-.18753.18754-.29289.44189-.29289.70711s.10536.51957.29289.70711c.18754.18753.44189.29289.70711.29289h4v4c0 .2652.10536.5196.29289.7071.18754.1875.44189.2929.70711.2929s.51957-.1054.70711-.2929c.18753-.1875.29289-.4419.29289-.7071v-4h4c.2652 0 .5196-.10536.7071-.29289.1875-.18754.2929-.44189.2929-.70711s-.1054-.51957-.2929-.70711c-.1875-.18753-.4419-.29289-.7071-.29289z" fill="#0f1111"></path> 6212 </svg> 6213 </span> 6214 </button> 6215 </form> 6216 6217</div> 6218 6219 <div class="grid-product__meta"> 6220 <div class="grid-product__title grid-product__title--body">Caramel Filled Chocolate Bars</div><div class="grid-product__price"><span class="visually-hidden">Regular price</span> 6221 <span class="grid-product__price--original">£23.40</span> 6222 <span class="visually-hidden">Sale price</span>from £11.00 6223<span class="grid-product__price--savings"> 6224 Save £12.40 6225 </span></div> 6226 <span class="shopify-product-reviews-badge" data-id="8308074217608"></span> 6227 <div class="klaviyo-star-rating-widget" data-id="8308074217608" data-product-title="Caramel Filled Chocolate Bars" data-product-type="Vegan Chocolate Bars"></div></div> 6228 </a> 6229 </div></div> 6230
6231<script> 6232document.addEventListener('click', function(e) { 6233 const button = e.target.closest('.custom-atc-button'); 6234 if (!button) return; 6235 6236 const form = button.closest('.custom-atc-form'); 6237 if (!form) return; 6238 6239 e.preventDefault(); 6240 if (button.disabled) return; 6241 button.disabled = true; 6242 6243 const variantId = form.querySelector('input[name="id"]')?.value; 6244 if (!variantId) { 6245 button.disabled = false; 6246 return; 6247 } 6248 6249 // Send request matching your theme's payload structure 6250 fetch('/cart/add.js', { 6251 method: 'POST', 6252 headers: { 6253 'Content-Type': 'application/json', 6254 'Accept': 'application/json', 6255 'X-Requested-With': 'XMLHttpRequest' 6256 }, 6257 body: JSON.stringify({ 6258 items: [{ id: parseInt(variantId, 10), quantity: 1 }] 6259 }) 6260 }) 6261 .then(response => { 6262 if (!response.ok) throw new Error('Add to cart failed'); 6263 return response.json(); 6264 }) 6265 .then(data => { 6266 const firstProduct = data.items ? data.items[0] : data; 6267 6268 // Trigger your theme's native cart drawer build & open functions 6269 document.dispatchEvent(new CustomEvent("ajaxProduct:added", { detail: { firstProduct } })); 6270 document.dispatchEvent(new CustomEvent("cart:build")); 6271 6272 // Show cart badge notification in your header 6273 const cartBubble = document.querySelector(".cart-link__bubble"); 6274 if (cartBubble && !cartBubble.classList.contains("cart-link__bubble--visible")) { 6275 cartBubble.classList.add("cart-link__bubble--visible"); 6276 } 6277 }) 6278 .catch(err => { 6279 console.error('Custom ATC Error:', err); 6280 }) 6281 .finally(() => { 6282 button.disabled = false; 6283 }); 6284}); 6285</script>
6285 6286<div class="grid__item grid-product small--one-half medium-up--one-third " data-aos="row-of-3" data-product-handle="fudge-filled-chocolate-bars" data-product-id="8308113047688"> 6287 <div class="grid-product__content"> 6288 <div class="grid-product__tag grid-product__tag--custom" > 6289 6290 6 / 12 bars 6291 6292 </div> 6293 6294<a href="/products/fudge-filled-chocolate-bars" class="grid-product__link"> 6295 <div class="grid-product__image-mask"><div class="image-wrap" 6296 6297 style="height: 0; padding-bottom: 100.0%;" 6298 6299 > 6300 6301 6302 6303 6304 6305 <img src="//nomochoc.com/cdn/shop/files/ChocFudgeSKU11.jpg?v=1747646159" alt="" srcset="//nomochoc.com/cdn/shop/files/ChocFudgeSKU11.jpg?v=1747646159&width=360 360w, //nomochoc.com/cdn/shop/files/ChocFudgeSKU11.jpg?v=1747646159&width=540 540w, //nomochoc.com/cdn/shop/files/ChocFudgeSKU11.jpg?v=1747646159&width=720 720w, //nomochoc.com/cdn/shop/files/ChocFudgeSKU11.jpg?v=1747646159&width=900 900w" width="1000" height="1000" loading="lazy" class="grid-product__image image-style-- 6306" sizes="(min-width: 769px) 33vw, 50vw"> 6307 6308 6309 6310 6311</div><div class="grid-product__secondary-image small--hide"> 6312 6313 6314 6315 6316 6317 <img src="//nomochoc.com/cdn/shop/files/ChocFudgeSKU31.jpg?v=1747646159" alt="" srcset="//nomochoc.com/cdn/shop/files/ChocFudgeSKU31.jpg?v=1747646159&width=360 360w, //nomochoc.com/cdn/shop/files/ChocFudgeSKU31.jpg?v=1747646159&width=540 540w, //nomochoc.com/cdn/shop/files/ChocFudgeSKU31.jpg?v=1747646159&width=720 720w, //nomochoc.com/cdn/shop/files/ChocFudgeSKU31.jpg?v=1747646159&width=1000 1000w" width="1000" height="1000" loading="lazy" class="image-style-- 6318" sizes="(min-width: 769px) 33vw, 50vw"> 6319 6320 6321 6322 6323</div> 6324 6325 6326 <!-- Custom Add to Cart Button for Collection Pages --> 6327 <form method="post" action="/cart/add" class="custom-atc-form"> 6328 <!-- This grabs the ID of the product being clicked --> 6329 <input type="hidden" name="id" value="53555646431611" /> 6330 <input type="hidden" name="quantity" value="1" /> 6331 6332 <button type="submit" class="custom-atc-button" aria-label="Add to basket"> 6333 <span class="custom-atc-icon"> 6334 <!-- The exact SVG icon from your reference code --> 6335 <svg fill="none" height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"> 6336 <path d="m13.5 7h-4v-4c0-.26522-.10536-.51957-.29289-.70711-.18754-.18753-.44189-.29289-.70711-.29289s-.51957.10536-.70711.29289c-.18753.18754-.29289.44189-.29289.70711v4h-4c-.26522 0-.51957.10536-.70711.29289-.18753.18754-.29289.44189-.29289.70711s.10536.51957.29289.70711c.18754.18753.44189.29289.70711.29289h4v4c0 .2652.10536.5196.29289.7071.18754.1875.44189.2929.70711.2929s.51957-.1054.70711-.2929c.18753-.1875.29289-.4419.29289-.7071v-4h4c.2652 0 .5196-.10536.7071-.29289.1875-.18754.2929-.44189.2929-.70711s-.1054-.51957-.2929-.70711c-.1875-.18753-.4419-.29289-.7071-.29289z" fill="#0f1111"></path> 6337 </svg> 6338 </span> 6339 </button> 6340 </form> 6341 6342</div> 6343 6344 <div class="grid-product__meta"> 6345 <div class="grid-product__title grid-product__title--body">Fudge Filled Chocolate Bars</div><div class="grid-product__price">from £24.00 6346</div> 6347 <span class="shopify-product-reviews-badge" data-id="8308113047688"></span> 6348 <div class="klaviyo-star-rating-widget" data-id="8308113047688" data-product-title="Fudge Filled Chocolate Bars" data-product-type="Vegan Chocolate Bars"></div></div> 6349 </a> 6350 </div></div> 6351
6352<script> 6353document.addEventListener('click', function(e) { 6354 const button = e.target.closest('.custom-atc-button'); 6355 if (!button) return; 6356 6357 const form = button.closest('.custom-atc-form'); 6358 if (!form) return; 6359 6360 e.preventDefault(); 6361 if (button.disabled) return; 6362 button.disabled = true; 6363 6364 const variantId = form.querySelector('input[name="id"]')?.value; 6365 if (!variantId) { 6366 button.disabled = false; 6367 return; 6368 } 6369 6370 // Send request matching your theme's payload structure 6371 fetch('/cart/add.js', { 6372 method: 'POST', 6373 headers: { 6374 'Content-Type': 'application/json', 6375 'Accept': 'application/json', 6376 'X-Requested-With': 'XMLHttpRequest' 6377 }, 6378 body: JSON.stringify({ 6379 items: [{ id: parseInt(variantId, 10), quantity: 1 }] 6380 }) 6381 }) 6382 .then(response => { 6383 if (!response.ok) throw new Error('Add to cart failed'); 6384 return response.json(); 6385 }) 6386 .then(data => { 6387 const firstProduct = data.items ? data.items[0] : data; 6388 6389 // Trigger your theme's native cart drawer build & open functions 6390 document.dispatchEvent(new CustomEvent("ajaxProduct:added", { detail: { firstProduct } })); 6391 document.dispatchEvent(new CustomEvent("cart:build")); 6392 6393 // Show cart badge notification in your header 6394 const cartBubble = document.querySelector(".cart-link__bubble"); 6395 if (cartBubble && !cartBubble.classList.contains("cart-link__bubble--visible")) { 6396 cartBubble.classList.add("cart-link__bubble--visible"); 6397 } 6398 }) 6399 .catch(err => { 6400 console.error('Custom ATC Error:', err); 6401 }) 6402 .finally(() => { 6403 button.disabled = false; 6404 }); 6405}); 6406</script>
6406 6407<div class="grid__item grid-product small--one-half medium-up--one-third " data-aos="row-of-3" data-product-handle="cookie-dough-filled-bar" data-product-id="7341832634504"> 6408 <div class="grid-product__content"> 6409 <div class="grid-product__tag grid-product__tag--custom" > 6410 6411 6 / 12 bars 6412 6413 </div> 6414 6415<a href="/products/cookie-dough-filled-bar" class="grid-product__link"> 6416 <div class="grid-product__image-mask"><div class="image-wrap" 6417 6418 style="height: 0; padding-bottom: 100.0%;" 6419 6420 > 6421 6422 6423 6424 6425 6426 <img src="//nomochoc.com/cdn/shop/files/CookieDoughSKU14.jpg?v=1747646114" alt="" srcset="//nomochoc.com/cdn/shop/files/CookieDoughSKU14.jpg?v=1747646114&width=360 360w, //nomochoc.com/cdn/shop/files/CookieDoughSKU14.jpg?v=1747646114&width=540 540w, //nomochoc.com/cdn/shop/files/CookieDoughSKU14.jpg?v=1747646114&width=720 720w, //nomochoc.com/cdn/shop/files/CookieDoughSKU14.jpg?v=1747646114&width=900 900w" width="1000" height="1000" loading="lazy" class="grid-product__image image-style-- 6427" sizes="(min-width: 769px) 33vw, 50vw"> 6428 6429 6430 6431 6432</div><div class="grid-product__secondary-image small--hide"> 6433 6434 6435 6436 6437 6438 <img src="//nomochoc.com/cdn/shop/files/CookieDoughSKU34.jpg?v=1747646114" alt="" srcset="//nomochoc.com/cdn/shop/files/CookieDoughSKU34.jpg?v=1747646114&width=360 360w, //nomochoc.com/cdn/shop/files/CookieDoughSKU34.jpg?v=1747646114&width=540 540w, //nomochoc.com/cdn/shop/files/CookieDoughSKU34.jpg?v=1747646114&width=720 720w, //nomochoc.com/cdn/shop/files/CookieDoughSKU34.jpg?v=1747646114&width=1000 1000w" width="1000" height="1000" loading="lazy" class="image-style-- 6439" sizes="(min-width: 769px) 33vw, 50vw"> 6440 6441 6442 6443 6444</div> 6445 6446 6447 <!-- Custom Add to Cart Button for Collection Pages --> 6448 <form method="post" action="/cart/add" class="custom-atc-form"> 6449 <!-- This grabs the ID of the product being clicked --> 6450 <input type="hidden" name="id" value="53555649773947" /> 6451 <input type="hidden" name="quantity" value="1" /> 6452 6453 <button type="submit" class="custom-atc-button" aria-label="Add to basket"> 6454 <span class="custom-atc-icon"> 6455 <!-- The exact SVG icon from your reference code --> 6456 <svg fill="none" height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"> 6457 <path d="m13.5 7h-4v-4c0-.26522-.10536-.51957-.29289-.70711-.18754-.18753-.44189-.29289-.70711-.29289s-.51957.10536-.70711.29289c-.18753.18754-.29289.44189-.29289.70711v4h-4c-.26522 0-.51957.10536-.70711.29289-.18753.18754-.29289.44189-.29289.70711s.10536.51957.29289.70711c.18754.18753.44189.29289.70711.29289h4v4c0 .2652.10536.5196.29289.7071.18754.1875.44189.2929.70711.2929s.51957-.1054.70711-.2929c.18753-.1875.29289-.4419.29289-.7071v-4h4c.2652 0 .5196-.10536.7071-.29289.1875-.18754.2929-.44189.2929-.70711s-.1054-.51957-.2929-.70711c-.1875-.18753-.4419-.29289-.7071-.29289z" fill="#0f1111"></path> 6458 </svg> 6459 </span> 6460 </button> 6461 </form> 6462 6463</div> 6464 6465 <div class="grid-product__meta"> 6466 <div class="grid-product__title grid-product__title--body">Cookie Dough Filled Chocolate Bars</div><div class="grid-product__price"><span class="visually-hidden">Regular price</span> 6467 <span class="grid-product__price--original">£24.00</span> 6468 <span class="visually-hidden">Sale price</span>from £11.00 6469<span class="grid-product__price--savings"> 6470 Save £13.00 6471 </span></div> 6472 <span class="shopify-product-reviews-badge" data-id="7341832634504"></span> 6473 <div class="klaviyo-star-rating-widget" data-id="7341832634504" data-product-title="Cookie Dough Filled Chocolate Bars" data-product-type="Vegan Chocolate Bars"></div></div> 6474 </a> 6475 </div></div> 6476
6477<script> 6478document.addEventListener('click', function(e) { 6479 const button = e.target.closest('.custom-atc-button'); 6480 if (!button) return; 6481 6482 const form = button.closest('.custom-atc-form'); 6483 if (!form) return; 6484 6485 e.preventDefault(); 6486 if (button.disabled) return; 6487 button.disabled = true; 6488 6489 const variantId = form.querySelector('input[name="id"]')?.value; 6490 if (!variantId) { 6491 button.disabled = false; 6492 return; 6493 } 6494 6495 // Send request matching your theme's payload structure 6496 fetch('/cart/add.js', { 6497 method: 'POST', 6498 headers: { 6499 'Content-Type': 'application/json', 6500 'Accept': 'application/json', 6501 'X-Requested-With': 'XMLHttpRequest' 6502 }, 6503 body: JSON.stringify({ 6504 items: [{ id: parseInt(variantId, 10), quantity: 1 }] 6505 }) 6506 }) 6507 .then(response => { 6508 if (!response.ok) throw new Error('Add to cart failed'); 6509 return response.json(); 6510 }) 6511 .then(data => { 6512 const firstProduct = data.items ? data.items[0] : data; 6513 6514 // Trigger your theme's native cart drawer build & open functions 6515 document.dispatchEvent(new CustomEvent("ajaxProduct:added", { detail: { firstProduct } })); 6516 document.dispatchEvent(new CustomEvent("cart:build")); 6517 6518 // Show cart badge notification in your header 6519 const cartBubble = document.querySelector(".cart-link__bubble"); 6520 if (cartBubble && !cartBubble.classList.contains("cart-link__bubble--visible")) { 6521 cartBubble.classList.add("cart-link__bubble--visible"); 6522 } 6523 }) 6524 .catch(err => { 6525 console.error('Custom ATC Error:', err); 6526 }) 6527 .finally(() => { 6528 button.disabled = false; 6529 }); 6530}); 6531</script>
6531 6532<div class="grid__item grid-product small--one-half medium-up--one-third " data-aos="row-of-3" data-product-handle="creamy-chocolate-large-bars" data-product-id="4762104758408"> 6533 <div class="grid-product__content"> 6534 <div class="grid-product__tag grid-product__tag--custom" > 6535 6536 7 / 14 bars 6537 6538 </div> 6539 6540<a href="/products/creamy-chocolate-large-bars" class="grid-product__link"> 6541 <div class="grid-product__image-mask"><div class="image-wrap" 6542 6543 style="height: 0; padding-bottom: 100.0%;" 6544 6545 > 6546 6547 6548 6549 6550 6551 <img src="//nomochoc.com/cdn/shop/files/CreamyChocSKU1.jpg?v=1749560246" alt="" srcset="//nomochoc.com/cdn/shop/files/CreamyChocSKU1.jpg?v=1749560246&width=360 360w, //nomochoc.com/cdn/shop/files/CreamyChocSKU1.jpg?v=1749560246&width=540 540w, //nomochoc.com/cdn/shop/files/CreamyChocSKU1.jpg?v=1749560246&width=720 720w, //nomochoc.com/cdn/shop/files/CreamyChocSKU1.jpg?v=1749560246&width=900 900w" width="1000" height="1000" loading="lazy" class="grid-product__image image-style-- 6552" sizes="(min-width: 769px) 33vw, 50vw"> 6553 6554 6555 6556 6557</div><div class="grid-product__secondary-image small--hide"> 6558 6559 6560 6561 6562 6563 <img src="//nomochoc.com/cdn/shop/files/CreamyChocSKU2_50e659da-52e1-49a8-8623-ccae7273c827.jpg?v=1749560253" alt="" srcset="//nomochoc.com/cdn/shop/files/CreamyChocSKU2_50e659da-52e1-49a8-8623-ccae7273c827.jpg?v=1749560253&width=360 360w, //nomochoc.com/cdn/shop/files/CreamyChocSKU2_50e659da-52e1-49a8-8623-ccae7273c827.jpg?v=1749560253&width=540 540w, //nomochoc.com/cdn/shop/files/CreamyChocSKU2_50e659da-52e1-49a8-8623-ccae7273c827.jpg?v=1749560253&width=720 720w, //nomochoc.com/cdn/shop/files/CreamyChocSKU2_50e659da-52e1-49a8-8623-ccae7273c827.jpg?v=1749560253&width=1000 1000w" width="1000" height="1000" loading="lazy" class="image-style-- 6564" sizes="(min-width: 769px) 33vw, 50vw"> 6565 6566 6567 6568 6569</div> 6570 6571 6572 <!-- Custom Add to Cart Button for Collection Pages --> 6573 <form method="post" action="/cart/add" class="custom-atc-form"> 6574 <!-- This grabs the ID of the product being clicked --> 6575 <input type="hidden" name="id" value="53555657605499" /> 6576 <input type="hidden" name="quantity" value="1" /> 6577 6578 <button type="submit" class="custom-atc-button" aria-label="Add to basket"> 6579 <span class="custom-atc-icon"> 6580 <!-- The exact SVG icon from your reference code --> 6581 <svg fill="none" height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"> 6582 <path d="m13.5 7h-4v-4c0-.26522-.10536-.51957-.29289-.70711-.18754-.18753-.44189-.29289-.70711-.29289s-.51957.10536-.70711.29289c-.18753.18754-.29289.44189-.29289.70711v4h-4c-.26522 0-.51957.10536-.70711.29289-.18753.18754-.29289.44189-.29289.70711s.10536.51957.29289.70711c.18754.18753.44189.29289.70711.29289h4v4c0 .2652.10536.5196.29289.7071.18754.1875.44189.2929.70711.2929s.51957-.1054.70711-.2929c.18753-.1875.29289-.4419.29289-.7071v-4h4c.2652 0 .5196-.10536.7071-.29289.1875-.18754.2929-.44189.2929-.70711s-.1054-.51957-.2929-.70711c-.1875-.18753-.4419-.29289-.7071-.29289z" fill="#0f1111"></path> 6583 </svg> 6584 </span> 6585 </button> 6586 </form> 6587 6588</div> 6589 6590 <div class="grid-product__meta"> 6591 <div class="grid-product__title grid-product__title--body">Creamy Chocolate Large Bars</div><div class="grid-product__price">from £22.00 6592</div> 6593 <span class="shopify-product-reviews-badge" data-id="4762104758408"></span> 6594 <div class="klaviyo-star-rating-widget" data-id="4762104758408" data-product-title="Creamy Chocolate Large Bars" data-product-type="Vegan Chocolate Bars"></div></div> 6595 </a> 6596 </div></div> 6597
6598<script> 6599document.addEventListener('click', function(e) { 6600 const button = e.target.closest('.custom-atc-button'); 6601 if (!button) return; 6602 6603 const form = button.closest('.custom-atc-form'); 6604 if (!form) return; 6605 6606 e.preventDefault(); 6607 if (button.disabled) return; 6608 button.disabled = true; 6609 6610 const variantId = form.querySelector('input[name="id"]')?.value; 6611 if (!variantId) { 6612 button.disabled = false; 6613 return; 6614 } 6615 6616 // Send request matching your theme's payload structure 6617 fetch('/cart/add.js', { 6618 method: 'POST', 6619 headers: { 6620 'Content-Type': 'application/json', 6621 'Accept': 'application/json', 6622 'X-Requested-With': 'XMLHttpRequest' 6623 }, 6624 body: JSON.stringify({ 6625 items: [{ id: parseInt(variantId, 10), quantity: 1 }] 6626 }) 6627 }) 6628 .then(response => { 6629 if (!response.ok) throw new Error('Add to cart failed'); 6630 return response.json(); 6631 }) 6632 .then(data => { 6633 const firstProduct = data.items ? data.items[0] : data; 6634 6635 // Trigger your theme's native cart drawer build & open functions 6636 document.dispatchEvent(new CustomEvent("ajaxProduct:added", { detail: { firstProduct } })); 6637 document.dispatchEvent(new CustomEvent("cart:build")); 6638 6639 // Show cart badge notification in your header 6640 const cartBubble = document.querySelector(".cart-link__bubble"); 6641 if (cartBubble && !cartBubble.classList.contains("cart-link__bubble--visible")) { 6642 cartBubble.classList.add("cart-link__bubble--visible"); 6643 } 6644 }) 6645 .catch(err => { 6646 console.error('Custom ATC Error:', err); 6647 }) 6648 .finally(() => { 6649 button.disabled = false; 6650 }); 6651}); 6652</script>
6652 6653<div class="grid__item grid-product small--one-half medium-up--one-third " data-aos="row-of-3" data-product-handle="caramel-sea-salt-chocolate-large-bars" data-product-id="8311204806792"> 6654 <div class="grid-product__content"> 6655 <div class="grid-product__tag grid-product__tag--custom" > 6656 6657 7 / 14 bars 6658 6659 </div> 6660 6661<a href="/products/caramel-sea-salt-chocolate-large-bars" class="grid-product__link"> 6662 <div class="grid-product__image-mask"><div class="image-wrap" 6663 6664 style="height: 0; padding-bottom: 100.0%;" 6665 6666 > 6667 6668 6669 6670 6671 6672 <img src="//nomochoc.com/cdn/shop/files/SeaSaltCaramelSKU1.jpg?v=1749560288" alt="" srcset="//nomochoc.com/cdn/shop/files/SeaSaltCaramelSKU1.jpg?v=1749560288&width=360 360w, //nomochoc.com/cdn/shop/files/SeaSaltCaramelSKU1.jpg?v=1749560288&width=540 540w, //nomochoc.com/cdn/shop/files/SeaSaltCaramelSKU1.jpg?v=1749560288&width=720 720w, //nomochoc.com/cdn/shop/files/SeaSaltCaramelSKU1.jpg?v=1749560288&width=900 900w" width="1000" height="1000" loading="lazy" class="grid-product__image image-style-- 6673" sizes="(min-width: 769px) 33vw, 50vw"> 6674 6675 6676 6677 6678</div><div class="grid-product__secondary-image small--hide"> 6679 6680 6681 6682 6683 6684 <img src="//nomochoc.com/cdn/shop/files/SeaSaltCaramelSKU2.jpg?v=1749560288" alt="" srcset="//nomochoc.com/cdn/shop/files/SeaSaltCaramelSKU2.jpg?v=1749560288&width=360 360w, //nomochoc.com/cdn/shop/files/SeaSaltCaramelSKU2.jpg?v=1749560288&width=540 540w, //nomochoc.com/cdn/shop/files/SeaSaltCaramelSKU2.jpg?v=1749560288&width=720 720w, //nomochoc.com/cdn/shop/files/SeaSaltCaramelSKU2.jpg?v=1749560288&width=1000 1000w" width="1000" height="1000" loading="lazy" class="image-style-- 6685" sizes="(min-width: 769px) 33vw, 50vw"> 6686 6687 6688 6689 6690</div> 6691 6692 6693 <!-- Custom Add to Cart Button for Collection Pages --> 6694 <form method="post" action="/cart/add" class="custom-atc-form"> 6695 <!-- This grabs the ID of the product being clicked --> 6696 <input type="hidden" name="id" value="53555665895803" /> 6697 <input type="hidden" name="quantity" value="1" /> 6698 6699 <button type="submit" class="custom-atc-button" aria-label="Add to basket"> 6700 <span class="custom-atc-icon"> 6701 <!-- The exact SVG icon from your reference code --> 6702 <svg fill="none" height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"> 6703 <path d="m13.5 7h-4v-4c0-.26522-.10536-.51957-.29289-.70711-.18754-.18753-.44189-.29289-.70711-.29289s-.51957.10536-.70711.29289c-.18753.18754-.29289.44189-.29289.70711v4h-4c-.26522 0-.51957.10536-.70711.29289-.18753.18754-.29289.44189-.29289.70711s.10536.51957.29289.70711c.18754.18753.44189.29289.70711.29289h4v4c0 .2652.10536.5196.29289.7071.18754.1875.44189.2929.70711.2929s.51957-.1054.70711-.2929c.18753-.1875.29289-.4419.29289-.7071v-4h4c.2652 0 .5196-.10536.7071-.29289.1875-.18754.2929-.44189.2929-.70711s-.1054-.51957-.2929-.70711c-.1875-.18753-.4419-.29289-.7071-.29289z" fill="#0f1111"></path> 6704 </svg> 6705 </span> 6706 </button> 6707 </form> 6708 6709</div> 6710 6711 <div class="grid-product__meta"> 6712 <div class="grid-product__title grid-product__title--body">Caramel & Sea Salt Chocolate Large Bars</div><div class="grid-product__price">from £20.00 6713</div> 6714 <span class="shopify-product-reviews-badge" data-id="8311204806792"></span> 6715 <div class="klaviyo-star-rating-widget" data-id="8311204806792" data-product-title="Caramel & Sea Salt Chocolate Large Bars" data-product-type="Vegan Chocolate Bars"></div></div> 6716 </a> 6717 </div></div> 6718
6719<script> 6720document.addEventListener('click', function(e) { 6721 const button = e.target.closest('.custom-atc-button'); 6722 if (!button) return; 6723 6724 const form = button.closest('.custom-atc-form'); 6725 if (!form) return; 6726 6727 e.preventDefault(); 6728 if (button.disabled) return; 6729 button.disabled = true; 6730 6731 const variantId = form.querySelector('input[name="id"]')?.value; 6732 if (!variantId) { 6733 button.disabled = false; 6734 return; 6735 } 6736 6737 // Send request matching your theme's payload structure 6738 fetch('/cart/add.js', { 6739 method: 'POST', 6740 headers: { 6741 'Content-Type': 'application/json', 6742 'Accept': 'application/json', 6743 'X-Requested-With': 'XMLHttpRequest' 6744 }, 6745 body: JSON.stringify({ 6746 items: [{ id: parseInt(variantId, 10), quantity: 1 }] 6747 }) 6748 }) 6749 .then(response => { 6750 if (!response.ok) throw new Error('Add to cart failed'); 6751 return response.json(); 6752 }) 6753 .then(data => { 6754 const firstProduct = data.items ? data.items[0] : data; 6755 6756 // Trigger your theme's native cart drawer build & open functions 6757 document.dispatchEvent(new CustomEvent("ajaxProduct:added", { detail: { firstProduct } })); 6758 document.dispatchEvent(new CustomEvent("cart:build")); 6759 6760 // Show cart badge notification in your header 6761 const cartBubble = document.querySelector(".cart-link__bubble"); 6762 if (cartBubble && !cartBubble.classList.contains("cart-link__bubble--visible")) { 6763 cartBubble.classList.add("cart-link__bubble--visible"); 6764 } 6765 }) 6766 .catch(err => { 6767 console.error('Custom ATC Error:', err); 6768 }) 6769 .finally(() => { 6770 button.disabled = false; 6771 }); 6772}); 6773</script>
6773 6774<div class="grid__item grid-product small--one-half medium-up--one-third " data-aos="row-of-3" data-product-handle="crispy-mo" data-product-id="7341872152712"> 6775 <div class="grid-product__content"> 6776 <div class="grid-product__tag grid-product__tag--custom" > 6777 6778 35 Units 6779 6780 </div> 6781 6782<a href="/products/crispy-mo" class="grid-product__link"> 6783 <div class="grid-product__image-mask"><div class="image-wrap" 6784 6785 style="height: 0; padding-bottom: 100.0%;" 6786 6787 > 6788 6789 6790 6791 6792 6793 <img src="//nomochoc.com/cdn/shop/files/CrispyMoSKU11.jpg?v=1752748639" alt="" srcset="//nomochoc.com/cdn/shop/files/CrispyMoSKU11.jpg?v=1752748639&width=360 360w, //nomochoc.com/cdn/shop/files/CrispyMoSKU11.jpg?v=1752748639&width=540 540w, //nomochoc.com/cdn/shop/files/CrispyMoSKU11.jpg?v=1752748639&width=720 720w, //nomochoc.com/cdn/shop/files/CrispyMoSKU11.jpg?v=1752748639&width=900 900w" width="1000" height="1000" loading="lazy" class="grid-product__image image-style-- 6794" sizes="(min-width: 769px) 33vw, 50vw"> 6795 6796 6797 6798 6799</div><div class="grid-product__secondary-image small--hide"> 6800 6801 6802 6803 6804 6805 <img src="//nomochoc.com/cdn/shop/files/preview_images/a1eaa182815241a39d62512d37e4292e.thumbnail.0000000000.jpg?v=1752748674" alt="" srcset="//nomochoc.com/cdn/shop/files/preview_images/a1eaa182815241a39d62512d37e4292e.thumbnail.0000000000.jpg?v=1752748674&width=360 360w, //nomochoc.com/cdn/shop/files/preview_images/a1eaa182815241a39d62512d37e4292e.thumbnail.0000000000.jpg?v=1752748674&width=540 540w, //nomochoc.com/cdn/shop/files/preview_images/a1eaa182815241a39d62512d37e4292e.thumbnail.0000000000.jpg?v=1752748674&width=720 720w" width="864" height="864" loading="lazy" class="image-style-- 6806" sizes="(min-width: 769px) 33vw, 50vw"> 6807 6808 6809 6810 6811</div> 6812 6813 6814 <!-- Custom Add to Cart Button for Collection Pages --> 6815 <form method="post" action="/cart/add" class="custom-atc-form"> 6816 <!-- This grabs the ID of the product being clicked --> 6817 <input type="hidden" name="id" value="55548094906747" /> 6818 <input type="hidden" name="quantity" value="1" /> 6819 6820 <button type="submit" class="custom-atc-button" aria-label="Add to basket"> 6821 <span class="custom-atc-icon"> 6822 <!-- The exact SVG icon from your reference code --> 6823 <svg fill="none" height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"> 6824 <path d="m13.5 7h-4v-4c0-.26522-.10536-.51957-.29289-.70711-.18754-.18753-.44189-.29289-.70711-.29289s-.51957.10536-.70711.29289c-.18753.18754-.29289.44189-.29289.70711v4h-4c-.26522 0-.51957.10536-.70711.29289-.18753.18754-.29289.44189-.29289.70711s.10536.51957.29289.70711c.18754.18753.44189.29289.70711.29289h4v4c0 .2652.10536.5196.29289.7071.18754.1875.44189.2929.70711.2929s.51957-.1054.70711-.2929c.18753-.1875.29289-.4419.29289-.7071v-4h4c.2652 0 .5196-.10536.7071-.29289.1875-.18754.2929-.44189.2929-.70711s-.1054-.51957-.2929-.70711c-.1875-.18753-.4419-.29289-.7071-.29289z" fill="#0f1111"></path> 6825 </svg> 6826 </span> 6827 </button> 6828 </form> 6829 6830</div> 6831 6832 <div class="grid-product__meta"> 6833 <div class="grid-product__title grid-product__title--body">Kids Crispy Mo</div><div class="grid-product__price">£28.00 6834</div> 6835 <span class="shopify-product-reviews-badge" data-id="7341872152712"></span> 6836 <div class="klaviyo-star-rating-widget" data-id="7341872152712" data-product-title="Kids Crispy Mo" data-product-type=""></div></div> 6837 </a> 6838 </div></div> 6839
6840<script> 6841document.addEventListener('click', function(e) { 6842 const button = e.target.closest('.custom-atc-button'); 6843 if (!button) return; 6844 6845 const form = button.closest('.custom-atc-form'); 6846 if (!form) return; 6847 6848 e.preventDefault(); 6849 if (button.disabled) return; 6850 button.disabled = true; 6851 6852 const variantId = form.querySelector('input[name="id"]')?.value; 6853 if (!variantId) { 6854 button.disabled = false; 6855 return; 6856 } 6857 6858 // Send request matching your theme's payload structure 6859 fetch('/cart/add.js', { 6860 method: 'POST', 6861 headers: { 6862 'Content-Type': 'application/json', 6863 'Accept': 'application/json', 6864 'X-Requested-With': 'XMLHttpRequest' 6865 }, 6866 body: JSON.stringify({ 6867 items: [{ id: parseInt(variantId, 10), quantity: 1 }] 6868 }) 6869 }) 6870 .then(response => { 6871 if (!response.ok) throw new Error('Add to cart failed'); 6872 return response.json(); 6873 }) 6874 .then(data => { 6875 const firstProduct = data.items ? data.items[0] : data; 6876 6877 // Trigger your theme's native cart drawer build & open functions 6878 document.dispatchEvent(new CustomEvent("ajaxProduct:added", { detail: { firstProduct } })); 6879 document.dispatchEvent(new CustomEvent("cart:build")); 6880 6881 // Show cart badge notification in your header 6882 const cartBubble = document.querySelector(".cart-link__bubble"); 6883 if (cartBubble && !cartBubble.classList.contains("cart-link__bubble--visible")) { 6884 cartBubble.classList.add("cart-link__bubble--visible"); 6885 } 6886 }) 6887 .catch(err => { 6888 console.error('Custom ATC Error:', err); 6889 }) 6890 .finally(() => { 6891 button.disabled = false; 6892 }); 6893}); 6894</script>
6894 6895<div class="grid__item grid-product small--one-half medium-up--one-third " data-aos="row-of-3" data-product-handle="kids-creamy-chocolate-lollies" data-product-id="6620768960648"> 6896 <div class="grid-product__content"> 6897 <div class="grid-product__tag grid-product__tag--custom" > 6898 6899 72 lollies 6900 6901 </div> 6902 6903<a href="/products/kids-creamy-chocolate-lollies" class="grid-product__link"> 6904 <div class="grid-product__image-mask"><div class="image-wrap" 6905 6906 style="height: 0; padding-bottom: 100.0%;" 6907 6908 > 6909 6910 6911 6912 6913 6914 <img src="//nomochoc.com/cdn/shop/files/LolliesSKU11.jpg?v=1752747675" alt="" srcset="//nomochoc.com/cdn/shop/files/LolliesSKU11.jpg?v=1752747675&width=360 360w, //nomochoc.com/cdn/shop/files/LolliesSKU11.jpg?v=1752747675&width=540 540w, //nomochoc.com/cdn/shop/files/LolliesSKU11.jpg?v=1752747675&width=720 720w, //nomochoc.com/cdn/shop/files/LolliesSKU11.jpg?v=1752747675&width=900 900w" width="1000" height="1000" loading="lazy" class="grid-product__image image-style-- 6915" sizes="(min-width: 769px) 33vw, 50vw"> 6916 6917 6918 6919 6920</div><div class="grid-product__secondary-image small--hide"> 6921 6922 6923 6924 6925 6926 <img src="//nomochoc.com/cdn/shop/files/preview_images/71c03490b743496b860b881324289a39.thumbnail.0000000000.jpg?v=1752747665" alt="" srcset="//nomochoc.com/cdn/shop/files/preview_images/71c03490b743496b860b881324289a39.thumbnail.0000000000.jpg?v=1752747665&width=360 360w, //nomochoc.com/cdn/shop/files/preview_images/71c03490b743496b860b881324289a39.thumbnail.0000000000.jpg?v=1752747665&width=540 540w, //nomochoc.com/cdn/shop/files/preview_images/71c03490b743496b860b881324289a39.thumbnail.0000000000.jpg?v=1752747665&width=720 720w" width="864" height="864" loading="lazy" class="image-style-- 6927" sizes="(min-width: 769px) 33vw, 50vw"> 6928 6929 6930 6931 6932</div> 6933 6934 6935 <!-- Custom Add to Cart Button for Collection Pages --> 6936 <form method="post" action="/cart/add" class="custom-atc-form"> 6937 <!-- This grabs the ID of the product being clicked --> 6938 <input type="hidden" name="id" value="55551029772667" /> 6939 <input type="hidden" name="quantity" value="1" /> 6940 6941 <button type="submit" class="custom-atc-button" aria-label="Add to basket"> 6942 <span class="custom-atc-icon"> 6943 <!-- The exact SVG icon from your reference code --> 6944 <svg fill="none" height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"> 6945 <path d="m13.5 7h-4v-4c0-.26522-.10536-.51957-.29289-.70711-.18754-.18753-.44189-.29289-.70711-.29289s-.51957.10536-.70711.29289c-.18753.18754-.29289.44189-.29289.70711v4h-4c-.26522 0-.51957.10536-.70711.29289-.18753.18754-.29289.44189-.29289.70711s.10536.51957.29289.70711c.18754.18753.44189.29289.70711.29289h4v4c0 .2652.10536.5196.29289.7071.18754.1875.44189.2929.70711.2929s.51957-.1054.70711-.2929c.18753-.1875.29289-.4419.29289-.7071v-4h4c.2652 0 .5196-.10536.7071-.29289.1875-.18754.2929-.44189.2929-.70711s-.1054-.51957-.2929-.70711c-.1875-.18753-.4419-.29289-.7071-.29289z" fill="#0f1111"></path> 6946 </svg> 6947 </span> 6948 </button> 6949 </form> 6950 6951</div> 6952 6953 <div class="grid-product__meta"> 6954 <div class="grid-product__title grid-product__title--body">Kids Creamy Chocolate Lollies</div><div class="grid-product__price">£50.00 6955</div> 6956 <span class="shopify-product-reviews-badge" data-id="6620768960648"></span> 6957 <div class="klaviyo-star-rating-widget" data-id="6620768960648" data-product-title="Kids Creamy Chocolate Lollies" data-product-type="Vegan Lollies"></div></div> 6958 </a> 6959 </div></div> 6960
6961<script> 6962document.addEventListener('click', function(e) { 6963 const button = e.target.closest('.custom-atc-button'); 6964 if (!button) return; 6965 6966 const form = button.closest('.custom-atc-form'); 6967 if (!form) return; 6968 6969 e.preventDefault(); 6970 if (button.disabled) return; 6971 button.disabled = true; 6972 6973 const variantId = form.querySelector('input[name="id"]')?.value; 6974 if (!variantId) { 6975 button.disabled = false; 6976 return; 6977 } 6978 6979 // Send request matching your theme's payload structure 6980 fetch('/cart/add.js', { 6981 method: 'POST', 6982 headers: { 6983 'Content-Type': 'application/json', 6984 'Accept': 'application/json', 6985 'X-Requested-With': 'XMLHttpRequest' 6986 }, 6987 body: JSON.stringify({ 6988 items: [{ id: parseInt(variantId, 10), quantity: 1 }] 6989 }) 6990 }) 6991 .then(response => { 6992 if (!response.ok) throw new Error('Add to cart failed'); 6993 return response.json(); 6994 }) 6995 .then(data => { 6996 const firstProduct = data.items ? data.items[0] : data; 6997 6998 // Trigger your theme's native cart drawer build & open functions 6999 document.dispatchEvent(new CustomEvent("ajaxProduct:added", { detail: { firstProduct } })); 7000 document.dispatchEvent(new CustomEvent("cart:build")); 7001 7002 // Show cart badge notification in your header 7003 const cartBubble = document.querySelector(".cart-link__bubble"); 7004 if (cartBubble && !cartBubble.classList.contains("cart-link__bubble--visible")) { 7005 cartBubble.classList.add("cart-link__bubble--visible"); 7006 } 7007 }) 7008 .catch(err => { 7009 console.error('Custom ATC Error:', err); 7010 }) 7011 .finally(() => { 7012 button.disabled = false; 7013 }); 7014}); 7015</script>
7015 7016<div class="grid__item grid-product small--one-half medium-up--one-third " data-aos="row-of-3" data-product-handle="nomo-birthday-cake-filled-chocolate-bars-caramel-filled-chocolate-bars-bundle" data-product-id="15178795221371"> 7017 <div class="grid-product__content"><div class="grid-product__tag grid-product__tag--sale"> 7018 Sale 7019 </div><a href="/products/nomo-birthday-cake-filled-chocolate-bars-caramel-filled-chocolate-bars-bundle" class="grid-product__link"> 7020 <div class="grid-product__image-mask"><div class="image-wrap" 7021 7022 style="height: 0; padding-bottom: 100.0%;" 7023 7024 > 7025 7026 7027 7028 7029 7030 <img src="//nomochoc.com/cdn/shop/files/Caramel_B_daySKU1_d00631e9-e844-4e0e-a3fb-25ea3f15d7fc.jpg?v=1757581157" alt="" srcset="//nomochoc.com/cdn/shop/files/Caramel_B_daySKU1_d00631e9-e844-4e0e-a3fb-25ea3f15d7fc.jpg?v=1757581157&width=360 360w, //nomochoc.com/cdn/shop/files/Caramel_B_daySKU1_d00631e9-e844-4e0e-a3fb-25ea3f15d7fc.jpg?v=1757581157&width=540 540w, //nomochoc.com/cdn/shop/files/Caramel_B_daySKU1_d00631e9-e844-4e0e-a3fb-25ea3f15d7fc.jpg?v=1757581157&width=720 720w, //nomochoc.com/cdn/shop/files/Caramel_B_daySKU1_d00631e9-e844-4e0e-a3fb-25ea3f15d7fc.jpg?v=1757581157&width=900 900w" width="1000" height="1000" loading="lazy" class="grid-product__image image-style-- 7031" sizes="(min-width: 769px) 33vw, 50vw"> 7032 7033 7034 7035 7036</div><div class="grid-product__secondary-image small--hide"> 7037 7038 7039 7040 7041 7042 <img src="//nomochoc.com/cdn/shop/files/Caramel_B_daySKU2_3a4c57d0-a310-45d6-a5f7-60fd0e69d996.jpg?v=1757581156" alt="" srcset="//nomochoc.com/cdn/shop/files/Caramel_B_daySKU2_3a4c57d0-a310-45d6-a5f7-60fd0e69d996.jpg?v=1757581156&width=360 360w, //nomochoc.com/cdn/shop/files/Caramel_B_daySKU2_3a4c57d0-a310-45d6-a5f7-60fd0e69d996.jpg?v=1757581156&width=540 540w, //nomochoc.com/cdn/shop/files/Caramel_B_daySKU2_3a4c57d0-a310-45d6-a5f7-60fd0e69d996.jpg?v=1757581156&width=720 720w, //nomochoc.com/cdn/shop/files/Caramel_B_daySKU2_3a4c57d0-a310-45d6-a5f7-60fd0e69d996.jpg?v=1757581156&width=1000 1000w" width="1000" height="1000" loading="lazy" class="image-style-- 7043" sizes="(min-width: 769px) 33vw, 50vw"> 7044 7045 7046 7047 7048</div> 7049 7050 7051 <!-- Custom Add to Cart Button for Collection Pages --> 7052 <form method="post" action="/cart/add" class="custom-atc-form"> 7053 <!-- This grabs the ID of the product being clicked --> 7054 <input type="hidden" name="id" value="55626565353851" /> 7055 <input type="hidden" name="quantity" value="1" /> 7056 7057 <button type="submit" class="custom-atc-button" aria-label="Add to basket"> 7058 <span class="custom-atc-icon"> 7059 <!-- The exact SVG icon from your reference code --> 7060 <svg fill="none" height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"> 7061 <path d="m13.5 7h-4v-4c0-.26522-.10536-.51957-.29289-.70711-.18754-.18753-.44189-.29289-.70711-.29289s-.51957.10536-.70711.29289c-.18753.18754-.29289.44189-.29289.70711v4h-4c-.26522 0-.51957.10536-.70711.29289-.18753.18754-.29289.44189-.29289.70711s.10536.51957.29289.70711c.18754.18753.44189.29289.70711.29289h4v4c0 .2652.10536.5196.29289.7071.18754.1875.44189.2929.70711.2929s.51957-.1054.70711-.2929c.18753-.1875.29289-.4419.29289-.7071v-4h4c.2652 0 .5196-.10536.7071-.29289.1875-.18754.2929-.44189.2929-.70711s-.1054-.51957-.2929-.70711c-.1875-.18753-.4419-.29289-.7071-.29289z" fill="#0f1111"></path> 7062 </svg> 7063 </span> 7064 </button> 7065 </form> 7066 7067</div> 7068 7069 <div class="grid-product__meta"> 7070 <div class="grid-product__title grid-product__title--body">NOMO Birthday Cake Filled Chocolate Bars/ Caramel Filled Chocolate Bars Bundle</div><div class="grid-product__price"><span class="visually-hidden">Regular price</span> 7071 <span class="grid-product__price--original">£47.40</span> 7072 <span class="visually-hidden">Sale price</span>£40.00 7073<span class="grid-product__price--savings"> 7074 Save £7.40 7075 </span></div>
7076 <span class="shopify-product-reviews-badge" data-id="15178795221371"></span> 7077 <div class="klaviyo-star-rating-widget" data-id="15178795221371" data-product-title="NOMO Birthday Cake Filled Chocolate Bars/ Caramel Filled Chocolate Bars Bundle" data-product-type="Vegan Chocolate Bars"></div></div> 7078 </a> 7079 </div></div> 7080
7081<script> 7082document.addEventListener('click', function(e) { 7083 const button = e.target.closest('.custom-atc-button'); 7084 if (!button) return; 7085 7086 const form = button.closest('.custom-atc-form'); 7087 if (!form) return; 7088 7089 e.preventDefault(); 7090 if (button.disabled) return; 7091 button.disabled = true; 7092 7093 const variantId = form.querySelector('input[name="id"]')?.value; 7094 if (!variantId) { 7095 button.disabled = false; 7096 return; 7097 } 7098 7099 // Send request matching your theme's payload structure 7100 fetch('/cart/add.js', { 7101 method: 'POST', 7102 headers: { 7103 'Content-Type': 'application/json', 7104 'Accept': 'application/json', 7105 'X-Requested-With': 'XMLHttpRequest' 7106 }, 7107 body: JSON.stringify({ 7108 items: [{ id: parseInt(variantId, 10), quantity: 1 }] 7109 }) 7110 }) 7111 .then(response => { 7112 if (!response.ok) throw new Error('Add to cart failed'); 7113 return response.json(); 7114 }) 7115 .then(data => { 7116 const firstProduct = data.items ? data.items[0] : data; 7117 7118 // Trigger your theme's native cart drawer build & open functions 7119 document.dispatchEvent(new CustomEvent("ajaxProduct:added", { detail: { firstProduct } })); 7120 document.dispatchEvent(new CustomEvent("cart:build")); 7121 7122 // Show cart badge notification in your header 7123 const cartBubble = document.querySelector(".cart-link__bubble"); 7124 if (cartBubble && !cartBubble.classList.contains("cart-link__bubble--visible")) { 7125 cartBubble.classList.add("cart-link__bubble--visible"); 7126 } 7127 }) 7128 .catch(err => { 7129 console.error('Custom ATC Error:', err); 7130 }) 7131 .finally(() => { 7132 button.disabled = false; 7133 }); 7134}); 7135</script>
7135</div> 7136</div> 7137<style data-shopify> 7138.collection-filter__item--drawer { 7139 display: none; 7140} 7141.collection-filter__item--count { 7142 text-align: left; 7143} 7144html[dir="rtl"] .collection-filter__item--count { 7145 text-align: right; 7146} 7147</style> 7148<style data-shopify> 7149.collection-filter__sort-container { 7150 display: none; 7151} 7152</style> 7153 7154<div class="pagination"> 7155 7156 7157 7158 7159 7160 <span class="page current">1</span> 7161 7162 7163 7164 7165 <span class="page"> 7166 <a href="/collections/all-products?page=2">2</a> 7167 </span> 7168 7169 7170 7171 7172 <span class="next"> 7173 <a href="/collections/all-products?page=2" title="Next"> 7174 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 7175 <span class="icon__fallback-text">Next</span> 7176 </a> 7177 </span> 7178 7179</div> 7180</div></div></div> 7181 </div> 7182 </div> 7183 </div> 7184</div> 7185<style data-shopify> 7186 .collection-content .grid__item--sidebar { width: 0; padding:0; } 7187 .collection-content .grid__item--content { width: 100%; } 7188 .grid__item--sidebar { position: static; overflow: hidden; } 7189</style>
7190<script type="application/ld+json"> 7191{ 7192 "@context": "http://schema.org", 7193 "@type": "CollectionPage", 7194 7195 "description": "\nExplore the NOMO product range \n\n\nWelcome to the deliciously inclusive world of NOMO â home of award-winning vegan chocolate crafted for everyone. Our mission? To make sure no one misses out. Thatâs why our entire range is proudly free from dairy, gluten, eggs, and nutsâwithout ever compromising on taste. \n", 7196 7197 7198 7199 "image": { 7200 "@type": "ImageObject", 7201 "height": 1313, 7202 "url": "https:\/\/nomochoc.com\/cdn\/shop\/collections\/Open_Graphs_aa8b036b-1126-474d-b32d-018c06c0f3b3_2500x.png?v=1748014913", 7203 "width": 2500 7204 }, 7205 7206 "name": "NOMO Plant-Powered Chocolate - All Product" 7207} 7208</script>
7208 7209 7210 7211 7212
7213<script> 7214 document.addEventListener('DOMContentLoaded', function () { 7215 const toggleBtn = document.querySelector('.collection__description-toggle'); 7216 const shortDesc = document.querySelector('.collection__description-short'); 7217 const fullDesc = document.querySelector('.collection__description-full'); 7218 7219 if (toggleBtn && shortDesc && fullDesc) { 7220 toggleBtn.addEventListener('click', function () { 7221 const isExpanded = fullDesc.style.display === 'block'; 7222 fullDesc.style.display = isExpanded ? 'none' : 'block'; 7223 shortDesc.style.display = isExpanded ? 'block' : 'none'; 7224 toggleBtn.textContent = isExpanded ? 'Read more' : 'Show less'; 7225 }); 7226 } 7227 }); 7228</script>
7228</div><section id="shopify-section-template--25654139617659__174464912741bc7909" class="shopify-section"><div class="index-section"><div class="page-width"></div></div> 7229</section><div id="shopify-section-template--25654139617659__text_and_image_6Ucz94" class="shopify-section"><style data-shopify> 7230 7231 7232</style> 7233 7234<div class="index-section"> 7235 7236 <div class="page-width feature-row-wrapper feature-row--50"><div class="feature-row"><div class="feature-row__item feature-row__text feature-row__text--right text-left" data-aos><div class="rte appear-delay"><h2><strong>Have a Dairy Allergy? Or need to avoid dairy?</strong></h2><p>If you thought dairy free chocolate couldn't be smooth, creamy, and utterly deliciousâthink again! NOMO Chocolate is made for everyone seeking lactose free chocolate that tastes just like the classic bars you love. Weâve mastered indulgence without the dairy, making sure every bite is as good as it looks. </p><p>We know itâs frustrating to constantly check labels and miss out on the best treats. Thatâs why our lactose free chocolate is carefully crafted to be completely free from dairy, egg, gluten or nuts. No compromises, no stressâjust pure joy, wrapped up and ready to enjoy!  </p><h2><strong>Have a nut Allergy? Searching for Nut free Chocolate UK</strong> </h2><p>No one should have to second-guess their snacks! NOMO Chocolate is proud to be certified nut free, making it a safe, worry-free choice for those with allergies. But donât be fooledâjust because itâs nut free chocolate, doesnât mean itâs missing anything. Expect all the melt-in-your-mouth indulgence without the stress! </p><p>We believe everyone deserves to enjoy their favourite treats. Thatâs why our free from chocolate is not only nut free, but dairy free chocolate too! Whether youâre tucking into a bar solo or sharing with friends, our delicious chocolate brings people togetherâno allergy exclusions here!</p><p></p></div></div><div class="feature-row__item feature-row__images " data-aos><div class="feature-row__first-image"><div class="image-wrap " style="height: 0; padding-bottom: 86.83510638297872%;"> 7237 7238 7239 7240 7241 7242 <img src="//nomochoc.com/cdn/shop/files/NOMO_Sharing_Comp-06.png?v=1745501407" alt="" srcset="//nomochoc.com/cdn/shop/files/NOMO_Sharing_Comp-06.png?v=1745501407&width=180 180w, //nomochoc.com/cdn/shop/files/NOMO_Sharing_Comp-06.png?v=1745501407&width=360 360w, //nomochoc.com/cdn/shop/files/NOMO_Sharing_Comp-06.png?v=1745501407&width=540 540w, //nomochoc.com/cdn/shop/files/NOMO_Sharing_Comp-06.png?v=1745501407&width=750 750w, //nomochoc.com/cdn/shop/files/NOMO_Sharing_Comp-06.png?v=1745501407&width=900 900w, //nomochoc.com/cdn/shop/files/NOMO_Sharing_Comp-06.png?v=1745501407&width=1080 1080w" width="1504" height="1306" loading="lazy" class="feature-row__image" sizes="(min-width: 769px) 50vw, 100vw"> 7243 7244 7245 7246 7247</div></div></div> 7248</div> 7249 </div> 7250 7251</div> 7252 7253<style> 7254 #shopify-section-template--25654139617659__text_and_image_6Ucz94 .h4, #shopify-section-template--25654139617659__text_and_image_6Ucz94 .h5, #shopify-section-template--25654139617659__text_and_image_6Ucz94 .h6 { 7255 font-weight: bold; 7256 font-family: var(--typeBasePrimary), var(--typeBaseFallback); 7257 line-height: var(--typeBaseLineHeight); 7258 } 7259</style> 7260</div><div id="shopify-section-template--25654139617659__text_and_image_UqFTEP" class="shopify-section"><style data-shopify> 7261 7262 7263</style> 7264 7265<div class="index-section"> 7266 7267 <div class="page-width feature-row-wrapper feature-row--50"><div class="feature-row"><div class="feature-row__item feature-row__images " data-aos><div class="feature-row__first-image"><div class="image-wrap " style="height: 0; padding-bottom: 94.67831612390786%;"> 7268 7269 7270 7271 7272 7273 <img src="//nomochoc.com/cdn/shop/files/NOMO_Sharing_Comp_XL_Combo.png?v=1745501378" alt="" srcset="//nomochoc.com/cdn/shop/files/NOMO_Sharing_Comp_XL_Combo.png?v=1745501378&width=180 180w, //nomochoc.com/cdn/shop/files/NOMO_Sharing_Comp_XL_Combo.png?v=1745501378&width=360 360w, //nomochoc.com/cdn/shop/files/NOMO_Sharing_Comp_XL_Combo.png?v=1745501378&width=540 540w, //nomochoc.com/cdn/shop/files/NOMO_Sharing_Comp_XL_Combo.png?v=1745501378&width=750 750w, //nomochoc.com/cdn/shop/files/NOMO_Sharing_Comp_XL_Combo.png?v=1745501378&width=900 900w, //nomochoc.com/cdn/shop/files/NOMO_Sharing_Comp_XL_Combo.png?v=1745501378&width=1080 1080w" width="1259" height="1192" loading="lazy" class="feature-row__image" sizes="(min-width: 769px) 50vw, 100vw"> 7274 7275 7276 7277 7278</div></div></div> 7279<div class="feature-row__item feature-row__text feature-row__text--left text-left" data-aos><div class="rte appear-delay"><h2><strong>Are you Vegan?</strong> </h2><p>Being vegan shouldnât mean giving up the joy of a sweet, creamy treatâand with NOMO Chocolate, you donât have to! Our vegan chocolate is packed with indulgence, all while being completely plant powered. Say goodbye to missing out and hello to melt-in-your-mouth goodness. Whether youâre new to plant-based living or a longtime vegan, weâve got the perfect bar for you. </p><p>Choosing dairy free chocolate isnât just great for you, itâs great for the planet too! Our treats prove that free from chocolate can be every bit as rich, smooth, and satisfyingâwithout any animal products. Whether you're craving a snack or celebrating a moment, youâll never feel like youâre settling. Go on, unwrap happiness! </p><h2><strong>Interested in Plant Powered Products?</strong> </h2><p>If youâre all about plant powered living, you already know that good choices should taste great too. Thatâs where NOMO Chocolate comes in! Our plant based chocolate is proof that you donât need dairy or nuts to get that delicious, creamy experience. </p><p>Whether you're going fully vegan or just want more plant based chocolate in your life, our treats deliver indulgence without compromise. Plus, choosing lactose free chocolate and nut free chocolate means making snack time more inclusive for everyone. Go aheadâtreat yourself, share the love, and enjoy the future of chocolate! </p></div></div></div> 7280 </div> 7281 7282</div> 7283 7284<style> 7285 #shopify-section-template--25654139617659__text_and_image_UqFTEP .h4, #shopify-section-template--25654139617659__text_and_image_UqFTEP .h5, #shopify-section-template--25654139617659__text_and_image_UqFTEP .h6 { 7286 font-weight: bold; 7287 font-family: var(--typeBasePrimary), var(--typeBaseFallback); 7288 line-height: var(--typeBaseLineHeight); 7289 } 7290</style> 7291</div><div id="shopify-section-template--25654139617659__faq_74MmQX" class="shopify-section index-section"><div class="page-width page-width--narrow"><header class="section-header"> 7292 <h2 class="section-header__title"> 7293 NOMO Vegan, Gluten and Dairy Free Chocolates - FAQ 7294 </h2> 7295 </header>
7295<script type="application/ld+json"> 7296 { 7297 "@context": "https://schema.org", 7298 "@type": "FAQPage", 7299 "mainEntity": [ 7300 7301 7302 { 7303 "@type": "Question", 7304 "name": "Why buy NOMO vegan plant based chocolate?", 7305 "acceptedAnswer": { 7306 "@type": "Answer", 7307 "text": "\u003cp\u003eFor a long time, many vegans and those with food allergies or intolerance were excluded from mainstream chocolate; alienated from the same options that everyone else could enjoy. We wanted to fix this \u003cbr\/\u003eproblem so that instead of feeling FOMO, people could finally feel NOMO - No Missing Out!\u003c\/p\u003e\u003cp\u003eAs well as being vegan chocolate, NOMO is: \u003c\/p\u003e\u003cp\u003e- Dairy Free Chocolate \u003cbr\/\u003e- \u003ca href=\"https:\/\/nomochoc.com\/collections\/gluten-free-chocolate\" title=\"Gluten Free Chocolate\"\u003eGluten Free Chocolate \u003cbr\/\u003e\u003c\/a\u003e- Egg Free Chocolate \u003cbr\/\u003e- Nut Free Chocolate \u003c\/p\u003e\u003cp\u003eWe have a range of vegan, gluten and dairy free chocolates suitable for every taste bud â from creamy vegan chocolate to gooey caramel plant based chocolate bar. And best of all, it tastes just as good, if not better, than milk chocolate. In fact, itâs so good that our \u003ca href=\"https:\/\/nomochoc.com\/products\/caramel-chocolate-bars\" target=\"_blank\" title=\"Caramel Chocolate Bars\"\u003eNOMO caramel nut free chocolate bar \u003c\/a\u003ewas voted 2020âs Best Vegan Chocolate by Vegan Food UK and 25,000 vegan consumers! So if you fancy a delicious bar of the best plant based chocolate in the UK, try NOMO plant based chocolate bar! \u003c\/p\u003e" 7308 } 7309 }, 7310 7311 7312 7313 { 7314 "@type": "Question", 7315 "name": "How did NOMO start?", 7316 "acceptedAnswer": { 7317 "@type": "Answer", 7318 "text": "\u003cp\u003eNOMO was born out of our passion to create a vegan chocolate brand with truly delicious flavours that everyone can enjoy, and we go to exceptional lengths to ensure that NOMO plant based chocolate bars are Vegan \u0026 dairy free, gluten free, egg free \u0026 nuts free. We aim to deliver the best vegan \u0026 nut free chocolates to all chocolate lovers in the UK.\u003c\/p\u003e" 7319 } 7320 }, 7321 7322 7323 7324 { 7325 "@type": "Question", 7326 "name": "How can you be sure NOMO plant based chocolate is free from dairy, gluten, eggs and nuts?", 7327 "acceptedAnswer": { 7328 "@type": "Answer", 7329 "text": "\u003cp\u003eNOMO's commitment to safety and quality is reflected in its allergen management procedures. As a business, we take allergens extremely seriously and everyone who works at Kinnerton has this at the forefront of their thinking. We go to extraordinary lengths to ensure that our NOMO vegan chocolates are safe and free from the major allergens, dairy, gluten, egg and nuts (tree nuts and peanuts), and all of our chocolates are suitable for vegans.\u003cbr\/\u003e\u003cbr\/\u003eThis robust process starts at the very beginning with our suppliers, and we ensure all NOMO vegan chocolate ingredients are free from dairy, gluten, egg, tree nuts and peanuts. Our factory in Norfolk, UK, has a specially segregated part of the factory to craft NOMO. The whole process is carefully managed by our operations and technical teams and is underpinned by detailed allergen management procedures. \u003c\/p\u003e" 7330 } 7331 }, 7332 7333 7334 7335 { 7336 "@type": "Question", 7337 "name": "Why NOMO is the best vegan, gluten and dairy free chocolates you will ever have in UK?", 7338 "acceptedAnswer": { 7339 "@type": "Answer", 7340 "text": "\u003cp\u003eAs voted by Vegan Food UK and 25,000 vegan consumers, NOMO is considered the best vegan chocolate in the UK. Even NOMO vegan chocolates are free from dairy, gluten, eggs and nuts, you can always choose your favourite vegan chocolates from our range with various flavours, including Gooey Caramel, Fruit \u0026 Crunch, Chocolate Fudge, Salted Caramel, Creamy and more. NOMO is the best vegan chocolate brand for plant based diet. Plant powered food!\u003c\/p\u003e" 7341 } 7342 }, 7343 7344 7345 7346 { 7347 "@type": "Question", 7348 "name": "Are NOMO vegan, gluten and dairy free chocolates suitable for me?",
7349 "acceptedAnswer": { 7350 "@type": "Answer", 7351 "text": "\u003cp\u003eNOMO Vegan Chocolate is the perfect choice for anyone who is looking for a delicious and satisfying chocolate experience without compromising their dietary needs. Our commitment to safety and quality, coupled with their extensive range of vegan, gluten \u0026 dairy free chocolates, makes them the number one choice of chocolate suitable for vegetarians and chocolate lovers. NOMO's chocolates are not only suitable for plant based diet and those with allergies or intolerances, but they are also perfect for anyone who wants to enjoy a delicious and healthier chocolate option. With NOMO, you can finally say goodbye to FOMO and hello to NOMO!\u003c\/p\u003e" 7352 } 7353 }, 7354 7355 7356 7357 { 7358 "@type": "Question", 7359 "name": "Is plant based chocolate suitable for vegans?", 7360 "acceptedAnswer": { 7361 "@type": "Answer", 7362 "text": "\u003cp\u003eYes, plant based chocolate is a great choice for vegans as it does not contain any animal products. It is made entirely from plant based food ingredients, making it a cruelty-free option for those following a vegan lifestyle.\u003c\/p\u003e" 7363 } 7364 }, 7365 7366 7367 7368 { 7369 "@type": "Question", 7370 "name": "Do plant based chocolates taste different from regular chocolates?", 7371 "acceptedAnswer": { 7372 "@type": "Answer", 7373 "text": "\u003cp\u003ePlant based chocolates can have a slightly different taste compared to regular chocolates made with dairy milk. However, NOMO strives to create plant-based chocolates that tastes the same with traditional chocolates, ensuring a delicious and satisfying experience.\u003c\/p\u003e" 7374 } 7375 }, 7376 7377 7378 7379 { 7380 "@type": "Question", 7381 "name": "Can individuals with lactose intolerance consume plant based chocolates?", 7382 "acceptedAnswer": { 7383 "@type": "Answer", 7384 "text": "\u003cp\u003eYes, even with lactose intolerance you can enjoy NOMO plant based chocolates without any issues. Since NOMO plant based chocolates are free from dairy, they are a suitable alternative for those with lactose intolerance or sensitivity.\u003c\/p\u003e" 7385 } 7386 } 7387 7388 7389 ] 7390 } 7391 </script>
7391<div > 7392 7393 <div> 7394 <button type="button" class="collapsible-trigger collapsible-trigger--inline collapsible--auto-height text-left" aria-controls="FAQ-content-question_9LbRGA"><span class="collapsible-trigger__icon collapsible-trigger__icon--circle collapsible-trigger__icon--open" role="presentation"> 7395 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="M1.57 1.59l12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none" fill-rule="evenodd"/></svg> 7396</span> 7397<span>Why buy NOMO vegan plant based chocolate?</span> 7398 </button> 7399 <div id="FAQ-content-question_9LbRGA" class="collapsible-content collapsible-content--all"> 7400 <div class="collapsible-content__inner collapsible-content__inner--faq rte"> 7401 <p>For a long time, many vegans and those with food allergies or intolerance were excluded from mainstream chocolate; alienated from the same options that everyone else could enjoy. We wanted to fix this <br/>problem so that instead of feeling FOMO, people could finally feel NOMO - No Missing Out!</p><p>As well as being vegan chocolate, NOMO is: </p><p>- Dairy Free Chocolate <br/>- <a href="https://nomochoc.com/collections/gluten-free-chocolate" title="Gluten Free Chocolate">Gluten Free Chocolate <br/></a>- Egg Free Chocolate <br/>- Nut Free Chocolate </p><p>We have a range of vegan, gluten and dairy free chocolates suitable for every taste bud â from creamy vegan chocolate to gooey caramel plant based chocolate bar. And best of all, it tastes just as good, if not better, than milk chocolate. In fact, itâs so good that our <a href="https://nomochoc.com/products/caramel-chocolate-bars" target="_blank" title="Caramel Chocolate Bars">NOMO caramel nut free chocolate bar </a>was voted 2020âs Best Vegan Chocolate by Vegan Food UK and 25,000 vegan consumers! So if you fancy a delicious bar of the best plant based chocolate in the UK, try NOMO plant based chocolate bar! </p> 7402 </div> 7403 </div> 7404 </div> 7405 7406 </div><div > 7407 7408 <div> 7409 <button type="button" class="collapsible-trigger collapsible-trigger--inline collapsible--auto-height text-left" aria-controls="FAQ-content-question_iHLheR"><span class="collapsible-trigger__icon collapsible-trigger__icon--circle collapsible-trigger__icon--open" role="presentation"> 7410 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="M1.57 1.59l12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none" fill-rule="evenodd"/></svg> 7411</span> 7412<span>How did NOMO start?</span> 7413 </button> 7414 <div id="FAQ-content-question_iHLheR" class="collapsible-content collapsible-content--all"> 7415 <div class="collapsible-content__inner collapsible-content__inner--faq rte"> 7416 <p>NOMO was born out of our passion to create a vegan chocolate brand with truly delicious flavours that everyone can enjoy, and we go to exceptional lengths to ensure that NOMO plant based chocolate bars are Vegan & dairy free, gluten free, egg free & nuts free. We aim to deliver the best vegan & nut free chocolates to all chocolate lovers in the UK.</p> 7417 </div> 7418 </div> 7419 </div> 7420 7421 </div><div > 7422 7423 <div> 7424 <button type="button" class="collapsible-trigger collapsible-trigger--inline collapsible--auto-height text-left" aria-controls="FAQ-content-question_iEDUEr"><span class="collapsible-trigger__icon collapsible-trigger__icon--circle collapsible-trigger__icon--open" role="presentation"> 7425 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="M1.57 1.59l12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none" fill-rule="evenodd"/></svg> 7426</span> 7427<span>How can you be sure NOMO plant based chocolate is free from dairy, gluten, eggs and nuts?</sp
7427an> 7428 </button> 7429 <div id="FAQ-content-question_iEDUEr" class="collapsible-content collapsible-content--all"> 7430 <div class="collapsible-content__inner collapsible-content__inner--faq rte"> 7431 <p>NOMO's commitment to safety and quality is reflected in its allergen management procedures. As a business, we take allergens extremely seriously and everyone who works at Kinnerton has this at the forefront of their thinking. We go to extraordinary lengths to ensure that our NOMO vegan chocolates are safe and free from the major allergens, dairy, gluten, egg and nuts (tree nuts and peanuts), and all of our chocolates are suitable for vegans.<br/><br/>This robust process starts at the very beginning with our suppliers, and we ensure all NOMO vegan chocolate ingredients are free from dairy, gluten, egg, tree nuts and peanuts. Our factory in Norfolk, UK, has a specially segregated part of the factory to craft NOMO. The whole process is carefully managed by our operations and technical teams and is underpinned by detailed allergen management procedures. </p> 7432 </div> 7433 </div> 7434 </div> 7435 7436 </div><div > 7437 7438 <div> 7439 <button type="button" class="collapsible-trigger collapsible-trigger--inline collapsible--auto-height text-left" aria-controls="FAQ-content-question_kUDeNB"><span class="collapsible-trigger__icon collapsible-trigger__icon--circle collapsible-trigger__icon--open" role="presentation"> 7440 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="M1.57 1.59l12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none" fill-rule="evenodd"/></svg> 7441</span> 7442<span>Why NOMO is the best vegan, gluten and dairy free chocolates you will ever have in UK?</span> 7443 </button> 7444 <div id="FAQ-content-question_kUDeNB" class="collapsible-content collapsible-content--all"> 7445 <div class="collapsible-content__inner collapsible-content__inner--faq rte"> 7446 <p>As voted by Vegan Food UK and 25,000 vegan consumers, NOMO is considered the best vegan chocolate in the UK. Even NOMO vegan chocolates are free from dairy, gluten, eggs and nuts, you can always choose your favourite vegan chocolates from our range with various flavours, including Gooey Caramel, Fruit & Crunch, Chocolate Fudge, Salted Caramel, Creamy and more. NOMO is the best vegan chocolate brand for plant based diet. Plant powered food!</p> 7447 </div> 7448 </div> 7449 </div> 7450 7451 </div><div > 7452 7453 <div> 7454 <button type="button" class="collapsible-trigger collapsible-trigger--inline collapsible--auto-height text-left" aria-controls="FAQ-content-question_AXVMW6"><span class="collapsible-trigger__icon collapsible-trigger__icon--circle collapsible-trigger__icon--open" role="presentation"> 7455 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="M1.57 1.59l12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none" fill-rule="evenodd"/></svg> 7456</span> 7457<span>Are NOMO vegan, gluten and dairy free chocolates suitable for me?</span> 7458 </button> 7459 <div id="FAQ-content-question_AXVMW6" class="collapsible-content collapsible-content--all"> 7460 <div class="collapsible-content__inner collapsible-content__inner--faq rte"> 7461 <p>NOMO Vegan Chocolate is the perfect choice for anyone who is looking for a delicious and satisfying chocolate experience without compromising their dietary needs. Our commitment to safety and quality, coupled with their extensive range of vegan, gluten & dairy free chocolates, makes them the number one choice of chocolate suitable for vegetarians and chocolate lovers. NOMO's chocolates are not only suitable for plant based diet and those with allergies or intolerances, but they are also perfect for anyone who wants to enjoy a delicious and healthier chocolate option. With NOMO, you can finally say goodbye to FOMO and hello to NOMO!</p> 7462 </div> 7463 </div> 7464 </div> 7465 7466 </div><div > 7467 7468 <div> 7469 <button type="button" class="collapsible-trigger collapsible-trigger--inline collapsible--auto-height text-left" aria-controls="FAQ-content-question_my3Yya"><span class="collapsible-trigger__icon collapsible-trigger__icon--circle collapsible-trigger__icon--open" role="presentation"> 7470 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewB
7470ox="0 0 28 16"><path d="M1.57 1.59l12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none" fill-rule="evenodd"/></svg> 7471</span> 7472<span>Is plant based chocolate suitable for vegans?</span> 7473 </button> 7474 <div id="FAQ-content-question_my3Yya" class="collapsible-content collapsible-content--all"> 7475 <div class="collapsible-content__inner collapsible-content__inner--faq rte"> 7476 <p>Yes, plant based chocolate is a great choice for vegans as it does not contain any animal products. It is made entirely from plant based food ingredients, making it a cruelty-free option for those following a vegan lifestyle.</p> 7477 </div> 7478 </div> 7479 </div> 7480 7481 </div><div > 7482 7483 <div> 7484 <button type="button" class="collapsible-trigger collapsible-trigger--inline collapsible--auto-height text-left" aria-controls="FAQ-content-question_rHDJic"><span class="collapsible-trigger__icon collapsible-trigger__icon--circle collapsible-trigger__icon--open" role="presentation"> 7485 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="M1.57 1.59l12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none" fill-rule="evenodd"/></svg> 7486</span> 7487<span>Do plant based chocolates taste different from regular chocolates?</span> 7488 </button> 7489 <div id="FAQ-content-question_rHDJic" class="collapsible-content collapsible-content--all"> 7490 <div class="collapsible-content__inner collapsible-content__inner--faq rte"> 7491 <p>Plant based chocolates can have a slightly different taste compared to regular chocolates made with dairy milk. However, NOMO strives to create plant-based chocolates that tastes the same with traditional chocolates, ensuring a delicious and satisfying experience.</p> 7492 </div> 7493 </div> 7494 </div> 7495 7496 </div><div > 7497 7498 <div> 7499 <button type="button" class="collapsible-trigger collapsible-trigger--inline collapsible--auto-height text-left" aria-controls="FAQ-content-question_AnMzGa"><span class="collapsible-trigger__icon collapsible-trigger__icon--circle collapsible-trigger__icon--open" role="presentation"> 7500 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon--wide icon-chevron-down" viewBox="0 0 28 16"><path d="M1.57 1.59l12.76 12.77L27.1 1.59" stroke-width="2" stroke="#000" fill="none" fill-rule="evenodd"/></svg> 7501</span> 7502<span>Can individuals with lactose intolerance consume plant based chocolates?</span> 7503 </button> 7504 <div id="FAQ-content-question_AnMzGa" class="collapsible-content collapsible-content--all"> 7505 <div class="collapsible-content__inner collapsible-content__inner--faq rte"> 7506 <p>Yes, even with lactose intolerance you can enjoy NOMO plant based chocolates without any issues. Since NOMO plant based chocolates are free from dairy, they are a suitable alternative for those with lactose intolerance or sensitivity.</p> 7507 </div> 7508 </div> 7509 </div> 7510 7511 </div></div> 7512</div> 7513 </main><!-- BEGIN sections: footer-group --> 7514<div id="shopify-section-sections--25654135030139__footer" class="shopify-section shopify-section-group-footer-group"><style data-shopify>.site-footer p { 7515 padding-top: 5px; 7516 } 7517 .site-footer .footer__newsletter-input { 7518 border: solid 1px #000; 7519 border-radius: 14px; 7520 padding: 10px; 7521 } 7522 7523 @media only screen and (max-width: 768px) { 7524 footer.site-footer .grid__item:after { 7525 border: unset 7526 } 7527 footer p.footer__small-text.text-align-left, 7528 footer .footer__collapsible.text_align_left, [data-center-text=true] footer .footer__title, 7529 [data-center-text=true] footer .footer__title .text_align_left { 7530 text-align: left; 7531 } 7532 } 7533 7534 .site-footer, 7535 .site-footer p, 7536 .site-footer a, 7537 .site-footer p.h4, 7538 .site-footer input, 7539 .site-footer input::placeholder, 7540 .site-footer label, 7541 .site-footer button, 7542 .site-footer .icon { 7543 color: !important; 7544 } 7545 .site-footer a.btn { 7546 color: white !important; 7547 } 7548 7549 7550 7551 7552 7553 7554 7555 7556 7557 7558 7559</style><footer class="site-footer" data-section-id="sections--25654135030139__footer" data-section-type="footer-section"> 7560 <div class="page-width"> 7561 7562 <div class="grid"><div class="grid__item footer__item--custom_C4RiLW" data-type="custom"><style data-shopify>@media only screen and (min-width: 769px) and (max-width: 959px) { 7563 .footer__item--custom_C4RiLW { 7564 width: 50%; 7565 padding-top: 40px; 7566 } 7567 .footer__item--custom_C4RiLW:nth-child(2n + 1) { 7568 clear: left; 7569 } 7570 } 7571 @media only screen and (min-width: 960px) { 7572 .footer__item--custom_C4RiLW { 7573 width: 30%; 7574 } 7575 7576 } 7577 7578 footer .footer__mobile_logo { 7579 display: none; 7580 } 7581 @media only screen and (max-width: 768px) { 7582 .footer__item--custom_C4RiLW { 7583 width: 95%; 7584 } 7585 .footer__item--custom_C4RiLW:nth-child(2n + 1) { 7586 clear: left; 7587 } 7588 7589 [data-type="logo_social"] { 7590 display: flex; 7591 width: 100%; 7592 } 7593 [data-type="logo_social"] .footer__search-section, 7594 [data-type="logo_social"] .no-bullets.social-icons { 7595 width: 50%; 7596 } 7597 .footer__search-section { 7598 order: 1; 7599 } 7600 footer .footer__desktop_logo { 7601 display: none; 7602 } 7603 footer .footer__mobile_logo { 7604 display: flex; 7605 width: 50%; 7606 } 7607 footer .footer__mobile_logo img { 7608 height: auto; 7609 } 7610 }</style><div class="footer__item-padding"><div 7611 > 7612 <div class="collapsible-content__inner">
7613 <div class="footer__collapsible footer_collapsible--disabled"><div class="image-wrap text-spacing" style="height: 0; padding-bottom: 31.378935939196523%;"> 7614 7615 7616 7617 7618 7619 <img src="//nomochoc.com/cdn/shop/files/can_we_stay_in_touch.png?v=1743577343" alt="" srcset="//nomochoc.com/cdn/shop/files/can_we_stay_in_touch.png?v=1743577343&width=360 360w, //nomochoc.com/cdn/shop/files/can_we_stay_in_touch.png?v=1743577343&width=540 540w, //nomochoc.com/cdn/shop/files/can_we_stay_in_touch.png?v=1743577343&width=720 720w, //nomochoc.com/cdn/shop/files/can_we_stay_in_touch.png?v=1743577343&width=900 900w" width="921" height="289" loading="lazy" sizes="(min-width: 769px) 30vw, 100vw" role="presentation"> 7620 7621 7622 7623 7624</div> 7625 <a class="btn" href="/pages/sign-up-for-10-off">Sign Up</a> 7626 7627 <p>We'll never share your data.</p> 7628 </div> 7629 </div> 7630 </div> 7631</div> 7632</div><div class="grid__item footer__item--920ef339-0daa-4bce-af99-d2f0fd8606c4" data-type="menu"><style data-shopify>@media only screen and (min-width: 769px) and (max-width: 959px) { 7633 .footer__item--920ef339-0daa-4bce-af99-d2f0fd8606c4 { 7634 width: 50%; 7635 padding-top: 40px; 7636 } 7637 .footer__item--920ef339-0daa-4bce-af99-d2f0fd8606c4:nth-child(2n + 1) { 7638 clear: left; 7639 } 7640 } 7641 @media only screen and (min-width: 960px) { 7642 .footer__item--920ef339-0daa-4bce-af99-d2f0fd8606c4 { 7643 width: 23%; 7644 } 7645 7646 } 7647 7648 footer .footer__mobile_logo { 7649 display: none; 7650 } 7651 @media only screen and (max-width: 768px) { 7652 .footer__item--920ef339-0daa-4bce-af99-d2f0fd8606c4 { 7653 width: 50%; 7654 } 7655 .footer__item--920ef339-0daa-4bce-af99-d2f0fd8606c4:nth-child(2n + 1) { 7656 clear: left; 7657 } 7658 7659 [data-type="logo_social"] { 7660 display: flex; 7661 width: 100%; 7662 } 7663 [data-type="logo_social"] .footer__search-section, 7664 [data-type="logo_social"] .no-bullets.social-icons { 7665 width: 50%; 7666 } 7667 .footer__search-section { 7668 order: 1; 7669 } 7670 footer .footer__desktop_logo { 7671 display: none; 7672 } 7673 footer .footer__mobile_logo { 7674 display: flex; 7675 width: 50%; 7676 } 7677 footer .footer__mobile_logo img { 7678 height: auto; 7679 } 7680 }</style> 7681 7682 <p class="h3 footer__title"> 7683 Shop Chocolate 7684 </p> 7685 7686<div 7687 7688 id="Footer-920ef339-0daa-4bce-af99-d2f0fd8606c4" 7689 > 7690 <div class="collapsible-content__inner"> 7691 <div class="footer__collapsible text_align_left"> 7692 <ul class="no-bullets site-footer__linklist"><li><a href="/collections/all-products">All Chocolate</a></li><li><a href="/collections/vegan-chocolate-bars">Our Bars</a></li><li><a href="/collections/vegan-chocolate-boxes">Chocolate Box</a></li><li><a href="/collections/vegan-chocolate-bundles">Bundles</a></li><li><a href="/collections/kids-chocolates">Kids</a></li><li><a href="/pages/nomo-subscription">NOMO Subscription</a></li><li><a href="/collections/christmas-products">Christmas</a></li><li><a href="/pages/student-graduate-discount">Student & 16-26 Discount</a></li><li><a href="/products/gift-card">E-Gift Card</a></li><li><a href="/blogs/recipes">Recipes</a></li><li><a href="/pages/discount-codes">Discount Codes</a></li><li><a href="/pages/our-story">Our Story</a></li></ul> 7693 </div> 7694 </div> 7695 </div></div><div class="grid__item footer__item--footer-1" data-type="menu"><style data-shopify>@media only screen and (min-width: 769px) and (max-width: 959px) { 7696 .footer__item--footer-1 { 7697 width: 50%; 7698 padding-top: 40px; 7699 } 7700 .footer__item--footer-1:nth-child(2n + 1) { 7701 clear: left; 7702 } 7703 } 7704 @media only screen and (min-width: 960px) { 7705 .footer__item--footer-1 { 7706 width: 23%; 7707 } 7708 7709 } 7710 7711 footer .footer__mobile_logo { 7712 display: none; 7713 } 7714 @media only screen and (max-width: 768px) { 7715 .footer__item--footer-1 { 7716 width: 50%; 7717 } 7718 .footer__item--footer-1:nth-child(2n + 1) { 7719 clear: left; 7720 } 7721 7722 [data-type="logo_social"] { 7723 display: flex; 7724 width: 100%; 7725 } 7726 [data-type="logo_social"] .footer__search-section, 7727 [data-type="logo_social"] .no-bullets.social-icons { 7728 width: 50%; 7729 } 7730 .footer__search-section { 7731 order: 1; 7732 } 7733 footer .footer__desktop_logo { 7734 display: none; 7735 } 7736 footer .footer__mobile_logo { 7737 display: flex; 7738 width: 50%; 7739 } 7740 footer .footer__mobile_logo img { 7741 height: auto; 7742 } 7743 }</style> 7744 7745 <p class="h3 footer__title"> 7746 Help & Information 7747 </p> 7748 7749<div 7750 7751 id="Footer-footer-1" 7752 > 7753 <div class="collapsible-content__inner">
7754 <div class="footer__collapsible text_align_left"> 7755 <ul class="no-bullets site-footer__linklist"><li><a href="/pages/faqs">FAQ's</a></li><li><a href="/pages/shipping">Shipping</a></li><li><a href="/pages/refund-policy">Refunds</a></li><li><a href="/pages/privacy-policy">Privacy Policy</a></li><li><a href="/pages/terms-of-service">Terms of Service</a></li><li><a href="https://nomochoc.com/pages/terms-conditions">Terms & Conditions</a></li><li><a href="/pages/get-in-touch">Contact Us</a></li></ul> 7756 </div> 7757 </div> 7758 </div></div><div class="grid__item footer__item--logo_social_daKJRH" data-type="logo_social"><style data-shopify>@media only screen and (min-width: 769px) and (max-width: 959px) { 7759 .footer__item--logo_social_daKJRH { 7760 width: 50%; 7761 padding-top: 40px; 7762 } 7763 .footer__item--logo_social_daKJRH:nth-child(2n + 1) { 7764 clear: left; 7765 } 7766 } 7767 @media only screen and (min-width: 960px) { 7768 .footer__item--logo_social_daKJRH { 7769 width: 23%; 7770 } 7771 7772 } 7773 7774 footer .footer__mobile_logo { 7775 display: none; 7776 } 7777 @media only screen and (max-width: 768px) { 7778 .footer__item--logo_social_daKJRH { 7779 width: 50%; 7780 } 7781 .footer__item--logo_social_daKJRH:nth-child(2n + 1) { 7782 clear: left; 7783 } 7784 7785 [data-type="logo_social"] { 7786 display: flex; 7787 width: 100%; 7788 } 7789 [data-type="logo_social"] .footer__search-section, 7790 [data-type="logo_social"] .no-bullets.social-icons { 7791 width: 50%; 7792 } 7793 .footer__search-section { 7794 order: 1; 7795 } 7796 footer .footer__desktop_logo { 7797 display: none; 7798 } 7799 footer .footer__mobile_logo { 7800 display: flex; 7801 width: 50%; 7802 } 7803 footer .footer__mobile_logo img { 7804 height: auto; 7805 } 7806 }</style> 7807 <p class="h3 footer__title small--hide"> 7808 Follow us 7809 </p> 7810 7811<ul class="no-bullets social-icons footer__social"><li> 7812 <a target="_blank" rel="noopener" href="https://www.instagram.com/nomochocolate/?hl=en" title="NOMOCHOC on Instagram"> 7813 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-instagram" viewBox="0 0 32 32"><path fill="#444" d="M16 3.094c4.206 0 4.7.019 6.363.094 1.538.069 2.369.325 2.925.544.738.287 1.262.625 1.813 1.175s.894 1.075 1.175 1.813c.212.556.475 1.387.544 2.925.075 1.662.094 2.156.094 6.363s-.019 4.7-.094 6.363c-.069 1.538-.325 2.369-.544 2.925-.288.738-.625 1.262-1.175 1.813s-1.075.894-1.813 1.175c-.556.212-1.387.475-2.925.544-1.663.075-2.156.094-6.363.094s-4.7-.019-6.363-.094c-1.537-.069-2.369-.325-2.925-.544-.737-.288-1.263-.625-1.813-1.175s-.894-1.075-1.175-1.813c-.212-.556-.475-1.387-.544-2.925-.075-1.663-.094-2.156-.094-6.363s.019-4.7.094-6.363c.069-1.537.325-2.369.544-2.925.287-.737.625-1.263 1.175-1.813s1.075-.894 1.813-1.175c.556-.212 1.388-.475 2.925-.544 1.662-.081 2.156-.094 6.363-.094zm0-2.838c-4.275 0-4.813.019-6.494.094-1.675.075-2.819.344-3.819.731-1.037.4-1.913.944-2.788 1.819S1.486 4.656 1.08 5.688c-.387 1-.656 2.144-.731 3.825-.075 1.675-.094 2.213-.094 6.488s.019 4.813.094 6.494c.075 1.675.344 2.819.731 3.825.4 1.038.944 1.913 1.819 2.788s1.756 1.413 2.788 1.819c1 .387 2.144.656 3.825.731s2.213.094 6.494.094 4.813-.019 6.494-.094c1.675-.075 2.819-.344 3.825-.731 1.038-.4 1.913-.944 2.788-1.819s1.413-1.756 1.819-2.788c.387-1 .656-2.144.731-3.825s.094-2.212.094-6.494-.019-4.813-.094-6.494c-.075-1.675-.344-2.819-.731-3.825-.4-1.038-.944-1.913-1.819-2.788s-1.756-1.413-2.788-1.819c-1-.387-2.144-.656-3.825-.731C20.812.275 20.275.256 16 .256z"/><path fill="#444" d="M16 7.912a8.088 8.088 0 0 0 0 16.175c4.463 0 8.087-3.625 8.087-8.088s-3.625-8.088-8.088-8.088zm0 13.338a5.25 5.25 0 1 1 0-10.5 5.25 5.25 0 1 1 0 10.5zM26.294 7.594a1.887 1.887 0 1 1-3.774.002 1.887 1.887 0 0 1 3.774-.003z"/></svg>
7814 <span class="icon__fallback-text">Instagram</span> 7815 </a> 7816 </li><li> 7817 <a target="_blank" rel="noopener" href="https://www.facebook.com/NOMOChocolate/?locale=en_GB" title="NOMOCHOC on Facebook"> 7818 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-facebook" viewBox="0 0 14222 14222"><path d="M14222 7112c0 3549.352-2600.418 6491.344-6000 7024.72V9168h1657l315-2056H8222V5778c0-562 275-1111 1159-1111h897V2917s-814-139-1592-139c-1624 0-2686 984-2686 2767v1567H4194v2056h1806v4968.72C2600.418 13603.344 0 10661.352 0 7112 0 3184.703 3183.703 1 7111 1s7111 3183.703 7111 7111zm-8222 7025c362 57 733 86 1111 86-377.945 0-749.003-29.485-1111-86.28zm2222 0v-.28a7107.458 7107.458 0 0 1-167.717 24.267A7407.158 7407.158 0 0 0 8222 14137zm-167.717 23.987C7745.664 14201.89 7430.797 14223 7111 14223c319.843 0 634.675-21.479 943.283-62.013z"/></svg> 7819 <span class="icon__fallback-text">Facebook</span> 7820 </a> 7821 </li><li> 7822 <a target="_blank" rel="noopener" href="https://www.tiktok.com/@nomochocolate" title="NOMOCHOC on TikTok"> 7823 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-tiktok" viewBox="0 0 2859 3333"><path d="M2081 0c55 473 319 755 778 785v532c-266 26-499-61-770-225v995c0 1264-1378 1659-1932 753-356-583-138-1606 1004-1647v561c-87 14-180 36-265 65-254 86-398 247-358 531 77 544 1075 705 992-358V1h551z"/></svg> 7824 <span class="icon__fallback-text">TikTok</span> 7825 </a> 7826 </li></ul> 7827 7828</div></div> 7829 7830 7831 <p class="footer__small-text text-align-left"> 7832 © 2026 NOMOCHOC 7833</p></div> 7834</footer> 7835 7836 7837 7838<style> #shopify-section-sections--25654135030139__footer a.btn {margin-top: 15px; margin-bottom: 15px;} </style></div> 7839<!-- END sections: footer-group --></div> 7840 </div><div id="VideoModal" class="modal modal--solid"> 7841 <div class="modal__inner"> 7842 <div class="modal__centered page-width text-center"> 7843 <div class="modal__centered-content"> 7844 <div class="video-wrapper video-wrapper--modal"> 7845 <div id="VideoHolder"></div> 7846 </div> 7847 </div> 7848 </div> 7849 </div> 7850 7851 <button type="button" class="modal__close js-modal-close text-link"> 7852 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><path d="M19 17.61l27.12 27.13m0-27.12L19 44.74"/></svg> 7853 <span class="icon__fallback-text">"Close (esc)"</span> 7854 </button> 7855</div> 7856<div class="pswp" tabindex="-1" role="dialog" aria-hidden="true"> 7857 <div class="pswp__bg"></div> 7858 <div class="pswp__scroll-wrap"> 7859 <div class="pswp__container"> 7860 <div class="pswp__item"></div> 7861 <div class="pswp__item"></div> 7862 <div class="pswp__item"></div> 7863 </div> 7864 7865 <div class="pswp__ui pswp__ui--hidden"> 7866 <button class="btn btn--body btn--circle pswp__button pswp__button--arrow--left" title="Previous"> 7867 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-left" viewBox="0 0 284.49 498.98"><path d="M249.49 0a35 35 0 0 1 24.75 59.75L84.49 249.49l189.75 189.74a35.002 35.002 0 1 1-49.5 49.5L10.25 274.24a35 35 0 0 1 0-49.5L224.74 10.25A34.89 34.89 0 0 1 249.49 0z"/></svg> 7868 </button> 7869 7870 <button class="btn btn--body btn--circle btn--large pswp__button pswp__button--close" title="Close (esc)"> 7871 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><path d="M19 17.61l27.12 27.13m0-27.12L19 44.74"/></svg> 7872 </button> 7873 7874 <button class="btn btn--body btn--circle pswp__button pswp__button--arrow--right" title="Next"> 7875 <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-chevron-right" viewBox="0 0 284.49 498.98"><path d="M35 498.98a35 35 0 0 1-24.75-59.75l189.74-189.74L10.25 59.75a35.002 35.002 0 0 1 49.5-49.5l214.49 214.49a35 35 0 0 1 0 49.5L59.75 488.73A34.89 34.89 0 0 1 35 498.98z"/></svg> 7876 </button> 7877 </div> 7878 </div> 7879</div> 7880<tool-tip data-tool-tip=""> 7881 <div class="tool-tip__inner" data-tool-tip-inner> 7882 <button class="tool-tip__close" data-tool-tip-close=""><svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-close" viewBox="0 0 64 64"><path d="M19 17.61l27.12 27.13m0-27.12L19 44.74"/></svg></button> 7883 <div data-tool-tip-title>All Products | NOMO Plant Powered Chocolate | Vegan & Free From</div> 7884 <div class="tool-tip__content" data-tool-tip-content> 7885 </div> 7886 </div> 7887</tool-tip> 7888 7889 <template id="naturalImageMarkup"> 7890 <div class="image-wrap" style="height: 0;"> 7891 <img class="grid-product__image" width height src srcset loading="lazy" alt> 7892 </div> 7893 </template> 7894 <template id="fixedRatioImageMarkup"> 7895 <div class="grid__image-ratio"> 7896 <img width height src srcset loading="lazy" alt> 7897 </div> 7898 </template> 7899 <template id="articleImageMarkup"> 7900 <img width height src loading="lazy"> 7901 </template> 7902 7903 7904<style> #nosto-page-content {display: none;} small.cart__discount {display: none;} </style> 7905<div id="shopify-block-ATEZFRHl5ZXpGRU1ye__15405363926663611884" class="shopify-block shopify-app-block"> 7906 7907 7908 7909 7910 7911 7912 7913 7914 7915 7916
7917<script> 7918window.storeIframesValidApiLocale = "en-GB"; 7919window.ShopifyTVAnalyticsMgmtEndpoint = "https://" + atob("bm9tb2Nob2MuY29t") + atob("L2Evc2hvcGlmeWFuYWx5dGljcy10cmFjay9hcGkvdmVyaWZ5Lw==") + "a2lubmVydG9uLXRlc3QubXlzaG9waWZ5LmNvbQ"; 7920// window.ShopifyTVAnalyticsMgmtEndpoint = atob("aHR0cHM6Ly9zaG9waWZ5YW5hbHl0aWNzLnBhZ2VzLmRldi9hcGkvdmVyaWZ5Lw==") + "a2lubmVydG9uLXRlc3QubXlzaG9waWZ5LmNvbQ"; 7921window.storesIframeValidApiEndpoint = "https://" + atob("bm9tb2Nob2MuY29t") + atob("L2Evc2hvcGlmeWFuYWx5dGljcy10cmFjaw=="); 7922window.customerPortalUrl = atob("aHR0cHM6Ly91ay50cnVzdHBpbG90LmNvbS9yZXZpZXcvbm9tb2Nob2MuY29t"); 7923window.customerPortalBusinessId = atob("NWVlOTUyZmI4YzVmNzMwMDAxZDFhMWEx"); 7924</script>
7924 7925
7926<script> 7927 try { 7928 const widgets = document.querySelectorAll('.mgmt-tv-elevate-widgetss'); 7929 widgets.forEach(widget => { 7930 widget.setAttribute('data-locale', window.storeIframesValidApiLocale); 7931 }); 7932 } catch (error) { 7933 } 7934 (function () { 7935 try { 7936 const observer = new MutationObserver(() => { 7937 const widgets = document.querySelectorAll('.mgmt-tv-elevate-widgetss'); 7938 widgets.forEach(widget => { 7939 widget.setAttribute('data-locale', window.storeIframesValidApiLocale); 7940 }); 7941 }); 7942 observer.observe(document.body, { 7943 childList: true, 7944 subtree: true 7945 }); 7946 } catch (error) { 7947 // console.error('MutationObserver error:', error); 7948 } 7949 try { 7950 const carouselWidgets = document.querySelectorAll('.mgmt-tv-elevate-carousel-widgetss'); 7951 if (carouselWidgets.length >= 0) { 7952 carouselWidgets.forEach((widget) => { 7953 if (widget.getAttribute('data-show-reviews-on-mobile') === 'true') { 7954 const setHeight = (iframe) => { 7955 iframe.style.height = window.matchMedia("(max-width: 768px)").matches ? "320px" : "140px"; 7956 }; 7957 const observer = new MutationObserver(() => { 7958 const iframe = widget.querySelector('[title*="storeadmin" i]'); 7959 if (iframe) { 7960 setHeight(iframe); 7961 window.addEventListener('resize', () => setHeight(iframe)); 7962 observer.disconnect(); 7963 } 7964 }); 7965 observer.observe(widget, { childList: true, subtree: true }); 7966 } 7967 }); 7968 } 7969 } catch (error) {} 7970 const firstWidgetCount = document.getElementsByClassName("mgmt-tv-elevate-widgetss-design1").length; 7971 const thirdWidgetCount = document.getElementsByClassName("mgmt-tv-elevate-widgetss-design3").length; 7972 if (window.customerPortalUrl !== "" && (firstWidgetCount > 0 || thirdWidgetCount > 0)) { 7973 document.addEventListener("DOMContentLoaded", async function () { 7974 var widget1LocaleTranslations = 7975 {"da-DK":{"seeour":"Se vores","reviewson":"anmeldelser p\u00e5"},"de-AT":{"seeour":"Sehen Sie unsere","reviewson":"Bewertungen auf"},"de-CH":{"seeour":"Sehen Sie unsere","reviewson":"Bewertungen auf"},"de-DE":{"seeour":"Sehen Sie unsere","reviewson":"Bewertungen auf"},"en-AU":{"seeour":"See our","reviewson":"reviews on"},"en-CA":{"seeour":"See our","reviewson":"reviews on"},"en-GB":{"seeour":"See our","reviewson":"reviews on"},"en-IE":{"seeour":"See our","reviewson":"reviews on"},"en-NZ":{"seeour":"See our","reviewson":"reviews on"},"en-US":{"seeour":"See our","reviewson":"reviews on"},"es-ES":{"seeour":"Lee nuestras","reviewson":"rese\u00f1as en"},"fi-FI":{"seeour":"Katso","reviewson":"arvosteluamme palvelussa"},"fr-BE":{"seeour":"Voir nos","reviewson":"avis sur"},"fr-FR":{"seeour":"Voir nos","reviewson":"avis sur"},"it-IT":{"seeour":"Leggi le nostre","reviewson":"recensioni su"},"ja-JP":{"seeour":"\u5f53\u793e\u306e","reviewson":"\u306e\u30ec\u30d3\u30e5\u30fc\u3092\u898b\u308b"},"nb-NO":{"seeour":"Se alle v\u00e5re","reviewson":"anmeldelser p\u00e5"},"nl-BE":{"seeour":"Zie onze","reviewson":"reviews op"},"nl-NL":{"seeour":"Zie onze","reviewson":"reviews op"},"pl-PL":{"seeour":"Zobacz nasze","reviewson":"recenzje na"},"pt-BR":{"seeour":"Ver nossas","reviewson":"avalia\u00e7\u00f5es na"},"pt-PT":{"seeour":"Veja as nossas","reviewson":"opini\u00f5es em"},"ru-RU":{"seeour":"\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u043d\u0430\u0448\u0438","reviewson":"\u043e\u0442\u0437\u044b\u0432\u043e\u0432 \u043d\u0430"},"sv-SE":{"seeour":"Se alla v\u00e5ra","reviewson":"omd\u00f6men p\u00e5"},"zh-CN":{"seeour":"\u6211\u4eec\u6709","reviewson":"\u6761\u70b9\u8bc4\u5728"}}; 7976 var widget1LocaleTranslation = widget1LocaleTranslations[window.storeIframesValidApiLocale]; 7977 var widget3LocaleTranslations = { "da-DK": { "weareon": "Vi er pÃ¥" }, "de-AT": { "weareon": "Wir sind dabei" }, "de-CH": { "weareon": "Wir sind dabei" }, "de-DE": { "weareon": "Wir sind dabei" }, "en-AU": { "weareon": "We're on" }, "en-CA": { "weareon": "We're on" }, "en-GB": { "weareon": "We're on" }, "en-IE": { "weareon": "We're on" }, "en-NZ": { "weareon": "We're on" }, "en-US": { "weareon": "We're on" }, "es-ES": { "weareon": "Estamos en marcha" }, "fi-FI": { "weareon": "Olemme käynnissä" }, "fr-BE": { "weareon": "Nous sommes là " }, "fr-FR": { "weareon": "Nous sommes là " }, "it-IT": { "weareon": "Siamo in onda" }, "ja-JP": { "weareon": "ç§ãã¡ã¯å§åãã¾ãã" }, "nb-NO": { "weareon": "Vi er i gang" }, "nl-BE": { "weareon": "We zijn live" }, "nl-NL": { "weareon": "We zijn live" }, "pl-PL": { "weareon": "JesteÅmy aktywni" }, "pt-BR": { "weareon": "Estamos no ar" }, "pt-PT": { "weareon": "Estamos no ar" }, "ru-RU": { "weareon": "ÐÑ Ð² ÑÑиÑе" }, "sv-SE": { "weareon": "Vi är igÃ¥ng" }, "zh-CN": { "weareon": "æä»¬ä¸çº¿äº" } }; 7978 var widget3LocaleTranslation = widget3LocaleTranslations[window.storeIframesValidApiLocale]; 7979 try { 7980 const response = await fetch(window.ShopifyTVAnalyticsMgmtEndpoint + "?trackId=" + window.customerPortalBusinessId + "&shop=kinnerton-test.mysh
7980opify.com", { 7981 method: 'GET', 7982 headers: { 7983 'X-Widget-Ts': "1790384516", 7984 'X-Widget-Sig': "1584b4018a613884d4996b546e073fa17e15bd33960b2d542b3b58b05ee763d8" 7985 } 7986 }); 7987 if (response.ok) { 7988 const analyticsPortalRespo = await response.json(); 7989 const numberOfReviews = analyticsPortalRespo["numberOfReviews"]; 7990 const validityScore = analyticsPortalRespo["trustScore"]; 7991 const numberOfStars = analyticsPortalRespo["stars"]; 7992 const designEndingData = atob("PC9ib2R5PiA8L2h0bWw+"); 7993 const mgmtTvElevateWidgTemplates = { 7994 design1: `<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <style>body{margin:0}.mgmt-tv-elevate-widgetss{font-family:Arial,sans-serif;font-size:16px;color:WIDGET_THEME_COLOR;text-align:center;padding:20px}.mgmt-tv-elevate-widgetss img{margin-top:10px;width:100px;height:auto}</style> <title>Widget</title> </head> <body ONCLICK_HYPERLINK_CODE> <div class="mgmt-tv-elevate-widgetss"> <div>`+widget1LocaleTranslation['seeour']+` <strong>NUMBER_OF_REVIEWS</strong> `+widget1LocaleTranslation['reviewson']+`</div> <img src="https://cdn.shopify.com/s/files/1/0711/9398/5311/files/tv-logo-black.svg?v=1734198411" alt="StoreAdmin" style="HIDE_LOGO_CODE"> </div>`, 7995 design3: `<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <style>body{margin:0;font-family:Arial,sans-serif}.mgmt-tv-elevate-widgetss{font-family:Arial,sans-serif;font-size:23px;color:WIDGET_THEME_COLOR;text-align:center;padding:20px}.mgmt-tv-elevate-widgetss img{width:145px;height:auto;margin-top:20px}</style> <title>Widget</title> </head> <body ONCLICK_HYPERLINK_CODE> <div class="mgmt-tv-elevate-widgetss"> <div><strong style="top:-8px;position:relative">`+widget3LocaleTranslation['weareon']+` </strong><img src="https://cdn.shopify.com/s/files/1/0711/9398/5311/files/tv-logo-black.svg?v=1734198411" alt="StoreAdmin" style="HIDE_LOGO_CODE"></div> </div>` 7996 }; 7997 const processWidgets = (designClass, templateKey) => { 7998 const widgets = document.getElementsByClassName(designClass); 7999 const widgetCount = widgets.length; 8000 for (let i = 0; i < widgetCount; i++) { 8001 const currentWidget = widgets[i]; 8002 const hyperlinkEnabled = currentWidget.getAttribute("data-mgmt-tv-elevate-hyperlink") === "true"; 8003 const widgetTheme = currentWidget.getAttribute("data-theme"); 8004 const widgetHideLogo = currentWidget.getAttribute("data-hide-logo"); 8005 let widgetHtml = mgmtTvElevateWidgTemplates[templateKey] 8006 .replace(/NUMBER_OF_REVIEWS/g, numberOfReviews) 8007 .replace(/TRUSTSCORE_NUMBER/g, validityScore) 8008 .replace(/NUMBER_OF_STARS/g, numberOfStars) 8009 .replace("ONCLICK_HYPERLINK_CODE", hyperlinkEnabled ? `onclick="window.open('${window.customerPortalUrl}', '_blank')" style="cursor:pointer"` : "") 8010 .replace("HIDE_LOGO_CODE", widgetHideLogo == 'true' ? 'display:none;' : '') 8011 .replace("WIDGET_THEME_COLOR", widgetTheme == 'dark' ? '#fff' : '#333') + designEndingData; 8012 const iframe = document.createElement('iframe'); 8013 iframe.width = "100%"; 8014 iframe.style.border = "none"; 8015 iframe.style.display = "block"; 8016 iframe.style.overflow = "hidden"; 8017 iframe.scrolling = "no"; 8018 currentWidget.appendChild(iframe); 8019 const adjustIframeHeight = () => { 8020 try { 8021 const iframeDocument = iframe.contentDocument || iframe.contentWindow.document; 8022 const newHeight = iframeDocument.body.scrollHeight - 0.5; 8023 iframe.style.height = newHeight + 'px'; 8024 } catch (e) { 8025 } 8026 }; 8027 iframe.onload = function () { 8028 adjustIframeHeight(); 8029 iframe.contentWindow.addEventListener('resize', adjustIframeHeight); 8030 const observer = new MutationObserver(adjustIframeHeight); 8031 observer.observe(iframe.contentDocument.body, { childList: true, subtree: true, characterData: true }); 8032 }; 8033 iframe.contentWindow.document.open(); 8034 iframe.contentWindow.document.write(widgetHtml); 8035 iframe.contentWindow.document.close(); 8036 adjustIframeHeight(); 8037 window.addEventListener('resize', adjustIframeHeight); 8038 } 8039 }; 8040 if (firstWidgetCount > 0) { 8041 processWidgets("mgmt-tv-elevate-widgetss-design1", "design1"); 8042 } 8043 if (thirdWidgetCount > 0) { 8044 processWidgets("mgmt-tv-elevate-widgetss-design3", "design3"); 8045 } 8046 } else { 8047 } 8048 } catch (error) { 8049 } 8050 }); 8051 } 8052 })(); 8053</script>
vendor: 1 bytes, line 8053
8053
8054<script src="https://nomochoc.com/a/shopifyanalytics-track/loader.js" async data-hid="12c29ed"></script>
8054 8055 8056 </div><div id="shopify-block-ALzJtaDlUU0dWb1dGY__15549472988515247997" class="shopify-block shopify-app-block"> 8057 8058 8059</div><div id="shopify-block-Adk9pV0xadmRMMDVNQ__9722070057798483667" class="shopify-block shopify-app-block"> 8060 8061 8062 8063 8064 8065 8066 8067 8068 8069 8070 8071 8072 8073 8074 8075 8076 8077 8078 8079 8080 8081 8082 8083 8084 8085 8086 8087 8088 8089 8090 8091 8092 8093 8094 8095 8096 8097 8098<style> 8099 .multivariants_cart_quantity_box { pointer-events: none; } 8100 8101</style> 8102 8103 8104
8105<script type="application/json" data-mv-variants-fallback> 8106[] 8107</script>
8107 8108
8109<script> 8110 /** 8111 * Fetches ALL variant pages using the Section Rendering API. 8112 * 8113 * If app-block-product.liquid is present (data-mv-variants-page tag exists): 8114 * - Page 1 data is read from the DOM 8115 * - Pages 2..N are fetched via Section Rendering API using the block's section.id 8116 * 8117 * If app-block-product.liquid is NOT present: 8118 * - Falls back to the embed's own Liquid-rendered variants (max 250) 8119 */ 8120 async function mvFetchAllVariants() { 8121 // 1. Check if app-block-product rendered the paginated JSON tag 8122 var firstPageEl = document.querySelector('script[data-mv-variants-page]'); 8123 8124 if (!firstPageEl) { 8125 // App block not present â use fallback (max 250 variants from embed) 8126 var fallbackEl = document.querySelector('script[data-mv-variants-fallback]'); 8127 if (!fallbackEl) return []; 8128 return JSON.parse(fallbackEl.textContent); 8129 } 8130 8131 // App block is present â parse page 1 8132 var totalPages = parseInt(firstPageEl.getAttribute('data-mv-total-pages'), 10) || 1; 8133 var allVariants = JSON.parse(firstPageEl.textContent); 8134 8135 if (totalPages <= 1) return allVariants; 8136 8137 // 2. Get the section ID from the app block (always available there) 8138 var sectionId = firstPageEl.getAttribute('data-mv-section-id'); 8139 if (!sectionId) { 8140 console.warn('[MultiVariants] Could not determine section ID for paginated variant fetch.'); 8141 return allVariants; 8142 } 8143 8144 // 3. Fetch remaining pages (2 ⦠N) in parallel 8145 var productUrl = window.location.pathname.split('?')[0]; 8146 8147 var pagePromises = []; 8148 for (var pg = 2; pg <= totalPages; pg++) { 8149 var url = productUrl + '?page=' + pg + '§ion_id=' + encodeURIComponent(sectionId); 8150 pagePromises.push( 8151 fetch(url) 8152 .then(function(res) { return res.ok ? res.text() : ''; }) 8153 .catch(function() { return ''; }) 8154 ); 8155 } 8156 8157 var pageResults = await Promise.all(pagePromises); 8158 8159 // 4. Parse variant JSON from each returned HTML fragment 8160 for (var i = 0; i < pageResults.length; i++) { 8161 var html = pageResults[i]; 8162 if (!html) continue; 8163 var match = html.match(/
8163<script[^>]*data-mv-variants-page[^>]*>([\s\S]*?)<\/script>/i); 8164 if (match && match[1]) { 8165 try { 8166 var pageVariants = JSON.parse(match[1]); 8167 allVariants = allVariants.concat(pageVariants); 8168 } catch (e) { 8169 console.warn('[MultiVariants] Failed to parse variant page ' + (i + 2), e); 8170 } 8171 } 8172 } 8173 8174 return allVariants; 8175 } 8176 8177 /** 8178 * Refreshes inventory quantities using the Storefront API (real-time, not cached). 8179 * Liquid's variant.inventory_quantity can be stale due to Shopify's page caching. 8180 * The Storefront API's `quantityAvailable` returns live data. 8181 * 8182 * Uses tokenless access (no access token required for product queries). 8183 * Paginates through all variants in batches of 250 via cursor-based pagination. 8184 */ 8185 async function mvRefreshInventoryFromStorefrontAPI(variants, productHandle) { 8186 var apiVersion = '2026-01'; 8187 // Use relative URL so the request goes to the current storefront origin (tokenless access) 8188 var endpoint = '/api/' + apiVersion + '/graphql.json'; 8189 var sfToken = null; 8190 8191 var query = ` 8192 query ProductVariantsInventory($handle: String!, $first: Int!, $after: String) { 8193 product(handle: $handle) { 8194 variants(first: $first, after: $after) { 8195 pageInfo { 8196 hasNextPage 8197 endCursor 8198 } 8199 nodes { 8200 id 8201 quantityAvailable 8202 availableForSale 8203 currentlyNotInStock 8204 } 8205 } 8206 } 8207 } 8208 `; 8209 8210 // Fetch all variant inventory pages from Storefront API 8211 var inventoryMap = {}; 8212 var hasNextPage = true; 8213 var afterCursor = null; 8214 8215 try { 8216 while (hasNextPage) { 8217 var variables = { handle: productHandle, first: 250 }; 8218 if (afterCursor) variables.after = afterCursor; 8219 8220 var response = await fetch(endpoint, { 8221 method: 'POST', 8222 headers: { 8223 'Content-Type': 'application/json', 8224 'X-Shopify-Storefront-Access-Token': sfToken 8225 }, 8226 body: JSON.stringify({ query: query, variables: variables }) 8227 }); 8228 8229 if (!response.ok) { 8230 console.warn('[MultiVariants] Storefront API inventory refresh failed:', response.status); 8231 break; 8232 } 8233 8234 var data = await response.json(); 8235 var productData = data?.data?.product; 8236 if (!productData || !productData.variants) break; 8237 8238 var variantNodes = productData.variants.nodes; 8239 for (var i = 0; i < variantNodes.length; i++) { 8240 var node = variantNodes[i]; 8241 // Storefront API returns GID format: "gid://shopify/ProductVariant/12345" 8242 // Extract numeric ID to match Liquid variant IDs 8243 var numericId = node.id.replace('gid://shopify/ProductVariant/', ''); 8244 inventoryMap[numericId] = { 8245 quantityAvailable: node.quantityAvailable, 8246 availableForSale: node.availableForSale, 8247 currentlyNotInStock: node.currentlyNotInStock 8248 }; 8249 } 8250 8251 hasNextPage = productData.variants.pageInfo.hasNextPage; 8252 afterCursor = productData.variants.pageInfo.endCursor; 8253 } 8254 8255 // Merge live inventory data into variants 8256 var updatedCount = 0; 8257 for (var vi = 0; vi < variants.length; vi++) { 8258 var liveData = inventoryMap[String(variants[vi].id)]; 8259 if (liveData) { 8260 variants[vi].inventory_quantity = liveData.quantityAvailable !== null ? liveData.quantityAvailable : variants[vi].inventory_quantity; 8261 variants[vi].available = liveData.availableForSale; 8262 updatedCount++; 8263 } 8264 } 8265 8266 } catch (e) { 8267 console.warn('[MultiVariants] Storefront API inventory refresh error:', e); 8268 // Fall back to Liquid-cached inventory data (already in variants) 8269 } 8270 8271 return variants; 8272 } 8273 8274 // --- Main data initialization (runs immediately) --- 8275 (async function() { 8276 if(String(typeof(window.EFOLI_SCRIPTTAG_JS_MLTIVARIANTS_INIT))=="undefined" || String(typeof(window.EFOLI_EMBED_MLTIVARIANTS_INIT))=="undefined") { 8277 window.EFOLI_SCRIPTTAG_JS_MLTIVARIANTS_INIT = true; 8278 window.EFOLI_EMBED_MLTIVARIANTS_INIT = true; 8279 } 8280
8281 var shopDomain = "kinnerton-test.myshopify.com"; 8282 var variantsCount = null; 8283 8284 const allowedShopsForMvSfToken = [ 8285 "multivariant.myshopify.com", 8286 "national-beauty-distribution.myshopify.com", 8287 "efolitest-1.myshopify.com", 8288 "efolitest-2.myshopify.com", 8289 "splash4252.myshopify.com", 8290 "splash44.myshopify.com", 8291 "quickstart-5297fesdf.myshopify.com" 8292 ]; 8293 if(allowedShopsForMvSfToken.includes(shopDomain)) { 8294 var _sfTokFromMeta = null; 8295 if (_sfTokFromMeta) { 8296 window.__MV_SF_TOKEN__ = _sfTokFromMeta; 8297 } else { 8298 try { 8299 var _sfTokResp = await fetch('https://sapp.multivariants.com/gate/out/adm/action/api_check_sf_token.php?shop=' + "kinnerton-test.myshopify.com"); 8300 var _sfTokData = await _sfTokResp.json(); 8301 window.__MV_SF_TOKEN__ = _sfTokData.sfToken || ''; 8302 } catch (e) { 8303 window.__MV_SF_TOKEN__ = ''; 8304 } 8305 } 8306 } 8307 8308 // Wait for all variant pages to be fetched 8309 var allVariants = await mvFetchAllVariants(); 8310 var priceCurrency = "GBP"; 8311 8312 // Refresh inventory quantities from Storefront API (real-time, not cached) 8313 var productHandle = null; 8314 // if (productHandle && allVariants.length > 0) { 8315 // allVariants = await mvRefreshInventoryFromStorefrontAPI(allVariants, productHandle); 8316 // } 8317 8318 // Build MVProductsDataWithInventory from ALL variants 8319 if (!window.MVProductsDataWithInventory) { 8320 var MVProductsDataWithInventory = {}; 8321 for (var vi = 0; vi < allVariants.length; vi++) { 8322 var v = allVariants[vi]; 8323 MVProductsDataWithInventory[v.id] = { 8324 inventory_quantity: v.inventory_quantity, 8325 inventory_policy: v.inventory_policy, 8326 inventory_management: v.inventory_management, 8327 inventory_item_id: 0 8328 }; 8329 } 8330 window.MVProductsDataWithInventory = MVProductsDataWithInventory; 8331 console.log("MVProductsDataWithInventory is found"); 8332 } else { 8333 console.log("MVProductsDataWithInventory is already defined, skipping script execution."); 8334 } 8335 8336 // Build cart items product data with inventory info (deduplicated by product ID) 8337 var MVCartItemsProductData = {}; 8338 8339 8340 window.MVCartItemsProductData = JSON.parse(JSON.stringify(MVCartItemsProductData)); 8341 8342 var productData = null; 8343 8344 // Build formatted variants from ALL fetched pages (not limited to 250) 8345 var formattedVariants = []; 8346 for (var fvi = 0; fvi < allVariants.length; fvi++) { 8347 var av = allVariants[fvi]; 8348 formattedVariants.push({ 8349 id: av.id, 8350 title: av.title, 8351 price: av.price / 100, 8352 compare_at_price: av.compare_at_price !== null ? av.compare_at_price / 100 : null, 8353 available: av.available, 8354 image: av.image, 8355 option1: av.option1, 8356 option2: av.option2, 8357 option3: av.option3, 8358 inventory_quantity: String(av.inventory_quantity), 8359 inventory_policy: av.inventory_policy, 8360 inventory_management: av.inventory_management, 8361 sku: av.sku || "", 8362 barcode: av.barcode || "", 8363 fulfillment_service: av.fulfillment_service || "manual", 8364 grams: av.grams || 0, 8365 weight: av.weight || 0, 8366 weight_unit: av.weight_unit || "", 8367 weight_in_unit: av.weight_in_unit || "0", 8368 price_currency: priceCurrency, 8369 compare_at_price_currency: priceCurrency, 8370 quantity_price_breaks: (Array.isArray(av.quantity_price_breaks) ? av.quantity_price_breaks : []).map(function (b) { 8371 return { minimum_quantity: b.minimum_quantity * 1, price: b.price / 100 }; 8372 }), 8373 quantity_rule: av.quantity_rule || null 8374 }); 8375 } 8376 8377 var formattedProductData = { 8378 id: productData?.id ?? "", 8379 title: productData?.title ?? "", 8380 body_html: "", 8381 handle: productData?.handle ?? "", 8382 product_type: productData?.type ?? "", 8383 vendor: productData?.vendor ?? "", 8384 published_at: productData?.published_at ?? "", 8385 tags: productData?.tags ? productData?.tags : [], 8386 variants: formattedVariants, 8387 options: null, 8388 media: productData?.media ?? [], 8389 }; 8390 8391 if (formattedProductData?.options?.[0]?.values?.[0] === 'Default Title') { 8392 formattedProductData.options[0].values[0] = formattedProductData.title; 8393 formattedProductData.variants[0].title = formattedProductData.title; 8394 formattedProductData.variants[0].option1 = formattedProductData.title; 8395 } 8396 8397 8398 8399 window.MvLiquidData = { 8400 shopDomain, 8401 variantsCount, 8402 moneyFormat: "£{{amount}}", 8403 moneyWithCurrencyFormat: "£{{amount}} GBP", 8404 productData: JSON.parse(JSON.stringify(formattedProductData)), 8405 hasSfConfig: true, 8406 sfNotice: {"ar":{"AddToCart":"أض٠إÙÙ Ø§ÙØ³ÙØ©","AddMore":"Ø¥Ø¶Ø§ÙØ© اÙÙ Ø²ÙØ¯ {OPT}","ContinueCheckout":"Ø§ÙØ¯Ùع","StoreViewTitle":"Ø·ÙØ¨ Ø¨Ø§ÙØ¬Ù ÙØ©","StoreViewSubTitle":"ØØ¯Ø¯ اÙÙ ØªØºÙØ±Ø§Øª ÙØ§ÙÙÙ ÙØ© Ø§ÙØ®Ø§ØµØ© بÙ","TextBeforePrice":"سعر","TextBeforeQuantity":"ÙÙ ÙØ©","CommentTitle":"ÙØµ ٠خصص","StockQuantityLabel":"{QTY} Ù٠اÙ٠خزÙÙ","StockQuantityUnlimitedLabel":"{QTY} Ù٠اÙ٠خزÙÙ","StockQuantityPreorderLabel":"ÙÙ Ø§ÙØ£Ùرا٠اÙ٠اÙÙØ©","StockQuantityNoLabel":"\u003cspan style=color:#ff0000;\u003eØºÙØ± ٠تÙÙØ±\u003c\/span\u003e","TotalPriceTitle":"اÙÙØØ¯Ø© Ø§ÙØ¥Ø¬Ù اÙÙØ©: \u003cspan style=padding-right:30px; class=mvtotalquantity\u003e\u003c\/span\u003e Ø§ÙØ³Ø¹Ø± Ø§ÙØ¥Ø¬Ù اÙÙ:","CommentDoneTitle":"Ù ÙØªÙÙ","CommentPlaceHolder":"Ø£Ø¶Ù ÙØµÙا Ù Ø®ØµØµÙØ§ ÙÙØ§","MinQuantityNotice":"ÙØ¬Ø¨ أ٠تÙÙ٠اÙÙÙ ÙØ© Ø§ÙØ¥Ø¬Ù اÙÙØ© عÙÙ Ø§ÙØ£ÙÙ {min_total_qty}. اÙÙØØ¯Ø© اÙÙ ØØ¯Ø¯Ø©: {curr_total_qty}","MaxQuantityNotice":"ÙØ¬Ø¨ أ٠تص٠اÙÙÙ ÙØ© Ø§ÙØ¥Ø¬Ù اÙÙØ© Ø¥ÙÙ {max_total_qty}","MinValueNotice":"ÙØ¬Ø¨ Ø£Ù ÙÙÙÙ Ø§ÙØ³Ø¹Ø± Ø§ÙØ¥Ø¬Ù اÙ٠عÙÙ Ø§ÙØ£ÙÙ {min_total_price}","MaxValueNotice":"ÙØ¬Ø¨ Ø£Ù ÙØµÙ Ø§ÙØ³Ø¹Ø± Ø§ÙØ¥Ø¬Ù اÙ٠إÙÙ {max_total_price}","MinNumNotice":"ÙØ¬Ø¨ أ٠تأخذ {min_total_number} Ù ØªØºÙØ±Ø§Øª ٠ختÙÙØ©. اÙÙ ØØ¯Ø¯ ØØ§ÙÙÙØ§: {curr_total_number}","MaxNumNotice":"ÙÙ ÙÙ ØªØØ¯Ùد ٠ا ÙØµÙ Ø¥ÙÙ {max_total_number} ٠٠اÙÙ ØªØºÙØ±Ø§Øª اÙ٠ختÙÙØ©","MinOptionNotice":"ÙØ¬Ø¨ Ø£Ù ÙÙÙÙ {min_option_name} عÙÙ Ø§ÙØ£ÙÙ {min_option_qty}","MaxOptionNotice":"ÙØ¬Ø¨ Ø£Ù ÙØµÙ {max_option_name} Ø¥ÙÙ {max_option_qty}","AlertOkNotice":"Ø¬ÙØ¯ ÙÙØ°Ùاب. اÙÙØØ¯Ø© Ø§ÙØ¥Ø¬Ù اÙÙØ©: {curr_total_qty}. عدد اÙÙ ØªØºÙØ±Ø§Øª: {curr_total_number}","CartItemIncreaseQtyNotice":"Ø§ÙØØ¯ Ø§ÙØ£Ø¯ÙÙ ÙÙÙÙ ÙØ© ÙÙ {دÙÙÙØ©}","CartItemDecreaseQtyNotice":"Ø§ÙØØ¯ Ø§ÙØ£Ùص٠ÙÙÙÙ ÙØ© ÙÙ {max}","MaxCartQtyAddedNotice":"Ø§ÙØØ¯ Ø§ÙØ£Ùص٠ÙÙÙÙ ÙØ© {max_cart_qty} اÙÙ Ø¶Ø§ÙØ© باÙÙØ¹Ù ÙÙ Ø³ÙØ© Ø§ÙØªØ³ÙÙ","CartTotalMinNumNotice":"ÙØ¬Ø¨ Ø£Ù ÙÙÙÙ Ø§ÙØØ¯ Ø§ÙØ£Ø¯ÙÙ ÙØ¥Ø¬Ù اÙ٠عدد Ø§ÙØ¹Ùاصر ÙÙ Ø³ÙØ© Ø§ÙØªØ³ÙÙ {qty}. Ø§ÙØ¹Ùاصر Ø§ÙØØ§ÙÙØ© Ø§ÙØ®Ø§ØµØ© ب٠ÙÙ {current_qty}","CartTotalMaxNumNotice":"Ø§ÙØØ¯ Ø§ÙØ£ÙØµÙ ÙØ¥Ø¬Ù اÙ٠عدد Ø§ÙØ¹Ùاصر ÙÙ Ø³ÙØ© Ø§ÙØªØ³ÙÙ ÙØ¬Ø¨ Ø£Ù ÙÙÙÙ {qty}. Ø§ÙØ¹Ùاصر Ø§ÙØØ§ÙÙØ© Ø§ÙØ®Ø§ØµØ© ب٠ÙÙ {current_qty}","CartTotalMinQtyNotice":"ÙØ¬Ø¨ Ø£Ù ÙÙÙÙ Ø§ÙØØ¯ Ø§ÙØ£Ø¯ÙÙ ÙØ¥Ø¬Ù اÙÙ ÙÙ ÙØ© Ø³ÙØ© Ø§ÙØªØ³ÙÙ {qty}. اÙÙÙ ÙØ© Ø§ÙØØ§ÙÙØ© ÙØ¯ÙÙ ÙÙ {current_qty}","CartTotalMaxQtyNotice":"Ø§ÙØØ¯ Ø§ÙØ£ÙØµÙ ÙØ¥Ø¬Ù اÙÙ ÙÙ ÙØ© Ø³ÙØ© Ø§ÙØªØ³ÙÙ ÙØ¬Ø¨ Ø£Ù ÙÙÙÙ {qty}. اÙÙÙ ÙØ© Ø§ÙØØ§ÙÙØ© ÙØ¯ÙÙ ÙÙ {current_qty}","CartTotalMinValNotice":"ÙØ¬Ø¨ Ø£Ù ÙÙÙÙ Ø§ÙØØ¯ Ø§ÙØ£Ø¯ÙÙ ÙÙÙÙ Ø© Ø³ÙØ© Ø§ÙØªØ³ÙÙ Ø§ÙØ¥Ø¬Ù اÙÙØ© {price}. اÙÙÙÙ Ø© Ø§ÙØØ§ÙÙØ© Ø§ÙØ®Ø§ØµØ© ب٠ÙÙ {current_price}","CartTotalMaxValNotice":"Ø§ÙØØ¯ Ø§ÙØ£Ùص٠ÙÙÙÙ Ø© Ø³ÙØ© Ø§ÙØªØ³ÙÙ Ø§ÙØ¥Ø¬Ù اÙÙØ© ÙØ¬Ø¨ Ø£Ù ÙÙÙÙ {price}. اÙÙÙÙ Ø© Ø§ÙØØ§ÙÙØ© Ø§ÙØ®Ø§ØµØ© ب٠ÙÙ {current_price}","DiscountRangeMid":"{MIN} - {MAX} Units","DiscountRangeTop":"{MIN}+ Units","DiscountOffLabel":"{VALUE} off","DiscountUnitSuffix":"\/unit","DiscountProgressUnlock":"Add {COUNT} more to unlock {VALUE} off","DiscountSavedBanner":"You have saved {AMOUNT} in total! Buy {COUNT} more to get an additional {VALUE} off","DiscountSavedMax":"You have saved {AMOUNT} in total!","DiscountRowSaved":"You have saved {AMOUNT}!","DiscountSavingsLabel":"You save","PoScopePerVariantSuffix":"per variant","PoScopePerProductSuffix":"per product","PoChargeShapePerUnit":"{AMOUNT} x {COUNT} units","PoChargeShapePerVariant":"{AMOUNT} x {COUNT} variants","PoChargeShapePerProduct":"once per product","PoOneTimeLabel":"One time pricing","PoOneTimeWaived":"Waived","PoWaiverProgressNotice":"Add {QTY} more to remove the {AMOUNT} one time fee"},"da":{"AddToCart":"Læg i kurv","AddMore":"Tilføj mere {OPT}","ContinueCheckout":"køb nu","StoreViewTitle":"Massebestilling","StoreViewSubTitle":"Vælg dine varianter og mængde","TextBeforePrice":"Pris","TextBeforeQuantity":"Antal","CommentTitle":"tilpasset tekst","StockQuantityLabel":"{QTY} PÃ¥ lager","StockQuantityUnlimitedLabel":"{QTY} PÃ¥ lager","StockQuantityPreorderLabel":"PÃ¥ lager","StockQuantityNoLabel":"\u003cspan style=color:#ff0000;\u003eUdsolgt\u003c\/span\u003e","TotalPriceTitle":"Samlet enhed: \u003cspan style=padding-right:30px; class=mvtotalquantity\u003e\u003c\/span\u003e Total pris:","CommentDoneTitle":"Færdig","CommentPlaceHolder":"Tilføj tilpasset tekst her","MinQuantityNotice":"Den samlede mængde skal være mindst {min_total_qty}. Valgt enhed: {curr_total_qty}","MaxQuantityNotice":"Den samlede mængde skal være op til {max_total_qty}","MinValueNotice":"Den samlede pris skal være mindst {min_total_price}","MaxValueNotice":"Den samlede pris skal være op til {max_total_price}","MinNumNotice":"Du bør tage {min_total_number} forskellige varianter. Aktuelt valgt: {curr_total_number}","MaxNumNotice":"Der kan vælges op til {max_total_number} forskellige varianter","MinOptionNotice":"{min_option_name}
8406 skal være mindst {min_option_qty}","MaxOptionNotice":"{max_option_name} skal være op til {max_option_qty}","AlertOkNotice":"Klar. Samlet enhed: {curr_total_qty}. Antal varianter: {curr_total_number}","CartItemIncreaseQtyNotice":"Minimumsmængde er {min}","CartItemDecreaseQtyNotice":"Maksimal mængde er {max}","MaxCartQtyAddedNotice":"Maksimal mængde {max_cart_qty} er allerede blevet tilføjet til indkøbskurven","CartTotalMinNumNotice":"Det mindste samlede antal varer i kurven skal være {qty}. Dine nuværende varer er {current_qty}","CartTotalMaxNumNotice":"Det maksimale samlede antal varer i kurven må være {qty}. Dine nuværende varer er {current_qty}","CartTotalMinQtyNotice":"Den samlede indkøbskurv skal minimum være {qty}. Din nuværende mængde er {current_qty}","CartTotalMaxQtyNotice":"Det maksimale samlede antal indkøbskurv bør være {qty}. Din nuværende mængde er {current_qty}","CartTotalMinValNotice":"Den mindste samlede kurvværdi skal være {price}. Din nuværende værdi er {current_price}","CartTotalMaxValNotice":"Den maksimale samlede kurvværdi skal være {price}. Din nuværende værdi er {current_price}","DiscountRangeMid":"{MIN} - {MAX} Units","DiscountRangeTop":"{MIN}+ Units","DiscountOffLabel":"{VALUE} off","DiscountUnitSuffix":"\/unit","DiscountProgressUnlock":"Add {COUNT} more to unlock {VALUE} off","DiscountSavedBanner":"You have saved {AMOUNT} in total! Buy {COUNT} more to get an additional {VALUE} off","DiscountSavedMax":"You have saved {AMOUNT} in total!","DiscountRowSaved":"You have saved {AMOUNT}!","DiscountSavingsLabel":"You save","PoScopePerVariantSuffix":"per variant","PoScopePerProductSuffix":"per product","PoChargeShapePerUnit":"{AMOUNT} x {COUNT} units","PoChargeShapePerVariant":"{AMOUNT} x {COUNT} variants","PoChargeShapePerProduct":"once per product","PoOneTimeLabel":"One time pricing","PoOneTimeWaived":"Waived","PoWaiverProgressNotice":"Add {QTY} more to remove the {AMOUNT} one time fee"},"de":{"AddToCart":"in den Warenkorb legen","AddMore":"Fügen Sie mehr hinzu {OPT}","ContinueCheckout":"Auschecken","StoreViewTitle":"Massenprodukt Bestellung","StoreViewSubTitle":"Wählen Sie Ihre Varianten und Menge","TextBeforePrice":"Preis","TextBeforeQuantity":"Menge","CommentTitle":"Benutzerdefinierter Text","StockQuantityLabel":"{QTY} auf Lager","StockQuantityUnlimitedLabel":"{QTY} auf Lager","StockQuantityPreorderLabel":"Auf Lager","StockQuantityNoLabel":"Ausverkauft","TotalPriceTitle":"Gesamtpreis:","CommentDoneTitle":"Getan","CommentPlaceHolder":"Fügen Sie hier Ihren benutzerdefinierten Text hinzu","MinQuantityNotice":"Der Gesamtbetrag muss mindestens {min_total_qty} betragen","MaxQuantityNotice":"Der Gesamtbetrag sollte bis zu {max_total_qty} betragen","MinValueNotice":"Der Gesamtpreis muss mindestens {min_total_price} betragen","MaxValueNotice":"Der Gesamtpreis sollte bis zu {max_total_price} betragen","MinNumNotice":"Sie sollten {min_total_number} verschiedene Variationen nehmen","MaxNumNotice":"Es können bis zu {max_total_number} verschiedene Varianten ausgewählt werden","MinOptionNotice":"{min_option_name} should be at least {min_option_qty}","MaxOptionNotice":"{max_option_name} should be up to {max_option_qty}","AlertOkNotice":"Gut zu gehen","CartItemIncreaseQtyNotice":"Sie müssen Ihren Betrag erhöhen","CartItemDecreaseQtyNotice":"Sie müssen Ihren Betrag verringern","MaxCartQtyAddedNotice":"Maximale Menge {max_cart_qty} bereits im Warenkorb hinzugefügt","CartTotalMinNumNotice":"Die Mindestgesamtzahl der Artikel im Warenkorb muss {qty} betragen. Ihre aktuellen Artikel sind {current_qty}","CartTotalMaxNumNotice":"Die maximale Gesamtanzahl der Artikel im Warenkorb darf {qty} betragen. Ihre aktuellen Artikel sind {current_qty}","CartTotalMinQtyNotice":"Die Mindestgesamtmenge im Warenkorb sollte {qty} betragen. Ihre aktuelle Menge beträgt {current_qty}","CartTotalMaxQtyNotice":"Die maximale Gesamtmenge im Warenkorb sollte {qty} betragen. Ihre aktuelle Menge beträgt {current_qty}","CartTotalMinValNotice":"Der Mindestgesamtwert des Warenkorbs muss {price} betragen. Ihr aktueller Wert beträgt {current_price}","CartTotalMaxValNotice":"Der maximale Gesamtwert des Warenkorbs muss {price} betragen. Ihr aktueller Wert beträgt {current_price}","DiscountRangeMid":"{MIN} - {MAX} Units","DiscountRangeTop":"{MIN}+ Units","DiscountOffLabel":"{VALUE} off","DiscountUnitSuffix":"\/unit","DiscountProgressUnlock":"Add {COUNT} more to unlock {VALUE} off","DiscountSavedBanner":"You have saved {AMOUNT} in total! Buy {COUNT} more to get an additional {VALUE} off","DiscountSavedMax":"You have saved {AMOUNT} in total!","DiscountRowSaved":"You have saved {AMOUNT}!","DiscountSavingsLabel":"You save","PoScopePerVariantSuffix":"per variant","PoScopePerProductSuffix":"per product","PoChargeShapePerUnit":"{AMOUNT} x {COUNT} units","PoChargeShapePerVariant":"{AMOUNT} x {COUNT} variants","PoChargeShapePerProduct":"once per product","PoOneTimeLabel":"One time pricing","PoOneTimeWaived":"Waived","PoWaiverProgressNotice":"Add {QTY} more to remove the {AMOUNT} one time fee"},"en":{"AddToCart":"Add to Cart","AddMore":"Add more {OPT}","ContinueCheckout":"Checkout","StoreViewTitle":"Bulk Order","StoreViewSubTitle":"Select your variants and quantity","TextBeforePrice":"Price","TextBeforeQuantity":"Quantity","CommentTitle":"Custom text","StockQuantityLabel":"{QTY} In stock","StockQuantityUnlimitedLabel":"{QTY} In stock","StockQuantityPreorderLabel":"In stock","StockQuantityNoLabel":"\u003cspan style=color:#ff0000;\u003eOut of Stock\u003c\/span\u003e","TotalPriceTitle":"Total unit: \u003cspan style=padding-right:30px; class=mvtotalquantity\u003e\u003c\/span\u003e Total price:","CommentDoneTitle":"Done","CommentPlaceHolder":"Add custom text here","MinQuantityNotice":"The total quantity must be at least {min_total_qty}. Selected unit: {curr_total_qty}","MaxQuantityNotice":"The total quantity should be up to {max_total_qty}","MinValueNotice":"The total price must be at least {min_total_price}","MaxValueNotice":"The total price should be up to {max_total_price}","MinNumNotice":"You should take {min_total_number} different variants. Currently selected: {curr_total_number}","MaxNumNotice":"Up to {max_total_number} different variants can be selected","MinOptionNotice":"{min_option_name}
8406 should be at least {min_option_qty}","MaxOptionNotice":"{max_option_name} should be up to {max_option_qty}","AlertOkNotice":"Good to go. Total unit: {curr_total_qty}. Number of variants: {curr_total_number}","CartItemIncreaseQtyNotice":"Minimum quantity is {min}","CartItemDecreaseQtyNotice":"Maximum quantity is {max}","MaxCartQtyAddedNotice":"Maximum quantity {max_cart_qty} already added in cart","CartTotalMinNumNotice":"The minimum total number of items in the cart must be {qty}. Your current items are {current_qty}","CartTotalMaxNumNotice":"The maximum total number of items in the cart must be {qty}. Your current items are {current_qty}","CartTotalMinQtyNotice":"The minimum total cart quantity should be {qty}. Your current quantity is {current_qty}","CartTotalMaxQtyNotice":"The maximum total cart quantity should be {qty}. Your current quantity is {current_qty}","CartTotalMinValNotice":"The minimum total cart value must be {price}. Your current value is {current_price}","CartTotalMaxValNotice":"The maximum total cart value must be {price}. Your current value is {current_price}","DiscountRangeMid":"{MIN} - {MAX} Units","DiscountRangeTop":"{MIN}+ Units","DiscountOffLabel":"{VALUE} off","DiscountUnitSuffix":"\/unit","DiscountProgressUnlock":"Add {COUNT} more to unlock {VALUE} off","DiscountSavedBanner":"You have saved {AMOUNT} in total! Buy {COUNT} more to get an additional {VALUE} off","DiscountSavedMax":"You have saved {AMOUNT} in total!","DiscountRowSaved":"You have saved {AMOUNT}!","DiscountSavingsLabel":"You save","PoScopePerVariantSuffix":"per variant","PoScopePerProductSuffix":"per product","PoChargeShapePerUnit":"{AMOUNT} x {COUNT} units","PoChargeShapePerVariant":"{AMOUNT} x {COUNT} variants","PoChargeShapePerProduct":"once per product","PoOneTimeLabel":"One time pricing","PoOneTimeWaived":"Waived","PoWaiverProgressNotice":"Add {QTY} more to remove the {AMOUNT} one time fee"},"es":{"AddToCart":"Añadir a la cesta","AddMore":"Añadir más {OPT}","ContinueCheckout":"Comprar ahora","StoreViewTitle":"Orden a granel","StoreViewSubTitle":"Seleccione sus variantes y cantidad","TextBeforePrice":"Precio","TextBeforeQuantity":"Cantidad","CommentTitle":"Texto personalizado","StockQuantityLabel":"{QTY} en stock","StockQuantityUnlimitedLabel":"{QTY} en stock","StockQuantityPreorderLabel":"En stock","StockQuantityNoLabel":"\u003cspan style=color:#ff0000;\u003eAgotado\u003c\/span\u003e","TotalPriceTitle":"Unidad total: \u003cspan style=padding-right:30px; class=mvtotalquantity\u003e\u003c\/span\u003e Precio total:","CommentDoneTitle":"Hecho","CommentPlaceHolder":"Añadir texto personalizado aquÃ","MinQuantityNotice":"La cantidad total debe ser al menos {min_total_qty}. Unidad seleccionada: {curr_total_qty}","MaxQuantityNotice":"La cantidad total debe ser de hasta {max_total_qty}","MinValueNotice":"El precio total debe ser al menos {min_total_price}","MaxValueNotice":"El precio total debe ser de hasta {max_total_price}","MinNumNotice":"Debes tomar {min_total_number} variantes diferentes. Seleccionado actualmente: {curr_total_number}","MaxNumNotice":"Se pueden seleccionar hasta {max_total_number} variantes diferentes","MinOptionNotice":"{min_option_name} debe ser al menos {min_option_qty}","MaxOptionNotice":"{max_option_name} debe ser hasta {max_option_qty}","AlertOkNotice":"Bueno para ir. Unidad total: {curr_total_qty}. Número de variantes: {curr_total_number}","CartItemIncreaseQtyNotice":"La cantidad mÃnima es {min}","CartItemDecreaseQtyNotice":"La cantidad máxima es {max}","MaxCartQtyAddedNotice":"Cantidad máxima {max_cart_qty} ya agregada al carrito","CartTotalMinNumNotice":"El número total mÃnimo de artÃculos en el carrito debe ser {qty}. Tus artÃculos actuales son {current_qty}","CartTotalMaxNumNotice":"El número total máximo de artÃculos en el carrito debe ser {qty}. Tus artÃculos actuales son {current_qty}","CartTotalMinQtyNotice":"El monto total mÃnimo del carrito debe ser {qty}. Su cantidad actual es {current_qty}","CartTotalMaxQtyNotice":"La cantidad total máxima del carrito debe ser {qty}. Su cantidad actual es {current_qty}","CartTotalMinValNotice":"El valor total mÃnimo del carrito debe ser {price}. Su valor actual es {current_price}","CartTotalMaxValNotice":"El valor total máximo del carrito debe ser {price}. Su valor actual es {current_price}","DiscountRangeMid":"{MIN} - {MAX} Units","DiscountRangeTop":"{MIN}+ Units","DiscountOffLabel":"{VALUE} off","DiscountUnitSuffix":"\/unit","DiscountProgressUnlock":"Add {COUNT} more to unlock {VALUE} off","DiscountSavedBanner":"You have saved {AMOUNT} in total! Buy {COUNT} more to get an additional {VALUE} off","DiscountSavedMax":"You have saved {AMOUNT} in total!","DiscountRowSaved":"You have saved {AMOUNT}!","DiscountSavingsLabel":"You save","PoScopePerVariantSuffix":"per variant","PoScopePerProductSuffix":"per product","PoChargeShapePerUnit":"{AMOUNT} x {COUNT} units","PoChargeShapePerVariant":"{AMOUNT} x {COUNT} variants","PoChargeShapePerProduct":"once per product","PoOneTimeLabel":"One time pricing","PoOneTimeWaived":"Waived","PoWaiverProgressNotice":"Add {QTY} more to remove the {AMOUNT} one time fee"},"fr":{"AddToCart":"Ajouter au chariot","AddMore":"Ajouter plus {OPT}","ContinueCheckout":"Check-out","StoreViewTitle":"Commande en gros","StoreViewSubTitle":"Sélectionnez vos variantes et quantité","TextBeforePrice":"Prix","TextBeforeQuantity":"Quantité","CommentTitle":"Texte personnalisé","StockQuantityLabel":"{QTY} en stock","StockQuantityUnlimitedLabel":"{QTY} en stock","StockQuantityPreorderLabel":"En stock","StockQuantityNoLabel":"En rupture de stock","TotalPriceTitle":"Prix total:","CommentDoneTitle":"Terminé","CommentPlaceHolder":"Ajoutez votre texte personnalisé ici","MinQuantityNotice":"La quantité totale doit être d\u0026#39;au moins {min_total_qty}","MaxQuantityNotice":"La quantité totale doit être jusqu\u0026#39;à {max_total_qty}","MinValueNotice":"Le prix total doit être d\u0026#39;au moins {min_total_price}","MaxValueNotice":"Le prix total doit être jusqu\u0026#39;à {max_total_price}","MinNumNotice":"Vous devriez prendre {min_total_number} variantes différentes","MaxNumNotice":"Jusqu\u0026#39;à {max_total_number} variantes différentes peuvent être sélectionnées","MinOptionNotice":"{min_option_name}
8406 should be at least {min_option_qty}","MaxOptionNotice":"{max_option_name} should be up to {max_option_qty}","AlertOkNotice":"Bon d\u0026#39;aller","CartItemIncreaseQtyNotice":"Vous devez augmenter votre quantité","CartItemDecreaseQtyNotice":"Vous devez diminuer votre quantité","MaxCartQtyAddedNotice":"Quantité maximum {max_cart_qty} déjà ajoutée au panier","CartTotalMinNumNotice":"Le nombre total minimum d\u0026#39;articles dans le panier doit être de {qty}. Vos articles actuels sont {current_qty}","CartTotalMaxNumNotice":"Le nombre total maximum d\u0026#39;articles dans le panier doit être de {qty}. Vos articles actuels sont {current_qty}","CartTotalMinQtyNotice":"La quantité totale minimale du panier doit être de {qty}. Votre quantité actuelle est de {current_qty}","CartTotalMaxQtyNotice":"La quantité totale maximale du panier doit être de {qty}. Votre quantité actuelle est de {current_qty}","CartTotalMinValNotice":"La valeur totale minimale du panier doit être de {price}. Votre valeur actuelle est de {current_price}","CartTotalMaxValNotice":"La valeur totale maximale du panier doit être de {price}. Votre valeur actuelle est de {current_price}","DiscountRangeMid":"{MIN} - {MAX} Units","DiscountRangeTop":"{MIN}+ Units","DiscountOffLabel":"{VALUE} off","DiscountUnitSuffix":"\/unit","DiscountProgressUnlock":"Add {COUNT} more to unlock {VALUE} off","DiscountSavedBanner":"You have saved {AMOUNT} in total! Buy {COUNT} more to get an additional {VALUE} off","DiscountSavedMax":"You have saved {AMOUNT} in total!","DiscountRowSaved":"You have saved {AMOUNT}!","DiscountSavingsLabel":"You save","PoScopePerVariantSuffix":"per variant","PoScopePerProductSuffix":"per product","PoChargeShapePerUnit":"{AMOUNT} x {COUNT} units","PoChargeShapePerVariant":"{AMOUNT} x {COUNT} variants","PoChargeShapePerProduct":"once per product","PoOneTimeLabel":"One time pricing","PoOneTimeWaived":"Waived","PoWaiverProgressNotice":"Add {QTY} more to remove the {AMOUNT} one time fee"},"it":{"AddToCart":"Aggiungi al carrello","AddMore":"Aggiungi altri {OPT}","ContinueCheckout":"Check-out","StoreViewTitle":"Ordine all\u0026#39;ingrosso","StoreViewSubTitle":"Select the variants and quantity","TextBeforePrice":"Prezzo","TextBeforeQuantity":"Quantità ","CommentTitle":"Testo personalizzato","StockQuantityLabel":"{QTY} disponibili","StockQuantityUnlimitedLabel":"{QTY} disponibili","StockQuantityPreorderLabel":"a disposizione","StockQuantityNoLabel":"Esaurito","TotalPriceTitle":"Prezzo totale:","CommentDoneTitle":"Fatto","CommentPlaceHolder":"Aggiungi qui il tuo testo personalizzato","MinQuantityNotice":"La quantità totale deve essere almeno {min_total_qty}","MaxQuantityNotice":"La quantità totale dovrebbe essere fino a {max_total_qty}","MinValueNotice":"Il prezzo totale deve essere almeno {min_total_price}","MaxValueNotice":"Il prezzo totale dovrebbe essere fino a {max_total_price}","MinNumNotice":"Dovresti prendere {min_total_number} diverse varianti","MaxNumNotice":"à possibile selezionare fino a {max_total_number} diverse varianti","MinOptionNotice":"{min_option_name} should be at least {min_option_qty}","MaxOptionNotice":"{max_option_name} should be up to {max_option_qty}","AlertOkNotice":"buono per andare","CartItemIncreaseQtyNotice":"Devi aumentare la quantità ","CartItemDecreaseQtyNotice":"Devi diminuire la quantità ","MaxCartQtyAddedNotice":"Quantità massima {max_cart_qty} già aggiunta al carrello","CartTotalMinNumNotice":"Il numero totale minimo di articoli nel carrello deve essere {qty}. I tuoi articoli attuali sono {current_qty}","CartTotalMaxNumNotice":"Il numero totale massimo di articoli nel carrello deve essere {qty}. I tuoi articoli attuali sono {current_qty}","CartTotalMinQtyNotice":"La quantità totale minima del carrello deve essere {qty}. La tua quantità attuale è {current_qty}","CartTotalMaxQtyNotice":"La quantità totale massima del carrello deve essere {qty}. La tua quantità attuale è {current_qty}","CartTotalMinValNotice":"Il valore totale minimo del carrello deve essere {price}. Il tuo valore attuale è {current_price}","CartTotalMaxValNotice":"Il valore totale massimo del carrello deve essere {price}. Il tuo valore attuale è {current_price}","DiscountRangeMid":"{MIN} - {MAX} Units","DiscountRangeTop":"{MIN}+ Units","DiscountOffLabel":"{VALUE} off","DiscountUnitSuffix":"\/unit","DiscountProgressUnlock":"Add {COUNT} more to unlock {VALUE} off","DiscountSavedBanner":"You have saved {AMOUNT} in total! Buy {COUNT} more to get an additional {VALUE} off","DiscountSavedMax":"You have saved {AMOUNT} in total!","DiscountRowSaved":"You have saved {AMOUNT}!","DiscountSavingsLabel":"You save","PoScopePerVariantSuffix":"per variant","PoScopePerProductSuffix":"per product","PoChargeShapePerUnit":"{AMOUNT} x {COUNT} units","PoChargeShapePerVariant":"{AMOUNT} x {COUNT} variants","PoChargeShapePerProduct":"once per product","PoOneTimeLabel":"One time pricing","PoOneTimeWaived":"Waived","PoWaiverProgressNotice":"Add {QTY} more to remove the {AMOUNT} one time fee"},"ja":{"AddToCart":"ã«ã¼ãã«è¿½å ","AddMore":"ããã«è¿½å {OPT}","ContinueCheckout":"ãã§ãã¯ã¢ã¦ã","StoreViewTitle":"䏿¬æ³¨æ","StoreViewSubTitle":"ããªã¨ã¼ã·ã§ã³ã¨æ°éã鏿ãã¦ãã ãã","TextBeforePrice":"ä¾¡æ ¼","TextBeforeQuantity":"é","CommentTitle":"ã«ã¹ã¿ã ããã¹ã","StockQuantityLabel":"å¨åº«ãã {QTY}","StockQuantityUnlimitedLabel":"å¨åº«ãã {QTY}","StockQuantityPreorderLabel":"å¨åº«ãã","StockQuantityNoLabel":"å¨åº«åã","TotalPriceTitle":"åè¨éé¡ï¼","CommentDoneTitle":"ã§ãã","CommentPlaceHolder":"ããã«ã«ã¹ã¿ã ããã¹ãã追å ","MinQuantityNotice":"ç·éã¯å°ãªãã¨ã{min_total_qty}ã§ãªããã°ãªãã¾ãã","MaxQuantityNotice":"åè¨æ°éã¯æå¤§{max_total_qty}ã«ããå¿
è¦ãããã¾ã","MinValueNotice":"åè¨éé¡ã¯{min_total_price}以ä¸ã§ããå¿
è¦ãããã¾ã","MaxValueNotice":"åè¨éé¡ã¯æå¤§{max_total_price}ã§ããå¿
è¦ãããã¾ã","MinNumNotice":"{min_total_number}ã¤ã®ç°ãªãããªã¢ã³ããåãå¿
è¦ãããã¾ã","MaxNumNotice":"æå¤§{max_total_number}ã¤ã®ç°ãªãããªã¢ã³ãã鏿ã§ãã¾ã","MinOptionNotice":"{min_option_name}
8406 should be at least {min_option_qty}","MaxOptionNotice":"{max_option_name} should be up to {max_option_qty}","AlertOkNotice":"è¡ã£ã¦ããã","CartItemIncreaseQtyNotice":"ããªãã¯ããªãã®éãå¢ããå¿
è¦ãããã¾ã","CartItemDecreaseQtyNotice":"ããªãã¯ããªãã®éãæ¸ããå¿
è¦ãããã¾ã","MaxCartQtyAddedNotice":"æå¤§æ°é {max_cart_qty} ããã§ã«ã«ã¼ãã«è¿½å ããã¦ãã¾ã","CartTotalMinNumNotice":"ã«ã¼ãå
ã®ã¢ã¤ãã ã®æå°åè¨æ°ã¯ {qty} ã§ããå¿
è¦ãããã¾ããç¾å¨ã®ã¢ã¤ãã 㯠{current_qty} ã§ã","CartTotalMaxNumNotice":"ã«ã¼ãå
ã®ã¢ã¤ãã ã®æå¤§åè¨æ°ã¯ {qty} ã§ããå¿
è¦ãããã¾ããç¾å¨ã®ã¢ã¤ãã 㯠{current_qty} ã§ã","CartTotalMinQtyNotice":"ã«ã¼ãã®æå°åè¨æ°é㯠{qty} ã§ããå¿
è¦ãããã¾ããç¾å¨ã®æ°é㯠{current_qty} ã§ã","CartTotalMaxQtyNotice":"ã«ã¼ãã®æå¤§åè¨æ°é㯠{qty} ã§ããå¿
è¦ãããã¾ããç¾å¨ã®æ°é㯠{current_qty} ã§ã","CartTotalMinValNotice":"ã«ã¼ãåè¨ã®æå°å¤ã¯ {price} ã§ããå¿
è¦ãããã¾ããç¾å¨ã®ä¾¡æ ¼ã¯ {current_price} ã§ã","CartTotalMaxValNotice":"ã«ã¼ãåè¨ã®æå¤§å¤ã¯ {price} ã§ããå¿
è¦ãããã¾ããç¾å¨ã®ä¾¡æ ¼ã¯ {current_price} ã§ã","DiscountRangeMid":"{MIN} - {MAX} Units","DiscountRangeTop":"{MIN}+ Units","DiscountOffLabel":"{VALUE} off","DiscountUnitSuffix":"\/unit","DiscountProgressUnlock":"Add {COUNT} more to unlock {VALUE} off","DiscountSavedBanner":"You have saved {AMOUNT} in total! Buy {COUNT} more to get an additional {VALUE} off","DiscountSavedMax":"You have saved {AMOUNT} in total!","DiscountRowSaved":"You have saved {AMOUNT}!","DiscountSavingsLabel":"You save","PoScopePerVariantSuffix":"per variant","PoScopePerProductSuffix":"per product","PoChargeShapePerUnit":"{AMOUNT} x {COUNT} units","PoChargeShapePerVariant":"{AMOUNT} x {COUNT} variants","PoChargeShapePerProduct":"once per product","PoOneTimeLabel":"One time pricing","PoOneTimeWaived":"Waived","PoWaiverProgressNotice":"Add {QTY} more to remove the {AMOUNT} one time fee"},"nl":{"AddToCart":"Voeg toe aan winkelkar","AddMore":"Voeg meer toe {OPT}","ContinueCheckout":"Uitchecken","StoreViewTitle":"Massa bestelling","StoreViewSubTitle":"Selecteer uw varianten en aantal","TextBeforePrice":"Prijs","TextBeforeQuantity":"Aantal stuks","CommentTitle":"Aangepaste tekst","StockQuantityLabel":"{QTY} op voorraad","StockQuantityUnlimitedLabel":"{QTY} op voorraad","StockQuantityPreorderLabel":"Op voorraad","StockQuantityNoLabel":"Geen voorraad meer","TotalPriceTitle":"Totale prijs:","CommentDoneTitle":"Gedaan","CommentPlaceHolder":"Voeg hier uw eigen tekst toe","MinQuantityNotice":"De totale hoeveelheid moet minimaal {min_total_qty} zijn","MaxQuantityNotice":"De totale hoeveelheid moet maximaal {max_total_qty} zijn","MinValueNotice":"De totale prijs moet minimaal {min_total_price} zijn","MaxValueNotice":"De totale prijs moet maximaal {max_total_price} zijn","MinNumNotice":"U moet {min_total_number} verschillende varianten nemen","MaxNumNotice":"Er kunnen maximaal {max_total_number} verschillende varianten worden geselecteerd","MinOptionNotice":"{min_option_name} should be at least {min_option_qty}","MaxOptionNotice":"{max_option_name} should be up to {max_option_qty}","AlertOkNotice":"Klaar om te vertrekken","CartItemIncreaseQtyNotice":"U moet uw hoeveelheid verhogen","CartItemDecreaseQtyNotice":"U moet uw hoeveelheid verlagen","MaxCartQtyAddedNotice":"Maximale hoeveelheid {max_cart_qty} al toegevoegd aan winkelwagen","CartTotalMinNumNotice":"Het minimale totale aantal artikelen in de winkelwagen moet {qty} zijn. Uw huidige artikelen zijn {current_qty}","CartTotalMaxNumNotice":"Het maximale totale aantal artikelen in de winkelwagen mag {qty} zijn. Uw huidige artikelen zijn {current_qty}","CartTotalMinQtyNotice":"De minimale totale winkelwagenhoeveelheid moet {qty} zijn. Uw huidige hoeveelheid is {current_qty}","CartTotalMaxQtyNotice":"De maximale totale winkelwagenhoeveelheid moet {qty} zijn. Uw huidige hoeveelheid is {current_qty}","CartTotalMinValNotice":"De minimale totale winkelwagenwaarde moet {price} zijn. Uw huidige waarde is {current_price}","CartTotalMaxValNotice":"De maximale totale winkelwagenwaarde moet {price} zijn. Uw huidige waarde is {current_price}","DiscountRangeMid":"{MIN} - {MAX} Units","DiscountRangeTop":"{MIN}+ Units","DiscountOffLabel":"{VALUE} off","DiscountUnitSuffix":"\/unit","DiscountProgressUnlock":"Add {COUNT} more to unlock {VALUE} off","DiscountSavedBanner":"You have saved {AMOUNT} in total! Buy {COUNT} more to get an additional {VALUE} off","DiscountSavedMax":"You have saved {AMOUNT} in total!","DiscountRowSaved":"You have saved {AMOUNT}!","DiscountSavingsLabel":"You save","PoScopePerVariantSuffix":"per variant","PoScopePerProductSuffix":"per product","PoChargeShapePerUnit":"{AMOUNT} x {COUNT} units","PoChargeShapePerVariant":"{AMOUNT} x {COUNT} variants","PoChargeShapePerProduct":"once per product","PoOneTimeLabel":"One time pricing","PoOneTimeWaived":"Waived","PoWaiverProgressNotice":"Add {QTY} more to remove the {AMOUNT} one time fee"},"pt":{"AddToCart":"adicionar ao carrinho","AddMore":"Adicione mais {OPT}","ContinueCheckout":"Confira","StoreViewTitle":"pedido em massa","StoreViewSubTitle":"Selecione suas variantes e quantidade","TextBeforePrice":"Preço","TextBeforeQuantity":"Quantidade","CommentTitle":"texto personalizado","StockQuantityLabel":"{QTY} em estoque","StockQuantityUnlimitedLabel":"{QTY} em estoque","StockQuantityPreorderLabel":"em estoque","StockQuantityNoLabel":"\u003cspan style=color:#ff0000;\u003efora de estoque\u003c\/span\u003e","TotalPriceTitle":"Unidade total: \u003cspan style=padding-right:30px;
8406 class=mvtotalquantity\u003e\u003c\/span\u003e Preço total:","CommentDoneTitle":"feito","CommentPlaceHolder":"Adicionar texto personalizado aqui","MinQuantityNotice":"A quantidade total deve ser de pelo menos {min_total_qty}. Unidade selecionada: {curr_total_qty}","MaxQuantityNotice":"A quantidade total deve ser de até {max_total_qty}","MinValueNotice":"O preço total deve ser de pelo menos {min_total_price}","MaxValueNotice":"O preço total deve ser de até {max_total_price}","MinNumNotice":"Você deve selecionar {min_total_number} variantes diferentes. Atualmente selecionado: {curr_total_number}","MaxNumNotice":"Até {max_total_number} variantes diferentes podem ser selecionadas","MinOptionNotice":"{min_option_name} deve ser pelo menos {min_option_qty}","MaxOptionNotice":"{max_option_name} deve ser até {max_option_qty}","AlertOkNotice":"Bom para ir. Unidade total: {curr_total_qty}. Número de variantes: {curr_total_number}","CartItemIncreaseQtyNotice":"A quantidade mÃnima é {min}","CartItemDecreaseQtyNotice":"A quantidade máxima é {max}","MaxCartQtyAddedNotice":"Quantidade máxima {max_cart_qty} já adicionada ao carrinho","CartTotalMinNumNotice":"O número total mÃnimo de itens no carrinho deve ser {qty}. Seus itens atuais são {current_qty}","CartTotalMaxNumNotice":"O número total máximo de itens no carrinho deve ser {qty}. Seus itens atuais são {current_qty}","CartTotalMinQtyNotice":"A quantidade total mÃnima do carrinho deve ser {qty}. Sua quantidade atual é {current_qty}","CartTotalMaxQtyNotice":"A quantidade total máxima do carrinho deve ser {qty}. Sua quantidade atual é {current_qty}","CartTotalMinValNotice":"O valor total mÃnimo do carrinho deve ser {price}. Seu valor atual é {current_price}","CartTotalMaxValNotice":"O valor total máximo do carrinho deve ser {price}. Seu valor atual é {current_price}","DiscountRangeMid":"{MIN} - {MAX} Units","DiscountRangeTop":"{MIN}+ Units","DiscountOffLabel":"{VALUE} off","DiscountUnitSuffix":"\/unit","DiscountProgressUnlock":"Add {COUNT} more to unlock {VALUE} off","DiscountSavedBanner":"You have saved {AMOUNT} in total! Buy {COUNT} more to get an additional {VALUE} off","DiscountSavedMax":"You have saved {AMOUNT} in total!","DiscountRowSaved":"You have saved {AMOUNT}!","DiscountSavingsLabel":"You save","PoScopePerVariantSuffix":"per variant","PoScopePerProductSuffix":"per product","PoChargeShapePerUnit":"{AMOUNT} x {COUNT} units","PoChargeShapePerVariant":"{AMOUNT} x {COUNT} variants","PoChargeShapePerProduct":"once per product","PoOneTimeLabel":"One time pricing","PoOneTimeWaived":"Waived","PoWaiverProgressNotice":"Add {QTY} more to remove the {AMOUNT} one time fee"},"sv":{"AddToCart":"Lägg till i kundvagn","AddMore":"Lägga till mer {OPT}","ContinueCheckout":"köp nu","StoreViewTitle":"Massbeställning","StoreViewSubTitle":"Välj dina varianter och kvantitet","TextBeforePrice":"Pris","TextBeforeQuantity":"Kvantitet","CommentTitle":"Anpassad text","StockQuantityLabel":"{QTY} I lager","StockQuantityUnlimitedLabel":"{QTY} I lager","StockQuantityPreorderLabel":"I lager","StockQuantityNoLabel":"\u003cspan style=color:#ff0000;\u003eSlut i lager\u003c\/span\u003e","TotalPriceTitle":"Total enhet: \u003cspan style=padding-right:30px; class=mvtotalquantity\u003e\u003c\/span\u003e Totala summan:","CommentDoneTitle":"Gjort","CommentPlaceHolder":"Lägg till din egen text här","MinQuantityNotice":"Den totala kvantiteten mÃ¥ste vara minst {min_total_qty}. Vald enhet: {curr_total_qty}","MaxQuantityNotice":"Den totala kvantiteten bör vara upp till {max_total_qty}","MinValueNotice":"Det totala priset mÃ¥ste vara minst {min_total_price}","MaxValueNotice":"Det totala priset bör vara upp till {max_total_price}","MinNumNotice":"Du bör ta {min_total_number} olika varianter. För närvarande vald: {curr_total_number}","MaxNumNotice":"Upp till {max_total_number} olika varianter kan väljas","MinOptionNotice":"{min_option_name} bör vara minst {min_option_qty}","MaxOptionNotice":"{max_option_name} bör vara upp till {max_option_qty}","AlertOkNotice":"Klar för avfärd. Total enhet: {curr_total_qty}. Antal varianter: {curr_total_number}","CartItemIncreaseQtyNotice":"Minsta kvantitet är {min}","CartItemDecreaseQtyNotice":"Maximal kvantitet är {max}","MaxCartQtyAddedNotice":"Maximal kvantitet {max_cart_qty} har redan lagts till i kundvagnen","CartTotalMinNumNotice":"Det minsta totala antalet varor i kundvagnen mÃ¥ste vara {qty}. Dina nuvarande varor är {current_qty}","CartTotalMaxNumNotice":"Det maximala totala antalet varor i kundvagnen mÃ¥ste vara {qty}. Dina nuvarande varor är {current_qty}","CartTotalMinQtyNotice":"Minsta totala kvantitet i kundvagnen bör vara {qty}. Din nuvarande kvantitet är {current_qty}","CartTotalMaxQtyNotice":"Den maximala totala kvantiteten i varukorgen bör vara {qty}. Din nuvarande kvantitet är {current_qty}","CartTotalMinValNotice":"Minsta totala kundvagnsvärde mÃ¥ste vara {price}. Ditt nuvarande pris är {current_price}","CartTotalMaxValNotice":"Det maximala totala kundvagnsvärdet mÃ¥ste vara {price}. Ditt nuvarande pris är {current_price}","DiscountRangeMid":"{MIN} - {MAX} Units","DiscountRangeTop":"{MIN}+ Units","DiscountOffLabel":"{VALUE} off","DiscountUnitSuffix":"\/unit","DiscountProgressUnlock":"Add {COUNT} more to unlock {VALUE} off","DiscountSavedBanner":"You have saved {AMOUNT} in total! Buy {COUNT} more to get an additional {VALUE} off","DiscountSavedMax":"You have saved {AMOUNT} in total!","DiscountRowSaved":"You have saved {AMOUNT}!","DiscountSavingsLabel":"You save","PoScopePerVariantSuffix":"per variant","PoScopePerProductSuffix":"per product","PoChargeShapePerUnit":"{AMOUNT} x {COUNT} units","PoChargeShapePerVariant":"{AMOUNT} x {COUNT} variants","PoChargeShapePerProduct":"once per product","PoOneTimeLabel":"One time pricing","PoOneTimeWaived":"Waived","PoWaiverProgressNotice":"Add {QTY} more to remove the {AMOUNT} one time fee"},"zh-CN":{"AddToCart":"æ·»å å°è´ç©è½¦","AddMore":"æ·»å æ´å¤ {OPT}","ContinueCheckout":"ç°å¨è´ä¹°","StoreViewTitle":"æ¹é订è´","StoreViewSubTitle":"éæ©æ¨çåå·åæ°é","TextBeforePrice":"ä»·æ ¼","TextBeforeQuantity":"æ°é","CommentTitle":"èªå®ä¹ææ¬","StockQuantityLabel":"åºå {QTY} ä»¶","StockQuantityUnlimitedLabel":"åºå {QTY} ä»¶","StockQuantityPreorderLabel":"ç°è´§ä¾åº","StockQuantityNoLabel":"\u003cspan style=color:#ff0000;\u003e缺货\u003c\/span\u003e","TotalPriceTitle":"æ»åä½ï¼ \u003cspan style=padding-right:30px; class=mvtotalquantity\u003e\u003c\/span\u003e æ»ä»·ï¼","CommentDoneTitle":"宿¯","CommentPlaceHolder":"卿¤æ·»å èªå®ä¹ææ¬","MinQuantityNotice":"æ»æ°éå¿
é¡»è³å°ä¸º {min_total_qty}ã已鿩ï¼{curr_total_qty}","MaxQuantityNotice":"æ»æ°éä¸å¾è¶
è¿{max_total_qty}个","MinValueNotice":"æ»ä»·å¿
é¡»è³å°ä¸º {min_total_price}","MaxValueNotice":"æ»ä»·ä¸è½è¶
è¿{max_total_price}","MinNumNotice":"æ¨åºè¯¥æ {min_total_number} ç§ä¸åçåä½ã å½åéæ©ï¼{curr_total_number}","MaxNumNotice":"ä»å¤è¾¾ {max_total_number} ç§ä¸åçåä½ä¸è¿è¡éæ©","MinOptionNotice":"{min_option_name} åºè³å°ä¸º {min_option_qty}","MaxOptionNotice":"{max_option_name} æå¤åºä¸º {max_option_qty}
8406","AlertOkNotice":"å¾å¥½ï¼å¯ä»¥èµ°äºã åå æ»æ°ï¼{curr_total_qty}ãæ´æ¹æ¬¡æ°ï¼{curr_total_number}","CartItemIncreaseQtyNotice":"æå°æ°é为 {min}","CartItemDecreaseQtyNotice":"æå¤§æ°é为 {max}","MaxCartQtyAddedNotice":"æ·»å å°è´ç©è½¦çæå¤§æ°é为 {max_cart_qty}","CartTotalMinNumNotice":"è´ç©è½¦ä¸çæå°ååæ»æ°å¿ 须为 {qty}ã æ¨å½åçååæ°é为 {current_qty}","CartTotalMaxNumNotice":"è´ç©è½¦ä¸çæå¤§ååæ»æ°å¿ 须为 {qty}ã æ¨å½åçååæ°é为 {current_qty}","CartTotalMinQtyNotice":"è´ç©è½¦çæå°æ»æ°éåºä¸º {qty}ã æ¨å½åçæ°éæ¯ {current_qty}","CartTotalMaxQtyNotice":"è´ç©è½¦çæå¤§æ»éåºä¸º {qty}ã æ¨å½åçæ°éæ¯ {current_qty}","CartTotalMinValNotice":"è´ç©è½¦æ»ä»·å¼æä½å¿ 须为 {price}ã æ¨å½åçä»·æ ¼æ¯ {current_price}","CartTotalMaxValNotice":"è´ç©è½¦çæå¤§ä»·å¼å¿ 须为 {price}ã æ¨å½åçä»·æ ¼æ¯ {current_price}","DiscountRangeMid":"{MIN} - {MAX} Units","DiscountRangeTop":"{MIN}+ Units","DiscountOffLabel":"{VALUE} off","DiscountUnitSuffix":"\/unit","DiscountProgressUnlock":"Add {COUNT} more to unlock {VALUE} off","DiscountSavedBanner":"You have saved {AMOUNT} in total! Buy {COUNT} more to get an additional {VALUE} off","DiscountSavedMax":"You have saved {AMOUNT} in total!","DiscountRowSaved":"You have saved {AMOUNT}!","DiscountSavingsLabel":"You save","PoScopePerVariantSuffix":"per variant","PoScopePerProductSuffix":"per product","PoChargeShapePerUnit":"{AMOUNT} x {COUNT} units","PoChargeShapePerVariant":"{AMOUNT} x {COUNT} variants","PoChargeShapePerProduct":"once per product","PoOneTimeLabel":"One time pricing","PoOneTimeWaived":"Waived","PoWaiverProgressNotice":"Add {QTY} more to remove the {AMOUNT} one time fee"}}, 8407 sfCurrencyCodes: {"USD":{"symbol":"$","symbol_native":"$"},"CAD":{"symbol":"CA$","symbol_native":"$"},"EUR":{"symbol":"â¬","symbol_native":"â¬","ds":",","ts":".","fnc":2,"fmc":2,"fmt":"[symbol_native][amount]"},"AED":{"symbol":"AED","symbol_native":"Dhs.","ds":".","ts":",","fnc":2,"fmc":2,"fmt":"[symbol_native] [amount] [symbol]"},"AFN":{"symbol":"Af","symbol_native":"Ø"},"ALL":{"symbol":"ALL","symbol_native":"Lek"},"AMD":{"symbol":"AMD","symbol_native":"Õ¤Ö."},"ARS":{"symbol":"AR$","symbol_native":"$"},"AUD":{"symbol":"AU$","symbol_native":"$"},"AZN":{"symbol":"man.","symbol_native":"ман."},"BAM":{"symbol":"KM","symbol_native":"KM"},"BDT":{"symbol":"BDT","symbol_native":"Tk "},"BGN":{"symbol":"BGN","symbol_native":"лв."},"BHD":{"symbol":"BD","symbol_native":"د.ب."},"BIF":{"symbol":"FBu","symbol_native":"FBu"},"BND":{"symbol":"BN$","symbol_native":"$"},"BOB":{"symbol":"Bs","symbol_native":"Bs"},"BRL":{"symbol":"R$","symbol_native":"R$"},"BWP":{"symbol":"BWP","symbol_native":"P"},"BYN":{"symbol":"Br","symbol_native":"ÑÑб."},"BZD":{"symbol":"BZ$","symbol_native":"$"},"CDF":{"symbol":"CDF","symbol_native":"FrCD"},"CHF":{"symbol":"CHF","symbol_native":"CHF"},"CLP":{"symbol":"CL$","symbol_native":"$"},"CNY":{"symbol":"CNÂ¥","symbol_native":"CNÂ¥"},"COP":{"symbol":"CO$","symbol_native":"$"},"CRC":{"symbol":"â¡","symbol_native":"â¡"},"CVE":{"symbol":"CV$","symbol_native":"CV$"},"CZK":{"symbol":"KÄ","symbol_native":"KÄ"},"DJF":{"symbol":"Fdj","symbol_native":"Fdj"},"DKK":{"symbol":"Dkr","symbol_native":"kr"},"DOP":{"symbol":"RD$","symbol_native":"RD$"},"DZD":{"symbol":"DA","symbol_native":"د.ج."},"EEK":{"symbol":"Ekr","symbol_native":"kr"},"EGP":{"symbol":"EGP","symbol_native":"ج.Ù ."},"ERN":{"symbol":"Nfk","symbol_native":"Nfk"},"ETB":{"symbol":"Br","symbol_native":"Br"},"GBP":{"symbol":"£","symbol_native":"£"},"GEL":{"symbol":"GEL","symbol_native":"GEL"},"GHS":{"symbol":"GHâµ","symbol_native":"GHâµ"},"GNF":{"symbol":"FG","symbol_native":"FG"},"GTQ":{"symbol":"GTQ","symbol_native":"Q"},"HKD":{"symbol":"HK$","symbol_native":"$"},"HNL":{"symbol":"HNL","symbol_native":"L"},"HRK":{"symbol":"kn","symbol_native":"kn"},"HUF":{"symbol":"Ft","symbol_native":"Ft"},"IDR":{"symbol":"Rp","symbol_native":"Rp"},"ILS":{"symbol":"âª","symbol_native":"âª"},"INR":{"symbol":"Rs","symbol_native":"Rs. "},"IQD":{"symbol":"IQD","symbol_native":"د.ع."},"IRR":{"symbol":"IRR","symbol_native":"ï·¼"},"ISK":{"symbol":"Ikr","symbol_native":"kr"},"JMD":{"symbol":"J$","symbol_native":"$"},"JOD":{"symbol":"JD","symbol_native":"د.Ø£."},"JPY":{"symbol":"JPY","symbol_native":"Â¥","ds":".","ts":",","fnc":0,"fmc":0,"fmt":"[symbol_native][amount]"},"KES":{"symbol":"Ksh","symbol_native":"Ksh"},"KHR":{"symbol":"KHR","symbol_native":"á"},"KMF":{"symbol":"CF","symbol_native":"FC"},"KRW":{"symbol":"â©","symbol_native":"â©"},"KWD":{"symbol":"KD","symbol_native":"د.Ù."}
8407,"KZT":{"symbol":"KZT","symbol_native":"Ñңг."},"LBP":{"symbol":"L.L.","symbol_native":"Ù.Ù."},"LKR":{"symbol":"SLRs","symbol_native":"SL Re"},"LTL":{"symbol":"Lt","symbol_native":"Lt"},"LVL":{"symbol":"Ls","symbol_native":"Ls"},"LYD":{"symbol":"LD","symbol_native":"د.Ù."},"MAD":{"symbol":"MAD","symbol_native":"د.Ù
."},"MDL":{"symbol":"MDL","symbol_native":"MDL"},"MGA":{"symbol":"MGA","symbol_native":"MGA"},"MKD":{"symbol":"MKD","symbol_native":"MKD"},"MMK":{"symbol":"MMK","symbol_native":"K"},"MOP":{"symbol":"MOP$","symbol_native":"MOP$"},"MUR":{"symbol":"MURs","symbol_native":"MURs"},"MXN":{"symbol":"MX$","symbol_native":"$"},"MYR":{"symbol":"RM","symbol_native":"RM"},"MZN":{"symbol":"MTn","symbol_native":"MTn"},"NAD":{"symbol":"N$","symbol_native":"N$"},"NGN":{"symbol":"â¦","symbol_native":"â¦"},"NIO":{"symbol":"C$","symbol_native":"C$"},"NOK":{"symbol":"Nkr","symbol_native":"kr"},"NPR":{"symbol":"NPRs","symbol_native":"नà¥à¤°à¥"},"NZD":{"symbol":"NZ$","symbol_native":"$"},"OMR":{"symbol":"OMR","symbol_native":"ر.ع."},"PAB":{"symbol":"B\/.","symbol_native":"B\/."},"PEN":{"symbol":"S\/.","symbol_native":"S\/."},"PHP":{"symbol":"â±","symbol_native":"â±"},"PKR":{"symbol":"PKRs","symbol_native":"â¨"},"PLN":{"symbol":"zÅ","symbol_native":"zÅ"}
8407,"PYG":{"symbol":"â²","symbol_native":"â²"},"QAR":{"symbol":"QR","symbol_native":"ر.Ù."},"RON":{"symbol":"RON","symbol_native":"RON"},"RSD":{"symbol":"din.","symbol_native":"дин."},"RUB":{"symbol":"RUB","symbol_native":"â½."},"RWF":{"symbol":"RWF","symbol_native":"FR"},"SAR":{"symbol":"SR","symbol_native":"ر.س."},"SDG":{"symbol":"SDG","symbol_native":"SDG"},"SEK":{"symbol":"Skr","symbol_native":"kr"},"SGD":{"symbol":"S$","symbol_native":"$"},"SOS":{"symbol":"Ssh","symbol_native":"Ssh"},"SYP":{"symbol":"SY£","symbol_native":"Ù.س."},"THB":{"symbol":"฿","symbol_native":"฿"},"TND":{"symbol":"DT","symbol_native":"د.ت."},"TOP":{"symbol":"T$","symbol_native":"T$"},"TRY":{"symbol":"TL","symbol_native":"TL","fmt":"[amount][symbol]"},"TTD":{"symbol":"TT$","symbol_native":"$"},"TWD":{"symbol":"NT$","symbol_native":"NT$"},"TZS":{"symbol":"TSh","symbol_native":"TSh"},"UAH":{"symbol":"â´","symbol_native":"â´"},"UGX":{"symbol":"USh","symbol_native":"USh"},"UYU":{"symbol":"$U","symbol_native":"$"},"UZS":{"symbol":"UZS","symbol_native":"UZS"},"VEF":{"symbol":"Bs.F.","symbol_native":"Bs.F."},"VND":{"symbol":"VND","symbol_native":"â«","ds":",","ts":".","fnc":0,"fmc":0,"fmt":"[amount] [symbol]"},"XAF":{"symbol":"FCFA","symbol_native":"FCFA"},"XOF":{"symbol":"CFA","symbol_native":"CFA"},"YER":{"symbol":"YR","symbol_native":"ر.Ù."},"ZAR":{"symbol":"R","symbol_native":"R"},"ZMK":{"symbol":"ZK","symbol_native":"ZK"},"ZWL":{"symbol":"ZWL$","symbol_native":"ZWL$"}}, 8408 hasSfShopSettings: true, 8409 sfShopSettings: { 8410 basic_customizations_settings: {"addToCartButton":"#000000","addToCartButtonText":"#FFFFFF","addToCartButtonHover":"#FFFFFF","addToCartButtonHoverText":"#FFFFFF","addToCartButtonPadding":"12px 10px","addToCartButtonBorder":"3px solid black","addToCartButtonTextSize":"14px","addToCartButtonBorderRadius":"30px","checkoutButton":"#000000","checkoutButtonText":"#FFFFFF","checkoutButtonHover":"#FFFFFF","checkoutButtonHoverText":"#FFFFFF","checkoutButtonPadding":"12px 10px","checkoutButtonBorder":"1px solid black","checkoutButtonTextSize":"14px","checkoutButtonBorderRadius":"30px","restrictionMessageBox":"#1283c6","restrictionMessageText":"#FFFFFF","restrictionMessageSuccessText":"#FFFFFF","restrictionMessageTextSize":"16px","restrictionMessageBorderRadius":"0px"}, 8411 footer_position_sticky: "no", 8412 after_addtocart_redirect: "refreash", 8413 image_popup: "yes", 8414 hasMinMaxNotice: "yes", 8415 gridAxisAutoOrder: null, 8416 subtotal_price_settings: {"subtotal_price_view":"no","subtotal_price_view_pretext":"{TotalPriceTitle}","subtotal_price_view_placement":"bottom","subtotal_price_view_element_id":""}, 8417 eligibility_allowed: true, 8418 package: "professional_monthly", 8419 langConfig: {"language_param":"locale","language_default":"en","en":{"title":"English","handle":"en","currency":"USD","currency_symbol":"$","currency_symbol_show_before_price":"Y","number_format_decimal_separator":".","number_format_float_min_count":0,"number_format_float_max_count":2,"number_format_thousand_separator":",","decimal_numbers":["0","1","2","3","4","5","6","7","8","9"],"active":true},"nl":{"title":"Dutch","handle":"nl","currency":"USD","currency_symbol":"$","currency_symbol_show_before_price":"Y","number_format_decimal_separator":",","number_format_float_min_count":0,"number_format_float_max_count":2,"number_format_thousand_separator":".","decimal_numbers":["0","1","2","3","4","5","6","7","8","9"],"active":true},"de":{"title":"Deutsch","handle":"de","currency":"EUR","currency_symbol":"â¬","currency_symbol_show_before_price":"Y","number_format_decimal_separator":".","number_format_float_min_count":0,"number_format_float_max_count":2,"number_format_thousand_separator":",","decimal_numbers":["0","1","2","3","4","5","6","7","8","9"],"active":true},"fr":{"title":"français","handle":"fr","currency":"EUR","currency_symbol":"â¬","currency_symbol_show_before_price":"N","number_format_decimal_separator":",","number_format_float_min_count":0,"number_format_float_max_count":2,"number_format_thousand_separator":" ","decimal_numbers":["0","1","2","3","4","5","6","7","8","9"],"active":true},"ja":{"title":"æ¥æ¬èª","handle":"ja","currency":"JPY","currency_symbol":"Â¥","currency_symbol_show_before_price":"Y","number_format_decimal_separator":".","number_format_float_min_count":0,"number_format_float_max_count":0,"number_format_thousand_separator":",","decimal_numbers":["0","1","2","3","4","5","6","7","8","9"],"active":true},"it":{"title":"Italiano","handle":"it","currency":"EUR","currency_symbol":"â¬","currency_symbol_show_before_price":"N","number_format_decimal_separator":",","number_format_float_min_count":0,"number_format_float_max_count":2,"number_format_thousand_separator":" ","decimal_numbers":["0","1","2","3","4","5","6","7","8","9"],"active":true},"pt":{"title":"Português","handle":"pt","currency":"BRL","currency_symbol":"R$ ","currency_symbol_show_before_price":"Y","number_format_decimal_separator":",","number_format_float_min_count":0,"number_format_float_max_count":2,"number_format_thousand_separator":".","decimal_numbers":["0","1","2","3","4","5","6","7","8","9"],"active":true},"zh-CN":{"title":"ç®ä½ä¸æ (Simplified)","handle":"zh-CN","currency":"CNY","currency_symbol":"Â¥ ","currency_symbol_show_before_price":"Y","number_format_decimal_separator":".","number_format_float_min_count":0,"number_format_float_max_count":2,"number_format_thousand_separator":",","decimal_numbers":["0","1","2","3","4","5","6","7","8","9"],"active":true},"es":{"title":"Español","handle":"es","currency":"EUR","currency_symbol":"â¬","currency_symbol_show_before_price":"N","number_format_decimal_separator":",","number_format_float_min_count":0,"number_format_float_max_count":2,"number_format_thousand_separator":" ","decimal_numbers":["0","1","2","3","4","5","6","7","8","9"],"active":true},"da":{"title":"Dansk","handle":"da","currency":"Dkr","currency_symbol":"Kr","currency_symbol_show_before_price":"N","number_format_decimal_separator":",","number_format_float_min_count":0,"number_format_float_max_count":2,"number_format_thousand_separator":" ","decimal_numbers":["0","1","2","3","4","5","6","7","8","9"],"active":true},"sv":{"title":"Svenska","handle":"sv","currency":"SEK","currency_symbol":"Kr","currency_symbol_show_before_price":"N","number_format_decimal_separator":",","number_format_float_min_count":0,"number_format_float_max_count":2,"number_format_thousand_separator":" ","decimal_numbers":["0","1","2","3","4","5","6","7","8","9"],"active":true},"ar":{"title":"Ø§ÙØ¹Ø±Ø¨ÙØ©","handle":"ar","currency":"AED","currency_symbol":"AED","currency_symbol_show_before_price":"Y","number_format_decimal_separator":",","number_format_float_min_count":0,"number_format_float_max_count":2,"number_format_thousand_separator":" ","decimal_numbers":["0","1","2","3","4","5","6","7","8","9"],"active":true}}, 8420 outOfStockBadge: "https:\/\/sapp.multivariants.com\/gate\/out\/usr\/img\/out_of_stock_badge.png" 8421 }, 8422 hasRulesetMetafield: true,
8423 hasSfRuleset: false, 8424 mvRulesetProductId: null, 8425 mvRulesetCalcId: null, 8426 mvRulesetStoredId: null, 8427 sfRuleset: null, 8428 sfRulesetOptionData: null, 8429 sfNewStyle: "no", 8430 sfThemeStyles: null, 8431 sfThemeStyleDelta: null, 8432 sfDiscount: null, 8433 b2b: { 8434 isB2b: false, 8435 companyId: null, 8436 companyLocationId: null 8437 }, 8438 eligibility: { 8439 allowed: true, 8440 loggedIn: false, 8441 loginRestrictionEnabled: false, 8442 mvDisplayOption: "hide_mv", 8443 loginMessage: "", 8444 hideShopifyPricingEnabled: false, 8445 hideShopifyPricingScope: "product_page", 8446 hideShopifyPricingSelector: "" 8447 } 8448 }; 8449 8450 8451 // Now load the main MV script after all variant data is ready 8452 var mvScript = document.createElement('script'); 8453 mvScript.src = "https://cdn.shopify.com/extensions/01a084bb-7f22-7b39-9053-a86f548cd006/multivariants-95/assets/mv.js"; 8454 mvScript.async = true; 8455 document.head.appendChild(mvScript); 8456 })(); 8457</script>
8457 8458</div><div id="shopify-block-AVFIySTFEaVpmWUFPS__144831480468751239" class="shopify-block shopify-app-block"><!-- BEGIN app snippet: vite-tag --> 8459 8460 8461
8461<script src="https://cdn.shopify.com/extensions/01a0d8f9-6fff-772b-99c8-e7e9c182ce66/essential-post-purchase-upsell-1716/assets/app-embed-Cpe1UAQF.js" type="module" crossorigin="anonymous"></script>
8461 8462 <link rel="modulepreload" href="https://cdn.shopify.com/extensions/01a0d8f9-6fff-772b-99c8-e7e9c182ce66/essential-post-purchase-upsell-1716/assets/stylex-B1AGQYz4.js" crossorigin="anonymous"> 8463 <link href="//cdn.shopify.com/extensions/01a0d8f9-6fff-772b-99c8-e7e9c182ce66/essential-post-purchase-upsell-1716/assets/stylex-BbwzPrER.css" rel="stylesheet" type="text/css" media="all" /> 8464 8465<!-- END app snippet --> 8466 8467<essential-upsell-app-embed 8468 upsell-app-data="{"v":2,"d":[{"layoutType":"CAROUSEL","stackedProductsCount":null,"backgroundType":"MONOCHROME","monochromeBackgroundColor":"#ffffff","gradientBackgroundStartColor":null,"gradientBackgroundEndColor":null,"gradientBackgroundAngle":null,"borderRadius":8,"borderSize":1,"borderColor":"#c5c8d1","insideTopSpacing":10,"insideBottomSpacing":10,"outsideTopSpacing":20,"outsideBottomSpacing":20,"font":"INHERIT","titleSize":16,"titleColor":"#202223","productTitleSize":14,"productTitleColor":"#202223","productVariantSize":14,"productVariantColor":"#96a4b6","volumeDiscountSubtitleSize":null,"volumeDiscountSubtitleColor":null,"productPriceSize":14,"productPriceColor":"#96a4b6","discountedPriceSize":14,"discountedPriceColor":"#fa493d","buttonBackgroundColor":"#202223","buttonTextSize":14,"buttonTextColor":"#fafafa","buttonBorderRadius":4,"navigationIconColor":"#333333","checkboxIconColor":null,"checkboxBackgroundColor":null,"checkboxBorderColor":null,"popupBackgroundColor":null,"popupCloseButtonColor":null,"popupBorderRadius":null,"secondaryButtonTextSize":null,"secondaryButtonTextColor":null,"countdownBackgroundColor":null,"countdownBorderSize":null,"countdownBorderColor":null,"countdownTitleSize":null,"countdownTitleColor":null,"countdownTimerSize":null,"countdownTimerColor":null,"quantityPickerTextSize":null,"quantityPickerTextColor":null,"quantityPickerIconColor":null,"quantityPickerBackgroundColor":null,"quantityPickerBorderColor":null,"quantityPickerBorderRadius":null,"
8468offerBadgeBackgroundColor":null,"offerBadgeTextSize":null,"offerBadgeTextColor":null,"offerBadgeBorderSize":null,"offerBadgeBorderColor":null,"offerBadgeBorderRadius":null,"discountLabelBackgroundColor":null,"discountLabelTextSize":null,"discountLabelTextColor":null,"discountLabelBorderSize":null,"discountLabelBorderColor":null,"discountLabelBorderRadius":null}],"c":[{"offerType":"CROSS_SELL","titleText":"You may also like","buttonText":"Add","secondaryButtonText":null,"badgeText":null}],"funnels":[{"id":"0f63504f-8b07-4ed8-8d82-e7c07f0b8d1b","name":"Cart page offer","content":0,"upsell":{"productsType":"SPECIFIC","recommendationIntent":"RELATED","discountType":"NONE","discountValue":null,"applyDiscountType":"ALWAYS","isHideProductInCart":true,"isHideTriggerProduct":true,"isPreselectProducts":true,"isLimitDiscountedQuantity":false,"discountedQuantityLimit":null,"isQuantityPickerEnabled":false,"discountLabel":null,"isCountdownTimerEnabled":false,"timerType":"FIXED_MINUTES","timerEndType":"REPEAT","minutes":null,"endDate":null,"timerTitle":null,"specificProducts":[{"shopifyId":"gid://shopify/Product/7964928311432","shopifyHandle":"ultimate-sharing-box","variantIds":[]},{"shopifyId":"gid://shopify/Product/8308113047688","shopifyHandle":"fudge-filled-chocolate-bars","variantIds":["gid://shopify/ProductVariant/53555646431611"]},{"shopifyId":"gid://shopify/Product/15326854185339","shopifyHandle":"nomo-crispy-toffee-bunny-25-x-25g","variantIds":[]}],"customDiscounts":[],"volumeDiscountTiers":[]},"design":0,"placement":{"type":"CART_PAGE","triggerType":"ALL","isExcludeProducts":false,"isExcludeCollections":false,"cartPagePositionType":"TOP_OF_THE_CART","popupPlacementType":null,"specificProducts":[],"specificCollections":[],"excludedProducts":[],"excludedCollections":[],"subTriggerGroups":[]},"contentTranslations":[]}]}"upsell-app-config-data='{"analyticsBaseUrl":"https:\/\/essential-upsell-publisher.essential-apps.com","sfk":"MjlmNjEwOTFiZjJiYmJiNjhmYjc0YjY0YmI2YTNmMDE=","baseUrl":"https:\/\/essential-upsell.supercorp.ai"}' 8469 product-page-product="null"product-page-selling-plan-groups="null" 8470 selling-plan-translations="[]" 8471 product-page-collection-ids="[]" 8472 first-shop-product-id="15438316962171" 8473 shop-money-format="£{{amount}}" 8474 market-handle="gb" 8475 presentment-currency="GBP" 8476 customer-tags="null" 8477 cart-items=' 8478[]' 8479></essential-upsell-app-embed> 8480 8481 8482</div><div id="shopify-block-AcUs0aEtySk9UMHRob__18121446316682264196" class="shopify-block shopify-app-block"> 8483 8484 8485 8486 8487 8488 8489</div><div id="shopify-block-AeWtjZE1LT2Irb3pva__7079518687644006178" class="shopify-block shopify-app-block">
8489<script> 8490 (function () { 8491 const cartAttributes = {}; 8492 8493 // Helper function to retrieve the UTM from Url 8494 function getUTMFromUrl() { 8495 const url_string = window.location.href; 8496 const url = new URL(url_string); 8497 8498 const utm_id = url.searchParams.get("utm_id"); 8499 const utm_source = url.searchParams.get("utm_source"); 8500 const utm_medium = url.searchParams.get("utm_medium"); 8501 const utm_campaign = url.searchParams.get("utm_campaign"); 8502 const utm_term = url.searchParams.get("utm_term"); 8503 const ref = url.searchParams.get("ref"); 8504 8505 if (!utm_id && !utm_source && !utm_medium && !utm_campaign && !ref) { 8506 return null; 8507 } 8508 8509 let utmParameters = {}; 8510 8511 if (utm_id) { 8512 utmParameters.utm_id = utm_id; 8513 } 8514 if (utm_source) { 8515 utmParameters.utm_source = utm_source; 8516 } 8517 if (utm_medium) { 8518 utmParameters.utm_medium = utm_medium; 8519 } 8520 if (utm_campaign) { 8521 utmParameters.utm_campaign = utm_campaign; 8522 } 8523 if (utm_term) { 8524 utmParameters.utm_term = utm_term; 8525 } 8526 if (ref) { 8527 utmParameters.ref = ref; 8528 } 8529 8530 8531 return Object.keys(utmParameters).length === 0 8532 ? null 8533 : utmParameters; 8534 } 8535 8536 // Helper function to retrieve the UTM from Cookie 8537 function getUTMAttributes() { 8538 const urlUtmParams = getUTMFromUrl(); 8539 8540 if (urlUtmParams) { 8541 return urlUtmParams; 8542 } 8543 8544 // No longer reading from deprecated Shopify cookies 8545 return undefined; 8546 } 8547 8548 function saveUtmParameters() { 8549 const utmParams = getUTMAttributes(); 8550 if (utmParams) { 8551 const cartHasUtmAttributes = Object.keys(cartAttributes).find(attributeKey => attributeKey.startsWith("utm_") || attributeKey === "ref"); 8552 if (cartHasUtmAttributes) { 8553 // Don't call API if it already contains our UTM parameters 8554 return; 8555 } 8556 8557 // Handle both Shopify.routes.root and routes.root_url for better compatibility 8558 var rootUrl = (window.Shopify && window.Shopify.routes && window.Shopify.routes.root) 8559 || (window.routes && window.routes.root_url) 8560 || '/'; 8561 8562 var updateCart = fetch(rootUrl + 'cart/update.js', 8563 { 8564 headers: { 8565 'Content-Type': 'application/json', 8566 }, 8567 method: "POST", 8568 body: JSON.stringify({ 8569 attributes: { 8570 ...utmParams 8571 }, 8572 }) 8573 }) 8574 .then(response => response.json()) 8575 .then(data => { 8576 return data 8577 }); 8578 } 8579 } 8580 8581 saveUtmParameters(); 8582 })(); 8583</script>
8583 8584 8585 8586 8587 8588</div>
8588<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
8588 8589</body> 8590</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.