PageSourceSearch

https://www.next-level-verlag.de/cart

html next-level-verlag.de collected 2026-10-04 05:15:49 UTC 185,024 bytes, 2,473 lines download raw bytes

1<!doctype html>
2
3<html lang="de" dir="ltr">
4  <head>
5    <meta charset="utf-8">
6    <meta
7      name="viewport"
8      content="width=device-width, initial-scale=1.0, height=device-height, minimum-scale=1.0, maximum-scale=1.0"
9    >
10    <meta name="theme-color" content="#ffffff">
11    <meta name="google-site-verification" content="ZygEyXZOUgKJ7nOJt78oanAxzKQ105BpuhaHW6KJ3NI">
12    <title>
13      Dein Warenkorb
14    </title><link rel="canonical" href="https://www.next-level-verlag.de/cart"><link rel="shortcut icon" href="//www.next-level-verlag.de/cdn/shop/files/next-level-verlag-favi_a52f7434-5325-4016-9a29-db7f429b1d42.png?v=1747229912&width=96">
15      <link rel="apple-touch-icon" href="//www.next-level-verlag.de/cdn/shop/files/next-level-verlag-favi_a52f7434-5325-4016-9a29-db7f429b1d42.png?v=1747229912&width=180"><link rel="preconnect" href="https://cdn.shopify.com">
16    <link rel="preconnect" href="https://fonts.shopifycdn.com" crossorigin>
17    <link rel="dns-prefetch" href="https://productreviews.shopifycdn.com"><link rel="preload" href="//www.next-level-verlag.de/cdn/fonts/barlow/barlow_n7.691d1d11f150e857dcbc1c10ef03d825bc378d81.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="//www.next-level-verlag.de/cdn/fonts/barlow/barlow_n5.a193a1990790eba0cc5cca569d23799830e90f07.woff2" as="font" type="font/woff2" crossorigin><meta property="og:type" content="website">
18  <meta property="og:title" content="Dein Warenkorb"><meta property="og:image" content="http://www.next-level-verlag.de/cdn/shop/files/next-level-verlag-favi_cf6e369b-c3ba-469d-8590-5c4d25512932.png?v=1747230118&width=2048">
19  <meta property="og:image:secure_url" content="https://www.next-level-verlag.de/cdn/shop/files/next-level-verlag-favi_cf6e369b-c3ba-469d-8590-5c4d25512932.png?v=1747230118&width=2048">
20  <meta property="og:image:width" content="180">
21  <meta property="og:image:height" content="180"><meta property="og:url" content="https://www.next-level-verlag.de/cart">
22<meta property="og:site_name" content="NXT LVL GmbH"><meta name="twitter:card" content="summary"><meta name="twitter:title" content="Dein Warenkorb">
23  <meta name="twitter:description" content="Dein Warenkorb"><meta name="twitter:image" content="https://www.next-level-verlag.de/cdn/shop/files/next-level-verlag-favi_cf6e369b-c3ba-469d-8590-5c4d25512932.png?crop=center&height=1200&v=1747230118&width=1200">
24  <meta name="twitter:image:alt" content="">
24<script type="application/ld+json">
25  {
26    "@context": "https://schema.org",
27    "@type": "BreadcrumbList",
28    "itemListElement": [{
29        "@type": "ListItem",
30        "position": 1,
31        "name": "Home",
32        "item": "https://www.next-level-verlag.de"
33      }]
34  }
35</script>
35<style>/* Typography (heading) */
36  @font-face {
37  font-family: Barlow;
38  font-weight: 700;
39  font-style: normal;
40  font-display: fallback;
41  src: url("//www.next-level-verlag.de/cdn/fonts/barlow/barlow_n7.691d1d11f150e857dcbc1c10ef03d825bc378d81.woff2") format("woff2"),
42       url("//www.next-level-verlag.de/cdn/fonts/barlow/barlow_n7.4fdbb1cb7da0e2c2f88492243ffa2b4f91924840.woff") format("woff");
43}
44
45@font-face {
46  font-family: Barlow;
47  font-weight: 700;
48  font-style: italic;
49  font-display: fallback;
50  src: url("//www.next-level-verlag.de/cdn/fonts/barlow/barlow_i7.50e19d6cc2ba5146fa437a5a7443c76d5d730103.woff2") format("woff2"),
51       url("//www.next-level-verlag.de/cdn/fonts/barlow/barlow_i7.47e9f98f1b094d912e6fd631cc3fe93d9f40964f.woff") format("woff");
52}
53
54/* Typography (body) */
55  @font-face {
56  font-family: Barlow;
57  font-weight: 500;
58  font-style: normal;
59  font-display: fallback;
60  src: url("//www.next-level-verlag.de/cdn/fonts/barlow/barlow_n5.a193a1990790eba0cc5cca569d23799830e90f07.woff2") format("woff2"),
61       url("//www.next-level-verlag.de/cdn/fonts/barlow/barlow_n5.ae31c82169b1dc0715609b8cc6a610b917808358.woff") format("woff");
62}
63
64@font-face {
65  font-family: Barlow;
66  font-weight: 500;
67  font-style: italic;
68  font-display: fallback;
69  src: url("//www.next-level-verlag.de/cdn/fonts/barlow/barlow_i5.714d58286997b65cd479af615cfa9bb0a117a573.woff2") format("woff2"),
70       url("//www.next-level-verlag.de/cdn/fonts/barlow/barlow_i5.0120f77e6447d3b5df4bbec8ad8c2d029d87fb21.woff") format("woff");
71}
72
73@font-face {
74  font-family: Barlow;
75  font-weight: 700;
76  font-style: normal;
77  font-display: fallback;
78  src: url("//www.next-level-verlag.de/cdn/fonts/barlow/barlow_n7.691d1d11f150e857dcbc1c10ef03d825bc378d81.woff2") format("woff2"),
79       url("//www.next-level-verlag.de/cdn/fonts/barlow/barlow_n7.4fdbb1cb7da0e2c2f88492243ffa2b4f91924840.woff") format("woff");
80}
81
82@font-face {
83  font-family: Barlow;
84  font-weight: 700;
85  font-style: italic;
86  font-display: fallback;
87  src: url("//www.next-level-verlag.de/cdn/fonts/barlow/barlow_i7.50e19d6cc2ba5146fa437a5a7443c76d5d730103.woff2") format("woff2"),
88       url("//www.next-level-verlag.de/cdn/fonts/barlow/barlow_i7.47e9f98f1b094d912e6fd631cc3fe93d9f40964f.woff") format("woff");
89}
90
91:root {
92    /**
93     * ---------------------------------------------------------------------
94     * SPACING VARIABLES
95     *
96     * We are using a spacing inspired from frameworks like Tailwind CSS.
97     * ---------------------------------------------------------------------
98     */
99    --spacing-0-5: 0.125rem; /* 2px */
100    --spacing-1: 0.25rem; /* 4px */
101    --spacing-1-5: 0.375rem; /* 6px */
102    --spacing-2: 0.5rem; /* 8px */
103    --spacing-2-5: 0.625rem; /* 10px */
104    --spacing-3: 0.75rem; /* 12px */
105    --spacing-3-5: 0.875rem; /* 14px */
106    --spacing-4: 1rem; /* 16px */
107    --spacing-4-5: 1.125rem; /* 18px */
108    --spacing-5: 1.25rem; /* 20px */
109    --spacing-5-5: 1.375rem; /* 22px */
110    --spacing-6: 1.5rem; /* 24px */
111    --spacing-6-5: 1.625rem; /* 26px */
112    --spacing-7: 1.75rem; /* 28px */
113    --spacing-7-5: 1.875rem; /* 30px */
114    --spacing-8: 2rem; /* 32px */
115    --spacing-8-5: 2.125rem; /* 34px */
116    --spacing-9: 2.25rem; /* 36px */
117    --spacing-9-5: 2.375rem; /* 38px */
118    --spacing-10: 2.5rem; /* 40px */
119    --spacing-11: 2.75rem; /* 44px */
120    --spacing-12: 3rem; /* 48px */
121    --spacing-14: 3.5rem; /* 56px */
122    --spacing-16: 4rem; /* 64px */
123    --spacing-18: 4.5rem; /* 72px */
124    --spacing-20: 5rem; /* 80px */
125    --spacing-24: 6rem; /* 96px */
126    --spacing-28: 7rem; /* 112px */
127    --spacing-32: 8rem; /* 128px */
128    --spacing-36: 9rem; /* 144px */
129    --spacing-40: 10rem; /* 160px */
130    --spacing-44: 11rem; /* 176px */
131    --spacing-48: 12rem; /* 192px */
132    --spacing-52: 13rem; /* 208px */
133    --spacing-56: 14rem; /* 224px */
134    --spacing-60: 15rem; /* 240px */
135    --spacing-64: 16rem; /* 256px */
136    --spacing-72: 18rem; /* 288px */
137    --spacing-80: 20rem; /* 320px */
138    --spacing-96: 24rem; /* 384px */
139
140    /* Container */
141    --container-max-width: 1600px;
142    --container-narrow-max-width: 1350px;
143    --container-gutter: var(--spacing-5);
144    --section-outer-spacing-block: var(--spacing-8);
145    --section-inner-max-spacing-block: var(--spacing-8);
146    --section-inner-spacing-inline: var(--container-gutter);
147    --section-stack-spacing-block: var(--spacing-8);
148
149    /* Grid gutter */
150    --grid-gutter: var(--spacing-5);
151
152    /* Product list settings */
153    --product-list-row-gap: var(--spacing-8);
154    --product-list-column-gap: var(--grid-gutter);
155
156    /* Form settings */
157    --input-gap: var(--spacing-2);
158    --input-height: 2.625rem;
159    --input-padding-inline: var(--spacing-4);
160
161    /* Other sizes */
162    --sticky-area-height: calc(var(--sticky-announcement-bar-enabled, 0) * var(--announcement-bar-height, 0px) + var(--sticky-header-enabled, 0) * var(--header-height, 0px));
163
164    /* RTL support */
165    --transform-logical-flip: 1;
166    --transform-origin-start: left;
167    --transform-origin-end: right;
168
169    /**
170     * ---------------------------------------------------------------------
171     * TYPOGRAPHY
172     * ---------------------------------------------------------------------
173     */
174
175    /* Font properties */
176    --heading-font-family: Barlow, sans-serif;
177    --heading-font-weight: 700;
178    --heading-font-style: normal;
179    --heading-text-transform: normal;
180    --heading-letter-spacing: -0.02em;
181    --text-font-family: Barlow, sans-serif;
182    --text-font-weight: 500;
183    --text-font-style: normal;
184    --text-letter-spacing: 0.0em;
185
186    /* Font sizes */
187    --text-h0: 2.5rem;
188    --text-h1: 1.75rem;
189    --text-h2: 1.5rem;
190    --text-h3: 1.375rem;
191    --text-h4: 1.125rem;
192    --text-h5: 1.125rem;
193    --text-h6: 1rem;
194    --text-xs: 0.6875rem;
195    --text-sm: 0.75rem;
196    --text-base: 0.875rem;
197    --text-lg: 1.125rem;
198
199    /**
200     * ---------------------------------------------------------------------
201     * COLORS
202     * ---------------------------------------------------------------------
203     */
204
205    /* Color settings */--accent: 26 26 26;
206    --text-primary: 26 26 26;
207    --background-primary: 255 255 255;
208    --dialog-background: 255 255 255;
209    --border-color: var(--text-color, var(--text-primary)) / 0.12;
210
211    /* Button colors */
212    --button-background-primary: 26 26 26;
213    --button-text-primary: 255 255 255;
214    --button-background-secondary: 240 196 23;
215    --button-text-secondary: 26 26 26;
216
217    /* Status colors */
218    --success-background: 224 244 232;
219    --success-text: 0 163 65;
220    --warning-background: 255 246 233;
221    --warning-text: 255 183 74;
222    --error-background: 254 231 231;
223    --error-text: 248 58 58;
224
225    /* Product colors */
226    --on-sale-text: 248 58 58;
227    --on-sale-badge-background: 248 58 58;
228    --on-sale-badge-text: 255 255 255;
229    --sold-out-badge-background: 0 0 0;
230    --sold-out-badge-text: 255 255 255;
231    --primary-badge-background: 128 60 238;
232    --primary-badge-text: 255 255 255;
233    --star-color: 255 183 74;
234    --product-card-background: 255 255 255;
235    --product-card-text: 26 26 26;
236
237    /* Header colors */
238    --header-background: 255 255 255;
239    --header-text: 26 26 26;
240
241    /* Footer colors */
242    --footer-background: 255 255 255;
243    --footer-text: 26 26 26;
244
245    /* Rounded variables (used for border radius) */
246    --rounded-xs: 0.25rem;
247    --rounded-sm: 0.375rem;
248    --rounded: 0.75rem;
249    --rounded-lg: 1.5rem;
250    --rounded-full: 9999px;
251
252    --rounded-button: 0.0rem;
253    --rounded-input: 0.5rem;
254
255    /* Box shadow */
256    --shadow-sm: 0 2px 8px rgb(var(--text-primary) / 0.1);
257    --shadow: 0 5px 15px rgb(var(--text-primary) / 0.1);
258    --shadow-md: 0 5px 30px rgb(var(--text-primary) / 0.1);
259    --shadow-block: 0px 0px 50px rgb(var(--text-primary) / 0.1);
260
261    /**
262     * ---------------------------------------------------------------------
263     * OTHER
264     * ---------------------------------------------------------------------
265     */
266
267    --stagger-products-reveal-opacity: 0;
268    --cursor-close-svg-url: url(//www.next-level-verlag.de/cdn/shop/t/4/assets/cursor-close.svg?v=147174565022153725511731938665);
269    --cursor-zoom-in-svg-url: url(//www.next-level-verlag.de/cdn/shop/t/4/assets/cursor-zoom-in.svg?v=154953035094101115921731938666);
270    --cursor-zoom-out-svg-url: url(//www.next-level-verlag.de/cdn/shop/t/4/assets/cursor-zoom-out.svg?v=16155520337305705181731938665);
271    --checkmark-svg-url: url(//www.next-level-verlag.de/cdn/shop/t/4/assets/checkmark.svg?v=77552481021870063511731938665);
272  }
273
274  [dir="rtl"]:root {
275    /* RTL support */
276    --transform-logical-flip: -1;
277    --transform-origin-start: right;
278    --transform-origin-end: left;
279  }
280
281  @media screen and (min-width: 700px) {
282    :root {
283      /* Typography (font size) */
284      --text-h0: 3.25rem;
285      --text-h1: 2.25rem;
286      --text-h2: 1.75rem;
287      --text-h3: 1.625rem;
288      --text-h4: 1.25rem;
289      --text-h5: 1.25rem;
290      --text-h6: 1.125rem;
291
292      --text-xs: 0.75rem;
293      --text-sm: 0.875rem;
294      --text-base: 1.0rem;
295      --text-lg: 1.25rem;
296
297      /* Spacing */
298      --container-gutter: 2rem;
299      --section-outer-spacing-block: var(--spacing-12);
300      --section-inner-max-spacing-block: var(--spacing-10);
301      --section-inner-spacing-inline: var(--spacing-10);
302      --section-stack-spacing-block: var(--spacing-10);
303
304      /* Grid gutter */
305      --grid-gutter: var(--spacing-6);
306
307      /* Product list settings */
308      --product-list-row-gap: var(--spacing-12);
309
310      /* Form settings */
311      --input-gap: 1rem;
312      --input-height: 3.125rem;
313      --input-padding-inline: var(--spacing-5);
314    }
315  }
316
317  @media screen and (min-width: 1000px) {
318    :root {
319      /* Spacing settings */
320      --container-gutter: var(--spacing-12);
321      --section-outer-spacing-block: var(--spacing-14);
322      --section-inner-max-spacing-block: var(--spacing-12);
323      --section-inner-spacing-inline: var(--spacing-12);
324      --section-stack-spacing-block: var(--spacing-10);
325    }
326  }
327
328  @media screen and (min-width: 1150px) {
329    :root {
330      /* Spacing settings */
331      --container-gutter: var(--spacing-12);
332      --section-outer-spacing-block: var(--spacing-14);
333      --section-inner-max-spacing-block: var(--spacing-12);
334      --section-inner-spacing-inline: var(--spacing-12);
335      --section-stack-spacing-block: var(--spacing-12);
336    }
337  }
338
339  @media screen and (min-width: 1400px) {
340    :root {
341      /* Typography (font size) */
342      --text-h0: 4rem;
343      --text-h1: 3rem;
344      --text-h2: 2.5rem;
345      --text-h3: 1.75rem;
346      --text-h4: 1.5rem;
347      --text-h5: 1.25rem;
348      --text-h6: 1.25rem;
349
350      --section-outer-spacing-block: var(--spacing-16);
351      --section-inner-max-spacing-block: var(--spacing-14);
352      --section-inner-spacing-inline: var(--spacing-14);
353    }
354  }
355
356  @media screen and (min-width: 1600px) {
357    :root {
358      --section-outer-spacing-block: var(--spacing-16);
359      --section-inner-max-spacing-block: var(--spacing-16);
360      --section-inner-spacing-inline: var(--spacing-16);
361    }
362  }
363
364  /**
365   * ---------------------------------------------------------------------
366   * LIQUID DEPENDANT CSS
367   *
368   * Our main CSS is Liquid free, but some very specific features depend on
369   * theme settings, so we have them here
370   * ---------------------------------------------------------------------
371   */@media screen and (pointer: fine) {
372        .button:not([disabled]):hover, .btn:not([disabled]):hover, .shopify-payment-button__button--unbranded:not([disabled]):hover {
373          --button-background-opacity: 0.85;
374        }
375
376        .button--subdued:not([disabled]):hover {
377          --button-background: var(--text-color) / .05 !important;
378        }
379      }</style>
379<script>
380  // This allows to expose several variables to the global scope, to be used in scripts
381  window.themeVariables = {
382    settings: {
383      showPageTransition: null,
384      staggerProductsApparition: true,
385      reduceDrawerAnimation: false,
386      reduceMenuAnimation: false,
387      headingApparition: "split_fade",
388      pageType: "cart",
389      moneyFormat: "€{{amount_with_comma_separator}}",
390      moneyWithCurrencyFormat: "€{{amount_with_comma_separator}} EUR",
391      currencyCodeEnabled: false,
392      cartType: "popover",
393      showDiscount: false,
394      discountMode: "saving",
395      pageBackground: "#ffffff",
396      textColor: "#1a1a1a"
397    },
398
399    strings: {
400      accessibilityClose: "Schließen",
401      accessibilityNext: "Vor",
402      accessibilityPrevious: "Zurück",
403      closeGallery: "Galerie schließen",
404      zoomGallery: "Bild vergrößern",
405      errorGallery: "Bild kann nicht geladen werden",
406      searchNoResults: "Keine Treffer",
407      addOrderNote: "Bestellhinweis hinzufügen",
408      editOrderNote: "Bestellhinweis bearbeiten",
409      shippingEstimatorNoResults: "Tut uns leid, aber wir verschicken leider nicht an deine Adresse.",
410      shippingEstimatorOneResult: "Für deine Adresse gibt es einen Versandtarif:",
411      shippingEstimatorMultipleResults: "Für deine Adresse gibt es mehrere Versandtarife:",
412      shippingEstimatorError: "Beim Berechnen der Versandkosten ist ein Fehler aufgetreten:"
413    },
414
415    breakpoints: {
416      'sm': 'screen and (min-width: 700px)',
417      'md': 'screen and (min-width: 1000px)',
418      'lg': 'screen and (min-width: 1150px)',
419      'xl': 'screen and (min-width: 1400px)',
420
421      'sm-max': 'screen and (max-width: 699px)',
422      'md-max': 'screen and (max-width: 999px)',
423      'lg-max': 'screen and (max-width: 1149px)',
424      'xl-max': 'screen and (max-width: 1399px)'
425    }
426  };
427
428  // For detecting native share
429  document.documentElement.classList.add(`native-share--${navigator.share ? 'enabled' : 'disabled'}`);</script>
429<script>
430      if (!(HTMLScriptElement.supports && HTMLScriptElement.supports('importmap'))) {
431        const importMapPolyfill = document.createElement('script');
432        importMapPolyfill.async = true;
433        importMapPolyfill.src = "//www.next-level-verlag.de/cdn/shop/t/4/assets/es-module-shims.min.js?v=140375185335194536761731938650";
434
435        document.head.appendChild(importMapPolyfill);
436      }
437    </script>
437
438
439    
439<script async crossorigin fetchpriority="high" src="/cdn/shopifycloud/importmap-polyfill/es-modules-shim.2.4.0.js"></script>
vendor: 1 bytes, line 439
439
440<script type="importmap">{
441        "imports": {
442          "vendor": "//www.next-level-verlag.de/cdn/shop/t/4/assets/vendor.min.js?v=87984156289740595151731938650",
443          "theme": "//www.next-level-verlag.de/cdn/shop/t/4/assets/theme.js?v=46263768749489231761731938650",
444          "photoswipe": "//www.next-level-verlag.de/cdn/shop/t/4/assets/photoswipe.min.js?v=13374349288281597431731938650"
445        }
446      }
447    </script>
447
448
449    
449<script type="module" src="//www.next-level-verlag.de/cdn/shop/t/4/assets/vendor.min.js?v=87984156289740595151731938650"></script>
449
450    
450<script type="module" src="//www.next-level-verlag.de/cdn/shop/t/4/assets/theme.js?v=46263768749489231761731938650"></script>
450
451    
451<script src="//www.next-level-verlag.de/cdn/shop/t/4/assets/custom.js?v=168197775787162638901782196393" defer></script>
451
452
453    
453<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
453<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/89935774045/digital_wallets/dialog">
454<meta id="in-context-paypal-metadata" data-shop-id="89935774045" data-venmo-supported="false" data-environment="production" data-locale="de_DE" data-paypal-v4="true" data-currency="EUR">
455<link rel="ucp" href="/.well-known/ucp" version="2026-08-25">
455<script async="async" src="/checkouts/internal/preloads.js?locale=de-DE"></script>
455
456<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
457<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=de-DE&shop_id=89935774045" crossorigin="anonymous"></script>
vendor: 1 bytes, line 457
457
458<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":89935774045,"countryCode":"DE","currencyCode":"EUR","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/89935774045","merchantName":"NXT LVL GmbH","requiredBillingContactFields":["postalAddress","email"],"requiredShippingContactFields":["postalAddress","email"],"shippingType":"shipping","supportedNetworks":["visa","maestro","masterCard","amex"],"total":{"type":"pending","label":"NXT LVL GmbH","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 458
458
459<script id="shopify-features" type="application/json">{"accessToken":"6699354db4fe56b6482d8b8c3b165185","betas":["rich-media-storefront-analytics"],"domain":"www.next-level-verlag.de","predictiveSearch":true,"shopId":89935774045,"locale":"de"}</script>
vendor: 1 bytes, line 459
459
460<script>var Shopify = Shopify || {};
461Shopify.shop = "52f6de-ed.myshopify.com";
462Shopify.locale = "de";
463Shopify.currency = {"active":"EUR","rate":"1.0"};
464Shopify.country = "DE";
465Shopify.theme = {"name":"NXT LVL Webshop","id":175475982685,"schema_name":"Impact","schema_version":"6.4.1","theme_store_id":1190,"role":"main"};
466Shopify.theme.handle = "null";
467Shopify.theme.style = {"id":null,"handle":null};
468Shopify.cdnHost = "www.next-level-verlag.de/cdn";
469Shopify.routes = Shopify.routes || {};
470Shopify.routes.root = "/";
471Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js";
472Shopify.SignInWithShop = Shopify.SignInWithShop || {};
473Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {};
474Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 474
474
475<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 475
475
476<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 476
476
477<script>
478  window.ShopifyPay = window.ShopifyPay || {};
479  window.ShopifyPay.apiHost = "shop.app\/pay";
480  window.ShopifyPay.redirectState = null;
481</script>
vendor: 1 bytes, line 481
481
482<script>
483  window.Shopify = window.Shopify || {};
484  window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {};
485  window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 };
486  window.Shopify.SignInWithShop.eligible = true;
487</script>
vendor: 1 bytes, line 487
487
488<script id="shop-js-analytics" type="application/json">{"pageType":"cart"}</script>
vendor: 1 bytes, line 488
488
489<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.de.esm.js"></script>
vendor: 1 bytes, line 489
489
490<script type="module">
491  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.de.esm.js");
492
493  window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true});
494
495</script>
vendor: 1 bytes, line 495
495
496<script>
497  window.Shopify = window.Shopify || {};
498  if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
499  window.Shopify.featureAssets['shop-js'] = {"avatar":["modules/v2/loader.avatar.de.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.de.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.de.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.de.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.de.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.de.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.de.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.de.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.de.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.de.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.de.esm.js"],"listener":["modules/v2/loader.listener.de.esm.js"],"pay-button":["modules/v2/loader.pay-button.de.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.de.esm.js"],"shop-button":["modules/v2/loader.shop-button.de.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.de.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.de.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.de.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.de.esm.js"],"shop-login":["modules/v2/loader.shop-login.de.esm.js"],"shop-toast-manager":["modules/v2/loader.shop-toast-manager.de.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.de.esm.js"]};
500</script>
vendor: 1 bytes, line 500
500
501<script>(function() {
502  var isLoaded = false;
503  function asyncLoad() {
504    if (isLoaded) return;
505    isLoaded = true;
506    var urls = ["https:\/\/cdn-app.sealsubscriptions.com\/shopify\/public\/js\/sealsubscriptions.js?shop=52f6de-ed.myshopify.com","https:\/\/cdn-bundler.nice-team.net\/app\/js\/bundler.js?shop=52f6de-ed.myshopify.com","https:\/\/cdn.opinew.com\/js\/opinew-active.js?shop=52f6de-ed.myshopify.com"];
507    for (var i = 0; i < urls.length; i++) {
508      var s = document.createElement('script');
509      s.type = 'text/javascript';
510      s.async = true;
511      s.src = urls[i];
512      var x = document.getElementsByTagName('script')[0];
513      x.parentNode.insertBefore(s, x);
514    }
515  };
516  if(window.attachEvent) {
517    window.attachEvent('onload', asyncLoad);
518  } else {
519    window.addEventListener('load', asyncLoad, false);
520  }
521})();</script>
vendor: 1 bytes, line 521
521
522<script id="__st">var __st={"a":89935774045,"offset":7200,"reqid":"7a5f4569-58fa-4909-b13f-bb3f7cbccf6b-1791090948","pageurl":"www.next-level-verlag.de\/cart","u":"11d7cccbd19c","p":"cart"};</script>
vendor: 1 bytes, line 522
522
523<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 523
523
524<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:'Durch hCaptcha geschützt',privacyText:'Datenschutz',termsText:'Allgemeine Geschäftsbedingungen'},(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 524
524
525<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//www.next-level-verlag.de/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 525
525
526<script>(function () {var userAgent = navigator.userAgent;var platform = navigator.platform;var maxTouchPoints = navigator.maxTouchPoints || 0;var isIOS = /iPad|iPhone|iPod/.test(platform) || (platform === 'MacIntel' && maxTouchPoints > 1);var isMacSafari = platform.indexOf('Mac') === 0 && /Safari/.test(userAgent) && !/Chrome|Chromium|CriOS|FxiOS|Edg|OPR|Android/.test(userAgent);var isAppleSafari = isIOS || isMacSafari;if (isAppleSafari) {fetch('/sf_private_access_tokens' + location.search).catch(function () {});}function browserMajorVersion(pattern) {var match = userAgent.match(pattern);return match ? parseInt(match[1], 10) : null;}function shouldLoadAutosizesPolyfill() {if (!window.PerformanceObserver?.supportedEntryTypes?.includes('paint')) {return false;}var chromeVersion = browserMajorVersion(/Chrome\/(\d+)/);if (chromeVersion !== null) {return chromeVersion < 126;}var firefoxVersion = browserMajorVersion(/Firefox\/(\d+)/);if (firefoxVersion !== null) {return firefoxVersion < 150;}var safariVersion = isAppleSafari ? browserMajorVersion(/Version\/(\d+).*Safari\//) : null;if (safariVersion !== null) {return safariVersion < 27;}return true;}if (shouldLoadAutosizesPolyfill()) {var autosizesScript = document.createElement('script');autosizesScript.async = true;autosizesScript.crossOrigin = 'anonymous';autosizesScript.src = "//www.next-level-verlag.de/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>
526<script crossorigin="anonymous" defer="defer" src="//www.next-level-verlag.de/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 526
526
527<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 527
527
528<script>
529  window.Shopify = window.Shopify || {};
530  window.Shopify.MCP = window.Shopify.MCP || {};
531  window.Shopify.MCP.enabled = true;
532  window.Shopify.MCP.shop = "52f6de-ed.myshopify.com";
533  window.Shopify.MCP.mcpEndpoint = "https:\/\/www.next-level-verlag.de\/api\/mcp";
534  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"]}}];
535</script>
vendor: 1 bytes, line 535
535
536<script>(()=>{var d="shopify:webmcp_adapter_loaded",n=Symbol.for("shopify.webmcp_adapter_loading");function s(c,a,{win:r=window,doc:o=document}={}){function p(){try{return r.localStorage.getItem(d)==="true"}catch{return!1}}function l(){try{r.localStorage.setItem(d,"true")}catch{}}function u(){return typeof(o.modelContext||r.navigator?.modelContext)?.registerTool=="function"}function f(){if(r[n]||!u())return;let t=o.head||o.getElementsByTagName("head")[0];if(!t)return;let e=o.createElement("script");e.type="module",e.crossOrigin="anonymous",a&&(e.integrity=a),e.src=c,e.addEventListener("load",l,{once:!0}),e.addEventListener("error",()=>{r[n]=!1},{once:!0}),t.appendChild(e),r[n]=!0}function _(t){let e=o.getElementById("shopify-origin-trials");if(!e||r.__shopifyOriginTrialsDone){t();return}e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})}function i(){_(()=>r.setTimeout(f,0))}function m(){o.addEventListener("DOMContentLoaded",i,{once:!0})}p()?i():m()}s("\/\/www.next-level-verlag.de\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})();
537</script>
vendor: 1 bytes, line 537
537
538<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.src="https://www.next-level-verlag.de/cdn/shopifycloud/portable-wallets/latest/portable-wallets.de.js",t.type="module",document.head.appendChild(t)}};
539</script>
vendor: 1 bytes, line 539
539
540<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
541  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);
542</script>
vendor: 1 bytes, line 542
542
543<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})}}));
544</script>
vendor: 1 bytes, line 544
544
545<script id='scb4127' type='text/javascript' async='' src='https://www.next-level-verlag.de/cdn/shopifycloud/privacy-banner/storefront-banner.js'></script>
545<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://www.next-level-verlag.de/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous">
546<style id="shopify-accelerated-checkout-cart">
547        #shopify-buyer-consent {
548  margin-top: 1em;
549  display: inline-block;
550  width: 100%;
551}
552
553#shopify-buyer-consent.hidden {
554  display: none;
555}
556
557#shopify-subscription-policy-button {
558  background: none;
559  border: none;
560  padding: 0;
561  text-decoration: underline;
562  font-size: inherit;
563  cursor: pointer;
564}
565
566#shopify-subscription-policy-button::before {
567  box-shadow: none;
568}
569
570      </style>
571
572<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
572
573<link href="//www.next-level-verlag.de/cdn/shop/t/4/assets/theme.css?v=151159139448717063861731938650" rel="stylesheet" type="text/css" media="all" /><link href="//www.next-level-verlag.de/cdn/shop/t/4/assets/custom.css?v=50839255642774905281782196992" rel="stylesheet" type="text/css" media="all" />
574
575
576  
577   
577<script defer>
578
579    /**
580     * IMPORTANT!
581     * Do not edit this file. Any changes made could be overwritten by Multiship at
582     * any time.
583     *
584     * The below code is critical to the functionality of Multiship's multiple shipping
585     * address and bundle features. It also greatly improves the load time of the
586     * application.
587     */
588
589    if (typeof(GIST) == 'undefined') {
590      window.GIST = GIST = {};
591    }
592    if (typeof(GIST.f) == 'undefined') {
593      GIST.f = {};
594    }
595
596    
597
598    
599
600
601  </script>
601
602
603  
604
605
606  
607  
607<script type="text/javascript" src="https://multiship.app/build/storefront/storefront.js" defer></script>
607
608  <link rel="stylesheet" type="text/css" href="https://multiship.app/build/storefront/storefront.css">
609  
610
611
612      	 
613<!-- BEGIN app block: shopify://apps/seal-subscriptions/blocks/subscription-script-append/13b25004-a140-4ab7-b5fe-29918f759699 -->
613<script defer="defer">
614	/**	SealSubs loader,version number: 2.0 */
615	(function(){
616		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)};
617		// Set variable to prevent the other loader from requesting the same resources
618		window.seal_subs_app_block_loader = true;
619		appendScriptUrl('52f6de-ed.myshopify.com');
620
621		// get script url and append timestamp of last change
622		function appendScriptUrl(shop) {
623			var timeStamp = Math.floor(Date.now() / (1000*1*1));
624			var timestampUrl = 'https://app.sealsubscriptions.com/shopify/public/status/shop/'+shop+'.js?'+timeStamp;
625			loadScript(timestampUrl, function() {
626				// append app script
627				if (typeof sealsubscriptions_settings_updated == 'undefined') {
628					sealsubscriptions_settings_updated = 'default-by-script';
629				}
630				
631				var locale = '';
632				if (typeof window !== 'undefined' && 
633					typeof window.Shopify !== 'undefined' && 
634					typeof window.Shopify.locale !== 'undefined'
635				) {
636					locale = window.Shopify.locale;
637				}
638
639				var scriptUrl = "https://cdn-app.sealsubscriptions.com/shopify/public/js/sealsubscriptions-main.js?shop="+shop+"&"+sealsubscriptions_settings_updated+`&locale=${locale}`;
640				loadScript(scriptUrl, function(){});
641			});
642		}
643	})();
644
645	var SealSubsScriptAppended = true;
646	
647</script>
647
648
649<!-- END app block --><!-- BEGIN app block: shopify://apps/sitemap-noindex-pro-seo/blocks/app-embed/4d815e2c-5af0-46ba-8301-d0f9cf660031 --><meta name="robots" content="noindex,nofollow" />
650<!-- END app block --><!-- BEGIN app block: shopify://apps/bundler/blocks/bundler-script-append/7a6ae1b8-3b16-449b-8429-8bb89a62c664 -->
650<script defer="defer">
651	/**	Bundler script loader, version number: 2.0 */
652	(function(){
653		var loadScript=function(a,b){var c=document.createElement("script");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)};
654		appendScriptUrl('52f6de-ed.myshopify.com');
655
656		// get script url and append timestamp of last change
657		function appendScriptUrl(shop) {
658
659			var timeStamp = Math.floor(Date.now() / (1000*1*1));
660			var timestampUrl = 'https://bundler.nice-team.net/app/shop/status/'+shop+'.js?'+timeStamp;
661
662			loadScript(timestampUrl, function() {
663				// append app script
664				if (typeof bundler_settings_updated == 'undefined') {
665					console.log('settings are undefined');
666					bundler_settings_updated = 'default-by-script';
667				}
668				var scriptUrl = "https://cdn-bundler.nice-team.net/app/js/bundler-script.js?shop="+shop+"&"+bundler_settings_updated;
669				loadScript(scriptUrl, function(){});
670			});
671		}
672	})();
673
674	var BndlrScriptAppended = true;
675	
676
677	
678		var BndlrMarketId = 89679135069;
679	
680</script>
680
681
682<!-- END app block --><!-- BEGIN app block: shopify://apps/parkour-facebook-pixel/blocks/threasury_pixel/f23b2ffe-4c53-446e-ad3a-7976ffbee5c2 -->
683
684<script>
685  (function () {
686    const params = new URLSearchParams(window.location.search);
687    const hasBuilderMode = params.get('eventBuilderMode') === 'true';
688    const encodedSelector = params.get('selector');
689
690    if (hasBuilderMode) {
691      sessionStorage.setItem('eventBuilderMode', '1');
692    }
693
694    const fromSession = sessionStorage.getItem('eventBuilderMode');
695
696    // ✅ Store the decoded selector globally
697    if (encodedSelector) {
698      try {
699        const decoded = decodeURIComponent(encodedSelector);
700        sessionStorage.setItem('eventBuilderSelector', decoded);
701        window.extractedSelector = decoded;
702        console.log('[Parkour] Builder selector loaded:', decoded);
703      } catch (err) {
704        console.warn('[Parkour] Failed to decode selector:', err);
705      }
706    }
707
708    // ✅ Load eventBuilder.js if in builder mode
709    if (hasBuilderMode || fromSession) {
710      const s = document.createElement('script');
711      s.src = "https://cdn.shopify.com/extensions/01a08191-1bc5-79e2-bd0a-2c7e134c9184/parkour-pixel-111/assets/eventBuilder.js";
712      s.async = true;
713      document.head.appendChild(s);
714    }
715  })();
716</script>
716
717
718<script>
719  document.addEventListener('DOMContentLoaded', function () {
720    // Metafield emitted via | json (with </ escaped): raw template-literal
721    // interpolation broke this whole block when the value contained a backtick or
722    // quote, and a closing script tag inside a value was stored XSS.
723    // base64_encode instead of | json: Shopify's json filter REFUSES multiline
724    // metafields (emits {"error":"json not allowed for this object"}), and base64
725    // output can never contain quotes/backslashes/closing tags — injection-proof
726    // for every metafield type. base64_encode encodes the UTF-8 BYTES, and atob()
727    // alone reads them back as Latin-1 — silent mojibake for any non-ASCII event
728    // name/trigger (JSON.parse still succeeds!). TextDecoder restores real UTF-8;
729    // for pure-ASCII values it is an exact identity.
730    const metaData = (() => { try { return new TextDecoder().decode(Uint8Array.from(atob(''), (c) => c.charCodeAt(0))); } catch (e) { return ''; } })();
731    try {
732      // custom_events is a json-TYPE metafield, so `| json` can emit a real array —
733      // handle array, plain-JSON string, and the legacy base64 shape (mirrors
734      // safeParseMetaData) so the tracker loads on a fresh visitor's FIRST page view.
735      let customEvents = Array.isArray(metaData) ? metaData : null;
736      if (!customEvents && metaData) {
737        try { customEvents = JSON.parse(metaData); }
738        catch (e1) {
739          try { customEvents = JSON.parse(decodeURIComponent(atob(metaData))); }
740          catch (e2) { customEvents = null; }
741        }
742      }
743      const fromLocal = localStorage.getItem('Parkour_custom_events_fb');
744      // Only load the tracker when there are actually events (an empty [] used to
745      // still boot the MutationObserver machinery on every page).
746      const hasCustomEvents = (Array.isArray(customEvents) && customEvents.length > 0) || (fromLocal && fromLocal !== '[]');
747      if (hasCustomEvents) {
748        const script = document.createElement('script');
749        script.src = "https://cdn.shopify.com/extensions/01a08191-1bc5-79e2-bd0a-2c7e134c9184/parkour-pixel-111/assets/customTracker.js";
750        script.async = true;
751        document.head.appendChild(script);
752      }
753    } catch (e) {
754      console.warn('[Parkour] customTracker.js load failed', e);
755    }
756  });
757</script>
757
758
759<script>
760const FacebookTracker = {
761  config: {
762    debug: localStorage.getItem('tdb') || null,
763    storageKeys: {
764      PREFERRED_ID: 'Parkour_preferred_id_fb',
765      AD_INFO: 'Parkour_ad_info_fb',
766      AD_LOGS: 'Parkour_ad_logs_fb',
767      PIXEL_STATUS: 'Parkour_pixel_app_status_fb',
768      PIXEL_CONFIG: 'Parkour_pixel_config_fb',
769      CUSTOMER_HASHED: 'Parkour_Customer_params_fb',
770      CUSTOM_EVENTS: 'Parkour_custom_events_fb',
771      WEB_PIXEL: 'Parkour_web_pixel_fb',
772      EXTERNAL_ID: 'Parkour_external_id',
773      PAGE_DATA: 'Parkour_page_data',
774      FBC: 'Parkour_fbc',
775      FBP: 'Parkour_fbp',
776    },
777    fbParams: {
778      standard: ['fbclid', 'utm_campaign', 'ad_name', 'utm_source', 'adset_name', 'campaign_id', 'adset_id', 'ad_id', 'utm_id']
779    }
780  },
781
782  utils: {
783    log(message, data = null) {
784      if (FacebookTracker.config.debug === null) return;
785      console.log(`[Facebook Tracker] ${message}`, data);
786    },
787    stripDiacritics(str) {
788      return str.normalize('NFD').replace(/[\u0300-\u036f]/g, '');
789    },
790    normalizeField(value, field) {
791      if (!value) return '';
792      let v = String(value).trim().toLowerCase();
793      switch (field) {
794        case 'email':
795          return v;
796        case 'phone':
797          return v.replace(/[^0-9]/g, '');
798        case 'city':
799          return FacebookTracker.utils.stripDiacritics(v).replace(/[^a-z]/g, '');
800        case 'state':
801          v = FacebookTracker.utils.stripDiacritics(v);
802          v = v.replace(/\b(county|province|region|state|district)\b/g, '');
803          return v.replace(/[^a-z]/g, '');
804        case 'country':
805          v = FacebookTracker.utils.stripDiacritics(v).replace(/[^a-z]/g, '');
806          return v.length === 2 ? v : '';
807        case 'zipCode':
808          return v.replace(/[\s\-]/g, '');
809        default:
810          return FacebookTracker.utils.stripDiacritics(v).replace(/[^a-z]/g, '');
811      }
812    },
813    async HashString(str) {
814      if (!str) return '';
815      const encoder = new TextEncoder();
816      const data = encoder.encode(str);
817      const hash = await crypto.subtle.digest('SHA-256', data);
818      return Array.from(new Uint8Array(hash)).map(b => b.toString(16).padStart(2, '0')).join('');
819    },
820    retry: async (fn, attempts = 3) => {
821      for (let i = 0; i < attempts; i++) {
822        try { return await fn(); } catch (e) {
823          if (i === attempts - 1) throw e;
824          await new Promise(r => setTimeout(r, (i + 1) * 1000));
825        }
826      }
827    },
828    generateId(prefix = 'CID') {
829      return `${prefix}-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
830    },
831    getCookie(name) {
832      const match = document.cookie.match(new RegExp(`(^| )${name}=([^;]+)`));
833      return match ? match[2] : null;
834    },
835    setCookie(name, value, days = 90) {
836      const expires = new Date(Date.now() + days * 864e5).toUTCString();
837      document.cookie = `${name}=${value}; expires=${expires}; path=/; SameSite=Lax`;
838    },
839    getUrlParam(name) {
840      return new URLSearchParams(window.location.search).get(name);
841    },
842    getRawUrlParam(name) {
843      // Returns the param EXACTLY as it appears in the URL, without percent-decoding.
844      // URLSearchParams.get() decodes %XX escapes and converts "+" to a space, which
845      // mangles fbclid values and makes Meta flag a "modified fbclid value in fbc".
846      const match = window.location.search.match(new RegExp('[?&]' + name + '=([^&#]*)'));
847      return match ? match[1] : null;
848    },
849    getFormattedTimestamp() {
850      const now = new Date();
851      return { timestamp: now.toISOString(), formattedDate: now.toLocaleString() };
852    },
853    safeParseMetaData(data) {
854      // Two writer generations exist in the wild: the service app stores RAW JSON
855      // (json-type metafields), older installs stored btoa(encodeURIComponent(JSON))
856      // in multiline string metafields. Try both — and NEVER throw: any third/corrupt
857      // shape must degrade to null, because a throw here aborted the rest of init()
858      // (fbc/fbp capture, cart attribution) for the whole shop.
859      try {
860        return JSON.parse(data);
861      } catch (e) {
862        try {
863          return JSON.parse(decodeURIComponent(atob(data)));
864        } catch (e2) {
865          FacebookTracker.utils.log('Unparseable metafield shape — skipping', e2);
866          return null;
867        }
868      }
869    }
870  },
871
872  storage: {
873    set(key, value) {
874      localStorage.setItem(key, typeof value === 'string' ? value : JSON.stringify(value));
875    },
876    get(key, type = 'json') {
877      const val = localStorage.getItem(key);
878      if (!val) return null;
879      return type === 'string' ? val : JSON.parse(val);
880    },
881    remove(key) {
882      localStorage.removeItem(key);
883    },
884    appendToArray(key, item) {
885      const arr = FacebookTracker.storage.get(key) || [];
886      FacebookTracker.storage.set(key, [...arr, item]);
887    }
888  },
889
890  tracking: {
891    async initializeExternalId() {
892      let id = FacebookTracker.storage.get(FacebookTracker.config.storageKeys.EXTERNAL_ID, 'string');
893      if (!id) {
894        id = FacebookTracker.utils.generateId();
895        FacebookTracker.storage.set(FacebookTracker.config.storageKeys.EXTERNAL_ID, id);
896      }
897      return id;
898    },
899
900    isFbcExpired(fbc) {
901      if (!fbc) return true;
902      const parts = fbc.split('.');
903      if (parts.length < 4) return true;
904      const timestamp = parseInt(parts[2], 10);
905      if (isNaN(timestamp)) return true;
906      const sevenDaysMs = 7 * 24 * 60 * 60 * 1000;
907      return (Date.now() - timestamp) > sevenDaysMs;
908    },
909
910    handleFbc() {
911      // Read the fbclid EXACTLY as it appears in the URL (no decoding — that is what
912      // produced the "modified fbclid value in fbc" warning) and the current _fbc cookie.
913      let fbclid = FacebookTracker.utils.getRawUrlParam('fbclid');
914      // Recovery for %XX-RE-ENCODED fbclids (email gateways / redirectors): decode
915      // exactly once, and only when the result is a clean base64url click id — this
916      // restores the original value and cannot reintroduce the +→space corruption
917      // (decodeURIComponent leaves '+' untouched).
918      if (fbclid && fbclid.indexOf('%') !== -1) {
919        try {
920          const decoded = decodeURIComponent(fbclid);
921          if (/^[A-Za-z0-9_-]+$/.test(decoded)) fbclid = decoded;
922        } catch (e) { /* malformed escape — keep raw */ }
923      }
924      const existing = FacebookTracker.utils.getCookie('_fbc');
925
926      if (fbclid && fbclid != 'fbclid') {
927        // A fbclid in the URL is a fresh click. If a _fbc cookie already exists for THIS
928        // same fbclid (e.g. set by Meta's own pixel), keep it as-is — it carries the
929        // authoritative timestamp/subdomain index. Only (re)build for a NEW click, which
930        // also refreshes the timestamp and prevents sending an expired fbclid later.
931        // Compare the click-id SEGMENT, not the string tail: Meta's fbevents.js writes a
932        // fifth "appendix" segment (fb.1.<ts>.<fbclid>.AQYCAQIB), so endsWith() saw a
933        // "different" click and overwrote Meta's cookie on every ad landing.
934        if (existing && existing.split('.')[3] === fbclid) {
935          FacebookTracker.storage.set(FacebookTracker.config.storageKeys.FBC, existing);
936          return existing;
937        }
938        const fbc = `fb.1.${Date.now()}.${fbclid}`;
939        FacebookTracker.utils.setCookie('_fbc', fbc);
940        FacebookTracker.storage.set(FacebookTracker.config.storageKeys.FBC, fbc);
941        return fbc;
942      }
943      // No fresh fbclid: reuse a stored/cookie fbc only if it is not expired; otherwise
944      // clear it from both stores so we never send an expired fbclid (its localStorage
945      // copy has no natural expiry).
946      const stored = FacebookTracker.storage.get(FacebookTracker.config.storageKeys.FBC, 'string');
947      const cookie = FacebookTracker.utils.getCookie('_fbc');
948      const fbc = stored || cookie;
949      if (fbc && !FacebookTracker.tracking.isFbcExpired(fbc)) {
950        FacebookTracker.storage.set(FacebookTracker.config.storageKeys.FBC, fbc);
951        return fbc;
952      }
953      // Clear expired fbc
954      FacebookTracker.storage.remove(FacebookTracker.config.storageKeys.FBC);
955      FacebookTracker.utils.setCookie('_fbc', '', -1);
956      return null;
957    },
958
959    handleFbp() {
960      let fbp = FacebookTracker.utils.getCookie('_fbp');
961      if (!fbp) {
962        fbp = `fb.1.${Date.now()}.${Math.floor(Math.random() * 1e9)}`;
963        FacebookTracker.utils.setCookie('_fbp', fbp);
964      }
965      FacebookTracker.storage.set(FacebookTracker.config.storageKeys.FBP, fbp);
966      return fbp;
967    },
968
969    collectAdParameters() {
970      const adData = FacebookTracker.storage.get(FacebookTracker.config.storageKeys.AD_INFO) || {};
971      let hasNew = false;
972      adData.facebook = adData.facebook || {};
973
974      FacebookTracker.config.fbParams.standard.forEach(param => {
975        const value = FacebookTracker.utils.getUrlParam(param);
976        if (value && adData.facebook[param] !== value) {
977          adData.facebook[param] = value;
978          hasNew = true;
979        }
980      });
981
982      adData.referrer = document.referrer;
983      if (hasNew) FacebookTracker.storage.set(FacebookTracker.config.storageKeys.AD_INFO, adData);
984      return adData;
985    },
986
987    collectPageData() {
988      return {
989        product_name: null,
990        selected_variant: null,
991        product_id: null,
992        variant_id: null,
993        collection_ids: [],
994        tags: null,
995        page_type: "cart",
996        currency: "EUR",
997        price: null
998      }
999    },
1000
1001    logAdData(adParams) {
1002      if (!adParams?.facebook || Object.keys(adParams.facebook).length === 0) return;
1003      const entry = {
1004        ...adParams,
1005        url: window.location.href,
1006        referrer: document.referrer,
1007        ...FacebookTracker.utils.getFormattedTimestamp()
1008      };
1009      FacebookTracker.storage.appendToArray(FacebookTracker.config.storageKeys.AD_LOGS, entry);
1010      FacebookTracker.utils.log('Ad data logged', entry);
1011    },
1012
1013    async hashCustomer() {
1014      try {
1015        const customerData = {
1016          email: null,
1017          first_name: null,
1018          last_name: null,
1019          phone: null,
1020          default_address: null
1021        };
1022
1023        // Geo context: only fetched when Shopify's own customer data is missing
1024        // fields, only when marketing consent is not denied, and cached for 24h.
1025        // Previously BOTH endpoints were hit on EVERY page view for EVERY visitor —
1026        // ipinfo's unauthenticated tier rate-limits, and shipping visitor IPs to a
1027        // third party regardless of consent state is a compliance exposure.
1028        let browsingGeo = {}, ipinfoGeo = {};
1029        const addrPeek = customerData.default_address;
1030        const needsGeo = !(addrPeek?.province_code || addrPeek?.province) || !addrPeek?.city || !addrPeek?.country_code || !addrPeek?.zip;
1031        const consentAllows = (() => {
1032          const cp = window.Shopify && window.Shopify.customerPrivacy;
1033          if (cp && typeof cp.marketingAllowed === 'function') {
1034            try { return cp.marketingAllowed() !== false; } catch (e) { return true; }
1035          }
1036          return true;
1037        })();
1038        if (needsGeo && consentAllows) {
1039          const cachedGeo = FacebookTracker.storage.get('Parkour_geo_fb');
1040          if (cachedGeo && cachedGeo.exp > Date.now()) {
1041            browsingGeo = cachedGeo.browsingGeo || {};
1042            ipinfoGeo = cachedGeo.ipinfoGeo || {};
1043          } else {
1044            try {
1045              const [browsingResp, ipinfoResp] = await Promise.all([
1046                fetch('/browsing_context_suggestions.json'),
1047                fetch('https://ipinfo.io/json')
1048              ]);
1049              browsingGeo = await browsingResp.json();
1050              ipinfoGeo = await ipinfoResp.json();
1051              FacebookTracker.storage.set('Parkour_geo_fb', { browsingGeo, ipinfoGeo, exp: Date.now() + 864e5 });
1052            } catch (geoErr) {
1053              FacebookTracker.utils.log('Geo fetch failed, using Shopify data only', geoErr);
1054            }
1055          }
1056        }
1057        const countryCode = browsingGeo?.detected_values?.country?.handle || ipinfoGeo.country || '';
1058
1059        const addr = customerData.default_address;
1060        const raw = {
1061          firstName: customerData.first_name || addr?.first_name || '',
1062          lastName: customerData.last_name || addr?.last_name || '',
1063          email: customerData.email || '',
1064          phone: customerData.phone || addr?.phone || '',
1065          state: addr?.province_code || addr?.province || ipinfoGeo.region || '',
1066          city: addr?.city || ipinfoGeo.city || '',
1067          country: addr?.country_code || countryCode,
1068          zipCode: addr?.zip || ipinfoGeo.postal || ''
1069        };
1070
1071        const formatted = {};
1072        for (const key in raw) {
1073          const normalized = FacebookTracker.utils.normalizeField(raw[key], key);
1074          if (normalized) formatted[key] = normalized;
1075        }
1076
1077        const hashed = {};
1078        for (const key in formatted) {
1079          hashed[key] = await FacebookTracker.utils.HashString(formatted[key]);
1080        }
1081        
1082        const existing = FacebookTracker.storage.get(FacebookTracker.config.storageKeys.CUSTOMER_HASHED);
1083        const newHashed = { ...existing, ...hashed };
1084        FacebookTracker.storage.set(FacebookTracker.config.storageKeys.CUSTOMER_HASHED, newHashed);
1085      } catch (err) {
1086        FacebookTracker.utils.log('Customer hash error', err, 'error');
1087      }
1088    },
1089
1090    captureFirstTouch() {
1091      const PREFIX = '__parkour_';
1092      const urlParams = new URLSearchParams(window.location.search);
1093
1094      const setOnce = (key, value) => {
1095        const existing = document.cookie.includes(`${key}=`);
1096        if (!existing) {
1097          localStorage.setItem(key, value);
1098          const expires = new Date(Date.now() + 90 * 864e5).toUTCString();
1099          document.cookie = `${key}=${encodeURIComponent(value)}; expires=${expires}; path=/; SameSite=Lax`;
1100        }
1101      };
1102
1103      const clickIds = ['fbclid', 'ttclid', 'gclid', 'ScCid', 'scCid', 'srsltid'];
1104      const utms = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content','ad_id','campaign_id','adset_id' ];
1105
1106      [...clickIds, ...utms].forEach(param => {
1107        const val = urlParams.get(param);
1108        if (val) setOnce(`${PREFIX}${param}`, val);
1109      });
1110
1111      setOnce(`${PREFIX}landing`, window.location.href);
1112      setOnce(`${PREFIX}referrer`, document.referrer || 'direct');
1113    }
1114  },
1115
1116  cart: {
1117    async updateAttributes(attributes) {
1118      // POST only OUR keys: /cart/update.js merges the provided attributes and leaves
1119      // every other attribute untouched. The old read-modify-write (GET /cart.js +
1120      // full-snapshot POST) doubled the request count on every page view and raced
1121      // the customer's own updates and the sibling TikTok/Snapchat trackers — a stale
1122      // snapshot could re-apply an OLD fbc over a freshly captured one.
1123      return FacebookTracker.utils.retry(async () => {
1124        return fetch('/cart/update.js', {
1125          method: 'POST',
1126          headers: { 'Content-Type': 'application/json' },
1127          body: JSON.stringify({ attributes })
1128        }).then(res => res.json());
1129      });
1130    }
1131  },
1132
1133  async init() {
1134    try {
1135      // Metafields emitted via | json (with </ escaped): raw template-literal
1136      // interpolation meant a single quote/backtick in any metafield killed init()
1137      // for the whole shop (no fbc/fbp capture, no cart attribution) and a closing
1138      // script tag in a value was stored XSS. normalizeMetafield keeps downstream string
1139      // handling identical whether the metafield renders as a string or an object.
1140      const normalizeMetafield = (v) => (v == null ? '' : (typeof v === 'string' ? v : JSON.stringify(v)));
1141      // b64: Shopify's json filter refuses multiline metafields (renders
1142      // {"error":"json not allowed for this object"} — this broke pixel_config),
1143      // while base64 output is injection-proof for EVERY metafield type: its
1144      // alphabet cannot contain quotes, backslashes, or closing script tags.
1145      // TextDecoder is required: base64_encode emits UTF-8 BYTES and bare atob()
1146      // reads them as Latin-1 — silently mojibaking non-ASCII metafield content.
1147      // Identity for ASCII, so the legacy btoa(encodeURIComponent(...)) shape that
1148      // safeParseMetaData handles is unaffected.
1149      const b64 = (s) => { try { return new TextDecoder().decode(Uint8Array.from(atob(s), (c) => c.charCodeAt(0))); } catch (e) { return ''; } };
1150      const pixelConfig = normalizeMetafield(b64('SlRWQ0pUZENKVEl5Wm1KVFpYUjBhVzVuY3lVeU1pVXpRU1UzUWlVeU1tTnZiblpsY25OcGIyNUJjR2tsTWpJbE0wRWxOMElsTWpKamIyNTJaWEp6YVc5dVFYQnBVM1JoZEhWekpUSXlKVE5CSlRJeWJtOGxNaklsTWtNbE1qSjBaWE4wUlhabGJuUkRiMlJsSlRJeUpUTkJKVEl5SlRJeUpUZEVKVEpESlRJeVlYVjBiMGx1Y0hWMFVHbDRaV3dsTWpJbE0wRWxOMElsTWpKelpXeGxZM1JDZFhOcGJtVnpjMEZqWTI5MWJuUWxNaklsTTBFbE1qSWxNaklsTWtNbE1qSnpaV3hsWTNSUWFYaGxiQ1V5TWlVelFTVXlNaVV5TWlVeVF5VXlNbkJwZUdWc1RtRnRaU1V5TWlVelFXNTFiR3dsTjBRbE1rTWxNakp0WVc1MVlXeEpibkIxZEZCcGVHVnNKVEl5SlROQkpUZENKVEl5Y0dsNFpXeE9ZVzFsSlRJeUpUTkJKVEl5U1hOMWRXNGxNakF0SlRJd1RXRjRKVEl3UjI5MGVteGxjaVV5TUNoRWFXVWxNakJHYkc5M0pUSXdSbTl5YldWc0tTVXlNaVV5UXlVeU1uQnBlR1ZzU1dRbE1qSWxNMEVsTWpJeE16UTBOamt6TlRBek5qWTJNalUySlRJeUpUZEVKVEpESlRJeWMyVjBkR2x1WjNNbE1qSWxNMEVsTjBJbE1qSmhaSFpoYm1ObFpGUnlZV05yYVc1bkpUSXlKVE5CSlRkQ0pUSXlkSGx3WlNVeU1pVXpRU1V5TW5ObGJHVmpkR1ZrSlRJd2NHRm5aWE1sTWpJbE1rTWxNakowWVdkekpUSXlKVE5CSlRWQ0pUVkVKVEpESlRJeWNISnZaSFZqZEhNbE1qSWxNMEVsTlVJbE4wSWxNakpwWkNVeU1pVXpRU1V5TW1kcFpDVXpRU1V5UmlVeVJuTm9iM0JwWm5rbE1rWlFjbTlrZFdOMEpUSkdNVFUxTURnd01EVTRORGN6T0RrbE1qSWxNa01sTWpKb1lXNWtiR1VsTWpJbE0wRWxNakpFYVdVbE1qQkdiRzkzSlRJd1JtOXliV1ZzSlRJeUpUZEVKVFZFSlRKREpUSXlZMjlzYkdWamRHbHZibk1sTWpJbE0wRWxOVUlsTlVRbE4wUWxNa01sTWpKbGRtVnVkRk5sZEhScGJtZHpKVEl5SlROQkpUZENKVEl5ZG1sbGQwTnZiblJsYm5RbE1qSWxNMEYwY25WbEpUSkRKVEl5Y0dGblpWWnBaWGNsTWpJbE0wRjBjblZsSlRKREpUSXlhVzVwZEdsaGRHVmtRMmhsWTJ0dmRYUWxNaklsTTBGMGNuVmxKVEpESlRJeVlXUmtWRzlEWVhKMEpUSXlKVE5CZEhKMVpTVXlReVV5TW5CMWNtTm9ZWE5sSlRJeUpUTkJkSEoxWlNVeVF5VXlNbE5sWVhKamFDVXlNaVV6UVhSeWRXVWxNa01sTWpKMmFXVjNRMjlzYkdWamRHbHZiaVV5TWlVelFXWmhiSE5sSlRKREpUSXlkbWxsZDBOaGNuUWxNaklsTTBGbVlXeHpaU1V5UXlVeU1tRmtaRkJoZVcxbGJuUkpibVp2SlRJeUpUTkJkSEoxWlNVM1JDVXlReVV5TW1OMWMzUnZiV1Z5U1c1bWIzSnRZWFJwYjI1UVlYSmhiV1YwWlhKekpUSXlKVE5CSlRkQ0pUSXlabWx5YzNST1lXMWxKVEl5SlROQmRISjFaU1V5UXlVeU1teGhjM1JPWVcxbEpUSXlKVE5CZEhKMVpTVXlReVV5TW1WdFlXbHNKVEl5SlROQmRISjFaU1V5UXlVeU1uQm9iMjVsSlRJeUpUTkJkSEoxWlNVeVF5VXlNbU5wZEhrbE1qSWxNMEYwY25WbEpUSkRKVEl5YzNSaGRHVWxNaklsTTBGMGNuVmxKVEpESlRJeVkyOTFiblJ5ZVNVeU1
1150pVXpRWFJ5ZFdVbE1rTWxNako2YVhCRGIyUmxKVEl5SlROQmRISjFaU1V5UXlVeU1tVjRkR1Z5Ym1Gc1NXUWxNaklsTTBGMGNuVmxKVGRFSlRkRUpUZEVKVEpESlRJeWFXUWxNaklsTTBFbE1qSTJPRGd5TURBeVpURXlPREUzTmpWa05HWTNPREU0TW1JbE1qSWxNa01sTWpKemFHOXdKVEl5SlROQkpUSXlOVEptTm1SbExXVmtMbTE1YzJodmNHbG1lUzVqYjIwbE1qSWxNa01sTWpKaFkzUnBkbVVsTWpJbE0wRjBjblZsSlRKREpUSXlkSGx3WlNVeU1pVXpRU1V5TWtaQlEwVkNUMDlMSlRJeUpUSkRKVEl5Y0dsNFpXeEpaQ1V5TWlVelFTVXlNakV6TkRRMk9UTTFNRE0yTmpZeU5UWWxNaklsTWtNbE1qSnlaWE53WldOMFEyOXZhMmxsUTI5dWMyVnVkQ1V5TWlVelFXWmhiSE5sSlRkRUpUSkRKVGRDSlRJeVptSlRaWFIwYVc1bmN5VXlNaVV6UVNVM1FpVXlNbU52Ym5abGNuTnBiMjVCY0drbE1qSWxNMEVsTjBJbE1qSmpiMjUyWlhKemFXOXVRWEJwVTNSaGRIVnpKVEl5SlROQkpUSXlibThsTWpJbE1rTWxNakowWlhOMFJYWmxiblJEYjJSbEpUSXlKVE5CSlRJeUpUSXlKVGRFSlRKREpUSXlZWFYwYjBsdWNIVjBVR2w0Wld3bE1qSWxNMEVsTjBJbE1qSnpaV3hsWTNSQ2RYTnBibVZ6YzBGalkyOTFiblFsTWpJbE0wRWxNaklsTWpJbE1rTWxNakp6Wld4bFkzUlFhWGhsYkNVeU1pVXpRU1V5TWlVeU1pVXlReVV5TW5CcGVHVnNUbUZ0WlNVeU1pVXpRVzUxYkd3bE4wUWxNa01sTWpKdFlXNTFZV3hKYm5CMWRGQnBlR1ZzSlRJeUpUTkJKVGRDSlRJeWNHbDRaV3hPWVcxbEpUSXlKVE5CSlRJeVNIVnRZVzRsTWpCRVpYTnBaMjRsTWpJbE1rTWxNakp3YVhobGJFbGtKVEl5SlROQkpUSXlNemM1TmpVME56TTRNVEF4TnpFM0pUSXlKVGRFSlRKREpUSXljMlYwZEdsdVozTWxNaklsTTBFbE4wSWxNakpoWkhaaGJtTmxaRlJ5WVdOcmFXNW5KVEl5SlROQkpUZENKVEl5ZEhsd1pTVXlNaVV6UVNVeU1uTmxiR1ZqZEdWa0pUSXdjR0ZuWlhNbE1qSWxNa01sTWpKMFlXZHpKVEl5SlROQkpUVkNKVFZFSlRKREpUSXljSEp2WkhWamRITWxNaklsTTBFbE5VSWxOMElsTWpKcFpDVXlNaVV6UVNVeU1tZHBaQ1V6UVNVeVJpVXlSbk5vYjNCcFpua2xNa1pRY205a2RXTjBKVEpHTVRVMU16UTBNekl3TWpZNU56TWxNaklsTWtNbE1qSm9ZVzVrYkdVbE1qSWxNMEVsTWpKWGIyWWxRek1sUWtOeUpUSXdaSFVsTWpCb2FXVnlKVEl3WW1semRDVXpRU1V5TUUxcGRDVXlNRWgxYldGdUpUSXdSR1Z6YVdkdUpUSXdaR2xsSlRJd1FXSnJKVU16SlVKRGNucDFibWNsTWpCNmRYSWxNakJUWld4aWMzUmxjbXRsYm01MGJtbHpKVEl3Ym1Wb2JXVnVKVEl5SlRkRUpUVkVKVEpESlRJeVkyOXNiR1ZqZEdsdmJuTWxNaklsTTBFbE5VSWxOVVFsTjBRbE1rTWxNakpsZG1WdWRGTmxkSFJwYm1kekpUSXlKVE5CSlRkQ0pUSXlkbWxsZDBOdmJuUmxiblFsTWpJbE0wRjBjblZsSlRKREpUSXljR0ZuWlZacFpYY2xNaklsTTBGMGNuVmxKVEpESlRJeWFXNXBkR2xoZEdWa1EyaGxZMnR2ZFhRbE1qSWxNMEYwY25WbEpUSkRKVEl5WVdSa1ZHOURZWEowSlRJeUpUTkJkSEoxWlNVeVF5VXlNbkIxY21Ob1lYTmxKVEl5SlROQmRISjFaU1V5UXlVeU1sTmxZWEpqYUNVeU1pVXpRWFJ5ZFdVbE1rTWxNakoyYVdWM1EyOXNiR1ZqZEdsdmJpVXlNaVV6UVhSeWRXVWxNa01sTWpKMmFXVjNRMkZ5ZENVeU1pVXpRWFJ5ZFdVbE1rTWxNakpoWkdSUVlYbHRaVzUwU1c1bWJ5VXlNaVV6UVhSeWRXVWxOMFFsTWtNbE1qSmpkWE4wYjIxbGNrbHVabTl5YldGMGFXOXVVR0Z5WVcxbGRHVnljeVV5TWlVelFTVTNRaVV5TW1acGNuTjBUbUZ0WlNVeU1pVXpRWFJ5ZFdVbE1rTWxNakpzWVhOMFRtRnRaU1V5TWlVelFYUnlkV1VsTWtNbE1qSmxiV0ZwYkNVeU1pVXpRWFJ5ZFdVbE1rTWxNakp3YUc5dVpTVXlNaVV6UVhSeWRXVWxNa01sTWpKamFYUjVKVEl5SlROQmRISjFaU1V5UXlVeU1uTjBZWFJsSlRJeUpUTkJkSEoxWlNVeVF5VXlNbU52ZFc1MGNua2xNaklsTTBGMGNuVmxKVEpESlRJeWVtbHdRMjlrWlNVeU1pVXpRWFJ5ZFdVbE1rTWxNakpsZUhSbGNtNWhiRWxrSlRJeUpUTkJkSEoxWlNVM1JDVTNSQ1UzUkNVeVF5VXlNbWxrSlRJeUpUTkJKVEl5TmpobE5qVmtOR1F3WkdVMVlUaGxOVGxrWkdJM09HTXdKVEl5SlRKREpUSXljMmh2Y0NVeU1pVXpRU1V5TWpVeVpqWmtaUzFsWkM1dGVYTm9iM0JwWm5rdVkyOXRKVEl5SlRKREpUSXlZV04wYVhabEpUSXlKVE5CZEhKMVpTVXlReVV5TW5SNWNHVWxNaklsTTBFbE1qSkdRVU5GUWs5UFN5VXlNaVV5UXlVeU1uQnBlR1ZzU1dRbE1qSWxNMEVsTWpJek56azJOVFEzTXpneE1ERTNNVGNsTWpJbE1rTWxNakp5WlhOd1pXTjBRMjl2YTJsbFEyOXVjMlZ1ZENVeU1pVXpRV1poYkhObEpUZEVKVEpESlRkQ0pUSXlabUpUWlhSMGFXNW5jeVV5TWlVelFTVTNRaVV5TW1OdmJuWmxjbk5wYjI1QmNHa2xNaklsTTBFbE4wSWxNakpqYjI1MlpYSnphVzl1UVhCcFUzUmhkSFZ6SlRJeUpUTkJKVEl5Ym04bE1qSWxNa01sTWpKMFpYTjBSWFpsYm5SRGIyUmxKVEl5SlROQkpUSXlKVEl5SlRkRUpUSkRKVEl5WVhWMGIwbHVjSFYwVUdsNFpXd2xNaklsTTBFbE4wSWxNakp6Wld4bFkzUkNkWE5wYm1WemMwRmpZMjkxYm5RbE1qSWxNMEVsTWpJbE1qSWxNa01sTWpKelpXeGxZM1JRYVhobGJDVXlNaVV6UVNVeU1pVXlNaVV5UXlVeU1uQnBlR1ZzVG1GdFpTVXlNaVV6UVc1MWJHd2xOMFFsTWtNbE1qSnRZVzUxWVd4SmJuQjFkRkJwZUdWc0pUSXlKVE5CSlRkQ0pUSXljR2w0Wld4T1lXMWxKVEl5SlROQkpUSXlVMjl3YUdsbEpUSXdUR0YxY21WdUxWSnZkR2dsTWpBdEpUSXdVMk5vY21WcFluTWxNakJFYVhJb
1150E1qQjJiMjRsTWpCa1pYSWxNakJUWldWc1pTVXlNaVV5UXlVeU1uQnBlR1ZzU1dRbE1qSWxNMEVsTWpJeE9UWXdNekUzTnpZME9EazJPVFk1SlRJeUpUZEVKVEpESlRJeWMyVjBkR2x1WjNNbE1qSWxNMEVsTjBJbE1qSmhaSFpoYm1ObFpGUnlZV05yYVc1bkpUSXlKVE5CSlRkQ0pUSXlkSGx3WlNVeU1pVXpRU1V5TW5ObGJHVmpkR1ZrSlRJd2NHRm5aWE1sTWpJbE1rTWxNakowWVdkekpUSXlKVE5CSlRWQ0pUVkVKVEpESlRJeWNISnZaSFZqZEhNbE1qSWxNMEVsTlVJbE4wSWxNakpwWkNVeU1pVXpRU1V5TW1kcFpDVXpRU1V5UmlVeVJuTm9iM0JwWm5rbE1rWlFjbTlrZFdOMEpUSkdNVFl3TVRjd01EZzRPRFl4TURrbE1qSWxNa01sTWpKb1lXNWtiR1VsTWpJbE0wRWxNakpHSlVNekpVSkRhR3dsTWpCbGN5VXlReVV5TUhOamFISmxhV0lsTWpCbGN5VXlReVV5TUd4aGMzTWxNakJsY3lVeU1HeHZjeVV5TWlVM1JDVXlReVUzUWlVeU1tbGtKVEl5SlROQkpUSXlaMmxrSlROQkpUSkdKVEpHYzJodmNHbG1lU1V5UmxCeWIyUjFZM1FsTWtZeE5UZzFNekF6T1RRNE5USTNOeVV5TWlVeVF5VXlNbWhoYm1Sc1pTVXlNaVV6UVNVeU1sTmphSEpsYVdJbmN5VXlNR1JwY2lVeU1IWnZiaVV5TUdSbGNpVXlNRk5sWld4bEpUTkJKVEl3VjJsbEpUSXdaSFVsTWpCc2IzTnNKVU16SlVFMGMzTjBKVEpESlRJd2QyRnpKVEl3WkdsamFDVXlNR3RzWldsdUpUSXdiV0ZqYUhRbE1qSWxOMFFsTlVRbE1rTWxNakpqYjJ4c1pXTjBhVzl1Y3lVeU1pVXpRU1UxUWlVMVJDVTNSQ1V5UXlVeU1tVjJaVzUwVTJWMGRHbHVaM01sTWpJbE0wRWxOMElsTWpKMmFXVjNRMjl1ZEdWdWRDVXlNaVV6UVhSeWRXVWxNa01sTWpKd1lXZGxWbWxsZHlVeU1pVXpRWFJ5ZFdVbE1rTWxNakpwYm1sMGFXRjBaV1JEYUdWamEyOTFkQ1V5TWlVelFYUnlkV1VsTWtNbE1qSmhaR1JVYjBOaGNuUWxNaklsTTBGMGNuVmxKVEpESlRJeWNIVnlZMmhoYzJVbE1qSWxNMEZtWVd4elpTVXlReVV5TWxObFlYSmphQ1V5TWlVelFYUnlkV1VsTWtNbE1qSjJhV1YzUTI5c2JHVmpkR2x2YmlVeU1pVXpRV1poYkhObEpUSkRKVEl5ZG1sbGQwTmhjblFsTWpJbE0wRjBjblZsSlRKREpUSXlZV1JrVUdGNWJXVnVkRWx1Wm04bE1qSWxNMEYwY25WbEpUZEVKVEpESlRJeVkzVnpkRzl0WlhKSmJtWnZjbTFoZEdsdmJsQmhjbUZ0WlhSbGNuTWxNaklsTTBFbE4wSWxNakptYVhKemRFNWhiV1VsTWpJbE0wRjBjblZsSlRKREpUSXliR0Z6ZEU1aGJXVWxNaklsTTBGMGNuVmxKVEpESlRJeVpXMWhhV3dsTWpJbE0wRjBjblZsSlRKREpUSXljR2h2Ym1VbE1qSWxNMEYwY25WbEpUSkRKVEl5WTJsMGVTVXlNaVV6UVhSeWRXVWxNa01sTWpKemRHRjBaU1V5TWlVelFYUnlkV1VsTWtNbE1qSmpiM1Z1ZEhKNUpUSXlKVE5CZEhKMVpTVXlReVV5TW5wcGNFTnZaR1VsTWpJbE0wRjBjblZsSlRKREpUSXlaWGgwWlhKdVlXeEpaQ1V5TWlVelFYUnlkV1VsTjBRbE4wUWxOMFFsTWtNbE1qSnBaQ1V5TWlVelFTVXlNalk1TldaaVkyRTNaakF3TkdRd1l6SmpORFpoWlRnMk55VXlNaVV5UXlVeU1uTm9iM0FsTWpJbE0wRWxNakkxTW1ZMlpHVXRaV1F1YlhsemFHOXdhV1o1TG1OdmJTVXlNaVV5UXlVeU1tRmpkR2wyWlNVeU1pVXpRWFJ5ZFdVbE1rTWxNakowZVhCbEpUSXlKVE5CSlRJeVJrRkRSVUpQVDBzbE1qSWxNa01sTWpKd2FYaGxiRWxrSlRJeUpUTkJKVEl5TVRrMk1ETXhOemMyTkRnNU5qazJPU1V5TWlVeVF5VXlNbkpsYzNCbFkzUkRiMjlyYVdWRGIyNXpaVzUwSlRJeUpUTkJabUZzYzJVbE4wUWxNa01sTjBJbE1qSm1ZbE5sZEhScGJtZHpKVEl5SlROQkpUZENKVEl5WTI5dWRtVnljMmx2YmtGd2FTVXlNaVV6UVNVM1FpVXlNbU52Ym5abGNuTnBiMjVCY0dsVGRHRjBkWE1sTWpJbE0wRWxNakp1YnlVeU1pVXlReVV5TW5SbGMzUkZkbVZ1ZEVOdlpHVWxNaklsTTBFbE1qSWxNaklsTjBRbE1rTWxNakpoZFhSdlNXNXdkWFJRYVhobGJDVXlNaVV6UVNVM1FpVXlNbk5sYkdWamRFSjFjMmx1WlhOelFXTmpiM1Z1ZENVeU1pVXpRU1V5TWlVeU1pVXlReVV5TW5ObGJHVmpkRkJwZUdWc0pUSXlKVE5CSlRJeUpUSXlKVEpESlRJeWNHbDRaV3hPWVcxbEpUSXlKVE5CYm5Wc2JDVTNSQ1V5UXlVeU1tMWhiblZoYkVsdWNIVjBVR2w0Wld3bE1qSWxNMEVsTjBJbE1qSndhWGhsYkU1aGJXVWxNaklsTTBFbE1qSk9aWFZ6ZEdGeWRDVXlNQzBsTWpCRVlXMXBaVzRsTWpCU2FXTm9kR1Z5SlRJeUpUSkRKVEl5Y0dsNFpXeEpaQ1V5TWlVelFTVXlNakUwTVRnd05EZzJOalV3TXpnNU5UVWxNaklsTjBRbE1rTWxNakp6WlhSMGFXNW5jeVV5TWlVelFTVTNRaVV5TW1Ga2RtRnVZMlZrVkhKaFkydHBibWNsTWpJbE0wRWxOMElsTWpKMGVYQmxKVEl5SlROQkpUSXljMlZzWldOMFpXUWxNakJ3WVdkbGN5VXlNaVV5UXlVeU1uUmhaM01sTWpJbE0wRWxOVUlsTlVRbE1rTWxNakp3Y205a2RXTjBjeVV5TWlVelFTVTFRaVUzUWlVeU1tbGtKVEl5SlROQkpUSXlaMmxrSlROQkpUSkdKVEpHYzJodmNHbG1lU1V5UmxCeWIyUjFZM1FsTWtZeE5qRXlOVEExTXpFME1UTTBNU1V5TWlVeVF5VXlNbWhoYm1Sc1pTVXlNaVV6UVNVeU1rUmxhVzRsTWpCT1pYVnpkR0Z5ZENVeU1HSmxaMmx1Ym5RbE1qQnFaWFI2ZENVeU1pVTNSQ1UxUkNVeVF5VXlNbU52Ykd4bFkzUnBiMjV6SlRJeUpUTkJKVFZDSlRWRUpUZEVKVEpESlRJeVpYWmxiblJUWlhSMGFXNW5jeVV5TWlVelFTVTNRaVV5TW5acFpYZERiMjUwWlc1MEpUSXlKVE5CZEhKMVpTVXlReVV5TW5CaFoyVldhV1YzSlRJeUpUTkJkSEoxWlNVeVF5VXlNbWx1YVhScFlYUmxaRU5vWldOcmIzVjBKVEl5SlROQmRISjFaU1V5UXlVeU1tRmtaRlJ2UTJGeWRDVXlNaVV6UVhSeWRXVWxNa01sTWpKd2RYSmphR0Z6WlNVeU1pVXpRWFJ5ZFdVbE1rTWxNakpUWldGeVkyZ2xNaklsTTBGMGNuVmxKVEpESlRJeWRtbGxkME52Ykd4bFkzUnBiMjRsTWpJbE0wRm1ZV3h6WlNVeVF5VXlNblpwWlhkRFlYSjBKVEl5SlROQlptRnNjMlVsTWtNbE1qSmhaR1JRWVhsdFpXNTBTVzVtYnlVeU1pVXpRWFJ5ZFdVbE4wUWxNa01sTWpKamRYTjBiMjFsY2tsdVptOXliV0YwYVc5dVVHRnlZVzFsZEdWeWN5VXlNaVV6UVNVM1FpVXlNbVpwY25OMFRtRnRaU1V5TWlVelFYUnlkV1VsTWtNbE1qSnNZWE4wVG1GdFpTVXlNaVV6UVhSeWRXVWxNa01sTWpKbGJX
1150RnBiQ1V5TWlVelFYUnlkV1VsTWtNbE1qSndhRzl1WlNVeU1pVXpRWFJ5ZFdVbE1rTWxNakpqYVhSNUpUSXlKVE5CZEhKMVpTVXlReVV5TW5OMFlYUmxKVEl5SlROQmRISjFaU1V5UXlVeU1tTnZkVzUwY25rbE1qSWxNMEYwY25WbEpUSkRKVEl5ZW1sd1EyOWtaU1V5TWlVelFYUnlkV1VsTWtNbE1qSmxlSFJsY201aGJFbGtKVEl5SlROQmRISjFaU1UzUkNVM1JDVTNSQ1V5UXlVeU1tbGtKVEl5SlROQkpUSXlObUUwTjJKaE5ETTRNREJsWkRrelltUTBPREV5TkRVeEpUSXlKVEpESlRJeWMyaHZjQ1V5TWlVelFTVXlNalV5Wmpaa1pTMWxaQzV0ZVhOb2IzQnBabmt1WTI5dEpUSXlKVEpESlRJeVlXTjBhWFpsSlRJeUpUTkJkSEoxWlNVeVF5VXlNblI1Y0dVbE1qSWxNMEVsTWpKR1FVTkZRazlQU3lVeU1pVXlReVV5TW5CcGVHVnNTV1FsTWpJbE0wRWxNakl4TkRFNE1EUTROalkxTURNNE9UVTFKVEl5SlRKREpUSXljbVZ6Y0dWamRFTnZiMnRwWlVOdmJuTmxiblFsTWpJbE0wRm1ZV3h6WlNVM1JDVTFSQT09'));
1151      const appStatus = normalizeMetafield(b64('ZEhKMVpRPT0='));
1152      const preferredId = normalizeMetafield(b64(''));
1153      const customEvents = normalizeMetafield(b64(''));
1154      const webPixelEnabled = normalizeMetafield(b64(''));
1155      const supportExternalCheckout = normalizeMetafield(b64(''));
1156
1157      // null-guarded: an unparseable metafield must NOT clobber the last-known-good
1158      // value already in localStorage (the pixel keeps running on the previous config).
1159      if (pixelConfig) {
1160        const configDecoded = FacebookTracker.utils.safeParseMetaData(pixelConfig);
1161        if (configDecoded != null) FacebookTracker.storage.set(FacebookTracker.config.storageKeys.PIXEL_CONFIG, configDecoded);
1162      }
1163
1164      if (appStatus) {
1165        const statusDecoded =  FacebookTracker.utils.safeParseMetaData((appStatus));
1166        if (statusDecoded != null) FacebookTracker.storage.set(FacebookTracker.config.storageKeys.PIXEL_STATUS, statusDecoded);
1167      }
1168      if (webPixelEnabled) {
1169        const webPixelEnabledDecoded =  FacebookTracker.utils.safeParseMetaData((webPixelEnabled));
1170        if (webPixelEnabledDecoded != null) FacebookTracker.storage.set(FacebookTracker.config.storageKeys.WEB_PIXEL, webPixelEnabledDecoded);
1171      }
1172      if(preferredId) {
1173        FacebookTracker.storage.set(FacebookTracker.config.storageKeys.PREFERRED_ID, preferredId);
1174      }
1175
1176      if (customEvents) {
1177        const eventsDecoded = FacebookTracker.utils.safeParseMetaData(customEvents);
1178        if (eventsDecoded != null) FacebookTracker.storage.set(FacebookTracker.config.storageKeys.CUSTOM_EVENTS, eventsDecoded);
1179      }
1180
1181      // Check if external checkout support is enabled (defaults to true if metafield doesn't exist)
1182      let isExternalCheckoutEnabled = true;
1183      if (supportExternalCheckout) {
1184        try {
1185          const supportDecoded = FacebookTracker.utils.safeParseMetaData(supportExternalCheckout);
1186          isExternalCheckoutEnabled = supportDecoded?.enabled !== false;
1187        } catch (e) {
1188          FacebookTracker.utils.log('Failed to parse support_external_checkout metafield', e);
1189          // Default to true if parsing fails
1190          isExternalCheckoutEnabled = true;
1191        }
1192      }
1193
1194      // LOCAL capture first — a network failure below (cart 430 under load, geo
1195      // outage) must never cost first-touch attribution or fbc/fbp persistence.
1196      const externalId = await FacebookTracker.tracking.initializeExternalId();
1197      FacebookTracker.tracking.handleFbc();
1198      FacebookTracker.tracking.handleFbp();
1199      FacebookTracker.tracking.captureFirstTouch();
1200
1201      const pageData = FacebookTracker.tracking.collectPageData();
1202      if (pageData) FacebookTracker.storage.set(FacebookTracker.config.storageKeys.PAGE_DATA, pageData);
1203
1204      const adParams = FacebookTracker.tracking.collectAdParameters();
1205      if (adParams) FacebookTracker.tracking.logAdData(adParams);
1206
1207      const fbc = FacebookTracker.storage.get(FacebookTracker.config.storageKeys.FBC, 'string');
1208      const fbp = FacebookTracker.storage.get(FacebookTracker.config.storageKeys.FBP, 'string');
1209
1210      // Network side-effects LAST, individually guarded so one failing never
1211      // aborts the other.
1212      if (isExternalCheckoutEnabled) {
1213        try {
1214          await FacebookTracker.cart.updateAttributes({
1215            [FacebookTracker.config.storageKeys.EXTERNAL_ID]: externalId,
1216            ...(fbc ? { [FacebookTracker.config.storageKeys.FBC]: fbc } : {}),
1217            ...(fbp ? { [FacebookTracker.config.storageKeys.FBP]: fbp } : {})
1218          });
1219        } catch (cartErr) {
1220          FacebookTracker.utils.log('Cart attribute update failed', cartErr);
1221        }
1222      }
1223
1224      try {
1225        await FacebookTracker.tracking.hashCustomer();
1226      } catch (hashErr) {
1227        FacebookTracker.utils.log('hashCustomer failed', hashErr);
1228      }
1229
1230      FacebookTracker.utils.log('FacebookTracker initialized', { externalId, pageData, adParams });
1231    } catch (e) {
1232      FacebookTracker.utils.log('Init failed', e, 'error');
1233    }
1234  }
1235};
1236
1237document.addEventListener('DOMContentLoaded', () => {
1238  FacebookTracker.init().catch(e => FacebookTracker.utils.log('Init error', e, 'error'));
1239});
1240</script>
1240
1241<!-- END app block -->
1241<script src="https://cdn.shopify.com/extensions/019f3d70-04d8-73ef-85e7-7845fc0389f9/ship-sphere-v1-11/assets/app.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 1241
1241
1242<script src="https://cdn.shopify.com/extensions/f979ed44-f594-46cd-b59f-496169a6ebc6/guarantees-features-icons-1/assets/kachingappz-icons-storefront.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 1242
1242
1243<script src="https://cdn.shopify.com/extensions/01a0eecd-e3cf-72d9-81f3-f3f881b5b528/checkout-regeln-grosse-warenkoerbe-2026-09-29/assets/widerruf-button.js" type="text/javascript" defer="defer"></script>
1243
1244<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
1245<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: 89935774045,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "cart"};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 1245
1245
1246<script>
1247  window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || [];
1248</script>
vendor: 1 bytes, line 1248
1248
1249<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}
1249).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: 89935774045,storefrontBaseUrl: "https://www.next-level-verlag.de",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://www.next-level-verlag.de/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"5872714077","configuration":"{\"webPixelName\":\"Judge.me\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"8acc938b1a30dc7624e304493ca567d7","type":"APP","apiClientId":683015,"privacyPurposes":["ANALYTICS"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]}
1249,"dataSharingState":"unrestricted"},{"id":"5613715805","configuration":"{\"pixelCode\":\"D8T4G8BC77U8UFHD19T0\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"22e92c2ad45662f435e4801458fb78cc","type":"APP","apiClientId":4383523,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"2628223325","configuration":"{\"accountID\":\"6881ff8d1281765d4f78182a\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"36e3d4a51ce4f54c09fc3ba4b868fb3d","type":"APP","apiClientId":161884340225,"privacyPurposes":["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":"231833949","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"64","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"55 Wege tracking code"},{"id":"249790813","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"9","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"Facebook-Pixel MaxGotzler GW"},{"id":"269386077","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"7","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"FB Pixel - Human Design"},{"id":"322797917","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"10","type":"CUSTOM","privacyPurposes":[],"name":"Meister Dein Mindset - Bischof"},{"id":"338461021","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"6","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"],"name":"Fühl es Schreib es - SophieLau"},{"id":"351338845","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"],"name":"Neustart - Damien Richter"},{"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":"NXT LVL GmbH","paymentSettings":{"currencyCode":"EUR"},"myshopifyDomain":"52f6de-ed.myshopify.com","countryCode":"DE","storefrontUrl":"https:\/\/www.next-level-verlag.de"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[],"purchasingCompany":null},},"https://www.next-level-verlag.de/cdn","5982071ew7ea472e3p69b68784m2150dfea",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"false","themeId":"175475982685","themeStoreId":"1190","themePublished":"true","eventMetadataId":"ac15f48c-2b52-4ac7-b983-5700e72ab8a8","pageType":"cart","shopId":"89935774045","storefrontBaseUrl":"https:\/\/www.next-level-verlag.de","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\", \"7ee89bf1\"]","isMerchantRequest":"false","hashVersion":"5982071ew7ea472e3p69b68784m2150dfea","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
1249<script>
1250  window.ShopifyAnalytics = window.ShopifyAnalytics || {};
1251  window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
1252  window.ShopifyAnalytics.meta.currency = 'EUR';
1253  var meta = {"page":{"pageType":"cart","requestId":"7a5f4569-58fa-4909-b13f-bb3f7cbccf6b-1791090948"}};
1254  for (var attr in meta) {
1255    window.ShopifyAnalytics.meta[attr] = meta[attr];
1256  }
1257</script>
vendor: 1 bytes, line 1257
1257
1258<script class="analytics">
1259  (function () {
1260    var customDocumentWrite = function(content) {
1261      var jquery = null;
1262
1263      if (window.jQuery) {
1264        jquery = window.jQuery;
1265      } else if (window.Checkout && window.Checkout.$) {
1266        jquery = window.Checkout.$;
1267      }
1268
1269      if (jquery) {
1270        jquery('body').append(content);
1271      }
1272    };
1273
1274    var hasLoggedConversion = function(token) {
1275      if (token) {
1276        return document.cookie.indexOf('loggedConversion=' + token) !== -1;
1277      }
1278      return false;
1279    }
1280
1281    var setCookieIfConversion = function(token) {
1282      if (token) {
1283        var twoMonthsFromNow = new Date(Date.now());
1284        twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
1285
1286        document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
1287      }
1288    }
1289
1290    var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
1291    window.ShopifyAnalytics.lib.trekkie = window.trekkie;
1292    if (trekkie.integrations) {
1293      return;
1294    }
1295    trekkie.methods = [
1296      'identify',
1297      'page',
1298      'ready',
1299      'track',
1300      'trackForm',
1301      'trackLink'
1302    ];
1303    trekkie.factory = function(method) {
1304      return function() {
1305        var args = Array.prototype.slice.call(arguments);
1306        args.unshift(method);
1307        trekkie.push(args);
1308        if (method == 'track' || method == 'page') {
1309          var pageUrl;
1310          try {
1311            pageUrl = window.location.href;
1312          } catch (e) {}
1313          var pageReferrer;
1314          try {
1315            pageReferrer = document.referrer;
1316          } catch (e) {}
1317          try {
1318            if (window.__TREKKIE_SHIM_QUEUE == null) {
1319              window.__TREKKIE_SHIM_QUEUE = [];
1320            }
1321            window.__TREKKIE_SHIM_QUEUE.push({
1322              from: 'trekkie-stub',
1323              method: method,
1324              args: args.slice(1),
1325              pageContext: {
1326                url: pageUrl,
1327                referrer: pageReferrer
1328              }
1329            });
1330          } catch (e) {
1331            // no-op
1332          }
1333        }
1334        return trekkie;
1335      };
1336    };
1337    for (var i = 0; i < trekkie.methods.length; i++) {
1338      var key = trekkie.methods[i];
1339      trekkie[key] = trekkie.factory(key);
1340    }
1341    trekkie.load = function(config) {
1342      trekkie.config = config || {};
1343      trekkie.config.initialDocumentCookie = document.cookie;
1344      var first = document.getElementsByTagName('script')[0];
1345var script = document.createElement('script');
1346script.type = 'text/javascript';
1347script.onerror = function(e) {
1348  var scriptFallback = document.createElement('script');
1349  scriptFallback.type = 'text/javascript';
1350  scriptFallback.onerror = function(error) {
1351          var Monorail = {
1352      produce: function produce(monorailDomain, schemaId, payload) {
1353        var currentMs = new Date().getTime();
1354        var event = {
1355          schema_id: schemaId,
1356          payload: payload,
1357          metadata: {
1358            event_created_at_ms: currentMs,
1359            event_sent_at_ms: currentMs
1360          }
1361        };
1362        return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
1363      },
1364      sendRequest: function sendRequest(endpointUrl, payload) {
1365        // Try the sendBeacon API
1366        if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
1367          var blobData = new window.Blob([payload], {
1368            type: 'text/plain'
1369          });
1370
1371          if (window.navigator.sendBeacon(endpointUrl, blobData)) {
1372            return true;
1373          } // sendBeacon was not successful
1374
1375        } // XHR beacon
1376
1377        var xhr = new XMLHttpRequest();
1378
1379        try {
1380          xhr.open('POST', endpointUrl);
1381          xhr.setRequestHeader('Content-Type', 'text/plain');
1382          xhr.send(payload);
1383        } catch (e) {
1384          console.log(e);
1385        }
1386
1387        return false;
1388      },
1389      isIos12: function isIos12() {
1390        return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
1391      }
1392    };
1393    Monorail.produce('monorail-edge.shopifysvc.com',
1394      'trekkie_storefront_load_errors/1.1',
1395      {shop_id: 89935774045,
1396      theme_id: 175475982685,
1397      app_name: "storefront",
1398      context_url: window.location.href,
1399      source_url: "//www.next-level-verlag.de/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"});
1400
1401  };
1402  scriptFallback.async = true;
1403  scriptFallback.src = '//www.next-level-verlag.de/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js';
1404  first.parentNode.insertBefore(scriptFallback, first);
1405};
1406script.async = true;
1407script.src = '//www.next-level-verlag.de/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js';
1408first.parentNode.insertBefore(script, first);
1409
1410    };
1411    trekkie.load(
1412      {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":89935774045,"isMerchantRequest":null,"themeId":175475982685,"themeCityHash":"95
141279501695685954767","contentLanguage":"de","currency":"EUR","eventMetadataId":"ac15f48c-2b52-4ac7-b983-5700e72ab8a8"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":false,"source":"trekkie-storefront-renderer","apiClientId":580111}}
1413    );
1414
1415    var loaded = false;
1416    trekkie.ready(function() {
1417      if (loaded) return;
1418      loaded = true;
1419
1420      window.ShopifyAnalytics.lib = window.trekkie;
1421
1422      var originalDocumentWrite = document.write;
1423      document.write = customDocumentWrite;
1424      try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
1425      document.write = originalDocumentWrite;
1426
1427      var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
1428      var token = match? match[1]: undefined;
1429      if (!hasLoggedConversion(token)) {
1430        setCookieIfConversion(token);
1431        
1432      }
1433    });
1434
1435    window.ShopifyAnalytics.lib.page(null,{"pageType":"cart","requestId":"7a5f4569-58fa-4909-b13f-bb3f7cbccf6b-1791090948","shopifyEmitted":true});
1436
1437    var eventsListenerScript = document.createElement('script');
1438    eventsListenerScript.async = true;
1439    eventsListenerScript.src = "//www.next-level-verlag.de/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
1440    document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
1441})();</script>
vendor: 1 bytes, line 1441
1441
1442<script
1443  defer
1444  src="https://www.next-level-verlag.de/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js"
1445  data-application="storefront-renderer"
1446  data-shop-id="89935774045"
1447  data-render-region="gcp-us-west1"
1448  data-page-type="cart"
1449  data-theme-instance-id="175475982685"
1450  data-theme-name="Impact"
1451  data-theme-version="6.4.1"
1452  data-monorail-region="shop_domain"
1453  data-resource-timing-sampling-rate="10"
1454  data-shs="true"
1455  data-shs-beacon="true"
1456  data-shs-export-with-fetch="true"
1457  data-shs-logs-sample-rate="1"
1458  data-shs-beacon-endpoint="https://www.next-level-verlag.de/api/collect"
1459></script>
1459
1460<meta name="shopify-y" content="e49aa40f-fd4c-45fd-a404-d11c7abb0a5d" data-expiration="1822648548000"><meta name="shopify-s" content="cdccbac9-97d7-489f-8f8c-eacf64148fa9" data-expiration="1791092748000"><meta name="new-cookie-storage-activated" content="t">
1461</head>
1462
1463  <body class="zoom-image--enabled"><!-- DRAWER -->
1464<template id="drawer-default-template">
1465  <style>
1466    [hidden] {
1467      display: none !important;
1468    }
1469  </style>
1470
1471  <button part="outside-close-button" is="close-button" aria-label="Schließen"><svg role="presentation" stroke-width="2" focusable="false" width="24" height="24" class="icon icon-close" viewBox="0 0 24 24">
1472        <path d="M17.658 6.343 6.344 17.657M17.658 17.657 6.344 6.343" stroke="currentColor"></path>
1473      </svg></button>
1474
1475  <div part="overlay"></div>
1476
1477  <div part="content">
1478    <header part="header">
1479      <slot name="header"></slot>
1480
1481      <button part="close-button" is="close-button" aria-label="Schließen"><svg role="presentation" stroke-width="2" focusable="false" width="24" height="24" class="icon icon-close" viewBox="0 0 24 24">
1482        <path d="M17.658 6.343 6.344 17.657M17.658 17.657 6.344 6.343" stroke="currentColor"></path>
1483      </svg></button>
1484    </header>
1485
1486    <div part="body">
1487      <slot></slot>
1488    </div>
1489
1490    <footer part="footer">
1491      <slot name="footer"></slot>
1492    </footer>
1493  </div>
1494</template>
1495
1496<!-- POPOVER -->
1497<template id="popover-default-template">
1498  <button part="outside-close-button" is="close-button" aria-label="Schließen"><svg role="presentation" stroke-width="2" focusable="false" width="24" height="24" class="icon icon-close" viewBox="0 0 24 24">
1499        <path d="M17.658 6.343 6.344 17.657M17.658 17.657 6.344 6.343" stroke="currentColor"></path>
1500      </svg></button>
1501
1502  <div part="overlay"></div>
1503
1504  <div part="content">
1505    <header part="title">
1506      <slot name="title"></slot>
1507    </header>
1508
1509    <div part="body">
1510      <slot></slot>
1511    </div>
1512  </div>
1513</template><a href="#main" class="skip-to-content sr-only">Zum Inhalt springen</a><!-- BEGIN sections: header-group -->
1514<header id="shopify-section-sections--24124947530077__header" class="shopify-section shopify-section-group-header-group shopify-section--header"><style>
1515  :root {
1516    --sticky-header-enabled:1;
1517  }
1518
1519  #shopify-section-sections--24124947530077__header {
1520    --header-grid-template: "main-nav logo secondary-nav" / minmax(0, 1fr) auto minmax(0, 1fr);
1521    --header-padding-block: var(--spacing-4-5);
1522    --header-background-opacity: 1.0;
1523    --header-background-blur-radius: 0px;
1524    --header-transparent-text-color: 26 26 26;--header-logo-width: 100px;
1525      --header-logo-height: 29px;position: sticky;
1526    top: 0;
1527    z-index: 10;
1528  }.shopify-section--announcement-bar ~ #shopify-section-sections--24124947530077__header {
1529      top: calc(var(--sticky-announcement-bar-enabled, 0) * var(--announcement-bar-height, 0px));
1530    }@media screen and (min-width: 700px) {
1531    #shopify-section-sections--24124947530077__header {--header-logo-width: 200px;
1532        --header-logo-height: 57px;--header-padding-block: var(--spacing-8-5);
1533    }
1534  }@media screen and (min-width: 1150px) {#shopify-section-sections--24124947530077__header {
1535        --header-grid-template: "logo main-nav secondary-nav" / minmax(0, 1fr) fit-content(70%) minmax(0, 1fr);
1536      }
1537    }</style>
1538
1539<height-observer variable="header">
1540  <store-header class="header" hide-on-scroll="100" sticky>
1541    <div class="header__wrapper"><div class="header__main-nav">
1542        <div class="header__icon-list">
1543          <button type="button" class="tap-area lg:hidden" aria-controls="header-sidebar-menu">
1544            <span class="sr-only">Menü</span><svg role="presentation" stroke-width="2" focusable="false" width="22" height="22" class="icon icon-hamburger" viewBox="0 0 22 22">
1545        <path d="M1 5h20M1 11h20M1 17h20" stroke="currentColor" stroke-linecap="round"></path>
1546      </svg></button>
1547
1548          <a href="/search" class="tap-area sm:hidden" aria-controls="search-drawer">
1549            <span class="sr-only">Suche</span><svg role="presentation" stroke-width="2" focusable="false" width="22" height="22" class="icon icon-search" viewBox="0 0 22 22">
1550        <circle cx="11" cy="10" r="7" fill="none" stroke="currentColor"></circle>
1551        <path d="m16 15 3 3" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path>
1552      </svg></a><nav class="header__link-list justify-center wrap" role="navigation">
1553              <ul class="contents" role="list">
1554
1555                  <li>
1555<details class="relative" is="dropdown-disclosure" trigger="hover">
1556                          <summary class="text-with-icon gap-2.5 bold link-faded-reverse" >Imprints<svg role="presentation" focusable="false" width="10" height="7" class="icon icon-chevron-bottom" viewBox="0 0 10 7">
1557        <path d="m1 1 4 4 4-4" fill="none" stroke="currentColor" stroke-width="2"></path>
1558      </svg></summary>
1559
1560                          <div class="dropdown-menu dropdown-menu--restrictable">
1561                            <ul class="contents" role="list"><li><a href="/collections/next-level" class="dropdown-menu__item group" >
1562                                      <span><span class="reversed-link">NXT LVL</span></span>
1563                                    </a></li><li><a href="/collections/now" class="dropdown-menu__item group" >
1564                                      <span><span class="reversed-link">NOW</span></span>
1565                                    </a></li></ul>
1566                          </div>
1567                        </details></li>
1568
1569                  <li><a href="/collections/frontpage" class="bold link-faded-reverse" >Neuerscheinungen</a></li>
1570
1571                  <li><a href="/collections/spiegel-besteller" class="bold link-faded-reverse" >SPIEGEL-Beststeller</a></li>
1572
1573                  <li><a href="/collections/alle-titel" class="bold link-faded-reverse" >Alle Verlagstitel</a></li></ul>
1574            </nav></div>
1575      </div>
1576        <a href="/" class="header__logo"><span class="sr-only">NXT LVL GmbH</span><img src="//www.next-level-verlag.de/cdn/shop/files/next-level-logo-new-bold_a6e02bb1-793f-4463-8c5c-09bf3a6fd8d2.png?v=1728901036&amp;width=280" alt="" srcset="//www.next-level-verlag.de/cdn/shop/files/next-level-logo-new-bold_a6e02bb1-793f-4463-8c5c-09bf3a6fd8d2.png?v=1728901036&amp;width=280 280w, //www.next-level-verlag.de/cdn/shop/files/next-level-logo-new-bold_a6e02bb1-793f-4463-8c5c-09bf3a6fd8d2.png?v=1728901036&amp;width=280 280w" width="280" height="80" sizes="200px" class="header__logo-image"><img src="//www.next-level-verlag.de/cdn/shop/files/next-level-logo-new-bold_a6e02bb1-793f-4463-8c5c-09bf3a6fd8d2.png?v=1728901036&amp;width=280" alt="" srcset="//www.next-level-verlag.de/cdn/shop/files/next-level-logo-new-bold_a6e02bb1-793f-4463-8c5c-09bf3a6fd8d2.png?v=1728901036&amp;width=280 280w, //www.next-level-verlag.de/cdn/shop/files/next-level-logo-new-bold_a6e02bb1-793f-4463-8c5c-09bf3a6fd8d2.png?v=1728901036&amp;width=280 280w" width="280" height="80" sizes="200px" class="header__logo-image header__logo-image--transparent"></a>
1577      
1578<div class="header__secondary-nav"><ul class="header__icon-list"><li>
1579            <a href="/search" class="hidden tap-area sm:block" aria-controls="search-drawer">
1580              <span class="sr-only">Suche</span><svg role="presentation" stroke-width="2" focusable="false" width="22" height="22" class="icon icon-search" viewBox="0 0 22 22">
1581        <circle cx="11" cy="10" r="7" fill="none" stroke="currentColor"></circle>
1582        <path d="m16 15 3 3" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path>
1583      </svg></a>
1584          </li><li>
1585              <a href="https://www.next-level-verlag.de/customer_authentication/redirect?locale=de&region_country=DE" class="hidden tap-area sm:block">
1586                <span class="sr-only">Anmelden</span><svg role="presentation" stroke-width="2" focusable="false" width="22" height="22" class="icon icon-account" viewBox="0 0 22 22">
1587        <circle cx="11" cy="7" r="4" fill="none" stroke="currentColor"></circle>
1588        <path d="M3.5 19c1.421-2.974 4.247-5 7.5-5s6.079 2.026 7.5 5" fill="none" stroke="currentColor" stroke-linecap="round"></path>
1589      </svg></a>
1590            </li><li>
1591            <a href="/cart" data-no-instant class="relative block tap-area" >
1592              <span class="sr-only">Warenkorb</span><svg role="presentation" stroke-width="2" focusable="false" width="22" height="22" class="icon icon-cart" viewBox="0 0 22 22">
1593            <path d="M9.182 18.454a.91.91 0 1 1-1.818 0 .91.91 0 0 1 1.818 0Zm7.272 0a.91.91 0 1 1-1.818 0 .91.91 0 0 1 1.819 0Z" fill="currentColor"></path>
1594            <path d="M5.336 6.636H21l-3.636 8.182H6.909L4.636 3H1m8.182 15.454a.91.91 0 1 1-1.818 0 .91.91 0 0 1 1.818 0Zm7.272 0a.91.91 0 1 1-1.818 0 .91.91 0 0 1 1.819 0Z" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path>
1595          </svg><div class="header__cart-count">
1596                <cart-count class="count-bubble opacity-0">
1597                  <span class="sr-only"></span>
1598                  <span aria-hidden="true">0</span>
1599                </cart-count>
1600              </div>
1601            </a>
1602          </li>
1603        </ul>
1604      </div>
1605    </div>
1606  </store-header>
1607</height-observer><navigation-drawer mobile-opening="bottom" open-from="left" id="header-sidebar-menu" class="navigation-drawer drawer lg:hidden" >
1608    <button is="close-button" aria-label="Schließen"class="sm-max:hidden"><svg role="presentation" stroke-width="2" focusable="false" width="19" height="19" class="icon icon-close" viewBox="0 0 24 24">
1609        <path d="M17.658 6.343 6.344 17.657M17.658 17.657 6.344 6.343" stroke="currentColor"></path>
1610      </svg></button><div class="panel-list__wrapper">
1611  <div class="panel">
1612    <div class="panel__wrapper" >
1613      <div class="panel__scroller v-stack gap-8"><ul class="v-stack gap-4">
1614<li class="h3 sm:h4"><button class="text-with-icon w-full group justify-between" aria-expanded="false" data-panel="1-0">
1615                  <span>Imprints</span>
1616                  <span class="circle-chevron group-hover:colors group-expanded:colors"><svg role="presentation" focusable="false" width="5" height="8" class="icon icon-chevron-right-small reverse-icon" viewBox="0 0 5 8">
1617        <path d="m.75 7 3-3-3-3" fill="none" stroke="currentColor" stroke-width="1.5"></path>
1618      </svg></span>
1619                </button></li>
1620<li class="h3 sm:h4"><a href="/collections/frontpage" class="group block w-full">
1621                  <span><span class="reversed-link">Neuerscheinungen</span></span>
1622                </a></li>
1623<li class="h3 sm:h4"><a href="/collections/spiegel-besteller" class="group block w-full">
1624                  <span><span class="reversed-link">SPIEGEL-Beststeller</span></span>
1625                </a></li>
1626<li class="h3 sm:h4"><a href="/collections/alle-titel" class="group block w-full">
1627                  <span><span class="reversed-link">Alle Verlagstitel</span></span>
1628                </a></li></ul></div><div class="panel-footer v-stack gap-5"><div class="panel-footer__localization-wrapper h-stack gap-6 border-t md:hidden"><a href="/account" class="panel-footer__account-link bold text-sm">Konto</a></div></div></div>
1629  </div><div class="panel gap-8">
1630      <div class="panel__wrapper"  hidden>
1631                  <ul class="v-stack gap-4">
1632                    <li class="lg:hidden">
1633                      <button class="text-with-icon h6 text-subdued" data-panel="0"><svg role="presentation" focusable="false" width="7" height="10" class="icon icon-chevron-left reverse-icon" viewBox="0 0 7 10">
1634        <path d="M6 1 2 5l4 4" fill="none" stroke="currentColor" stroke-width="2"></path>
1635      </svg>Imprints
1636                      </button>
1637                    </li><li class="h3 sm:h4"><a class="group block w-full" href="/collections/next-level"><span><span class="reversed-link">NXT LVL</span></span>
1638                            </a></li><li class="h3 sm:h4"><a class="group block w-full" href="/collections/now"><span><span class="reversed-link">NOW</span></span>
1639                            </a></li></ul></div>
1640    </div></div></navigation-drawer>
1640<script>
1641  document.documentElement.style.setProperty('--header-height', Math.round(document.getElementById('shopify-section-sections--24124947530077__header').clientHeight) + 'px');
1642</script>
1642
1643
1644
1645<script type="application/ld+json">
1646		    {
1647		      "@context": "http://schema.org/",
1648		      "@type": "Product",
1649			  
1650		      "name": null,
1651		      "url": "https:\/\/www.next-level-verlag.de",
1652		      
1653		      "description": "",
1654		      
1655		      "brand": {
1656		        "@type": "Thing",
1657		        "name": null
1658		      },
1659		      "offers": []
1660		    }
1661		  </script>
1661</header>
1662<!-- END sections: header-group --><!-- BEGIN sections: overlay-group -->
1663
1664<!-- END sections: overlay-group --><cart-notification-drawer open-from="bottom" class="quick-buy-drawer drawer"></cart-notification-drawer><main role="main" id="main" class="anchor">
1665      <section id="shopify-section-template--24124946874717__main" class="shopify-section shopify-section--main-cart">
1666
1667
1668
1669
1670
1671
1672
1673<div class="container"><div class="empty-state">
1674      <div class="empty-state__icon-wrapper"><svg role="presentation" stroke-width="1" focusable="false" width="32" height="32" class="icon icon-cart" viewBox="0 0 22 22">
1675            <path d="M9.182 18.454a.91.91 0 1 1-1.818 0 .91.91 0 0 1 1.818 0Zm7.272 0a.91.91 0 1 1-1.818 0 .91.91 0 0 1 1.819 0Z" fill="currentColor"></path>
1676            <path d="M5.336 6.636H21l-3.636 8.182H6.909L4.636 3H1m8.182 15.454a.91.91 0 1 1-1.818 0 .91.91 0 0 1 1.818 0Zm7.272 0a.91.91 0 1 1-1.818 0 .91.91 0 0 1 1.819 0Z" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"></path>
1677          </svg><span class="count-bubble count-bubble--lg">0</span>
1678      </div>
1679
1680      <div class="prose">
1681        <p class="h4">Dein Warenkorb ist leer</p>
1682<a class="button button--xl button--outline"
1683  
1684  
1685  
1686  
1687  
1688  href="/collections/all"
1689  
1690  
1691 >Weiter einkaufen</a></div>
1692    </div></div>
1693
1694
1695</section>
1696<!-- BEGIN sections: footer-group -->
1697<section id="shopify-section-sections--24124947497309__custom_liquid_jaKVwE" class="shopify-section shopify-section-group-footer-group shopify-section--custom-liquid"><style>
1698  #shopify-section-sections--24124947497309__custom_liquid_jaKVwE {
1699    --section-background-hash: 0;
1700  }
1701
1702  #shopify-section-sections--24124947497309__custom_liquid_jaKVwE + * {
1703    --previous-section-background-hash: 0;
1704  }</style><style>
1705    #shopify-section-sections--24124947497309__custom_liquid_jaKVwE {
1706      
1707      
1708    }
1709  </style>
1710
1711  <div class="section   section-blends section-full">
1712    
1712<script>
1713<script>
1714(function () {
1715  function strip() {
1716    document.querySelectorAll('a[href="/apps/widerruf"]').forEach(function (el) {
1717      if (el.getAttribute('style')) el.removeAttribute('style');
1718    });
1719  }
1720  strip();
1721  document.addEventListener('DOMContentLoaded', strip);
1722  // entfernt das Styling auch, wenn die App es nachträglich wieder setzt
1723  new MutationObserver(strip).observe(document.documentElement, {
1724    childList: true, subtree: true, attributes: true, attributeFilter: ['style']
1725  });
1726})();
1727</script>
1727
1728</script>
1728
1729  </div>
1730</section><section id="shopify-section-sections--24124947497309__custom_html_wQxjam" class="shopify-section shopify-section-group-footer-group shopify-section--custom-html"><style>
1731    #shopify-section-sections--24124947497309__custom_html_wQxjam {
1732      
1733      
1734    }
1735  </style><style>
1736  #shopify-section-sections--24124947497309__custom_html_wQxjam {
1737    --section-background-hash: 0;
1738  }
1739
1740  #shopify-section-sections--24124947497309__custom_html_wQxjam + * {
1741    --previous-section-background-hash: 0;
1742  }</style><div class="section   section-blends section-full">
1743    <a style="float: right;" href="https://www.it-recht-kanzlei.de/" target="_blank"><img style="filter: grayscale(100%);" src="https://www.it-recht-kanzlei.de/logo/Logo_Juristisch_betreut_durch_IT-Recht_Kanzlei.png?i=5acc0-41442-39c6-907c-1" alt="Vertreten durch die IT-Recht Kanzlei"></a>
1744  </div>
1745<style> #shopify-section-sections--24124947497309__custom_html_wQxjam .section-full {padding-block-start: inherit; padding-block-end: inherit; padding-inline-start: inherit; padding-inline-end: inherit; width: 150px; --context-section-spacing-inline: inherit; position: absolute; bottom: -400px; right: calc(50% - 75px); z-index: 1;} @media screen and (min-width: 850px) {#shopify-section-sections--24124947497309__custom_html_wQxjam .section-full {width: 150px; bottom: -238px; right: calc(50% - 75px); }} </style></section><footer id="shopify-section-sections--24124947497309__footer" class="shopify-section shopify-section-group-footer-group shopify-section--footer"><div class="footer">
1746  <div class="container">
1747    <div class="footer__wrapper"><div class="footer__block-list empty:hidden"><div class="footer__block footer__block--menu" ><ul class="v-stack gap-3" role="list"><li>
1748                          <a href="/pages/allgemeine-geschaftsbedingungen" class="inline-block link-faded break-all">AGB</a>
1749                        </li><li>
1750                          <a href="/pages/impressum" class="inline-block link-faded break-all">Impressum</a>
1751                        </li><li>
1752                          <a href="https://shop.next-level-verlag.de/?preview_privacy_banner=1" class="inline-block link-faded break-all">Cookie-Einstellungen</a>
1753                        </li><li>
1754                          <a href="/pages/zahlung-und-versand" class="inline-block link-faded break-all">Zahlung und Versand</a>
1755                        </li><li>
1756                          <a href="/pages/wiederrufsbelehrung" class="inline-block link-faded break-all">Widerrufsbelehrung</a>
1757                        </li><li>
1758                          <a href="/pages/datenschutz" class="inline-block link-faded break-all">Datenschutzerklärung</a>
1759                        </li><li>
1760                          <a href="/apps/widerruf" class="inline-block link-faded break-all">Vertrag widerrufen</a>
1761                        </li></ul>
1762                  </div></div><div class="footer__aside empty:hidden"><div class="footer__aside-top"><ul class="social-media " role="list"><li>
1763      <a href="https://www.facebook.com/NXT.LVL.Verlag?_rdr" class="tap-area" target="_blank" rel="noopener" aria-label="Auf Facebook folgen"><svg role="presentation" focusable="false" width="27" height="27" class="icon icon-facebook" viewBox="0 0 24 24">
1764        <path fill-rule="evenodd" clip-rule="evenodd" d="M10.183 21.85v-8.868H7.2V9.526h2.983V6.982a4.17 4.17 0 0 1 4.44-4.572 22.33 22.33 0 0 1 2.667.144v3.084h-1.83a1.44 1.44 0 0 0-1.713 1.68v2.208h3.423l-.447 3.456h-2.97v8.868h-3.57Z" fill="currentColor"/>
1765      </svg></a>
1766    </li><li>
1767      <a href="https://www.instagram.com/next_level_verlag/" class="tap-area" target="_blank" rel="noopener" aria-label="Auf Instagram folgen"><svg role="presentation" focusable="false" width="27" height="27" class="icon icon-instagram" viewBox="0 0 24 24">
1768        <path fill-rule="evenodd" clip-rule="evenodd" d="M12 2.4c-2.607 0-2.934.011-3.958.058-1.022.046-1.72.209-2.33.446a4.705 4.705 0 0 0-1.7 1.107 4.706 4.706 0 0 0-1.108 1.7c-.237.611-.4 1.31-.446 2.331C2.41 9.066 2.4 9.392 2.4 12c0 2.607.011 2.934.058 3.958.046 1.022.209 1.72.446 2.33a4.706 4.706 0 0 0 1.107 1.7c.534.535 1.07.863 1.7 1.108.611.237 1.309.4 2.33.446 1.025.
1768047 1.352.058 3.959.058s2.934-.011 3.958-.058c1.022-.046 1.72-.209 2.33-.446a4.706 4.706 0 0 0 1.7-1.107 4.706 4.706 0 0 0 1.108-1.7c.237-.611.4-1.31.446-2.33.047-1.025.058-1.352.058-3.959s-.011-2.934-.058-3.958c-.047-1.022-.209-1.72-.446-2.33a4.706 4.706 0 0 0-1.107-1.7 4.705 4.705 0 0 0-1.7-1.108c-.611-.237-1.31-.4-2.331-.446C14.934 2.41 14.608 2.4 12 2.4Zm0 1.73c2.563 0 2.867.01 3.88.056.935.042 1.443.199 1.782.33.448.174.768.382 1.104.718.336.336.544.656.718 1.104.131.338.287.847.33 1.783.046 1.012.056 1.316.056 3.879 0 2.563-.01 2.867-.056 3.88-.043.935-.199 1.444-.33 1.782a2.974 2.974 0 0 1-.719 1.104 2.974 2.974 0 0 1-1.103.718c-.339.131-.847.288-1.783.33-1.012.046-1.316.056-3.88.056-2.563 0-2.866-.01-3.878-.056-.936-.042-1.445-.199-1.783-.33a2.974 2.974 0 0 1-1.104-.718 2.974 2.974 0 0 1-.718-1.104c-.131-.338-.288-.847-.33-1.783-.047-1.012-.056-1.316-.056-3.879 0-2.563.01-2.867.056-3.88.042-.935.199-1.443.33-1.782.174-.448.382-.768.718-1.104a2.974 2.974 0 0 1 1.104-.718c.338-.131.847-.288 1.783-.33C9.133 4.14 9.437 4.13 12 4.13Zm0 11.07a3.2 3.2 0 1 1 0-6.4 3.2 3.2 0 0 1 0 6.4Zm0-8.13a4.93 4.93 0 1 0 0 9.86 4.93 4.93 0 0 0 0-9.86Zm6.276-.194a1.152 1.152 0 1 1-2.304 0 1.152 1.152 0 0 1 2.304 0Z" fill="currentColor"/>
1769      </svg></a>
1770    </li><li>
1771      <a href="https://www.youtube.com/@nextlevelverlag34?" class="tap-area" target="_blank" rel="noopener" aria-label="Auf YouTube folgen"><svg role="presentation" focusable="false" width="27" height="27" class="icon icon-youtube" viewBox="0 0 24 24">
1772        <path fill-rule="evenodd" clip-rule="evenodd" d="M20.44 5.243c.929.244 1.66.963 1.909 1.876.451 1.654.451 5.106.451 5.106s0 3.452-.451 5.106a2.681 2.681 0 0 1-1.91 1.876c-1.684.443-8.439.443-8.439.443s-6.754 0-8.439-.443a2.682 2.682 0 0 1-1.91-1.876c-.45-1.654-.45-5.106-.45-5.106s0-3.452.45-5.106a2.681 2.681 0 0 1 1.91-1.876c1.685-.443 8.44-.443 8.44-.443s6.754 0 8.438.443Zm-5.004 6.982L9.792 15.36V9.091l5.646 3.134Z" fill="currentColor"/>
1773      </svg></a>
1774    </li><li>
1775      <a href="https://www.linkedin.com/company/next-level-verlag/?originalSubdomain=de" class="tap-area" target="_blank" rel="noopener" aria-label="Auf LinkedIn folgen"><svg role="presentation" focusable="false" width="27" height="27" class="icon icon-linkedin" viewBox="0 0 24 24">
1776        <path fill-rule="evenodd" clip-rule="evenodd" d="M7.349 5.478a1.875 1.875 0 1 0-3.749 0 1.875 1.875 0 1 0 3.749 0ZM7.092 19.2H3.857V8.78h3.235V19.2ZM12.22 8.78H9.121V19.2h3.228v-5.154c0-1.36.257-2.676 1.94-2.676 1.658 0 1.68 1.554 1.68 2.763V19.2H19.2v-5.715c0-2.806-.605-4.963-3.877-4.963-1.573 0-2.629.863-3.06 1.683h-.044V8.78Z" fill="currentColor"/>
1777      </svg></a>
1778    </li></ul><div class="h-stack gap-6"><link rel="stylesheet" href="//www.next-level-verlag.de/cdn/shop/t/4/assets/country-flags.css?v=53084990939934261921742372337" media="print" onload="this.media='all'; this.onload = null"><div class="relative">
1779      <button type="button" class="text-with-icon gap-2.5 group" aria-label="Land oder Währung ändern" aria-controls="popover-localization-form-country--sections--24124947497309__footer" aria-expanded="false">
1780        <div class="h-stack gap-2"><span class="country-flags country-flags--DE"></span><span class="bold text-sm">Deutschland (EUR €)</span>
1781        </div><svg role="presentation" focusable="false" width="10" height="7" class="icon icon-chevron-bottom" viewBox="0 0 10 7">
1782        <path d="m1 1 4 4 4-4" fill="none" stroke="currentColor" stroke-width="2"></path>
1783      </svg></button>
1784
1785      <x-popover id="popover-localization-form-country--sections--24124947497309__footer" initial-focus="[aria-selected='true']" anchor-horizontal="end" anchor-vertical="start" class="popover">
1786        <p class="h5" slot="title">Land</p><form method="post" action="/localization" id="localization-form-country--sections--24124947497309__footer" accept-charset="UTF-8" class="shopify-localization-form" enctype="multipart/form-data"><input type="hidden" name="form_type" value="localization" /><input type="hidden" name="utf8" value="✓" /><input type="hidden" name="_method" value="put" /><input type="hidden" name="return_to" value="/cart" /><x-listbox class="popover-listbox popover-listbox--sm" role="listbox"><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="DE" aria-selected="true">
1787                <span class="country-flags country-flags--DE"></span>
1788                <span>Deutschland (EUR €)</span>
1789              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="AT" >
1790                <span class="country-flags country-flags--AT"></span>
1791                <span>Österreich (EUR €)</span>
1792              </button><button type="submit" class="popover-listbox__option" name="country_code" role="option" value="CH" >
1793                <span class="country-flags country-flags--CH"></span>
1794                <span>Schweiz (EUR €)</span>
1795              </button></x-listbox></form></x-popover>
1796    </div></div></div><div class="footer__aside-bottom"><div class="footer__copyright v-stack gap-1">
1797            <p class="text-sm text-subdued">© 2026 - NXT LVL GmbH </p></div>
1798        </div>
1799      </div>
1800    </div>
1801  </div>
1802</div>
1803
1804<style> #shopify-section-sections--24124947497309__footer .footer__aside-top {position: absolute; top: -30px; left: 50%; transform: translateX(-50%); display: block;} #shopify-section-sections--24124947497309__footer .footer__aside-top ul {margin-left: 8px; gap: var(--spacing-2);} #shopify-section-sections--24124947497309__footer .social-media {margin-bottom: 24px !important;} </style></footer>
1805<!-- END sections: footer-group --></main>
1806
1807    
1808  <style> /*DO NOT USE - assets/custom.css */ </style>
1809<div id="shopify-block-AdmdXU3VUQ3hMTm1rN__8764476057892802672" class="shopify-block shopify-app-block"><link rel="preconnect" href="https://app.restockrocket.io" crossorigin><!-- Config and setup JS -->
1810<script id="RestockRocketConfig">
1811  window._RestockRocketConfig = window._RestockRocketConfig || {}
1812  window._RestockRocket = window._RestockRocket || {}
1813  window._Stoq = window._RestockRocket
1814  window._StoqConfig = window._RestockRocketConfig
1815  try { window._RestockRocket.inlineRanAt = performance.now(); } catch (e) { }
1816  function normalizeLocale(locale) {
1817    if (!locale || locale.trim() === '') {
1818      return '';
1819    }
1820    return locale.toString().toLowerCase().replace(/-/g, '_');
1821  }
1822
1823  window._RestockRocketConfig.locale = 'de';
1824  window._RestockRocketConfig.normalizedLocale = normalizeLocale('de');
1825  window._RestockRocketConfig.shop = '52f6de-ed.myshopify.com';
1826  window._RestockRocketConfig.pageType = 'cart';
1827  window._RestockRocketConfig.liquidRenderedAt = 1791090948;window._RestockRocketConfig.marketId = 89679135069;window._RestockRocketConfig.countryName = 'Deutschland';
1828    window._RestockRocketConfig.countryIsoCode = 'DE';window._RestockRocketConfig.languageIsoCode = 'de';window._RestockRocketConfig.cartInventoryQuantity = {};
1829  if (!window._RestockRocketConfig.cartToken) {
1830    try {
1831      const m = document.cookie.match(/(?:^|;\s*)cart=([^;]+)/);
1832      if (m && m[1]) window._RestockRocketConfig.cartToken = decodeURIComponent(m[1]);
1833    } catch (e) { }
1834  }
1835window._RestockRocketConfig.cachedSettings = {"id":21143,"shop_id":20987,"currency":"EUR","created_at":"2024-12-19T09:38:36.354Z","updated_at":"2025-12-28T13:36:26.884Z","enable_app":true,"enable_signup_widget":true,"storefront_button_text":"Benachrichtigen Sie mich, wenn verfügbar","storefront_button_text_color":"#FFFFFF","storefront_button_background_color":"#202223","storefront_form_header":"Benachrichtigen Sie mich","storefront_form_description":"Erhalten Sie eine Benachrichtigung, sobald dieses Produkt wieder verfügbar ist, indem Sie sich unten anmelden!","storefront_form_button_text":"Benachrichtigen Sie mich, wenn verfügbar","storefront_form_button_text_color":"#FFFFFF","storefront_form_button_background_color":"#202223","storefront_form_terms":"Wir versprechen, nicht zu spammen. Sie erhalten nur Benachrichtigungen für dieses Produkt.","storefront_form_error":"Bitte geben Sie eine gültige E-Mail-Adresse ein","storefront_form_success":"Danke! Wir werden Sie benachrichtigen, wenn das Produkt verfügbar ist.","enable_powered_by":false,"show_button_on_preorder":false,"sms_enabled":false,"email_enabled":true,"storefront_button_disable_tag":"rocket-hide","theme_config":{"disableDebugLoggingForNonPreorderItem":false},"storefront_form_email_placeholder":"E-Mail-Adresse","storefront_form_phone_placeholder":"SMS","storefront_form_phone_label":"Telefonnummer","storefront_form_email_label":"E-Mail","storefront_form_phone_error":"Bitte geben Sie eine gültige Telefonnummer ein","storefront_form_customer_name_placeholder":"Name","storefront_form_customer_name_error":"Please enter your name","storefront_form_did_you_mean_error":"Did you mean %{suggested_email}? Or use %{current_email}","form_customer_name_enabled":false,"form_customer_name_required":false,"css_config":null,"js_config":null,"collect_promotion_consent":false,"storefront_form_promotion_consent_label":"Informieren Sie mich auch über andere Neuigkeiten, Verkäufe, Rabatte und Angebote","show_button_on_collection":false,"sms_default_country":"de","sms_allowed_countries":[],"sms_restrict_country":false,"sms_default_channel":true,"optin_required":true,"optin_success_text":"Registrierung bestätigt! Sie erhalten eine Benachrichtigung, sobald das Produkt wieder auf Lager ist.","storefront_button_border_radius":0,"storefront_button_disable_tag_hides_button":true,"storefront_button_disable_tag_enabled":false,"quantity_required":false,"storefront_form_quantity_label":"Menge","enable_alerts":true,"sms_allowed":false,"email_allowed":true,"collect_promotion_consent_default":true,"insert_button_after_selector":null,"insert_button_after_selector_type":"afterend","storefront_button_position_type":"auto","storefront_form_duplicate_error":"Sie haben sich bereits für Benachrichtigungen zu diesem Produkt angemeldet.","storefront_mixed_cart_error":"This item needs to be purchased 
1835separately. Please check out or clear your cart before adding this item.","storefront_error_heading":"Error","default_locale":"de","collection_page_button_text_color":"#FFFFFF","collection_page_button_background_color":"#202223","show_button_if_any_out_of_stock":true,"show_button_if_any_variant_out_of_stock_collection":false,"show_button_on_index":false,"insert_button_after_selector_collection":null,"insert_button_after_selector_index":null,"push_enabled":false,"push_allowed":true,"storefront_form_push_label":"Push","storefront_form_push_description":"Klicken Sie auf 'Zulassen', um über Push-Benachrichtigung informiert zu werden","storefront_form_push_error":"Berechtigung abgelehnt! Bitte überprüfen Sie die Benachrichtigungseinstellungen und versuchen Sie es erneut.","storefront_font_family":"OpenSans","insert_button_after_selector_collection_type":"afterend","show_channel_selector":false,"storefront_form_empty_error":"Bitte füllen Sie eine oder mehrere der oben genannten Optionen aus","storefront_form_push_input":"Senden Sie eine Benachrichtigung an Ihren Browser","insert_button_after_selector_page":null,"show_button_on_page":false,"insert_button_after_selector_search":null,"show_button_on_search":false,"app_proxy_path_prefix":"/apps/restockrocket-production","collection_link_selector":"","index_link_selector":"","page_link_selector":"","search_link_selector":"","collection_check_link_visibility":true,"collection_buttons_container":null,"index_buttons_container":null,"page_buttons_container":null,"search_buttons_container":null,"extension_enable_url_variant_detection":true,"extension_enable_value_variant_detection":true,"extension_value_variant_selector":"[name='id']","resubscribe_text":"Dieses Produkt ist ausverkauft. Werden Sie benachrichtigt, wenn es wieder auf Lager ist, indem Sie Ihre Details unten eingeben!","preorder_enabled":true,"preorder_buy_button_selector":null,"preorder_add_to_cart_button_selector":null,"preorder_badge_selector":null,"preorder_button_out_of_stock_text":"Nicht vorrätig","preorder_button_add_to_cart_text":"Add to cart","preorder_form_selector":"form[action*=\"/cart/add\"]","preorder_collection_enabled":false,"preorder_collection_form_selector":"form[action*=\"/cart/add\"]","preorder_collection_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_index_enabled":false,"preorder_index_form_selector":"form[action*=\"/cart/add\"]","preorder_index_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_page_enabled":false,"preorder_page_form_selector":"form[action*=\"/cart/add\"]","preorder_page_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_search_enabled":false,"preorder_search_form_selector":"form[action*=\"/cart/add\"]","preorder_search_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_collection_badge_selector":null,"preorder_index_badge_selector":null,"preorder_page_badge_selector":null,"preorder_search_badge_selector":null,"preorder_badge_selector_type":"afterend","preorder_collection_badge_selector_type":"afterend","preorder_button_child_selector":"span","preorder_button_disclaimer_insert_selector":null,"preorder_button_disclaimer_insert_selector_type":"afterend","preorder_payment_insert_selector":null,"preorder_payment_insert_selector_type":"afterend","preorder_price_container_selector":null,"preorder_price_container_selector_insert_type":"afterend","preorder_terms_insert_selector":null,"preorder_terms_insert_selector_type":"afterend","preorder_original_price_selector":null,"preorder_price_format":"{{amount}} {{currency}}","show_badge_if_any_variant_is_preorder":false,"enable_console_debug":false,"inline_form_enabled":false,"inline_form_selector":null,"inline_form_selector_type":"afterend","storefront_form_prefill_customer":true,"storefront_form_show_image":false,"storefront_form_text_color":"#202223","storefront_form_background_color":"#FFFFFF","storefront_form_border_radius":0,"market_setup_type":"single_market","shopify_app_id":5940125,"preorder_progress_bar_insert_selector":null,"preorder_progress_bar_insert_selector_type":"beforebegin","countdown_timer_insert_selector":null,"countdown_timer_insert_selector_type":"afterend","cache":true,"cached_at":"2026-01-08T15:01:49.948Z","multi_language_enabled":false,"translation_locale":"de"};
1836  window._RestockRocketConfig.metafieldNamespace = 'restockrocket_production';
1837  window._RestockRocketConfig.storefrontApiVersion = '2026-07';window._RestockRocketConfig.cachedPreorderVariantIds = { preorder_variant_ids: [] };window._RestockRocketConfig.cachedInStockVariantIds = { in_stock_variant_ids: [] };window._RestockRocketConfig.cachedOutOfStockVariantIds = { out_of_stock_variant_ids: [] };window._RestockRocketConfig.cachedVariantPreorderLimits = { variant_preorder_limits: {} };window._RestockRocketConfig.cachedVariantShippingTexts = { variant_shipping_texts: {} };
1838window._RestockRocketConfig.sellingPlans = [];(function() {
1839      const cachedData = {"plans":[],"disabled_plan_ids":[],"has_in_stock_offer":false,"has_preorder_offer":false,"read_flags":{},"cached_at":"2026-09-21T15:49:40Z"};
1840
1841      if (cachedData && typeof cachedData === 'object' && cachedData.cached_at) {
1842        window._RestockRocketConfig.readFlags = cachedData.read_flags || {};
1843        const oldPlans = window._RestockRocketConfig.sellingPlans;
1844        const maxUpdatedAt = Array.isArray(oldPlans) && oldPlans.length > 0
1845          ? oldPlans.reduce(function(max, plan) {
1846              if (plan.updated_at) {
1847                const planDate = new Date(plan.updated_at);
1848                const maxDate = max ? new Date(max) : null;
1849                return (!maxDate || (planDate && !isNaN(planDate) && planDate > maxDate)) ? plan.updated_at : max;
1850              }
1851              return max;
1852            }, '')
1853          : null;
1854        const cachedDate = new Date(cachedData.cached_at);
1855        const maxDate = maxUpdatedAt ? new Date(maxUpdatedAt) : null;
1856        const useCached = !maxUpdatedAt || (cachedDate && !isNaN(cachedDate) && (!maxDate || cachedDate > maxDate));
1857
1858        if (useCached) {
1859          if (Array.isArray(cachedData.plans)) {
1860            window._RestockRocketConfig.sellingPlans = cachedData.plans;
1861            window._RestockRocketConfig.disabledSellingPlanIds = cachedData.disabled_plan_ids || [];
1862            console.debug('[RR] Using selling plans from cachedSellingPlans (cached_at: ' + cachedData.cached_at + ')');
1863          }
1864        } else {
1865          window._RestockRocketConfig.disabledSellingPlanIds = [];
1866          console.debug('[RR] Using selling plans from old format (max updated_at: ' + maxUpdatedAt + ')');
1867        }
1868      }
1869    })();window._RestockRocketConfig.enabledNotifyMeVariantIds = [];window._RestockRocketConfig.disabledNotifyMeVariantIds = [];window._RestockRocketConfig.backInStockTemplates = [];window._RestockRocketConfig.restockNotes = {};window._RestockRocketConfig.integrations = [];
1870  try {
1871    var _sqCfg = window._RestockRocketConfig;
1872    var _sqPlanEnabled = Array.isArray(_sqCfg.sellingPlans) &&
1873      _sqCfg.sellingPlans.some(function (p) { return p && p.enabled; });
1874    var _sqPreCount = ((_sqCfg.cachedPreorderVariantIds &&
1875      _sqCfg.cachedPreorderVariantIds.preorder_variant_ids) || []).length;
1876    _sqCfg.preordersConfigured = !!(_sqPlanEnabled && _sqPreCount);
1877  } catch (e) { }
1878  try {
1879    var _sqc = window._RestockRocketConfig;
1880    var _sqOn = !(_sqc.cachedSettings && _sqc.cachedSettings.block_accelerated_checkout === false);
1881    var _sqPre = (_sqc.cachedPreorderVariantIds &&
1882      _sqc.cachedPreorderVariantIds.preorder_variant_ids) || [];
1883    var _sqArm = false;
1884    if (_sqOn && _sqc.preordersConfigured) {
1885      if (_sqc.pageType === 'product' && _sqc.product && _sqc.product.variants) {
1886        _sqArm = _sqc.product.variants.some(function (v) { return _sqPre.indexOf(Number(v.id)) !== -1; });
1887      } else {
1888        _sqArm = (_sqc.integrations || []).some(function (i) {
1889          return i && i.type === 'featured_product' && i.enabled &&
1890            Array.isArray(i.page_types) && i.page_types.indexOf(_sqc.pageType) !== -1;
1891        });
1892      }
1893    }
1894    if (_sqArm && document.documentElement) {
1895      _sqc.acceleratedGateArmed = true;
1896      document.documentElement.classList.add('stoq-buy-now-pending');
1897      setTimeout(function () {
1898        document.documentElement.classList.remove('stoq-buy-now-pending');
1899      }, 6000);
1900    }
1901  } catch (e) { }
1902
1903  window._RestockRocketConfig.scriptUrlProduct = 'https://cdn.shopify.com/extensions/01a0f67f-532e-7916-acb4-6f3af102b411/restockrocket-1-599/assets/restockrocket-product.js'
1904  window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/01a0f67f-532e-7916-acb4-6f3af102b411/restockrocket-1-599/assets/restockrocket-collection.js'
1905  window._RestockRocketConfig.scriptUrlProductBis = 'https://cdn.shopify.com/extensions/01a0f67f-532e-7916-acb4-6f3af102b411/restockrocket-1-599/assets/restockrocket-product-bis.js'
1906  window._RestockRocketConfig.scriptUrlCollectionBis = 'https://cdn.shopify.com/extensions/01a0f67f-532e-7916-acb4-6f3af102b411/restockrocket-1-599/assets/restockrocket-collection-bis.js'
1907  window._RestockRocketConfig.scriptHost = window._RestockRocketConfig.scriptUrlProduct.substring(0, window._RestockRocketConfig.scriptUrlProduct.lastIndexOf('/') + 1)
1908  window._RestockRocketConfig.host = (window._RestockRocketConfig.cachedSettings && window._RestockRocketConfig.cachedSettings.api_host) || 'https://app.restockrocket.io'
1909  try {
1910    const _stoqVersionMatch = window._RestockRocketConfig.scriptHost.match(/(\d+)\/?(?:assets\/?)?$/);
1911    window._RestockRocketConfig.appVersion = (_stoqVersionMatch && _stoqVersionMatch[1]) || '';
1912  } catch (e) {
1913    window._RestockRocketConfig.appVersion = '';
1914  }
1915  const SETTINGS_CACHE_DURATION = 15 * 60 * 1000;
1916  const LIQUID_CACHE_MAX_AGE = 15 * 60;
1917  const liquidRenderedAt = window._RestockRocketConfig.liquidRenderedAt;
1918  if (!liquidRenderedAt || typeof liquidRenderedAt !== 'number' || isNaN(liquidRenderedAt)) {
1919    console.debug('STOQ - Invalid or missing liquidRenderedAt timestamp, assuming fresh');
1920    window._RestockRocketConfig.isLiquidCacheFresh = true;
1921    window._RestockRocketConfig.liquidCacheAge = null;
1922  } else {
1923    const now = Math.floor(Date.now() / 1000);
1924    const liquidCacheAge = now - liquidRenderedAt;
1925    window._RestockRocketConfig.liquidCacheAge = Math.max(0, liquidCacheAge);
1926    if (liquidCacheAge < 0) {
1927      console.debug(`STOQ - Client clock appears ahead of server by ${Math.abs(Math.round(liquidCacheAge / 60))} minutes, assuming cache fresh`);
1928      window._RestockRocketConfig.isLiquidCacheFresh = true;
1929    } else if (liquidCacheAge <= LIQUID_CACHE_MAX_AGE) {
1930      console.debug(`STOQ - Liquid cache is fresh (${Math.round(liquidCacheAge / 60)} minutes old)`);
1931      window._RestockRocketConfig.isLiquidCacheFresh = true;
1932    } else {
1933      console.debug(`STOQ - Liquid cache is stale (${Math.round(liquidCacheAge / 60)} minutes old, max ${Math.round(LIQUID_CACHE_MAX_AGE / 60)} minutes)`);
1934      window._RestockRocketConfig.isLiquidCacheFresh = false;
1935    }
1936  }
1937
1938  function checkSettingsExpiry(settings) {
1939    try {
1940      if (!settings || !settings.updated_at) {
1941        console.debug('STOQ - Invalid settings data structure');
1942        return null;
1943      }
1944
1945      if (!settings.cache) {
1946        console.debug('STOQ - settings caching disabled');
1947        return null;
1948      }
1949      if (settings.multi_language_enabled) {
1950        if (!settings.translations) {
1951          console.debug('STOQ - multi-language enabled but no translation data in cache, fetching fresh');
1952          return null;
1953        }
1954        if (window._RestockRocketConfig.normalizedLocale &&
1955            !Object.prototype.hasOwnProperty.call(settings.translations, window._RestockRocketConfig.normalizedLocale)) {
1956          console.debug('STOQ - locale not explicitly translated, will use default language from cache');
1957        }
1958      }
1959
1960      const updatedAt = new Date(settings.updated_at);
1961      if (isNaN(updatedAt.getTime())) {
1962        console.debug('STOQ - Invalid updated_at date format in settings');
1963        return null;
1964      }
1965
1966      const age = Date.now() - updatedAt.getTime();
1967      if (age < SETTINGS_CACHE_DURATION) {
1968        console.debug('STOQ - settings changed recently, skipping cache');
1969        return null;
1970      }
1971
1972      return settings;
1973    } catch (error) {
1974      console.debug('STOQ - Error checking settings cache:', error);
1975      return null;
1976    }
1977  }
1978
1979  function createRestockRocketContainer() {
1980    const restockRocketContainer = document.createElement('div');
1981    restockRocketContainer.id = 'restock-rocket';
1982    document.body.appendChild(restockRocketContainer);
1983  }
1984
1985  function createRestockRocketScript(scriptUrl) {
1986    const restockRocketScriptElement = document.createElement('script');
1987    restockRocketScriptElement.setAttribute('defer', 'defer');
1988    restockRocketScriptElement.src = scriptUrl;
1989    document.body.appendChild(restockRocketScriptElement);
1990  }
1991
1992  createRestockRocketContainer()
1993
1994  console.debug('STOQ - extension activated')
1995  try {
1996    const _stoqInitConfig = window._RestockRocketConfig;
1997    const _stoqDetectedVariantIds = (_stoqInitConfig.product && Array.isArray(_stoqInitConfig.product.variants)
1997)
1998      ? _stoqInitConfig.product.variants.map(function(v) { return v.id })
1999      : [];
2000    const _stoqSelectedVariantId = _stoqInitConfig.selected_variant_id;
2001    var _stoqPageSeq = 0;
2002    try {
2003      _stoqPageSeq = (parseInt(window.sessionStorage.getItem('_stoq_pls') || '0', 10) || 0) + 1;
2004      window.sessionStorage.setItem('_stoq_pls', String(_stoqPageSeq));
2005    } catch (e) { }
2006    Shopify?.analytics?.publish?.('stoq_initialized', {
2007      cart_token: _stoqInitConfig.cartToken || '',
2008      page_url: window.location.href,
2009      page_type: _stoqInitConfig.pageType || '',
2010      shop_domain: _stoqInitConfig.shop || '',
2011      market_id: _stoqInitConfig.marketId || '',
2012      country_code: _stoqInitConfig.countryIsoCode || '',
2013      detected_variant_ids: _stoqDetectedVariantIds,
2014      selected_variant_id: _stoqSelectedVariantId || '',
2015      page_load_seq: _stoqPageSeq,
2016      liquid_rendered_at: _stoqInitConfig.liquidRenderedAt || 0,
2017      app_version: _stoqInitConfig.appVersion || '',
2018      liquid_cache_age: _stoqInitConfig.liquidCacheAge,
2019      inventory_policy: (_stoqInitConfig.variantsInventoryPolicy || {})[_stoqSelectedVariantId] || '',
2020      inventory_quantity: (_stoqInitConfig.variantsInventoryQuantity || {})[_stoqSelectedVariantId],
2021    });
2022  } catch (e) {
2023    console.debug('STOQ - stoq_initialized publish failed:', e);
2024  }
2025  try {
2026    var _sqTrack = window._RestockRocketConfig;
2027    if (_sqTrack.preordersConfigured) {
2028      document.addEventListener('click', function (e) {
2029        try {
2030          var t = e.target;
2031          if (!t || !t.closest) return;
2032          var host = t.closest('.shopify-payment-button, shopify-payment-terms');
2033          if (!host) return;
2034          var channel = host.matches && host.matches('shopify-payment-terms')
2035            ? 'shop_pay_installments' : 'buy_now';
2036          var form = host.closest('form');
2037          var vidEl = form && form.querySelector('[name="id"]');
2038          var variantId = (vidEl && vidEl.value) || _sqTrack.selected_variant_id || '';
2039          var _sqVidNum = Number(variantId);
2040          var _sqPlan = null;
2041          var _sqPlans = Array.isArray(_sqTrack.sellingPlans) ? _sqTrack.sellingPlans : [];
2042          var _sqMktId = Number(_sqTrack.marketId);
2043          var _sqForVariant = function (pl) {
2044            return pl && pl.enabled && Array.isArray(pl.variant_ids) &&
2045              pl.variant_ids.indexOf(_sqVidNum) !== -1;
2046          };
2047          _sqPlans.forEach(function (pl) {
2048            if (!_sqPlan && _sqForVariant(pl) && pl.markets_enabled &&
2049                Array.isArray(pl.shopify_market_ids) &&
2050                pl.shopify_market_ids.indexOf(_sqMktId) !== -1) { _sqPlan = pl; }
2051          });
2052          if (!_sqPlan) {
2053            _sqPlans.forEach(function (pl) {
2054              if (!_sqPlan && _sqForVariant(pl) && !pl.markets_enabled) { _sqPlan = pl; }
2055            });
2056          }
2057          Shopify?.analytics?.publish?.('stoq_accelerated_checkout_clicked', {
2058            variant_id: variantId,
2059            product_id: (_sqTrack.product && _sqTrack.product.id) || '',
2060            channel: channel,
2061            market_id: _sqTrack.marketId || '',
2062            country_code: _sqTrack.countryIsoCode || '',
2063            page_type: _sqTrack.pageType || '',
2064            cart_token: _sqTrack.cartToken || '',
2065            page_url: (window.location && window.location.href) || '',
2066            properties: {
2067              is_preorder_variant: (function () {
2068                var vid = Number(variantId);
2069                var has = function (a) { return Array.isArray(a) && a.indexOf(vid) !== -1; };
2070                return has(_sqTrack.preorderVariantIds) ||
2071                  has(_sqTrack.cachedPreorderVariantIds &&
2072                    _sqTrack.cachedPreorderVariantIds.preorder_variant_ids);
2073              })(),
2074              in_enabled_plan: !!_sqPlan,
2075              is_instock_variant: (function () {
2076                var has = function (a) { return Array.isArray(a) && a.indexOf(_sqVidNum) !== -1; };
2077                return has(_sqTrack.inStockVariantIds) ||
2078                  has(_sqTrack.cachedInStockVariantIds &&
2079                    _sqTrack.cachedInStockVariantIds.in_stock_variant_ids);
2080              })(),
2081              enrolled_plan_id: (_sqPlan && (_sqPlan.shopify_selling_plan_id || _sqPlan.shopify_selling_plan_group_id)) || '',
2082              enrolled_plan_provider: (_sqPlan && _sqPlan.inventory_provider) || '',
2083              block_enabled: !(_sqTrack.cachedSettings && _sqTrack.cachedSettings.block_accelerated_checkout === false),
2084              gate_armed: !!_sqTrack.acceleratedGateArmed,
2085              gate_active_at_click: !!(document.documentElement &&
2086                document.documentElement.classList.contains('stoq-buy-now-pending')),
2087              blocked: (function () {
2088                try {
2089                  var rr = window._RestockRocket;
2090                  return !!(rr && typeof rr.willBlockAcceleratedCl
2090ick === 'function' &&
2091                    rr.willBlockAcceleratedClick(e));
2092                } catch (err) { return false; }
2093              })(),
2094            },
2095          });
2096        } catch (err) { }
2097      }, true);
2098    }
2099  } catch (e) { }
2100  function applyTranslations(settings) {
2101    try {
2102      if (!settings || !settings.multi_language_enabled) {
2103        return settings;
2104      }
2105
2106      if (!settings.translations) {
2107        console.debug('STOQ - No translations found, skipping translation');
2108        return settings;
2109      }
2110
2111      const normalizedLocale = window._RestockRocketConfig.normalizedLocale;
2112      const translations = settings.translations;
2113
2114      if (!normalizedLocale) {
2115        console.debug('STOQ - No matching locale for translations. Available:', Object.keys(translations || {}));
2116        delete settings.translations;
2117        return settings;
2118      }
2119
2120      console.debug(`STOQ - Applying translations for normalized locale: ${normalizedLocale} (original: ${window._RestockRocketConfig.locale})`);
2121
2122      const translatedFields = translations[normalizedLocale];
2123      if (translatedFields && typeof translatedFields === 'object') {
2124        Object.keys(translatedFields).forEach(function(key) {
2125          const value = translatedFields[key];
2126          if (value !== null && value !== undefined && value !== '') {
2127            settings[key] = value;
2128          }
2129        });
2130      } else {
2131        console.debug('STOQ - No translated fields found for locale:', normalizedLocale);
2132      }
2133
2134      delete settings.translations;
2135      return settings;
2136    } catch (e) {
2137      console.debug('STOQ - error applying translations:', e);
2138      return settings;
2139    }
2140  }
2141  function setupCartSellingPlanUpdater(settings) {
2142    window.addEventListener('stoq:inventory-data-loaded', function(event) {
2143      console.debug('STOQ - Inventory data loaded, updating cart selling plans');
2144      if (window._RestockRocket && window._RestockRocket.updateCartSellingPlans) {
2145        window._RestockRocket.updateCartSellingPlans()
2146          .then(hasUpdates => {
2147            if (hasUpdates) {
2148              console.debug('STOQ - cart selling plans updated successfully');
2149            } else {
2150              console.debug('STOQ - no cart selling plan updates needed');
2151            }
2152          })
2153          .catch(error => {
2154            console.error('STOQ - error updating cart selling plans:', error);
2155          });
2156      }
2157    });
2158  }
2159  function storefrontGraphql(query, variables) {
2160    const cfg = window._RestockRocketConfig;
2161    if (!cfg.storefrontAccessToken || cfg.disableStorefrontApi === true) {
2162      return Promise.reject(new Error('Storefront API unavailable'));
2163    }
2164    return fetch(
2165      `https://${cfg.shop}/api/${cfg.storefrontApiVersion}/graphql.json`,
2166      {
2167        method: 'POST',
2168        headers: {
2169          'Content-Type': 'application/json',
2170          'X-Shopify-Storefront-Access-Token': cfg.storefrontAccessToken,
2171        },
2172        body: JSON.stringify({ query: query, variables: variables }),
2173      }
2174    )
2175    .then(function(response) {
2176      if (!response.ok) { throw new Error('Storefront API HTTP ' + response.status); }
2177      return response.json();
2178    })
2179    .then(function(body) {
2180      if (body && body.errors && body.errors.length) {
2181        throw new Error('Storefront API errors: ' + body.errors.map(function(e) { return e && e.message; }).join(', '));
2182      }
2183      return body && body.data;
2184    });
2185  }
2186  function fetchStorefrontShopMetafield(key) {
2187    const cfg = window._RestockRocketConfig;
2188    const query = 'query StoqShopMetafield($namespace: String!, $key: String!) { shop { metafield(namespace: $namespace, key: $key) { value } } }';
2189    return storefrontGraphql(query, { namespace: cfg.metafieldNamespace, key: key })
2190    .then(function(data) {
2191      const value = data && data.shop && data.shop.metafield && data.shop.metafield.value;
2192      if (!value) { throw new Error('Storefront API returned no ' + key + ' metafield value'); }
2193      return JSON.parse(value);
2194    });
2195  }
2196  (function loadStorefrontSettings() {
2197    const cfg = window._RestockRocketConfig;
2198    if (!cfg.storefrontAccessToken || cfg.disableStorefrontApi === true) return;
2199    function run() {
2200      // The live-settings read is one more shop-level metafield fetch, so it
2201      // shares fetchStorefrontShopMetafield with the integrations/selling_plans
2202      // reads rather than re-issuing the same query + parse.
2203      fetchStorefrontShopMetafield('settings')
2204      .then(function(settings) {
2205        cfg.storefrontSettings = settings;
2206        console.debug('STOQ - stored live settings from Storefront API on config.storefrontSettings');
2207      })
2208      .catch(function(e) {
2209        console.debug('STOQ - Storefront settings fetch failed (non-fatal):', e && e.message);
2210      });
2211    }
2212
2213    if (typeof window.requestIdleCallback === 'function') {
2214      window.requestIdleCallback(run, { timeout: 5000 });
2215    } else {
2216      setTimeout(run, 0);
2217    }
2218  })();
2219  const cachedSettings = window._RestockRocketConfig.cachedSettings;
2220  const validCachedSettings = cachedSettings ? checkSettingsExpiry(cachedSettings) : null;
2221
2222  if (validCachedSettings) {
2223    console.debug('STOQ - using cached settings');
2224    initializeScripts(validCachedSettings);
2225  } else {
2226    console.debug('STOQ - fetching fresh settings');
2227    const headers = {
2228      'X-Shopify-Shop-Domain': window._RestockRocketConfig.shop || window.Shopify.shop,
2229      'ngrok-skip-browser-warning': 'skip'
2230    };
2231
2232    if (window.Shopify?.theme?.role === 'main') {
2233      headers['X-Shopify-Theme-Schema-Name'] = window.Shopify.theme.schema_name;
2234      headers['X-Shopify-Theme-Schema-Version'] = window.Shopify.theme.schema_version;
2235      headers['X-Shopify-Theme-Store-Id'] = window.Shopify.theme.theme_store_id;
2236    }
2237
2238    fetch(
2239      `${window._RestockRocketConfig.host}/api/v1/setting.json?translation_locale=${window._RestockRocketConfig.normalizedLocale}`,
2240      { headers }
2241    )
2242    .then(function(response) {
2243      if (!response.ok) {
2244        throw new Error('Network response was not ok');
2245      }
2246      return response.json();
2247    })
2248    .then(function(settings) {
2249      initializeScripts(settings);
2250    })
2251    .catch(function(error) {
2252      if (cachedSettings) {
2253        console.debug('STOQ - using expired cached settings as fallback');
2254        initializeScripts(cachedSettings);
2255      } else {
2256        console.error('STOQ - failed to load settings:', error);
2257      }
2258    })
2259    .catch(function(e) {
2260      console.error(e)
2261    })
2262  }
2263
2264  function fetchEmbedConfig(endpoint, apply) {
2265    return fetch(
2266      `${window._RestockRocketConfig.host}/api/v1/embed/${endpoint}.json`,
2267      {
2268        headers: {
2269          'X-Shopify-Shop-Domain': window._RestockRocketConfig.shop || window.Shopify.shop,
2270          'ngrok-skip-browser-warning': 'skip'
2271        }
2272      }
2273    )
2274    .then(function(response) {
2275      if (!response.ok) throw new Error(`Failed to fetch ${endpoint}`);
2276      return response.json();
2277    })
2278    .then(function(data) {
2279      try {
2280        apply(data);
2281      } catch (applyError) {
2282        console.error('STOQ - apply failed for ' + endpoint + ':', applyError);
2283        throw applyError;
2284      }
2285    })
2286    .catch(function(error) {
2287      console.debug(`STOQ - using cached ${endpoint}:`, error.message);
2288    });
2289  }
2290  function refreshShopConfig(source) {
2291    const cfg = window._RestockRocketConfig;
2292    const viaEmbed = function() { return fetchEmbedConfig(source.endpoint, source.apply); };
2293    const flagOn = !!cfg.readFlags && cfg.readFlags[source.flag] === true;
2294    if (!flagOn || source.embedOnly === true) { return viaEmbed(); }
2295
2296    return fetchStorefrontShopMetafield(source.metafieldKey)
2297      .then(function(value) {
2298        if (!source.isValid(value)) { throw new Error(source.metafieldKey + ' metafield is not a valid ' + source.endpoint + ' payload'); }
2299        source.apply(value);
2300        console.debug('STOQ - refreshed ' + source.endpoint + ' from the Storefront API');
2301      })
2302      .catch(function(error) {
2303        console.debug('STOQ - Storefront ' + source.endpoint + ' read failed, using embed:', error.message);
2304        return viaEmbed();
2305      });
2306  }
2307  function refreshIntegrations() {
2308    const cfg = window._RestockRocketConfig;
2309    return refreshShopConfig({
2310      endpoint: 'integrations',
2311      metafieldKey: 'integrations',
2312      flag: 'enable_storefront_integrations_read',
2313      isValid: function(value) { return Array.isArray(value); },
2314      apply: function(data) {
2315        cfg.integrations = data;
2316      }
2317    });
2318  }
2319  function refreshSellingPlans(embedOnly) {
2320    const cfg = window._RestockRocketConfig;
2321    return refreshShopConfig({
2322      embedOnly: embedOnly === true,
2323      endpoint: 'selling_plans',
2324      metafieldKey: 'cachedSellingPlans',
2325      flag: 'enable_storefront_selling_plans_read',
2326      isValid: function(value) { return !!value && Array.isArray(value.plans); },
2327      apply: function(data) {
2328        cfg.sellingPlans = data.plans;
2329        cfg.disabledSellingPlanIds = data.disabled_plan_ids || [];
2330        if (data && data.read_flags && typeof data.read_flags === 'object' && !Array.isArray(data.read_flags)) {
2331          cfg.readFlags = data.read_flags;
2332        }
2333      }
2334    });
2335  }
2336
2337  function initializeScripts(settings) {
2338    settings = applyTranslations(settings);
2339    window._RestockRocketConfig.settings = settings;
2340    console.debug(`STOQ - settings configured for ${window._RestockRocketConfig.pageType}`);
2341    const forceEmbedSellingPlans = settings.force_embed_selling_plans === true;
2342    const staleRefresh = !window._RestockRocketConfig.isLiquidCacheFresh && !settings.disable_refresh_on_stale_liquid;
2343    if (forceEmbedSellingPlans || staleRefresh) {
2344      console.debug('STOQ - refreshing selling_plans' + (staleRefresh ? ' + integrations (Liquid cache stale)' : ' (force_embed_selling_plans)'));
2345      const refreshes = [refreshSellingPlans(forceEmbedSellingPlans)];
2346      if (staleRefresh) { refreshes.push(refreshIntegrations()); }
2347      Promise.race([
2348        Promise.all(refreshes),
2349        new Promise(function(resolve) { setTimeout(resolve, 1000); })
2350      ]).then(function() { loadScripts(settings); });
2351      return;
2352    }
2353
2354    loadScripts(settings);
2355  }
2356
2357  function loadScripts(settings) {
2358    setupCartSellingPlanUpdater(settings);
2359
2360    if(settings.enable_app) {
2361      const hijackIntegration = window._RestockRocketConfig.integrations.find(function(integration) {
2362        return integration.type === 'hijack' && integration.enabled && integration.page_types.includes(window._RestockRocketConfig.pageType);
2363      })
2364      const hasEnabledOffer = Array.isArray(window._RestockRocketConfig.sellingPlans)
2365        && window._RestockRocketConfig.sellingPlans.some(function(plan) { return plan && plan.enabled; });
2366      const hasDisabledPlanIds = Array.isArray(window._RestockRocketConfig.disabledSellingPlanIds)
2367        && window._RestockRocketConfig.disabledSellingPlanIds.length > 0;
2368      const usePreorderBuild = settings.preorder_enabled || hasEnabledOffer || hasDisabledPlanIds;
2369
2370      const collectionScriptUrl = usePreorderBuild
2371        ? window._RestockRocketConfig.scriptUrlCollection
2372        : window._RestockRocketConfig.scriptUrlCollectionBis;
2373      const productScriptUrl = usePreorderBuild
2374        ? window._RestockRocketConfig.scriptUrlProduct
2375        : window._RestockRocketConfig.scriptUrlProductBis;
2376
2377      const pageType = window._RestockRocketConfig.pageType;
2378      const collectionPageTypes = ['collection', 'index', 'search', 'page'];
2379
2380      if(collectionPageTypes.indexOf(pageType) !== -1 && (settings[`show_button_on_${pageType}`] || settings[`preorder_${pageType}_enabled`])) {
2381        createRestockRocketScript(collectionScriptUrl);
2382      } else if(pageType === 'product') {
2383        createRestockRocketScript(productScriptUrl);
2384      } else if(hijackIntegration) {
2385        createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection);
2386      } else if(usePreorderBuild) {
2387        createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection);
2388      } else {
2389        console.debug(`STOQ - no scripts enabled for ${pageType}`);
2390      }
2391      const appLoadedEvent = new CustomEvent('stoq:loaded', {
2392        detail: {
2393          pageType: window._RestockRocketConfig.pageType,
2394          enabled: settings.enable_app,
2395          settings: settings,
2396          preorderEnabled: settings.preorder_enabled
2397        }
2398      });
2399      console.debug('STOQ - dispatching app loaded event');
2400      window.dispatchEvent(appLoadedEvent);
2401    }
2402  }
2403</script>
2403<style id="RestockRocketStyle">html.stoq-buy-now-pending .shopify-payment-button{pointer-events:none!important}</style>
2404
2405
2406</div><div id="shopify-block-AM2U2bkZ4d1JoYW1WV__16420725565331586169" class="shopify-block shopify-app-block">
2407<!-- BEGIN app snippet: configurations -->
2408<script id="appio_reviews_script">
2409  
2410    setTimeout(() => {
2411      if((!([...document.getElementsByTagName("script")].some(_=>_.src?.indexOf("appio-reviews.")>0))) || {...{"language":"Germany","customTexts":{"English":{"textFeaturedTitle":"Kunden empfehlen"}},"hideHeaderWhenNoReview":true,"showReviewButton":false,"showWidgetTitle":false,"showReviewFilters":false,"colorStar":"#e2a200","thumbSize":62,"maxLines":2,"showReply":false,"allowSortReview":false,"ratingFormatProduct":"(#raters)","showReviewDate":false,"showReviewerCountry":false,"showReviewerName":false,"showVerifiedBadge":false,"featuredLayout":"slide","featuredShowReviewsCount":false,"featuredMaxLines":17}}?.useCDN){let e=document.createElement("script"),s=document.createElement("link");e.src="https://cdn.jsdelivr.net/gh/edataviz/reviews@6/appio-reviews.min.js",s.href="https://cdn.jsdelivr.net/gh/edataviz/reviews@6/appio-reviews.min.css",s.rel="stylesheet",document.getElementsByTagName("head")[0].append(s,e);}
2412    }, 200)
2413    _appioCheck = "515628215247";
2414    _appioVersion = '3.3';
2415    
2416    _appioConfig = {"language":"Germany","customTexts":{"English":{"textFeaturedTitle":"Kunden empfehlen"}},"hideHeaderWhenNoReview":true,"showReviewButton":false,"showWidgetTitle":false,"showReviewFilters":false,"colorStar":"#e2a200","thumbSize":62,"maxLines":2,"showReply":false,"allowSortReview":false,"ratingFormatProduct":"(#raters)","showReviewDate":false,"showReviewerCountry":false,"showReviewerName":false,"showVerifiedBadge":false,"featuredLayout":"slide","featuredShowReviewsCount":false,"featuredMaxLines":17};
2417    
2418    _appioData = {...window._appioData,
2419      page: 1,
2420      filter: 'all',
2421      sort: '' || 'featured',
2422      groupId: '',
2423    }
2424    _appioPage = "cart";
2425  
2426  �_appioPopupReviews = null
2427  
2428    _appioRatings = {"der-protein-fasten-trick":{"productId":"14991305867613","groupAverage":null,"groupTotal":null,"rating":"4.3","raters":191,"title":"Der Protein-Fasten-Trick"},"jeden-tag-einen-schritt":{"productId":"14751132057949","groupAverage":null,"groupTotal":null,"rating":"4.2","raters":200,"title":"Jeden Tag einen Schritt"},"jan-ulrich-himmel-holle-und-zuruck-ins-leben":{"productId":"14751138840925","groupAverage":null,"groupTotal":null,"rating":"4.3","raters":43,"title":"Jan Ulrich | Himmel, Hölle - und zurück ins Leben"},"das-jochen-schweizer-prinzip":{"productId":"14751171019101","groupAverage":null,"groupTotal":null,"rating":"4.2","raters":33,"title":"Das Jochen Schweizer Prinzip"},"die-jungs-gaben-mir-mein-leben-zuruck":{"productId":"14751172886877","groupAverage":null,"groupTotal":null,"rating":"5.0","raters":17,"title":"Die Jungs gaben mir mein Leben zurück"},"gute-gene-einschalten-schlechte-gene-ausschalten":{"productId":"14813991338333","groupAverage":null,"groupTotal":null,"rating":"4.3","raters":13,"title":"Gute Gene einschalten, schlechte Gene ausschalten"},"poor-charlie-s-almanack-the-essential-wit-and-wisdom-of-charles-t-munger":{"productId":"14814050287965","groupAverage":null,"groupTotal":null,"rating":"4.3","raters":29,"title":"Poor Charlie’s Almanach"},"12-nachte-die-dein-leben-verandern":{"productId":"14817467236701","groupAverage":null,"groupTotal":null,"rating":"4.8","raters":51,"title":"12 Nächte, die dein Leben verändern"},"mein-bestes-jahr-dein-daily-workbook":{"productId":"14814129389917","groupAverage":null,"groupTotal":null,"rating":"4.1","raters":15,"title":"Mein bestes Jahr"},"ich-muss-nen-scheiss-muss-ich":{"productId":"14835036553565","groupAverage":null,"groupTotal":null,"rating":"4.8","raters":53,"title":"'Ich muss? 'Nen Scheiß muss ich!"},"rehbellion-zeige-der-welt-was-in-dir-steckt":{"productId":"14835045695837","groupAverage":null,"groupTotal":null,"rating":"4.6","raters":63,"title":"Rehbellion"},"how-to-marktfuhrer":{"productId":"14835081445725","groupAverage":null,"groupTotal":null,"rating":"4.4","raters":7,"title":"How to Marktführer"},"lieber-neureich-als-nie-reich":{"productId":"14835103301981","groupAverage":null,"groupTotal":null,"rating":"4.8","raters":24,"title":"Lieber neureich als nie reich"},"tonis-mealprep-kuche-schnelle-rezeptideen-fur-die-ganze-familie":{"productId":"14835111002461","groupAverage":null,"groupTotal":null,"rating":"4.1","raters":124,"title":"Toni's Mealprep Küche"},"escape-and-arrive":{"productId":"14835128828253","groupAverage":null,"groupTotal":null,"rating":"4.9","raters":28,"title":"Escape and Arrive"},"365-tage-simplify-your-life-einfacher-und-glucklicher-leben":{"productId":"14835161235805","groupAverage":null,"groupTotal":null,"rating":"5.0","raters":15,"title":"365 Tage simplify your life"},"anna-lernt-sich-selbst-zu-lieben":{"productId":"14835172704605","groupAverage":null,"groupTotal":null,"rating":"4.6","raters":32,"title":"Anna lernt sich selbst zu lieben"},"if-you-can-dream-it-you-can-do-it":{"productId":"14835202982237","groupAverage":null,"groupTotal":null,"rating":"4.9","raters":14,"title":"If you can dream it, you can do it"},"die-speaker-bibel":{"productId":"14835227656541","groupAverage":null,"groupTotal":null,"rating":"3.8","raters":13,"title":"Die Speaker-Bibel"},"its-in-you-visionen-erfolg-erfulltes-leben":{"productId":"14835258458461","groupAverage":null,"groupTotal":null,"rating":"4.6","raters":70,"title":"It's in you - Visionen, Erfolg, erfülltes Leben"},"die-7-lugen-des-lebens":{"productId":"14835315081565","groupAverage":null,"groupTotal":null,"rating":"4.0","raters":3,"title":"Die 7 Lügen des Lebens"},"die-antwort-liegt-in-dir-48-karten-mit-denen-du-klarheit-heilung-und-verbindung-in-dir-finden-kannst":{"productId":"14835416007005","groupAverage":null,"groupTotal":null,"rating":"4.3","raters":32,"title":"Die Antwort liegt in dir"},"fuchs_was-kinder-brauchen":{"productId":"14847158419805","groupAverage":null,"groupTotal":null,"rating":"4.9","raters":29,"title":"Was Kinder brauchen - Erziehung aus Kinderperspektive"},"leuchtturm-in-der-dunkelheit":{"productId":"14847194005853","groupAverage":null,"groupTotal":null,"rating":"4.8","raters":33,"title":"Leuchtturm in der Dunkelheit"},"ich-geh-mal-meine-gefuhle-fuhlen":{"productId":"14847210848605","groupAverage":null,"groupTotal":null,"rating":"4.1","raters":37,"title":"Ich geh mal meine Gefühle fühlen"},"kuss-mich-toxisch-zwischen-leidenschaft-und-wahnsinn-was-es-wirklich-heisst-einen-narzissten-zu-lieben":{"productId":"14847278547293","groupAverage":null,"groupTotal":null,"rating":"5.0","raters":9,"title":"Küss mich toxisch"},"wehe-du-gibst-auf-101-x-clartext-der-dich-stark-macht":{"productId":"14847285526877","groupAverage":null,"groupTotal":null,"rating":"4.3","raters":142,"title":"Wehe du gibst auf"},"vier-worte-die-dein-leben-fur-immer-verandern":{"productId":"14847320654173","groupAverage":null,"groupTotal":null,"rating":"4.3","raters":36,"title":"Vier Worte, die dein Leben für immer verändern"},"warum-alles-gut-wird-wie-ein-quantenphysiker-sich-die-welt-erklart":{"productId":"14847339200861","groupAverage":null,"groupTotal":null,"rating":"4.4","raters":54,"title":"Warum alles gut wird"},"verkappte-narzissten-wie-wir-sie-enttarnen-und-ihnen-die-macht-nehmen":{"productId":"14847347622237","groupAverage":null,"groupTotal":null,"rating":"4.7","raters":32,"title":"Verkappte Narzissten"},"hatte-ich-das-mal-fruher-gefuhlt":{"productId":"14847376425309","groupAverage":null,"groupTotal":null,"rating":"4.6","raters":20,"title":"Hätte ich das mal früher gefühlt"},"selbst-die-suche-hat-ein-ende":{"productId":"14847399166301","groupAverage":null,"groupTotal":null,"rating":"4.5","raters":23,"title":"Selbst"},"mollys-wundersame-reise":{"productId":"14847408177501","groupAverage":null,"groupTotal":null,"rating":"4.6","raters":20,"title":"Mollys wundersame Reise"},"reisen-wie-die-reichen-purer-luxus-ohne-viel-geld-mit-der-million-points-club-methode-1":{"productId":"15077966545245","groupAverage":null,"groupTotal":null,"rating":"3.8","raters":22,"title":"Reisen wie die Reichen"},"jeden-tag-einen-schritt-kopie":{"productId":"15264611238237","groupAverage":null,"groupTotal":null,"rating":"4.4","raters":7,"title":"Buddha meets Badass"},"limitless-wie-du-schneller-lernst-und-dein-potenzial-befreist":{"productId":"15267738812765","groupAverage":null,"groupTotal":null,"rating":"4.1","raters":23,"title":"Limitless"},"du-in-der-hauptrolle-ein-leben-nach-deinen-eigenen-regeln":{"productId":"15267768795485","groupAverage":null,"groupTotal":null,"rating":"4.3","raters":4,"title":"Du in der Hauptrolle"},"du-in-der-hauptrolle-ein-leben-nach-deinen-eigenen-regeln-kopie":{"productId":"15267826958685","groupAverage":null,"groupTotal":null,"rating":"4.7","raters":19,"title":"Dotcom Secrets"},"ich-geh-mal-meine-gefuhle-fuhlen-kopie":{"productId":"15267887284573","groupAverage":null,"groupTotal":null,"rating":"4.3","raters":21,"title":"Unbox your Network"},"ermachtige-dein-selbst-altes-und-verloren-geglaubtes-wissen-das-dich-zu-deiner-personlichen-freiheit-fuhrt":{"productId":"15267917070685","groupAverage":null,"groupTotal":null,"rating":"3.3","raters":3,"title":"Ermächtige dein Selbst"},"warum-ubernaturliche-methoden-funktionieren-die-wissenschaft-hinter-meditation-und-alternativen-heilverfahren":{"productId":"15267964748125","groupAverage":null,"groupTotal":null,"rating":"3.7","raters":3,"title":"Warum übernatürliche Methoden funktionieren"},"traffic-secrets-die-geheimen-hacks-wie-du-deine-zielgruppe-auf-deine-website-und-in-deine-funnels-fuhrst":{"productId":"15268000399709","groupAverage":null,"groupTotal":null,"rating":"4.6","raters":14,"title":"Traffic Secrets"},"warum-ubernaturliche-methoden-funktionieren-die-wissenschaft-hinter-meditation-und-alternativen-heilverfahren-kopie":{"productId":"15268030873949","groupAverage":null,"groupTotal":null,"rating":"5.0","raters":1,"title":"Be
2428wusst schlafen und träumen"},"dein-weg-aus-der-erschopfung-der-12-schritte-plan-um-deine-energie-zu-steigern-deinen-korper-zu-heilen-und-deine-ziele-zu-erreichen":{"productId":"15268077568349","groupAverage":null,"groupTotal":null,"rating":"4.4","raters":5,"title":"Dein Weg aus der Erschöpfung"},"mindful-wie-moderne-meditation-dein-leben-verandert":{"productId":"15268109353309","groupAverage":null,"groupTotal":null,"rating":"3.0","raters":2,"title":"Mindful"},"das-buch-das-dein-gehirn-nicht-lesen-mochte-wie-du-dein-gehirn-umbaust-um-ein-gluckliches-und-erfulltes-leben-zu-fuhren":{"productId":"15268127834461","groupAverage":null,"groupTotal":null,"rating":"5.0","raters":5,"title":"Das Buch, das dein Gehirn nicht lesen möchte"},"eat-for-energy-ausgelaugt-war-gestern-mit-klaren-ernahrungsstrategien-den-korper-auf-optimale-leistungsfahigkeit-ausrichten":{"productId":"15268191830365","groupAverage":null,"groupTotal":null,"rating":"5.0","raters":1,"title":"Eat for Energy"},"expert-secrets-the-underground-playbook-for-converting-your-online-visitors-into-lifelong-customers":{"productId":"15268252287325","groupAverage":null,"groupTotal":null,"rating":"5.0","raters":11,"title":"Expert Secrets"},"hatte-ich-das-mal-fruher-gefuhlt-der-code-fur-eine-liebevolle-beziehung-mit-dir-selbst-und-anderen-kopie":{"productId":"15279746777437","groupAverage":null,"groupTotal":null,"rating":"4.1","raters":14,"title":"Hätte ich das Spiel des Lebens mal früher durchschaut!"},"das-buch-das-dein-gehirn-nicht-lesen-mochte-wie-du-dein-gehirn-umbaust-um-ein-gluckliches-und-erfulltes-leben-zu-fuhren-kopie":{"productId":"15348450459997","groupAverage":null,"groupTotal":null,"rating":"4.0","raters":2,"title":"Die 12 Schritte aus der Sucht"},"greator-journal-deine-tagliche-reise-zu-dir-selbst-wie-du-sofort-deine-konkurrenz-dominierst":{"productId":"15349010465117","groupAverage":null,"groupTotal":null,"rating":"2.6","raters":9,"title":"Greator Journal"},"niemand-schlagt-so-hart-zu-wie-das-schicksal-aber-ich-habe-es-versucht":{"productId":"15380614119773","groupAverage":null,"groupTotal":null,"rating":"5.0","raters":10,"title":"Niemand schlägt so hart zu wie das Schicksal"},"neurofundamentals-leicht-gemacht-neurozentriertes-training-verstandlich-erklart":{"productId":"15387290173789","groupAverage":null,"groupTotal":null,"rating":"5.0","raters":1,"title":"Neurofundamentals leicht gemacht"},"karpaltunnel-syndrom-ein-leitfaden-zur-selbsthilfe":{"productId":"15387296432477","groupAverage":null,"groupTotal":null,"rating":"4.5","raters":11,"title":"Karpaltunnel Syndrom – Ein Leitfaden zur Selbsthilfe"},"personal-trainer-von-der-vision-zum-erfolg":{"productId":"15387300725085","groupAverage":null,"groupTotal":null,"rating":"5.0","raters":8,"title":"Personal Trainer – Von der Vision zum Erfolg"},"neurozentriertes-training-so-trainierst-du-gleichgewicht-und-stabilitat":{"productId":"15391080939869","groupAverage":null,"groupTotal":null,"rating":"4.6","raters":20,"title":"Neurozentriertes Training"},"endlich-richtig-ausgeschlafen":{"productId":"15391090377053","groupAverage":null,"groupTotal":null,"rating":"5.0","raters":10,"title":"Endlich richtig ausgeschlafen"},"licht-und-schatten-das-geschenk-der-gleichzeitigkeit":{"productId":"15397289886045","groupAverage":null,"groupTotal":null,"rating":"4.7","raters":19,"title":"Licht und Schatten"},"alles-liebe-letzte-worte-von-kurt-tepperwein":{"productId":"15463166902621","groupAverage":null,"groupTotal":null,"rating":"4.8","raters":8,"title":"Alles Liebe!"},"millionarin-mit-herz":{"productId":"15490351956317","title":"Millionärin mit Herz","rating":4.5,"raters":13},"die-13-hertz-formel":{"productId":"15490727739741","groupAverage":null,"groupTotal":null,"rating":"4.9","raters":22,"title":"Die 13 Hertz Formel"},"die-flow-formel":{"productId":"15508005847389","title":"Die Flow Formel","rating":5,"raters":27},"jeden-tag-einen-schritt-limited-edition-taschenbuch-format":{"productId":"15409867784541","groupAverage":null,"groupTotal":null,"rating":"4.2","raters":98,"title":"Jeden Tag einen Schritt | Limited Edition | kleine Schmuckausgabe"},"jeden-tag-einen-schritt-limited-edition":{"productId":"15409894392157","groupAverage":null,"groupTotal":null,"rating":"4.2","raters":101,"title":"Jeden Tag einen Schritt | Limited Edition | große Schmuckausgabe"},"philip-hopf-das-erfolgs-journal":{"productId":"15386413728093","groupAverage":null,"groupTotal":null,"rating":"4.3","raters":29,"title":"Philip Hopf - Das Erfolgs Journal"},"deine-atmung-aendert-alles":{"productId":"15512486576477","groupAverage":null,"groupTotal":null,"rating":"4.6","raters":34,"title":"Deine Atmung ändert alles!"},"55-wege-wie-ki-dein-leben-leichter-macht":{"productId":"15441085202781","groupAverage":null,"groupTotal":null,"rating":"4.1","raters":9,"title":"55 Wege wie KI dein Leben leichter macht"}
2428,"vom-topverdiener-zum-privatier-wie-aus-ihrem-einkommen-vermogen-wird":{"productId":"15532678611293","title":"Vom Topverdiener zum Privatier: Wie aus Ihrem Einkommen Vermögen wird","rating":4.1,"raters":18},"loffelliebe":{"productId":"15512571445597","groupAverage":null,"groupTotal":null,"rating":"4.7","raters":138,"title":"Löffelliebe"},"david-gelles-der-mann-der-patagonia-verschenkte":{"productId":"15561590866269","groupAverage":null,"groupTotal":null,"rating":"4.3","raters":3,"title":"David Gelles - Der Mann, der Patagonia verschenkte."},"der-digitale-euro":{"productId":"15567936946525","groupAverage":null,"groupTotal":null,"rating":"4.5","raters":88,"title":"Der digitale Euro"},"atem-die-losung-fur-dein-trauma":{"productId":"15651888595293","groupAverage":null,"groupTotal":null,"rating":"4.9","raters":28,"title":"Atem – Die Lösung für dein Trauma"},"signierte-ausgabe-von-wehe-du-gibst-auf-101-x-clartext-der-dein-denken-verandert":{"productId":"15703567728989","title":"EXKLUSIV SIGNIERTE AUSGABE von Wehe du gibst auf","rating":4.5,"raters":212},"scheiss-auf-yoga-und-wie-du-auch-ohne-om-fliegen-kannst":{"productId":"15464040825181","groupAverage":null,"groupTotal":null,"rating":"4.9","raters":22,"title":"Scheiß auf Yoga!"},"wofur-du-hier-bist-mit-human-design-die-abkurzung-zur-selbsterkenntnis-nehmen":{"productId":"15534432026973","groupAverage":null,"groupTotal":null,"rating":"4.9","raters":88,"title":"Wofür du hier bist"},"du-bist-der-bessere-chef-wie-du-die-werkzeuge-der-weltbesten-fuhrungskrafte-personlich-anwenden-kannst-und-dir-das-leben-leichter-machst":{"productId":"15665352147293","title":"Hardcover-Buch „Du bist der bessere Chef“  Bonus 1: Hörbuch „55 Führungstipps für Mitarbeitergespräche“  Bonus 2: Online-Kurs „Mitarbeiter besser verstehen mit dem 4-Farben-Modell“ Bonus 3: Gewinnchance: Führungskräfte-Ausbildung","rating":5,"raters":22},"jeder-kann-es-schaffen-schritt-fur-schritt-zu-mehr-kraft-selbstvertrauen-und-lebensfreude":{"productId":"15633312711005","groupAverage":null,"groupTotal":null,"rating":"4.7","raters":40,"title":"Jeder kann es schaffen"},"du-bist-der-bessere-chef":{"productId":"15720772731229","groupAverage":null,"groupTotal":null,"rating":"5.0","raters":30,"title":"Du bist der bessere Chef"},"manifestieren-fur-skeptiker-mythos-und-wahrheit-aus-der-sicht-eines-wissenschaftlers":{"productId":"15652067639645","groupAverage":null,"groupTotal":null,"rating":"3.3","raters":4,"title":"Manifestieren für Skeptiker"},"wehe-du-gibst-auf-die-kartenbox-45-motivationskarten-zum-mut-und-mitmachen-fur-jeden-tag":{"productId":"15705117163869","groupAverage":null,"groupTotal":null,"rating":"4.6","raters":21,"title":"Wehe du gibst auf – Die Kartenbox"},"stunde-der-wahrheit-wir-sind-die-auf-die-wir-gewartet-haben":{"productId":"15464034730333","groupAverage":null,"groupTotal":null,"rating":"4.5","raters":26,"title":"Stunde der Wahrheit"},"unzerstorbar-die-kunst-niemals-aufzugeben-mentale-starke-disziplin-comeback-mindset-fur-sieger":{"productId":"15727837348189","groupAverage":null,"groupTotal":null,"rating":"4.9","raters":22,"title":"Unzerstörbar"},"toxisches-schweigen-die-psychologische-waffe-erkennen-und-entscharfen":{"productId":"15784081424733","groupAverage":null,"groupTotal":null,"rating":"4.2","raters":14,"title":"Toxisches Schweigen"},"der-code-zum-erfolg":{"productId":"15567961260381","groupAverage":null,"groupTotal":null,"rating":"3.7","raters":14,"title":"Der Code zum Erfolg"},"wie-man-geschichte-schreibt":{"productId":"15831758045533","groupAverage":null,"groupTotal":null,"rating":"3.6","raters":21,"title":"Wie man Geschichte schreibt"},"iron-mindset-wie-du-mentale-starke-fur-ein-erfolgreiches-leben-entwickelst":{"productId":"15811594551645","groupAverage":null,"groupTotal":null,"rating":"5.0","raters":4,"title":"Iron Mindset"},"der-elefant-in-deinem-bett":{"productId":"15831738843485","groupAverage":null,"groupTotal":null,"rating":"4.6","raters":25,"title":"Der Elefant in deinem Bett"},"alles-was-wirklich-zahlt-wie-du-der-star-im-drehbuch-deines-lebens-wirst":{"productId":"15464045543773","groupAverage":null,"groupTotal":null,"rating":"4.2","raters":10,"title":"Alles was wirklich zählt"},"die-jetzt-box":{"productId":"15831774134621","groupAverage":null,"groupTotal":null,"rating":"5.0","raters":2,"title":"Die Jetzt-Box"},"die-grosste-reise-deines-lebens":{"productId":"16014172586333","groupAverage":null,"groupTotal":null,"rating":"4.8","raters":41,"title":"Die größte Reise deines Lebens"},"spaziergang-zur-unsterblichkeit":{"productId":"15860863959389","groupAverage":null,"groupTotal":null,"rating":"4.8","raters":27,"title":"Spaziergang zur Unsterblichkeit"},"auf-die-fresse":{"productId":"15875944218973","groupAverage":null,"groupTotal":null,"rating":"5.0","raters":32,"title":"Auf die Fresse"},"was-wir-uberhaupt-noch-essen-konnen":{"productId":"15875904569693","groupAverage":null,"groupTotal":null,"rating":"5.0","raters":42,"title":"Was wir überhaupt noch essen können"},"limitless-erweiterte-neuauflage":{"productId":"15932194750813","groupAverage":null,"groupTotal":null,"rating":"4.1","raters":41,"title":"Limitless - Erweiterte Neuauflage"},"eine-welt-ohne-manner":{"productId":"15993787384157","groupAverage":null,"groupTotal":null,"rating":"4.7","raters":10,"title":"Eine Welt ohne Männer"},"babysteps":{"productId":"16029411574109","groupAverage":null,"groupTotal":null,"rating":"5.0","raters":19,"title":"babysteps"},"darm-gut-alles-gut":{"productId":"16013236601181","groupAverage":null,"groupTotal":null,"rating":"4.4","raters":32,"title":"Darm gut, alles gut"},"wer-keinen-kennt-kann-keinen-anrufen":{"productId":"15966372725085","groupAverage":null,"groupTotal":null,"rating":"4.4","raters":16,"title":"Wer keinen kennt, kann keinen anrufen"},"meistere-dein-mindset":{"productId":"15977529180509","groupAverage":null,"groupTotal":null,"rating":"4.7","raters":56,"title":"Meistere dein Mindset"},"hor-auf-dein-herz-dein-kopf-ist-ein-arschloch":{"productId":"16033844068701","groupAverage":null,"groupTotal":null,"rating":"5.0","raters":123,"title":"Hör auf dein Herz, dein Kopf ist ein Arschloch"},"das-kapitel-das-fehlt":{"productId":"16084113031517","groupAverage":null,"groupTotal":null,"rating":"5.0","raters":9,"title":"Das Kapitel das fehlt"},"die-muskel-leiter":{},"dein-neustart-beginnt-jetzt":{"productId":"16125053141341","groupAverage":null,"groupTotal":null,"rating":"5.0","raters":115,"title":"Dein Neustart beginnt jetzt"},"hauptsache-sie-reden-uber-dich":{"productId":"16068055138653","groupAverage":null,"groupTotal":null,"rating":"5.0","raters":4,"title":"Hauptsache, sie reden über dich"},"die-1-fuhrungskraft":{},"365-tage-mentale-starke":{"productId":"15809959854429","groupAverage":null,"groupTotal":null,"rating":"5.0","raters":1,"title":"365 Tage mentale Stärke"},"fuhl-es-schreib-es-lass-es-los":{"productId":"16017008886109","groupAverage":null,"groupTotal":null,"rating":"4.8","raters":6,"title":"Fühl es, schreib es, lass es los"},"vollgas-leben":{"productId":"16125229236573","groupAverage":null,"groupTotal":null,"rating":"5.0","raters":13,"title":"Vollgas leben"},"dein-journal":{},"wenn-aus-dem-trauma-freiheit-wird-vom-verschickungskind-zum-erfolgreichen-unter
2428nehmer":{},"the-comeback-code":{},"die-neue-zeitspur":{},"ich-geh-mal-meine-gefuhle-fuhlen-die-kartenbox":{"productId":"16017028448605","groupAverage":null,"groupTotal":null,"rating":"5.0","raters":7,"title":"Ich geh mal meine Gefühle fühlen – Die Kartenbox"},"auf-dem-weg-zu-deinem-nordstern":{"productId":"16121573507421","groupAverage":null,"groupTotal":null,"rating":"4.2","raters":16,"title":"Auf dem Weg zu deinem Nordstern"},"herz-uber-kopf":{},"du-in-der-hauptrolle-ein-leben-nach-deinen-eigenen-regeln-kopie-1":{"productId":"15268045029725","groupAverage":null,"groupTotal":null,"rating":"5.0","raters":1,"title":"Eros"},"meistere-dein-mindset-1":{},"konigin-kniebeuge":{},"schreibs-dir-von-der-seele-wie-du-loslasst-was-dich-klein-macht":{"productId":"15853039485277","title":"Schreib's dir von der Seele: Wie du loslässt, was dich klein macht","rating":4.8,"raters":6},"rich-buddha":{"productId":"16212369867101","groupAverage":null,"groupTotal":null,"rating":"5.0","raters":16,"title":"Rich Buddha"},"lebe-ehrlich-werde-frei":{},"was-wenn-heute-dein-letzter-tag-ware":{},"dein-neustart-beginnt-jetzt-1":{},"dein-neustart-beginnt-jetzt-2":{},"meistere-dein-mindset-2":{},"blutwerte-kompass":{"productId":"16289194246493","groupAverage":null,"groupTotal":null,"rating":"4.5","raters":20,"title":"Blutwerte-Kompass"},"exklusiv-signierte-ausgabe-von-alles-was-wirklich-zahlt-wie-du-der-star-im-drehbuch-deines-lebens-wirst":{},"exklusiv-signierte-ausgabe-von-die-vereinigung":{},"die-vereinigung":{},"hoffnung-schmeckt-nach-apfelkuchen":{},"die-energie-in-allem":{"productId":"16349538386269","groupAverage":null,"groupTotal":null,"rating":"5.0","raters":7,"title":"Die Energie in Allem"},"was-dir-dein-leben-sagen-will":{},"my-miracle-mindset":{},"psychokybernetik-365":{},"wehe-du-gibst-auf-die-kartenbox-kopie":{},"jeden-tag-weniger-sorgen-kartenbox":{},"humans-are-happy":{"productId":"16409069191517","groupAverage":null,"groupTotal":null,"rating":"5.0","raters":11,"title":"Humans are happy"},"schneller-denken-mehr-fuhlen-mehr-bewirken":{},"nicht-zu-brechen":{},"cholesterinsenker-nein-danke":{},"die-wurzeln-deines-traumas":{},"slay-lehdy":{},"welt-macht-geschichte":{},"wie-viel-ist-dein-name-wert":{},"arthurs-grosse-reise":{}};
2429  
2430</script>
2430
2431<!-- END app snippet -->
2432<link
2433  rel="preload"
2434  href="https://cdn.shopify.com/extensions/01a0e773-3220-7dd3-a92b-5e6c751008fe/appio-amazon-reviews-707/assets/appio-reviews.min.css"
2435  as="style"
2436  onload="this.onload=null;this.rel='stylesheet'"
2437>
2438<noscript><link href="//cdn.shopify.com/extensions/01a0e773-3220-7dd3-a92b-5e6c751008fe/appio-amazon-reviews-707/assets/appio-reviews.min.css" rel="stylesheet" type="text/css" media="all" /></noscript>
2439<script src="https://cdn.shopify.com/extensions/01a0e773-3220-7dd3-a92b-5e6c751008fe/appio-amazon-reviews-707/assets/appio-reviews.min.js" defer></script>
2439
2440
2441
2442
2443</div><div id="shopify-block-ANklXVVloa01vUFBuM__2956622847032801399" class="shopify-block shopify-app-block">
2444</div><div id="shopify-block-AYWlrTlpQRGRQaXlOZ__5280235153711299465" class="shopify-block shopify-app-block">
2444<script>
2445  window.__widerrufLocale = "de";
2446  
2447  
2448    window.__widerrufSettings = JSON.parse("{\"buttonMode\":\"section\",\"menuItemNames\":[\"Vertrag widerrufen\"],\"euOnly\":false,\"backgroundColor\":\"#ffffff\",\"textColor\":\"#5c5c5c\",\"borderRadius\":\"4px\",\"displayMode\":\"page\",\"panelPosition\":\"right\",\"floatingButtonText\":\"Vertrag widerrufen\",\"floatingButtonPosition\":\"bottom-right\",\"panelTitle\":\"Widerruf\",\"fontWeight\":\"400\",\"buttonSize\":\"\",\"marginTop\":0,\"marginBottom\":0,\"i18n\":{}}");
2449  
2450</script>
2450
2451
2452<script>
2453  (function () {
2454    var src = "https:\/\/cdn.shopify.com\/extensions\/01a0eecd-e3cf-72d9-81f3-f3f881b5b528\/checkout-regeln-grosse-warenkoerbe-2026-09-29\/assets\/widerruf-button.js";
2455    function ensure() {
2456      if (window.__widerrufButtonLoaded) return;
2457      var s = document.createElement("script");
2458      s.src = src;
2459      s.defer = true;
2460      document.head.appendChild(s);
2461    }
2462    if (document.readyState === "complete") {
2463      ensure();
2464    } else {
2465      window.addEventListener("load", ensure);
2466    }
2467  })();
2468</script>
2468
2469
2470
2471</div>
2471<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
2471
2472</body>
2473</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.