PageSourceSearch

https://luxupur.de/cart

html luxupur.de collected 2026-10-07 06:43:55 UTC 500,351 bytes, 11,669 lines download raw bytes

1<!doctype html>
2<html
3  
4  lang="de"
5>
6  <head>
7 
8<style>
9@media screen and (max-width: 749px) {
10  [id="shopify-section-template--27742387536136__section_pcwHgw"] p,
11  [id="shopify-section-template--27742387536136__section_pcwHgw"] .text-block--AQzBETjFjMU44aHRmQ_text_URXane {
12    font-size: 1.1rem !important;
13    line-height: 1.5 !important;
14  }
15}
16</style><link
17        rel="icon"
18        type="image/png"
19        href="//luxupur.de/cdn/shop/files/favicon-luxupur.png?crop=center&height=32&v=1775301969&width=32"
20      >
21    
22<meta charset="utf-8">
23<meta
24  http-equiv="X-UA-Compatible"
25  content="IE=edge"
26>
27<meta
28  name="viewport"
29  content="width=device-width,initial-scale=1"
30>
31<meta
32  name="view-transition"
33  content="same-origin"
34>
35<meta
36  name="theme-color"
37  content=""
38>
39
40<meta
41  property="og:site_name"
42  content="Luxupur®"
43>
44<meta
45  property="og:url"
46  content="https://luxupur.de/cart"
47>
48<meta
49  property="og:title"
50  content="Dein Warenkorb"
51>
52<meta
53  property="og:type"
54  content="website"
55>
56<meta
57  property="og:description"
58  content="Luxupur® Premium Topper &amp; Matratzen aus deutscher Manufaktur – individuell nach Körperprofil gefertigt. Modular anpassbar und bis zu 100 Nächten Probeschlafen.
59."
60><meta
61    property="og:image"
62    content="http://luxupur.de/cdn/shop/files/Bildschirmfoto_2026-04-10_um_13.53.47.jpg?v=1775822112"
63  >
64  <meta
65    property="og:image:secure_url"
66    content="https://luxupur.de/cdn/shop/files/Bildschirmfoto_2026-04-10_um_13.53.47.jpg?v=1775822112"
67  >
68  <meta
69    property="og:image:width"
70    content="725"
71  >
72  <meta
73    property="og:image:height"
74    content="483"
75  ><meta
76  name="twitter:card"
77  content="summary_large_image"
78>
79<meta
80  name="twitter:title"
81  content="Dein Warenkorb"
82>
83<meta
84  name="twitter:description"
85  content="Luxupur® Premium Topper &amp; Matratzen aus deutscher Manufaktur – individuell nach Körperprofil gefertigt. Modular anpassbar und bis zu 100 Nächten Probeschlafen.
86."
87>
88
89<title>
90  Dein Warenkorb
91 &ndash; Luxupur®</title>
92
93<link
94  rel="canonical"
95  href="https://luxupur.de/cart"
96>
97
98
99<link href="//luxupur.de/cdn/shop/t/97/assets/overflow-list.css?v=101911674359793798601781436597" as="style" rel="preload">
100<link href="//luxupur.de/cdn/shop/t/97/assets/base.css?v=155559998745154531421781436597" rel="stylesheet" type="text/css" media="all" />
101
102<link
103    rel="preload"
104    as="font"
105    href="//luxupur.de/cdn/fonts/lato/lato_n4.c3b93d431f0091c8be23185e15c9d1fee1e971c5.woff2"
106    type="font/woff2"
107    crossorigin
108    fetchpriority="low"
109  ><link
110    rel="preload"
111    as="font"
112    href="//luxupur.de/cdn/fonts/lato/lato_n3.a7080ececf6191f1dd5b0cb021691ca9b855c876.woff2"
113    type="font/woff2"
114    crossorigin
115    fetchpriority="low"
116  ><link
117    rel="preload"
118    as="font"
119    href="//luxupur.de/cdn/fonts/playfair_display/playfairdisplay_n5.6d96c6c4ac11fa0f6466bea3ceb706b13b60121f.woff2"
120    type="font/woff2"
121    crossorigin
122    fetchpriority="low"
123  ><link
124    rel="preload"
125    as="font"
126    href="//luxupur.de/cdn/fonts/lato/lato_n6.38d0e3b23b74a60f769c51d1df73fac96c580d59.woff2"
127    type="font/woff2"
128    crossorigin
129    fetchpriority="low"
130  >
131<script async crossorigin fetchpriority="high" src="/cdn/shopifycloud/importmap-polyfill/es-modules-shim.2.4.0.js"></script>
vendor: 1 bytes, line 131
131
132<script type="importmap">
133  {
134    "imports": {
135      "@theme/overflow-list": "//luxupur.de/cdn/shop/t/97/assets/overflow-list.js?v=46858356770684902511781436597",
136      "@theme/product-title": "//luxupur.de/cdn/shop/t/97/assets/product-title-truncation.js?v=81744426891537421781781436597",
137      "@theme/component": "//luxupur.de/cdn/shop/t/97/assets/component.js?v=184240237101443119871781436597",
138      "@theme/dialog": "//luxupur.de/cdn/shop/t/97/assets/dialog.js?v=61774032287387761671781436597",
139      "@theme/events": "//luxupur.de/cdn/shop/t/97/assets/events.js?v=147926035229139604561781436597",
140      "@theme/focus": "//luxupur.de/cdn/shop/t/97/assets/focus.js?v=60436577539430446401781436597",
141      "@theme/morph": "//luxupur.de/cdn/shop/t/97/assets/morph.js?v=35457747882330740861781436597",
142      "@theme/paginated-list": "//luxupur.de/cdn/shop/t/97/assets/paginated-list.js?v=95298315036233333871781436597",
143      "@theme/performance": "//luxupur.de/cdn/shop/t/97/assets/performance.js?v=171015751390534793081781436597",
144      "@theme/product-form": "//luxupur.de/cdn/shop/t/97/assets/product-form.js?v=32292957242306690621781436597",
145      "@theme/recently-viewed-products": "//luxupur.de/cdn/shop/t/97/assets/recently-viewed-products.js?v=94729125001750262651781436597",
146      "@theme/scrolling": "//luxupur.de/cdn/shop/t/97/assets/scrolling.js?v=118005526288211533611781436597",
147      "@theme/section-renderer": "//luxupur.de/cdn/shop/t/97/assets/section-renderer.js?v=117273408521114569061781436597",
148      "@theme/section-hydration": "//luxupur.de/cdn/shop/t/97/assets/section-hydration.js?v=177651605160027701221781436597",
149      "@theme/utilities": "//luxupur.de/cdn/shop/t/97/assets/utilities.js?v=74252600229394689081781436597",
150      "@theme/variant-picker": "//luxupur.de/cdn/shop/t/97/assets/variant-picker.js?v=124079696159966615681781436597",
151      "@theme/media-gallery": "//luxupur.de/cdn/shop/t/97/assets/media-gallery.js?v=111441960308641931071781436597",
152      "@theme/quick-add": "//luxupur.de/cdn/shop/t/97/assets/quick-add.js?v=148903382353369979481781436597",
153      "@theme/paginated-list-aspect-ratio": "//luxupur.de/cdn/shop/t/97/assets/paginated-list-aspect-ratio.js?v=25254270272143792451781436597",
154      "@theme/popover-polyfill": "//luxupur.de/cdn/shop/t/97/assets/popover-polyfill.js?v=119029313658895111201781436597",
155      "@theme/component-quantity-selector": "//luxupur.de/cdn/shop/t/97/assets/component-quantity-selector.js?v=67906657287482036641781436597",
156      "@theme/comparison-slider": "//luxupur.de/cdn/shop/t/97/assets/comparison-slider.js?v=179888163153930939011781436597",
157      "@theme/sticky-add-to-cart": "//luxupur.de/cdn/shop/t/97/assets/sticky-add-to-cart.js?v=7773819771363051871781436597",
158      "@theme/fly-to-cart": "//luxupur.de/cdn/shop/t/97/assets/fly-to-cart.js?v=129971753673458693881781436597"
159    }
160  }
161</script>
161
162
163<script
164  src="//luxupur.de/cdn/shop/t/97/assets/view-transitions.js?v=7106414069516106341781436597"
165  async
166  
167></script>
167
168
169<link
170  rel="modulepreload"
171  href="//luxupur.de/cdn/shop/t/97/assets/utilities.js?v=74252600229394689081781436597"
172  fetchpriority="low"
173>
174<link
175  rel="modulepreload"
176  href="//luxupur.de/cdn/shop/t/97/assets/component.js?v=184240237101443119871781436597"
177  fetchpriority="low"
178>
179<link
180  rel="modulepreload"
181  href="//luxupur.de/cdn/shop/t/97/assets/section-renderer.js?v=117273408521114569061781436597"
182  fetchpriority="low"
183>
184<link
185  rel="modulepreload"
186  href="//luxupur.de/cdn/shop/t/97/assets/section-hydration.js?v=177651605160027701221781436597"
187  fetchpriority="low"
188>
189<link
190  rel="modulepreload"
191  href="//luxupur.de/cdn/shop/t/97/assets/morph.js?v=35457747882330740861781436597"
192  fetchpriority="low"
193>
194
195
196
197<link
198  rel="modulepreload"
199  href="//luxupur.de/cdn/shop/t/97/assets/focus.js?v=60436577539430446401781436597"
200  fetchpriority="low"
201>
202<link
203  rel="modulepreload"
204  href="//luxupur.de/cdn/shop/t/97/assets/recently-viewed-products.js?v=94729125001750262651781436597"
205  fetchpriority="low"
206>
207<link
208  rel="modulepreload"
209  href="//luxupur.de/cdn/shop/t/97/assets/scrolling.js?v=118005526288211533611781436597"
210  fetchpriority="low"
211>
212<link
213  rel="modulepreload"
214  href="//luxupur.de/cdn/shop/t/97/assets/events.js?v=147926035229139604561781436597"
215  fetchpriority="low"
216>
217<script
218  src="//luxupur.de/cdn/shop/t/97/assets/popover-polyfill.js?v=119029313658895111201781436597"
219  type="module"
220  fetchpriority="low"
221></script>
vendor: 1 bytes, line 221
221
222<script
223  src="//luxupur.de/cdn/shop/t/97/assets/overflow-list.js?v=46858356770684902511781436597"
224  type="module"
225  fetchpriority="low"
226></script>
vendor: 1 bytes, line 226
226
227<script
228  src="//luxupur.de/cdn/shop/t/97/assets/quick-add.js?v=148903382353369979481781436597"
229  type="module"
230  fetchpriority="low"
231></script>
231
232
233  
233<script
234    src="//luxupur.de/cdn/shop/t/97/assets/cart-discount.js?v=107077853990124422021781436597"
235    type="module"
236    fetchpriority="low"
237  ></script>
237
238
239
240<script
241  src="//luxupur.de/cdn/shop/t/97/assets/dialog.js?v=61774032287387761671781436597"
242  type="module"
243  fetchpriority="low"
244></script>
vendor: 1 bytes, line 244
244
245<script
246  src="//luxupur.de/cdn/shop/t/97/assets/variant-picker.js?v=124079696159966615681781436597"
247  type="module"
248  fetchpriority="low"
249></script>
vendor: 1 bytes, line 249
249
250<script
251  src="//luxupur.de/cdn/shop/t/97/assets/product-card.js?v=124402285637860180781781436597"
252  type="module"
253  fetchpriority="low"
254></script>
vendor: 1 bytes, line 254
254
255<script
256  src="//luxupur.de/cdn/shop/t/97/assets/product-form.js?v=32292957242306690621781436597"
257  type="module"
258  fetchpriority="low"
259></script>
vendor: 1 bytes, line 259
259
260<script
261  src="//luxupur.de/cdn/shop/t/97/assets/fly-to-cart.js?v=129971753673458693881781436597"
262  type="module"
263  fetchpriority="low"
264></script>
vendor: 1 bytes, line 264
264
265<script
266  src="//luxupur.de/cdn/shop/t/97/assets/accordion-custom.js?v=99000499017714805851781436597"
267  type="module"
268  fetchpriority="low"
269></script>
vendor: 1 bytes, line 269
269
270<script
271  src="//luxupur.de/cdn/shop/t/97/assets/disclosure-custom.js?v=168050880623268140331781436597"
272  type="module"
273  fetchpriority="low"
274></script>
vendor: 1 bytes, line 274
274
275<script
276  src="//luxupur.de/cdn/shop/t/97/assets/media.js?v=37825095869491791421781436597"
277  type="module"
278  fetchpriority="low"
279></script>
vendor: 1 bytes, line 279
279
280<script
281  src="//luxupur.de/cdn/shop/t/97/assets/product-price.js?v=117989390664188536191781436597"
282  type="module"
283  fetchpriority="low"
284></script>
vendor: 1 bytes, line 284
284
285<script
286  src="//luxupur.de/cdn/shop/t/97/assets/product-sku.js?v=121804655373531320511781436597"
287  type="module"
288  fetchpriority="low"
289></script>
vendor: 1 bytes, line 289
289
290<script
291  src="//luxupur.de/cdn/shop/t/97/assets/product-title-truncation.js?v=81744426891537421781781436597"
292  type="module"
293  fetchpriority="low"
294></script>
vendor: 1 bytes, line 294
294
295<script
296  src="//luxupur.de/cdn/shop/t/97/assets/product-inventory.js?v=16343734458933704981781436597"
297  type="module"
298  fetchpriority="low"
299></script>
vendor: 1 bytes, line 299
299
300<script
301  src="//luxupur.de/cdn/shop/t/97/assets/show-more.js?v=94563802205717136101781436597"
302  type="module"
303  fetchpriority="low"
304></script>
vendor: 1 bytes, line 304
304
305<script
306  src="//luxupur.de/cdn/shop/t/97/assets/slideshow.js?v=40796646405849125981781436597"
307  type="module"
308  fetchpriority="low"
309></script>
vendor: 1 bytes, line 309
309
310<script
311  src="//luxupur.de/cdn/shop/t/97/assets/layered-slideshow.js?v=30135417790894624731781436597"
312  type="module"
313  fetchpriority="low"
314></script>
vendor: 1 bytes, line 314
314
315<script
316  src="//luxupur.de/cdn/shop/t/97/assets/anchored-popover.js?v=95953304814728754461781436597"
317  type="module"
318  fetchpriority="low"
319></script>
vendor: 1 bytes, line 319
319
320<script
321  src="//luxupur.de/cdn/shop/t/97/assets/floating-panel.js?v=128677600744947036551781436597"
322  type="module"
323  fetchpriority="low"
324></script>
vendor: 1 bytes, line 324
324
325<script
326  src="//luxupur.de/cdn/shop/t/97/assets/video-background.js?v=25237992823806706551781436597"
327  type="module"
328  fetchpriority="low"
329></script>
vendor: 1 bytes, line 329
329
330<script
331  src="//luxupur.de/cdn/shop/t/97/assets/component-quantity-selector.js?v=67906657287482036641781436597"
332  type="module"
333  fetchpriority="low"
334></script>
vendor: 1 bytes, line 334
334
335<script
336  src="//luxupur.de/cdn/shop/t/97/assets/media-gallery.js?v=111441960308641931071781436597"
337  type="module"
338  fetchpriority="low"
339></script>
vendor: 1 bytes, line 339
339
340<script
341  src="//luxupur.de/cdn/shop/t/97/assets/rte-formatter.js?v=101420294193111439321781436597"
342  type="module"
343  fetchpriority="low"
344></script>
vendor: 1 bytes, line 344
344
345<script
346  src="//luxupur.de/cdn/shop/t/97/assets/volume-pricing.js?v=15442793518842484731781436597"
347  type="module"
348  fetchpriority="low"
349></script>
vendor: 1 bytes, line 349
349
350<script
351  src="//luxupur.de/cdn/shop/t/97/assets/price-per-item.js?v=144512917617120124431781436597"
352  type="module"
353  fetchpriority="low"
354></script>
vendor: 1 bytes, line 354
354
355<script
356  src="//luxupur.de/cdn/shop/t/97/assets/volume-pricing-info.js?v=94479640769665442661781436597"
357  type="module"
358  fetchpriority="low"
359></script>
359
360
361
362  
362<script
363    src="//luxupur.de/cdn/shop/t/97/assets/localization.js?v=15585934801240115691781436597"
364    type="module"
365    fetchpriority="low"
366  ></script>
366
367
368
369
370
371
372
373<script
374  src="//luxupur.de/cdn/shop/t/97/assets/auto-close-details.js?v=58350291535404441581781436597"
375  defer="defer"
376></script>
376
377
378<script>
379  const Theme = {
380    translations: {
381      placeholder_image: `Platzhalterbild`,
382      added: `Hinzugefügt`,
383      recipient_form_fields_visible: `Empfängerformularfelder sind jetzt sichtbar.`,
384      recipient_form_fields_hidden: `Empfängerformularfelder sind jetzt ausgeblendet.`,
385      recipient_form_error: `Beim Absenden des Formulars ist ein Fehler aufgetreten.`,
386      items_added_to_cart_one: `1 Artikel zum Warenkorb hinzugefügt`,
387      items_added_to_cart_other: `{{ count }} Artikel zum Warenkorb hinzugefügt`,
388    },
389    routes: {
390      cart_add_url: '/cart/add.js',
391      cart_change_url: '/cart/change',
392      cart_update_url: '/cart/update',
393      cart_url: '/cart',
394      predictive_search_url: '/search/suggest',
395      search_url: '/search',
396    },
397    template: {
398      name: 'cart',
399    },
400  };
401</script>
401
402<style data-shopify>
403@font-face {
404  font-family: Lato;
405  font-weight: 400;
406  font-style: normal;
407  font-display: swap;
408  src: url("//luxupur.de/cdn/fonts/lato/lato_n4.c3b93d431f0091c8be23185e15c9d1fee1e971c5.woff2") format("woff2"),
409       url("//luxupur.de/cdn/fonts/lato/lato_n4.d5c00c781efb195594fd2fd4ad04f7882949e327.woff") format("woff");
410}
411@font-face {
412  font-family: Lato;
413  font-weight: 700;
414  font-style: normal;
415  font-display: swap;
416  src: url("//luxupur.de/cdn/fonts/lato/lato_n7.900f219bc7337bc57a7a2151983f0a4a4d9d5dcf.woff2") format("woff2"),
417       url("//luxupur.de/cdn/fonts/lato/lato_n7.a55c60751adcc35be7c4f8a0313f9698598612ee.woff") format("woff");
418}
419@font-face {
420  font-family: Lato;
421  font-weight: 400;
422  font-style: italic;
423  font-display: swap;
424  src: url("//luxupur.de/cdn/fonts/lato/lato_i4.09c847adc47c2fefc3368f2e241a3712168bc4b6.woff2") format("woff2"),
425       url("//luxupur.de/cdn/fonts/lato/lato_i4.3c7d9eb6c1b0a2bf62d892c3ee4582b016d0f30c.woff") format("woff");
426}
427@font-face {
428  font-family: Lato;
429  font-weight: 700;
430  font-style: italic;
431  font-display: swap;
432  src: url("//luxupur.de/cdn/fonts/lato/lato_i7.16ba75868b37083a879b8dd9f2be44e067dfbf92.woff2") format("woff2"),
433       url("//luxupur.de/cdn/fonts/lato/lato_i7.4c07c2b3b7e64ab516aa2f2081d2bb0366b9dce8.woff") format("woff");
434}
435@font-face {
436  font-family: Lato;
437  font-weight: 300;
438  font-style: normal;
439  font-display: swap;
440  src: url("//luxupur.de/cdn/fonts/lato/lato_n3.a7080ececf6191f1dd5b0cb021691ca9b855c876.woff2") format("woff2"),
441       url("//luxupur.de/cdn/fonts/lato/lato_n3.61e34b2ff7341f66543eb08e8c47eef9e1cde558.woff") format("woff");
442}
443@font-face {
444  font-family: Lato;
445  font-weight: 300;
446  font-style: italic;
447  font-display: swap;
448  src: url("//luxupur.de/cdn/fonts/lato/lato_i3.d6f478a3beb94baebd09d08550010692d0969f6e.woff2") format("woff2"),
449       url("//luxupur.de/cdn/fonts/lato/lato_i3.881ba892942c15b0c0c25c0b311d6481b5311015.woff") format("woff");
450}
451@font-face {
452  font-family: "Playfair Display";
453  font-weight: 500;
454  font-style: normal;
455  font-display: swap;
456  src: url("//luxupur.de/cdn/fonts/playfair_display/playfairdisplay_n5.6d96c6c4ac11fa0f6466bea3ceb706b13b60121f.woff2") format("woff2"),
457       url("//luxupur.de/cdn/fonts/playfair_display/playfairdisplay_n5.243754f603c104a858dcf4ebe73445104040a1bf.woff") format("woff");
458}
459@font-face {
460  font-family: "Playfair Display";
461  font-weight: 700;
462  font-style: normal;
463  font-display: swap;
464  src: url("//luxupur.de/cdn/fonts/playfair_display/playfairdisplay_n7.592b3435e0fff3f50b26d410c73ae7ec893f6910.woff2") format("woff2"),
465       url("//luxupur.de/cdn/fonts/playfair_display/playfairdisplay_n7.998b1417dec711058cce2abb61a0b8c59066498f.woff") format("woff");
466}
467@font-face {
468  font-family: "Playfair Display";
469  font-weight: 500;
470  font-style: italic;
471  font-display: swap;
472  src: url("//luxupur.de/cdn/fonts/playfair_display/playfairdisplay_i5.31aa6a3354487056ef9f3ac7215837d7edb37ccb.woff2") format("woff2"),
473       url("//luxupur.de/cdn/fonts/playfair_display/playfairdisplay_i5.72905702ec2250f6bda20eb4d8ede3a26011700f.woff") format("woff");
474}
475@font-face {
476  font-family: "Playfair Display";
477  font-weight: 700;
478  font-style: italic;
479  font-display: swap;
480  src: url("//luxupur.de/cdn/fonts/playfair_display/playfairdisplay_i7.ba833b400bcd9c858b439c75a4a7c6eddc4c7de0.woff2") format("woff2"),
481       url("//luxupur.de/cdn/fonts/playfair_display/playfairdisplay_i7.4872c65919810cd2f622f4ba52cd2e9e595f11d5.woff") format("woff");
482}
483@font-face {
484  font-family: Lato;
485  font-weight: 600;
486  font-style: normal;
487  font-display: swap;
488  src: url("//luxupur.de/cdn/fonts/lato/lato_n6.38d0e3b23b74a60f769c51d1df73fac96c580d59.woff2") format("woff2"),
489       url("//luxupur.de/cdn/fonts/lato/lato_n6.3365366161bdcc36a3f97cfbb23954d8c4bf4079.woff") format("woff");
490}
491@font-face {
492  font-family: Lato;
493  font-weight: 600;
494  font-style: italic;
495  font-display: swap;
496  src: url("//luxupur.de/cdn/fonts/lato/lato_i6.ab357ee5069e0603c2899b31e2b8ae84c4a42a48.woff2") format("woff2"),
497       url("//luxupur.de/cdn/fonts/lato/lato_i6.3164fed79d7d987c1390528781c7c2f59ac7a746.woff") format("woff");
498}
499
500
501  :root {
502    /* Page Layout */
503    --sidebar-width: 25rem;
504    --narrow-content-width: 36rem;
505    --normal-content-width: 42rem;
506    --wide-content-width: 46rem;
507    --narrow-page-width: 90rem;
508    --normal-page-width: 120rem;
509    --wide-page-width: 150rem;
510
511    /* Section Heights */
512    --section-height-small: 15rem;
513    --section-height-medium: 25rem;
514    --section-height-large: 35rem;
515
516    @media screen and (min-width: 40em) {
517      --section-height-small: 40svh;
518      --section-height-medium: 55svh;
519      --section-height-large: 70svh;
520    }
521
522    @media screen and (min-width: 60em) {
523      --section-height-small: 50svh;
524      --section-height-medium: 65svh;
525      --section-height-large: 80svh;
526    }
527
528    /* Letter spacing */
529    --letter-spacing-sm: 0.06em;
530    --letter-spacing-md: 0.13em;
531
532    /* Font families */
533    --font-body--family: Lato, sans-serif;
534    --font-body--style: normal;
535    --font-body--weight: 400;
536    --font-subheading--family: Lato, sans-serif;
537    --font-subheading--style: normal;
538    --font-subheading--weight: 300;
539    --font-heading--family: "Playfair Display", serif;
540    --font-heading--style: normal;
541    --font-heading--weight: 500;
542    --font-accent--family: Lato, sans-serif;
543    --font-accent--style: normal;
544    --font-accent--weight: 600;
545
546    /* Margin sizes */
547    --font-h1--spacing: 0.25em;
548    --font-h2--spacing: 0.25em;
549    --font-h3--spacing: 0.25em;
550    --font-h4--spacing: 0.25em;
551    --font-h5--spacing: 0.25em;
552    --font-h6--spacing: 0.25em;
553    --font-paragraph--spacing: 0.5em;
554
555    /* Heading colors */
556    --font-h1--color: var(--color-foreground-heading);
557    --font-h2--color: var(--color-foreground-heading);
558    --font-h3--color: var(--color-foreground-heading);
559    --font-h4--color: var(--color-foreground-heading);
560    --font-h5--color: var(--color-foreground-heading);
561    --font-h6--color: var(--color-foreground-heading);
562
563    /** Z-Index / Layering */
564    --layer-section-background: -2;
565    --layer-lowest: -1;
566    --layer-base: 0;
567    --layer-flat: 1;
568    --layer-raised: 2;
569    --layer-heightened: 4;
570    --layer-sticky: 8;
571    --layer-window-overlay: 10;
572    --layer-header-menu: 12;
573    --layer-overlay: 16;
574    --layer-menu-drawer: 18;
575    --layer-temporary: 20;
576
577    /* Max-width / Measure */
578    --max-width--body-normal: 32.5em;
579    --max-width--body-narrow: 22.75em;
580
581    --max-width--heading-normal: 32.5em;
582    --max-width--heading-narrow: 19.5em;
583
584    --max-width--display-normal: 13em;
585    --max-width--display-narrow: 9.75em;
586    --max-width--display-tight: 3.25em;
587
588    /* Letter-spacing / Tracking */
589    --letter-spacing--display-tight: -0.03em;
590    --letter-spacing--display-normal: 0em;
591    --letter-spacing--display-loose: 0.03em;
592
593    --letter-spacing--heading-tight: -0.03em;
594    --letter-spacing--heading-normal: 0em;
595    --letter-spacing--heading-loose: 0.03em;
596
597    --letter-spacing--body-tight: -0.03em;
598    --letter-spacing--body-normal: 0em;
599    --letter-spacing--body-loose: 0.03em;
600
601    /* Line height / Leading */
602    --line-height: 1;
603
604    --line-height--display-tight: 1;
605    --line-height--display-normal: 1.1;
606    --line-height--display-loose: 1.2;
607
608    --line-height--heading-tight: 1.15;
609    --line-height--heading-normal: 1.25;
610    --line-height--heading-loose: 1.35;
611
612    --line-height--body-tight: 1.2;
613    --line-height--body-normal: 1.4;
614    --line-height--body-loose: 1.6;
615
616    /* Typography presets */
617    --font-size--paragraph: 0.875rem;--font-size--h1: clamp(3.0rem, 7.2vw, 4.5rem);--font-size--h2: clamp(2.75rem, 4.8vw, 3.0rem);--font-size--h3: 2.5rem;--font-size--h4: 1.5rem;--font-size--h5: 1.125rem;--font-size--h6: 2.5rem;--font-paragraph--weight: 400;--font-paragraph--letter-spacing: var(--letter-spacing--body-normal);--font-paragraph--size: var(--font-size--paragraph);--font-paragraph--family: var(--font-body--family);--font-paragraph--style: var(--font-body--style);--font-paragraph--case: ;--font-paragraph--line-height: var(--line-height--body-normal);--font-h1--weight: var(--font-heading--weight);--font-h1--letter-spacing: var(--letter-spacing--heading-normal);--font-h1--size: var(--font-size--h1);--font-h1--family: var(--font-heading--family);--font-h1--style: var(--font-heading--style);--font-h1--case: uppercase;--font-h1--line-height: var(--line-height--display-normal);--font-h2--weight: var(--font-heading--weight);--font-h2--letter-spacing: var(--letter-spacing--heading-normal);--font-h2--size: var(--font-size--h2);--font-h2--family: var(--font-heading--family);--font-h2--style: var(--font-heading--style);--font-h2--case: uppercase;--font-h2--line-height: var(--line-height--display-tight);--font-h3--weight: var(--font-heading--weight);--font-h3--letter-spacing: var(--letter-spacing--heading-normal);--font-h3--size: var(--font-size--h3);--font-h3--family: var(--font-heading--family);--font-h3--style: var(--font-heading--style);--font-h3--case: none;--font-h3--line-height: var(--line-height--display-normal);--font-h4--weight: var(--font-heading--weight);--font-h4--letter-spacing: var(--letter-spacing--heading-normal);--font-h4--size: var(--font-size--h4);--font-h4--family: var(--font-heading--family);--font-h4--style: var(--font-heading--style);--font-h4--case: none;--font-h4--line-height: var(--line-height--display-normal);--font-h5--weight: var(--font-accent--weight);--font-h5--letter-spacing: var(--letter-spacing--heading-normal);--font-h5--size: var(--font-size--h5);--font-h5--family: var(--font-accent--family);--font-h5--style: var(--font-accent--style);--font-h5--case: none;--font-h5--line-height: var(--line-height--display-normal);--font-h6--weight: var(--font-heading--weight);--font-h6--letter-spacing: var(--letter-spacing--heading-normal);--font-h6--size: var(--font-size--h6);--font-h6--family: var(--font-heading--family);--font-h6--style: var(--font-heading--style);--font-h6--case: none;--font-h6--line-height: var(--line-height--display-normal);
618
619    /* Hardcoded font sizes */
620    --font-size--3xs: 0.625rem;
621    --font-size--2xs: 0.75rem;
622    --font-size--xs: 0.8125rem;
623    --font-size--sm: 0.875rem;
624    --font-size--md: 1rem;
625    --font-size--lg: 1.125rem;
626    --font-size--xl: 1.25rem;
627    --font-size--2xl: 1.5rem;
628    --font-size--3xl: 2rem;
629    --font-size--4xl: 2.5rem;
630    --font-size--5xl: 3rem;
631    --font-size--6xl: 3.5rem;
632
633    /* Menu font sizes */
634    --menu-font-sm--size: 0.875rem;
635    --menu-font-sm--line-height: calc(1.1 + 0.5 * min(16 / 14));
636    --menu-font-md--size: 1rem;
637    --menu-font-md--line-height: calc(1.1 + 0.5 * min(16 / 16));
638    --menu-font-lg--size: 1.125rem;
639    --menu-font-lg--line-height: calc(1.1 + 0.5 * min(16 / 18));
640    --menu-font-xl--size: 1.25rem;
641    --menu-font-xl--line-height: calc(1.1 + 0.5 * min(16 / 20));
642    --menu-font-2xl--size: 1.75rem;
643    --menu-font-2xl--line-height: calc(1.1 + 0.5 * min(16 / 28));
644
645    /* Colors */
646    --color-error: #8B0000;
647    --color-success: #006400;
648    --color-white: #FFFFFF;
649    --color-white-rgb: 255 255 255;
650    --color-black: #000000;
651    --color-instock: #3ED660;
652    --color-lowstock: #EE9441;
653    --color-outofstock: #C8C8C8;
654
655    /* Opacity */
656    --opacity-5: 0.05;
657    --opacity-8: 0.08;
658    --opacity-10: 0.1;
659    --opacity-15: 0.15;
660    --opacity-20: 0.2;
661    --opacity-25: 0.25;
662    --opacity-30: 0.3;
663    --opacity-40: 0.4;
664    --opacity-50: 0.5;
665    --opacity-60: 0.6;
666    --opacity-70: 0.7;
667    --opacity-80: 0.8;
668    --opacity-85: 0.85;
669    --opacity-90: 0.9;
670    --opacity-subdued-text: var(--opacity-70);
671
672    --shadow-button: 0 2px 3px rgb(0 0 0 / 20%);
673    --gradient-image-overlay: linear-gradient(to top, rgb(0 0 0 / 0.5), transparent);
674
675    /* Spacing */
676    --margin-3xs: 0.125rem;
677    --margin-2xs: 0.3rem;
678    --margin-xs: 0.5rem;
679    --margin-sm: 0.7rem;
680    --margin-md: 0.8rem;
681    --margin-lg: 1rem;
682    --margin-xl: 1.25rem;
683    --margin-2xl: 1.5rem;
684    --margin-3xl: 1.75rem;
685    --margin-4xl: 2rem;
686    --margin-5xl: 3rem;
687    --margin-6xl: 5rem;
688
689    --scroll-margin: 50px;
690
691    --padding-3xs: 0.125rem;
692    --padding-2xs: 0.25rem;
693    --padding-xs: 0.5rem;
694    --padding-sm: 0.7rem;
695    --padding-md: 0.8rem;
696    --padding-lg: 1rem;
697    --padding-xl: 1.25rem;
698    --padding-2xl: 1.5rem;
699    --padding-3xl: 1.75rem;
700    --padding-4xl: 2rem;
701    --padding-5xl: 3rem;
702    --padding-6xl: 4rem;
703
704    --gap-3xs: 0.125rem;
705    --gap-2xs: 0.3rem;
706    --gap-xs: 0.5rem;
707    --gap-sm: 0.7rem;
708    --gap-md: 0.9rem;
709    --gap-lg: 1rem;
710    --gap-xl: 1.25rem;
711    --gap-2xl: 2rem;
712    --gap-3xl: 3rem;
713
714    --spacing-scale-sm: 0.6;
715    --spacing-scale-md: 0.7;
716    --spacing-scale-default: 1.0;
717
718    /* Checkout buttons gap */
719    --checkout-button-gap: 10px;
720
721    /* Borders */
722    --style-border-width: 1px;
723    --style-border-radius-xs: 0.2rem;
724    --style-border-radius-sm: 0.6rem;
725    --style-border-radius-md: 0.8rem;
726    --style-border-radius-50: 50%;
727    --style-border-radius-lg: 1rem;
728    --style-border-radius-pills: 40px;
729    --style-border-radius-inputs: 0px;
730    --style-border-radius-buttons-primary: 0px;
731    --style-border-radius-buttons-secondary: 0px;
732    --style-border-width-primary: 2px;
733    --style-border-width-secondary: 0px;
734    --style-border-width-inputs: 1px;
735    --style-border-radius-popover: 0px;
736    --style-border-popover: 1px none rgb(var(--color-border-rgb) / 50%);
737    --style-border-drawer: 1px none rgb(var(--color-border-rgb) / 50%);
738    --style-border-swatch-opacity: 10%;
739    --style-border-swatch-width: 1px;
740    --style-border-swatch-style: solid;
741
742    /* Animation */
743    --ease-out-cubic: cubic-bezier(0.33, 1, 0.68, 1);
744    --ease-out-quad: cubic-bezier(0.32, 0.72, 0, 1);
745    --animation-speed-fast: 0.0625s;
746    --animation-speed: 0.125s;
747    --animation-speed-slow: 0.2s;
748    --animation-speed-medium: 0.15s;
749    --animation-easing: ease-in-out;
750    --animation-slideshow-easing: cubic-bezier(0.4, 0, 0.2, 1);
751    --drawer-animation-speed: 0.2s;
752    --animation-values-slow: var(--animation-speed-slow) var(--animation-easing);
753    --animation-values: var(--animation-speed) var(--animation-easing);
754    --animation-values-fast: var(--animation-speed-fast) var(--animation-easing);
755    --animation-values-allow-discrete: var(--animation-speed) var(--animation-easing) allow-discrete;
756    --animation-timing-hover: cubic-bezier(0.25, 0.46, 0.45, 0.94);
757    --animation-timing-active: cubic-bezier(0.5, 0, 0.75, 0);
758    --animation-timing-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
759    --animation-timing-default: cubic-bezier(0, 0, 0.2, 1);
760    --animation-timing-fade-in: cubic-bezier(0.16, 1, 0.3, 1);
761    --animation-timing-fade-out: cubic-bezier(0.4, 0, 0.2, 1);
762
763    /* View transitions */
764    /* View transition old */
765    --view-transition-old-main-content: var(--animation-speed) var(--animation-easing) both fadeOut;
766
767    /* View transition new */
768    --view-transition-new-main-content: var(--animation-speed) var(--animation-easing) both fadeIn, var(--animation-speed) var(--animation-easing) both slideInTopViewTransition;
769
770    /* Focus */
771    --focus-outline-width: 0.09375rem;
772    --focus-outline-offset: 0.2em;
773
774    /* Badges */
775    --badge-blob-padding-block: 1px;
776    --badge-blob-padding-inline: 12px 8px;
777    --badge-rectangle-padding-block: 1px;
778    --badge-rectangle-padding-inline: 6px;
779    @media screen and (min-width: 750px) {
780      --badge-blob-padding-block: 4px;
781      --badge-blob-padding-inline: 16px 12px;
782      --badge-rectangle-padding-block: 4px;
783      --badge-rectangle-padding-inline: 10px;
784    }
785
786    /* Icons */
787    --icon-size-2xs: 0.6rem;
788    --icon-size-xs: 0.85rem;
789    --icon-size-sm: 1.25rem;
790    --icon-size-md: 1.375rem;
791    --icon-size-lg: 1.5rem;
792    --icon-stroke-width: 1.5px;
793
794    /* Input */
795    --input-email-min-width: 200px;
796    --input-search-max-width: 650px;
797    --input-padding-y: 0.8rem;
798    --input-padding-x: 0.8rem;
799    --input-padding: var(--input-padding-y) var(--input-padding-x);
800    --input-box-shadow-width: var(--style-border-width-inputs);
801    --input-box-shadow: 0 0 0 var(--input-box-shadow-width) var(--color-input-border);
802    --input-box-shadow-focus: 0 0 0 calc(var(--input-box-shadow-width) + 0.5px) var(--color-input-border);
803    --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10));
804    --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5));
805    --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
806    --input-textarea-min-height: 55px;
807
808    /* Button size */
809    --button-size-sm: 30px;
810    --button-size-md: 36px;
811    --button-size: var(--minimum-touch-target);
812    --button-padding-inline: 24px;
813    --button-padding-block: 16px;
814
815    /* Button font-family */
816    --button-font-family-primary: var(--font-accent--family);
817    --button-font-family-secondary: var(--font-body--family);
818
819    /* Button text case */
820    --button-text-case: ;
821    --button-text-case-primary: default;
822    --button-text-case-secondary: default;
823
824    /* Borders */
825    --border-color: rgb(var(--color-border-rgb) / var(--opacity-50));
826    --border-width-sm: 1px;
827    --border-width-md: 2px;
828    --border-width-lg: 5px;
829    --border-radius-sm: 0.25rem;
830
831    /* Drawers */
832    --drawer-inline-padding: 25px;
833    --drawer-menu-inline-padding: 2.5rem;
834    --drawer-header-block-padding: 20px;
835    --drawer-content-block-padding: 10px;
836    --drawer-header-desktop-top: 0rem;
837    --drawer-padding: calc(var(--padding-sm) + 7px);
838    --drawer-height: 100dvh;
839    --drawer-width: 95vw;
840    --drawer-max-width: 500px;
841
842    /* Variant Picker Swatches */
843    --variant-picker-swatch-width-unitless: 30;
844    --variant-picker-swatch-height-unitless: 30;
845    --variant-picker-swatch-width: 30px;
846    --variant-picker-swatch-height: 30px;
847    --variant-picker-swatch-radius: 0px;
848    --variant-picker-border-width: 1px;
849    --variant-picker-border-style: solid;
850    --variant-picker-border-opacity: 10%;
851
852    /* Variant Picker Buttons */
853    --variant-picker-button-radius: 3px;
854    --variant-picker-button-border-width: 2px;
855
856    /* Slideshow */
857    --slideshow-controls-size: 3.5rem;
858    --slideshow-controls-icon: 2rem;
859    --peek-next-slide-size: 3rem;
860
861    /* Utilities */
862    --backdrop-opacity: 0.15;
863    --backdrop-color-rgb: var(--color-shadow-rgb);
864    --minimum-touch-target: 44px;
865    --disabled-opacity: 0.5;
866    --skeleton-opacity: 0.025;
867
868    /* Shapes */
869    --shape--circle: circle(50% at center);
870    --shape--sunburst: polygon(100% 50%,94.62% 55.87%,98.3% 62.94%,91.57% 67.22%,93.3% 75%,85.7% 77.39%,85.36% 85.36%,77.39% 85.7%,75% 93.3%,67.22% 91.57%,62.94% 98.3%,55.87% 94.62%,50% 100%,44.13% 94.62%,37.06% 98.3%,32.78% 91.57%,25% 93.3%,22.61% 85.7%,14.64% 85.36%,14.3% 77.39%,6.7% 75%,8.43% 67.22%,1.7% 62.94%,5.38% 55.87%,0% 50%,5.38% 44.13%,1.7% 37.06%,8.43% 32.78%,6.7% 25%,14.3% 22.61%,14.64% 14.64%,22.61% 14.3%,25% 6.7%,32.78% 8.43%,37.06% 1.7%,44.13% 5.38%,50% 0%,55.87% 5.38%,62.94% 1.7%,67.22% 8.43%,75% 6.7%,77.39% 14.3%,85.36% 14.64%,85.7% 22.61%,93.3% 25%,91.57% 32.78%,98.3% 37.06%,94.62% 44.13%);
871    --shape--diamond: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
872    --shape--blob: polygon(85.349% 11.712%, 87.382% 13.587%, 89.228% 15.647%, 90.886% 17.862%, 92.359% 20.204%, 93.657% 22.647%, 94.795% 25.169%, 95.786% 27.752%, 96.645% 30.382%, 97.387% 33.048%, 98.025% 35.740%, 98.564% 38.454%, 99.007% 41.186%, 99.358% 43.931%, 99.622% 46.685%, 99.808% 49.446%, 99.926% 52.210%, 99.986% 54.977%, 99.999% 57.744%, 99.975% 60.511%, 99.923% 63.278%, 99.821% 66.043%, 99.671% 68.806%, 99.453% 71.565%, 99.145% 74.314%, 98.724% 77.049%, 98.164% 79.759%, 97.433% 82.427%, 96.495% 85.030%, 95.311% 87.529%, 93.841% 89.872%, 92.062% 91.988%, 89.972% 93.796%, 87.635% 95.273%, 85.135% 96.456%, 82.532% 97.393%, 79.864% 98.127%, 77.156% 98.695%, 74.424% 99.129%, 71.676% 99.452%, 68.918% 99.685%, 66.156% 99.844%, 63.390% 99.942%, 60.624% 99.990%, 57.856% 99.999%, 55.089% 99.978%, 52.323% 99.929%, 49.557% 99.847%, 46.792% 99.723%, 44.031% 99.549%, 41.273% 99.317%, 38.522% 99.017%, 35.781% 98.639%, 33.054% 98.170%, 30.347% 97.599%, 27.667% 96.911%, 25.024% 96.091%, 22.432% 95.123%, 19.907% 93.994%, 17.466% 92.690%, 15.126% 91.216%, 12.902% 89.569%, 10.808% 87.761%, 8.854% 85.803%, 7.053% 83.703%, 5.418% 81.471%, 3.962% 79.119%, 2.702% 76.656%, 1.656% 74.095%, 0.846% 71.450%, 0.294% 68.740%, 0.024% 65.987%, 0.050% 63.221%, 0.343% 60.471%, 0.858% 57.752%, 1.548% 55.073%, 2.370% 52.431%, 3.283% 49.819%, 4.253% 47.227%, 5.249% 44.646%, 6.244% 42.063%, 7.211% 39.471%, 8.124% 36.858%, 8.958% 34.220%, 9.711% 31.558%, 10.409% 28.880%, 11.083% 26.196%, 11.760% 23.513%, 12.474% 20.839%, 13.259% 18.186%, 14.156% 15.569%, 15.214% 13.012%, 16.485% 10.556%, 18.028% 8.261%, 19.883
872% 6.211%, 22.041% 4.484%, 24.440% 3.110%, 26.998% 2.057%, 29.651% 1.275%, 32.360% 0.714%, 35.101% 0.337%, 37.859% 0.110%, 40.624% 0.009%, 43.391% 0.016%, 46.156% 0.113%, 48.918% 0.289%, 51.674% 0.533%, 54.425% 0.837%, 57.166% 1.215%, 59.898% 1.654%, 62.618% 2.163%, 65.322% 2.750%, 68.006% 3.424%, 70.662% 4.197%, 73.284% 5.081%, 75.860% 6.091%, 78.376% 7.242%, 80.813% 8.551%, 83.148% 10.036%, 85.349% 11.712%);
873
874    /* Buy buttons */
875    --height-buy-buttons: calc(var(--padding-lg) * 2 + var(--icon-size-sm));
876
877    /* Card image width and height variables */
878    --card-width-small: 10rem;
879
880    --height-small: 10rem;
881    --height-medium: 11.5rem;
882    --height-large: 13rem;
883    --height-full: 100vh;
884
885    @media screen and (min-width: 750px) {
886      --height-small: 17.5rem;
887      --height-medium: 21.25rem;
888      --height-large: 25rem;
889    }
890
891    /* Modal */
892    --modal-max-height: 65dvh;
893
894    /* Card styles for search */
895    --card-bg-hover: rgb(var(--color-foreground-rgb) / var(--opacity-5));
896    --card-border-hover: rgb(var(--color-foreground-rgb) / var(--opacity-30));
897    --card-border-focus: rgb(var(--color-foreground-rgb) / var(--opacity-10));
898
899    /* Cart */
900    --cart-primary-font-family: var(--font-body--family);
901    --cart-primary-font-style: var(--font-body--style);
902    --cart-primary-font-weight: var(--font-body--weight);
903    --cart-secondary-font-family: var(--font-subheading--family);
904    --cart-secondary-font-style: var(--font-subheading--style);
905    --cart-secondary-font-weight: var(--font-subheading--weight);
906  }
907</style>
908<style data-shopify>
909  
910    
911      :root,
912    
913    
914    
915    .color-scheme-1 {
916        --color-background: rgb(9 15 18 / 1.0);
917        /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */
918        --color-background-rgb: 9 15 18;
919        --opacity-5-15: 0.15;
920        --opacity-10-25: 0.25;
921        --opacity-35-55: 0.55;
922        --opacity-40-60: 0.6;
923        --opacity-30-60: 0.6;
924        --color-foreground: rgb(255 255 255 / 1.0);
925        --color-foreground-rgb: 255 255 255;
926        --color-foreground-heading: rgb(255 255 255 / 1.0);
927        --color-foreground-heading-rgb: 255 255 255;
928        --color-primary: rgb(55 156 162 / 1.0);
929        --color-primary-rgb: 55 156 162;
930        --color-primary-hover: rgb(84 200 231 / 1.0);
931        --color-primary-hover-rgb: 84 200 231;
932        --color-border: rgb(230 230 230 / 1.0);
933        --color-border-rgb: 230 230 230;
934        --color-shadow: rgb(0 0 0 / 1.0);
935        --color-shadow-rgb: 0 0 0;
936        --color-primary-button-text: rgb(255 255 255 / 1.0);
937        --color-primary-button-background: rgb(255 255 255 / 0.07);
938        --color-primary-button-border: rgb(255 255 255 / 1.0);
939        --color-primary-button-hover-text: rgb(255 255 255 / 1.0);
940        --color-primary-button-hover-background: rgb(203 172 96 / 1.0);
941        --color-primary-button-hover-border: rgb(194 171 116 / 1.0);
942        --color-secondary-button-text: rgb(0 0 0 / 1.0);
943        --color-secondary-button-background: rgb(0 0 0 / 0.06);
944        --color-secondary-button-border: rgb(164 35 37 / 1.0);
945        --color-secondary-button-hover-text: rgb(0 0 0 / 1.0);
946        --color-secondary-button-hover-background: rgb(222 222 222 / 1.0);
947        --color-secondary-button-hover-border: rgb(0 0 0 / 1.0);
948        --color-input-background: rgb(255 255 255 / 1.0);
949        --color-input-text: rgb(0 0 0 / 1.0);
950        --color-input-text-rgb: 0 0 0;
951        --color-input-border: rgb(230 230 230 / 1.0);
952        --color-input-hover-background: rgb(245 245 245 / 1.0);
953        --color-variant-background: rgb(255 255 255 / 1.0);
954        --color-variant-border: rgb(230 230 230 / 1.0);
955        --color-variant-text: rgb(0 0 0 / 1.0);
956        --color-variant-text-rgb: 0 0 0;
957        --color-variant-hover-background: rgb(0 0 0 / 1.0);
958        --color-variant-hover-text: rgb(0 0 0 / 1.0);
959        --color-variant-hover-border: rgb(0 0 0 / 1.0);
960        --color-selected-variant-background: rgb(0 0 0 / 1.0);
961        --color-selected-variant-border: rgb(0 0 0 / 1.0);
962        --color-selected-variant-text: rgb(255 255 255 / 1.0);
963        --color-selected-variant-hover-background: rgb(26 26 26 / 1.0);
964        --color-selected-variant-hover-text: rgb(0 0 0 / 1.0);
965        --color-selected-variant-hover-border: rgb(26 26 26 / 1.0);
966
967        --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10));
968        --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15));
969        --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
970        --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60));
971        --font-h1--color: var(--color-foreground-heading);
972        --font-h2--color: var(--color-foreground-heading);
973        --font-h3--color: var(--color-foreground-heading);
974        --font-h4--color: var(--color-foreground-heading);
975        --font-h5--color: var(--color-foreground-heading);
976        --font-h6--color: var(--color-foreground-heading);
977
978        /* Shadows */
979        
980          --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
981        
982        
983          --shadow-blur: 20px;
984          --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
985        
986      }
987  
988    
989    
990    
991    .color-scheme-2 {
992        --color-background: rgb(255 255 255 / 1.0);
993        /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */
994        --color-background-rgb: 255 255 255;
995        --opacity-5-15: 0.05;
996        --opacity-10-25: 0.1;
997        --opacity-35-55: 0.35;
998        --opacity-40-60: 0.4;
999        --opacity-30-60: 0.3;
1000        --color-foreground: rgb(0 0 0 / 1.0);
1001        --color-foreground-rgb: 0 0 0;
1002        --color-foreground-heading: rgb(0 0 0 / 1.0);
1003        --color-foreground-heading-rgb: 0 0 0;
1004        --color-primary: rgb(0 0 0 / 1.0);
1005        --color-primary-rgb: 0 0 0;
1006        --color-primary-hover: rgb(0 0 0 / 1.0);
1007        --color-primary-hover-rgb: 0 0 0;
1008        --color-border: rgb(230 230 230 / 1.0);
1009        --color-border-rgb: 230 230 230;
1010        --color-shadow: rgb(0 0 0 / 1.0);
1011        --color-shadow-rgb: 0 0 0;
1012        --color-primary-button-text: rgb(242 242 242 / 1.0);
1013        --color-primary-button-background: rgb(201 168 110 / 1.0);
1014        --color-primary-button-border: rgb(164 35 37 / 1.0);
1015        --color-primary-button-hover-text: rgb(242 242 242 / 1.0);
1016        --color-primary-button-hover-background: rgb(164 35 37 / 1.0);
1017        --color-primary-button-hover-border: rgb(164 35 37 / 1.0);
1018        --color-secondary-button-text: rgb(0 0 0 / 1.0);
1019        --color-secondary-button-background: rgb(255 255 255 / 1.0);
1020        --color-secondary-button-border: rgb(0 0 0 / 1.0);
1021        --color-secondary-button-hover-text: rgb(164 35 37 / 1.0);
1022        --color-secondary-button-hover-background: rgb(255 255 255 / 1.0);
1023        --color-secondary-button-hover-border: rgb(164 35 37 / 1.0);
1024        --color-input-background: rgb(242 242 242 / 1.0);
1025        --color-input-text: rgb(0 0 0 / 1.0);
1026        --color-input-text-rgb: 0 0 0;
1027        --color-input-border: rgb(0 0 0 / 1.0);
1028        --color-input-hover-background: rgb(228 228 228 / 1.0);
1029        --color-variant-background: rgb(255 255 255 / 1.0);
1030        --color-variant-border: rgb(230 230 230 / 1.0);
1031        --color-variant-text: rgb(0 0 0 / 1.0);
1032        --color-variant-text-rgb: 0 0 0;
1033        --color-variant-hover-background: rgb(245 245 245 / 1.0);
1034        --color-variant-hover-text: rgb(0 0 0 / 1.0);
1035        --color-variant-hover-border: rgb(230 230 230 / 1.0);
1036        --color-selected-variant-background: rgb(0 0 0 / 1.0);
1037        --color-selected-variant-border: rgb(0 0 0 / 1.0);
1038        --color-selected-variant-text: rgb(255 255 255 / 1.0);
1039        --color-selected-variant-hover-background: rgb(26 26 26 / 1.0);
1040        --color-selected-variant-hover-text: rgb(255 255 255 / 1.0);
1041        --color-selected-variant-hover-border: rgb(26 26 26 / 1.0);
1042
1043        --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10));
1044        --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15));
1045        --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
1046        --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60));
1047        --font-h1--color: var(--color-foreground-heading);
1048        --font-h2--color: var(--color-foreground-heading);
1049        --font-h3--color: var(--color-foreground-heading);
1050        --font-h4--color: var(--color-foreground-heading);
1051        --font-h5--color: var(--color-foreground-heading);
1052        --font-h6--color: var(--color-foreground-heading);
1053
1054        /* Shadows */
1055        
1056          --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
1057        
1058        
1059          --shadow-blur: 20px;
1060          --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
1061        
1062      }
1063  
1064    
1065    
1066    
1067    .color-scheme-3 {
1068        --color-background: rgb(203 172 96 / 1.0);
1069        /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */
1070        --color-background-rgb: 203 172 96;
1071        --opacity-5-15: 0.05;
1072        --opacity-10-25: 0.1;
1073        --opacity-35-55: 0.35;
1074        --opacity-40-60: 0.4;
1075        --opacity-30-60: 0.3;
1076        --color-foreground: rgb(255 255 255 / 1.0);
1077        --color-foreground-rgb: 255 255 255;
1078        --color-foreground-heading: rgb(255 255 255 / 1.0);
1079        --color-foreground-heading-rgb: 255 255 255;
1080        --color-primary: rgb(120 4 6 / 0.91);
1081        --color-primary-rgb: 120 4 6;
1082        --color-primary-hover: rgb(0 0 0 / 1.0);
1083        --color-primary-hover-rgb: 0 0 0;
1084        --color-border: rgb(208 208 208 / 1.0);
1085        --color-border-rgb: 208 208 208;
1086        --color-shadow: rgb(0 0 0 / 1.0);
1087        --color-shadow-rgb: 0 0 0;
1088        --color-primary-button-text: rgb(255 255 255 / 1.0);
1089        --color-primary-button-background: rgb(120 4 6 / 0.91);
1090        --color-primary-button-border: rgb(120 4 6 / 0.91);
1091        --color-primary-button-hover-text: rgb(255 255 255 / 1.0);
1092        --color-primary-button-hover-background: rgb(0 0 0 / 1.0);
1093        --color-primary-button-hover-border: rgb(0 0 0 / 1.0);
1094        --color-secondary-button-text: rgb(0 0 0 / 1.0);
1095        --color-secondary-button-background: rgb(232 213 199 / 1.0);
1096        --color-secondary-button-border: rgb(51 50 50 / 1.0);
1097        --color-secondary-button-hover-text: rgb(0 0 0 / 1.0);
1098        --color-secondary-button-hover-background: rgb(241 227 217 / 0.77);
1099        --color-secondary-button-hover-border: rgb(0 0 0 / 1.0);
1100        --color-input-background: rgb(232 213 199 / 1.0);
1101        --color-input-text: rgb(0 0 0 / 1.0);
1102        --color-input-text-rgb: 0 0 0;
1103        --color-input-border: rgb(0 0 0 / 1.0);
1104        --color-input-hover-background: rgb(241 227 217 / 0.77);
1105        --color-variant-background: rgb(232 213 199 / 1.0);
1106        --color-variant-border: rgb(88 88 88 / 1.0);
1107        --color-variant-text: rgb(0 0 0 / 1.0);
1108        --color-variant-text-rgb: 0 0 0;
1109        --color-variant-hover-background: rgb(241 227 217 / 0.77);
1110        --color-variant-hover-text: rgb(0 0 0 / 1.0);
1111        --color-variant-hover-border: rgb(0 0 0 / 1.0);
1112        --color-selected-variant-background: rgb(0 0 0 / 1.0);
1113        --color-selected-variant-border: rgb(0 0 0 / 1.0);
1114        --color-selected-variant-text: rgb(255 255 255 / 1.0);
1115        --color-selected-variant-hover-background: rgb(26 26 26 / 1.0);
1116        --color-selected-variant-hover-text: rgb(255 255 255 / 1.0);
1117        --color-selected-variant-hover-border: rgb(26 26 26 / 1.0);
1118
1119        --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10));
1120        --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15));
1121        --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
1122        --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60));
1123        --font-h1--color: var(--color-foreground-heading);
1124        --font-h2--color: var(--color-foreground-heading);
1125        --font-h3--color: var(--color-foreground-heading);
1126        --font-h4--color: var(--color-foreground-heading);
1127        --font-h5--color: var(--color-foreground-heading);
1128        --font-h6--color: var(--color-foreground-heading);
1129
1130        /* Shadows */
1131        
1132          --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
1133        
1134        
1135          --shadow-blur: 20px;
1136          --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
1137        
1138      }
1139  
1140    
1141    
1142    
1143    .color-scheme-4 {
1144        --color-background: rgb(252 250 246 / 1.0);
1145        /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */
1146        --color-background-rgb: 252 250 246;
1147        --opacity-5-15: 0.05;
1148        --opacity-10-25: 0.1;
1149        --opacity-35-55: 0.35;
1150        --opacity-40-60: 0.4;
1151        --opacity-30-60: 0.3;
1152        --color-foreground: rgb(66 65 65 / 1.0);
1153        --color-foreground-rgb: 66 65 65;
1154        --color-foreground-heading: rgb(38 37 37 / 1.0);
1155        --color-foreground-heading-rgb: 38 37 37;
1156        --color-primary: rgb(131 130 130 / 1.0);
1157        --color-primary-rgb: 131 130 130;
1158        --color-primary-hover: rgb(255 255 255 / 1.0);
1159        --color-primary-hover-rgb: 255 255 255;
1160        --color-border: rgb(4 4 4 / 0.11);
1161        --color-border-rgb: 4 4 4;
1162        --color-shadow: rgb(0 0 0 / 1.0);
1163        --color-shadow-rgb: 0 0 0;
1164        --color-primary-button-text: rgb(255 255 255 / 1.0);
1165        --color-primary-button-background: rgb(201 168 110 / 1.0);
1166        --color-primary-button-border: rgb(201 168 110 / 1.0);
1167        --color-primary-button-hover-text: rgb(255 255 255 / 1.0);
1168        --color-primary-button-hover-background: rgb(152 123 51 / 1.0);
1169        --color-primary-button-hover-border: rgb(152 123 51 / 1.0);
1170        --color-secondary-button-text: rgb(201 168 110 / 1.0);
1171        --color-secondary-button-background: rgb(255 255 255 / 1.0);
1172        --color-secondary-button-border: rgb(201 168 110 / 1.0);
1173        --color-secondary-button-hover-text: rgb(255 255 255 / 1.0);
1174        --color-secondary-button-hover-background: rgb(201 168 110 / 1.0);
1175        --color-secondary-button-hover-border: rgb(201 168 110 / 1.0);
1176        --color-input-background: rgb(255 255 255 / 1.0);
1177        --color-input-text: rgb(82 79 79 / 1.0);
1178        --color-input-text-rgb: 82 79 79;
1179        --color-input-border: rgb(201 168 110 / 1.0);
1180        --color-input-hover-background: rgb(255 255 255 / 1.0);
1181        --color-variant-background: rgb(164 35 37 / 1.0);
1182        --color-variant-border: rgb(230 230 230 / 1.0);
1183        --color-variant-text: rgb(255 255 255 / 1.0);
1184        --color-variant-text-rgb: 255 255 255;
1185        --color-variant-hover-background: rgb(245 245 245 / 1.0);
1186        --color-variant-hover-text: rgb(0 0 0 / 1.0);
1187        --color-variant-hover-border: rgb(230 230 230 / 1.0);
1188        --color-selected-variant-background: rgb(0 0 0 / 1.0);
1189        --color-selected-variant-border: rgb(0 0 0 / 1.0);
1190        --color-selected-variant-text: rgb(255 255 255 / 1.0);
1191        --color-selected-variant-hover-background: rgb(26 26 26 / 1.0);
1192        --color-selected-variant-hover-text: rgb(255 255 255 / 1.0);
1193        --color-selected-variant-hover-border: rgb(26 26 26 / 1.0);
1194
1195        --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10));
1196        --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15));
1197        --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
1198        --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60));
1199        --font-h1--color: var(--color-foreground-heading);
1200        --font-h2--color: var(--color-foreground-heading);
1201        --font-h3--color: var(--color-foreground-heading);
1202        --font-h4--color: var(--color-foreground-heading);
1203        --font-h5--color: var(--color-foreground-heading);
1204        --font-h6--color: var(--color-foreground-heading);
1205
1206        /* Shadows */
1207        
1208          --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
1209        
1210        
1211          --shadow-blur: 20px;
1212          --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
1213        
1214      }
1215  
1216    
1217    
1218    
1219    .color-scheme-5 {
1220        --color-background: rgb(25 26 28 / 1.0);
1221        /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */
1222        --color-background-rgb: 25 26 28;
1223        --opacity-5-15: 0.15;
1224        --opacity-10-25: 0.25;
1225        --opacity-35-55: 0.55;
1226        --opacity-40-60: 0.6;
1227        --opacity-30-60: 0.6;
1228        --color-foreground: rgb(192 190 190 / 1.0);
1229        --color-foreground-rgb: 192 190 190;
1230        --color-foreground-heading: rgb(255 255 255 / 1.0);
1231        --color-foreground-heading-rgb: 255 255 255;
1232        --color-primary: rgb(203 172 96 / 1.0);
1233        --color-primary-rgb: 203 172 96;
1234        --color-primary-hover: rgb(255 255 255 / 1.0);
1235        --color-primary-hover-rgb: 255 255 255;
1236        --color-border: rgb(102 102 102 / 1.0);
1237        --color-border-rgb: 102 102 102;
1238        --color-shadow: rgb(0 0 0 / 1.0);
1239        --color-shadow-rgb: 0 0 0;
1240        --color-primary-button-text: rgb(255 255 255 / 1.0);
1241        --color-primary-button-background: rgb(194 171 116 / 1.0);
1242        --color-primary-button-border: rgb(194 171 116 / 1.0);
1243        --color-primary-button-hover-text: rgb(255 255 255 / 1.0);
1244        --color-primary-button-hover-background: rgb(158 136 83 / 1.0);
1245        --color-primary-button-hover-border: rgb(158 136 83 / 1.0);
1246        --color-secondary-button-text: rgb(255 255 255 / 1.0);
1247        --color-secondary-button-background: rgb(0 0 0 / 1.0);
1248        --color-secondary-button-border: rgb(255 255 255 / 1.0);
1249        --color-secondary-button-hover-text: rgb(172 172 172 / 1.0);
1250        --color-secondary-button-hover-background: rgb(0 0 0 / 1.0);
1251        --color-secondary-button-hover-border: rgb(172 172 172 / 1.0);
1252        --color-input-background: rgb(0 0 0 / 1.0);
1253        --color-input-text: rgb(255 255 255 / 1.0);
1254        --color-input-text-rgb: 255 255 255;
1255        --color-input-border: rgb(255 255 255 / 1.0);
1256        --color-input-hover-background: rgb(51 50 50 / 1.0);
1257        --color-variant-background: rgb(0 0 0 / 1.0);
1258        --color-variant-border: rgb(255 255 255 / 1.0);
1259        --color-variant-text: rgb(255 255 255 / 1.0);
1260        --color-variant-text-rgb: 255 255 255;
1261        --color-variant-hover-background: rgb(245 245 245 / 1.0);
1262        --color-variant-hover-text: rgb(0 0 0 / 1.0);
1263        --color-variant-hover-border: rgb(230 230 230 / 1.0);
1264        --color-selected-variant-background: rgb(255 255 255 / 1.0);
1265        --color-selected-variant-border: rgb(255 255 255 / 1.0);
1266        --color-selected-variant-text: rgb(0 0 0 / 1.0);
1267        --color-selected-variant-hover-background: rgb(255 255 255 / 0.19);
1268        --color-selected-variant-hover-text: rgb(255 255 255 / 1.0);
1269        --color-selected-variant-hover-border: rgb(0 0 0 / 1.0);
1270
1271        --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10));
1272        --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15));
1273        --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
1274        --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60));
1275        --font-h1--color: var(--color-foreground-heading);
1276        --font-h2--color: var(--color-foreground-heading);
1277        --font-h3--color: var(--color-foreground-heading);
1278        --font-h4--color: var(--color-foreground-heading);
1279        --font-h5--color: var(--color-foreground-heading);
1280        --font-h6--color: var(--color-foreground-heading);
1281
1282        /* Shadows */
1283        
1284          --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
1285        
1286        
1287          --shadow-blur: 20px;
1288          --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
1289        
1290      }
1291  
1292    
1293    
1294    
1295    .color-scheme-6 {
1296        --color-background: rgb(255 255 255 / 1.0);
1297        /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */
1298        --color-background-rgb: 255 255 255;
1299        --opacity-5-15: 0.05;
1300        --opacity-10-25: 0.1;
1301        --opacity-35-55: 0.35;
1302        --opacity-40-60: 0.4;
1303        --opacity-30-60: 0.3;
1304        --color-foreground: rgb(0 0 0 / 1.0);
1305        --color-foreground-rgb: 0 0 0;
1306        --color-foreground-heading: rgb(0 0 0 / 1.0);
1307        --color-foreground-heading-rgb: 0 0 0;
1308        --color-primary: rgb(0 0 0 / 1.0);
1309        --color-primary-rgb: 0 0 0;
1310        --color-primary-hover: rgb(123 119 119 / 1.0);
1311        --color-primary-hover-rgb: 123 119 119;
1312        --color-border: rgb(0 0 0 / 0.0);
1313        --color-border-rgb: 0 0 0;
1314        --color-shadow: rgb(0 0 0 / 0.0);
1315        --color-shadow-rgb: 0 0 0;
1316        --color-primary-button-text: rgb(255 255 255 / 1.0);
1317        --color-primary-button-background: rgb(194 171 116 / 1.0);
1318        --color-primary-button-border: rgb(194 171 116 / 1.0);
1319        --color-primary-button-hover-text: rgb(255 255 255 / 1.0);
1320        --color-primary-button-hover-background: rgb(142 120 67 / 1.0);
1321   
1321     --color-primary-button-hover-border: rgb(142 120 67 / 1.0);
1322        --color-secondary-button-text: rgb(85 83 83 / 1.0);
1323        --color-secondary-button-background: rgb(0 0 0 / 0.06);
1324        --color-secondary-button-border: rgb(255 255 255 / 1.0);
1325        --color-secondary-button-hover-text: rgb(172 172 172 / 1.0);
1326        --color-secondary-button-hover-background: rgb(0 0 0 / 0.0);
1327        --color-secondary-button-hover-border: rgb(26 26 26 / 1.0);
1328        --color-input-background: rgb(255 255 255 / 1.0);
1329        --color-input-text: rgb(0 0 0 / 1.0);
1330        --color-input-text-rgb: 0 0 0;
1331        --color-input-border: rgb(0 0 0 / 1.0);
1332        --color-input-hover-background: rgb(245 245 245 / 1.0);
1333        --color-variant-background: rgb(255 255 255 / 1.0);
1334        --color-variant-border: rgb(230 230 230 / 1.0);
1335        --color-variant-text: rgb(0 0 0 / 1.0);
1336        --color-variant-text-rgb: 0 0 0;
1337        --color-variant-hover-background: rgb(245 245 245 / 1.0);
1338        --color-variant-hover-text: rgb(0 0 0 / 1.0);
1339        --color-variant-hover-border: rgb(230 230 230 / 1.0);
1340        --color-selected-variant-background: rgb(211 213 215 / 1.0);
1341        --color-selected-variant-border: rgb(88 81 81 / 1.0);
1342        --color-selected-variant-text: rgb(35 35 35 / 1.0);
1343        --color-selected-variant-hover-background: rgb(119 123 123 / 1.0);
1344        --color-selected-variant-hover-text: rgb(255 255 255 / 1.0);
1345        --color-selected-variant-hover-border: rgb(190 202 203 / 1.0);
1346
1347        --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10));
1348        --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15));
1349        --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
1350        --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60));
1351        --font-h1--color: var(--color-foreground-heading);
1352        --font-h2--color: var(--color-foreground-heading);
1353        --font-h3--color: var(--color-foreground-heading);
1354        --font-h4--color: var(--color-foreground-heading);
1355        --font-h5--color: var(--color-foreground-heading);
1356        --font-h6--color: var(--color-foreground-heading);
1357
1358        /* Shadows */
1359        
1360          --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
1361        
1362        
1363          --shadow-blur: 20px;
1364          --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
1365        
1366      }
1367  
1368    
1369    
1370    
1371    .color-scheme-7 {
1372        --color-background: rgb(0 0 0 / 1.0);
1373        /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */
1374        --color-background-rgb: 0 0 0;
1375        --opacity-5-15: 0.15;
1376        --opacity-10-25: 0.25;
1377        --opacity-35-55: 0.55;
1378        --opacity-40-60: 0.6;
1379        --opacity-30-60: 0.6;
1380        --color-foreground: rgb(230 230 230 / 1.0);
1381        --color-foreground-rgb: 230 230 230;
1382        --color-foreground-heading: rgb(82 79 79 / 1.0);
1383        --color-foreground-heading-rgb: 82 79 79;
1384        --color-primary: rgb(0 0 0 / 1.0);
1385        --color-primary-rgb: 0 0 0;
1386        --color-primary-hover: rgb(131 126 126 / 1.0);
1387        --color-primary-hover-rgb: 131 126 126;
1388        --color-border: rgb(230 230 230 / 1.0);
1389        --color-border-rgb: 230 230 230;
1390        --color-shadow: rgb(0 0 0 / 1.0);
1391        --color-shadow-rgb: 0 0 0;
1392        --color-primary-button-text: rgb(255 255 255 / 1.0);
1393        --color-primary-button-background: rgb(73 181 211 / 1.0);
1394        --color-primary-button-border: rgb(0 0 0 / 1.0);
1395        --color-primary-button-hover-text: rgb(255 255 255 / 1.0);
1396        --color-primary-button-hover-background: rgb(51 51 51 / 1.0);
1397        --color-primary-button-hover-border: rgb(51 51 51 / 1.0);
1398        --color-secondary-button-text: rgb(0 0 0 / 1.0);
1399        --color-secondary-button-background: rgb(0 0 0 / 0.06);
1400        --color-secondary-button-border: rgb(0 0 0 / 1.0);
1401        --color-secondary-button-hover-text: rgb(0 0 0 / 1.0);
1402        --color-secondary-button-hover-background: rgb(255 255 255 / 1.0);
1403        --color-secondary-button-hover-border: rgb(255 255 255 / 1.0);
1404        --color-input-background: rgb(255 255 255 / 1.0);
1405        --color-input-text: rgb(0 0 0 / 0.53);
1406        --color-input-text-rgb: 0 0 0;
1407        --color-input-border: rgb(0 0 0 / 0.13);
1408        --color-input-hover-background: rgb(245 245 245 / 1.0);
1409        --color-variant-background: rgb(255 255 255 / 1.0);
1410        --color-variant-border: rgb(230 230 230 / 1.0);
1411        --color-variant-text: rgb(0 0 0 / 1.0);
1412        --color-variant-text-rgb: 0 0 0;
1413        --color-variant-hover-background: rgb(245 245 245 / 1.0);
1414        --color-variant-hover-text: rgb(0 0 0 / 1.0);
1415        --color-variant-hover-border: rgb(230 230 230 / 1.0);
1416        --color-selected-variant-background: rgb(0 0 0 / 1.0);
1417        --color-selected-variant-border: rgb(0 0 0 / 1.0);
1418        --color-selected-variant-text: rgb(255 255 255 / 1.0);
1419        --color-selected-variant-hover-background: rgb(26 26 26 / 1.0);
1420        --color-selected-variant-hover-text: rgb(255 255 255 / 1.0);
1421        --color-selected-variant-hover-border: rgb(26 26 26 / 1.0);
1422
1423        --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10));
1424        --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15));
1425        --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
1426        --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60));
1427        --font-h1--color: var(--color-foreground-heading);
1428        --font-h2--color: var(--color-foreground-heading);
1429        --font-h3--color: var(--color-foreground-heading);
1430        --font-h4--color: var(--color-foreground-heading);
1431        --font-h5--color: var(--color-foreground-heading);
1432        --font-h6--color: var(--color-foreground-heading);
1433
1434        /* Shadows */
1435        
1436          --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
1437        
1438        
1439          --shadow-blur: 20px;
1440          --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
1441        
1442      }
1443  
1444    
1445    
1446    
1447    .color-scheme-14d561a2-4fe3-4ccf-a8e8-e70dfad6e07b {
1448        --color-background: rgb(25 26 28 / 1.0);
1449        /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */
1450        --color-background-rgb: 25 26 28;
1451        --opacity-5-15: 0.15;
1452        --opacity-10-25: 0.25;
1453        --opacity-35-55: 0.55;
1454        --opacity-40-60: 0.6;
1455        --opacity-30-60: 0.6;
1456        --color-foreground: rgb(255 255 255 / 1.0);
1457        --color-foreground-rgb: 255 255 255;
1458        --color-foreground-heading: rgb(255 255 255 / 1.0);
1459        --color-foreground-heading-rgb: 255 255 255;
1460        --color-primary: rgb(203 172 96 / 1.0);
1461        --color-primary-rgb: 203 172 96;
1462        --color-primary-hover: rgb(160 139 89 / 1.0);
1463        --color-primary-hover-rgb: 160 139 89;
1464        --color-border: rgb(230 230 230 / 1.0);
1465        --color-border-rgb: 230 230 230;
1466        --color-shadow: rgb(0 0 0 / 1.0);
1467        --color-shadow-rgb: 0 0 0;
1468        --color-primary-button-text: rgb(255 255 255 / 1.0);
1469        --color-primary-button-background: rgb(203 172 96 / 1.0);
1470        --color-primary-button-border: rgb(203 172 96 / 1.0);
1471        --color-primary-button-hover-text: rgb(255 255 255 / 1.0);
1472        --color-primary-button-hover-background: rgb(30 137 166 / 1.0);
1473        --color-primary-button-hover-border: rgb(0 0 0 / 1.0);
1474        --color-secondary-button-text: rgb(0 0 0 / 1.0);
1475        --color-secondary-button-background: rgb(0 0 0 / 0.06);
1476        --color-secondary-button-border: rgb(164 35 37 / 1.0);
1477        --color-secondary-button-hover-text: rgb(0 0 0 / 1.0);
1478        --color-secondary-button-hover-background: rgb(222 222 222 / 1.0);
1479        --color-secondary-button-hover-border: rgb(0 0 0 / 1.0);
1480        --color-input-background: rgb(255 255 255 / 1.0);
1481        --color-input-text: rgb(0 0 0 / 1.0);
1482        --color-input-text-rgb: 0 0 0;
1483        --color-input-border: rgb(230 230 230 / 1.0);
1484        --color-input-hover-background: rgb(245 245 245 / 1.0);
1485        --color-variant-background: rgb(255 255 255 / 1.0);
1486        --color-variant-border: rgb(230 230 230 / 1.0);
1487        --color-variant-text: rgb(0 0 0 / 1.0);
1488        --color-variant-text-rgb: 0 0 0;
1489        --color-variant-hover-background: rgb(245 245 245 / 1.0);
1490        --color-variant-hover-text: rgb(0 0 0 / 1.0);
1491        --color-variant-hover-border: rgb(230 230 230 / 1.0);
1492        --color-selected-variant-background: rgb(0 0 0 / 1.0);
1493        --color-selected-variant-border: rgb(0 0 0 / 1.0);
1494        --color-selected-variant-text: rgb(255 255 255 / 1.0);
1495        --color-selected-variant-hover-background: rgb(26 26 26 / 1.0);
1496        --color-selected-variant-hover-text: rgb(255 255 255 / 1.0);
1497        --color-selected-variant-hover-border: rgb(26 26 26 / 1.0);
1498
1499        --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10));
1500        --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15));
1501        --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
1502        --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60));
1503        --font-h1--color: var(--color-foreground-heading);
1504        --font-h2--color: var(--color-foreground-heading);
1505        --font-h3--color: var(--color-foreground-heading);
1506        --font-h4--color: var(--color-foreground-heading);
1507        --font-h5--color: var(--color-foreground-heading);
1508        --font-h6--color: var(--color-foreground-heading);
1509
1510        /* Shadows */
1511        
1512          --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
1513        
1514        
1515          --shadow-blur: 20px;
1516          --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
1517        
1518      }
1519  
1520    
1521    
1522    
1523    .color-scheme-b7379327-f284-41e4-8b8f-3c34e0fea334 {
1524        --color-background: rgb(249 242 230 / 1.0);
1525        /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */
1526        --color-background-rgb: 249 242 230;
1527        --opacity-5-15: 0.05;
1528        --opacity-10-25: 0.1;
1529        --opacity-35-55: 0.35;
1530        --opacity-40-60: 0.4;
1531        --opacity-30-60: 0.3;
1532        --color-foreground: rgb(102 101 101 / 1.0);
1533        --color-foreground-rgb: 102 101 101;
1534        --color-foreground-heading: rgb(255 255 255 / 1.0);
1535        --color-foreground-heading-rgb: 255 255 255;
1536        --color-primary: rgb(255 255 255 / 1.0);
1537        --color-primary-rgb: 255 255 255;
1538        --color-primary-hover: rgb(84 200 231 / 1.0);
1539        --color-primary-hover-rgb: 84 200 231;
1540        --color-border: rgb(230 230 230 / 1.0);
1541        --color-border-rgb: 230 230 230;
1542        --color-shadow: rgb(0 0 0 / 1.0);
1543        --color-shadow-rgb: 0 0 0;
1544        --color-primary-button-text: rgb(0 0 0 / 1.0);
1545        --color-primary-button-background: rgb(55 156 162 / 1.0);
1546        --color-primary-button-border: rgb(84 200 231 / 1.0);
1547        --color-primary-button-hover-text: rgb(255 255 255 / 1.0);
1548        --color-primary-button-hover-background: rgb(30 137 166 / 1.0);
1549        --color-primary-button-hover-border: rgb(0 0 0 / 1.0);
1550        --color-secondary-button-text: rgb(0 0 0 / 1.0);
1551        --color-secondary-button-background: rgb(0 0 0 / 0.06);
1552        --color-secondary-button-border: rgb(164 35 37 / 1.0);
1553        --color-secondary-button-hover-text: rgb(0 0 0 / 1.0);
1554        --color-secondary-button-hover-background: rgb(222 222 222 / 1.0);
1555        --color-secondary-button-hover-border: rgb(0 0 0 / 1.0);
1556        --color-input-background: rgb(255 255 255 / 1.0);
1557        --color-input-text: rgb(0 0 0 / 1.0);
1558        --color-input-text-rgb: 0 0 0;
1559        --color-input-border: rgb(230 230 230 / 1.0);
1560        --color-input-hover-background: rgb(245 245 245 / 1.0);
1561        --color-variant-background: rgb(255 255 255 / 1.0);
1562        --color-variant-border: rgb(230 230 230 / 1.0);
1563        --color-variant-text: rgb(0 0 0 / 1.0);
1564        --color-variant-text-rgb: 0 0 0;
1565        --color-variant-hover-background: rgb(0 0 0 / 1.0);
1566        --color-variant-hover-text: rgb(0 0 0 / 1.0);
1567        --color-variant-hover-border: rgb(0 0 0 / 1.0);
1568        --color-selected-variant-background: rgb(0 0 0 / 1.0);
1569        --color-selected-variant-border: rgb(0 0 0 / 1.0);
1570        --color-selected-variant-text: rgb(255 255 255 / 1.0);
1571        --color-selected-variant-hover-background: rgb(26 26 26 / 1.0);
1572        --color-selected-variant-hover-text: rgb(0 0 0 / 1.0);
1573        --color-selected-variant-hover-border: rgb(26 26 26 / 1.0);
1574
1575        --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10));
1576        --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15));
1577        --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
1578        --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60));
1579        --font-h1--color: var(--color-foreground-heading);
1580        --font-h2--color: var(--color-foreground-heading);
1581        --font-h3--color: var(--color-foreground-heading);
1582        --font-h4--color: var(--color-foreground-heading);
1583        --font-h5--color: var(--color-foreground-heading);
1584        --font-h6--color: var(--color-foreground-heading);
1585
1586        /* Shadows */
1587        
1588          --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
1589        
1590        
1591          --shadow-blur: 20px;
1592          --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
1593        
1594      }
1595  
1596    
1597    
1598    
1599    .color-scheme-6b784332-3c2a-4cd3-8b9b-ef974cbb5b6a {
1600        --color-background: rgb(166 164 164 / 0.86);
1601        /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */
1602        --color-background-rgb: 166 164 164;
1603        --opacity-5-15: 0.05;
1604        --opacity-10-25: 0.1;
1605        --opacity-35-55: 0.35;
1606        --opacity-40-60: 0.4;
1607        --opacity-30-60: 0.3;
1608        --color-foreground: rgb(255 255 255 / 1.0);
1609        --color-foreground-rgb: 255 255 255;
1610        --color-foreground-heading: rgb(255 255 255 / 1.0);
1611        --color-foreground-heading-rgb: 255 255 255;
1612        --color-primary: rgb(55 156 162 / 1.0);
1613        --color-primary-rgb: 55 156 162;
1614        --color-primary-hover: rgb(84 200 231 / 1.0);
1615        --color-primary-hover-rgb: 84 200 231;
1616        --color-border: rgb(230 230 230 / 1.0);
1617        --color-border-rgb: 230 230 230;
1618        --color-shadow: rgb(0 0 0 / 1.0);
1619        --color-shadow-rgb: 0 0 0;
1620        --color-primary-button-text: rgb(255 255 255 / 1.0);
1621        --color-primary-button-background: rgb(55 156 162 / 1.0);
1622        --color-primary-button-border: rgb(84 200 231 / 1.0);
1623        --color-primary-button-hover-text: rgb(255 255 255 / 1.0);
1624        --color-primary-button-hover-background: rgb(30 137 166 / 1.0);
1625        --color-primary-button-hover-border: rgb(0 0 0 / 1.0);
1626        --color-secondary-button-text: rgb(0 0 0 / 1.0);
1627        --color-secondary-button-background: rgb(0 0 0 / 0.06);
1628        --color-secondary-button-border: rgb(164 35 37 / 1.0);
1629        --color-secondary-button-hover-text: rgb(0 0 0 / 1.0);
1630        --color-secondary-button-hover-background: rgb(222 222 222 / 1.0);
1631        --color-secondary-button-hover-border: rgb(0 0 0 / 1.0);
1632        --color-input-background: rgb(255 255 255 / 1.0);
1633        --color-input-text: rgb(0 0 0 / 1.0);
1634        --color-input-text-rgb: 0 0 0;
1635        --color-input-border: rgb(230 230 230 / 1.0);
1636        --color-input-hover-background: rgb(245 245 245 / 1.0);
1637        --color-variant-background: rgb(255 255 255 / 1.0);
1638        --color-variant-border: rgb(230 230 230 / 1.0);
1639        --color-variant-text: rgb(0 0 0 / 1.0);
1640        --color-variant-text-rgb: 0 0 0;
1641        --color-variant-hover-background: rgb(0 0 0 / 1.0);
1642        --color-variant-hover-text: rgb(0 0 0 / 1.0);
1643        --color-variant-hover-border: rgb(0 0 0 / 1.0);
1644        --color-selected-variant-background: rgb(0 0 0 / 1
1644.0);
1645        --color-selected-variant-border: rgb(0 0 0 / 1.0);
1646        --color-selected-variant-text: rgb(255 255 255 / 1.0);
1647        --color-selected-variant-hover-background: rgb(26 26 26 / 1.0);
1648        --color-selected-variant-hover-text: rgb(0 0 0 / 1.0);
1649        --color-selected-variant-hover-border: rgb(26 26 26 / 1.0);
1650
1651        --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10));
1652        --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15));
1653        --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
1654        --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60));
1655        --font-h1--color: var(--color-foreground-heading);
1656        --font-h2--color: var(--color-foreground-heading);
1657        --font-h3--color: var(--color-foreground-heading);
1658        --font-h4--color: var(--color-foreground-heading);
1659        --font-h5--color: var(--color-foreground-heading);
1660        --font-h6--color: var(--color-foreground-heading);
1661
1662        /* Shadows */
1663        
1664          --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
1665        
1666        
1667          --shadow-blur: 20px;
1668          --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
1669        
1670      }
1671  
1672    
1673    
1674    
1675    .color-scheme-44037267-dc56-4843-be9e-deacd4ab483a {
1676        --color-background: rgb(255 255 255 / 1.0);
1677        /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */
1678        --color-background-rgb: 255 255 255;
1679        --opacity-5-15: 0.05;
1680        --opacity-10-25: 0.1;
1681        --opacity-35-55: 0.35;
1682        --opacity-40-60: 0.4;
1683        --opacity-30-60: 0.3;
1684        --color-foreground: rgb(255 255 255 / 1.0);
1685        --color-foreground-rgb: 255 255 255;
1686        --color-foreground-heading: rgb(255 255 255 / 1.0);
1687        --color-foreground-heading-rgb: 255 255 255;
1688        --color-primary: rgb(255 255 255 / 1.0);
1689        --color-primary-rgb: 255 255 255;
1690        --color-primary-hover: rgb(84 200 231 / 1.0);
1691        --color-primary-hover-rgb: 84 200 231;
1692        --color-border: rgb(230 230 230 / 1.0);
1693        --color-border-rgb: 230 230 230;
1694        --color-shadow: rgb(0 0 0 / 1.0);
1695        --color-shadow-rgb: 0 0 0;
1696        --color-primary-button-text: rgb(255 255 255 / 1.0);
1697        --color-primary-button-background: rgb(201 168 110 / 1.0);
1698        --color-primary-button-border: rgb(201 168 110 / 1.0);
1699        --color-primary-button-hover-text: rgb(255 255 255 / 1.0);
1700        --color-primary-button-hover-background: rgb(145 115 42 / 1.0);
1701        --color-primary-button-hover-border: rgb(145 115 42 / 1.0);
1702        --color-secondary-button-text: rgb(194 171 116 / 1.0);
1703        --color-secondary-button-background: rgb(0 0 0 / 0.0);
1704        --color-secondary-button-border: rgb(194 171 116 / 1.0);
1705        --color-secondary-button-hover-text: rgb(255 255 255 / 1.0);
1706        --color-secondary-button-hover-background: rgb(194 171 116 / 1.0);
1707        --color-secondary-button-hover-border: rgb(194 171 116 / 1.0);
1708        --color-input-background: rgb(255 255 255 / 1.0);
1709        --color-input-text: rgb(0 0 0 / 1.0);
1710        --color-input-text-rgb: 0 0 0;
1711        --color-input-border: rgb(230 230 230 / 1.0);
1712        --color-input-hover-background: rgb(245 245 245 / 1.0);
1713        --color-variant-background: rgb(255 255 255 / 1.0);
1714        --color-variant-border: rgb(230 230 230 / 1.0);
1715        --color-variant-text: rgb(0 0 0 / 1.0);
1716        --color-variant-text-rgb: 0 0 0;
1717        --color-variant-hover-background: rgb(0 0 0 / 1.0);
1718        --color-variant-hover-text: rgb(0 0 0 / 1.0);
1719        --color-variant-hover-border: rgb(0 0 0 / 1.0);
1720        --color-selected-variant-background: rgb(0 0 0 / 1.0);
1721        --color-selected-variant-border: rgb(0 0 0 / 1.0);
1722        --color-selected-variant-text: rgb(255 255 255 / 1.0);
1723        --color-selected-variant-hover-background: rgb(26 26 26 / 1.0);
1724        --color-selected-variant-hover-text: rgb(0 0 0 / 1.0);
1725        --color-selected-variant-hover-border: rgb(26 26 26 / 1.0);
1726
1727        --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10));
1728        --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15));
1729        --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
1730        --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60));
1731        --font-h1--color: var(--color-foreground-heading);
1732        --font-h2--color: var(--color-foreground-heading);
1733        --font-h3--color: var(--color-foreground-heading);
1734        --font-h4--color: var(--color-foreground-heading);
1735        --font-h5--color: var(--color-foreground-heading);
1736        --font-h6--color: var(--color-foreground-heading);
1737
1738        /* Shadows */
1739        
1740          --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
1741        
1742        
1743          --shadow-blur: 20px;
1744          --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
1745        
1746      }
1747  
1748    
1749    
1750    
1751    .color-scheme-02fcdd7c-b2c9-4372-9922-e2a58541b795 {
1752        --color-background: rgb(255 255 255 / 1.0);
1753        /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */
1754        --color-background-rgb: 255 255 255;
1755        --opacity-5-15: 0.05;
1756        --opacity-10-25: 0.1;
1757        --opacity-35-55: 0.35;
1758        --opacity-40-60: 0.4;
1759        --opacity-30-60: 0.3;
1760        --color-foreground: rgb(25 26 28 / 1.0);
1761        --color-foreground-rgb: 25 26 28;
1762        --color-foreground-heading: rgb(0 0 0 / 1.0);
1763        --color-foreground-heading-rgb: 0 0 0;
1764        --color-primary: rgb(0 0 0 / 0.59);
1765        --color-primary-rgb: 0 0 0;
1766        --color-primary-hover: rgb(222 222 222 / 1.0);
1767        --color-primary-hover-rgb: 222 222 222;
1768        --color-border: rgb(230 230 230 / 1.0);
1769        --color-border-rgb: 230 230 230;
1770        --color-shadow: rgb(0 0 0 / 1.0);
1771        --color-shadow-rgb: 0 0 0;
1772        --color-primary-button-text: rgb(255 255 255 / 1.0);
1773        --color-primary-button-background: rgb(0 0 0 / 1.0);
1774        --color-primary-button-border: rgb(0 0 0 / 1.0);
1775        --color-primary-button-hover-text: rgb(255 255 255 / 1.0);
1776        --color-primary-button-hover-background: rgb(67 67 65 / 1.0);
1777        --color-primary-button-hover-border: rgb(67 67 65 / 1.0);
1778        --color-secondary-button-text: rgb(201 168 110 / 1.0);
1779        --color-secondary-button-background: rgb(0 0 0 / 0.0);
1780        --color-secondary-button-border: rgb(201 168 110 / 1.0);
1781        --color-secondary-button-hover-text: rgb(255 255 255 / 1.0);
1782        --color-secondary-button-hover-background: rgb(201 168 110 / 1.0);
1783        --color-secondary-button-hover-border: rgb(201 168 110 / 1.0);
1784        --color-input-background: rgb(255 255 255 / 1.0);
1785        --color-input-text: rgb(0 0 0 / 1.0);
1786        --color-input-text-rgb: 0 0 0;
1787        --color-input-border: rgb(230 230 230 / 1.0);
1788        --color-input-hover-background: rgb(245 245 245 / 1.0);
1789        --color-variant-background: rgb(255 255 255 / 1.0);
1790        --color-variant-border: rgb(230 230 230 / 1.0);
1791        --color-variant-text: rgb(0 0 0 / 1.0);
1792        --color-variant-text-rgb: 0 0 0;
1793        --color-variant-hover-background: rgb(0 0 0 / 1.0);
1794        --color-variant-hover-text: rgb(0 0 0 / 1.0);
1795        --color-variant-hover-border: rgb(0 0 0 / 1.0);
1796        --color-selected-variant-background: rgb(0 0 0 / 1.0);
1797        --color-selected-variant-border: rgb(0 0 0 / 1.0);
1798        --color-selected-variant-text: rgb(255 255 255 / 1.0);
1799        --color-selected-variant-hover-background: rgb(26 26 26 / 1.0);
1800        --color-selected-variant-hover-text: rgb(0 0 0 / 1.0);
1801        --color-selected-variant-hover-border: rgb(26 26 26 / 1.0);
1802
1803        --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10));
1804        --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15));
1805        --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
1806        --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60));
1807        --font-h1--color: var(--color-foreground-heading);
1808        --font-h2--color: var(--color-foreground-heading);
1809        --font-h3--color: var(--color-foreground-heading);
1810        --font-h4--color: var(--color-foreground-heading);
1811        --font-h5--color: var(--color-foreground-heading);
1812        --font-h6--color: var(--color-foreground-heading);
1813
1814        /* Shadows */
1815        
1816          --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
1817        
1818        
1819          --shadow-blur: 20px;
1820          --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
1821        
1822      }
1823  
1824    
1825    
1826    
1827    .color-scheme-9176e3ba-7c70-473f-a6a1-10649243c66e {
1828        --color-background: rgb(255 255 255 / 1.0);
1829        /* RGB values only to apply different opacities - Relative color values are not supported in iOS < 16.4 */
1830        --color-background-rgb: 255 255 255;
1831        --opacity-5-15: 0.05;
1832        --opacity-10-25: 0.1;
1833        --opacity-35-55: 0.35;
1834        --opacity-40-60: 0.4;
1835        --opacity-30-60: 0.3;
1836        --color-foreground: rgb(66 64 64 / 1.0);
1837        --color-foreground-rgb: 66 64 64;
1838        --color-foreground-heading: rgb(225 227 228 / 1.0);
1839        --color-foreground-heading-rgb: 225 227 228;
1840        --color-primary: rgb(166 131 45 / 1.0);
1841        --color-primary-rgb: 166 131 45;
1842        --color-primary-hover: rgb(32 32 32 / 1.0);
1843        --color-primary-hover-rgb: 32 32 32;
1844        --color-border: rgb(230 230 230 / 1.0);
1845        --color-border-rgb: 230 230 230;
1846        --color-shadow: rgb(0 0 0 / 1.0);
1847        --color-shadow-rgb: 0 0 0;
1848        --color-primary-button-text: rgb(255 255 255 / 1.0);
1849        --color-primary-button-background: rgb(207 181 134 / 1.0);
1850        --color-primary-button-border: rgb(207 181 134 / 1.0);
1851        --color-primary-button-hover-text: rgb(255 255 255 / 1.0);
1852        --color-primary-button-hover-background: rgb(228 199 127 / 1.0);
1853        --color-primary-button-hover-border: rgb(228 199 127 / 1.0);
1854        --color-secondary-button-text: rgb(0 0 0 / 1.0);
1855        --color-secondary-button-background: rgb(255 255 255 / 1.0);
1856        --color-secondary-button-border: rgb(164 35 37 / 1.0);
1857        --color-secondary-button-hover-text: rgb(0 0 0 / 1.0);
1858        --color-secondary-button-hover-background: rgb(222 222 222 / 1.0);
1859        --color-secondary-button-hover-border: rgb(0 0 0 / 1.0);
1860        --color-input-background: rgb(255 255 255 / 1.0);
1861        --color-input-text: rgb(0 0 0 / 1.0);
1862        --color-input-text-rgb: 0 0 0;
1863        --color-input-border: rgb(230 230 230 / 1.0);
1864        --color-input-hover-background: rgb(0 0 0 / 1.0);
1865        --color-variant-background: rgb(37 30 30 / 1.0);
1866        --color-variant-border: rgb(230 230 230 / 1.0);
1867        --color-variant-text: rgb(0 0 0 / 1.0);
1868        --color-variant-text-rgb: 0 0 0;
1869        --color-variant-hover-background: rgb(0 0 0 / 1.0);
1870        --color-variant-hover-text: rgb(0 0 0 / 1.0);
1871        --color-variant-hover-border: rgb(0 0 0 / 1.0);
1872        --color-selected-variant-background: rgb(0 0 0 / 1.0);
1873        --color-selected-variant-border: rgb(0 0 0 / 1.0);
1874        --color-selected-variant-text: rgb(255 255 255 / 1.0);
1875        --color-selected-variant-hover-background: rgb(26 26 26 / 1.0);
1876        --color-selected-variant-hover-text: rgb(0 0 0 / 1.0);
1877        --color-selected-variant-hover-border: rgb(26 26 26 / 1.0);
1878
1879        --input-disabled-background-color: rgb(var(--color-foreground-rgb) / var(--opacity-10));
1880        --input-disabled-border-color: rgb(var(--color-foreground-rgb) / var(--opacity-5-15));
1881        --input-disabled-text-color: rgb(var(--color-foreground-rgb) / var(--opacity-50));
1882        --color-foreground-muted: rgb(var(--color-foreground-rgb) / var(--opacity-60));
1883        --font-h1--color: var(--color-foreground-heading);
1884        --font-h2--color: var(--color-foreground-heading);
1885        --font-h3--color: var(--color-foreground-heading);
1886        --font-h4--color: var(--color-foreground-heading);
1887        --font-h5--color: var(--color-foreground-heading);
1888        --font-h6--color: var(--color-foreground-heading);
1889
1890        /* Shadows */
1891        
1892          --shadow-drawer: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
1893        
1894        
1895          --shadow-blur: 20px;
1896          --shadow-popover: 0px 4px 20px rgb(var(--color-shadow-rgb) / var(--opacity-15));
1897        
1898      }
1899  
1900
1901  body, .color-scheme-1, .color-scheme-2, .color-scheme-3, .color-scheme-4, .color-scheme-5, .color-scheme-6, .color-scheme-7, .color-scheme-14d561a2-4fe3-4ccf-a8e8-e70dfad6e07b, .color-scheme-b7379327-f284-41e4-8b8f-3c34e0fea334, .color-scheme-6b784332-3c2a-4cd3-8b9b-ef974cbb5b6a, .color-scheme-44037267-dc56-4843-be9e-deacd4ab483a, .color-scheme-02fcdd7c-b2c9-4372-9922-e2a58541b795, .color-scheme-9176e3ba-7c70-473f-a6a1-10649243c66e {
1902    color: var(--color-foreground);
1903    background-color: var(--color-background);
1904  }
1905</style>
1906
1907
1908    
1908<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
1908<meta name="facebook-domain-verification" content="k2s5720l60u19ye2vlqen23yap3624">
1909<meta name="google-site-verification" content="V865pUpXVVkirU0PKbpgOwjqHvZZkZo1txlLzVMoj1o">
1910<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/92284256520/digital_wallets/dialog">
1911<meta id="in-context-paypal-metadata" data-shop-id="92284256520" data-venmo-supported="false" data-environment="production" data-locale="de_DE" data-paypal-v4="true" data-currency="EUR">
1912<link rel="ucp" href="/.well-known/ucp" version="2026-08-25">
1912<script async="async" src="/checkouts/internal/preloads.js?locale=de-DE"></script>
1912
1913<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
1914<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=de-DE&shop_id=92284256520" crossorigin="anonymous"></script>
vendor: 1 bytes, line 1914
1914
1915<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":92284256520,"countryCode":"DE","currencyCode":"EUR","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/92284256520","merchantName":"Luxupur®","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","maestro"],"total":{"type":"pending","label":"Luxupur®","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
vendor: 1 bytes, line 1915
1915
1916<script id="shopify-features" type="application/json">{"accessToken":"c4a0fd8c710f7c3f1dd86bb4ff290c55","betas":["rich-media-storefront-analytics"],"domain":"luxupur.de","predictiveSearch":true,"shopId":92284256520,"locale":"de"}</script>
vendor: 1 bytes, line 1916
1916
1917<script>var Shopify = Shopify || {};
1918Shopify.shop = "ahsvz2-1w.myshopify.com";
1919Shopify.locale = "de";
1920Shopify.currency = {"active":"EUR","rate":"1.0"};
1921Shopify.country = "DE";
1922Shopify.theme = {"name":"Neue Kopie von Heute 14.6. NEU","id":198021480712,"schema_name":"Savor","schema_version":"3.2.1","theme_store_id":3626,"role":"main"};
1923Shopify.theme.handle = "null";
1924Shopify.theme.style = {"id":null,"handle":null};
1925Shopify.cdnHost = "luxupur.de/cdn";
1926Shopify.routes = Shopify.routes || {};
1927Shopify.routes.root = "/";
1928Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js";
1929Shopify.SignInWithShop = Shopify.SignInWithShop || {};
1930Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {};
1931Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 1931
1931
1932<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 1932
1932
1933<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 1933
1933
1934<script>
1935  window.ShopifyPay = window.ShopifyPay || {};
1936  window.ShopifyPay.apiHost = "shop.app\/pay";
1937  window.ShopifyPay.redirectState = null;
1938</script>
vendor: 1 bytes, line 1938
1938
1939<script>
1940  window.Shopify = window.Shopify || {};
1941  window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {};
1942  window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 };
1943  window.Shopify.SignInWithShop.eligible = true;
1944</script>
vendor: 1 bytes, line 1944
1944
1945<script id="shop-js-analytics" type="application/json">{"pageType":"cart"}</script>
vendor: 1 bytes, line 1945
1945
1946<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 1946
1946
1947<script type="module">
1948  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.de.esm.js");
1949
1950  window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true});
1951
1952</script>
vendor: 1 bytes, line 1952
1952
1953<script>
1954  window.Shopify = window.Shopify || {};
1955  if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
1956  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"]};
1957</script>
vendor: 1 bytes, line 1957
1957
1958<script>(function() {
1959  var isLoaded = false;
1960  function asyncLoad() {
1961    if (isLoaded) return;
1962    isLoaded = true;
1963    var urls = ["https:\/\/s3.eu-west-1.amazonaws.com\/production-klarna-il-shopify-osm\/72a80347586bd7910d812dacd7945a4c4d8224ff\/ahsvz2-1w.myshopify.com-1781452891562.js?shop=ahsvz2-1w.myshopify.com"];
1964    for (var i = 0; i < urls.length; i++) {
1965      var s = document.createElement('script');
1966      s.type = 'text/javascript';
1967      s.async = true;
1968      s.src = urls[i];
1969      var x = document.getElementsByTagName('script')[0];
1970      x.parentNode.insertBefore(s, x);
1971    }
1972  };
1973  if(window.attachEvent) {
1974    window.attachEvent('onload', asyncLoad);
1975  } else {
1976    window.addEventListener('load', asyncLoad, false);
1977  }
1978})();</script>
vendor: 1 bytes, line 1978
1978
1979<script id="__st">var __st={"a":92284256520,"offset":7200,"reqid":"806fb77a-305e-4a89-81e4-ef8968f1e206-1791355435","pageurl":"luxupur.de\/cart","u":"8736e55875ad","p":"cart"};</script>
vendor: 1 bytes, line 1979
1979
1980<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 1980
1980
1981<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 1981
1981
1982<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//luxupur.de/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 1982
1982
1983<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 = "//luxupur.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>
1983<script crossorigin="anonymous" defer="defer" src="//luxupur.de/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-616277c7.js?v=20250812"></script>
vendor: 1 bytes, line 1983
1983
1984<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 1984
1984
1985<script>
1986  window.Shopify = window.Shopify || {};
1987  window.Shopify.MCP = window.Shopify.MCP || {};
1988  window.Shopify.MCP.enabled = true;
1989  window.Shopify.MCP.shop = "ahsvz2-1w.myshopify.com";
1990  window.Shopify.MCP.mcpEndpoint = "https:\/\/luxupur.de\/api\/mcp";
1991  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?\"\nSet policy_types to also get the store's written policies (full text and URL).\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."},"policy_types":{"type":"array","items":{"type":"string","enum":["refund","shipping","privacy","terms_of_service","terms_of_sale","subscription","legal_notice","contact"]},"description":"Policy kinds to fetch, chosen from the user's question — e.g. [\"refund\"] for returns\/exchanges\/damaged items, [\"contact\"] for phone\/hours\/address. Include every kind the question touches. Omit it to get only FAQ answers."}},"required":["query"]}}];
1992</script>
vendor: 1 bytes, line 1992
1992
1993<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("\/\/luxupur.de\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})();
1994</script>
vendor: 1 bytes, line 1994
1994
1995<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://luxupur.de/cdn/shopifycloud/portable-wallets/latest/portable-wallets.de.js",t.type="module",document.head.appendChild(t)}};
1996</script>
vendor: 1 bytes, line 1996
1996
1997<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
1998  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);
1999</script>
vendor: 1 bytes, line 1999
1999
2000<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})}}));
2001</script>
vendor: 1 bytes, line 2001
2001
2002<script id='scb4127' type='text/javascript' async='' src='https://luxupur.de/cdn/shopifycloud/privacy-banner/storefront-banner.js'></script>
2002<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://luxupur.de/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous">
2003<style id="shopify-accelerated-checkout-cart">
2004        #shopify-buyer-consent {
2005  margin-top: 1em;
2006  display: inline-block;
2007  width: 100%;
2008}
2009
2010#shopify-buyer-consent.hidden {
2011  display: none;
2012}
2013
2014#shopify-subscription-policy-button {
2015  background: none;
2016  border: none;
2017  padding: 0;
2018  text-decoration: underline;
2019  font-size: inherit;
2020  cursor: pointer;
2021}
2022
2023#shopify-subscription-policy-button::before {
2024  box-shadow: none;
2025}
2026
2027      </style>
2028<link rel="stylesheet" media="screen" href="//luxupur.de/cdn/shop/t/97/compiled_assets/styles.css?v=9608100074363935081790678889">
2029<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
2029
2030
2031
2032
2033
2034
2035
2036<script
2037src="https://www.paypal.com/sdk/js?client-id=BAAdUogQnBvnWQsF0SCxUBAe93It8Un_s6YzNXARkSnx19Skr3tO4B5HxuLnJ9TWXK3gqyTtif9NlHUza8&currency=EUR&components=messages"
2038data-namespace="PayPalSDK">
2039</script>
2039
2040
2041
2042
2043  <!-- BEGIN app block: shopify://apps/mable/blocks/inject-log-script/369b4fed-dc17-45bb-b0b6-5cf0837c7ccb -->
2044
2045
2046
2047<script>
2048  localStorage.setItem('wtag_shp_mkt', JSON.stringify({
2049        handle: 'de',
2050        id: '94288183560',
2051        region: 'Deutschland',
2052  }));
2053  localStorage.setItem('wtag_shp_ext_id', 'AL2ZKcUNwZUZYbnlBU__12634813005945594690');
2054</script>
2054
2055
2056<script type='text/javascript' id='wgs-wrapper-prod'>(()=>{var e="/apps/m2/static2/wtag-shpfy.js?uid=ahsvz2-1w.myshopify.com",t="wgs-script-prod";function r(e,t){if(!document.getElementById(t)){var r=document.createElement("script");r.src=e,r.id=t,r.async=!0,r.type="text/javascript",document.head.appendChild(r)}}var a="wgs_cpx_loaded_prod";function n(){var e;return"true"===(localStorage.getItem(a)||"false")}if(n())localStorage.removeItem(a),r(e,t);else var i=setInterval(()=>{n()&&(clearInterval(i),localStorage.removeItem(a),r(e,t))},200)})();</script>
2056
2057<!-- END app block --><!-- BEGIN app block: shopify://apps/judge-me-reviews/blocks/judgeme_core/61ccd3b1-a9f2-4160-9fe9-4fec8413e5d8 --><!-- Start of Judge.me Core -->
2058
2059
2060
2061
2062
2063
2064
2065<link rel="dns-prefetch" href="https://cdn.judge.me">
2066<link rel="dns-prefetch" href="https://cdn1.judge.me">
2067<link rel="dns-prefetch" href="https://api.judge.me">
2068
2069<script data-cfasync='false' class='jdgm-settings-script'>window.jdgmSettings={"pagination":5,"disable_web_reviews":false,"coupon_receiving_condition":"any_review","coupon_value_type":"percentage","coupon_value_percentage":10,"coupon_value_fixed_amount":0,"coupon_discount_type":"single","coupon_tier_text_enabled":false,"coupon_tier_text_percentage":10,"coupon_tier_text_fixed_amount":0,"coupon_tier_photo_enabled":false,"coupon_tier_photo_percentage":10,"coupon_tier_photo_fixed_amount":0,"coupon_tier_video_enabled":false,"coupon_tier_video_percentage":10,"coupon_tier_video_fixed_amount":0,"enable_coupons":false,"badge_no_review_text":"Keine Bewertungen","badge_n_reviews_text":"{{ n }} Bewertung/Bewertungen","hide_badge_preview_if_no_reviews":true,"badge_hide_text":false,"enforce_center_preview_badge":false,"widget_title":"Kundenbewertungen","widget_open_form_text":"Bewertung schreiben","widget_close_form_text":"Bewertung abbrechen","widget_refresh_page_text":"Seite aktualisieren","widget_summary_text":"Basierend auf {{ number_of_reviews }} Bewertung/Bewertungen","widget_no_review_text":"Schreiben Sie die erste Bewertung","widget_name_field_text":"Anzeigename","widget_verified_name_field_text":"Verifizierter Name (öffentlich)","widget_name_placeholder_text":"Anzeigename","widget_required_field_error_text":"Dieses Feld ist erforderlich.","widget_email_field_text":"E-Mail-Adresse","widget_verified_email_field_text":"Verifizierte E-Mail (privat, kann nicht bearbeitet werden)","widget_email_placeholder_text":"Ihre E-Mail-Adresse","widget_email_field_error_text":"Bitte geben Sie eine gültige E-Mail-Adresse ein.","widget_rating_field_text":"Bewertung","widget_review_title_field_text":"Bewertungstitel","widget_review_title_placeholder_text":"Geben Sie Ihrer Bewertung einen Titel","widget_review_body_field_text":"Bewertungsinhalt","widget_review_body_placeholder_text":"Beginnen Sie hier zu schreiben...","widget_pictures_field_text":"Bild/Video (optional)","widget_submit_review_text":"Bewertung abschicken","widget_submit_verified_review_text":"Verifizierte Bewertung abschicken","widget_submit_success_msg_with_auto_publish":"Vielen Dank! Bitte aktualisieren Sie die Seite in wenigen Momenten, um Ihre Bewertung zu sehen. Sie können Ihre Bewertung entfernen oder bearbeiten, indem Sie sich bei \u003ca href='https://judge.me/login' target='_blank' rel='nofollow noopener'\u003eJudge.me\u003c/a\u003e anmelden","widget_submit_success_msg_no_auto_publish":"Vielen Dank! Ihre Bewertung wird veröffentlicht, sobald sie vom Shop-Administrator genehmigt wurde. Sie können Ihre Bewertung entfernen oder bearbeiten, indem Sie sich bei \u003ca href='https://judge.me/login' target='_blank' rel='nofollow noopener'\u003eJudge.me\u003c/a\u003e anmelden","widget_show_default_reviews_out_of_total_text":"Es werden {{ n_reviews_shown }} von {{ n_reviews }} Bewertungen angezeigt.","widget_show_all_link_text":"Alle anzeigen","widget_show_less_link_text":"Weniger anzeigen","widget_author_said_text":"{{ reviewer_name }} sagte:","widget_days_text":"vor {{ n }} Tag/Tagen","widget_weeks_text":"vor {{ n }} Woche/Wochen","widget_months_text":"vor {{ n }} Monat/Monaten","widget_years_text":"vor {{ n }} Jahr/Jahren","widget_yesterday_text":"Gestern","widget_today_text":"Heute","widget_replied_text":"\u003e\u003e {{ shop_name }} antwortete:","widget_read_more_text":"Mehr lesen","widget_reviewer_name_as_initial":"","widget_rating_filter_color":"#fbcd0a","widget_rating_filter_see_all_text":"Alle Bewertungen anzeigen","widget_sorting_most_recent_text":"Neueste","widget_sorting_highest_rating_text":"Höchste Bewertung","widget_sorting_lowest_rating_text":"Niedrigste Bewertung","widget_sorting_with_pictures_text":"Nur Bilder","widget_sorting_most_helpful_text":"Hilfreichste","widget_open_question_form_text":"Eine Frage stellen","widget_reviews_subtab_text":"Bewertungen","widget_questions_subtab_text":"Fragen","widget_question_label_text":"Frage","widget_answer_label_text":"Antwort","widget_question_placeholder_text":"Schreiben Sie hier Ihre Frage","widget_submit_question_text":"Frage absenden","widget_question_submit_success_text":"Vielen Dank für Ihre Frage! Wir werden Sie benachrichtigen, sobald sie beantwortet wird.","verified_badge_text":"Verifiziert","verified_badge_bg_color":"","verified_badge_text_color":"","verified_badge_placement":"left-of-reviewer-name","widget_review_max_height":"","widget_hide_border":false,"widget_social_share":false,"widget_thumb":false,"widget_review_location_show":false,"widget_location_format":"","all_reviews_include_out_of_store_products":true,"all_reviews_out_of_store_text":"(außerhalb des Shops)","all_reviews_pagination":100,"all_reviews_product_name_prefix_text":"über","enable_review_pictures":true,"enable_question_anwser":false,"widget_theme":"default","review_date_format":"mm/dd/yyyy","default_sort_method":"most-recent","enable_ai_review_visibility":true,"widget_product_reviews_subtab_text":"Produktbewertungen","widget_shop_reviews_subtab_text":"Shop-Bewertungen","widget_other_products_reviews_text":"Be
2069wertungen für andere Produkte","widget_store_reviews_subtab_text":"Shop-Bewertungen","widget_product_variant_reference_text":"Bewertung für","widget_no_store_reviews_text":"Dieser Shop hat noch keine Bewertungen erhalten","widget_web_restriction_product_reviews_text":"Dieses Produkt hat noch keine Bewertungen erhalten","widget_no_items_text":"Keine Elemente gefunden","widget_show_more_text":"Mehr anzeigen","widget_write_a_store_review_text":"Shop-Bewertung schreiben","widget_product_and_store_reviews_text":"Produkt- und Shop-Bewertungen","widget_reviews_in_collection_text":"Bewertungen in dieser Kollektion","widget_other_languages_heading":"Bewertungen in anderen Sprachen","widget_translate_review_text":"Bewertung übersetzen nach {{ language }}","widget_translating_review_text":"Übersetzung läuft...","widget_show_original_translation_text":"Original anzeigen ({{ language }})","widget_translate_review_failed_text":"Bewertung konnte nicht übersetzt werden.","widget_translate_review_retry_text":"Erneut versuchen","widget_translate_review_try_again_later_text":"Versuchen Sie es später noc
2069h einmal","show_product_url_for_grouped_product":false,"widget_sorting_pictures_first_text":"Bilder zuerst","show_pictures_on_all_rev_page_mobile":false,"show_pictures_on_all_rev_page_desktop":false,"floating_tab_hide_mobile_install_preference":false,"floating_tab_button_name":"★ Bewertungen","floating_tab_title":"Lassen Sie Kunden für uns sprechen","floating_tab_button_color":"","floating_tab_button_background_color":"","floating_tab_url":"","floating_tab_url_enabled":false,"floating_tab_tab_style":"text","all_reviews_text_badge_text":"Kunden bewerten uns mit {{ shop.metafields.judgeme.all_reviews_rating | round: 1 }}/5 basierend auf {{ shop.metafields.judgeme.all_reviews_count }} Bewertungen.","all_reviews_text_badge_text_branded_style":"{{ shop.metafields.judgeme.all_reviews_rating | round: 1 }} von 5 Sternen basierend auf {{ shop.metafields.judgeme.all_reviews_count }} Bewertungen","is_all_reviews_text_badge_a_link":false,"show_stars_for_all_reviews_text_badge":false,"all_reviews_text_badge_url":"","all_reviews_text_style":"branded","all_reviews_text_color_style":"judgeme_brand_color","all_reviews_text_color":"#108474","all_reviews_text_show_jm_brand":false,"featured_carousel_show_header":true,"featured_carousel_title":"Lassen Sie Kunden für uns sprechen","testimonials_carousel_title":"Kunden sagen uns","videos_carousel_title":"Echte Kunden-Geschichten","cards_carousel_title":"Kunden sagen uns","featured_carousel_count_text":"aus {{ n }} Bewertungen","featured_carousel_add_link_to_all_reviews_page":false,"featured_carousel_url":"","featured_carousel_show_images":true,"featured_carousel_autoslide_interval":5,"featured_carousel_arrows_on_the_sides":false,"featured_carousel_height":250,"featured_carousel_width":80,"featured_carousel_image_size":0,"featured_carousel_image_height":250,"featured_carousel_arrow_color":"#eeeeee","verified_count_badge_style":"branded","verified_count_badge_orientation":"horizontal","verified_count_badge_color_style":"judgeme_brand_color","verified_count_badge_color":"#108474","is_verified_count_badge_a_link":false,"verified_count_badge_url":"","verified_count_badge_show_jm_brand":true,"widget_rating_preset_default":5,"widget_first_sub_tab":"product-reviews","widget_show_histogram":true,"widget_histogram_use_custom_color":false,"widget_pagination_use_custom_color":false,"widget_star_use_custom_color":false,"widget_verified_badge_use_custom_color":false,"widget_write_review_use_custom_color":false,"picture_reminder_submit_button":"Upload Pictures","enable_review_videos":true,"mute_video_by_default":false,"widget_sorting_videos_first_text":"Videos zuerst","widget_review_pending_text":"Ausstehend","featured_carousel_items_for_large_screen":3,"social_share_options_order":"Facebook,Twitter","remove_microdata_snippet":true,"disable_json_ld":false,"enable_json_ld_products":false,"preview_badge_show_question_text":false,"preview_badge_no_question_text":"Keine Fragen","preview_badge_n_question_text":"{{ number_of_questions }} Frage/Fragen","qa_badge_show_icon":false,"qa_badge_position":"same-row","remove_judgeme_branding":false,"widget_add_search_bar":false,"widget_search_bar_placeholder":"Suchen","widget_sorting_verified_only_text":"Nur verifizierte","widget_sorting_most_relevant_text":"Relevanteste","featured_carousel_theme":"default","featured_carousel_show_rating":true,"featured_carousel_show_title":true,"featured_carousel_show_body":true,"featured_carousel_show_date":false,"featured_carousel_show_reviewer":true,"featured_carousel_show_product":false,"featured_carousel_header_background_color":"#108474","featured_carousel_header_text_color":"#ffffff","featured_carousel_name_product_separator":"reviewed","featured_carousel_full_star_background":"#108474","featured_carousel_empty_star_background":"#dadada","featured_carousel_vertical_theme_background":"#f9fafb","featured_carousel_verified_badge_enable":true,"featured_carousel_verified_badge_color":"#108474","featured_carousel_border_style":"round","featured_carousel_review_line_length_limit":3,"featured_carousel_more_reviews_button_text":"Mehr Bewertungen lesen","featured_carousel_view_product_button_text":"Produkt ansehen","all_reviews_page_load_reviews_on":"scroll","all_reviews_page_load_more_text":"Mehr Bewertungen laden","disable_fb_tab_reviews":false,"enable_ajax_cdn_cache":false,"widget_advanced_speed_features":5,"widget_public_name_text":"wird öffentlich angezeigt wie","default_reviewer_name":"John Smith","default_reviewer_name_has_non_latin":true,"widget_reviewer_anonymous":"Anonym","medals_widget_title":"Judge.me Bewertungsmedaillen","medals_widget_background_color":"#f9fafb","medals_widget_position":"footer_all_pages","medals_widget_border_color":"#f9fafb","medals_widget_verified_text_position":"left","medals_widget_use_monochromatic_version":false,"medals_widget_elements_color":"#108474","show_reviewer_avatar":true,"widget_invalid_yt_video_url_error_text":"Keine YouTube-Video-URL","widget_max_length_field_error_text":"Bitte geben Sie nicht mehr als {0} Zeichen ein.","widget_show_country_flag":false,"widget_show_collected_via_shop_app":true,"widget_verified_by_shop_badge_style":"light","widget_verified_by_shop_text":"Verifiziert vom Shop","widget_show_photo_gallery":true,"widget_load_with_code_splitting":true,"widget_ugc_install_preference":false,"widget_ugc_title":"Von uns hergestellt, von Ihnen geteilt","widget_ugc_subt
2069itle":"Markieren Sie uns, um Ihr Bild auf unserer Seite zu sehen","widget_ugc_arrows_color":"#ffffff","widget_ugc_primary_button_text":"Jetzt kaufen","widget_ugc_primary_button_background_color":"#108474","widget_ugc_primary_button_text_color":"#ffffff","widget_ugc_primary_button_border_width":"0","widget_ugc_primary_button_border_style":"none","widget_ugc_primary_button_border_color":"#108474","widget_ugc_primary_button_border_radius":"25","widget_ugc_secondary_button_text":"Mehr laden","widget_ugc_secondary_button_background_color":"#ffffff","widget_ugc_secondary_button_text_color":"#108474","widget_ugc_secondary_button_border_width":"2","widget_ugc_secondary_button_border_style":"solid","widget_ugc_secondary_button_border_color":"#108474","widget_ugc_secondary_button_border_radius":"25","widget_ugc_reviews_button_text":"Bewertungen ansehen","widget_ugc_reviews_button_background_color":"#ffffff","widget_ugc_reviews_button_text_color":"#108474","widget_ugc_reviews_button_border_width":"2","widget_ugc_reviews_button_border_style":"solid","widget_ugc_reviews_button_border_color":"#108474","widget_ugc_reviews_button_border_radius":"25","widget_ugc_reviews_button_link_to":"judgeme-reviews-page","widget_ugc_show_post_date":true,"widget_ugc_max_width":"800","widget_rating_metafield_value_type":true,"widget_primary_color":"#108474","widget_enable_secondary_color":false,"widget_secondary_color":"#edf5f5","widget_summary_average_rating_text":"{{ average_rating }} von 5","widget_media_grid_title":"Kundenfotos \u0026 -videos","widget_media_grid_see_more_text":"Mehr sehen","widget_round_style":false,"widget_show_product_medals":true,"widget_verified_by_judgeme_text":"Verifiziert von Judge.me","widget_show_store_medals":true,"widget_verified_by_judgeme_text_in_store_medals":"Verifiziert von Judge.me","widget_media_field_exceed_quantity_message":"Entschuldigung, wir können nur {{ max_media }} für eine Bewertung akzeptieren.","widget_media_field_exceed_limit_message":"{{ file_name }} ist zu groß, bitte wählen Sie ein {{ media_type }} kleiner als {{ size_limit }}MB.","widget_review_submitted_text":"Bewertung abgesendet!","widget_question_submitted_text":"Frage abgesendet!","widget_close_form_text_question":"Abbrechen","widget_write_your_answer_here_text":"Schreiben Sie hier Ihre Antwort","widget_enabled_branded_link":true,"widget_show_collected_by_judgeme":false,"widget_reviewer_name_color":"","widget_write_review_text_color":"","widget_write_review_bg_color":"","widget_collected_by_judgeme_text":"gesammelt von Judge.me","widget_pagination_type":"standard","widget_load_more_text":"Mehr laden","widget_load_more_color":"#108474","widget_full_review_text":"Vollständige Bewertung","widget_read_more_reviews_text":"Mehr Bewertungen lesen","widget_read_questions_text":"Fragen lesen","widget_questions_and_answers_text":"Fragen \u0026 Antworten","widget_verified_by_text":"Verifiziert von","widget_verified_text":"Verifiziert","widget_number_of_reviews_text":"{{ number_of_reviews }} Bewertungen","widget_back_button_text":"Zurück","widget_next_button_text":"Weiter","widget_custom_forms_filter_button":"Filter","custom_forms_style":"horizontal","widget_show_review_information":false,"how_reviews_are_collected":"Wie werden Bewertungen gesammelt?","widget_show_review_keywords":false,"widget_gdpr_statement":"Wie wir Ihre Daten verwenden: Wir kontaktieren Sie nur bezüglich der von Ihnen abgegebenen Bewertung und nur, wenn nötig. Durch das Absenden Ihrer Bewertung stimmen Sie den \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003eNutzungsbedingungen\u003c/a\u003e, der \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eDatenschutzrichtlinie\u003c/a\u003e und den \u003ca href='https://judge.me/content-policy' target='_blank' rel='nofollow noopener'\u003eInhaltsrichtlinien\u003c/a\u003e von Judge.me zu.","widget_multilingual_sorting_enabled":false,"widget_translate_review_content_enabled":false,"widget_translate_review_content_method":"manual","popup_widget_review_selection":"automatically_with_pictures","popup_widget_round_border_style":true,"popup_widget_show_title":true,"popup_widget_show_body":true,"popup_widget_show_reviewer":false,"popup_widget_show_product":true,"popup_widget_show_pictures":true,"popup_widget_use_review_picture":true,"popup_widget_show_on_home_page":true,"popup_widget_show_on_product_page":true,"popup_widget_show_on_collection_page":true,"popup_widget_show_on_cart_page":true,"popup_widget_position":"bottom_left","popup_widget_first_review_delay":5,"popup_widget_duration":5,"popup_widget_interval":5,"popup_widget_review_count":5,"popup_widget_hide_on_mobile":true,"popup_widget_source_mode":"auto","popup_widget_page_product":"current_product","popup_widget_page_collection":"current_collection","popup_widget_page_cart":"cart_mode","popup_widget_page_home":"all","popup_widget_star_rating":"all","popup_widget_review_type":"all","popup_widget_top_up_thin_pages":true,"popup_widget_corner_styling":"soft","review_snippet_widget_round_border_style":true,"review_snippet_widget_card_color":"#FFFFFF","review_snippet_widget_text_color":"#000000","review_snippet_widget_lighter_text_color":"#7B7B7B","review_snippet_widget_slider_arrows_background_color":"#FFFFFF","review_snippet_widget_slider_arrows_color":"#000000","review_snippet_widget_star_color":"#108474","show_product_variant":false,"all_reviews_product_variant_label_text":"Variante: ","widget_show_verified_branding":true,"widget_ai_summary_title":"Kunden sagen","widget_ai_summary_disclaimer":"Von KI zusammengefasst und ausgewählt aus aktuellen Kundenbewertungen","widget_show_ai_summary":false,"widget_show_ai_summary_bg":false,"write_review_button_visibility":"everyone","store_summary_widget_heading":"Kunden bewerten die
2069sen Shop","store_summary_widget_button_text":"Kundenbewertungen ansehen","store_summary_widget_button_theme_text":"KI-Bewertungszusammenfassung ansehen","widget_show_review_title_input":false,"widget_autofill_review_title":true,"redirect_reviewers_invited_via_email":"external_form","request_store_review_after_product_review":true,"request_review_other_products_in_order":true,"review_form_color_scheme":"default","review_form_corner_style":"square","review_form_star_color":"#108474","review_form_text_color":"#333333","review_form_background_color":"#ffffff","review_form_field_background_color":"#fafafa","review_form_button_color":"#108474","review_form_button_text_color":"#ffffff","review_form_modal_overlay_color":"#000000","review_form_theme":"multi_step","review_form_location":"in_store_popup","review_form_external_page_background_color":"#C5F7F0","review_content_screen_title_text":"Wie würden Sie dieses Produkt bewerten?","review_content_introduction_text":"Wir würden uns freuen, wenn Sie etwas über Ihre Erfahrung teilen würden.","store_review_form_title_text":"Wie würden Sie diesen Shop bewerten?","store_review_form_introduction_text":"Wir würden uns freuen, wenn Sie etwas über Ihre Erfahrung teilen würden.","show_review_guidance_text":true,"one_star_review_guidance_text":"Schlecht","five_star_review_guidance_text":"Großartig","customer_information_screen_title_text":"Über Sie","customer_information_introduction_text":"Bitte teilen Sie uns mehr über sich mit.","custom_questions_screen_title_text":"Ihre Erfahrung im Detail","custom_questions_introduction_text":"Hier sind einige Fragen, die uns helfen, mehr über Ihre Erfahrung zu verstehen.","review_submitted_screen_title_text":"Vielen Dank für Ihre Bewertung!","review_submitted_screen_thank_you_text":"Wir verarbeiten sie und sie wird bald im Shop erscheinen.","review_submitted_screen_email_verification_text":"Bitte bestätigen Sie Ihre E-Mail-Adresse, indem Sie auf den Link klicken, den wir Ihnen gerade gesendet haben. Dies hilft uns, die Bewertungen authentisch zu halten.","confirm_email_screen_title_text":"Bestätigen Sie Ihre E-Mail","confirm_email_screen_message_text":"Um Bewertungen authentisch zu halten, senden wir Ihnen einen sicheren Link zum Weiterschreiben Ihrer Bewertung. Es dauert nur einen Moment.","check_email_screen_title_text":"Überprüfen Sie Ihre E-Mail","check_email_screen_message_text":"Wir haben Ihnen eine E-Mail an {{ email }} gesendet. Klicken Sie auf die Schaltfläche in der E-Mail, um fortzufahren.","check_email_screen_resend_message_text":"E-Mail erneut gesendet!","check_email_resend_hint_text":"E-Mail nicht erhalten? Überprüfen Sie Ihren Spam-Ordner oder [senden Sie die E-Mail erneut].","verification_email_rate_limit_error_text":"Sie haben das Limit für Bewertungsversuche für dieses Produkt erreicht. Bitte überprüfen Sie Ihren Posteingang oder versuchen Sie es später erneut.","review_submitted_request_store_review_text":"Möchten Sie Ihre Erfahrung beim Einkaufen bei uns teilen?","review_submitted_review_other_products_text":"Möchten Sie diese Produkte bewerten?","store_review_screen_title_text":"Möchten Sie Ihre Erfahrung mit uns teilen?","store_review_introduction_text":"Wir würden uns freuen, wenn Sie etwas über Ihre Erfahrung teilen würden.","reviewer_media_screen_title_picture_text":"Bild teilen","reviewer_media_introduction_picture_text":"Laden Sie ein Foto hoch, um Ihre Bewertung zu unterstützen.","reviewer_media_screen_title_video_text":"Video teilen","reviewer_media_introduction_video_text":"Laden Sie ein Video hoch, um Ihre Bewertung zu unterstützen.","reviewer_media_screen_title_picture_or_video_text":"Bild oder Video teilen","reviewer_media_introduction_picture_or_video_text":"Laden Sie ein Foto oder Video hoch, um Ihre Bewertung zu unterstützen.","reviewer_media_youtube_url_text":"Fügen Sie hier Ihre Youtube-URL ein","advanced_settings_next_step_button_text":"Weiter","advanced_settings_close_review_button_text":"Schließen","modal_write_review_flow":true,"write_review_flow_required_text":"Erforderlich","write_review_flow_privacy_message_text":"Wir respektieren Ihre Privatsphäre.","write_review_flow_anonymous_text":"Be
2069wertung als anonym","write_review_flow_visibility_text":"Dies wird nicht für andere Kunden sichtbar sein.","write_review_flow_multiple_selection_help_text":"Wählen Sie so viele aus, wie Sie möchten","write_review_flow_single_selection_help_text":"Wählen Sie eine Option","write_review_flow_required_field_error_text":"Dieses Feld ist erforderlich","write_review_flow_invalid_email_error_text":"Bitte geben Sie eine gültige E-Mail-Adresse ein","write_review_flow_max_length_error_text":"Max. {{ max_length }} Zeichen.","write_review_flow_media_upload_text":"\u003cb\u003eZum Hochladen klicken\u003c/b\u003e oder ziehen und ablegen","write_review_flow_gdpr_statement":"Wir kontaktieren Sie nur bei Bedarf bezüglich Ihrer Bewertung. Mit dem Absenden Ihrer Bewertung stimmen Sie unseren \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003eGeschäftsbedingungen\u003c/a\u003e und unserer \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eDatenschutzrichtlinie\u003c/a\u003e zu.","rating_only_reviews_enabled":false,"show_negative_reviews_help_screen":false,"new_review_flow_help_screen_rating_threshold":3,"negative_review_resolution_screen_title_text":"Erzählen Sie uns mehr","negative_review_resolution_text":"Ihre Erfahrung ist uns wichtig. Falls es Probleme mit Ihrem Kauf gab, sind wir hier, um zu helfen. Zögern Sie nicht, uns zu kontaktieren, wir würden gerne die Gelegenheit haben, die Dinge zu korrigieren.","negative_review_resolution_button_text":"Kontaktieren Sie uns","negative_review_resolution_proceed_with_review_text":"Hinterlassen Sie eine Bewertung","negative_review_resolution_subject":"Problem mit dem Kauf von {{ shop_name }}.{{ order_name }}","coupon_promo_intro_any_review_text":"Schreiben Sie eine Bewertung und erhalten Sie einen Gutschein über {{ amount }} Rabatt auf Ihren nächsten Einkauf","coupon_promo_intro_with_photo_text":"Schreiben Sie eine Bewertung und fügen Sie ein Foto oder Video hinzu, um einen Gutschein über {{ amount }} Rabatt auf Ihren nächsten Einkauf zu erhalten","coupon_promo_intro_with_video_text":"Schreiben Sie eine Bewertung und fügen Sie ein Video hinzu, um einen Gutschein über {{ amount }} Rabatt auf Ihren nächsten Einkauf zu erhalten","coupon_promo_intro_up_to_any_review_text":"Schreiben Sie eine Bewertung und erhalten Sie einen Gutschein über bis zu {{ amount }} Rabatt auf Ihren nächsten Einkauf","coupon_promo_intro_up_to_with_photo_text":"Schreiben Sie eine Bewertung und fügen Sie ein Foto oder Video hinzu, um einen Gutschein über bis zu {{ amount }} Rabatt auf Ihren nächsten Einkauf zu erhalten","coupon_promo_intro_external_text":"Schreiben Sie eine Bewertung und erhalten Sie eine Belohnung für Ihren nächsten Einkauf","coupon_promo_intro_external_with_photo_text":"Schreiben Sie eine Bewertung und fügen Sie ein Foto oder Video hinzu, um eine Belohnung für Ihren nächsten Einkauf zu erhalten","coupon_promo_intro_external_with_video_text":"Schreiben Sie eine Bewertung und fügen Sie ein Video hinzu, um eine Belohnung für Ihren nächsten Einkauf zu erhalten","coupon_promo_media_photo_text":"Fügen Sie ein Foto oder Video hinzu und erhalten Sie einen Gutschein über {{ amount }} Rabatt auf Ihren nächsten Einkauf","coupon_promo_media_photo_only_text":"Fügen Sie ein Foto hinzu und erhalten Sie einen Gutschein über {{ amount }} Rabatt auf Ihren nächsten Einkauf","coupon_promo_media_video_text":"Fügen Sie ein Video hinzu und erhalten Sie einen Gutschein über {{ amount }} Rabatt auf Ihren nächsten Einkauf","coupon_promo_media_external_photo_text":"Fügen Sie ein Foto oder Video hinzu und erhalten Sie eine Belohnung für Ihren nächsten Einkauf","coupon_promo_media_external_photo_only_text":"Fügen Sie ein Foto hinzu und erhalten Sie eine Belohnung für Ihren nächsten Einkauf","coupon_promo_media_external_video_text":"Fügen Sie ein Video hinzu und erhalten Sie eine Belohnung für Ihren nächsten Einkauf","coupon_promo_success_text":"Sie haben einen Gutschein für Ihren nächsten Einkauf bei {{ shop_name }} erhalten!","coupon_promo_success_subtext":"Sie erhalten Ihre Gutschein-E-Mail innerhalb einer Stunde.","preview_badge_collection_page_install_status":false,"widget_review_custom_css":"","preview_badge_custom_css":"","preview_badge_stars_count":"5-stars","featured_carousel_custom_css":"","floating_tab_custom_css":"","all_reviews_widget_custom_css":"","medals_widget_custom_css":"","verified_badge_custom_css":"","all_reviews_text_custom_css":"","transparency_badges_collected_via_store_invite":false,"transparency_badges_from_another_provider":false,"transparency_badges_collected_from_store_visitor":false,"transparency_badges_collected_by_verified_review_provider":true,"transparency_badges_earned_reward":false,"transparency_badges_collected_via_store_invite_text":"Be
2069wertung gesammelt durch eine Einladung zum Shop","transparency_badges_from_another_provider_text":"Bewertung gesammelt von einem anderen Anbieter","transparency_badges_collected_from_store_visitor_text":"Bewertung gesammelt von einem Shop-Besucher","transparency_badges_written_in_google_text":"Bewertung in Google geschrieben","transparency_badges_written_in_etsy_text":"Bewertung in Etsy geschrieben","transparency_badges_written_in_shop_app_text":"Bewertung in Shop App geschrieben","transparency_badges_earned_reward_text":"Bewerter erhielt einen Rabattcode für eine zukünftige Bestellung","product_review_widget_per_page":10,"widget_other_languages_reviews_per_page":3,"widget_store_review_label_text":"Shop-Bewertung","widget_cart_mode_aggregate_heading_text":"Kunden bewerten diesen Shop","checkout_comment_extension_title_on_product_page":"Customer Comments","checkout_comment_extension_num_latest_comment_show":5,"checkout_comment_extension_format":"name_and_timestamp","checkout_comment_customer_name":"last_initial","checkout_comment_comment_notification":true,"preview_badge_collection_page_install_preference":false,"preview_badge_home_page_install_preference":false,"preview_badge_product_page_install_preference":false,"review_widget_install_preference":"","review_carousel_install_preference":false,"floating_reviews_tab_install_preference":"none","verified_reviews_count_badge_install_preference":false,"all_reviews_text_install_preference":false,"review_widget_best_location":false,"judgeme_medals_install_preference":false,"review_widget_revamp_enabled":true,"review_widget_qna_enabled":false,"review_widget_revamp_dual_publish_end_date":"2026-08-29T00:31:50.000+00:00","review_widget_header_theme":"minimal","review_widget_widget_title_enabled":true,"review_widget_header_text_size":"medium","review_widget_header_text_weight":"regular","review_widget_average_rating_style":"compact","review_widget_bar_chart_enabled":true,"review_widget_bar_chart_type":"numbers","review_widget_bar_chart_style":"standard","review_widget_expanded_media_gallery_enabled":false,"review_widget_show_review_highlights":false,"review_widget_show_review_keywords_in_gray":false,"review_widget_reviews_section_theme":"standard","review_widget_image_style":"thumbnails","review_widget_review_image_ratio":"square","review_widget_stars_size":"medium","review_widget_verified_badge":"standard_text","review_widget_review_title_text_size":"medium","review_widget_review_text_size":"medium","review_widget_review_text_length":"medium","review_widget_number_of_columns_desktop":3,"review_widget_carousel_transition_speed":5,"review_widget_custom_questions_answers_display":"always","review_widget_card_section_size":"small","review_widget_button_text_color":"#FFFFFF","review_widget_text_color":"#000000","review_widget_lighter_text_color":"#7B7B7B","review_widget_corner_styling":"soft","review_widget_review_word_singular":"Bewertung","review_widget_review_word_plural":"Bewertungen","review_widget_voting_label":"Hilfreich?","review_widget_shop_reply_label":"Antwort von {{ shop_name }}:","review_widget_filters_title":"Filter","review_widget_filter_rating_title":"Bewertung","review_widget_filter_keyword_title":"Stichwort","review_widget_clear_filters_text":"Filter löschen","review_widget_expand_more_text":"Mehr","review_widget_review_highlights_title":"Bewertungs-Highlights","qna_widget_question_word_singular":"Frage","qna_widget_question_word_plural":"Fragen","qna_widget_answer_reply_label":"Antwort von {{ answerer_name }}:","qna_content_screen_title_text":"Frage dieses Produkts stellen","qna_widget_question_required_field_error_text":"Bitte geben Sie Ihre Frage ein.","qna_widget_flow_gdpr_statement":"Wir kontaktieren Sie nur bei Bedarf bezüglich Ihrer Frage. Mit dem Absenden Ihrer Frage stimmen Sie unseren \u003ca href='https://judge.me/terms' target='_blank' rel='nofollow noopener'\u003eGeschäftsbedingungen\u003c/a\u003e und unserer \u003ca href='https://judge.me/privacy' target='_blank' rel='nofollow noopener'\u003eDatenschutzrichtlinie\u003c/a\u003e zu.","qna_widget_question_submitted_text":"Danke für Ihre Frage!","qna_widget_close_form_text_question":"Schließen","qna_widget_question_submit_success_text":"Wir werden Ihnen per E-Mail informieren, wenn wir Ihre Frage beantworten.","all_reviews_widget_v2025_enabled":false,"all_reviews_widget_v2025_header_theme":"default","all_reviews_widget_v2025_widget_title_enabled":true,"all_reviews_widget_v2025_header_text_size":"medium","all_reviews_widget_v2025_header_text_weight":"regular","all_reviews_widget_v2025_average_rating_style":"compact","all_reviews_widget_v2025_bar_chart_enabled":true,"all_reviews_widget_v2025_bar_chart_type":"numbers","all_reviews_widget_v2025_bar_chart_style":"standard","all_reviews_widget_v2025_expanded_media_gallery_enabled":false,"all_reviews_widget_v2025_show_store_medals":true,"all_reviews_widget_v2025_show_photo_gallery":true,"all_reviews_widget_v2025_show_review_keywords":false,"all_reviews_widget_v2025_show_ai_summary":false,"all_reviews_widget_v2025_show_ai_summary_bg":false,"all_reviews_widget_v2025_show_review_highlights":false,"all_reviews_widget_v2025_show_review_keywords_in_gray":false,"all_reviews_widget_v2025_add_search_bar":false,"all_reviews_widget_v2025_default_sort_method":"most-recent","all_reviews_widget_v2025_reviews_per_page":10,"all_reviews_widget_v2025_reviews_section_theme":"default","all_reviews_widget_v2025_image_style":"thumbnails","all_reviews_widget_v2025_review_image_ratio":"square","all_reviews_widget_v2025_stars_size":"medium","all_reviews_widget_v2025_verified_badge":"standard_text","all_reviews_widget_v2025_review_title_text_size":"medium","all_reviews_widget_v2025_review_text_size":"medium","all_reviews_widget_v2025_review_text_length":"medium","all_reviews_widget_v2025_
2069number_of_columns_desktop":3,"all_reviews_widget_v2025_carousel_transition_speed":5,"all_reviews_widget_v2025_custom_questions_answers_display":"always","all_reviews_widget_v2025_review_dates":false,"all_reviews_widget_v2025_card_section_size":"small","all_reviews_widget_v2025_show_product_variant":false,"all_reviews_widget_v2025_show_reviewer_avatar":true,"all_reviews_widget_v2025_reviewer_name_as_initial":"","all_reviews_widget_v2025_review_location_show":false,"all_reviews_widget_v2025_location_format":"","all_reviews_widget_v2025_show_country_flag":false,"all_reviews_widget_v2025_widget_thumb":false,"all_reviews_widget_v2025_verified_by_shop_badge_style":"light","all_reviews_widget_v2025_social_share":false,"all_reviews_widget_v2025_social_share_options_order":"Facebook,Twitter,LinkedIn,Pinterest","all_reviews_widget_v2025_pagination_type":"standard","all_reviews_widget_v2025_button_text_color":"#FFFFFF","all_reviews_widget_v2025_text_color":"#000000","all_reviews_widget_v2025_lighter_text_color":"#7B7B7B","all_reviews_widget_v2025_corner_styling":"soft","all_reviews_widget_v2025_title":"Kundenbewertungen","all_reviews_widget_v2025_ai_summary_title":"Kunden sagen über diesen Shop","all_reviews_widget_v2025_no_review_text":"Schreiben Sie die erste Bewertung","all_reviews_widget_v2025_review_highlights_title":"Bewertungs-Highlights","reviews_grid_widget_show_sample_reviews":false,"reviews_grid_widget_review_selection":"all","reviews_grid_widget_select_products":[],"reviews_grid_widget_show_media_only":false,"reviews_grid_widget_display_order":"media_first","reviews_grid_widget_card_grouping":"per_media","reviews_grid_widget_columns_desktop":3,"reviews_grid_widget_rows_desktop":3,"reviews_grid_widget_columns_mobile":2,"reviews_grid_widget_rows_mobile":6,"reviews_grid_widget_show_stars":true,"reviews_grid_widget_show_reviewer_name":true,"reviews_grid_widget_show_review_title_on_hover_desktop":true,"reviews_grid_widget_corner_styling":"soft","reviews_grid_widget_card_spacing":"medium","reviews_grid_widget_header_text_color":"#000000","reviews_grid_widget_star_and_reviewer_name_color":"#F9F9F9","reviews_grid_widget_overlay_and_background_color":"#000000","reviews_grid_widget_content_color":"#F9F9F9","reviews_grid_widget_header_text":"Von unseren Kunden","reviews_grid_widget_show_average_rating":true,"trust_badge_enabled":false,"trust_badge_structure":"outline","trust_badge_color":"black","trust_badge_star":"black","trust_badge_rating_display_default":"show_avg_text","platform":"shopify","branding_url":"https://app.judge.me/reviews","branding_text":"Unterstützt von Judge.me","locale":"en","reply_name":"Luxupur®","shop_currency":"EUR","widget_version":"3.0","footer":true,"autopublish":true,"review_dates":true,"enable_custom_form":false,"shop_locale":"de","enable_multi_locales_translations":false,"show_review_title_input":false,"autofill_review_title":true,"review_verification_email_status":"always","require_verification_before_submit":false,"sign_in_with_shop_enabled":false,"customer_account_validation_enabled":true,"most_relevant_sort_enabled":false,"coupon_promo_invited_eligible":true,"coupon_promo_web_eligible":false,"uses_coupon_integration":false,"uses_external_coupon":false,"can_be_branded":false,"rtl_stars_enabled_ar":true,"rtl_stars_enabled_he":true,"reply_name_text":"Luxupur®"};</script>
2069 <style class='jdgm-settings-style'>.jdgm-xx{left:0}:root{--jdgm-primary-color: #108474;--jdgm-secondary-color: rgba(16,132,116,0.1);--jdgm-star-color: #108474;--jdgm-write-review-text-color: white;--jdgm-write-review-bg-color: #108474;--jdgm-paginate-color: #108474;--jdgm-border-radius: 0;--jdgm-reviewer-name-color: #108474}.jdgm-histogram__bar-content{background-color:#108474}.jdgm-rev[data-verified-buyer=true] .jdgm-rev__icon.jdgm-rev__icon:after,.jdgm-rev__buyer-badge.jdgm-rev__buyer-badge{color:white;background-color:#108474}.jdgm-review-widget--small .jdgm-gallery.jdgm-gallery .jdgm-gallery__thumbnail-link:nth-child(8) .jdgm-gallery__thumbnail-wrapper.jdgm-gallery__thumbnail-wrapper:before{content:"Mehr sehen"}@media only screen and (min-width: 768px){.jdgm-gallery.jdgm-gallery .jdgm-gallery__thumbnail-link:nth-child(8) .jdgm-gallery__thumbnail-wrapper.jdgm-gallery__thumbnail-wrapper:before{content:"Mehr sehen"}}.jdgm-prev-badge[data-average-rating='0.00']{display:none !important}.jdgm-author-all-initials{display:none !important}.jdgm-author-last-initial{display:none !important}.jdgm-rev-widg__title{visibility:hidden}.jdgm-rev-widg__summary-text{visibility:hidden}.jdgm-prev-badge__text{visibility:hidden}.jdgm-rev__prod-link-prefix:before{content:'über'}.jdgm-rev__variant-label:before{content:'Variante: '}.jdgm-rev__out-of-store-text:before{content:'(außerhalb des Shops)'}@media only screen and (min-width: 768px){.jdgm-rev__pics .jdgm-rev_all-rev-page-picture-separator,.jdgm-rev__pics .jdgm-rev__product-picture{display:none}}@media only screen and (max-width: 768px){.jdgm-rev__pics .jdgm-rev_all-rev-page-picture-separator,.jdgm-rev__pics .jdgm-rev__product-picture{display:none}}.jdgm-preview-badge[data-template="product"]{display:none !important}.jdgm-preview-badge[data-template="collection"]{display:none !important}.jdgm-preview-badge[data-template="index"]{display:none !important}.jdgm-review-widget[data-from-snippet="true"]{display:none !important}.jdgm-verified-count-badget[data-from-snippet="true"]{display:none !important}.jdgm-carousel-wrapper[data-from-snippet="true"]{display:none !important}.jdgm-all-reviews-text[data-from-snippet="true"]{display:none !important}.jdgm-medals-section[data-from-snippet="true"]{display:none !important}.jdgm-ugc-media-wrapper[data-from-snippet="true"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_collected_via_store_invitation"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_collected_from_another_provider"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_collected_from_store_visitor"]{display:none !important}.jdgm-rev__transparency-badge[data-badge-type="review_earned_for_future_purchase"]{display:none !important}.jdgm-review-snippet-widget{--jdgm-snippet-card-color: #fff;--jdgm-snippet-text-color: #000;--jdgm-snippet-lighter-text-color: #7B7B7B;--jdgm-snippet-star-color: #108474;--jdgm-snippet-border-radius: 8px;--jdgm-snippet-arrows-bg-color: #fff;--jdgm-snippet-arrows-color: #000}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__cards-container .jdgm-rev-snippet-card{border-radius:8px;background:#fff}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__cards-container .jdgm-rev-snippet-card__rev-rating .jdgm-star{color:#108474}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__prev-btn,.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__next-btn{border-radius:50%;background:#fff}.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__prev-btn>svg,.jdgm-review-snippet-widget .jdgm-rev-snippet-widget__next-btn>svg{fill:#000}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jm-mfp-content,.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev__icon,.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev__pic-img,.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev__reply{border-radius:8px}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev[data-verified-buyer="true"] .jdgm-full-rev__icon::after{border-radius:8px}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev .jdgm-rev__buyer-badge{border-radius:calc( 8px / 2 )}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev .jdgm-full-rev__replier::before{content:'Luxupur®'}.jdgm-full-rev-modal.rev-snippet-widget .jm-mfp-container .jdgm-full-rev .jdgm-full-rev__product-button{border-radius:calc( 8px * 6 )}
2070</style> <style class='jdgm-settings-style'></style>
2071
2072  
2073  
2074  
2075  <style class='jdgm-miracle-styles'>
2076  @-webkit-keyframes jdgm-spin{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);-ms-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes jdgm-spin{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);-ms-transform:rotate(359deg);transform:rotate(359deg)}}@font-face{font-family:'JudgemeStar';src:url("data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAAScAA0AAAAABrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAEgAAAABoAAAAcbyQ+3kdERUYAAARgAAAAHgAAACAAMwAGT1MvMgAAAZgAAABGAAAAVi+vS9xjbWFwAAAB8AAAAEAAAAFKwBMjvmdhc3AAAARYAAAACAAAAAj//wADZ2x5ZgAAAkAAAAEJAAABdH33LXtoZWFkAAABMAAAAC0AAAA2BroQKWhoZWEAAAFgAAAAHAAAACQD5QHQaG10eAAAAeAAAAAPAAAAFAYAAABsb2NhAAACMAAAAA4AAAAOAO4AeG1heHAAAAF8AAAAHAAAACAASgAvbmFtZQAAA0wAAADeAAABkorWfVZwb3N0AAAELAAAACkAAABEp3ubLXgBY2BkYADhPPP4OfH8Nl8ZuJkYQODS2fRrCPr/aSYGxq1ALgcDWBoAO60LkwAAAHgBY2BkYGDc+v80gx4TAwgASaAICmABAFB+Arl4AWNgZGBgYGPQYWBiAAIwyQgWc2AAAwAHVQB6eAFjYGRiYJzAwMrAwejDmMbAwOAOpb8ySDK0MDAwMbByMsCBAAMCBKS5pjA4PGB4wMR44P8BBj3GrQymQGFGkBwAjtgK
2076/gAAeAFjYoAAEA1jAwAAZAAHAHgB3crBCcAwDEPRZydkih567CDdf4ZskmLwFBV8xBfCaC4BXkOUmx4sU0h2ngNb9V0vQCxaRKIAevT7fGWuBrEAAAAAAAAAAAA0AHgAugAAeAF9z79Kw1AUx/FzTm7un6QmJtwmQ5Bg1abgEGr/BAqlU6Gju+Cgg1MkQ/sA7Vj7BOnmO/gUvo2Lo14NqIO6/IazfD8HEODtmQCfoANwNsyp2/GJt3WKQrd1NLiYYWx2PBqOsmJMEOznPOTzfSCrhAtbbLdmeFLJV9eKd63WLrZcIcuaEVdssWCKM6pLCfTVOYbz/0pNSMSZKLIZpvh78sAUH6PlMrreTCabP9r+Z/puPZ2ur/RqpQHgh+MIegCnXeM4MRAPjYN//5tj4ZtTjkFqEdmeMShlEJ7tVAly2TAkx6R68Fl4E/aVvn8JqHFQ4JS1434gXKcuL31dDhzs3YbsEOAd/IU88gAAAHgBfY4xTgMxEEVfkk0AgRCioKFxQYd2ZRtpixxgRU2RfhU5q5VWseQ4JdfgAJyBlmNwAM7ABRhZQ0ORwp7nr+eZAa54YwYg9zm3ynPOeFRe8MCrciXOh/KSS76UV5L/iDmrLiS5AeU519wrL3jmSbkS5115yR2fyivJv9kx0ZMZ2RLZw27q87iNQi8EBo5FSPIMw3HqBboi5lKTGAGDp8FKXWP+t9TU01Lj5His1Ba6uM9dTEMwvrFmbf5GC/q2drW3ruXUhhsCiQOjznFlCzYhHUZp4xp76vsvQh89CQAAeAFjYGJABowM6IANLMrEyMTIzMjCXpyRWJBqZshWXJJYBKOMAFHFBucAAAAAAAAB//8AAngBY2BkYGDgA2IJBhBgAvKZGViBJAuYxwAABJsAOgAAeAFjYGBgZACCk535hiD60tn0azAaAEqpB6wAAA==") format("woff");font-weight:normal;font-style:normal}.jdgm-star{font-family:'JudgemeStar';display:inline !important;text-decoration:none !important;padding:0 4px 0 0 !important;margin:0 !important;font-weight:bold;opacity:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.jdgm-star:hover{opacity:1}.jdgm-star:last-of-type{padding:0 !important}.jdgm-star.jdgm--on:before{content:"\e000"}.jdgm-star.jdgm--off:before{content:"\e001"}.jdgm-star.jdgm--half:before{content:"\e002"}.jdgm-widget *{margin:0;line-height:1.4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-overflow-scrolling:touch}.jdgm-hidden{display:none !important;visibility:hidden !important}.jdgm-temp-hidden{display:none}.jdgm-spinner{width:40px;height:40px;margin:auto;border-radius:50%;border-top:2px solid #eee;border-right:2px solid #eee;border-bottom:2px solid #eee;border-left:2px solid #ccc;-webkit-animation:jdgm-spin 0.8s infinite linear;animation:jdgm-spin 0.8s infinite linear}.jdgm-spinner:empty{display:block}.jdgm-prev-badge{display:block !important}
2077
2078</style>
2079
2080
2081  
2082  
2083   
2084
2085
2086
2087
2088<script data-cfasync='false' class='jdgm-script'>
2089!function(e){window.jdgm=window.jdgm||{};
2090/* INF-1976 */
2091var _jdgmBlocked=function(){var raw=(window.jdgmSettings||{}).hostname_allowlist;var list=(raw==null?"":""+raw).split(/[\s,]+/).map(function(h){return h.trim().toLowerCase().replace(/\.$/,"");}).filter(function(h){return h;});if(!list.length)return false;var host=(e.location.hostname||"").toLowerCase().replace(/\.$/,"");if(/(^|\.)shopifypreview\.com$/.test(host))return false;var bare=host.replace(/^www\./,"");for(var i=0;i<list.length;i++){var en=list[i];if(en.indexOf("*.")===0){var b=en.slice(2);if(host===b||host.slice(-(b.length+1))==="."+b)return false;}else if(bare===en.replace(/^www\./,""))return false;}return true;}();
2092if(_jdgmBlocked){jdgm._loaderExecuted=true;jdgm._blocked=true;var _jdgmS=e.createElement("style");_jdgmS.textContent='[class^="jdgm-"],[class*=" jdgm-"]{display:none !important}';(e.head||e.documentElement).appendChild(_jdgmS);return;}
2093jdgm.CDN_HOST="https://cdnwidget.judge.me/",jdgm.CDN_HOST_ALT="https://cdn2.judge.me/cdn/widget_frontend/",jdgm.API_HOST="https://api.judge.me/",jdgm.CDN_BASE_URL="https://cdn.shopify.com/extensions/01a11176-2280-7862-971a-b99c4fd1084c/judgeme-773/assets/",jdgm.CDN_API_HOST="https://cdn.judge.me/",
2094jdgm.docReady=function(d){(e.attachEvent?"complete"===e.readyState:"loading"!==e.readyState)?
2095setTimeout(d,0):e.addEventListener("DOMContentLoaded",d)},jdgm.loadCSS=function(d,t,o,a){
2096!o&&jdgm.loadCSS.requestedUrls.indexOf(d)>=0||(jdgm.loadCSS.requestedUrls.push(d),
2097(a=e.createElement("link")).rel="stylesheet",a.class="jdgm-stylesheet",a.media="nope!",
2098a.href=d,a.onload=function(){this.media="all",t&&setTimeout(t)},e.body.appendChild(a))},
2099jdgm.loadCSS.requestedUrls=[],jdgm.loadJS=function(e,d){var t=new XMLHttpRequest;
2100t.onreadystatechange=function(){4===t.readyState&&t.status>=200&&t.status<300&&(Function(t.response)(),d&&d(t.response))},
2101t.open("GET",e),t.onerror=function(){if(e.indexOf(jdgm.CDN_HOST)===0&&jdgm.CDN_HOST_ALT!==jdgm.CDN_HOST){var f=e.replace(jdgm.CDN_HOST,jdgm.CDN_HOST_ALT);jdgm.loadJS(f,d)}},t.send()},jdgm.docReady((function(){(window.jdgmLoadCSS||e.querySelectorAll(
2102".jdgm-widget, .jdgm-all-reviews-page").length>0)&&(jdgmSettings.widget_load_with_code_splitting?
2103parseFloat(jdgmSettings.widget_version)>=3?jdgm.loadCSS(jdgm.CDN_BASE_URL+"widget_v3_base.css"):
2104jdgm.loadCSS(jdgm.CDN_BASE_URL+"widget_base.css"):jdgm.loadCSS(jdgm.CDN_BASE_URL+"shopify_v2.css")
2105)}))}(document);
2106</script>
2106
2107<noscript><link rel="stylesheet" type="text/css" media="all" href="https://cdn.shopify.com/extensions/01a11176-2280-7862-971a-b99c4fd1084c/judgeme-773/assets/shopify_v2.css"></noscript>
2108
2109<!-- BEGIN app snippet: theme_fix_tags -->
2109<script>
2110  (function() {
2111    var jdgmThemeFixes = null;
2112    if (!jdgmThemeFixes) return;
2113
2114    // "All themes" fix: CSS and JS applied on every theme. CSS is injected
2115    // before the per-theme fix so the theme-specific CSS wins the cascade.
2116    // HTML is never applied globally (too risky).
2117    var allThemesFix = jdgmThemeFixes['all'];
2118    if (allThemesFix && allThemesFix.css) {
2119      var allStyleTag = document.createElement('style');
2120      allStyleTag.classList.add('jdgm-theme-fix-style-all');
2121      allStyleTag.innerHTML = allThemesFix.css;
2122      document.head.append(allStyleTag);
2123    };
2124
2125    if (allThemesFix && allThemesFix.js) {
2126      var allScriptTag = document.createElement('script');
2127      allScriptTag.classList.add('jdgm-theme-fix-script-all');
2128      allScriptTag.innerHTML = allThemesFix.js;
2129      document.head.append(allScriptTag);
2130    };
2131
2132    var thisThemeFix = jdgmThemeFixes[Shopify.theme.id];
2133    if (!thisThemeFix) return;
2134
2135    if (thisThemeFix.html) {
2136      document.addEventListener("DOMContentLoaded", function() {
2137        var htmlDiv = document.createElement('div');
2138        htmlDiv.classList.add('jdgm-theme-fix-html');
2139        htmlDiv.innerHTML = thisThemeFix.html;
2140        document.body.append(htmlDiv);
2141      });
2142    };
2143
2144    if (thisThemeFix.css) {
2145      var styleTag = document.createElement('style');
2146      styleTag.classList.add('jdgm-theme-fix-style');
2147      styleTag.innerHTML = thisThemeFix.css;
2148      document.head.append(styleTag);
2149    };
2150
2151    if (thisThemeFix.js) {
2152      var scriptTag = document.createElement('script');
2153      scriptTag.classList.add('jdgm-theme-fix-script');
2154      scriptTag.innerHTML = thisThemeFix.js;
2155      document.head.append(scriptTag);
2156    };
2157  })();
2158</script>
2158
2159<!-- END app snippet -->
2160<!-- End of Judge.me Core -->
2161
2162
2163
2164<!-- END app block -->
2164<script src="https://cdn.shopify.com/extensions/01a110dd-e163-7526-9aaf-7a12ca7c2687/forms-2612/assets/shopify-forms-loader.js" type="text/javascript" defer="defer"></script>
vendor: 1 bytes, line 2164
2164
2165<script src="https://cdn.shopify.com/extensions/01a11176-2280-7862-971a-b99c4fd1084c/judgeme-773/assets/loader.js" type="text/javascript" defer="defer"></script>
2165
2166<link href="https://cdn.shopify.com/extensions/01a06f8a-31bf-7121-afb7-4040e48c02a0/retentionly-whatsapp-99/assets/styles.css" rel="stylesheet" type="text/css" media="all">
2167<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
2168<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: 92284256520,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 2168
2168
2169<script>
2170  window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || [];
2171</script>
vendor: 1 bytes, line 2171
2171
2172<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}
2172).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: 92284256520,storefrontBaseUrl: "https://luxupur.de",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://luxupur.de/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b"],webPixelsConfigList: [{"id":"5058494728","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"]}
2172,"dataSharingState":"unrestricted"},{"id":"4675338504","configuration":"{\"businessId\":\"C9D837DDA102A336BDF0E15A\",\"environment\":\"production\",\"debug\":\"false\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"5a8ca3d2c8c198d27ce52b5826353789","type":"APP","apiClientId":861484,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized"},{"id":"3512729864","configuration":"{\"shopifyDomain\":\"ahsvz2-1w.myshopify.com\",\"version\":\"2.5.0\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"f10c06a608a63ca90eda6b59723f35a2","type":"APP","apiClientId":80811360257,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted"},{"id":"3259662600","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"GT-WPFKKX9L\\\",\\\"AW-17600260424\\\"],\\\"target_country\\\":\\\"ZZ\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":[\\\"G-3M2B9FYZCJ\\\",\\\"AW-17600260424\\\/UUVPCIPB3KQbEMjSushB\\\"]},{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":[\\\"G-3M2B9FYZCJ\\\",\\\"AW-17600260424\\\/Xu6DCI_B3KQbEMjSushB\\\"]},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-3M2B9FYZCJ\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-3M2B9FYZCJ\\\",\\\"AW-17600260424\\\/BUTeCIzB3KQbEMjSushB\\\",\\\"MC-QDQK7XG45Q\\\"]},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-3M2B9FYZCJ\\\"},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-3M2B9FYZCJ\\\",\\\"AW-17600260424\\\/jAyrCIDB3KQbEMjSushB\\\",\\\"MC-QDQK7XG45Q\\\"]},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-3M2B9FYZCJ\\\",\\\"AW-17600260424\\\/1_3mCInB3KQbEMjSushB\\\",\\\"MC-QDQK7XG45Q\\\"]},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-3M2B9FYZCJ\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":[\\\"G-3M2B9FYZCJ\\\",\\\"AW-17600260424\\\/KviuCJLB3KQbEMjSushB\\\"]},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":[\\\"G-3M2B9FYZCJ\\\",\\\"AW-17600260424\\\/THboCIbB3KQbEMjSushB\\\"]},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-3M2B9FYZCJ\\\"}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"a3321ca85cf5aaf6b57585fcd8d67b3a","type":"APP","apiClientId":1780363,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted","enabledFlags":["9a3ed68a"]},{"id":"2702868744","configuration":"{\"pixel_id\":\"585097444658887\",\"pixel_type\":\"facebook_pixel\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"bd2f978c17a94bbb8a74d43de2165dc5","type":"APP","apiClientId":2329312,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"unrestricted","enabledFlags":["9a3ed68a"]},{"id":"309362952","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"],"name":"Adverfly"},{"id":"323387656","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":[],"name":"Mable 2.0"},{"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":"Luxupur®","paymentSettings":{"currencyCode":"EUR"},"myshopifyDomain":"ahsvz2-1w.myshopify.com","countryCode":"DE","storefrontUrl":"https:\/\/luxupur.de"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[{"id":"
217210753260585224","handle":"luxupur-ergopillow","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"53313281753352","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10780297658632","handle":"orthobase-classic-lattenrost","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"53465034719496","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10722235023624","handle":"orthobase-comfort-elektrischer-lattenrost","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"54516253360392","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10779731099912","handle":"orthoflex-premium-tellerlattenrost-elektrisch","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"53411425124616","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]},{"id":"10546059673864","handle":"luxupur-orthopillow-kissen","isCollective":null,"title":null,"type":null,"untranslatedTitle":null,"url":null,"vendor":null,"remoteShopId":null,"variants":[{"id":"52999878803720","image":null,"price":null,"sku":null,"title":null,"untranslatedTitle":null}]}],"purchasingCompany":null},},"https://luxupur.de/cdn","87a86122w399bf3b8pd0403c97m2c07468c",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"true","themeId":"198021480712","themeStoreId":"3626","themePublished":"true","eventMetadataId":"3de7e4f8-e078-4ab9-83dd-42fade22e7ae","pageType":"cart","shopId":"92284256520","storefrontBaseUrl":"https:\/\/luxupur.de","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\"]","isMerchantRequest":"false","hashVersion":"87a86122w399bf3b8pd0403c97m2c07468c","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script>
2172<script>
2173  window.ShopifyAnalytics = window.ShopifyAnalytics || {};
2174  window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
2175  window.ShopifyAnalytics.meta.currency = 'EUR';
2176  var meta = {"page":{"pageType":"cart","requestId":"806fb77a-305e-4a89-81e4-ef8968f1e206-1791355435"}};
2177  for (var attr in meta) {
2178    window.ShopifyAnalytics.meta[attr] = meta[attr];
2179  }
2180</script>
vendor: 1 bytes, line 2180
2180
2181<script class="analytics">
2182  (function () {
2183    var customDocumentWrite = function(content) {
2184      var jquery = null;
2185
2186      if (window.jQuery) {
2187        jquery = window.jQuery;
2188      } else if (window.Checkout && window.Checkout.$) {
2189        jquery = window.Checkout.$;
2190      }
2191
2192      if (jquery) {
2193        jquery('body').append(content);
2194      }
2195    };
2196
2197    var hasLoggedConversion = function(token) {
2198      if (token) {
2199        return document.cookie.indexOf('loggedConversion=' + token) !== -1;
2200      }
2201      return false;
2202    }
2203
2204    var setCookieIfConversion = function(token) {
2205      if (token) {
2206        var twoMonthsFromNow = new Date(Date.now());
2207        twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
2208
2209        document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
2210      }
2211    }
2212
2213    var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
2214    window.ShopifyAnalytics.lib.trekkie = window.trekkie;
2215    if (trekkie.integrations) {
2216      return;
2217    }
2218    trekkie.methods = [
2219      'identify',
2220      'page',
2221      'ready',
2222      'track',
2223      'trackForm',
2224      'trackLink'
2225    ];
2226    trekkie.factory = function(method) {
2227      return function() {
2228        var args = Array.prototype.slice.call(arguments);
2229        args.unshift(method);
2230        trekkie.push(args);
2231        if (method == 'track' || method == 'page') {
2232          var pageUrl;
2233          try {
2234            pageUrl = window.location.href;
2235          } catch (e) {}
2236          var pageReferrer;
2237          try {
2238            pageReferrer = document.referrer;
2239          } catch (e) {}
2240          try {
2241            if (window.__TREKKIE_SHIM_QUEUE == null) {
2242              window.__TREKKIE_SHIM_QUEUE = [];
2243            }
2244            window.__TREKKIE_SHIM_QUEUE.push({
2245              from: 'trekkie-stub',
2246              method: method,
2247              args: args.slice(1),
2248              pageContext: {
2249                url: pageUrl,
2250                referrer: pageReferrer
2251              }
2252            });
2253          } catch (e) {
2254            // no-op
2255          }
2256        }
2257        return trekkie;
2258      };
2259    };
2260    for (var i = 0; i < trekkie.methods.length; i++) {
2261      var key = trekkie.methods[i];
2262      trekkie[key] = trekkie.factory(key);
2263    }
2264    trekkie.load = function(config) {
2265      trekkie.config = config || {};
2266      trekkie.config.initialDocumentCookie = document.cookie;
2267      var first = document.getElementsByTagName('script')[0];
2268var script = document.createElement('script');
2269script.type = 'text/javascript';
2270script.onerror = function(e) {
2271  var scriptFallback = document.createElement('script');
2272  scriptFallback.type = 'text/javascript';
2273  scriptFallback.onerror = function(error) {
2274          var Monorail = {
2275      produce: function produce(monorailDomain, schemaId, payload) {
2276        var currentMs = new Date().getTime();
2277        var event = {
2278          schema_id: schemaId,
2279          payload: payload,
2280          metadata: {
2281            event_created_at_ms: currentMs,
2282            event_sent_at_ms: currentMs
2283          }
2284        };
2285        return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
2286      },
2287      sendRequest: function sendRequest(endpointUrl, payload) {
2288        // Try the sendBeacon API
2289        if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
2290          var blobData = new window.Blob([payload], {
2291            type: 'text/plain'
2292          });
2293
2294          if (window.navigator.sendBeacon(endpointUrl, blobData)) {
2295            return true;
2296          } // sendBeacon was not successful
2297
2298        } // XHR beacon
2299
2300        var xhr = new XMLHttpRequest();
2301
2302        try {
2303          xhr.open('POST', endpointUrl);
2304          xhr.setRequestHeader('Content-Type', 'text/plain');
2305          xhr.send(payload);
2306        } catch (e) {
2307          console.log(e);
2308        }
2309
2310        return false;
2311      },
2312      isIos12: function isIos12() {
2313        return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
2314      }
2315    };
2316    Monorail.produce('monorail-edge.shopifysvc.com',
2317      'trekkie_storefront_load_errors/1.1',
2318      {shop_id: 92284256520,
2319      theme_id: 198021480712,
2320      app_name: "storefront",
2321      context_url: window.location.href,
2322      source_url: "//luxupur.de/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"});
2323
2324  };
2325  scriptFallback.async = true;
2326  scriptFallback.src = '//luxupur.de/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js';
2327  first.parentNode.insertBefore(scriptFallback, first);
2328};
2329script.async = true;
2330script.src = '//luxupur.de/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js';
2331first.parentNode.insertBefore(script, first);
2332
2333    };
2334    trekkie.load(
2335      {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":92284256520,"isMerchantRequest":null,"themeId":198021480712,"themeCityHash":"5275321652457583478","contentLanguage":"de","currency":"EUR","eventMetadataId":"3de7e4f8-e078
2335-4ab9-83dd-42fade22e7ae"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":true,"source":"trekkie-storefront-renderer","apiClientId":580111}}
2336    );
2337
2338    var loaded = false;
2339    trekkie.ready(function() {
2340      if (loaded) return;
2341      loaded = true;
2342
2343      window.ShopifyAnalytics.lib = window.trekkie;
2344
2345      var originalDocumentWrite = document.write;
2346      document.write = customDocumentWrite;
2347      try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
2348      document.write = originalDocumentWrite;
2349
2350      var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
2351      var token = match? match[1]: undefined;
2352      if (!hasLoggedConversion(token)) {
2353        setCookieIfConversion(token);
2354        
2355      }
2356    });
2357
2358    window.ShopifyAnalytics.lib.page(null,{"pageType":"cart","requestId":"806fb77a-305e-4a89-81e4-ef8968f1e206-1791355435","shopifyEmitted":true});
2359
2360    var eventsListenerScript = document.createElement('script');
2361    eventsListenerScript.async = true;
2362    eventsListenerScript.src = "//luxupur.de/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
2363    document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
2364})();</script>
vendor: 1 bytes, line 2364
2364
2365<script
2366  defer
2367  src="https://luxupur.de/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.6.min.js"
2368  data-application="storefront-renderer"
2369  data-shop-id="92284256520"
2370  data-render-region="gcp-us-west1"
2371  data-page-type="cart"
2372  data-theme-instance-id="198021480712"
2373  data-theme-name="Savor"
2374  data-theme-version="3.2.1"
2375  data-monorail-region="shop_domain"
2376  data-resource-timing-sampling-rate="10"
2377  data-shs="true"
2378  data-shs-beacon="true"
2379  data-shs-export-with-fetch="true"
2380  data-shs-logs-sample-rate="1"
2381  data-shs-beacon-endpoint="https://luxupur.de/api/collect"
2382></script>
2382
2383<meta name="shopify-y" content="c8b14cb1-a207-491d-98ea-d6d7110a5741" data-expiration="1822913035000"><meta name="shopify-s" content="78a2b8b6-3cb4-47da-999b-76a0145f18c4" data-expiration="1791357235000"><meta name="new-cookie-storage-activated" content="t">
2384</head>
2385
2386  <body class="page-width-narrow card-hover-effect-none">
2387    <a
2388  class="skip-to-content-link button-secondary"
2389  href="#MainContent"
2390>
2391  Direkt zum Inhalt
2392</a>
2393
2394    <div id="header-group">
2395      <!-- BEGIN sections: header-group -->
2396<header id="shopify-section-sections--29313955201288__header_section" class="shopify-section shopify-section-group-header-group header-section">
2397
2398
2399
2400
2401
2402<script type="application/ld+json">
2403  {
2404    "@context": "http://schema.org",
2405    "@type": "Organization",
2406    "name": "Luxupur®",
2407    
2408      "logo": "https:\/\/luxupur.de\/cdn\/shop\/files\/luxupur-matratzen-nach-mass-logo.png?v=1775301700\u0026width=500",
2409    
2410    "url": "https:\/\/luxupur.de"
2411  }
2412</script>
2412
2413
2414<header-component
2415  id="header-component"
2416  class="header"
2417  data-theme-color="rgb(25 26 28)"
2418  
2419  
2420  data-skip-node-update
2421  data-scroll-direction="none"
2422>
2423    
2424
2425    
2426
2427    
2428    
2429      <div
2430        class="header__row header__row--top color-scheme-5 section section--full-width-margin section--page-width"
2431        ref="headerRowTop"style="--border-bottom-width: 0px; --border-bottom-width-mobile: 0px;">
2432        <div class="header__columns spacing-style">
2433          <div
2434      class="header__column header__column--left"
2435      data-testid="header-top-left"
2436    >
2437      
2438        
2439          
2440              
2441
2442
2443
2444    <div
2445      class="header__drawer desktop:hidden"
2446      ref="headerDrawerContainer"
2447      
2448    >
2449      
2450
2451<script
2452  src="//luxupur.de/cdn/shop/t/97/assets/header-drawer.js?v=44357639294953783801781436597"
2453  type="module"
2454  fetchpriority="low"
2455></script>
2455
2456
2457<header-drawer
2458  class="header-drawer header__drawer--mobile"
2459  style="--menu-image-border-radius: 0px; --resource-card-corner-radius: 0px;"
2460>
2461  <details
2462    id="Details-menu-drawer-container"
2463    data-skip-node-update="true"
2464    class="menu-drawer-container"
2465    ref="details"
2466    scroll-lock
2467  >
2468    <summary
2469      class="header__icon header__icon--menu header__icon--summary"
2470      aria-label="Menü"
2471      on:click="/toggle"
2472    >
2473      <span class="svg-wrapper header-drawer-icon header-drawer-icon--open"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
2474  <path d="M1 3.5H13" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
2475  <path d="M1 10.5H13" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
2476</svg>
2477</span>
2478      <span class="svg-wrapper header-drawer-icon header-drawer-icon--close"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
2479  <path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
2480  <path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
2481</svg>
2482</span>
2483    </summary>
2484    <div
2485      data-header-drawer
2486      class="
2487        menu-drawer
2488        motion-reduce
2489        color-scheme-7
2490      "
2491    >
2492      <button
2493        class="button button-unstyled close-button menu-drawer__close-button"
2494        type="button"
2495        aria-label="Schließen"
2496        on:click="/close"
2497      >
2498        <span class="svg-wrapper header-drawer-icon header-drawer-icon--close"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
2499  <path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
2500  <path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
2501</svg>
2502</span>
2503      </button>
2504      <nav
2505        class="menu-drawer__navigation"
2506        style="--menu-top-level-font-family: var(--font-accent--family);
2507--menu-top-level-font-size-desktop: 1rem; --menu-top-level-font-style: var(--font-accent--style); --menu-top-level-font-weight: var(--font-accent--weight); --menu-top-level-font-case:uppercase;
2508
2509  --menu-top-level-font-size: var(--menu-font-2xl--size); --menu-top-level-font-line-height:
2510  var(--menu-font-2xl--line-height);
2511
2512--menu-top-level-font-color: var(--color-foreground); --menu-top-level-font-color-rgb: var(--color-foreground-rgb);
2513
2514--menu-parent-font-family: var(--font-accent--family); --menu-parent-font-style:
2515var(--font-accent--style); --menu-parent-font-weight: var(--font-accent--weight); --menu-parent-font-case:
2516uppercase;
2517
2518    --menu-parent-font-size: var(--menu-font-sm--size); --menu-parent-font-line-height:
2519    var(--menu-font-sm--line-height); --menu-parent-font-color: rgb(var(--color-foreground-rgb) /
2520    var(--opacity-subdued-text)); --menu-parent-active-font-color: var(--color-foreground);
2521
2522--menu-child-font-family: var(--font-accent--family); --menu-child-font-style:
2523var(--font-accent--style); --menu-child-font-weight: var(--font-accent--weight); --menu-child-font-case:
2524uppercase;
2525
2526    --menu-child-font-size: var(--menu-font-xl--size); --menu-child-font-line-height: var(--menu-font-xl--line-height);
2527    --menu-child-font-color: var(--color-foreground); --menu-child-active-font-color: rgb(var(--color-foreground-rgb) /
2528    var(--opacity-subdued-text));
2529
2530
2531        "
2532      >
2533        <ul
2534          class="menu-drawer__menu has-submenu"
2535          role="list"
2536        >
2537            
2538            
2539
2540              <li
2541                style="--menu-drawer-animation-index: 1;"
2542                class="menu-drawer__list-item--flat"
2543              >
2544                
2545<a
2546                    id="HeaderDrawer-matratze"
2547                    href="/products/luxupur-orthosleep-koerperprofil-matratze"
2548                    class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset"
2549                    
2550                  >
2551                    <span class="menu-drawer__menu-item-text wrap-text">Matratze</span>
2552                  </a>
2553                
2554              </li>
2555              <li
2556                style="--menu-drawer-animation-index: 2;"
2557                class="menu-drawer__list-item--flat"
2558              >
2559                
2560<a
2561                    id="HeaderDrawer-topper"
2562                    href="/products/luxupur-orthotop-topper"
2563                    class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset"
2564                    
2565                  >
2566                    <span class="menu-drawer__menu-item-text wrap-text">Topper</span>
2567                  </a>
2568                
2569              </li>
2570              <li
2571                style="--menu-drawer-animation-index: 3;"
2572                class="menu-drawer__list-item--flat"
2573              >
2574                
2575<a
2576                    id="HeaderDrawer-split-topper"
2577                    href="/products/luxupur-orthotop-split-topper"
2578                    class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset"
2579                    
2580                  >
2581                    <span class="menu-drawer__menu-item-text wrap-text">Split-Topper</span>
2582                  </a>
2583                
2584              </li>
2585              <li
2586                style="--menu-drawer-animation-index: 4;"
2587                class="menu-drawer__list-item--flat"
2588              >
2589                
2590<a
2591                    id="HeaderDrawer-kissen"
2592                    href="/pages/luxupur-kissen"
2593                    class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset"
2594                    
2595                  >
2596                    <span class="menu-drawer__menu-item-text wrap-text">Kissen</span>
2597                  </a>
2598                
2599              </li>
2600              <li
2601                style="--menu-drawer-animation-index: 5;"
2602                class="menu-drawer__list-item--flat"
2603              >
2604                
2605<a
2606                    id="HeaderDrawer-lattenroste"
2607                    href="/pages/luxupur-lattenroste"
2608                    class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset"
2609                    
2610                  >
2611                    <span class="menu-drawer__menu-item-text wrap-text">Lattenroste</span>
2612                  </a>
2613                
2614              </li>
2615              <li
2616                style="--menu-drawer-animation-index: 6;"
2617                class="menu-drawer__list-item--flat"
2618              >
2619                
2620<a
2621                    id="HeaderDrawer-sondergrosse-anfragen"
2622                    href="/pages/sonderanfertigung"
2623                    class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset"
2624                    
2625                  >
2626                    <span class="menu-drawer__menu-item-text wrap-text">Sondergrösse Anfragen</span>
2627                  </a>
2628                
2629              </li>
2630              <li
2631                style="--menu-drawer-animation-index: 7;"
2632                class="menu-drawer__list-item--flat"
2633              >
2634                
2635<a
2636                    id="HeaderDrawer-uber-luxupur®"
2637                    href="/pages/uber-luxupur"
2638                    class="menu-drawer__menu-item menu-drawer__menu-item--mainlist menu-drawer__animated-element focus-inset"
2639                    
2640                  >
2641                    <span class="menu-drawer__menu-item-text wrap-text">Über Luxupur®</span>
2642                  </a>
2643                
2644              </li>
2645        </ul>
2646      </nav>
2647      <div
2648        class="menu-drawer__utility-links menu-drawer__animated-element"
2649        style="--menu-drawer-animation-index: 7;"
2650      >
2651        
2652        
2653          
2654          
2655            <drawer-localization-component class="menu-drawer__localization">
2656              <details
2657                id="drawer-localization"
2658                class="drawer-localization"
2659                on:toggle="/toggle"
2660              >
2661                <summary
2662                  id="HeaderDrawer-localization"
2663                  class="drawer-localization__button h3 link link--text focus-inset"
2664                  aria-expanded="false"
2665                  on:click="header-drawer/open"
2666                  style="--menu-localization-font: var(--font-heading--family); --color-shadow: rgb(var(--color-foreground-rgb) / var(--opacity-10-25));"
2667                >
2668                  <div class="drawer-localization__button--label h6"><div class="mobile-localization mobile-localization--country link link--text"><span class="currency-code">EUR</span>
2669                      </div></div>
2670                  <span class="svg-wrapper icon-caret icon-caret--forward"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
2671  <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
2672</svg>
2673</span>
2674                </summary>
2675
2676                <div
2677                  class="menu-drawer__submenu has-submenu gradient motion-reduce color-scheme-1"
2678                  style=""
2679                >
2680                  <div
2681                    class="menu-drawer__nav-buttons"
2682                    ref="navButtons"
2683                  >
2684                    <button
2685                      class="button menu-drawer__back-button link link--text focus-inset"
2686                      aria-expanded="true"
2687                      on:click="header-drawer/back"
2688                    >
2689                      <span class="svg-wrapper icon-caret icon-caret--backward"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
2690  <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
2691</svg>
2692</span>
2693                      Region und Sprache
2694                    </button>
2695                    <button
2696                      class="button close-button menu-drawer__close-button"
2697                      type="button"
2698                      aria-label="Schließen"
2699                      on:click="header-drawer/close"
2700                    >
2701                      <span class="svg-wrapper header-drawer-icon header-drawer-icon--close"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
2702  <path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
2703  <path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
2704</svg>
2705</span>
2706                    </button>
2707                  </div>
2708
2709                  
2710<localization-form-component
2711  ref="localizationForm"
2712  data-label-results-count="[count] Ergebnisse"
2713  data-show-filter="true"
2714  style="--menu-localization-font: var(--font-heading--family); --color-shadow: rgb(var(--color-foreground-rgb) / var(--opacity-10-25));"
2715>
2716  
2717<form method="post" action="/localization" id="LocalizationForm" accept-charset="UTF-8" class="localization-form" enctype="multipart/form-data" ref="form" aria-label="Region und Sprache"><input type="hidden" name="form_type" value="localization" /><input type="hidden" name="utf8" value="✓" /><input type="hidden" name="_method" value="put" />
2718      
2719        <div class="country-filter">
2720          <div class="field">
2721            <div class="country-filter__search-icon field__button motion-reduce">
2722              <span class="svg-wrapper">
2723                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="9" cy="9" r="4.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m12.5 12.5 3.25 3.25"/></svg>
2724
2725              </span>
2726            </div>
2727            <input
2728              class="country-filter__input"
2729              id="country-filter-input"
2730              type="search"
2731              name="country_filter"
2732              value=""
2733              placeholder="Suchen"
2734              role="combobox"
2735              aria-owns="country-results"
2736              aria-controls="country-results"
2737              aria-haspopup="listbox"
2738              aria-autocomplete="list"
2739              aria-label="Land finden"
2740              autocorrect="off"
2741              autocomplete="off"
2742              autocapitalize="off"
2743              spellcheck="false"
2744              ref="search"
2745              on:keyup="/filterCountries"
2746            >
2747            <label
2748              class="field__label visually-hidden"
2749              for="country-filter-input"
2750            >Suche</label>
2751            <button
2752              type="reset"
2753              class="button button-unstyled country-filter__reset-button field__button"
2754              aria-label="Zurücksetzen"
2755              ref="resetButton"
2756              hidden
2757              on:click="/resetCountriesFilter"
2758            >
2759              <span class="svg-wrapper">
2760                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="10" cy="10" r="6.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m12.5 7.5-5 5M12.5 12.5l-5-5"/></svg>
2761
2762              </span>
2763            </button>
2764          </div>
2765        </div>
2766      
2767      <div class="country-selector-form__wrapper">
2768        <h2
2769          class="visually-hidden"
2770          id="drawer-CountryLabel"
2771        >
2772          Country/Region
2773        </h2>
2774        
2775          <div
2776            id="sr-country-search-results-AemE0T0Frczl0ZWc4T__header-menu-1"
2777            class="visually-hidden"
2778            aria-live="polite"
2779            ref="liveRegion"
2780          ></div>
2781        
2782        <div
2783          class="localization-form__list country-selector__list country-selector__list--with-multiple-currencies"
2784          id="drawer-country-results"
2785          ref="countryList"
2786        >
2787          
2788          <ul
2789            role="list"
2790            class="list-unstyled countries"
2791          >
2792            <span
2793              class="localization-form__list-item localization-form__list-item-disabled"
2794              id="no-results-message"
2795              ref="noResultsMessage"
2796              hidden
2797            >Keine Ergebnisse gefunden</span>
2798              <li
2799                class="localization-form__list-item"
2800                
2801                data-value="BE"
2802                
2803                  data-aliases=""
2804                
2805                id="Belgien"
2806                aria-label="Belgien"
2807                role="option"
2808                tabindex="-1"
2809                ref="countryListItems[]"
2810                on:click="/selectCountry/BE"
2811              >
2812                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
2813<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
2814</svg>
2815</span>
2816                <span class="country">Belgien</span>
2817                <span
2818                  class="localization-form__currency motion-reduce"
2819                  
2820                >
2821                  EUR
2822                  €</span>
2823              </li>
2824              <li
2825                class="localization-form__list-item"
2826                
2827                data-value="BG"
2828                
2829                  data-aliases=""
2830                
2831                id="Bulgarien"
2832                aria-label="Bulgarien"
2833                role="option"
2834                tabindex="-1"
2835                ref="countryListItems[]"
2836                on:click="/selectCountry/BG"
2837              >
2838                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
2839<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
2840</svg>
2841</span>
2842                <span class="country">Bulgarien</span>
2843                <span
2844                  class="localization-form__currency motion-reduce"
2845                  
2846                >
2847                  EUR
2848                  €</span>
2849              </li>
2850              <li
2851                class="localization-form__list-item"
2852                
2853                data-value="DK"
2854                
2855                  data-aliases=""
2856                
2857                id="Dänemark"
2858                aria-label="Dänemark"
2859                role="option"
2860                tabindex="-1"
2861                ref="countryListItems[]"
2862                on:click="/selectCountry/DK"
2863              >
2864                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
2865<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
2866</svg>
2867</span>
2868                <span class="country">Dänemark</span>
2869                <span
2870                  class="localization-form__currency motion-reduce"
2871                  
2872                >
2873                  EUR
2874                  €</span>
2875              </li>
2876              <li
2877                class="localization-form__list-item"
2878                
2879                  aria-current="true"
2880                
2881                data-value="DE"
2882                
2883                  data-aliases=""
2884                
2885                id="Deutschland"
2886                aria-label="Deutschland"
2887                role="option"
2888                tabindex="-1"
2889                ref="countryListItems[]"
2890                on:click="/selectCountry/DE"
2891              >
2892                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
2893<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
2894</svg>
2895</span>
2896                <span class="country">Deutschland</span>
2897                <span
2898                  class="localization-form__currency motion-reduce"
2899                  
2900                >
2901                  EUR
2902                  €</span>
2903              </li>
2904              <li
2905                class="localization-form__list-item"
2906                
2907                data-value="EE"
2908                
2909                  data-aliases=""
2910                
2911                id="Estland"
2912                aria-label="Estland"
2913                role="option"
2914                tabindex="-1"
2915                ref="countryListItems[]"
2916                on:click="/selectCountry/EE"
2917              >
2918                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
2919<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
2920</svg>
2921</span>
2922                <span class="country">Estland</span>
2923                <span
2924                  class="localization-form__currency motion-reduce"
2925                  
2926                >
2927                  EUR
2928                  €</span>
2929              </li>
2930              <li
2931                class="localization-form__list-item"
2932                
2933                data-value="FI"
2934                
2935                  data-aliases=""
2936                
2937                id="Finnland"
2938                aria-label="Finnland"
2939                role="option"
2940                tabindex="-1"
2941                ref="countryListItems[]"
2942                on:click="/selectCountry/FI"
2943              >
2944                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
2945<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
2946</svg>
2947</span>
2948                <span class="country">Finnland</span>
2949                <span
2950                  class="localization-form__currency motion-reduce"
2951                  
2952                >
2953                  EUR
2954                  €</span>
2955              </li>
2956              <li
2957                class="localization-form__list-item"
2958                
2959                data-value="FR"
2960                
2961                  data-aliases=""
2962                
2963                id="Frankreich"
2964                aria-label="Frankreich"
2965                role="option"
2966                tabindex="-1"
2967                ref="countryListItems[]"
2968                on:click="/selectCountry/FR"
2969              >
2970                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
2971<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
2972</svg>
2973</span>
2974                <span class="country">Frankreich</span>
2975                <span
2976                  class="localization-form__currency motion-reduce"
2977                  
2978                >
2979                  EUR
2980                  €</span>
2981              </li>
2982              <li
2983                class="localization-form__list-item"
2984                
2985                data-value="GR"
2986                
2987                  data-aliases=""
2988                
2989                id="Griechenland"
2990                aria-label="Griechenland"
2991                role="option"
2992                tabindex="-1"
2993                ref="countryListItems[]"
2994                on:click="/selectCountry/GR"
2995              >
2996                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
2997<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
2998</svg>
2999</span>
3000                <span class="country">Griechenland</span>
3001                <span
3002                  class="localization-form__currency motion-reduce"
3003                  
3004                >
3005                  EUR
3006                  €</span>
3007              </li>
3008              <li
3009                class="localization-form__list-item"
3010                
3011                data-value="IE"
3012                
3013                  data-aliases=""
3014                
3015                id="Irland"
3016                aria-label="Irland"
3017                role="option"
3018                tabindex="-1"
3019                ref="countryListItems[]"
3020                on:click="/selectCountry/IE"
3021              >
3022                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
3023<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
3024</svg>
3025</span>
3026                <span class="country">Irland</span>
3027                <span
3028                  class="localization-form__currency motion-reduce"
3029                  
3030                >
3031                  EUR
3032                  €</span>
3033              </li>
3034              <li
3035                class="localization-form__list-item"
3036                
3037                data-value="IT"
3038                
3039                  data-aliases=""
3040                
3041                id="Italien"
3042                aria-label="Italien"
3043                role="option"
3044                tabindex="-1"
3045                ref="countryListItems[]"
3046                on:click="/selectCountry/IT"
3047              >
3048                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
3049<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
3050</svg>
3051</span>
3052                <span class="country">Italien</span>
3053                <span
3054                  class="localization-form__currency motion-reduce"
3055                  
3056                >
3057                  EUR
3058                  €</span>
3059              </li>
3060              <li
3061                class="localization-form__list-item"
3062                
3063                data-value="HR"
3064                
3065                  data-aliases=""
3066                
3067                id="Kroatien"
3068                aria-label="Kroatien"
3069                role="option"
3070                tabindex="-1"
3071                ref="countryListItems[]"
3072                on:click="/selectCountry/HR"
3073              >
3074                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
3075<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
3076</svg>
3077</span>
3078                <span class="country">Kroatien</span>
3079                <span
3080                  class="localization-form__currency motion-reduce"
3081                  
3082                >
3083                  EUR
3084                  €</span>
3085              </li>
3086              <li
3087                class="localization-form__list-item"
3088                
3089                data-value="LV"
3090                
3091                  data-aliases=""
3092                
3093                id="Lettland"
3094                aria-label="Lettland"
3095                role="option"
3096                tabindex="-1"
3097                ref="countryListItems[]"
3098                on:click="/selectCountry/LV"
3099              >
3100                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
3101<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
3102</svg>
3103</span>
3104                <span class="country">Lettland</span>
3105                <span
3106                  class="localization-form__currency motion-reduce"
3107                  
3108                >
3109                  EUR
3110                  €</span>
3111              </li>
3112              <li
3113                class="localization-form__list-item"
3114                
3115                data-value="LT"
3116                
3117                  data-aliases=""
3118                
3119                id="Litauen"
3120                aria-label="Litauen"
3121                role="option"
3122                tabindex="-1"
3123                ref="countryListItems[]"
3124                on:click="/selectCountry/LT"
3125              >
3126                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
3127<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
3128</svg>
3129</span>
3130                <span class="country">Litauen</span>
3131                <span
3132                  class="localization-form__currency motion-reduce"
3133                  
3134                >
3135                  EUR
3136                  €</span>
3137              </li>
3138              <li
3139                class="localization-form__list-item"
3140                
3141                data-value="LU"
3142                
3143                  data-aliases=""
3144                
3145                id="Luxemburg"
3146                aria-label="Luxemburg"
3147                role="option"
3148                tabindex="-1"
3149                ref="countryListItems[]"
3150                on:click="/selectCountry/LU"
3151              >
3152                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
3153<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
3154</svg>
3155</span>
3156                <span class="country">Luxemburg</span>
3157                <span
3158                  class="localization-form__currency motion-reduce"
3159                  
3160                >
3161                  EUR
3162                  €</span>
3163              </li>
3164              <li
3165                class="localization-form__list-item"
3166                
3167                data-value="MT"
3168                
3169                  data-aliases=""
3170                
3171                id="Malta"
3172                aria-label="Malta"
3173                role="option"
3174                tabindex="-1"
3175                ref="countryListItems[]"
3176                on:click="/selectCountry/MT"
3177              >
3178                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
3179<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
3180</svg>
3181</span>
3182                <span class="country">Malta</span>
3183                <span
3184                  class="localization-form__currency motion-reduce"
3185                  
3186                >
3187                  EUR
3188                  €</span>
3189              </li>
3190              <li
3191                class="localization-form__list-item"
3192                
3193                data-value="NL"
3194                
3195                  data-aliases=""
3196                
3197                id="Niederlande"
3198                aria-label="Niederlande"
3199                role="option"
3200                tabindex="-1"
3201                ref="countryListItems[]"
3202                on:click="/selectCountry/NL"
3203              >
3204                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
3205<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
3206</svg>
3207</span>
3208                <span class="country">Niederlande</span>
3209                <span
3210                  class="localization-form__currency motion-reduce"
3211                  
3212                >
3213                  EUR
3214                  €</span>
3215              </li>
3216              <li
3217                class="localization-form__list-item"
3218                
3219                data-value="AT"
3220                
3221                  data-aliases=""
3222                
3223                id="Österreich"
3224                aria-label="Österreich"
3225                role="option"
3226                tabindex="-1"
3227                ref="countryListItems[]"
3228                on:click="/selectCountry/AT"
3229              >
3230                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
3231<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
3232</svg>
3233</span>
3234                <span class="country">Österreich</span>
3235                <span
3236                  class="localization-form__currency motion-reduce"
3237                  
3238                >
3239                  EUR
3240                  €</span>
3241              </li>
3242              <li
3243                class="localization-form__list-item"
3244                
3245                data-value="PL"
3246                
3247                  data-aliases=""
3248                
3249                id="Polen"
3250                aria-label="Polen"
3251                role="option"
3252                tabindex="-1"
3253                ref="countryListItems[]"
3254                on:click="/selectCountry/PL"
3255              >
3256                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
3257<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
3258</svg>
3259</span>
3260                <span class="country">Polen</span>
3261                <span
3262                  class="localization-form__currency motion-reduce"
3263                  
3264                >
3265                  EUR
3266                  €</span>
3267              </li>
3268              <li
3269                class="localization-form__list-item"
3270                
3271                data-value="PT"
3272                
3273                  data-aliases=""
3274                
3275                id="Portugal"
3276                aria-label="Portugal"
3277                role="option"
3278                tabindex="-1"
3279                ref="countryListItems[]"
3280                on:click="/selectCountry/PT"
3281              >
3282                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
3283<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
3284</svg>
3285</span>
3286                <span class="country">Portugal</span>
3287                <span
3288                  class="localization-form__currency motion-reduce"
3289                  
3290                >
3291                  EUR
3292                  €</span>
3293              </li>
3294              <li
3295                class="localization-form__list-item"
3296                
3297                data-value="RO"
3298                
3299                  data-aliases=""
3300                
3301                id="Rumänien"
3302                aria-label="Rumänien"
3303                role="option"
3304                tabindex="-1"
3305                ref="countryListItems[]"
3306                on:click="/selectCountry/RO"
3307              >
3308                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
3309<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
3310</svg>
3311</span>
3312                <span class="country">Rumänien</span>
3313                <span
3314                  class="localization-form__currency motion-reduce"
3315                  
3316                >
3317                  EUR
3318                  €</span>
3319              </li>
3320              <li
3321                class="localization-form__list-item"
3322                
3323                data-value="SE"
3324                
3325                  data-aliases=""
3326                
3327                id="Schweden"
3328                aria-label="Schweden"
3329                role="option"
3330                tabindex="-1"
3331                ref="countryListItems[]"
3332                on:click="/selectCountry/SE"
3333              >
3334                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
3335<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
3336</svg>
3337</span>
3338                <span class="country">Schweden</span>
3339                <span
3340                  class="localization-form__currency motion-reduce"
3341                  
3342                >
3343                  EUR
3344                  €</span>
3345              </li>
3346              <li
3347                class="localization-form__list-item"
3348                
3349                data-value="CH"
3350                
3351                  data-aliases=""
3352                
3353                id="Schweiz"
3354                aria-label="Schweiz"
3355                role="option"
3356                tabindex="-1"
3357                ref="countryListItems[]"
3358                on:click="/selectCountry/CH"
3359              >
3360                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
3361<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
3362</svg>
3363</span>
3364                <span class="country">Schweiz</span>
3365                <span
3366                  class="localization-form__currency motion-reduce"
3367                  
3368                >
3369                  CHF
3370                  CHF</span>
3371              </li>
3372              <li
3373                class="localization-form__list-item"
3374                
3375                data-value="SK"
3376                
3377                  data-aliases=""
3378                
3379                id="Slowakei"
3380                aria-label="Slowakei"
3381                role="option"
3382                tabindex="-1"
3383                ref="countryListItems[]"
3384                on:click="/selectCountry/SK"
3385              >
3386                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
3387<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
3388</svg>
3389</span>
3390                <span class="country">Slowakei</span>
3391                <span
3392                  class="localization-form__currency motion-reduce"
3393                  
3394                >
3395                  EUR
3396                  €</span>
3397              </li>
3398              <li
3399                class="localization-form__list-item"
3400                
3401                data-value="SI"
3402                
3403                  data-aliases=""
3404                
3405                id="Slowenien"
3406                aria-label="Slowenien"
3407                role="option"
3408                tabindex="-1"
3409                ref="countryListItems[]"
3410                on:click="/selectCountry/SI"
3411              >
3412                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
3413<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
3414</svg>
3415</span>
3416                <span class="country">Slowenien</span>
3417                <span
3418                  class="localization-form__currency motion-reduce"
3419                  
3420                >
3421                  EUR
3422                  €</span>
3423              </li>
3424              <li
3425                class="localization-form__list-item"
3426                
3427                data-value="ES"
3428                
3429                  data-aliases=""
3430                
3431                id="Spanien"
3432                aria-label="Spanien"
3433                role="option"
3434                tabindex="-1"
3435                ref="countryListItems[]"
3436                on:click="/selectCountry/ES"
3437              >
3438                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
3439<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
3440</svg>
3441</span>
3442                <span class="country">Spanien</span>
3443                <span
3444                  class="localization-form__currency motion-reduce"
3445                  
3446                >
3447                  EUR
3448                  €</span>
3449              </li>
3450              <li
3451                class="localization-form__list-item"
3452                
3453                data-value="CZ"
3454                
3455                  data-aliases=""
3456                
3457                id="Tschechien"
3458                aria-label="Tschechien"
3459                role="option"
3460                tabindex="-1"
3461                ref="countryListItems[]"
3462                on:click="/selectCountry/CZ"
3463              >
3464                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
3465<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
3466</svg>
3467</span>
3468                <span class="country">Tschechien</span>
3469                <span
3470                  class="localization-form__currency motion-reduce"
3471                  
3472                >
3473                  EUR
3474                  €</span>
3475              </li>
3476              <li
3477                class="localization-form__list-item"
3478                
3479                data-value="HU"
3480                
3481                  data-aliases=""
3482                
3483                id="Ungarn"
3484                aria-label="Ungarn"
3485                role="option"
3486                tabindex="-1"
3487                ref="countryListItems[]"
3488                on:click="/selectCountry/HU"
3489              >
3490                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
3491<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
3492</svg>
3493</span>
3494                <span class="country">Ungarn</span>
3495                <span
3496                  class="localization-form__currency motion-reduce"
3497                  
3498                >
3499                  EUR
3500                  €</span>
3501              </li>
3502              <li
3503                class="localization-form__list-item"
3504                
3505                data-value="CY"
3506                
3507                  data-aliases=""
3508                
3509                id="Zypern"
3510                aria-label="Zypern"
3511                role="option"
3512                tabindex="-1"
3513                ref="countryListItems[]"
3514                on:click="/selectCountry/CY"
3515              >
3516                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
3517<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
3518</svg>
3519</span>
3520                <span class="country">Zypern</span>
3521                <span
3522                  class="localization-form__currency motion-reduce"
3523                  
3524                >
3525                  EUR
3526                  €</span>
3527              </li></ul>
3528        </div>
3529        <div class="country-selector__overlay"></div>
3530        <input
3531          type="hidden"
3532          name="country_code"
3533          value="DE"
3534          ref="countryInput"
3535        >
3536      </div>
3537    
3538
3539    
3540</form></localization-form-component>
3541
3542
3543
3544                </div>
3545              </details>
3546            </drawer-localization-component>
3547          
3548</div>
3549
3550      
3551    </div>
3552    <div
3553      class="menu-drawer__backdrop"
3554      on:click="header-drawer/close"
3555    ></div>
3556  </details>
3557</header-drawer>
3558
3559
3560
3561    </div>
3562
3563  
3564
3565
3566
3567
3568
3569            
3570        
3571      
3572        
3573          
3574              
3575  <search-button class="search-action desktop:hidden">
3576    <button
3577      on:click="#search-modal/showDialog"
3578      class="button button-unstyled search-modal__button header-actions__action"
3579      aria-label="Suchen"
3580      aria-haspopup="dialog"
3581    >
3582      <span
3583        aria-hidden="true"
3584        class="svg-wrapper"
3585      >
3586        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="9" cy="9" r="4.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m12.5 12.5 3.25 3.25"/></svg>
3587
3588      </span>
3589    </button>
3590  </search-button>
3591
3592
3593
3594
3595            
3596        
3597      
3598        
3599          
3600              
3601
3602
3603
3604
3605<a
3606  
3607  href="/"
3608  class="size-style spacing-style header-logo"
3609  style="
3610    --size-style-width: ;--size-style-height: ;
3611    --padding-block-start: 8px;--padding-block-end: 6px;--padding-inline-start: 0px;--padding-inline-end: 0px;
3612    --font-family: var(--font-body--family);
3613    --font-style: var(--font-body--style);
3614    --font-weight: 600;
3615  "
3616  
3617>
3618  
3619
3620  <span
3621    class="header-logo__image-container header-logo__image-container--original"
3622    data-testid="header-logo"
3623  >
3624    
3625  
3626  
3627  
3628
3629  
3630
3631  
3632
3633  
3634
3635  <img src="//luxupur.de/cdn/shop/files/luxupur-matratzen-nach-mass-logo.png?height=72&amp;v=1775301700" alt="" width="137" height="72" class="header-logo__image" srcset="//luxupur.de/cdn/shop/files/luxupur-matratzen-nach-mass-logo.png?height=72&amp;v=1775301700 1x, //luxupur.de/cdn/shop/files/luxupur-matratzen-nach-mass-logo.png?height=144&amp;v=1775301700 2x, //luxupur.de/cdn/shop/files/luxupur-matratzen-nach-mass-logo.png?height=216&amp;v=1775301700 3x" style="--header-logo-image-width: 137px;
3635--header-logo-image-width-mobile: 88px; --header-logo-image-height: 72px; --header-logo-image-height-mobile: 46px;">
3636
3637
3638  </span>
3639
3640  
3641</a>
3642
3643
3644
3645
3646
3647            
3648        
3649      
3650    </div><div
3651      class="header__column header__column--center"
3652      data-testid="header-top-center"
3653    >
3654      
3655        
3656          
3657              
3658
3659
3660
3661    
3662
3663    
3664
3665    <header-menu
3666      ref="headerMenu"
3667      class="header-menu mobile:hidden"
3668      data-animation-delay="200"
3669      
3670      style="--submenu-animation-speed: 200ms;"
3671    >
3672      <div class="header-menu__inner">
3673        <nav header-menu>
3674          <div
3675            class="menu-list"
3676            style="--menu-top-level-font-family: var(--font-accent--family);
3677--menu-top-level-font-size-desktop: 1rem; --menu-top-level-font-style: var(--font-accent--style); --menu-top-level-font-weight: var(--font-accent--weight); --menu-top-level-font-case:uppercase;
3678
3679  --menu-top-level-font-size: var(--menu-font-sm--size); --menu-top-level-font-line-height:
3680  var(--menu-font-sm--line-height);
3681
3682--menu-top-level-font-color: var(--color-foreground); --menu-top-level-font-color-rgb: var(--color-foreground-rgb);
3683"
3684          >
3685            
3686            <overflow-list
3687  
3688    ref="overflowMenu"
3689  
3690  
3691    class="overflow-menu color-scheme-7"
3692  
3693  
3694    minimum-items="2"
3695  
3696  
3697    data-testid="header-menu-overflow-list"
3698  
3699  
3700    data-skip-node-update
3701  
3702>
3703  <template shadowrootmode="open">
3704    <link href="//luxupur.de/cdn/shop/t/97/assets/overflow-list.css?v=101911674359793798601781436597" rel="stylesheet" type="text/css" media="all" />
3705
3706    <ul part="list">
3707      <slot></slot>
3708      <slot
3709        name="more"
3710        part="more"
3711        hidden
3712        
3713      >
3714        <li
3715          part="more"
3716        >
3717          <button
3718            class="button"
3719            type="button"
3720            tabindex="0"
3721          >
3722            Mehr
3723          </button>
3724        </li>
3725      </slot>
3726      <li
3727        part="placeholder"
3728        hidden
3729      ></li>
3730    </ul>
3731
3732    <div part="overflow">
3733      <ul part="overflow-list">
3734        <slot name="overflow"></slot>
3735      </ul>
3736    </div>
3737  </template>
3738
3739  
3740      
3741        <li
3742          role="presentation"
3743          class="menu-list__list-item"
3744          on:focus="/activate"
3745          on:blur="/deactivate"
3746          on:pointerenter="/activate"
3747          on:pointerleave="/deactivate"
3748        >
3749          <a
3750            href="/products/luxupur-orthosleep-koerperprofil-matratze"
3751            data-skip-node-update="true"
3752            class="menu-list__link"ref="menuitem"
3753          >
3754            <span class="menu-list__link-title">Matratze</span>
3755          </a></li>
3756      
3757        <li
3758          role="presentation"
3759          class="menu-list__list-item"
3760          on:focus="/activate"
3761          on:blur="/deactivate"
3762          on:pointerenter="/activate"
3763          on:pointerleave="/deactivate"
3764        >
3765          <a
3766            href="/products/luxupur-orthotop-topper"
3767            data-skip-node-update="true"
3768            class="menu-list__link"ref="menuitem"
3769          >
3770            <span class="menu-list__link-title">Topper</span>
3771          </a></li>
3772      
3773        <li
3774          role="presentation"
3775          class="menu-list__list-item"
3776          on:focus="/activate"
3777          on:blur="/deactivate"
3778          on:pointerenter="/activate"
3779          on:pointerleave="/deactivate"
3780        >
3781          <a
3782            href="/products/luxupur-orthotop-split-topper"
3783            data-skip-node-update="true"
3784            class="menu-list__link"ref="menuitem"
3785          >
3786            <span class="menu-list__link-title">Split-Topper</span>
3787          </a></li>
3788      
3789        <li
3790          role="presentation"
3791          class="menu-list__list-item"
3792          on:focus="/activate"
3793          on:blur="/deactivate"
3794          on:pointerenter="/activate"
3795          on:pointerleave="/deactivate"
3796        >
3797          <a
3798            href="/pages/luxupur-kissen"
3799            data-skip-node-update="true"
3800            class="menu-list__link"ref="menuitem"
3801          >
3802            <span class="menu-list__link-title">Kissen</span>
3803          </a></li>
3804      
3805        <li
3806          role="presentation"
3807          class="menu-list__list-item"
3808          on:focus="/activate"
3809          on:blur="/deactivate"
3810          on:pointerenter="/activate"
3811          on:pointerleave="/deactivate"
3812        >
3813          <a
3814            href="/pages/luxupur-lattenroste"
3815            data-skip-node-update="true"
3816            class="menu-list__link"ref="menuitem"
3817          >
3818            <span class="menu-list__link-title">Lattenroste</span>
3819          </a></li>
3820      
3821        <li
3822          role="presentation"
3823          class="menu-list__list-item"
3824          on:focus="/activate"
3825          on:blur="/deactivate"
3826          on:pointerenter="/activate"
3827          on:pointerleave="/deactivate"
3828        >
3829          <a
3830            href="/pages/sonderanfertigung"
3831            data-skip-node-update="true"
3832            class="menu-list__link"ref="menuitem"
3833          >
3834            <span class="menu-list__link-title">Sondergrösse Anfragen</span>
3835          </a></li>
3836      
3837        <li
3838          role="presentation"
3839          class="menu-list__list-item"
3840          on:focus="/activate"
3841          on:blur="/deactivate"
3842          on:pointerenter="/activate"
3843          on:pointerleave="/deactivate"
3844        >
3845          <a
3846            href="/pages/uber-luxupur"
3847            data-skip-node-update="true"
3848            class="menu-list__link"ref="menuitem"
3849          >
3850            <span class="menu-list__link-title">Über Luxupur®</span>
3851          </a></li>
3852      
3853      <li
3854        class="menu-list__list-item"
3855        role="presentation"
3856        slot="more"
3857        on:focus="/activate"
3858        on:blur="/deactivate"
3859        on:pointerenter="/activate"
3860        on:pointerleave="/deactivate"
3861      >
3862        <button role="menuitem" class="button menu-list__link button-unstyled">
3863          <span class="menu-list__link-title">Mehr</span>
3864        </button>
3865      </li>
3866    
3867</overflow-list>
3868
3869          </div>
3870        </nav>
3871      </div>
3872
3873      
3873<script
3874        src="//luxupur.de/cdn/shop/t/97/assets/header-menu.js?v=32392277473258403531781436597"
3875        type="module"
3876        fetchpriority="low"
3877      ></script>
3877
3878    </header-menu>
3879
3880
3881
3882
3883
3884
3885            
3886        
3887      
3888    </div><div
3889      class="header__column header__column--right"
3890      data-testid="header-top-right"
3891    >
3892      
3893        
3894          
3895              
3896  
3897  
3898    <dropdown-localization-component
3899      class="dropdown-localization mobile:hidden"
3900    >
3901      <button
3902        type="button"
3903        class="button dropdown-localization__button localization-selector link link--text"
3904        aria-expanded="false"
3905        aria-controls="dropdown-localization-results"
3906        ref="button"
3907        on:click="/toggleSelector"
3908        style="--menu-localization-font: var(--font-heading--family);  --menu-localization-font-size: 0.75rem; "
3909      >
3910        
3911          
3912          <span
3913            class="currency-code"
3914            data-testid="localization-currency-code"
3915          >EUR</span>
3916        
3917        <span
3918          class="visually-hidden"
3919          data-testid="localization-visually-hidden"
3920        >Region- und Sprachwahl</span><span class="svg-wrapper icon-caret"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
3921  <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
3922</svg>
3923</span>
3924      </button>
3925
3926      <div
3927        class="localization-wrapper right-bound color-scheme-6"
3928        hidden
3929        ref="panel"
3930      >
3931        
3932<localization-form-component
3933  ref="localizationForm"
3934  data-label-results-count="[count] Ergebnisse"
3935  data-show-filter="true"
3936  style="--menu-localization-font: var(--font-heading--family); --menu-localization-font-size: 0.75rem; --color-shadow: rgb(var(--color-foreground-rgb) / var(--opacity-10-25));"
3937>
3938  
3939<form method="post" action="/localization" id="LocalizationForm" accept-charset="UTF-8" class="localization-form" enctype="multipart/form-data" ref="form" aria-label="Region und Sprache"><input type="hidden" name="form_type" value="localization" /><input type="hidden" name="utf8" value="✓" /><input type="hidden" name="_method" value="put" />
3940      
3941        <div class="country-filter">
3942          <div class="field">
3943            <div class="country-filter__search-icon field__button motion-reduce">
3944              <span class="svg-wrapper">
3945                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="9" cy="9" r="4.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m12.5 12.5 3.25 3.25"/></svg>
3946
3947              </span>
3948            </div>
3949            <input
3950              class="country-filter__input"
3951              id="country-filter-input"
3952              type="search"
3953              name="country_filter"
3954              value=""
3955              placeholder="Suchen"
3956              role="combobox"
3957              aria-owns="country-results"
3958              aria-controls="country-results"
3959              aria-haspopup="listbox"
3960              aria-autocomplete="list"
3961              aria-label="Land finden"
3962              autocorrect="off"
3963              autocomplete="off"
3964              autocapitalize="off"
3965              spellcheck="false"
3966              ref="search"
3967              on:keyup="/filterCountries"
3968            >
3969            <label
3970              class="field__label visually-hidden"
3971              for="country-filter-input"
3972            >Suche</label>
3973            <button
3974              type="reset"
3975              class="button button-unstyled country-filter__reset-button field__button"
3976              aria-label="Zurücksetzen"
3977              ref="resetButton"
3978              hidden
3979              on:click="/resetCountriesFilter"
3980            >
3981              <span class="svg-wrapper">
3982                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="10" cy="10" r="6.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m12.5 7.5-5 5M12.5 12.5l-5-5"/></svg>
3983
3984              </span>
3985            </button>
3986          </div>
3987        </div>
3988      
3989      <div class="country-selector-form__wrapper">
3990        <h2
3991          class="visually-hidden"
3992          id="dropdown-CountryLabel"
3993        >
3994          Country/Region
3995        </h2>
3996        
3997          <div
3998            id="sr-country-search-results-"
3999            class="visually-hidden"
4000            aria-live="polite"
4001            ref="liveRegion"
4002          ></div>
4003        
4004        <div
4005          class="localization-form__list country-selector__list country-selector__list--with-multiple-currencies"
4006          id="dropdown-country-results"
4007          ref="countryList"
4008        >
4009          
4010          <ul
4011            role="list"
4012            class="list-unstyled countries"
4013          >
4014            <span
4015              class="localization-form__list-item localization-form__list-item-disabled"
4016              id="no-results-message"
4017              ref="noResultsMessage"
4018              hidden
4019            >Keine Ergebnisse gefunden</span>
4020              <li
4021                class="localization-form__list-item"
4022                
4023                data-value="BE"
4024                
4025                  data-aliases=""
4026                
4027                id="Belgien"
4028                aria-label="Belgien"
4029                role="option"
4030                tabindex="-1"
4031                ref="countryListItems[]"
4032                on:click="/selectCountry/BE"
4033              >
4034                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
4035<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
4036</svg>
4037</span>
4038                <span class="country">Belgien</span>
4039                <span
4040                  class="localization-form__currency motion-reduce"
4041                  
4042                >
4043                  EUR
4044                  €</span>
4045              </li>
4046              <li
4047                class="localization-form__list-item"
4048                
4049                data-value="BG"
4050                
4051                  data-aliases=""
4052                
4053                id="Bulgarien"
4054                aria-label="Bulgarien"
4055                role="option"
4056                tabindex="-1"
4057                ref="countryListItems[]"
4058                on:click="/selectCountry/BG"
4059              >
4060                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
4061<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
4062</svg>
4063</span>
4064                <span class="country">Bulgarien</span>
4065                <span
4066                  class="localization-form__currency motion-reduce"
4067                  
4068                >
4069                  EUR
4070                  €</span>
4071              </li>
4072              <li
4073                class="localization-form__list-item"
4074                
4075                data-value="DK"
4076                
4077                  data-aliases=""
4078                
4079                id="Dänemark"
4080                aria-label="Dänemark"
4081                role="option"
4082                tabindex="-1"
4083                ref="countryListItems[]"
4084                on:click="/selectCountry/DK"
4085              >
4086                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
4087<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
4088</svg>
4089</span>
4090                <span class="country">Dänemark</span>
4091                <span
4092                  class="localization-form__currency motion-reduce"
4093                  
4094                >
4095                  EUR
4096                  €</span>
4097              </li>
4098              <li
4099                class="localization-form__list-item"
4100                
4101                  aria-current="true"
4102                
4103                data-value="DE"
4104                
4105                  data-aliases=""
4106                
4107                id="Deutschland"
4108                aria-label="Deutschland"
4109                role="option"
4110                tabindex="-1"
4111                ref="countryListItems[]"
4112                on:click="/selectCountry/DE"
4113              >
4114                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
4115<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
4116</svg>
4117</span>
4118                <span class="country">Deutschland</span>
4119                <span
4120                  class="localization-form__currency motion-reduce"
4121                  
4122                >
4123                  EUR
4124                  €</span>
4125              </li>
4126              <li
4127                class="localization-form__list-item"
4128                
4129                data-value="EE"
4130                
4131                  data-aliases=""
4132                
4133                id="Estland"
4134                aria-label="Estland"
4135                role="option"
4136                tabindex="-1"
4137                ref="countryListItems[]"
4138                on:click="/selectCountry/EE"
4139              >
4140                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
4141<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
4142</svg>
4143</span>
4144                <span class="country">Estland</span>
4145                <span
4146                  class="localization-form__currency motion-reduce"
4147                  
4148                >
4149                  EUR
4150                  €</span>
4151              </li>
4152              <li
4153                class="localization-form__list-item"
4154                
4155                data-value="FI"
4156                
4157                  data-aliases=""
4158                
4159                id="Finnland"
4160                aria-label="Finnland"
4161                role="option"
4162                tabindex="-1"
4163                ref="countryListItems[]"
4164                on:click="/selectCountry/FI"
4165              >
4166                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
4167<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
4168</svg>
4169</span>
4170                <span class="country">Finnland</span>
4171                <span
4172                  class="localization-form__currency motion-reduce"
4173                  
4174                >
4175                  EUR
4176                  €</span>
4177              </li>
4178              <li
4179                class="localization-form__list-item"
4180                
4181                data-value="FR"
4182                
4183                  data-aliases=""
4184                
4185                id="Frankreich"
4186                aria-label="Frankreich"
4187                role="option"
4188                tabindex="-1"
4189                ref="countryListItems[]"
4190                on:click="/selectCountry/FR"
4191              >
4192                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
4193<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
4194</svg>
4195</span>
4196                <span class="country">Frankreich</span>
4197                <span
4198                  class="localization-form__currency motion-reduce"
4199                  
4200                >
4201                  EUR
4202                  €</span>
4203              </li>
4204              <li
4205                class="localization-form__list-item"
4206                
4207                data-value="GR"
4208                
4209                  data-aliases=""
4210                
4211                id="Griechenland"
4212                aria-label="Griechenland"
4213                role="option"
4214                tabindex="-1"
4215                ref="countryListItems[]"
4216                on:click="/selectCountry/GR"
4217              >
4218                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
4219<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
4220</svg>
4221</span>
4222                <span class="country">Griechenland</span>
4223                <span
4224                  class="localization-form__currency motion-reduce"
4225                  
4226                >
4227                  EUR
4228                  €</span>
4229              </li>
4230              <li
4231                class="localization-form__list-item"
4232                
4233                data-value="IE"
4234                
4235                  data-aliases=""
4236                
4237                id="Irland"
4238                aria-label="Irland"
4239                role="option"
4240                tabindex="-1"
4241                ref="countryListItems[]"
4242                on:click="/selectCountry/IE"
4243              >
4244                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
4245<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
4246</svg>
4247</span>
4248                <span class="country">Irland</span>
4249                <span
4250                  class="localization-form__currency motion-reduce"
4251                  
4252                >
4253                  EUR
4254                  €</span>
4255              </li>
4256              <li
4257                class="localization-form__list-item"
4258                
4259                data-value="IT"
4260                
4261                  data-aliases=""
4262                
4263                id="Italien"
4264                aria-label="Italien"
4265                role="option"
4266                tabindex="-1"
4267                ref="countryListItems[]"
4268                on:click="/selectCountry/IT"
4269              >
4270                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
4271<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
4272</svg>
4273</span>
4274                <span class="country">Italien</span>
4275                <span
4276                  class="localization-form__currency motion-reduce"
4277                  
4278                >
4279                  EUR
4280                  €</span>
4281              </li>
4282              <li
4283                class="localization-form__list-item"
4284                
4285                data-value="HR"
4286                
4287                  data-aliases=""
4288                
4289                id="Kroatien"
4290                aria-label="Kroatien"
4291                role="option"
4292                tabindex="-1"
4293                ref="countryListItems[]"
4294                on:click="/selectCountry/HR"
4295              >
4296                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
4297<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
4298</svg>
4299</span>
4300                <span class="country">Kroatien</span>
4301                <span
4302                  class="localization-form__currency motion-reduce"
4303                  
4304                >
4305                  EUR
4306                  €</span>
4307              </li>
4308              <li
4309                class="localization-form__list-item"
4310                
4311                data-value="LV"
4312                
4313                  data-aliases=""
4314                
4315                id="Lettland"
4316                aria-label="Lettland"
4317                role="option"
4318                tabindex="-1"
4319                ref="countryListItems[]"
4320                on:click="/selectCountry/LV"
4321              >
4322                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
4323<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
4324</svg>
4325</span>
4326                <span class="country">Lettland</span>
4327                <span
4328                  class="localization-form__currency motion-reduce"
4329                  
4330                >
4331                  EUR
4332                  €</span>
4333              </li>
4334              <li
4335                class="localization-form__list-item"
4336                
4337                data-value="LT"
4338                
4339                  data-aliases=""
4340                
4341                id="Litauen"
4342                aria-label="Litauen"
4343                role="option"
4344                tabindex="-1"
4345                ref="countryListItems[]"
4346                on:click="/selectCountry/LT"
4347              >
4348                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
4349<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
4350</svg>
4351</span>
4352                <span class="country">Litauen</span>
4353                <span
4354                  class="localization-form__currency motion-reduce"
4355                  
4356                >
4357                  EUR
4358                  €</span>
4359              </li>
4360              <li
4361                class="localization-form__list-item"
4362                
4363                data-value="LU"
4364                
4365                  data-aliases=""
4366                
4367                id="Luxemburg"
4368                aria-label="Luxemburg"
4369                role="option"
4370                tabindex="-1"
4371                ref="countryListItems[]"
4372                on:click="/selectCountry/LU"
4373              >
4374                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
4375<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
4376</svg>
4377</span>
4378                <span class="country">Luxemburg</span>
4379                <span
4380                  class="localization-form__currency motion-reduce"
4381                  
4382                >
4383                  EUR
4384                  €</span>
4385              </li>
4386              <li
4387                class="localization-form__list-item"
4388                
4389                data-value="MT"
4390                
4391                  data-aliases=""
4392                
4393                id="Malta"
4394                aria-label="Malta"
4395                role="option"
4396                tabindex="-1"
4397                ref="countryListItems[]"
4398                on:click="/selectCountry/MT"
4399              >
4400                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
4401<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
4402</svg>
4403</span>
4404                <span class="country">Malta</span>
4405                <span
4406                  class="localization-form__currency motion-reduce"
4407                  
4408                >
4409                  EUR
4410                  €</span>
4411              </li>
4412              <li
4413                class="localization-form__list-item"
4414                
4415                data-value="NL"
4416                
4417                  data-aliases=""
4418                
4419                id="Niederlande"
4420                aria-label="Niederlande"
4421                role="option"
4422                tabindex="-1"
4423                ref="countryListItems[]"
4424                on:click="/selectCountry/NL"
4425              >
4426                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
4427<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
4428</svg>
4429</span>
4430                <span class="country">Niederlande</span>
4431                <span
4432                  class="localization-form__currency motion-reduce"
4433                  
4434                >
4435                  EUR
4436                  €</span>
4437              </li>
4438              <li
4439                class="localization-form__list-item"
4440                
4441                data-value="AT"
4442                
4443                  data-aliases=""
4444                
4445                id="Österreich"
4446                aria-label="Österreich"
4447                role="option"
4448                tabindex="-1"
4449                ref="countryListItems[]"
4450                on:click="/selectCountry/AT"
4451              >
4452                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
4453<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
4454</svg>
4455</span>
4456                <span class="country">Österreich</span>
4457                <span
4458                  class="localization-form__currency motion-reduce"
4459                  
4460                >
4461                  EUR
4462                  €</span>
4463              </li>
4464              <li
4465                class="localization-form__list-item"
4466                
4467                data-value="PL"
4468                
4469                  data-aliases=""
4470                
4471                id="Polen"
4472                aria-label="Polen"
4473                role="option"
4474                tabindex="-1"
4475                ref="countryListItems[]"
4476                on:click="/selectCountry/PL"
4477              >
4478                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
4479<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
4480</svg>
4481</span>
4482                <span class="country">Polen</span>
4483                <span
4484                  class="localization-form__currency motion-reduce"
4485                  
4486                >
4487                  EUR
4488                  €</span>
4489              </li>
4490              <li
4491                class="localization-form__list-item"
4492                
4493                data-value="PT"
4494                
4495                  data-aliases=""
4496                
4497                id="Portugal"
4498                aria-label="Portugal"
4499                role="option"
4500                tabindex="-1"
4501                ref="countryListItems[]"
4502                on:click="/selectCountry/PT"
4503              >
4504                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
4505<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
4506</svg>
4507</span>
4508                <span class="country">Portugal</span>
4509                <span
4510                  class="localization-form__currency motion-reduce"
4511                  
4512                >
4513                  EUR
4514                  €</span>
4515              </li>
4516              <li
4517                class="localization-form__list-item"
4518                
4519                data-value="RO"
4520                
4521                  data-aliases=""
4522                
4523                id="Rumänien"
4524                aria-label="Rumänien"
4525                role="option"
4526                tabindex="-1"
4527                ref="countryListItems[]"
4528                on:click="/selectCountry/RO"
4529              >
4530                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
4531<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
4532</svg>
4533</span>
4534                <span class="country">Rumänien</span>
4535                <span
4536                  class="localization-form__currency motion-reduce"
4537                  
4538                >
4539                  EUR
4540                  €</span>
4541              </li>
4542              <li
4543                class="localization-form__list-item"
4544                
4545                data-value="SE"
4546                
4547                  data-aliases=""
4548                
4549                id="Schweden"
4550                aria-label="Schweden"
4551                role="option"
4552                tabindex="-1"
4553                ref="countryListItems[]"
4554                on:click="/selectCountry/SE"
4555              >
4556                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
4557<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
4558</svg>
4559</span>
4560                <span class="country">Schweden</span>
4561                <span
4562                  class="localization-form__currency motion-reduce"
4563                  
4564                >
4565                  EUR
4566                  €</span>
4567              </li>
4568              <li
4569                class="localization-form__list-item"
4570                
4571                data-value="CH"
4572                
4573                  data-aliases=""
4574                
4575                id="Schweiz"
4576                aria-label="Schweiz"
4577                role="option"
4578                tabindex="-1"
4579                ref="countryListItems[]"
4580                on:click="/selectCountry/CH"
4581              >
4582                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
4583<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
4584</svg>
4585</span>
4586                <span class="country">Schweiz</span>
4587                <span
4588                  class="localization-form__currency motion-reduce"
4589                  
4590                >
4591                  CHF
4592                  CHF</span>
4593              </li>
4594              <li
4595                class="localization-form__list-item"
4596                
4597                data-value="SK"
4598                
4599                  data-aliases=""
4600                
4601                id="Slowakei"
4602                aria-label="Slowakei"
4603                role="option"
4604                tabindex="-1"
4605                ref="countryListItems[]"
4606                on:click="/selectCountry/SK"
4607              >
4608                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
4609<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
4610</svg>
4611</span>
4612                <span class="country">Slowakei</span>
4613                <span
4614                  class="localization-form__currency motion-reduce"
4615                  
4616                >
4617                  EUR
4618                  €</span>
4619              </li>
4620              <li
4621                class="localization-form__list-item"
4622                
4623                data-value="SI"
4624                
4625                  data-aliases=""
4626                
4627                id="Slowenien"
4628                aria-label="Slowenien"
4629                role="option"
4630                tabindex="-1"
4631                ref="countryListItems[]"
4632                on:click="/selectCountry/SI"
4633              >
4634                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
4635<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
4636</svg>
4637</span>
4638                <span class="country">Slowenien</span>
4639                <span
4640                  class="localization-form__currency motion-reduce"
4641                  
4642                >
4643                  EUR
4644                  €</span>
4645              </li>
4646              <li
4647                class="localization-form__list-item"
4648                
4649                data-value="ES"
4650                
4651                  data-aliases=""
4652                
4653                id="Spanien"
4654                aria-label="Spanien"
4655                role="option"
4656                tabindex="-1"
4657                ref="countryListItems[]"
4658                on:click="/selectCountry/ES"
4659              >
4660                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
4661<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
4662</svg>
4663</span>
4664                <span class="country">Spanien</span>
4665                <span
4666                  class="localization-form__currency motion-reduce"
4667                  
4668                >
4669                  EUR
4670                  €</span>
4671              </li>
4672              <li
4673                class="localization-form__list-item"
4674                
4675                data-value="CZ"
4676                
4677                  data-aliases=""
4678                
4679                id="Tschechien"
4680                aria-label="Tschechien"
4681                role="option"
4682                tabindex="-1"
4683                ref="countryListItems[]"
4684                on:click="/selectCountry/CZ"
4685              >
4686                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
4687<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
4688</svg>
4689</span>
4690                <span class="country">Tschechien</span>
4691                <span
4692                  class="localization-form__currency motion-reduce"
4693                  
4694                >
4695                  EUR
4696                  €</span>
4697              </li>
4698              <li
4699                class="localization-form__list-item"
4700                
4701                data-value="HU"
4702                
4703                  data-aliases=""
4704                
4705                id="Ungarn"
4706                aria-label="Ungarn"
4707                role="option"
4708                tabindex="-1"
4709                ref="countryListItems[]"
4710                on:click="/selectCountry/HU"
4711              >
4712                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
4713<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
4714</svg>
4715</span>
4716                <span class="country">Ungarn</span>
4717                <span
4718                  class="localization-form__currency motion-reduce"
4719                  
4720                >
4721                  EUR
4722                  €</span>
4723              </li>
4724              <li
4725                class="localization-form__list-item"
4726                
4727                data-value="CY"
4728                
4729                  data-aliases=""
4730                
4731                id="Zypern"
4732                aria-label="Zypern"
4733                role="option"
4734                tabindex="-1"
4735                ref="countryListItems[]"
4736                on:click="/selectCountry/CY"
4737              >
4738                <span class="svg-wrapper icon-checkmark"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon-checkmark">
4739<path d="M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
4740</svg>
4741</span>
4742                <span class="country">Zypern</span>
4743                <span
4744                  class="localization-form__currency motion-reduce"
4745                  
4746                >
4747                  EUR
4748                  €</span>
4749              </li></ul>
4750        </div>
4751        <div class="country-selector__overlay"></div>
4752        <input
4753          type="hidden"
4754          name="country_code"
4755          value="DE"
4756          ref="countryInput"
4757        >
4758      </div>
4759    
4760
4761    
4762</form></localization-form-component>
4763
4764
4765
4766      </div>
4767    </dropdown-localization-component>
4768  
4769
4770            
4771        
4772      
4773        
4774          
4775              
4776  <search-button class="search-action mobile:hidden">
4777    <button
4778      on:click="#search-modal/showDialog"
4779      class="button button-unstyled search-modal__button header-actions__action"
4780      aria-label="Suchen"
4781      aria-haspopup="dialog"
4782    >
4783      <span
4784        aria-hidden="true"
4785        class="svg-wrapper"
4786      >
4787        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="9" cy="9" r="4.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m12.5 12.5 3.25 3.25"/></svg>
4788
4789      </span>
4790    </button>
4791  </search-button>
4792
4793
4794
4795
4796            
4797        
4798      
4799        
4800          
4801              
4801<script
4802  type="module"
4803  src="//luxupur.de/cdn/shop/t/97/assets/cart-icon.js?v=157241182139685326961781436597"
4804  fetchpriority="low"
4805></script>
4805
4806
4807
4808
4809<header-actions>
4810  
4811    
4812
4813    <anchored-popover-component
4814      data-close-on-resize="true"
4815      class="account-popover mobile:hidden"
4816    >
4817      <button
4818  class="account-button header-actions__action"
4819  aria-label="Konto"
4820  aria-haspopup="dialog"popovertarget="account-popover"
4821    popovertargetaction="toggle"ref="trigger"
4822  
4823><span
4824      class="account-button__icon"
4825      aria-hidden="true"
4826    ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="10" cy="6.5" r="2.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m5.172 14.591-.437.786a.588.588 0 0 0 .514.873h9.502a.588.588 0 0 0 .514-.873l-.437-.786a5.523 5.523 0 0 0-9.656 0"/></svg>
4827</span></button>
4828
4829
4830
4831      <div
4832        class="account-popover__panel details-content color-scheme-6"
4833        id="account-popover"
4834        popover="auto"
4835        ref="popover"
4836      >
4837        <div class="account-actions">
4838  <div class="account-actions__main-menu">
4839    <header class="account-actions__header">
4840      <h2
4841        id="account-drawer-heading"
4842        class="account-actions__title h5"
4843      >
4844        
4845          Konto
4846        
4847      </h2>
4848      
4849    </header>
4850
4851    
4852      <div
4853        class="account-actions__sign-ins"
4854        data-skip-subtree-update="true"
4855      >
4856        
4856<script
4857          src="//luxupur.de/cdn/shop/t/97/assets/account-login-actions.js?v=132624473766457443991781436597"
4858          type="module"
4859          fetchpriority="low"
4860        ></script>
4860
4861        <account-login-actions class="account-actions__shop-login">
4862          
4862<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.shop-login-button.de.esm.js"></script>
vendor: 1 bytes, line 4862
4862
4863<script type="module">
4864  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.shop-login-button.de.esm.js");
4865
4866  
4867</script>
4867
4868
4869<shop-login-button ux-mode="windoid" return-uri="https://luxupur.de/account/redirect" proxy="true" proxy-core-idp="true" redirect-type="iframe" response-type="code"></shop-login-button>
4870
4871        </account-login-actions>
4872
4873        <a
4874          href="/customer_authentication/login?return_to=%2Fcart&locale=de&ui_hint=full&region_country=DE"
4875          class="account-actions__link button"
4876        >
4877          <span class="account-actions__sign-in-text">
4878            Andere Anmeldeoptionen
4879          </span>
4880          <span class="account-actions__fallback-text">
4881            Anmelden
4882          </span>
4883        </a>
4884      </div>
4885    
4886
4887    <nav class="account-actions__nav">
4888      <ul class="account-actions__list">
4889        <li class="account-actions__list-item">
4890          <a
4891            href="/account"
4892            class="account-actions__link button-secondary"
4893          >
4894            <span
4895              class="account-actions__icon"
4896              aria-hidden="true"
4897            ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none">
4898  <path stroke-linecap="round" stroke="currentColor" stroke-width="var(--icon-stroke-width)" d="M2.929 7.705c0-.482.154-.95.44-1.338L5.06 4.08c.303-.41.783-.652 1.293-.652h7.42c.525 0 1.018.257 1.319.69l1.577 2.266c.262.377.403.826.403 1.285v8.294c0 .888-.72 1.608-1.608 1.608H4.536c-.888 0-1.607-.72-1.607-1.608V7.705Z"/>
4899  <path stroke="currentColor" stroke-width="var(--icon-stroke-width)" d="M2.929 6.965h14.143M10 3.428v3.535M6.143 14.035v-2.571c0-.178.143-.321.321-.321h3.857c.178 0 .322.143.322.321v2.571a.321.321 0 0 1-.322.322H6.464a.321.321 0 0 1-.321-.322Z"/>
4900</svg>
4901</span>
4902            Bestellungen
4903          </a>
4904        </li>
4905        <li class="account-actions__list-item">
4906          <a
4907            href="/account/addresses"
4908            class="account-actions__link button-secondary"
4909          >
4910            <span
4911              class="account-actions__icon"
4912              aria-hidden="true"
4913            ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="10" cy="6.5" r="2.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m5.172 14.591-.437.786a.588.588 0 0 0 .514.873h9.502a.588.588 0 0 0 .514-.873l-.437-.786a5.523 5.523 0 0 0-9.656 0"/></svg>
4914</span>
4915            Profil
4916          </a>
4917        </li>
4918      </ul>
4919    </nav>
4920  </div>
4921</div>
4922
4923
4924
4925      </div>
4926    </anchored-popover-component>
4927
4928    <dialog-component
4929      class="account-drawer"
4930      
4931    >
4932      <button
4933  class="account-button header-actions__action"
4934  aria-label="Konto"
4935  aria-haspopup="dialog"ref="trigger"
4936  on:click="/showDialog"
4937><span
4938      class="account-button__icon"
4939      aria-hidden="true"
4940    ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="10" cy="6.5" r="2.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m5.172 14.591-.437.786a.588.588 0 0 0 .514.873h9.502a.588.588 0 0 0 .514-.873l-.437-.786a5.523 5.523 0 0 0-9.656 0"/></svg>
4941</span></button>
4942
4943
4944
4945      <dialog
4946        ref="dialog"
4947        class="color-scheme-6 dialog-modal dialog-drawer dialog-bottom-sheet account-drawer__dialog"
4948        scroll-lock
4949        aria-labelledby="account-drawer-heading"
4950      >
4951        <button
4952          ref="closeButton"
4953          on:click="/closeDialog"
4954          class="button button-unstyled close-button account-drawer__close-button"
4955          aria-label="Dialogfeld schließen"
4956          autofocus
4957        >
4958          <span
4959            class="svg-wrapper"
4960            aria-hidden="true"
4961          ><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
4962  <path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
4963  <path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
4964</svg>
4965</span>
4966        </button>
4967        <div class="account-actions">
4968  <div class="account-actions__main-menu">
4969    <header class="account-actions__header">
4970      <h2
4971        id="account-drawer-heading"
4972        class="account-actions__title h5"
4973      >
4974        
4975          Konto
4976        
4977      </h2>
4978      
4979    </header>
4980
4981    
4982      <div
4983        class="account-actions__sign-ins"
4984        data-skip-subtree-update="true"
4985      >
4986        
4986<script
4987          src="//luxupur.de/cdn/shop/t/97/assets/account-login-actions.js?v=132624473766457443991781436597"
4988          type="module"
4989          fetchpriority="low"
4990        ></script>
4990
4991        <account-login-actions class="account-actions__shop-login">
4992          
4992<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.shop-login-button.de.esm.js"></script>
vendor: 1 bytes, line 4992
4992
4993<script type="module">
4994  await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.shop-login-button.de.esm.js");
4995
4996  
4997</script>
4997
4998
4999<shop-login-button ux-mode="windoid" return-uri="https://luxupur.de/account/redirect" proxy="true" proxy-core-idp="true" redirect-type="iframe" response-type="code"></shop-login-button>
5000
5001        </account-login-actions>
5002
5003        <a
5004          href="/customer_authentication/login?return_to=%2Fcart&locale=de&ui_hint=full&region_country=DE"
5005          class="account-actions__link button"
5006        >
5007          <span class="account-actions__sign-in-text">
5008            Andere Anmeldeoptionen
5009          </span>
5010          <span class="account-actions__fallback-text">
5011            Anmelden
5012          </span>
5013        </a>
5014      </div>
5015    
5016
5017    <nav class="account-actions__nav">
5018      <ul class="account-actions__list">
5019        <li class="account-actions__list-item">
5020          <a
5021            href="/account"
5022            class="account-actions__link button-secondary"
5023          >
5024            <span
5025              class="account-actions__icon"
5026              aria-hidden="true"
5027            ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none">
5028  <path stroke-linecap="round" stroke="currentColor" stroke-width="var(--icon-stroke-width)" d="M2.929 7.705c0-.482.154-.95.44-1.338L5.06 4.08c.303-.41.783-.652 1.293-.652h7.42c.525 0 1.018.257 1.319.69l1.577 2.266c.262.377.403.826.403 1.285v8.294c0 .888-.72 1.608-1.608 1.608H4.536c-.888 0-1.607-.72-1.607-1.608V7.705Z"/>
5029  <path stroke="currentColor" stroke-width="var(--icon-stroke-width)" d="M2.929 6.965h14.143M10 3.428v3.535M6.143 14.035v-2.571c0-.178.143-.321.321-.321h3.857c.178 0 .322.143.322.321v2.571a.321.321 0 0 1-.322.322H6.464a.321.321 0 0 1-.321-.322Z"/>
5030</svg>
5031</span>
5032            Bestellungen
5033          </a>
5034        </li>
5035        <li class="account-actions__list-item">
5036          <a
5037            href="/account/addresses"
5038            class="account-actions__link button-secondary"
5039          >
5040            <span
5041              class="account-actions__icon"
5042              aria-hidden="true"
5043            ><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="10" cy="6.5" r="2.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m5.172 14.591-.437.786a.588.588 0 0 0 .514.873h9.502a.588.588 0 0 0 .514-.873l-.437-.786a5.523 5.523 0 0 0-9.656 0"/></svg>
5044</span>
5045            Profil
5046          </a>
5047        </li>
5048      </ul>
5049    </nav>
5050  </div>
5051</div>
5052
5053
5054
5055      </dialog>
5056    </dialog-component>
5057  
5058
5059  
5060    <a
5061      href="/cart"
5062      class="header-actions__action action__cart"
5063      aria-label="Warenkorb"
5064      aria-describedby="cart-bubble-text"
5065    >
5066      
5067  <cart-icon
5068    class="
5069      header-actions__cart-icon
5070      
5071    "
5072    data-testid="cart-icon"
5073  >
5074    <span
5075      class="svg-wrapper"
5076      aria-hidden="true"
5077    >
5078      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="M3.392 6.875h13.216v8.016c0 .567-.224 1.112-.624 1.513-.4.402-.941.627-1.506.627H5.522a2.13 2.13 0 0 1-1.506-.627 2.15 2.15 0 0 1-.624-1.513zM8.818 2.969h2.333c.618 0 1.211.247 1.649.686a2.35 2.35 0 0 1 .683 1.658v1.562H6.486V5.313c0-.622.246-1.218.683-1.658a2.33 2.33 0 0 1 1.65-.686"/></svg>
5079
5080    </span>
5081
5082    <div
5083  ref="cartBubble"
5084  class="cart-bubble visually-hidden"
5085  
5086  
5087    data-maintain-ratio
5088  
5089>
5090  <span class="cart-bubble__background"></span>
5091  <span
5092    ref="cartBubbleText"
5093    id="cart-bubble-text"
5094    class="cart-bubble__text"
5095    
5096      role="status"
5097    
5098  >
5099    <span class="visually-hidden">Artikel im Warenkorb insgesamt: 0
5100    </span>
5101    <span
5102      class="cart-bubble__text-count hidden"
5103      ref="cartBubbleCount"
5104      aria-hidden="true"
5105      data-testid="cart-bubble"
5106    >
51070</span>
5108  </span>
5109</div>
5110
5111  </cart-icon>
5112
5113    </a>
5114  
5115</header-actions>
5116
5117
5118
5119          
5120        
5121      
5122    </div>
5123        </div>
5124      </div>
5125    
5126  
5127    
5128
5129    
5130
5131    
5132    
5133  
5134
5135  
5136</header-component>
5137
5138<script
5139  src="//luxupur.de/cdn/shop/t/97/assets/header.js?v=155792906110242140481781436597"
5140  type="module"
5141></script>
5141
5142
5143
5144
5145
5146  
5146<script type="module">
5147    import { hydrate } from '@theme/section-hydration';
5148    const url = new URL(window.location.href);
5149    url.searchParams.delete('page');
5150    hydrate('sections--29313955201288__header_section', url);
5151  </script>
5151
5152
5153
5154
5155</header>
5156<!-- END sections: header-group -->
5157    </div>
5158
5159    
5159<script>
5160      // Inline header height calculation to prevent layout shift
5161      // Note: Updates in calculateHeaderGroupHeight() and updateTransparentHeaderOffset()utilities.js should be kept in sync with this function
5162      (function setHeaderHeighCustomProperties() {
5163        /*
5164         * Header calculation functions for maintaining CSS variables
5165         * Mimic calculateHeaderGroupHeight() in utilities.js
5166         */
5167        const header = document.querySelector('header-component');
5168        const headerGroup = document.querySelector('#header-group');
5169        const hasHeaderSection = headerGroup?.querySelector('.header-section');
5170
5171        if (!header || !headerGroup) return;
5172
5173        const headerHeight = header.offsetHeight;
5174
5175        // Calculate the total height of the header group
5176        let headerGroupHeight = 0;
5177        const children = headerGroup.children;
5178        for (let i = 0; i < children.length; i++) {
5179          const element = children[i];
5180          if (element === header || !(element instanceof HTMLElement)) continue;
5181          headerGroupHeight += element.offsetHeight;
5182        }
5183
5184        // Check for transparent header special case
5185        if (header.hasAttribute('transparent') && header.parentElement?.nextElementSibling) {
5186          headerGroupHeight += headerHeight;
5187        }
5188
5189        // Set CSS variables
5190        document.body.style.setProperty('--header-height', `${headerHeight}px`);
5191        document.body.style.setProperty('--header-group-height', `${headerGroupHeight}px`);
5192
5193        /**
5194         * Updates CSS custom properties for transparent header offset calculation
5195         * Mimic updateTransparentHeaderOffset() in utilities.js
5196         */
5197
5198        if (!hasHeaderSection || !header?.hasAttribute('transparent')) {
5199          document.body.style.setProperty('--transparent-header-offset-boolean', '0');
5200          return;
5201        }
5202
5203        const hasImmediateSection = hasHeaderSection.nextElementSibling?.classList.contains('shopify-section');
5204
5205        const shouldApplyOffset = !hasImmediateSection ? '1' : '0';
5206        document.body.style.setProperty('--transparent-header-offset-boolean', shouldApplyOffset);
5207      })();
5208    </script>
5208
5209
5210    <main
5211      id="MainContent"
5212      class="content-for-layout"
5213      role="main"
5214      data-page-transition-enabled="false"
5215      data-product-transition="false"
5216      data-template="cart"
5217    >
5218      <div id="shopify-section-template--29313960149256__cart-section" class="shopify-section">
5219
5220<cart-items-component
5221  class="cart-items-component"
5222  data-section-id="template--29313960149256__cart-section"
5223>
5224  <div class="section-background color-scheme-6"></div>
5225  <div
5226    class="section color-scheme-6 section--page-width"
5227  >
5228    <div
5229      class="cart-page spacing-style cart-page--empty"
5230      style="--padding-block-start: 0px;--padding-block-end: max(20px, calc(var(--spacing-scale) * 62px));"
5231    >
5232      <div class="cart-page__title">
5233
5234
5235
5236<div
5237  class="cart-title spacing-style text-left"
5238  style="--padding-block-start: 16px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;"
5239  
5240>
5241  <h1 class="h3">Dein Warenkorb ist leer
5242</h1>
5243</div>
5244
5245
5246
5247
5248
5249      </div>
5250
5251      <div class="cart-page__items">
5252
5253
5254
5255<script
5256  src="//luxupur.de/cdn/shop/t/97/assets/component-cart-items.js?v=47090504063697747641781436597"
5257  type="module"
5258  fetchpriority="low"
5259></script>
vendor: 1 bytes, line 5259
5259
5260<script
5261  src="//luxupur.de/cdn/shop/t/97/assets/component-cart-quantity-selector.js?v=105130809908858639751781436597"
5262  type="module"
5263  fetchpriority="low"
5264></script>
vendor: 1 bytes, line 5264
5264
5265<script
5266  src="//luxupur.de/cdn/shop/t/97/assets/volume-pricing-info.js?v=94479640769665442661781436597"
5267  type="module"
5268  fetchpriority="low"
5269></script>
5269
5270
5271<div
5272  
5273  class="cart-items__wrapper"
5274  
5275>
5276  
5277<p>
5278        Hast du ein Konto? <a href="https://luxupur.de/customer_authentication/redirect?locale=de&region_country=DE">Logge dich ein</a>, damit es beim Checkout schneller geht.
5279      </p><a
5280      class="button cart-items__empty-button"
5281      href="https://luxupur.de/"
5282    >
5283      Weiter einkaufen
5284    </a></div>
5285
5286
5287
5288
5289
5290
5291
5292
5293
5294      </div><div class="cart-page__more-blocks"></div>
5295    </div>
5296  </div>
5297</cart-items-component>
5298
5299
5300
5301
5302
5303
5304</div>
5305    </main>
5306
5307    <!-- BEGIN sections: footer-group -->
5308<footer id="shopify-section-sections--29313955070216__footer_WnX4aJ" class="shopify-section shopify-section-group-footer-group section-wrapper">
5309
5310<div class="section-background color-scheme-7"></div>
5311<div
5312  class="section section--page-width color-scheme-7"
5313>
5314  
5315  <div
5316    class="
5317      footer-content
5318      spacing-style
5319      
5320      
5321    "
5322    style="
5323      --padding-block-start: max(20px, calc(var(--spacing-scale) * 100px));--padding-block-end: max(20px, calc(var(--spacing-scale) * 36px));
5324      --footer-gap: 12px;
5325      --grid-columns: 4;
5326      --last-row-count: 4;
5327      --tablet-last-row-count: 2;
5328    "
5329  >
5330    
5331
5332
5333
5334
5335  <accordion-custom
5336    class="
5337      menu
5338      
5339      
5340    "
5341    data-disable-on-desktop="true"
5342    open-by-default-on-desktop
5343    
5344      data-disable-on-mobile="true"
5345      open-by-default-on-mobile
5346    
5347  >
5348    <details
5349      class="
5350        menu__details
5351        spacing-style
5352        
5353      "
5354      data-testid="menu-details"
5355      style="
5356        --spacing--size: 7px;
5357        --padding-block-start: 0px;--padding-block-end: max(20px, calc(var(--spacing-scale) * 21px));--padding-inline-start: 0px;--padding-inline-end: 0px;
5358      "
5359      
5360        open
5361      
5362      
5363    >
5364      <summary class="menu__heading menu__heading--empty h3">
5365        <span class="menu__heading__default"></span>
5366        <span class="menu__heading__accordion">
5367          Produktmenü
5368          <span class="menu__heading__toggle svg-wrapper icon-caret icon-animated"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
5369  <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
5370</svg>
5371</span>
5372          <span class="menu__heading__toggle svg-wrapper icon-plus"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
5373  <path class="vertical" d="M2.75 7H11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
5374  <path class="horizontal" d="M7 2.75L7 11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
5375</svg>
5376</span>
5377        </span>
5378      </summary>
5379
5380      <div class="details-content">
5381        
5382          <ul class="list-unstyled">
5383            
5384              <li class="menu__item paragraph">
5385                <a href="/products/luxupur-orthosleep-koerperprofil-matratze">
5386                  Matratze
5387                </a>
5388              </li>
5389            
5390              <li class="menu__item paragraph">
5391                <a href="/products/luxupur-orthotop-topper">
5392                  Topper
5393                </a>
5394              </li>
5395            
5396              <li class="menu__item paragraph">
5397                <a href="/products/luxupur-orthotop-split-topper">
5398                  Split-Topper
5399                </a>
5400              </li>
5401            
5402              <li class="menu__item paragraph">
5403                <a href="/pages/luxupur-kissen">
5404                  Kissen
5405                </a>
5406              </li>
5407            
5408              <li class="menu__item paragraph">
5409                <a href="/pages/luxupur-lattenroste">
5410                  Lattenroste
5411                </a>
5412              </li>
5413            
5414              <li class="menu__item paragraph">
5415                <a href="/pages/sonderanfertigung">
5416                  Sondergrösse Anfragen
5417                </a>
5418              </li>
5419            
5420              <li class="menu__item paragraph">
5421                <a href="/pages/uber-luxupur">
5422                  Über Luxupur®
5423                </a>
5424              </li>
5425            
5426          </ul>
5427        
5428      </div>
5429    </details>
5430  </accordion-custom>
5431
5432
5433
5434
5435
5436
5437
5438
5439
5440
5441  <accordion-custom
5442    class="
5443      menu
5444      
5445      
5446    "
5447    data-disable-on-desktop="true"
5448    open-by-default-on-desktop
5449    
5450      data-disable-on-mobile="true"
5451      open-by-default-on-mobile
5452    
5453  >
5454    <details
5455      class="
5456        menu__details
5457        spacing-style
5458        
5459      "
5460      data-testid="menu-details"
5461      style="
5462        --spacing--size: 7px;
5463        --padding-block-start: 0px;--padding-block-end: max(20px, calc(var(--spacing-scale) * 21px));--padding-inline-start: 0px;--padding-inline-end: 0px;
5464      "
5465      
5466        open
5467      
5468      
5469    >
5470      <summary class="menu__heading menu__heading--empty h3">
5471        <span class="menu__heading__default"></span>
5472        <span class="menu__heading__accordion">
5473          Seitenleistenmenü links
5474          <span class="menu__heading__toggle svg-wrapper icon-caret icon-animated"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
5475  <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
5476</svg>
5477</span>
5478          <span class="menu__heading__toggle svg-wrapper icon-plus"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
5479  <path class="vertical" d="M2.75 7H11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
5480  <path class="horizontal" d="M7 2.75L7 11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
5481</svg>
5482</span>
5483        </span>
5484      </summary>
5485
5486      <div class="details-content">
5487        
5488          <ul class="list-unstyled">
5489            
5490              <li class="menu__item paragraph">
5491                <a href="/pages/sonderanfertigung">
5492                  Kontakt
5493                </a>
5494              </li>
5495            
5496              <li class="menu__item paragraph">
5497                <a href="/pages/lieferinformationen">
5498                  Lieferinformationen
5499                </a>
5500              </li>
5501            
5502              <li class="menu__item paragraph">
5503                <a href="/pages/zahlungsoptionen">
5504                  Zahlungsoptionen
5505                </a>
5506              </li>
5507            
5508              <li class="menu__item paragraph">
5509                <a href="/pages/ruecksendung">
5510                  Rücksendung
5511                </a>
5512              </li>
5513            
5514          </ul>
5515        
5516      </div>
5517    </details>
5518  </accordion-custom>
5519
5520
5521
5522
5523
5524
5525
5526
5527
5528
5529  <accordion-custom
5530    class="
5531      menu
5532      
5533      
5534    "
5535    data-disable-on-desktop="true"
5536    open-by-default-on-desktop
5537    
5538      data-disable-on-mobile="true"
5539      open-by-default-on-mobile
5540    
5541  >
5542    <details
5543      class="
5544        menu__details
5545        spacing-style
5546        
5547      "
5548      data-testid="menu-details"
5549      style="
5550        --spacing--size: 7px;
5551        --padding-block-start: 0px;--padding-block-end: max(20px, calc(var(--spacing-scale) * 72px));--padding-inline-start: 0px;--padding-inline-end: 0px;
5552      "
5553      
5554        open
5555      
5556      
5557    >
5558      <summary class="menu__heading menu__heading--empty h3">
5559        <span class="menu__heading__default"></span>
5560        <span class="menu__heading__accordion">
5561          Seitenleistenmenü rechts
5562          <span class="menu__heading__toggle svg-wrapper icon-caret icon-animated"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
5563  <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
5564</svg>
5565</span>
5566          <span class="menu__heading__toggle svg-wrapper icon-plus"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
5567  <path class="vertical" d="M2.75 7H11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
5568  <path class="horizontal" d="M7 2.75L7 11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
5569</svg>
5570</span>
5571        </span>
5572      </summary>
5573
5574      <div class="details-content">
5575        
5576          <ul class="list-unstyled">
5577            
5578              <li class="menu__item paragraph">
5579                <a href="/pages/garantie">
5580                  Garantie
5581                </a>
5582              </li>
5583            
5584              <li class="menu__item paragraph">
5585                <a href="/pages/haufig-gestellte-fragen">
5586                  Häufig gestellte Fragen
5587                </a>
5588              </li>
5589            
5590              <li class="menu__item paragraph">
5591                <a href="/pages/sonderanfertigung">
5592                  Anfrage zu Sondergrössen
5593                </a>
5594              </li>
5595            
5596              <li class="menu__item paragraph">
5597                <a href="/pages/luxupur-newsletter">
5598                  Luxupur® Newsletter
5599                </a>
5600              </li>
5601            
5602          </ul>
5603        
5604      </div>
5605    </details>
5606  </accordion-custom>
5607
5608
5609
5610
5611
5612
5613
5614
5615
5616
5617  <accordion-custom
5618    class="
5619      menu
5620      
5621      
5622    "
5623    data-disable-on-desktop="true"
5624    open-by-default-on-desktop
5625    
5626      data-disable-on-mobile="true"
5627      open-by-default-on-mobile
5628    
5629  >
5630    <details
5631      class="
5632        menu__details
5633        spacing-style
5634        
5635      "
5636      data-testid="menu-details"
5637      style="
5638        --spacing--size: 7px;
5639        --padding-block-start: 0px;--padding-block-end: 0px;--padding-inline-start: 0px;--padding-inline-end: 0px;
5640      "
5641      
5642        open
5643      
5644      
5645    >
5646      <summary class="menu__heading menu__heading--empty h3">
5647        <span class="menu__heading__default"></span>
5648        <span class="menu__heading__accordion">
5649          Luxupur® Richtlinien
5650          <span class="menu__heading__toggle svg-wrapper icon-caret icon-animated"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
5651  <path d="M11 5.5L7 9.5L3 5.5" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
5652</svg>
5653</span>
5654          <span class="menu__heading__toggle svg-wrapper icon-plus"><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
5655  <path class="vertical" d="M2.75 7H11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
5656  <path class="horizontal" d="M7 2.75L7 11.25" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round"/>
5657</svg>
5658</span>
5659        </span>
5660      </summary>
5661
5662      <div class="details-content">
5663        
5664          <ul class="list-unstyled">
5665            
5666              <li class="menu__item paragraph">
5667                <a href="/policies/legal-notice">
5668                  Impressum
5669                </a>
5670              </li>
5671            
5672              <li class="menu__item paragraph">
5673                <a href="/policies/privacy-policy">
5674                  Datenschutzerklärung
5675                </a>
5676              </li>
5677            
5678              <li class="menu__item paragraph">
5679                <a href="/policies/terms-of-service">
5680                  AGB
5681                </a>
5682              </li>
5683            
5684              <li class="menu__item paragraph">
5685                <a href="/policies/refund-policy">
5686                  Widerrufsrecht
5687                </a>
5688              </li>
5689            
5690              <li class="menu__item paragraph">
5691                <a href="/policies/shipping-policy">
5692                  Versandbedingungen
5693                </a>
5694              </li>
5695            
5696          </ul>
5697        
5698      </div>
5699    </details>
5700  </accordion-custom>
5701
5702
5703
5704
5705
5706
5707  </div>
5708</div>
5709
5710
5711
5712
5713</footer><div id="shopify-section-sections--29313955070216__178168012090c12946" class="shopify-section shopify-section-group-footer-group section-wrapper">
5714
5715
5716
5717<div class="section-background color-scheme-14d561a2-4fe3-4ccf-a8e8-e70dfad6e07b"></div>
5718<div
5719  class="section section--page-width color-scheme-14d561a2-4fe3-4ccf-a8e8-e70dfad6e07b"
5720  data-testid="ui-test-section"
5721
5722  
5723
5724  style="
5725    
5726      --section-min-height: 0svh;
5727    
5728
5729    
5730     --section-preview-height: 600px;
5731     
5732  "
5733>
5734  <div class="custom-section-background">
5735    
5736
5737
5738
5739  </div>
5740
5741  <div
5742    class="border-style custom-section-content"
5743    style="--border-width: 1px; --border-style: none; --border-color:
5744rgb(var(--color-border-rgb) / 1.0); --border-radius:
57450px; 
5746"
5747  >
5748    
5749
5750    <div
5751      class="
5752        spacing-style
5753        layout-panel-flex
5754        layout-panel-flex--column
5755        section-content-wrapper
5756         mobile-column
5757      "
5758      style="
5759        --flex-direction: column; --flex-wrap: nowrap; --flex-wrap-mobile: wrap;
5760
5761--gap: 12px;
5762
5763--horizontal-alignment: center; --vertical-alignment: center;
5764--vertical-alignment-mobile: center;
5765
5766        --padding-block-start: 0px;--padding-block-end: 0px;
5767      "
5768      data-testid="section-content"
5769    >
5770      
5771  <div id="shopify-block-AZDVxTlpCWkJvemUve__eu_widerruf_button_button_XPyzeJ" class="shopify-block shopify-app-block">
5772<style>
5773  /* Section Block Button Styles - Namespace: wbs-* (Withdrawal Button Section) */
5774  
5775  .wbs-section-AZDVxTlpCWkJvemUve__eu_widerruf_button_button_XPyzeJ {
5776    padding-top: 40px;
5777    padding-bottom: 40px;
5778    text-align: center;
5779  }
5780
5781  .wbs-button-wrapper-AZDVxTlpCWkJvemUve__eu_widerruf_button_button_XPyzeJ {
5782    display: inline-block;}
5783
5784  .wbs-trigger-btn-AZDVxTlpCWkJvemUve__eu_widerruf_button_button_XPyzeJ {display: inline-block;
5785    cursor: pointer;
5786    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
5787    font-weight: 600;
5788    text-decoration: none;
5789    text-align: center;
5790    transition: all 0.2s ease;
5791    border: none;padding: 14px 28px;
5792        font-size: 16px;background-color: #514e4e;
5793        color: #ffffff;
5794        border: 2px solid #514e4e;
5795        border-radius: 8px;}
5796
5797  .wbs-trigger-btn-AZDVxTlpCWkJvemUve__eu_widerruf_button_button_XPyzeJ:hover {opacity: 0.9;
5798        transform: translateY(-2px);
5799        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);}
5800
5801  .wbs-trigger-btn-AZDVxTlpCWkJvemUve__eu_widerruf_button_button_XPyzeJ:active {
5802    transform: scale(0.98);
5803  }
5804</style>
5805
5806<!-- Section Block Button (Triggers Global Modal) -->
5807<div id="wbs-section-AZDVxTlpCWkJvemUve__eu_widerruf_button_button_XPyzeJ" class="wbs-section-AZDVxTlpCWkJvemUve__eu_widerruf_button_button_XPyzeJ eu-wbs-button">
5808  <div class="wbs-button-wrapper-AZDVxTlpCWkJvemUve__eu_widerruf_button_button_XPyzeJ">
5809    <button 
5810      type="button" 
5811      class="wbs-trigger-btn-AZDVxTlpCWkJvemUve__eu_widerruf_button_button_XPyzeJ" 
5812      id="wbs-trigger-AZDVxTlpCWkJvemUve__eu_widerruf_button_button_XPyzeJ"
5813      aria-label="Widerrufsformular öffnen"
5814    >
5815      Widerruf einreichen
5816    </button>
5817  </div>
5818</div>
5818<script>
5819  window.WITHDRAWAL_EMBED_CONFIG = window.WITHDRAWAL_EMBED_CONFIG || {};
5820  window.WITHDRAWAL_EMBED_CONFIG["AZDVxTlpCWkJvemUve__eu_widerruf_button_button_XPyzeJ"] = {
5821    embedUrl: "https:\/\/euwiderrufsbutton.de\/withdrawal\/proxy\/embed\/withdrawal-form?c_shop=ahsvz2-1w.myshopify.com\u0026c_hmac=6d370740648fa0711be3767c4c1944c5d558248f7d703a2bdbdfd932972f6d8c\u0026c_timestamp=1791331200\u0026c_locale=de\u0026c_country=DE\u0026primaryColor=%23000000\u0026backgroundColor=%23ffffff\u0026textColor=%23212326\u0026borderRadius=8px\u0026maxWidth=100%\u0026showOrderLookup=true\u0026requireOrderNumber=true\u0026hideOrderNotes=false\u0026requireItems=false\u0026confirmStep=false",
5822    heading: "Widerruf erklären",
5823    description: "Füllen Sie das folgende Formular aus, um Ihre Widerrufserklärung abzugeben.",
5824    showHeading: true,
5825    hideOrderNotes: false,
5826    closeLabel: "Schließen",
5827    watermarkHtml: "\u003c!-- BEGIN app snippet: watermark --\u003e\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n  \u003cdiv style=\"justify-content: center; visibility: visible !important; opacity: 1 !important; filter: opacity(1) !important; content-visibility: visible !important; display: flex !important; max-height: 100% !important; overflow: auto !important; width: 100% !important; min-height:20px !important;\"\u003e\n    \u003ca\n      target=\"_blank\"\n      href=\"https:\/\/apps.shopify.com\/eu-widerrufsbutton\"\n       rel=\"nofollow noopener noreferrer\" \n      style=\"transform: scale(1) !important; text-decoration: none; color: rgb(20, 20, 20) !important; align-items: center; font-size: 12px !important; font-weight: 500 !important; display: flex !important; gap: 5px !important; visibility: visible !important; opacity: 1 !important; position: relative !important; filter: opacity(1) !important; content-visibility: visible !important; max-height: 100% !important; overflow: auto !important; min-height:20px !important;\"\u003e\n      \u003cimg alt=\"EU Widerrufsbutton logo\" src=\"https:\/\/cdn.shopify.com\/extensions\/01a0fce3-4c6d-76a2-81ad-90d591b1691b\/eu-widerruf-button-111\/assets\/withdrawal_logo_128px.png\" style=\"vertical-align:bottom !important; height:32px !important; width:32px !important; visibility: visible !important; opacity: 1 !important; position: relative !important; filter: opacity(1) !important; content-visibility: visible !important; max-height: 100% !important; overflow: unset !important; display: flex !important; min-height:32px !important; max-width:32px; min-width:32px !important;\"\/\u003e\n          \u003cspan style=\"transform: scale(1) !important; font-size: 16px; line-height: 1.4; visibility: visible !important; opacity: 1 !important; position: relative !important; filter: opacity(1) !important; content-visibility: visible !important; max-height: 100% !important; overflow: unset !important; display: flex !important; min-height:20px !important; font-weight:bold !important; color:#1250dc !important;\"\u003eEU Widerrufsbutton\u003c\/span\u003e\n    \u003c\/a\u003e\n  \u003c\/div\u003e\u003c!-- END app snippet --\u003e"
5828  };
5829</script>
vendor: 1 bytes, line 5829
5829
5830<script src="https://cdn.shopify.com/extensions/01a0fce3-4c6d-76a2-81ad-90d591b1691b/eu-widerruf-button-111/assets/withdrawal-embed.js" defer></script>
5830
5831
5832<script>
5833(function() {
5834  const blockId = 'AZDVxTlpCWkJvemUve__eu_widerruf_button_button_XPyzeJ';
5835  const alertMsg = "Das Widerrufsformular konnte nicht geladen werden. Bitte versuchen Sie es später erneut.";
5836  
5837  // Single delegated listener: covers clicks on the button and any children,
5838  // including blocks injected after initial render. A direct listener on the
5839  // button itself would fire a second handleAction per click (double modal
5840  // open, double alert chain on asset-load failure).
5841  document.addEventListener('click', function(event) {
5842    const targetId = 'wbs-trigger-' + blockId;
5843    var trigger = event.target;
5844    if (!trigger) return;
5845    var btn = trigger.id === targetId ? trigger : (trigger.closest ? trigger.closest('#' + targetId) : null);
5846    if (btn) handleAction(btn);
5847  });
5848
5849  function handleAction(triggerEl) {
5850    if (window.withdrawalModal && typeof window.withdrawalModal.open === 'function') {
5851      window.withdrawalModal.open(blockId);
5852      return;
5853    }
5854    // The shared script may still be loading (deferred asset). Ask it to open on
5855    // init with this block's config. Single global slot so the last clicked
5856    // block wins when several are clicked within the asset-load window. The
5857    // trigger element is stashed too so focus can be restored to it after the
5858    // modal closes (at deferred-script time document.activeElement is <body>).
5859    window.__wbsPendingOpen = { blockId: blockId, trigger: triggerEl || null };
5860    // Last resort: asset failed to load and no modal initialized. One shared
5861    // chain, re-armed per click, so rapid clicks never stack alert() dialogs.
5862    if (window.__wbsFallbackTimer) clearTimeout(window.__wbsFallbackTimer);
5863    window.__wbsFallbackTimer = setTimeout(function() {
5864      if (window.withdrawalModal && typeof window.withdrawalModal.open === 'function') return;
5865      window.__wbsFallbackTimer = setTimeout(function() {
5866        if (!window.withdrawalModal || typeof window.withdrawalModal.open !== 'function') {
5867          alert(alertMsg);
5868          // The modal will not initialize in time; drop the pending open so a late
5869          // asset load does not open the modal after the alert.
5870          window.__wbsPendingOpen = null;
5871        }
5872      }, 2000);
5873    }, 600);
5874  }
5875})();
5876</script>
5876
5877</div>
5878
5879    </div>
5880  </div>
5881</div>
5882
5883
5884
5885
5886
5887</div><div id="shopify-section-sections--29313955070216__utilities" class="shopify-section shopify-section-group-footer-group footer-utilities">
5888
5889<div class="section-background color-scheme-14d561a2-4fe3-4ccf-a8e8-e70dfad6e07b"></div>
5890<div
5891  class="section section--page-width color-scheme-14d561a2-4fe3-4ccf-a8e8-e70dfad6e07b"
5892  
5893>
5894  <div
5895    class="utilities utilities--blocks-3 spacing-style"
5896    style="--padding-block-start: 20px;--padding-block-end: 20px; --border-width: 0px; --gap: 24px;"
5897    data-testid="footer-utilities"
5898  >
5899    
5900
5901<div
5902  class="
5903    footer-utilities__group-copyright
5904    custom-typography
5905    footer-utilities__text
5906    custom-font-size
5907  "
5908  style="
5909--color: ;--font-size: 0.875rem;      --font-weight: ;--font-family: ;    --text-transform: none;    --text-wrap: pretty;          --line-height: var(--line-height--body-);        --letter-spacing: var(--letter-spacing--body-);"
5910  
5911>
5912  <span class="footer-utilities__text">
5913    &copy; 2026
5914    <a href="/" title="">Luxupur®</a></span>
5915</div>
5916
5917
5918
5919
5920  <anchored-popover-component
5921    class="footer-utilities__policy-list footer-utilities__text"
5922    data-hover-triggered="true"
5923  >
5924    <button
5925      class="policy-list-trigger button-unstyled"
5926      popovertarget="terms-policies-popover"
5927      popovertargetaction="toggle"
5928      ref="trigger"
5929      style="
5930--color: ;--font-size: 0.875rem;      --font-weight: ;--font-family: ;    --text-transform: none;    --text-wrap: pretty;          --line-height: var(--line-height--body-);        --letter-spacing: var(--letter-spacing--body-);"
5931      
5932    >
5933      Geschäftsbedingungen und Richtlinien
5934    </button>
5935    <div
5936      class="terms-policies-popover color-scheme-6"
5937      id="terms-policies-popover"
5938      popover="auto"
5939      ref="popover"
5940    >
5941      <ul
5942        class="
5943          policy_list list-unstyled
5944          custom-typography
5945          custom-font-size
5946        "
5947      ><li>
5948              <a
5949                href="/policies/privacy-policy"
5950                class="footer-utilities__text"
5951              >Datenschutzerklärung</a>
5952            </li><li>
5953              <a
5954                href="/policies/terms-of-service"
5955                class="footer-utilities__text"
5956              >AGB</a>
5957            </li><li>
5958              <a
5959                href="/policies/refund-policy"
5960                class="footer-utilities__text"
5961              >Widerrufsrecht</a>
5962            </li><li>
5963              <a
5964                href="/policies/contact-information"
5965                class="footer-utilities__text"
5966              >Kontaktinformationen</a>
5967            </li><li>
5968              <a
5969                href="/policies/legal-notice"
5970                class="footer-utilities__text"
5971              >Impressum</a>
5972            </li><li>
5973              <a
5974                href="/policies/shipping-policy"
5975                class="footer-utilities__text"
5976              >Versand</a>
5977            </li></ul>
5978    </div>
5979  </anchored-popover-component>
5980
5981
5982
5983
5984
5985
5986
5987<div
5988  class="social-icons__wrapper footer-utilities__icons"
5989  
5990>
5991  
5992
5993  
5994    
5995
5996    
5997    
5998      
5999    
6000  
6001    
6002
6003    
6004    
6005      
6006    
6007  
6008    
6009
6010    
6011    
6012      
6013    
6014  
6015    
6016
6017    
6018    
6019      
6020    
6021  
6022    
6023
6024    
6025    
6026      
6027    
6028  
6029    
6030
6031    
6032    
6033  
6034    
6035
6036    
6037    
6038  
6039    
6040
6041    
6042    
6043  
6044    
6045
6046    
6047    
6048  
6049    
6050
6051    
6052    
6053  
6054    
6055
6056    
6057    
6058  
6059    
6060
6061    
6062    
6063  
6064    
6065
6066    
6067    
6068  
6069</div>
6070
6071
6072
6073
6074
6075  </div>
6076</div>
6077
6078
6079
6080
6081</div>
6082<!-- END sections: footer-group -->
6083
6084    
6085
6086<script
6087  src="//luxupur.de/cdn/shop/t/97/assets/predictive-search.js?v=149240552485540508541781436597"
6088  type="module"
6089  fetchpriority="low"
6090></script>
6090
6091
6092<dialog-component
6093  id="search-modal"
6094  class="search-modal"
6095  
6096>
6097  <dialog
6098    ref="dialog"
6099    on:click="/closeDialogOnClickOutside"
6100    on:keydown="/closeDialogOnEscapePress"
6101    class="search-modal__content dialog-modal"
6102    scroll-lock
6103    aria-labelledby="search-modal-heading"
6104  >
6105    <h2
6106      id="search-modal-heading"
6107      class="visually-hidden"
6108    >
6109      Suche
6110    </h2>
6111    <predictive-search-component
6112      class="predictive-search color-scheme-6"
6113      style="--product-corner-radius: 0px; --card-corner-radius: 0px;"
6114      data-section-id="predictive-search"
6115      data-testid="search-component--modal"
6116      role="search"
6117      aria-label="Suchen"
6118    >
6119      <form
6120        action="/search"
6121        method="get"
6122        role="search"
6123        class="predictive-search-form"
6124        ref="form"
6125        on:keydown="/onSearchKeyDown"
6126      >
6127        <div
6128          class="predictive-search-form__header"
6129        >
6130          <div class="predictive-search-form__header-inner">
6131            <label
6132              for="cmdk-input"
6133              class="visually-hidden"
6134            >Suchen</label>
6135            <input
6136              class="search-input"
6137              id="cmdk-input"
6138              type="search"
6139              name="q"
6140              role="combobox"
6141              aria-expanded="false"
6142              aria-owns="predictive-search-results"
6143              aria-controls="predictive-search-results"
6144              aria-haspopup="listbox"
6145              aria-autocomplete="list"
6146              autocomplete="off"
6147              placeholder="Suchen"
6148              ref="searchInput"
6149              on:input="/search"
6150              on:keydown="/onSearchKeyDown"
6151            >
6152            <input
6153              name="options[prefix]"
6154              type="hidden"
6155              value="last"
6156            >
6157            <span class="svg-wrapper predictive-search__icon">
6158              <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="none"><circle cx="9" cy="9" r="4.75" stroke="currentColor" stroke-width="var(--icon-stroke-width)"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="var(--icon-stroke-width)" d="m12.5 12.5 3.25 3.25"/></svg>
6159
6160            </span>
6161            <button
6162              type="button"
6163              class="button-unstyled predictive-search__reset-button"
6164              ref="resetButton"
6165              hidden
6166              on:click="/resetSearch"
6167            >
6168              Löschen
6169            </button>
6170          </div>
6171          <button
6172            type="button"
6173            class="button predictive-search__close-modal-button"
6174            aria-label="Dialogfeld schließen"
6175            on:click="dialog-component/closeDialog"
6176            ref="closeModalButton"
6177          >
6178            <span class="svg-wrapper">
6179              <svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
6180  <path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
6181  <path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
6182</svg>
6183
6184            </span>
6185          </button>
6186        </div>
6187
6188        <div class="predictive-search-form__content-wrapper">
6189          <div
6190            class="predictive-search-form__content"
6191            tabindex="-1"
6192            ref="predictiveSearchResults"
6193            on:click="/handleModalClick"
6194          >
6195            
6196
6197<div
6198  id="predictive-search-results"
6199  class="predictive-search-dropdown"
6200  role="listbox"
6201  aria-expanded="true"
6202  style="--color-shadow: rgb(var(--color-foreground-rgb) / 0.1);"
6203>
6204  
6205    <div class="predictive-search-results__inner">
6206      
6207      
6208        
6209        
6210        
6211          <div
6212  id="predictive-search-products"
6213  class="predictive-search-results__products"
6214  
6215    data-testid="products-list-default--modal"
6216  
6217>
6218  
6219    <h4 class="predictive-search-results__title">
6220      Produkte
6221    </h4>
6222    <ul
6223      class="predictive-search-results__list predictive-search-results__wrapper-products list-unstyled"
6224      role="listbox"
6225      aria-label="Produkte"
6226    >
6227      
6228      
6229        <li
6230          class="predictive-search-results__card predictive-search-results__card--product"
6231          ref="resultsItems[]"
6232        >
6233          
6234<div
6235  class="resource-card"
6236  href="/products/luxupur-ergopillow"
6237  data-resource-type="product"
6238>
6239  <a
6240    class="resource-card__link"
6241    href="/products/luxupur-ergopillow"
6242  >
6243    <span class="visually-hidden">
6244      Luxupur® ErgoPillow
6245    </span>
6246  </a>
6247  <div
6248    class="resource-card__media"
6249    style="--resource-card-aspect-ratio: 4 / 5;"
6250    
6251  >
6252      
6253      
6254<img src="//luxupur.de/cdn/shop/files/luxupur-ergopillow-nackenkissen-ergonomisch-produktfoto.jpg?v=1789384712&amp;width=500" alt="Luxupur ErgoPillow ergonomisches Premium Nackenkissen höhenverstellbar 8 11 13 cm
6255
6256" srcset="//luxupur.de/cdn/shop/files/luxupur-ergopillow-nackenkissen-ergonomisch-produktfoto.jpg?v=1789384712&amp;width=240 240w, //luxupur.de/cdn/shop/files/luxupur-ergopillow-nackenkissen-ergonomisch-produktfoto.jpg?v=1789384712&amp;width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image" sizes="auto" transitionToProduct="false" style="object-position: 50.0% 50.0%;">
6257
6258          <img src="//luxupur.de/cdn/shop/files/luxupur-ergopillow-modularer-kern-hoehenverstellbar-8-11-13-cm.png?v=1789384753&amp;width=500" alt="Luxupur ErgoPillow modularer Premiumkern höhenverstellbar 8 11 13 cm ergonomisches Nackenkissen
6259" srcset="//luxupur.de/cdn/shop/files/luxupur-ergopillow-modularer-kern-hoehenverstellbar-8-11-13-cm.png?v=1789384753&amp;width=240 240w, //luxupur.de/cdn/shop/files/luxupur-ergopillow-modularer-kern-hoehenverstellbar-8-11-13-cm.png?v=1789384753&amp;width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image resource-card__image--secondary" sizes="auto" transitionToProduct="false" data-media-id="66738357633288" style="object-position: 50.0% 50.0%;">
6260</div>
6261
6262  <div class="resource-card__content">
6263    <p class="resource-card__title paragraph">Luxupur® ErgoPillow</p>
6264
6265    
6266      <div ref="priceContainer">
6267  
6268    
6269
6270    
6271      <span class="price">155,00 €</span>
6272    
6273
6274    
6275<div class="lux-price-meta">inkl. MwSt.</div>
6276  
6277</div>
6278
6279
6280
6281    
6282  </div>
6283</div>
6284
6285        </li>
6286      
6287        <li
6288          class="predictive-search-results__card predictive-search-results__card--product"
6289          ref="resultsItems[]"
6290        >
6291          
6292<div
6293  class="resource-card"
6294  href="/products/orthobase-classic-lattenrost"
6295  data-resource-type="product"
6296>
6297  <a
6298    class="resource-card__link"
6299    href="/products/orthobase-classic-lattenrost"
6300  >
6301    <span class="visually-hidden">
6302      Luxupur® OrthoBase Classic
6303    </span>
6304  </a>
6305  <div
6306    class="resource-card__media"
6307    style="--resource-card-aspect-ratio: 4 / 5;"
6308    
6309  >
6310      
6311      
6312<img src="//luxupur.de/cdn/shop/files/freepik_use-image-1-slatted-bed-base-lattenrost-as-the-base.-keep-the-slatted-base-exactly-as-it-is-do-not-change-anything-no-shape-changes-no-redesign-no-color-changes-no-material-ch.png?v=1775081055&amp;width=500" alt="" srcset="//luxupur.de/cdn/shop/files/freepik_use-image-1-slatted-bed-base-lattenrost-as-the-base.-keep-the-slatted-base-exactly-as-it-is-do-not-change-anything-no-shape-changes-no-redesign-no-color-changes-no-material-ch.png?v=1775081055&amp;width=240 240w, //luxupur.de/cdn/shop/files/freepik_use-image-1-slatted-bed-base-lattenrost-as-the-base.-keep-the-slatted-base-exactly-as-it-is-do-not-change-anything-no-shape-changes-no-redesign-no-color-changes-no-material-ch.png?v=1775081055&amp;width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image" sizes="auto" transitionToProduct="false" style="object-position: 50.0% 50.0%;">
6313
6314          <img src="//luxupur.de/cdn/shop/files/freepik__nur-hochskalieren-in-high-quality-2k-ecommerce-nic__82626.jpg?v=1775081055&amp;width=500" alt="Luxupur® OrthoBase Classic" srcset="//luxupur.de/cdn/shop/files/freepik__nur-hochskalieren-in-high-quality-2k-ecommerce-nic__82626.jpg?v=1775081055&amp;width=240 240w, //luxupur.de/cdn/shop/files/freepik__nur-hochskalieren-in-high-quality-2k-ecommerce-nic__82626.jpg?v=1775081055&amp;width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image resource-card__image--secondary" sizes="auto" transitionToProduct="false" data-media-id="66158513094920" style="object-position: 50.0% 50.0%;">
6315</div>
6316
6317  <div class="resource-card__content">
6318    <p class="resource-card__title paragraph">Luxupur® OrthoBase Classic</p>
6319
6320    
6321      <div ref="priceContainer">
6322  
6323    
6324
6325    
6326      <span class="price">395,00 €</span>
6327    
6328
6329    
6330<div class="lux-price-meta">inkl. MwSt.</div>
6331  
6332</div>
6333
6334
6335
6336    
6337  </div>
6338</div>
6339
6340        </li>
6341      
6342        <li
6343          class="predictive-search-results__card predictive-search-results__card--product"
6344          ref="resultsItems[]"
6345        >
6346          
6347<div
6348  class="resource-card"
6349  href="/products/orthobase-comfort-elektrischer-lattenrost"
6350  data-resource-type="product"
6351>
6352  <a
6353    class="resource-card__link"
6354    href="/products/orthobase-comfort-elektrischer-lattenrost"
6355  >
6356    <span class="visually-hidden">
6357      Luxupur® OrthoBase Comfort
6358    </span>
6359  </a>
6360  <div
6361    class="resource-card__media"
6362    style="--resource-card-aspect-ratio: 4 / 5;"
6363    
6364  >
6365      
6366      
6367<img src="//luxupur.de/cdn/shop/files/luxupur-orthobase-comfort-lattenrost-elektrisch-premium.webp?v=1776890666&amp;width=500" alt="Luxupur elektrischer Lattenrost – komfortabel verstellbare Premium Unterfederung für ergonomisches Liegen und entspanntes Schlafen" srcset="//luxupur.de/cdn/shop/files/luxupur-orthobase-comfort-lattenrost-elektrisch-premium.webp?v=1776890666&amp;width=240 240w, //luxupur.de/cdn/shop/files/luxupur-orthobase-comfort-lattenrost-elektrisch-premium.webp?v=1776890666&amp;width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image" sizes="auto" transitionToProduct="false" style="object-position: 50.0% 50.0%;">
6368
6369          <img src="//luxupur.de/cdn/shop/files/luxupur-orthobase-comfort-verstellung-elektrisch.webp?v=1776890870&amp;width=500" alt="Luxupur® OrthoBase Comfort" srcset="//luxupur.de/cdn/shop/files/luxupur-orthobase-comfort-verstellung-elektrisch.webp?v=1776890870&amp;width=240 240w, //luxupur.de/cdn/shop/files/luxupur-orthobase-comfort-verstellung-elektrisch.webp?v=1776890870&amp;width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image resource-card__image--secondary" sizes="auto" transitionToProduct="false" data-media-id="68113913479432" style="object-position: 50.0% 50.0%;">
6370</div>
6371
6372  <div class="resource-card__content">
6373    <p class="resource-card__title paragraph">Luxupur® OrthoBase Comfort</p>
6374
6375    
6376      <div ref="priceContainer">
6377  
6378    
6379      <span role="group">
6380        <span class="visually-hidden">Normaler Preis&nbsp;</span>
6381        <span class="compare-at-price">1.095,00 €</span>
6382      </span>
6383    
6384
6385    
6386      <span role="group">
6387        <span class="visually-hidden">Angebotspreis&nbsp;</span>
6388        <span class="price">895,00 €</span>
6389      </span>
6390    
6391
6392    
6393<div class="lux-price-meta">inkl. MwSt.</div>
6394<style>
6395
6396
6397
6398.price-savings{
6399  color:#C9A96E;
6400  font-size:13.5px;
6401  font-weight:600;
6402  margin-left:0;
6403  display:block;
6404  width:100%;
6405  margin-top:4px;
6406  line-height:1.2;
6407}
6408
6409
6410.sticky-add-to-cart .price-savings,
6411.sticky-add-to-cart__bar .price-savings{
6412  font-size:11px !important;
6413  margin-left:6px !important;
6414  line-height:1 !important;
6415  white-space:nowrap;
6416}
6417
6418@media screen and (max-width: 749px){
6419  .price-savings{
6420    font-size:12px;
6421    margin-left:6px;
6422  }
6423
6424  .sticky-add-to-cart .price-savings,
6425  .sticky-add-to-cart__bar .price-savings{
6426    font-size:10px !important;
6427    margin-left:4px !important;
6428  }
6429}
6430
6431
6432/* ===== Sticky Add-to-Cart: Desktop / allgemein ===== */
6433.sticky-add-to-cart__bar{
6434  align-items:center;
6435  padding-top:10px;
6436  padding-bottom:10px;
6437}
6438
6439.sticky-add-to-cart__price{
6440  display:flex;
6441  flex-direction:column;
6442  align-items:flex-start;
6443  justify-content:center;
6444  line-height:1.1;
6445}
6446
6447.sticky-add-to-cart__price .compare-at-price{
6448  margin-right:6px;
6449}
6450
6451.sticky-add-to-cart__price .price-savings{
6452  display:block;
6453  margin-left:0 !important;
6454  margin-top:4px;
6455  font-size:14px !important;
6456  font-weight:600;
6457  color:#C9A96E !important;
6458  line-height:1.1;
6459  white-space:nowrap;
6460}
6461
6462/* ===== Sticky Add-to-Cart: Mobile wie Tempur-artig ===== */
6463@media screen and (max-width: 749px){
6464
6465  .sticky-add-to-cart__bar{
6466    display:grid !important;
6467    grid-template-columns:56px 1fr !important;
6468    grid-template-areas:
6469      "image info"
6470      "image price"
6471      "button button" !important;
6472    align-items:start !important;
6473    column-gap:12px !important;
6474    row-gap:6px !important;
6475    padding:12px 14px 14px !important;
6476    min-height:auto !important;
6477  }
6478
6479  .sticky-add-to-cart__image{
6480    grid-area:image !important;
6481    width:56px !important;
6482    height:56px !important;
6483    min-width:56px !important;
6484    aspect-ratio:1/1 !important;
6485  }
6486
6487  .sticky-add-to-cart__info{
6488    grid-area:info !important;
6489    min-width:0 !important;
6490  }
6491
6492  .sticky-add-to-cart__title{
6493    display:block !important;
6494    font-size:13px !important;
6495    line-height:1.15 !important;
6496    white-space:nowrap !important;
6497    overflow:hidden !important;
6498    text-overflow:ellipsis !important;
6499    margin:0 !important;
6500  }
6501
6502  .sticky-add-to-cart__variant{
6503    display:block !important;
6504    font-size:12px !important;
6505    line-height:1.1 !important;
6506    margin-top:2px !important;
6507    white-space:nowrap !important;
6508    overflow:hidden !important;
6509    text-overflow:ellipsis !important;
6510  }
6511
6512  .sticky-add-to-cart__price{
6513    grid-area:price !important;
6514    display:flex !important;
6515    flex-direction:column !important;
6516    align-items:flex-start !important;
6517    gap:2px !important;
6518    min-width:0 !important;
6519    line-height:1.1 !important;
6520  }
6521
6522  .sticky-add-to-cart__price .compare-at-price{
6523    display:block !important;
6524    font-size:16px !important;
6525    opacity:.65 !important;
6526    margin:0 !important;
6527  }
6528
6529  .sticky-add-to-cart__price .price{
6530    display:block !important;
6531    font-size:18px !important;
6532    font-weight:700 !important;
6533    line-height:1.05 !important;
6534  }
6535
6536  .sticky-add-to-cart__price .price-savings{
6537    display:block !important;
6538    margin:0 !important;
6539    font-size:14px !important;
6540    font-weight:600 !important;
6541    color:#C9A96E !important;
6542    line-height:1.05 !important;
6543    white-space:nowrap !important;
6544  }
6545
6546  .sticky-add-to-cart__button{
6547    grid-area:button !important;
6548    width:100% !important;
6549    min-width:100% !important;
6550    height:48px !important;
6551    min-height:48px !important;
6552    border-radius:999px !important;
6553    padding:0 16px !important;
6554    justify-content:center !important;
6555  }
6556
6557  .sticky-add-to-cart__bar .add-to-cart-text__content{
6558    display:inline-flex !important;
6559    align-items:center !important;
6560    justify-content:center !important;
6561  }
6562
6563  .sticky-add-to-cart__button .svg-wrapper{
6564    width:18px !important;
6565    height:18px !important;
6566  }
6567}
6568
6569@media screen and (max-width: 749px){
6570  .price-savings{
6571    font-size:13.5px !important;
6572    font-weight:600 !important;
6573    color:#C9A96E !important;
6574    margin-top:3px !important;
6575    margin-left:0 !important;
6576    line-height:1.15 !important;
6577    display:block !important;
6578  }
6579}
6580
6581/* ===== Sticky Drawer Preis Desktop größer ===== */
6582@media screen and (min-width: 750px){
6583
6584  .sticky-add-to-cart__price .price{
6585    font-size:18px !important;
6586    font-weight:800 !important;
6587    line-height:1.1;
6588  }
6589
6590  .sticky-add-to-cart__price .compare-at-price{
6591    font-size:17px !important;
6592    opacity:0.6;
6593    margin-left:8px;
6594  }
6595
6596  .sticky-add-to-cart__price .price-savings{
6597    font-size:14px !important;
6598    font-weight:600;
6599  }
6600
6601}
6602.lux-price-meta {
6603  color: #aaaaaa !important;
6604}
6605</style>
6606    
6607  
6608</div>
6609
6610
6611  <span class="price-savings">Sie sparen 200,00 €</span>
6612
6613
6614    
6615  </div>
6616</div>
6617
6618        </li>
6619      
6620        <li
6621          class="predictive-search-results__card predictive-search-results__card--product"
6622          ref="resultsItems[]"
6623        >
6624          
6625<div
6626  class="resource-card"
6627  href="/products/orthoflex-premium-tellerlattenrost-elektrisch"
6628  data-resource-type="product"
6629>
6630  <a
6631    class="resource-card__link"
6632    href="/products/orthoflex-premium-tellerlattenrost-elektrisch"
6633  >
6634    <span class="visually-hidden">
6635      Luxupur® OrthoFlex Premium
6636    </span>
6637  </a>
6638  <div
6639    class="resource-card__media"
6640    style="--resource-card-aspect-ratio: 4 / 5;"
6641    
6642  >
6643      
6644      
6645<img src="//luxupur.de/cdn/shop/files/freepik_use-the-provided-image-of-the-slatted-bed-base-lattenrost-as-the-exact-reference.-keep-the-product-100-unchanged-same-structure-proportions-materials-colors-details-and-perspe.webp?v=1775077243&amp;width=500" alt="" srcset="//luxupur.de/cdn/shop/files/freepik_use-the-provided-image-of-the-slatted-bed-base-lattenrost-as-the-exact-reference.-keep-the-product-100-unchanged-same-structure-proportions-materials-colors-details-and-perspe.webp?v=1775077243&amp;width=240 240w, //luxupur.de/cdn/shop/files/freepik_use-the-provided-image-of-the-slatted-bed-base-lattenrost-as-the-exact-reference.-keep-the-product-100-unchanged-same-structure-proportions-materials-colors-details-and-perspe.webp?v=1775077243&amp;width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image" sizes="auto" transitionToProduct="false" style="object-position: 50.0% 50.0%;">
6646
6647          <img src="//luxupur.de/cdn/shop/files/luxupur-orthoflex-premium-tellerlattenrost-elektrisch-verstellbar.png?v=1775077243&amp;width=500" alt="Luxupur® OrthoFlex Premium elektrisch verstellbarer Tellerlattenrost mit punktelastischem Teller-System in Detailansicht" srcset="//luxupur.de/cdn/shop/files/luxupur-orthoflex-premium-tellerlattenrost-elektrisch-verstellbar.png?v=1775077243&amp;width=240 240w, //luxupur.de/cdn/shop/files/luxupur-orthoflex-premium-tellerlattenrost-elektrisch-verstellbar.png?v=1775077243&amp;width=352 352w" width="500" height="500" loading="lazy" class="resource-card__image resource-card__image--secondary" sizes="auto" transitionToProduct="false" data-media-id="66352286531848" style="object-position: 50.0% 50.0%;">
6648</div>
6649
6650  <div class="resource-card__content">
6651    <p class="resource-card__title paragraph">Luxupur® OrthoFlex Premium</p>
6652
6653    
6654      <div ref="priceContainer">
6655  
6656    
6657
6658    
6659      <span class="price">1.395,00 €</span>
6660    
6661
6662    
6663<div class="lux-price-meta">inkl. MwSt.</div>
6664  
6665</div>
6666
6667
6668
6669    
6670  </div>
6671</div>
6672
6673        </li>
6674      
6675    </ul>
6676  
6677</div>
6678
6679
6680
6681        
6682      
6683    </div>
6684  
6685</div>
6686
6687          </div>
6688
6689          <div class="predictive-search-form__footer">
6690            <button
6691              class="button button-primary predictive-search__search-button"
6692              ref="viewAllButton"
6693            >
6694              Alle anzeigen
6695            </button>
6696          </div>
6697        </div>
6698      </form>
6699    </predictive-search-component>
6700  </dialog>
6701</dialog-component>
6702
6703
6704
6705
6706    
6707      <quick-add-dialog id="quick-add-dialog">
6708  <dialog
6709    class="quick-add-modal dialog-modal color-scheme-6"
6710    ref="dialog"
6711    scroll-lock
6712  >
6713    <button
6714      ref="closeButton"
6715      on:click="/closeDialog"
6716      class="button button-unstyled close-button quick-add-modal__close"
6717      aria-label="Dialogfeld schließen"
6718    ><svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
6719  <path d="M12 2L2 12" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
6720  <path d="M12 12L2 2" stroke="currentColor" stroke-width="var(--icon-stroke-width)" stroke-linecap="round" stroke-linejoin="round"/>
6721</svg>
6722</button>
6723    <div
6724      id="quick-add-modal-content"
6725      class="quick-add-modal__content"
6726    ></div>
6727  </dialog>
6728</quick-add-dialog>
6729
6730
6731
6732    
6733
6734
6735   
6735<script>
6736(() => {
6737  function alignKlarnaLeft() {
6738    document.querySelectorAll('klarna-placement').forEach(el => {
6739      const sr = el.shadowRoot;
6740      if (!sr) return; // Falls ShadowRoot geschlossen ist
6741
6742      const container = sr.querySelector('[part="osm-container"]');
6743      const msg = sr.querySelector('[part="osm-message"]');
6744
6745      /* ===== Container links + Rahmen entfernen ===== */
6746      if (container) {
6747        container.style.width = '100%';
6748        container.style.display = 'flex';
6749        container.style.justifyContent = 'flex-start';
6750        container.style.textAlign = 'left';
6751        container.style.marginLeft = '-10px';  // deine Feinjustierung bleibt
6752        container.style.marginRight = 'auto';
6753
6754        // 🔥 Rahmen entfernen
6755        container.style.border = 'none';
6756        container.style.boxShadow = 'none';
6757        container.style.background = 'transparent';
6758      }
6759
6760      /* ===== Text-Styling ===== */
6761      if (msg) {
6762        msg.style.textAlign = 'left';
6763        msg.style.marginLeft = '0';
6764
6765        // Grundtext etwas kräftiger (0.75)
6766        msg.style.color = 'rgba(0,0,0,0.75)';
6767
6768        // Alle inneren Elemente ebenfalls angleichen
6769        msg.querySelectorAll('*').forEach(node => {
6770          node.style.color = 'rgba(0,0,0,0.75)';
6771        });
6772
6773        // Speziell das Wort "Klarna" etwas heller (0.65)
6774        msg.querySelectorAll('*').forEach(node => {
6775          if ((node.textContent || '').trim() === 'Klarna') {
6776            node.style.color = 'rgba(0,0,0,0.65)';
6777          }
6778        });
6779      }
6780    });
6781  }
6782
6783  function boot() { alignKlarnaLeft(); }
6784
6785  window.addEventListener('load', boot);
6786  document.addEventListener('DOMContentLoaded', boot);
6787
6788  // Klarna lädt dynamisch → beobachten
6789  const obs = new MutationObserver(() => {
6790    clearTimeout(window.__lxKlarnaFixT);
6791    window.__lxKlarnaFixT = setTimeout(alignKlarnaLeft, 80);
6792  });
6793
6794  obs.observe(document.documentElement, {
6795    subtree: true,
6796    childList: true
6797  });
6798})();
6799</script>
6799
6800
6801<style>
6802  .lx-modal-overlay{
6803    position:fixed;
6804    inset:0;
6805    background:rgba(0,0,0,.72);
6806    backdrop-filter:blur(10px);
6807    -webkit-backdrop-filter:blur(10px);
6808    display:none;
6809    z-index:999999;
6810    padding:min(5vh,34px) min(4vw,18px);
6811  }
6812  .lx-modal-overlay.is-open{
6813    display:flex;
6814  }
6815
6816  .lx-modal{
6817    margin:auto;
6818    width:min(1050px,100%);
6819    max-height:min(86vh,900px);
6820    overflow:auto;
6821    border-radius:0 !important;
6822    border:1px solid rgba(201,169,110,.30);
6823    background:linear-gradient(180deg,#050505 0%, #0b0b0b 100%);
6824    box-shadow:0 30px 80px rgba(0,0,0,.55);
6825    color:rgba(255,255,255,.92);
6826  }
6827
6828  .lx-modal-header{
6829    position:sticky;
6830    top:0;
6831    background:rgba(8,8,8,.92);
6832    backdrop-filter:blur(10px);
6833    -webkit-backdrop-filter:blur(10px);
6834    border-bottom:1px solid rgba(201,169,110,.22);
6835    padding:18px 20px;
6836    display:flex;
6837    align-items:flex-start;
6838    justify-content:space-between;
6839    gap:14px;
6840    z-index:2;
6841  }
6842
6843  .lx-modal-title{
6844    margin:0;
6845    font-size:clamp(18px,2vw,26px);
6846    line-height:1.2;
6847    font-weight:800;
6848    letter-spacing:-.2px;
6849    color:#ffffff;
6850  }
6851
6852  .lx-modal-sub{
6853    margin:6px 0 0;
6854    color:rgba(255,255,255,.68);
6855    font-size:14px;
6856    line-height:1.5;
6857  }
6858
6859  .lx-modal-close{
6860    border:1px solid rgba(201,169,110,.38);
6861    background:rgba(201,169,110,.10);
6862    color:#C9A96E;
6863    border-radius:0 !important;
6864    padding:10px 12px;
6865    cursor:pointer;
6866    font-weight:700;
6867    line-height:1;
6868    min-width:42px;
6869    transition:all .2s ease;
6870  }
6871  .lx-modal-close:hover{
6872    background:rgba(201,169,110,.16);
6873    border-color:rgba(201,169,110,.55);
6874    color:#f2dfb7;
6875  }
6876
6877  .lx-modal-body{
6878    padding:22px 20px 24px;
6879  }
6880
6881  .lx-modal-body :where(h1,h2,h3,h4){
6882    color:#ffffff;
6883    line-height:1.28;
6884    font-weight:750;
6885    letter-spacing:-.15px;
6886  }
6887
6888  .lx-modal-body :where(h1){
6889    font-size:30px;
6890    margin:0 0 14px;
6891  }
6892
6893  .lx-modal-body :where(h2){
6894    font-size:24px;
6895    margin:26px 0 12px;
6896    color:#C9A96E;
6897  }
6898
6899  .lx-modal-body :where(h3){
6900    font-size:19px;
6901    margin:20px 0 10px;
6902  }
6903
6904  .lx-modal-body :where(p,li){
6905    color:rgba(255,255,255,.78);
6906    line-height:1.65;
6907    font-size:15px;
6908  }
6909
6910  .lx-modal-body :where(ul,ol){
6911    margin:0 0 18px 20px;
6912    padding:0;
6913  }
6914
6915  .lx-modal-body :where(li){
6916    margin:0 0 8px;
6917  }
6918
6919  .lx-modal-body :where(strong,b){
6920    color:#ffffff;
6921    font-weight:700;
6922  }
6923
6924  .lx-modal-body :where(a){
6925    color:#C9A96E;
6926    text-decoration:none;
6927    border-bottom:1px solid rgba(201,169,110,.45);
6928  }
6929  .lx-modal-body :where(a:hover){
6930    color:#f2dfb7;
6931    border-bottom-color:rgba(242,223,183,.65);
6932  }
6933
6934  .lx-modal-body :where(hr){
6935    border:0;
6936    border-top:1px solid rgba(201,169,110,.18);
6937    margin:24px 0;
6938  }
6939
6940  .lx-modal-body :where(table){
6941    width:100%;
6942    border-collapse:collapse;
6943    margin:16px 0 20px;
6944  }
6945
6946  .lx-modal-body :where(th,td){
6947    border:1px solid rgba(201,169,110,.16);
6948    padding:10px 12px;
6949    text-align:left;
6950    vertical-align:top;
6951    color:rgba(255,255,255,.80);
6952  }
6953
6954  .lx-modal-body :where(th){
6955    color:#C9A96E;
6956    font-weight:700;
6957    background:rgba(201,169,110,.06);
6958  }
6959
6960  .lx-modal-body :where(code){
6961    background:rgba(255,255,255,.06);
6962    border:1px solid rgba(255,255,255,.10);
6963    padding:2px 6px;
6964    border-radius:0 !important;
6965    color:#f3f3f3;
6966    font-size:13px;
6967  }
6968
6969  @media screen and (max-width: 749px){
6970    .lx-modal-overlay{
6971      padding:14px;
6972    }
6973
6974    .lx-modal{
6975      width:100%;
6976      max-height:92vh;
6977    }
6978
6979    .lx-modal-header{
6980      padding:16px 14px;
6981    }
6982
6983    .lx-modal-title{
6984      font-size:20px;
6985    }
6986
6987    .lx-modal-sub{
6988      font-size:13px;
6989    }
6990
6991    .lx-modal-body{
6992      padding:18px 14px 22px;
6993    }
6994
6995    .lx-modal-body :where(h1){
6996      font-size:24px;
6997    }
6998
6999    .lx-modal-body :where(h2){
7000      font-size:20px;
7001    }
7002
7003    .lx-modal-body :where(h3){
7004      font-size:17px;
7005    }
7006
7007    .lx-modal-body :where(p,li){
7008      font-size:14px;
7009      line-height:1.6;
7010    }
7011  }
7012</style>
7013
7014<div class="lx-modal-overlay" id="lxServiceModal" aria-hidden="true">
7015  <div class="lx-modal" role="dialog" aria-modal="true" aria-labelledby="lxServiceModalTitle">
7016    <div class="lx-modal-header">
7017      <div>
7018        <h2 class="lx-modal-title" id="lxServiceModalTitle">Service, Garantie & Probeschlafen bei Luxupur®</h2>
7019        <p class="lx-modal-sub">
7019Übersicht zu Rückgabe, Garantie und Ablauf – klar, hochwertig und transparent.</p>
7020      </div>
7021      <button class="lx-modal-close" type="button" data-lx-close aria-label="Schließen">✕</button>
7022    </div>
7023
7024    <div class="lx-modal-body"><style>
7025  #lx-modal-content{
7026    --lx-text: #23282d;
7027    --lx-muted: #5f676f;
7028    --lx-line: rgba(201,169,110,.32);
7029    --lx-line-2: rgba(201,169,110,.18);
7030    --lx-accent: #C9A96E;
7031    --lx-accent-2: #e7cf9c;
7032    --lx-bg: #ffffff;
7033    --lx-bg-soft: #fcfbf8;
7034    --lx-bg-soft-2: #f7f4ee;
7035    --lx-header-mask-h: 52px;
7036    --lx-icon-size-desktop: 24px;
7037    --lx-icon-size-mobile: 22px;
7038    font-family: inherit;
7039    color: var(--lx-text);
7040    margin: 0 !important;
7041    padding: 0 !important;
7042    background: #ffffff !important;
7043  }
7044
7045  #lx-modal-content *{ box-sizing:border-box; }
7046  #lx-modal-content p{ margin:0; }
7047  #lx-modal-content a{ color: inherit; }
7048
7049  #lx-modal-content .lx-wrap{
7050    max-width: none !important;
7051    width: 100% !important;
7052    margin: 0 !important;
7053    padding: 0 !important;
7054    background:#ffffff !important;
7055  }
7056
7057  #lx-modal-content .lx-acc{
7058    display:grid;
7059    gap:0 !important;
7060    margin:0;
7061    padding:0;
7062    background:#ffffff !important;
7063  }
7064
7065  #lx-modal-content details.lx-item{
7066    background: #ffffff !important;
7067    border: 1px solid var(--lx-line);
7068    border-left: 0 !important;
7069    border-right: 0 !important;
7070    border-radius: 0 !important;
7071    overflow: hidden;
7072    width: 100% !important;
7073    box-shadow: none !important;
7074  }
7075
7076  #lx-modal-content summary{
7077    list-style:none;
7078    cursor:pointer;
7079    padding: 16px 16px;
7080    display:grid;
7081    grid-template-columns: 34px 1fr auto;
7082    align-items:center;
7083    gap:12px;
7084    user-select:none;
7085    position:relative;
7086    z-index:1 !important;
7087    background: #ffffff !important;
7088    color:#23282d !important;
7089    transition: color .18s ease, background .18s ease;
7090    border: 0 !important;
7091  }
7092
7093  #lx-modal-content summary:hover{
7094    color:#23282d !important;
7095    background: rgba(201,169,110,.06) !important;
7096  }
7097
7098  #lx-modal-content summary:hover .lx-chevron{
7099    border-right-color:#C9A96E !important;
7100    border-bottom-color:#C9A96E !important;
7101  }
7102
7103  #lx-modal-content summary::-webkit-details-marker{ display:none; }
7104
7105  #lx-modal-content .lx-title{
7106    margin:0;
7107    font-size:20px;
7108    font-weight:900;
7109    letter-spacing:-0.1px;
7110    text-transform:uppercase;
7111    flex:1;
7112    color:#23282d !important;
7113  }
7114
7115  #lx-modal-content .lx-chevron{
7116    width:12px;
7117    height:12px;
7118    border-right: 2px solid rgba(201,169,110,.85);
7119    border-bottom: 2px solid rgba(201,169,110,.85);
7120    transform: rotate(45deg);
7121    transition: transform .18s ease;
7122    flex:0 0 auto;
7123    margin-left:6px;
7124    display:inline-block;
7125    position:relative;
7126    z-index:1 !important;
7127  }
7128
7129  #lx-modal-content details[open] > summary .lx-chevron{
7130    display:none !important;
7131  }
7132
7133  #lx-modal-content .lx-body{
7134    border-top: 1px solid var(--lx-line-2);
7135    padding: 16px 14px;
7136    background: #ffffff !important;
7137    color:#23282d !important;
7138  }
7139
7140  #lx-modal-content .lx-intro{
7141    color: var(--lx-muted) !important;
7142    font-size: 14px;
7143    line-height: 1.75;
7144    margin-bottom: 12px;
7145    max-width: 980px;
7146  }
7147
7148  #lx-modal-content .lx-points{
7149    display:grid;
7150    gap:12px;
7151    margin:0;
7152    padding:0;
7153    list-style:none;
7154  }
7155
7156  #lx-modal-content .lx-point{
7157    display:flex;
7158    gap:10px;
7159    align-items:flex-start;
7160  }
7161
7162  #lx-modal-content .lx-dot{
7163    width:10px;
7164    height:10px;
7165    border-radius:999px;
7166    background: var(--lx-accent);
7167    flex:0 0 auto;
7168    margin-top:6px;
7169    box-shadow: 0 0 0 3px rgba(201,169,110,.12);
7170  }
7171
7172  #lx-modal-content .lx-point h4{
7173    margin:0;
7174    font-size:17.5px !important;
7175    font-weight:900;
7176    line-height:1.35;
7177    text-transform:none !important;
7178    letter-spacing:0 !important;
7179    color:#23282d !important;
7180  }
7181
7182  #lx-modal-content .lx-point p{
7183    margin-top:4px;
7184    color: var(--lx-muted) !important;
7185    font-size:14px;
7186    line-height:1.75;
7187  }
7188
7189  #lx-modal-content .lx-cta{
7190    margin-top:14px;
7191    display:flex;
7192    gap:10px;
7193    flex-wrap:wrap;
7194  }
7195
7196  #lx-modal-content .lx-btn-primary{
7197    padding: 11px 16px;
7198    border: 1px solid rgba(201,169,110,.55);
7199    background: rgba(201,169,110,.10);
7200    font-weight: 800;
7201    color: #8b6a31 !important;
7202    text-decoration:none;
7203    display:inline-flex;
7204    align-items:center;
7205    justify-content:center;
7206    width:fit-content;
7207    border-radius:0 !important;
7208  }
7209
7210  #lx-modal-content .lx-btn-primary:hover{
7211    background: rgba(201,169,110,.16);
7212  }
7213
7214  #lx-modal-content .lx-btn-secondary{
7215    padding: 11px 16px;
7216    border: 1px solid rgba(35,40,45,.14);
7217    background: #ffffff;
7218    font-weight: 800;
7219    color: #23282d !important;
7220    text-decoration:none;
7221    display:inline-flex;
7222    align-items:center;
7223    justify-content:center;
7224    width:fit-content;
7225    border-radius:0 !important;
7226  }
7227
7228  #lx-modal-content .lx-btn-secondary:hover{
7229    background: #f8f8f8;
7230  }
7231
7232  #lx-modal-content .lx-table-wrap{
7233    margin-top:12px;
7234    border:1px solid var(--lx-line);
7235    background: #ffffff !important;
7236  }
7237
7238  #lx-modal-content table{
7239    width:100%;
7240    border-collapse:collapse;
7241    table-layout:fixed;
7242    background:#ffffff !important;
7243  }
7244
7245  #lx-modal-content thead th{
7246    text-align:left;
7247    padding:12px;
7248    font-size:13px;
7249    letter-spacing:.2px;
7250    color: #8b6a31 !important;
7251    border-bottom:1px solid var(--lx-line);
7252    background: rgba(201,169,110,.08);
7253  }
7254
7255  #lx-modal-content tbody td{
7256    padding:12px;
7257    vertical-align:top;
7258    border-bottom:1px solid var(--lx-line-2);
7259    font-size:14px;
7260    line-height:1.7;
7261    color: #4f575f !important;
7262    word-break:break-word;
7263    background: #ffffff !important;
7264  }
7265
7266  #lx-modal-content tbody tr:last-child td{ border-bottom:none; }
7267
7268  #lx-modal-content td.lx-wcol{
7269    background: rgba(201,169,110,.08) !important;
7270    color: #23282d !important;
7271    font-weight: 900;
7272  }
7273
7274  #lx-modal-content .lx-mini-table{
7275    width:100%;
7276    border-collapse:collapse;
7277    table-layout:fixed;
7278    border:1px solid var(--lx-line);
7279    margin-top:10px;
7280    background: #ffffff !important;
7281  }
7282
7283  #lx-modal-content .lx-mini-table th,
7284  #lx-modal-content .lx-mini-table td{
7285    padding:10px;
7286    border-bottom:1px solid var(--lx-line-2);
7287    font-size:14px;
7288    text-align:left;
7289    vertical-align:top;
7290    color: #4f575f !important;
7291    background:#ffffff !important;
7292  }
7293
7294  #lx-modal-content .lx-mini-table th{
7295    background: rgba(201,169,110,.08) !important;
7296    font-size:13px;
7297    color: #8b6a31 !important;
7298    letter-spacing:.2px;
7299    font-weight:900;
7300  }
7301
7302  #lx-modal-content .lx-mini-table tr:last-child td{ border-bottom:none; }
7303
7304  #lx-modal-content .lx-note{
7305    margin-top:12px;
7306    color: var(--lx-muted) !important;
7307    font-size:13.5px;
7308    line-height:1.75;
7309  }
7310
7311  #lx-modal-content .lx-note strong,
7312  #lx-modal-content .lx-point strong,
7313  #lx-modal-content td strong,
7314  #lx-modal-content p strong{
7315    color:#23282d !important;
7316  }
7317
7318  #lx-modal-content .lx-close-row{
7319    display:flex;
7320    justify-content:flex-end;
7321    margin-top:18px;
7322    padding-top:10px;
7323    border-top:1px solid var(--lx-line-2);
7324    position:relative;
7325    z-index:5;
7326    pointer-events:auto;
7327    background:#ffffff !important;
7328  }
7329
7330  #lx-modal-content .lx-close-btn{
7331    display:inline-flex;
7332    align-items:center;
7333    gap:8px;
7334    padding:10px 12px;
7335    border:1px solid rgba(201,169,110,.32);
7336    background: rgba(201,169,110,.08);
7337    color:#8b6a31 !important;
7338    font-weight:800;
7339    font-size:14px;
7340    cursor:pointer;
7341    -webkit-tap-highlight-color:transparent;
7342    position:relative;
7343    z-index:6;
7344    pointer-events:auto;
7345    border-radius:0 !important;
7346  }
7347
7348  #lx-modal-content .lx-close-btn .lx-close-chevron{
7349    width:12px;
7350    height:12px;
7351    border-right:2px solid rgba(201,169,110,.85);
7352    border-bottom:2px solid rgba(201,169,110,.85);
7353    transform: rotate(225deg);
7354  }
7355
7356  #lx-modal-content .lx-acc-ico{
7357    width:24px;
7358    height:24px;
7359    flex:0 0 auto;
7360    display:inline-flex;
7361    align-items:center;
7362    justify-content:center;
7363    margin-right:8px;
7364  }
7365
7366  #lx-modal-content .lx-acc-ico img{
7367    width: var(--lx-icon-size-desktop) !important;
7368    height: var(--lx-icon-size-desktop) !important;
7369    object-fit:contain;
7370    max-width:24px !important;
7371    max-height:24px !important;
7372    filter: brightness(0) saturate(100%) invert(73%) sepia(26%) saturate(551%) hue-rotate(357deg) brightness(90%) contrast(87%);
7373  }
7374
7375  #lx-modal-content a{
7376    color:#8b6a31 !important;
7377    text-decoration:none;
7378    border-bottom:1px solid rgba(201,169,110,.35);
7379  }
7380
7381  #lx-modal-content a:hover{
7382    color:#6f5428 !important;
7383    border-bottom-color: rgba(201,169,110,.65);
7384  }
7385
7386  .product-popup-modal__content,
7387  .popup-modal__content,
7388  .modal__content,
7389  .product-popup-modal__content-info,
7390  .product-popup-modal__content .rte,
7391  .popup-modal__content-info,
7392  .modal__content-info,
7393  .product-popup-modal__content-header,
7394  .product-popup-modal__content-body{
7395    padding:0 !important;
7396    margin:0 !important;
7397    max-width:none !important;
7398    width:100% !important;
7399    box-shadow:none !important;
7400    border:0 !important;
7401    border-radius:0 !important;
7402    overflow:auto !important;
7403    -webkit-overflow-scrolling:touch !important;
7404    background: transparent !important;
7405  }
7406
7407  .lx-modal{
7408    display:flex;
7409    flex-direction:column;
7410    max-height:100vh;
7411  }
7412
7413  .lx-modal-header{
7414    position:sticky;
7415    top:0;
7416    z-index:9999;
7417    background:#ffffff !important;
7418    padding:18px 22px;
7419  }
7420
7421  .lx-modal-body{
7422    overflow:auto !important;
7423    -webkit-overflow-scrolling:touch;
7424    position:relative;
7425    z-index:1;
7426    padding-top:8px !important;
7427    background:#ffffff !important;
7428  }
7429
7430  @media (max-width: 760px){
7431    #lx-modal-content .lx-table-wrap table,
7432    #lx-modal-content .lx-table-wrap thead,
7433    #lx-modal-content .lx-table-wrap tbody,
7434    #lx-modal-content .lx-table-wrap th,
7435    #lx-modal-content .lx-table-wrap td,
7436    #lx-modal-content .lx-table-wrap tr{
7437      display:block;
7438      width:100%;
7439    }
7440
7441    #lx-modal-content .lx-table-wrap thead{ display:none; }
7442    #lx-modal-content .lx-table-wrap tbody tr{ border-bottom:1px solid var(--lx-line); }
7443    #lx-modal-content .lx-table-wrap tbody tr:last-child{ border-bottom:none; }
7444
7445    #lx-modal-content .lx-table-wrap tbody td{
7446      border:none;
7447      border-bottom:1px solid var(--lx-line-2);
7448      padding:10px 12px;
7449    }
7450
7451    #lx-modal-content .lx-table-wrap tbody td:last-child{ border-bottom:none; }
7452
7453    #lx-modal-content .lx-table-wrap tbody td::before{
7454      content: attr(data-label);
7455      display:block;
7456      font-size:12.5px;
7457      letter-spacing:.2px;
7458      color: #8b6a31 !important;
7459      margin-bottom:4px;
7460      font-weight:900;
7461    }
7462
7463    #lx-modal-content .lx-mini-table,
7464    #lx-modal-content .lx-mini-table thead,
7465    #lx-modal-content .lx-mini-table tbody,
7466    #lx-modal-content .lx-mini-table th,
7467    #lx-modal-content .lx-mini-table td,
7468    #lx-modal-content .lx-mini-table tr{
7469      display:block;
7470      width:100%;
7471    }
7472
7473    #lx-modal-content .lx-mini-table thead{ display:none; }
7474    #lx-modal-content .lx-mini-table{ border:none; }
7475
7476    #lx-modal-content .lx-mini-table tr{
7477      border:1px solid var(--lx-line);
7478      margin-top:10px;
7479      padding:6px 0;
7480      background: #ffffff !important;
7481    }
7482
7483    #lx-modal-content .lx-mini-table td{
7484      border:none;
7485      border-bottom:1px solid var(--lx-line-2);
7486    }
7487
7488    #lx-modal-content .lx-mini-table td:last-child{ border-bottom:none; }
7489
7490    #lx-modal-content .lx-mini-table td::before{
7491      content: attr(data-label);
7492      display:block;
7493      font-size:12.5px;
7494      color: #8b6a31 !important;
7495      font-weight:900;
7496      margin-bottom:4px;
7497      letter-spacing:.2px;
7498    }
7499  }
7500
7501  @media (max-width: 768px){
7502    #lx-modal-content .lx-acc-ico img{
7503      width: var(--lx-icon-size-mobile) !important;
7504      height: var(--lx-icon-size-mobile) !important;
7505      max-width:22px !important;
7506      max-height:22px !important;
7507    }
7508  }
7509
7510  @media (max-width: 640px){
7511    #lx-modal-content{
7512      --lx-header-mask-h: 98px;
7513    }
7514
7515    #lx-modal-content .lx-title{
7516      font-size:18px !important;
7517    }
7518
7519    #lx-modal-content .lx-point h4{
7520      font-size:16.5px !important;
7521    }
7522
7523    #lx-modal-content summary{
7524      padding:14px 12px !important;
7525    }
7526
7527    #lx-modal-content .lx-body{
7528      padding:12px !important;
7529    }
7530
7531    #lx-modal-content .lx-btn-primary,
7532    #lx-modal-content .lx-btn-secondary{
7533      width:100%;
7534    }
7535
7536    #lx-modal-content .lx-wrap{
7537      padding-left:0 !important;
7538      padding-right:0 !important;
7539      margin-left:-16px !important;
7540      margin-right:-16px !important;
7541      width:calc(100% + 32px) !important;
7542      max-width:none !important;
7543    }
7544  }
7545
7546  #lx-modal-content details.lx-item > summary,
7547  #lx-modal-content details.lx-item > summary:link,
7548  #lx-modal-content details.lx-item > summary:visited,
7549  #lx-modal-content details.lx-item > summary:hover,
7550  #lx-modal-content details.lx-item > summary:active,
7551  #lx-modal-content details.lx-item > summary:focus,
7552  #lx-modal-content details.lx-item > summary:focus-visible{
7553    color:#23282d !important;
7554    text-decoration:none !important;
7555  }
7556
7557  #lx-modal-content details.lx-item > summary:hover,
7558  #lx-modal-content details.lx-item > summary:focus,
7559  #lx-modal-content details.lx-item > summary:focus-visible{
7560    color:#23282d !important;
7561    background:rgba(201,169,110,.05) !important;
7562  }
7563
7564  #lx-modal-content details.lx-item > summary *,
7565  #lx-modal-content details.lx-item > summary *:hover,
7566  #lx-modal-content details.lx-item > summary *:focus,
7567  #lx-modal-content details.lx-item > summary *:active{
7568    color:inherit !important;
7569  }
7570
7571  #lx-modal-content details.lx-item > summary .lx-chevron,
7572  #lx-modal-content details.lx-item > summary:hover .lx-chevron,
7573  #lx-modal-content details.lx-item > summary:focus .lx-chevron,
7574  #lx-modal-content details.lx-item > summary:focus-visible .lx-chevron{
7575    border-right-color:#C9A96E !important;
7576    border-bottom-color:#C9A96E !important;
7577  }
7578
7579
7580/* ===== Modal-Kopf / große Überschrift oben wieder sichtbar ===== */
7581#lx-modal-content .lx-modal-header,
7582#lx-modal-content .modal-header,
7583#lx-modal-content .popup-modal__header,
7584#lx-modal-content .product-popup-modal__content-header{
7585  background: #ffffff !important;
7586  color: #23282d !important;
7587  border-bottom: 1px solid rgba(201,169,110,.22) !important;
7588}
7589
7590/* Hauptüberschrift oben */
7591#lx-modal-content .lx-modal-header h1,
7592#lx-modal-content .lx-modal-header h2,
7593#lx-modal-content .lx-modal-header h3,
7594#lx-modal-content .popup-modal__header h1,
7595#lx-modal-content .popup-modal__header h2,
7596#lx-modal-content .popup-modal__header h3,
7597#lx-modal-content .product-popup-modal__content-header h1,
7598#lx-modal-content .product-popup-modal__content-header h2,
7599#lx-modal-content .product-popup-modal__content-header h3{
7600  color: #23282d !important;
7601  opacity: 1 !important;
7602  visibility: visible !important;
7603  display: block !important;
7604}
7605
7606/* Falls die Überschrift als normaler Textblock oder span ausgegeben wird */
7607#lx-modal-content .lx-modal-header,
7608#lx-modal-content .lx-modal-header *,
7609#lx-modal-content .popup-modal__header,
7610#lx-modal-content .popup-modal__header *,
7611#lx-modal-content .product-popup-modal__content-header,
7612#lx-modal-content .product-popup-modal__content-header *{
7613  color: #23282d !important;
7614  -webkit-text-fill-color: #23282d !important;
7615  opacity: 1 !important;
7616}
7617
7618/* Subline unter der Hauptüberschrift */
7619#lx-modal-content .lx-modal-header p,
7620#lx-modal-content .lx-modal-header small,
7621#lx-modal-content .popup-modal__header p,
7622#lx-modal-content .popup-modal__header small,
7623#lx-modal-content .product-popup-modal__content-header p,
7624#lx-modal-content .product-popup-modal__content-header small{
7625  color: #5f676f !important;
7626  opacity: 1 !important;
7627}
7628
7629/* Schließen-Button oben rechts */
7630#lx-modal-content .lx-modal-header button,
7631#lx-modal-content .popup-modal__header button,
7632#lx-modal-content .product-popup-modal__content-header button{
7633  color: #8b6a31 !important;
7634  border-color: rgba(201,169,110,.35) !important;
7635  background: rgba(201,169,110,.06) !important;
7636}
7637/* ===== Sichtbarer Header oben ===== */
7638#lx-modal-content{
7639  background:#ffffff !important;
7640}
7641
7642#lx-modal-content .lx-modal-top{
7643  display:flex !important;
7644  align-items:flex-start;
7645  justify-content:space-between;
7646  gap:16px;
7647  padding:18px 20px 14px !important;
7648  background:#ffffff !important;
7649  border-bottom:1px solid rgba(201,169,110,.22) !important;
7650}
7651
7652#lx-modal-content .lx-modal-top__text{
7653  display:block !important;
7654  width:100% !important;
7655}
7656
7657#lx-modal-content .lx-modal-top__text h2{
7658  margin:0 0 6px 0 !important;
7659  display:block !important;
7660  font-family:"Lato", sans-serif !important;
7661  font-size:30px !important;
7662  line-height:1.15 !important;
7663  font-weight:700 !important;
7664  letter-spacing:0 !important;
7665  text-transform:none !important;
7666  color:#23282d !important;
7667  -webkit-text-fill-color:#23282d !important;
7668  opacity:1 !important;
7669  visibility:visible !important;
7670}
7671
7672#lx-modal-content .lx-modal-top__text p{
7673  margin:0 !important;
7674  display:block !important;
7675  font-size:14px !important;
7676  line-height:1.45 !important;
7677  color:#5f676f !important;
7678  -webkit-text-fill-color:#5f676f !important;
7679  opacity:1 !important;
7680  visibility:visible !important;
7681}
7682
7683/* Mobile */
7684@media (max-width: 640px){
7685  #lx-modal-content .lx-modal-top{
7686    padding:14px 14px 12px !important;
7687  }
7688
7689  #lx-modal-content .lx-modal-top__text h2{
7690    font-size:22px !important;
7691    line-height:1.18 !important;
7692  }
7693
7694  #lx-modal-content .lx-modal-top__text p{
7695    font-size:13px !important;
7696    line-height:1.4 !important;
7697  }
7698}
7699
7700
7701/* =========================
7702   FINAL OVERRIDE – Accordion Zeilen größer
7703   GANZ UNTEN im Styleblock einfügen
7704========================= */
7705
7706/* Zeilen insgesamt */
7707#lx-modal-content .lx-acc details.lx-item > summary{
7708  display: grid !important;
7709  grid-template-columns: 44px 1fr 18px !important;
7710  align-items: center !important;
7711  gap: 14px !important;
7712  padding: 18px 18px !important;
7713
7714  font-size: 19px !important;
7715  line-height: 1.35 !important;
7716  font-weight: 700 !important;
7717  letter-spacing: 0 !important;
7718
7719  color: #2f3438 !important;
7720  -webkit-text-fill-color: #2f3438 !important;
7721}
7722
7723/* Auch alle direkten Inhalte darin */
7724#lx-modal-content .lx-acc details.lx-item > summary,
7725#lx-modal-content .lx-acc details.lx-item > summary *{
7726  font-size: 19px !important;
7727  line-height: 1.35 !important;
7728  font-weight: 700 !important;
7729  color: #2f3438 !important;
7730  -webkit-text-fill-color: #2f3438 !important;
7731}
7732
7733/* Icons links größer */
7734#lx-modal-content .lx-acc details.lx-item > summary .lx-acc-ico{
7735  width: 44px !important;
7736  height: 44px !important;
7737  min-width: 44px !important;
7738  min-height: 44px !important;
7739  margin: 0 !important;
7740
7741  display: inline-flex !important;
7742  align-items: center !important;
7743  justify-content: center !important;
7744}
7745
7746/* SVG / PNG im Icon */
7747#lx-modal-content .lx-acc details.lx-item > summary .lx-acc-ico img{
7748  width: 26px !important;
7749  height: 26px !important;
7750  max-width: 26px !important;
7751  max-height: 26px !important;
7752  object-fit: contain !important;
7753  display: block !important;
7754}
7755
7756/* Chevron rechts etwas deutlicher */
7757#lx-modal-content .lx-acc details.lx-item > summary .lx-chevron{
7758  width: 11px !important;
7759  height: 11px !important;
7760  margin-left: 0 !important;
7761  justify-self: end !important;
7762
7763  border-right: 2px solid #b8924f !important;
7764  border-bottom: 2px solid #b8924f !important;
7765}
7766
7767/* Hover */
7768#lx-modal-content .lx-acc details.lx-item > summary:hover{
7769  background: rgba(201,169,110,.05) !important;
7770  color: #23282d !important;
7771}
7772
7773/* =========================
7774   Mobile
7775========================= */
7776@media (max-width: 768px){
7777  #lx-modal-content .lx-acc details.lx-item > summary{
7778    grid-template-columns: 38px 1fr 16px !important;
7779    gap: 12px !important;
7780    padding: 15px 14px !important;
7781
7782    font-size: 16px !important;
7783    line-height: 1.3 !important;
7784    font-weight: 700 !important;
7785  }
7786
7787  #lx-modal-content .lx-acc details.lx-item > summary,
7788  #lx-modal-content .lx-acc details.lx-item > summary *{
7789    font-size: 16px !important;
7790    line-height: 1.3 !important;
7791    font-weight: 700 !important;
7792  }
7793
7794  #lx-modal-content .lx-acc details.lx-item > summary .lx-acc-ico{
7795    width: 38px !important;
7796    height: 38px !important;
7797    min-width: 38px !important;
7798    min-height: 38px !important;
7799  }
7800
7801  #lx-modal-content .lx-acc details.lx-item > summary .lx-acc-ico img{
7802    width: 22px !important;
7803    height: 22px !important;
7804    max-width: 22px !important;
7805    max-height: 22px !important;
7806  }
7807
7808  #lx-modal-content .lx-acc details.lx-item > summary .lx-chevron{
7809    width: 10px !important;
7810    height: 10px !important;
7811  }
7812}
7813
7814
7815
7816
7817
7818  /* ===== FINAL ICON SIZE OVERRIDE ===== */
7819#lx-modal-content details.lx-item > summary .lx-acc-ico,
7820#lx-modal-content .lx-acc details.lx-item > summary .lx-acc-ico{
7821  width: 46px !important;
7822  height: 46px !important;
7823  min-width: 46px !important;
7824  min-height: 46px !important;
7825  flex: 0 0 46px !important;
7826  display: inline-flex !important;
7827  align-items: center !important;
7828  justify-content: center !important;
7829}
7830
7831#lx-modal-content details.lx-item > summary .lx-acc-ico img,
7832#lx-modal-content .lx-acc details.lx-item > summary .lx-acc-ico img{
7833  width: 36px !important;
7834  height: 36px !important;
7835  min-width: 36px !important;
7836  min-height: 36px !important;
7837  max-width: none !important;
7838  max-height: none !important;
7839  display: block !important;
7840  object-fit: contain !important;
7841}
7842
7843@media (max-width: 768px){
7844  #lx-modal-content details.lx-item > summary .lx-acc-ico,
7845  #lx-modal-content .lx-acc details.lx-item > summary .lx-acc-ico{
7846    width: 40px !important;
7847    height: 40px !important;
7848    min-width: 40px !important;
7849    min-height: 40px !important;
7850    flex: 0 0 40px !important;
7851  }
7852
7853  #lx-modal-content details.lx-item > summary .lx-acc-ico img,
7854  #lx-modal-content .lx-acc details.lx-item > summary .lx-acc-ico img{
7855    width: 24px !important;
7856    height: 24px !important;
7857    min-width: 24px !important;
7858    min-height: 24px !important;
7859    max-width: none !important;
7860    max-height: none !important;
7861  }
7862}
7863
7864/* ===== MOBILE FEINTUNING MODAL ===== */
7865@media (max-width: 768px){
7866
7867  /* Obere Headline bewusst etwas kleiner, damit 2 Zeilen statt 3 */
7868  #lx-modal-content .lx-modal-top__text h2{
7869    font-size: 18px !important;
7870    line-height: 1.16 !important;
7871    letter-spacing: 0 !important;
7872    max-width: 290px !important;
7873  }
7874
7875  #lx-modal-content .lx-modal-top__text p{
7876    font-size: 12.5px !important;
7877    line-height: 1.35 !important;
7878    max-width: 280px !important;
7879  }
7880
7881  /* Accordion-Zeilen kompakter */
7882  #lx-modal-content details.lx-item > summary{
7883    grid-template-columns: 40px 1fr 16px !important;
7884    gap: 10px !important;
7885    padding: 13px 12px !important;
7886    min-height: 58px !important;
7887  }
7888
7889  /* Text etwas kleiner, damit erste Zeile nicht so schnell umbrecht */
7890  #lx-modal-content details.lx-item > summary,
7891  #lx-modal-content details.lx-item > summary span,
7892  #lx-modal-content details.lx-item > summary strong{
7893    font-size: 13.5px !important;
7894    line-height: 1.22 !important;
7895    font-weight: 700 !important;
7896    letter-spacing: 0 !important;
7897  }
7898
7899  /* Icons mobil etwas größer */
7900  #lx-modal-content .lx-acc-ico{
7901    width: 40px !important;
7902    height: 40px !important;
7903    min-width: 40px !important;
7904    min-height: 40px !important;
7905    flex: 0 0 40px !important;
7906    margin-right: 0 !important;
7907  }
7908
7909  #lx-modal-content .lx-acc-ico img{
7910    width: 24px !important;
7911    height: 24px !important;
7912    max-width: 24px !important;
7913    max-height: 24px !important;
7914    min-width: 24px !important;
7915    min-height: 24px !important;
7916    object-fit: contain !important;
7917  }
7918
7919  /* Chevron etwas kleiner, damit mehr Platz für Text bleibt */
7920  #lx-modal-content .lx-chevron{
7921    width: 9px !important;
7922    height: 9px !important;
7923    margin-left: 0 !important;
7924  }
7925}
7926/* ===== MOBILE: Headline oben größer & sauber 2 Zeilen ===== */
7927@media (max-width: 768px){
7928
7929  #lx-modal-content .lx-modal-top__text h2{
7930    font-size: 21px !important;
7931    line-height: 1.2 !important;
7932    font-weight: 700 !important;
7933    letter-spacing: 0 !important;
7934
7935    /* sorgt für sauberen Umbruch */
7936    max-width: 300px !important;
7937  }
7938
7939  #lx-modal-content .lx-modal-top__text p{
7940    font-size: 13px !important;
7941    line-height: 1.4 !important;
7942    max-width: 300px !important;
7943  }
7944}
7945
7946/* ===== DISABLE SERVICE DRAWER COMPLETELY ===== */
7947.lx-sv-drawer,
7948.lx-sv-drawer_panel,
7949.lx-sv-drawer_body,
7950.lx-sv-drawer_backdrop {
7951  display: none !important;
7952  visibility: hidden !important;
7953  opacity: 0 !important;
7954  pointer-events: none !important;
7955}
7956
7957
7958
7959/* ===== FINAL FONT OVERRIDE: ALLES AUF LATO ===== */
7960#lx-modal-content,
7961#lx-modal-content * ,
7962#lx-modal-content summary,
7963#lx-modal-content button,
7964#lx-modal-content input,
7965#lx-modal-content textarea,
7966#lx-modal-content select,
7967#lx-modal-content table,
7968#lx-modal-content th,
7969#lx-modal-content td,
7970#lx-modal-content p,
7971#lx-modal-content a,
7972#lx-modal-content li,
7973#lx-modal-content h1,
7974#lx-modal-content h2,
7975#lx-modal-content h3,
7976#lx-modal-content h4,
7977#lx-modal-content h5,
7978#lx-modal-content h6,
7979#lx-modal-content .lx-title,
7980#lx-modal-content .lx-intro,
7981#lx-modal-content .lx-note,
7982#lx-modal-content .lx-point h4,
7983#lx-modal-content .lx-point p,
7984#lx-modal-content .lx-modal-top__text h2,
7985#lx-modal-content .lx-modal-top__text p,
7986#lx-modal-content .lx-btn-primary,
7987#lx-modal-content .lx-btn-secondary,
7988#lx-modal-content .lx-close-btn,
7989#lx-modal-content .lx-acc details.lx-item > summary,
7990#lx-modal-content .lx-acc details.lx-item > summary *{
7991  font-family: "Lato", sans-serif !important;
7992}
7993
7994
7995  
7996</style>
7997<div id="lx-modal-content">
7998<div class="lx-modal-top">
7999<div class="lx-modal-top__text">
8000<h2>Service, Garantie &amp; Probeschlafen bei Luxupur®</h2>
8001<p>Übersicht zu Rückgabe, Garantie und Ablauf – klar, hochwertig und transparent.</p>
8002</div>
8003</div>
8004<div class="lx-wrap">
8005<div aria-label="Service-Inhalte" class="lx-acc">
8006<!-- 1) RISIKO -->
8007<details class="lx-item" open="">
8008<summary><span style="--ico-size: 24px;" class="lx-acc-ico"> <img alt="" src="https://cdn.shopify.com/s/files/1/0922/8425/6520/files/luxupur-einkauf.svg?v=1774531517"> </span> So kaufen Sie bei Luxupur® ohne Risiko <span aria-hidden="true" class="lx-chevron"></span></summary>
8009<div class="lx-body">
8010<p class="lx-intro">Bei Luxupur® basiert jedes Produkt auf einer individuellen Abstimmung. Sie testen zu Hause in Ruhe – und wenn das Liegegefühl noch nicht optimal ist, unterstützen wir Sie innerhalb der laufenden Testphase mit einer gezielten und strukturierten Feinabstimmung.</p>
8011<ul aria-label="Risikofreier Kauf – Punkte" class="lx-points">
8012<li class="lx-point">
8013<span aria-hidden="true" class="lx-dot"></span>
8014<div>
8015<h4>Individuell auf Ihr Körperprofil abgestimmt – allein oder als Paar</h4>
8016<p>Bei der Luxupur® OrthoSleep Matratze wird die Fertigung anhand Ihres Körperprofils und Ihrer Angaben im Konfigurator vorbereitet. Schlafen Sie allein, wird die Matratze individuell auf Sie abgestimmt. Schlafen Sie zu zweit, können – je nach gewählter Ausführung – zwei individuelle Kerne für beide Personen gefertigt werden, sodass jede Seite passend auf das jeweilige Körperprofil abgestimmt ist.</p>
8017</div>
8018</li>
8019<li class="lx-point">
8020<span aria-hidden="true" class="lx-dot"></span>
8021<div>
8022<h4>Probeschlafen zu Hause (nicht nur wenige Minuten)</h4>
8023<p>Sie testen Ihr Produkt in Ihrem eigenen Schlafumfeld – nicht in einem kurzen Probeliegen im Showroom. Eine Matratze, ein Topper oder ein Kissen zeigt erst in echten Nächten, ob es wirklich passt.</p>
8024</div>
8025</li>
8026<li class="lx-point">
8027<span aria-hidden="true" class="lx-dot"></span>
8028<div>
8029<h4>Liegegefühl zu Hause fein anpassbar (Topper &amp; Kern: fester/softer)</h4>
8030<p>Bei der Luxupur® OrthoSleep lässt sich das Liegegefühl auch zu Hause noch fein abstimmen. Der integrierte 2-in-1-Topper verfügt über eine festere und eine softere Seite. Je nach Ausführung kann auch der Matratzenkern wendbar oder entsprechend angepasst sein. So können Sie Ihr Liegegefühl Schritt für Schritt verändern – einfach, nachvollziehbar und ohne großen Aufwand. In bestimmten Fällen kann die Ausführung davon abweichen, wenn von Anfang an ein besonders weiches oder besonders festes Liegegefühl gewünscht ist.</p>
8031</div>
8032</li>
8033<li class="lx-point">
8034<span aria-hidden="true" class="lx-dot"></span>
8035<div>
8036<h4>Gezielte Unterstützung während Ihrer Testzeit</h4>
8037<p>Wenn sich zeigt, dass das Liegegefühl noch nicht optimal ist, unterstützen wir Sie während Ihrer Testzeit mit einer gezielten Feinabstimmung. Je nach Fall kann dies z. B. eine alternative Topper-Variante (weicher oder fester) oder eine Anpassung des Matratzenkerns (weicher oder fester) sein.<br><br><br><strong>Wichtig:</strong> Eine solche Anpassung erfolgt einmalig und dient der gezielten Optimierung des Liegegefühls. Die jeweils laufende Testphase bleibt hiervon unberührt; sie verlängert sich dadurch nicht und beginnt nicht erneut.
8038
8039<br><br>Sofern trotz dieser Unterstützung keine passende Lösung gefunden wird, gilt weiterhin die jeweils anwendbare Rückgabemöglichkeit innerhalb der vorgesehenen Frist gemäß unseren AGB und Testphasen-Bedingungen. Die freiwillige Testphase beträgt bei Luxupur® OrthoSleep Matratzen 100 Nächte sowie bei Toppern, Kissen und Lattenrosten 30 Nächte; für Kunden mit Wohnsitz oder Rechnungsadresse außerhalb der Europäischen Union sind die freiwilligen Testphasen aufgrund des erhöhten logistischen Aufwands, internationaler Versand- und Rücktransportkosten s
8039owie organisatorischer Besonderheiten bei Speditions- und Zollabwicklungen ausgeschlossen.
8040</p>
8041</div>
8042</li>
8043</ul>
8044<div class="lx-cta">
8045<a href="https://luxupur.de/" class="lx-btn-primary">Zum Shop</a> <a href="/pages/contact" class="lx-btn-secondary">Fragen? Kontakt aufnehmen</a>
8046</div>
8047</div>
8048</details>
8049<!-- 2) GARANTIE -->
8050<details open="" class="lx-item">
8051<summary><span style="--ico-size: 24px;" class="lx-acc-ico"> <img alt="" src="https://cdn.shopify.com/s/files/1/0922/8425/6520/files/luxupur-garantie.svg?v=1774531356"> </span> Luxupur® Garantie <span aria-hidden="true" class="lx-chevron"></span></summary>
8052<div class="lx-body">
8053<p class="lx-intro">Nachfolgend finden Sie eine übersichtliche Zusammenfassung der Luxupur® Garantie je Produktgruppe. Die Garantie bezieht sich auf <strong>Material- und Herstellungsfehler</strong> innerhalb der jeweiligen Laufzeit. Gesetzliche Rechte (z. B. Gewährleistung) bleiben unberührt.</p>
8054<div aria-label="Tabelle Luxupur Garantie" role="region" class="lx-table-wrap">
8055<table>
8056<thead>
8057<tr>
8058<th style="width: 40%;">Produkt</th>
8059<th style="width: 18%;">Garantie</th>
8060<th style="width: 42%;">Was ist abgedeckt?</th>
8061</tr>
8062</thead>
8063<tbody>
8064<tr>
8065<td data-label="Produkt"><strong>Luxupur® OrthoSleep Matratze</strong></td>
8066<td class="lx-wcol" data-label="Garantie"><strong>10 Jahre</strong></td>
8067<td data-label="Was ist abgedeckt?">Material- und Herstellungsfehler am Produkt innerhalb der Garantielaufzeit (gemäß Bedingungen).</td>
8068</tr>
8069<tr>
8070<td data-label="Produkt">
8071<strong>Luxupur® Kissen</strong><br><span style="color: rgba(255,255,255,.62); font-size: 13.5px; line-height: 1.5;">OrthoPillow &amp; ErgoPillow</span>
8072</td>
8073<td class="lx-wcol" data-label="Garantie"><strong>3 Jahre</strong></td>
8074<td data-label="Was ist abgedeckt?">Material- und Herstellungsfehler innerhalb der Garantielaufzeit (gemäß Bedingungen).</td>
8075</tr>
8076<tr>
8077<td data-label="Produkt"><strong>Luxupur® OrthoTop Topper</strong></td>
8078<td class="lx-wcol" data-label="Garantie"><strong>5 Jahre</strong></td>
8079<td data-label="Was ist abgedeckt?">Material- und Herstellungsfehler innerhalb der Garantielaufzeit (gemäß Bedingungen).</td>
8080</tr>
8081<tr>
8082<td data-label="Produkt">
8083<strong>Luxupur® Lattenroste</strong><br><span style="color: rgba(255,255,255,.62); font-size: 13.5px; line-height: 1.5;">OrthoBase Classic, OrthoBase Comfort (elektrisch), OrthoFlex Premium</span>
8084</td>
8085<td class="lx-wcol" data-label="Garantie">
8086<p><strong>2 Jahre auf Orthobase</strong></p>
8087<p><strong>10 Jahre auf OrthoFlex</strong></p>
8088</td>
8089<td data-label="Was ist abgedeckt?">Material- und Herstellungsfehler innerhalb der Garantielaufzeit (gemäß Bedingungen).</td>
8090</tr>
8091</tbody>
8092</table>
8093</div>
8094<p class="lx-note"><strong>Garantieprüfung:</strong> Luxupur® behält sich vor, die beanstandete Ware in der Manufaktur prüfen zu lassen. Im berechtigten Fall übernimmt Luxupur® Transport- und Verpackungskosten.</p>
8095<p class="lx-note"><strong>Voraussetzungen:</strong><br>• Nachweis des Kaufdatums durch Originalrechnung<br>• Bestimmungsgemäße Verwendung (keine Gewalteinwirkung, keine Verschmutzung, keine falsche Unterfederung)<br>• Matratze auf funktionstüchtigem Rahmen mit geringem Leistenabstand<br>• Ausgeschlossen: Schäden durch unsachgemäßen Gebrauch (z. B. Flüssigkeiten, falsches Waschen, ungeeignete Reinigung)</p>
8096<p class="lx-note"><strong>Von der Garantie ausgeschlossen (Beispiele):</strong><br>• Kuhlenbildung an Rändern durch geknickte Lagerung<br>• Aufgegangene Stepp- oder Ziernähte nach Waschen<br>• Farbveränderungen von Schäumen durch Licht/Alterung<br>• Pilling oder Faltenbildung als übliche Gebrauchsspuren<br>• Unhygienische oder verschmutzte Matratzen</p>
8097<p class="lx-note"><strong>Hinweis:</strong> Die jeweilige Garantie endet mit Ablauf der für das entsprechende Produkt genannten Garantielaufzeit ab Kaufdatum.</p>
8098</div>
8099</details>
8100<!-- 3) PFLEGEHINWEISE -->
8101<details class="lx-item" open="">
8102<summary><span style="--ico-size: 24px;" class="lx-acc-ico"> <img alt="" src="https://cdn.shopify.com/s/files/1/0922/8425/6520/files/luxupur-pflegehinweise.svg?v=1774531615"> </span> Pflegehinweise für Luxupur® Produkte <span aria-hidden="true" class="lx-chevron"></span></summary>
8103<div class="lx-body">
8104<p class="lx-intro">Diese Hinweise helfen Ihnen, Material, Bezug und Komfort langfristig zu erhalten. Maßgeblich sind stets die Pflegeetiketten am Produkt.</p>
8105<ul aria-label="Pflegehinweise – Punkte" class="lx-points">
8106<li class="lx-point">
8107<span aria-hidden="true" class="lx-dot"></span>
8108<div>
8109<h4>Bezüge: abnehmbar &amp; waschbar (40 °C)</h4>
8110<p>Viele Luxupur® Bezüge sind abnehmbar und waschbar. Bitte beachten Sie das Pflegeetikett. Für die Wäsche empfehlen wir: Reißverschluss schließen, Bezug auf links drehen und bei <strong>40 °C Schonwäsche</strong>
8110 reinigen. Lufttrocknen ist in der Regel schonend; ein Trockner kann je nach Material zu Einlaufen führen.</p>
8111</div>
8112</li>
8113<li class="lx-point">
8114<span aria-hidden="true" class="lx-dot"></span>
8115<div>
8116<h4>Pilling, Falten &amp; „Schlafspuren“</h4>
8117<p>Leichte Fusselbildung (Pilling) kann durch Reibung mit Bettwäsche entstehen und ist in der Regel kein Qualitätsmangel. Falten im Bezug können nach Transport oder Nutzung auftreten und reduzieren sich meist nach kurzer Zeit oder nach einer Wäsche gemäß Etikett. Vertiefungen im Liegebereich entstehen durch Druck und Wärme – das Material passt sich an.</p>
8118</div>
8119</li>
8120<li class="lx-point">
8121<span aria-hidden="true" class="lx-dot"></span>
8122<div>
8123<h4>Material &amp; Gefühl: Visco-/Hybrid-Schaum-Technologie</h4>
8124<p>Unsere Schäume reagieren auf Gewicht, Druck und Temperatur. Bei kühler Raumtemperatur kann sich das Liegegefühl zunächst fester anfühlen, bei Wärme entsprechend anpassungsfähiger. Das ist materialtypisch.</p>
8125</div>
8126</li>
8127<li class="lx-point">
8128<span aria-hidden="true" class="lx-dot"></span>
8129<div>
8130<h4>Nach Lieferung: Auspacken, Formaufbau &amp; Geruch</h4>
8131<p>Je nach Kompression kann es bis zu <strong>72 Stunden</strong> dauern, bis Form/Höhe vollständig erreicht sind. Ein leichter „Neuprodukt“-Geruch ist unbedenklich und verfliegt meist schnell – Lüften beschleunigt das.</p>
8132</div>
8133</li>
8134<li class="lx-point">
8135<span aria-hidden="true" class="lx-dot"></span>
8136<div>
8137<h4>Reinigung: schonend statt „aggressiv“</h4>
8138<p>Vermeiden Sie harte Bürsten und aggressive Behandlung. Wenn Sie Fussel entfernen möchten, gehen Sie bitte vorsichtig vor.</p>
8139</div>
8140</li>
8141<li class="lx-point">
8142<span aria-hidden="true" class="lx-dot"></span>
8143<div>
8144<h4>Wärmequellen: Heizdecke/Wärmflasche</h4>
8145<p>Direkter, dauerhafter Kontakt mit starken Wärmequellen kann Materialien beeinflussen. Schäden durch Flüssigkeiten können Garantieansprüche beeinträchtigen.</p>
8146</div>
8147</li>
8148<li class="lx-point">
8149<span aria-hidden="true" class="lx-dot"></span>
8150<div>
8151<h4>Aufbewahrung &amp; Transport</h4>
8152<p>Lagern Sie Produkte trocken und gut belüftet. Starkes Knicken kann Materialien beschädigen.</p>
8153<p style="margin-top: 10px;" class="lx-note"><strong>Orientierung Waschen/Trocknen (Bezugbreite &amp; Maschinenkapazität):</strong></p>
8154<table aria-label="Waschmaschinenkapazität nach Bezugbreite" class="lx-mini-table">
8155<thead>
8156<tr>
8157<th>Breite des Bezugs</th>
8158<th>Waschmaschine/Trockner Kapazität</th>
8159</tr>
8160</thead>
8161<tbody>
8162<tr>
8163<td data-label="Breite des Bezugs">Bis zu 95 cm</td>
8164<td data-label="Kapazität">6 kg</td>
8165</tr>
8166<tr>
8167<td data-label="Breite des Bezugs">Bis zu 105 cm</td>
8168<td data-label="Kapazität">7 kg</td>
8169</tr>
8170<tr>
8171<td data-label="Breite des Bezugs">Bis zu 120 cm</td>
8172<td data-label="Kapazität">8 kg</td>
8173</tr>
8174<tr>
8175<td data-label="Breite des Bezugs">Über 120 cm</td>
8176<td data-label="Kapazität">Professionelle Reinigung empfohlen</td>
8177</tr>
8178</tbody>
8179</table>
8180<p class="lx-note"><strong>Wichtig:</strong> Bezug vollständig trocknen lassen, bevor er wieder verwendet/gelagert wird.</p>
8181</div>
8182</li>
8183</ul>
8184<p class="lx-note"><strong>Hinweis:</strong> Maßgeblich sind die Pflegeetiketten und die produktbezogenen Hinweise.</p>
8185</div>
8186</details>
8187<!-- 4) LIEFERINFORMATIONEN -->
8188<details open="" class="lx-item">
8189<summary><span style="--ico-size: 24px;" class="lx-acc-ico"> <img alt="" src="https://cdn.shopify.com/s/files/1/0922/8425/6520/files/luxupur-kostenlose-lieferung.svg?v=1774531536"> </span> Lieferinformationen <span aria-hidden="true" class="lx-chevron"></span></summary>
8190<div class="lx-body">
8191<p class="lx-intro">Luxupur® liefert in der Regel <strong>versandkostenfrei</strong> innerhalb von <strong>Deutschland, Österreich und der Schweiz</strong>. Je nach Produkt erfolgt der Versand als Paket oder per Spedition mit Terminabsprache.</p>
8192<ul aria-label="Lieferinfos – Punkte" class="lx-points">
8193<li class="lx-point">
8194<span aria-hidden="true" class="lx-dot"></span>
8195<div>
8196<h4>Kleinteile (z. B. Kissen, Zubehör)</h4>
8197<p>Regellieferzeit: <strong>ca. 5–10 Werktage</strong> nach Bestelleingang. Der Versand erfolgt üblicherweise über <strong>gängige Paketdienstleister</strong> (z. B. DHL, DPD oder vergleichbare Anbieter).</p>
8198</div>
8199</li>
8200<li class="lx-point">
8201<span aria-hidden="true" class="lx-dot"></span>
8202<div>
8203<h4>OrthoTop Topper</h4>
8204<p>Regellieferzeit: <strong>ca. 2 Wochen</strong> nach Bestelleingang. Da jeder Topper individuell in unserer deutschen Manufaktur gefertigt wird, kann sich die Lieferzeit bei <strong>
8204Sondergrößen oder Sonderanfertigungen</strong> geringfügig verlängern. Der Versand erfolgt üblicherweise <strong>gerollt und vakuumiert</strong> im Karton über gängige Paketdienstleister.</p>
8205</div>
8206</li>
8207<li class="lx-point">
8208<span aria-hidden="true" class="lx-dot"></span>
8209<div>
8210<h4>Matratzen &amp; Großteile (OrthoSleep Matratze &amp; Lattenroste)</h4>
8211<p>Die Lieferzeit beträgt in der Regel <strong>2–4 Wochen</strong> und gilt für Luxupur® Matratzen, OrthoBase Lattenroste. Für unseren OrthoFlex Tellerlattenrost liegt die Lieferzeit bei <strong>4–6 Wochen</strong>.</p>
8212<p>Bei Lieferungen in die Schweiz kann sich die Lieferzeit aufgrund zusätzlicher Versand- und Zollabwicklung geringfügig verlängern.</p>
8213</div>
8214</li>
8215<li class="lx-point">
8216<span aria-hidden="true" class="lx-dot"></span>
8217<div>
8218<h4>Matratzen bis 100 cm Breite (Box-Versand)</h4>
8219<p>In der Regel <strong>gerollt und vakuumiert</strong> im Karton. Die Zustellung erfolgt üblicherweise über Paketdienstleister bis zur Haustür.</p>
8220</div>
8221</li>
8222<li class="lx-point">
8223<span aria-hidden="true" class="lx-dot"></span>
8224<div>
8225<h4>Großteile (z. B. größere Matratzen, Rahmen/Lattenroste)</h4>
8226<p>Großteile werden in der Regel per <strong>Spedition oder im Zwei-Personen-Handling</strong> geliefert. Die Zustellung erfolgt grundsätzlich <strong>frei Bordsteinkante</strong>; eine weitergehende Zustellung bis zum gewünschten Aufstellort ist in Einzelfällen auf Anfrage und je nach Verfügbarkeit möglich. Die Terminabsprache erfolgt üblicherweise <strong>telefonisch</strong>.</p>
8227</div>
8228</li>
8229<li class="lx-point">
8230<span aria-hidden="true" class="lx-dot"></span>
8231<div>
8232<h4>Rechnungs- &amp; Lieferadresse</h4>
8233<p>Sie können bei Ihrer Bestellung eine abweichende Lieferadresse angeben.</p>
8234</div>
8235</li>
8236<li class="lx-point">
8237<span aria-hidden="true" class="lx-dot"></span>
8238<div>
8239<h4>Kontakt bei Rückfragen</h4>
8240<p>Luxupur by Wolken Matratzen UG (haftungsbeschränkt), Kurfürstendamm 11, 10719 Berlin<br>Tel.: +49 30 754 35 644<br>E-Mail: <a href="mailto:[email protected]">[email protected]</a></p>
8241</div>
8242</li>
8243</ul>
8244<p class="lx-note">Hinweis: Bei Sondermaßen oder Sonderanfertigungen können Lieferzeiten abweichen. Die Auswahl des Versanddienstleisters erfolgt je nach Produkt, Größe, Lieferregion und logistischer Verfügbarkeit. Ein Anspruch auf einen bestimmten Versanddienstleister besteht nicht.</p>
8245</div>
8246</details>
8247
8248<!-- 5) KOSTENFREIE RÜCKSENDUNG -->
8249<details open="" class="lx-item">
8250<summary><span style="--ico-size: 24px;" class="lx-acc-ico"> <img alt="" src="https://cdn.shopify.com/s/files/1/0922/8425/6520/files/luxupur-kostenlose-r_cksendung.svg?v=1774531472"> </span> Kostenfreie Rücksendung <span aria-hidden="true" class="lx-chevron"></span></summary>
8251<div class="lx-body">
8252<p class="lx-intro">Für direkt in unserem Onlineshop erworbene Luxupur® Produkte bieten wir im Rahmen unserer freiwilligen Testphase in der Regel eine <strong>kostenfreie Rücksendung</strong> an. Unabhängig davon gelten ergänzend die jeweils maßgeblichen gesetzlichen Regelungen sowie unsere Widerrufsbelehrung und AGB.</p>
8253<ul aria-label="Rücksendung – Punkte" class="lx-points">
8254<li class="lx-point">
8255<span aria-hidden="true" class="lx-dot"></span>
8256<div>
8257<h4>Testzeiträume</h4>
8258<p><strong>Luxupur® OrthoSleep Matratze:</strong><strong> 100 Nächte</strong> testen.<br><strong>Kissen, Topper &amp; Lattenroste:</strong><strong> 30 Nächte</strong> testen.</p>
8259</div>
8260</li>
8261<li class="lx-point">
8262<span aria-hidden="true" class="lx-dot"></span>
8263<div>
8264<h4>So funktioniert die Rücksendung</h4>
8265<p>Für <strong>Kleinteile</strong> erhalten Sie in der Regel ein <strong>Retourenlabel</strong> (z. B. DHL/DPD).<br>Für <strong>Großteile</strong> organisieren wir eine <strong>kostenfreie Abholung per Spedition</strong>.</p>
8266</div>
8267</li>
8268<li class="lx-point">
8269<span aria-hidden="true" class="lx-dot"></span>
8270<div>
8271<h4>Kontakt für Rücksendung (Klein- &amp; Großteile)</h4>
8272<p>Bitte wenden Sie sich an unseren Kundenservice: <a href="mailto:[email protected]">[email protected]</a><br>Oder nutzen Sie unser Kontaktformular: <a href="/pages/contact">Kontakt</a></p>
8273</div>
8274</li>
8275<li class="lx-point">
8276<span aria-hidden="true" class="lx-dot"></span>
8277<div>
8278<h4>Erstattung des Kaufbetrags</h4>
8279<p>Nach Eingang und Prüfung der Rücksendung veranlassen wir die Erstattung über die <strong>ursprünglich verwendete Zahlungsart</strong>
8279. Die tatsächliche Gutschrift kann – abhängig von Zahlungsart und Zahlungsanbieter – in der Regel <strong>bis zu 14 Tage</strong> in Anspruch nehmen.</p>
8280</div>
8281</li>
8282<li class="lx-point">
8283<span aria-hidden="true" class="lx-dot"></span>
8284<div>
8285<h4>Gezielte Anpassung vor einer Rückgabe</h4>
8286<p>Wenn das Liegegefühl noch nicht optimal passt, prüfen wir zunächst eine gezielte Anpassung – z. B. einen <strong>weicheren oder festeren Topper</strong> oder eine <strong>Anpassung des Matratzenkerns</strong> (modell- und fallabhängig).<br><br>Diese Unterstützung erfolgt einmalig während Ihrer Testzeit und dient der gezielten Optimierung des Liegegefühls. Die Testzeit verlängert sich dadurch nicht und beginnt auch nicht erneut.</p>
8287</div>
8288</li>
8289</ul>
8290<p class="lx-note"><strong>Wichtig:</strong> Die kostenfreie Rücksendung gilt für Luxupur® Produkte aus unserem Onlineshop.</p>
8291</div>
8292</details>
8293<!-- 6) ZAHLUNGSOPTIONEN -->
8294<details class="lx-item">
8295<summary><span style="--ico-size: 24px;" class="lx-acc-ico"> <img alt="" src="https://cdn.shopify.com/s/files/1/0922/8425/6520/files/luxupur-zahlungsm_glichkeiten.svg?v=1774531578"> </span> Zahlungsoptionen <span aria-hidden="true" class="lx-chevron"></span></summary>
8296<div class="lx-body">
8297<p class="lx-intro">Im Luxupur® Onlineshop stehen Ihnen mehrere sichere Zahlungsmethoden zur Verfügung. Die verfügbaren Optionen sehen Sie im Checkout.</p>
8298<ul aria-label="Zahlungsoptionen – Punkte" class="lx-points">
8299<li class="lx-point">
8300<span aria-hidden="true" class="lx-dot"></span>
8301<div>
8302<h4>PayPal</h4>
8303<p>Sie zahlen schnell und sicher über PayPal. Im Bestellprozess werden Sie zu PayPal weitergeleitet. Je nach PayPal-Einstellung ist auch eine Zahlung ohne eigenes PayPal-Konto möglich.</p>
8304</div>
8305</li>
8306<li class="lx-point">
8307<span aria-hidden="true" class="lx-dot"></span>
8308<div>
8309<h4>Google Pay / Apple Pay</h4>
8310<p>Bezahlen Sie bequem über Google Pay oder Apple Pay, sofern Sie die Funktion auf Ihrem Gerät eingerichtet haben (z. B. mit hinterlegter Karte in der Wallet).</p>
8311</div>
8312</li>
8313<li class="lx-point">
8314<span aria-hidden="true" class="lx-dot"></span>
8315<div>
8316<h4>Kreditkarte</h4>
8317<p>Wir akzeptieren gängige Kreditkarten (z. B. Visa, Mastercard). Erstattungen im Rückabwicklungsfall erfolgen auf das ursprünglich genutzte Zahlungsmittel.</p>
8318</div>
8319</li>
8320<li class="lx-point">
8321<span aria-hidden="true" class="lx-dot"></span>
8322<div>
8323<h4>Sofort bezahlen via Klarna</h4>
8324<p>Mit „Sofort bezahlen“ begleichen Sie den Gesamtbetrag direkt im Checkout über Klarna.</p>
8325</div>
8326</li>
8327<li class="lx-point">
8328<span aria-hidden="true" class="lx-dot"></span>
8329<div>
8330<h4>Kauf auf Rechnung via Klarna</h4>
8331<p>Der Rechnungskauf ist bei Luxupur® ausschließlich über Klarna möglich. Klarna prüft und verwaltet die Abwicklung. Die Zahlungsinformationen erhalten Sie von Klarna.</p>
8332</div>
8333</li>
8334<li class="lx-point">
8335<span aria-hidden="true" class="lx-dot"></span>
8336<div>
8337<h4>Ratenkauf via Klarna (bis zu 36 Monate)</h4>
8338<p>Auf Wunsch können Sie Ihren Einkauf bequem über Klarna in monatlichen Raten bezahlen. Je nach Auswahl sind Laufzeiten von <strong>bis zu 36 Monaten</strong> möglich. Die tatsächlich verfügbaren Optionen, Ratenhöhen und Konditionen werden Ihnen im Rahmen der Zahlungsabwicklung durch Klarna angezeigt und sind <strong>abhängig von Bonität und den Vorgaben von Klarna</strong>.</p>
8339</div>
8340</li>
8341<li class="lx-point">
8342<span aria-hidden="true" class="lx-dot"></span>
8343<div>
8344<h4>Vorauskasse (Banküberweisung)</h4>
8345<p>Sie können im Checkout auch <strong>Vorauskasse (Banküberweisung)</strong> auswählen. Nach Auswahl werden Ihnen die Überweisungsdaten angezeigt.<br><br><strong>Wichtig:</strong> Vorauskasse ist <strong>kein Kauf auf Rechnung</strong>. Rechnungskauf bieten wir ausschließlich über Klarna an. Die Produktion bzw. Bearbeitung beginnt erst, sobald der Betrag bei uns eingegangen und auf dem Konto verbucht ist.</p>
8346</div>
8347</li>
8348</ul>
8349<p class="lx-note">Hinweis: Klarna ist ein eigenständiger Zahlungsdienstleister. Welche Klarna-Optionen Ihnen angeboten werden, kann von einer Bonitätsprüfung abhängen.</p>
8350</div>
8351</details>
8352</div>
8353</div>
8354</div>
8355<p>
8355<script>
8356  (function(){
8357    var root = document.getElementById('lx-modal-content');
8358    if(!root) return;
8359
8360    var items = root.querySelectorAll('details.lx-item');
8361
8362    items.forEach(function(d){
8363      d.addEventListener('toggle', function(){
8364        if(!d.open) return;
8365        items.forEach(function(other){
8366          if(other !== d) other.removeAttribute('open');
8367        });
8368      });
8369    });
8370  })();
8371
8372  (function(){
8373    if (window.matchMedia('(max-width: 768px)').matches) {
8374      document.querySelectorAll('#lx-modal-content details.lx-item[open]')
8375        .forEach(function(d){ d.removeAttribute('open'); });
8376    }
8377  })();
8378</script>
8378 
8378<script>
8379  (function(){
8380    var root = document.getElementById('lx-modal-content');
8381    if(!root) return;
8382
8383    root.querySelectorAll('details.lx-item').forEach(function(d){
8384      var body = d.querySelector('.lx-body');
8385      if(!body) return;
8386      if(body.querySelector('.lx-close-row')) return;
8387
8388      var row = document.createElement('div');
8389      row.className = 'lx-close-row';
8390
8391      var btn = document.createElement('button');
8392      btn.type = 'button';
8393      btn.className = 'lx-close-btn';
8394      btn.setAttribute('aria-label', 'Accordion schließen');
8395      btn.innerHTML = '<span>Schließen</span><span class="lx-close-chevron" aria-hidden="true"></span>';
8396
8397      row.appendChild(btn);
8398      body.appendChild(row);
8399    });
8400
8401    root.addEventListener('click', function(e){
8402      var btn = e.target.closest('.lx-close-btn');
8403      if(!btn) return;
8404
8405      e.preventDefault();
8406      e.stopPropagation();
8407
8408      var details = btn.closest('details.lx-item');
8409      if(!details) return;
8410
8411      details.removeAttribute('open');
8412    }, true);
8413  })();
8414</script>
8414</p>
8415</div>
8416  </div>
8417</div>
8418
8419<script>
8420(function(){
8421  var overlay = document.getElementById('lxServiceModal');
8422  if (!overlay) return;
8423
8424  function openModal(){
8425    overlay.classList.add('is-open');
8426    overlay.setAttribute('aria-hidden','false');
8427    document.documentElement.style.overflow = 'hidden';
8428    document.body.style.overflow = 'hidden';
8429  }
8430
8431  function closeModal(){
8432    overlay.classList.remove('is-open');
8433    overlay.setAttribute('aria-hidden','true');
8434    document.documentElement.style.overflow = '';
8435    document.body.style.overflow = '';
8436  }
8437
8438  document.addEventListener('click', function(e){
8439    var opener = e.target.closest('[data-lx-open="service"]');
8440    if (opener){
8441      e.preventDefault();
8442      openModal();
8443      return;
8444    }
8445
8446    if (!overlay.classList.contains('is-open')) return;
8447
8448    if (e.target === overlay) closeModal();
8449    if (e.target.closest('[data-lx-close]')) closeModal();
8450  });
8451
8452  document.addEventListener('keydown', function(e){
8453    if (e.key === 'Escape' && overlay.classList.contains('is-open')) {
8454      closeModal();
8455    }
8456  });
8457})();
8458</script>
8458
8459<div id="lx-atc-overlay" class="lx-atc-overlay" aria-hidden="true" hidden></div>
8460
8461<aside
8462  id="lx-atc-drawer"
8463  class="lx-atc-drawer"
8464  aria-hidden="true"
8465  role="dialog"
8466  aria-modal="true"
8467  aria-label="In den Warenkorb gelegt"
8468  hidden
8469>
8470  <div class="lx-atc-drawer__header">
8471    <div class="lx-atc-drawer__title">
8472      <span class="lx-atc-drawer__check" aria-hidden="true">✓</span>
8473      <span>In Ihren Warenkorb gelegt</span>
8474    </div>
8475    <button type="button" class="lx-atc-drawer__close" aria-label="Schließen">×</button>
8476  </div>
8477
8478  <div class="lx-atc-drawer__added">
8479    <div class="lx-atc-drawer__added-media">
8480      <img id="lx-atc-added-img" alt="" loading="lazy" decoding="async">
8481    </div>
8482
8483    <div class="lx-atc-drawer__added-info">
8484      <div id="lx-atc-added-title" class="lx-atc-drawer__added-title">—</div>
8485
8486      <div class="lx-atc-priceblock">
8487        <div id="lx-atc-added-compare" class="lx-atc-price-compare" hidden>—</div>
8488
8489        <div class="lx-atc-price-row">
8490          <div id="lx-atc-added-price" class="lx-atc-price-current">—</div>
8491          <div id="lx-atc-added-save" class="lx-atc-price-save" hidden>—</div>
8492        </div>
8493      </div>
8494    </div>
8495  </div>
8496
8497  <div class="lx-atc-drawer__actions">
8498    <a href="/cart" class="lx-atc-btn lx-atc-btn--primary">
8499      Warenkorb anzeigen
8500    </a>
8501
8502    <button type="button"
8503      class="lx-atc-btn lx-atc-btn--ghost"
8504      id="lx-atc-continue">
8505      <span class="lx-atc-continue-text">
8506        Einkauf fortsetzen
8507      </span>
8508      <span class="lx-atc-arrow">→</span>
8509    </button>
8510  </div>
8511
8512  <div class="lx-atc-drawer__divider"></div>
8513
8514  <div class="lx-atc-drawer__reco">
8515    <div class="lx-atc-drawer__reco-title">Vervollständigen Sie Ihr Schlafsystem</div>
8516
8517    <div id="lx-atc-reco-list" class="lx-atc-drawer__reco-list"><a class="lx-atc-reco-item" href="/products/orthobase-comfort-elektrischer-lattenrost">
8518            <div class="lx-atc-reco-item__img"><img
8519                  src="//luxupur.de/cdn/shop/files/luxupur-orthobase-comfort-lattenrost-elektrisch-premium.webp?v=1776890666&width=160"
8520                  alt="Luxupur® OrthoBase Comfort"
8521                  loading="lazy"
8522                  decoding="async"
8523                ></div>
8524
8525            <div class="lx-atc-reco-item__meta">
8526              <div class="lx-atc-reco-item__title">Luxupur® OrthoBase Comfort</div><div class="lx-atc-reco-item__compare">
8527                  ab 1.095,00 €
8528                </div>
8529
8530                <div class="lx-atc-reco-item__price">
8531                  ab 895,00 €
8532                </div>
8533
8534                <div class="lx-atc-reco-item__save">
8535                  Sie sparen 200,00 €
8536                </div></div>
8537
8538            <div class="lx-atc-reco-item__cta">
8539              <span class="lx-atc-reco-text">Mehr erfahren</span>
8540              <span class="lx-atc-reco-arrow">→</span>
8541            </div>
8542          </a><a class="lx-atc-reco-item" href="/products/orthoflex-premium-tellerlattenrost-elektrisch">
8543            <div class="lx-atc-reco-item__img"><img
8544                  src="//luxupur.de/cdn/shop/files/freepik_use-the-provided-image-of-the-slatted-bed-base-lattenrost-as-the-exact-reference.-keep-the-product-100-unchanged-same-structure-proportions-materials-colors-details-and-perspe.webp?v=1775077243&width=160"
8545                  alt="Luxupur® OrthoFlex Premium"
8546                  loading="lazy"
8547                  decoding="async"
8548                ></div>
8549
8550            <div class="lx-atc-reco-item__meta">
8551              <div class="lx-atc-reco-item__title">Luxupur® OrthoFlex Premium</div><div class="lx-atc-reco-item__price">
8552                  ab 1.395,00 €
8553                </div></div>
8554
8555            <div class="lx-atc-reco-item__cta">
8556              <span class="lx-atc-reco-text">Mehr erfahren</span>
8557              <span class="lx-atc-reco-arrow">→</span>
8558            </div>
8559          </a><a class="lx-atc-reco-item" href="/products/luxupur-orthopillow-kissen">
8560            <div class="lx-atc-reco-item__img"><img
8561                  src="//luxupur.de/cdn/shop/files/luxupur-orthopillow-ergonomisches-nackenkissen-seitenschlaefer.webp?v=1789204398&width=160"
8562                  alt="Luxupur® OrthoPillow"
8563                  loading="lazy"
8564                  decoding="async"
8565                ></div>
8566
8567            <div class="lx-atc-reco-item__meta">
8568              <div class="lx-atc-reco-item__title">Luxupur® OrthoPillow</div><div class="lx-atc-reco-item__price">
8569                  ab 135,00 €
8570                </div></div>
8571
8572            <div class="lx-atc-reco-item__cta">
8573              <span class="lx-atc-reco-text">Mehr erfahren</span>
8574              <span class="lx-atc-reco-arrow">→</span>
8575            </div>
8576          </a><a class="lx-atc-reco-item" href="/products/luxupur-ergopillow">
8577            <div class="lx-atc-reco-item__img"><img
8578                  src="//luxupur.de/cdn/shop/files/luxupur-ergopillow-nackenkissen-ergonomisch-produktfoto.jpg?v=1789384712&width=160"
8579                  alt="Luxupur® ErgoPillow"
8580                  loading="lazy"
8581                  decoding="async"
8582                ></div>
8583
8584            <div class="lx-atc-reco-item__meta">
8585              <div class="lx-atc-reco-item__title">Luxupur® ErgoPillow</div><div class="lx-atc-reco-item__price">
8586                  ab 155,00 €
8587                </div></div>
8588
8589            <div class="lx-atc-reco-item__cta">
8590              <span class="lx-atc-reco-text">Mehr erfahren</span>
8591              <span class="lx-atc-reco-arrow">→</span>
8592            </div>
8593          </a></div>
8594  </div>
8595</aside>
8596
8597<style>
8598  /* ===== Typography (global for drawer) – LATO überall ===== */
8599  #lx-atc-drawer,
8600  #lx-atc-drawer *{
8601    font-family: "Lato", sans-serif !important;
8602  }
8603
8604  /* ===== Overlay ===== */
8605  .lx-atc-overlay{
8606    position: fixed;
8607    inset: 0;
8608    background: rgba(0,0,0,.32);
8609    opacity: 0;
8610    pointer-events: none;
8611    transition: opacity .22s ease;
8612    z-index: 9998;
8613    backdrop-filter: blur(4px);
8614    -webkit-backdrop-filter: blur(4px);
8615  }
8616
8617  /* ===== Drawer base – WEISS ===== */
8618  .lx-atc-drawer{
8619    position: fixed;
8620    z-index: 9999;
8621    background: #ffffff;
8622    color: #1a2428;
8623    box-shadow: 0 26px 70px rgba(0,0,0,.18);
8624    border: 1px solid #e8dfc8;
8625    opacity: 0;
8626    pointer-events: none;
8627    transform: translate3d(0,0,0);
8628    transition: transform .26s ease, opacity .18s ease;
8629    overflow: hidden;
8630  }
8631
8632  @media (min-width: 750px){
8633    .lx-atc-drawer{
8634      top: 0;
8635      right: 34px;
8636      width: min(468px, 92vw);
8637      max-height: 100vh;
8638      border-radius: 0 !important;
8639      transform: translateY(-14px) translateX(18px);
8640    }
8641  }
8642
8643  @media (max-width: 749px){
8644    .lx-atc-drawer{
8645      left: 0;
8646      right: 0;
8647      bottom: 0;
8648      width: 100%;
8649      max-height: 85vh;
8650      border-radius: 14px 14px 0 0 !important;
8651      transform: translateY(110%);
8652      border-left: 0 !important;
8653      border-right: 0 !important;
8654      border-bottom: 0 !important;
8655    }
8656  }
8657
8658  html.lx-atc-open .lx-atc-overlay{
8659    opacity: 1;
8660    pointer-events: auto;
8661  }
8662
8663  html.lx-atc-open .lx-atc-drawer{
8664    opacity: 1;
8665    pointer-events: auto;
8666    transform: translateY(0) translateX(0);
8667  }
8668
8669  /* ===== Header ===== */
8670  .lx-atc-drawer__header{
8671    display: flex;
8672    align-items: center;
8673    justify-content: space-between;
8674    padding: 16px 16px 12px;
8675    border-bottom: 1px solid #e8dfc8;
8676    background: #faf8f4;
8677  }
8678
8679  .lx-atc-drawer__title{
8680    display: flex;
8681    align-items: center;
8682    gap: 12px;
8683    font-weight: 600;
8684    font-size: 18px;
8685    line-height: 1.15;
8686    color: #1a2428;
8687    font-family: "Lato", sans-serif !important;
8688  }
8689
8690  .lx-atc-drawer__check{
8691    display: inline-flex;
8692    width: 32px;
8693    height: 32px;
8694    align-items: center;
8695    justify-content: center;
8696    border-radius: 0 !important;
8697    background: #fdf8f0;
8698    border: 1px solid #C9A96E;
8699    color: #C9A96E;
8700    font-weight: 900;
8701    font-size: 15px;
8702  }
8703
8704  .lx-atc-drawer__close{
8705    appearance: none;
8706    border: 1px solid #d4bc8e;
8707    background: #ffffff;
8708    color: #1a2428;
8709    cursor: pointer;
8710    font-size: 22px;
8711    line-height: 1;
8712    padding: 6px 10px;
8713    border-radius: 0 !important;
8714  }
8715
8716  .lx-atc-drawer__close:hover{
8717    background: #fdf8f0;
8718    border-color: #C9A96E;
8719    color: #1a2428;
8720  }
8721
8722  /* ===== Added product ===== */
8723  .lx-atc-drawer__added{
8724    display: grid;
8725    grid-template-columns: 96px 1fr;
8726    gap: 20px;
8727    padding: 14px 16px 0;
8728    align-items: start;
8729  }
8730
8731  .lx-atc-drawer__added-media{
8732    width: 96px;
8733    height: 96px;
8734    border-radius: 0 !important;
8735    overflow: hidden;
8736    background: transparent;
8737    border: 0 !important;
8738    align-self: start;
8739  }
8740
8741  .lx-atc-drawer__added-media img{
8742    width: 100%;
8743    height: 100%;
8744    object-fit: cover;
8745    display: block;
8746  }
8747
8748  .lx-atc-drawer__added-info{
8749    align-self: start;
8750    padding-top: 2px;
8751  }
8752
8753  .lx-atc-drawer__added-title{
8754    font-weight: 600;
8755    font-size: 17px;
8756    line-height: 1.15;
8757    margin: 0 0 6px 0;
8758    color: #1a2428;
8759    font-family: "Lato", sans-serif !important;
8760  }
8761
8762  /* ===== Price block ===== */
8763  .lx-atc-priceblock{
8764    margin-top: 2px;
8765    margin-bottom: 18px;
8766  }
8767
8768  .lx-atc-price-compare{
8769    font-size: 14px;
8770    font-weight: 500;
8771    color: #8a8f96;
8772    text-decoration: line-through;
8773    margin-bottom: 0;
8774    line-height: 1.05;
8775  }
8776
8777  .lx-atc-price-row{
8778    display: flex;
8779    align-items: baseline;
8780    gap: 10px;
8781    flex-wrap: wrap;
8782  }
8783
8784  .lx-atc-price-current{
8785    font-size: 16px;
8786    font-weight: 700;
8787    color: #1a2428;
8788  }
8789
8790  .lx-atc-price-save{
8791    font-size: 14px;
8792    font-weight: 600;
8793    color: #C9A96E !important;
8794  }
8795
8796  /* ===== Actions ===== */
8797  .lx-atc-drawer__actions{
8798    display: grid;
8799    gap: 10px;
8800    padding: 14px 16px 24px;
8801  }
8802
8803  .lx-atc-btn{
8804    display: inline-flex;
8805    align-items: center;
8806    justify-content: center;
8807    min-height: 46px;
8808    padding: 12px 14px;
8809    border-radius: 0 !important;
8810    text-decoration: none;
8811    font-weight: 600;
8812    font-size: 16px;
8813    border: 1px solid #d4bc8e;
8814    cursor: pointer;
8815    user-select: none;
8816    background: #ffffff;
8817    color: #1a2428;
8818  }
8819
8820  .lx-atc-btn--primary{
8821    border-color: #C9A96E;
8822    background: #C9A96E;
8823    color: #ffffff !important;
8824  }
8825
8826  .lx-atc-btn--primary,
8827  .lx-atc-btn--primary:visited,
8828  .lx-atc-btn--primary:hover,
8829  .lx-atc-btn--primary:focus{
8830    color: #ffffff !important;
8831  }
8832
8833  .lx-atc-btn--primary *{
8834    color: #ffffff !important;
8835  }
8836
8837  .lx-atc-btn--primary:hover{
8838    background: #b8965d;
8839    border-color: #b8965d;
8840  }
8841
8842  #lx-atc-continue{
8843    margin-top: 8px;
8844    margin-bottom: 14px;
8845    display: inline-flex;
8846  }
8847
8848  #lx-atc-continue.lx-atc-btn--ghost{
8849    background: transparent !important;
8850    border: 0 !important;
8851    padding: 0 !important;
8852    min-height: auto !important;
8853    border-radius: 0 !important;
8854    font-weight: 500;
8855    font-size: 15px;
8856    color: #1a2428;
8857    display: inline-flex;
8858    align-items: center;
8859    justify-content: center;
8860    gap: 8px;
8861    text-decoration: none !important;
8862  }
8863
8864  #lx-atc-continue .lx-atc-continue-text{
8865    text-decoration: underline;
8866    text-underline-offset: 3px;
8867    text-decoration-color: #C9A96E;
8868  }
8869
8870  #lx-atc-continue .lx-atc-arrow{
8871    text-decoration: none !important;
8872    display: inline-block;
8873    margin-left: 6px;
8874    transition: transform .18s ease;
8875    color: #C9A96E;
8876  }
8877
8878  #lx-atc-continue:hover{
8879    color: #b8965d !important;
8880  }
8881
8882  #lx-atc-continue:hover .lx-atc-continue-text{
8883    text-decoration-color: #b8965d;
8884  }
8885
8886  #lx-atc-continue:hover .lx-atc-arrow{
8887    transform: translateX(4px);
8888  }
8889
8890  .lx-atc-drawer__divider{
8891    height: 1px;
8892    background: #e8dfc8;
8893    margin: 0 16px;
8894  }
8895
8896  /* ===== Recos ===== */
8897  .lx-atc-drawer__reco{
8898    padding: 16px;
8899    padding-top: 18px;
8900  }
8901
8902  .lx-atc-drawer__reco-title{
8903    font-weight: 600;
8904    font-size: 16px;
8905    margin-bottom: 12px;
8906    color: #1a2428;
8907  }
8908
8909  .lx-atc-drawer__reco-list{
8910    display: grid;
8911    gap: 22px !important;
8912  }
8913
8914  #lx-atc-reco-list .lx-atc-reco-item{
8915    display: grid !important;
8916    grid-template-columns: 92px minmax(0, 1fr) auto !important;
8917    gap: 16px !important;
8918    align-items: center !important;
8919    padding: 0 !important;
8920    border: 0 !important;
8921    background: transparent !important;
8922    border-radius: 0 !important;
8923    text-decoration: none;
8924    color: inherit;
8925  }
8926
8927  #lx-atc-reco-list .lx-atc-reco-item > div{
8928    min-width: 0 !important;
8929  }
8930
8931  #lx-atc-reco-list .lx-atc-reco-item__img{
8932    width: 92px !important;
8933    aspect-ratio: 1 / 1 !important;
8934    height: auto !important;
8935    border-radius: 0 !important;
8936    overflow: hidden !important;
8937    background: transparent !important;
8938    border: 0 !important;
8939  }
8940
8941  #lx-atc-reco-list .lx-atc-reco-item__img img{
8942    width: 100% !important;
8943    height: 100% !important;
8944    object-fit: cover !important;
8945    display: block !important;
8946  }
8947
8948  #lx-atc-reco-list .lx-atc-reco-item__meta{
8949    min-width: 0;
8950  }
8951
8952  #lx-atc-reco-list .lx-atc-reco-item__title{
8953    font-size: 15px !important;
8954    font-weight: 600 !important;
8955    line-height: 1.18 !important;
8956    margin: 0;
8957    color: #1a2428;
8958    font-family: "Lato", sans-serif !important;
8959    overflow: hidden !important;
8960    display: -webkit-box !important;
8961    -webkit-line-clamp: 2 !important;
8962    -webkit-box-orient: vertical !important;
8963  }
8964
8965  #lx-atc-reco-list .lx-atc-reco-item__compare{
8966    font-size: 13px;
8967    font-weight: 500;
8968    color: #8a8f96;
8969    text-decoration: line-through;
8970    margin: 2px 0 0 0 !important;
8971    line-height: 1.1 !important;
8972  }
8973
8974  #lx-atc-reco-list .lx-atc-reco-item__price{
8975    font-size: 14px !important;
8976    font-weight: 700 !important;
8977    color: #1a2428 !important;
8978    margin: 2px 0 0 0 !important;
8979    line-height: 1.1 !important;
8980  }
8981
8982  #lx-atc-reco-list .lx-atc-reco-item__save{
8983    font-size: 13px !important;
8984    font-weight: 600;
8985    color: #C9A96E !important;
8986    margin: 2px 0 0 0 !important;
8987    line-height: 1.1 !important;
8988    white-space: nowrap;
8989  }
8990
8991  #lx-atc-reco-list .lx-atc-reco-item__cta,
8992  .lx-atc-reco-item__cta{
8993    text-decoration: none !important;
8994    background: transparent !important;
8995    border: 0 !important;
8996    padding: 0 !important;
8997    border-radius: 0 !important;
8998    white-space: nowrap !important;
8999    font-size: 13px !important;
9000    font-weight: 600 !important;
9001    color: #1a2428 !important;
9002  }
9003
9004  #lx-atc-reco-list .lx-atc-reco-item__cta::after,
9005  .lx-atc-reco-item__cta::after{
9006    content: none !important;
9007  }
9008
9009  #lx-atc-reco-list .lx-atc-reco-text{
9010    text-decoration: underline !important;
9011    text-underline-offset: 3px !important;
9012    text-decoration-color: #C9A96E;
9013  }
9014
9015  #lx-atc-reco-list .lx-atc-reco-arrow{
9016    text-decoration: none !important;
9017    display: inline-block !important;
9018    margin-left: 6px !important;
9019    color: #C9A96E !important;
9020  }
9021
9022  .lx-atc-reco-item:hover .lx-atc-reco-item__cta{
9023    color: #b8965d !important;
9024  }
9025
9026  .lx-atc-reco-item:hover .lx-atc-reco-text{
9027    text-decoration-color: #b8965d !important;
9028  }
9029
9030  @media (max-width: 749px){
9031    .lx-atc-drawer__reco{
9032      padding-bottom: 20px !important;
9033    }
9034
9035    .lx-atc-drawer__reco-list{
9036      padding-bottom: 14px !important;
9037    }
9038  }
9039
9040  /* ===== FIX: Button "Warenkorb anzeigen" Schrift ===== */
9041  .lx-atc-btn--primary{
9042    font-family: "Lato", sans-serif !important;
9043  }
9044
9045  .lx-atc-btn--primary *{
9046    font-family: "Lato", sans-serif !important;
9047  }
9048
9049  /* ===== FIX: Produktname oben (Lato erzwingen) ===== */
9050  #lx-atc-drawer .lx-atc-drawer__added-title{
9051    font-family: "Lato", sans-serif !important;
9052  }
9053
9054
9055  /* ===== Produktname + Variante trennen ===== */
9056  .lx-atc-title-main{
9057    display: block;
9058    font-family: "Lato", sans-serif !important;
9059    font-size: 17px;
9060    line-height: 1.15;
9061    font-weight: 600;
9062    color: #1a2428;
9063  }
9064
9065  .lx-atc-title-sub{
9066    display: block;
9067    font-size: 13px;
9068    line-height: 1.15;
9069    color: #6a7280;
9070    margin-top: 2px;
9071    font-weight: 400;
9072  }
9073
9074  /* ===== Mobile Drawer etwas höher (1cm Abstand unten) ===== */
9075  @media (max-width: 749px){
9076    html.lx-atc-open .lx-atc-drawer{
9077      transform: translateY(-10px) !important;
9078    }
9079  }
9080
9081</style>
9082
9083<script>
9084(() => {
9085  const html = document.documentElement;
9086  const overlay = document.getElementById('lx-atc-overlay');
9087  const drawer  = document.getElementById('lx-atc-drawer');
9088  if (!overlay || !drawer) return;
9089
9090  const closeBtn    = drawer.querySelector('.lx-atc-drawer__close');
9091  const continueBtn = drawer.querySelector('#lx-atc-continue');
9092
9093  const imgEl      = drawer.querySelector('#lx-atc-added-img');
9094  const titleEl    = drawer.querySelector('#lx-atc-added-title');
9095  const priceEl    = drawer.querySelector('#lx-atc-added-price');
9096  const compareEl  = drawer.querySelector('#lx-atc-added-compare');
9097  const saveEl     = drawer.querySelector('#lx-atc-added-save');
9098  const recoList   = drawer.querySelector('#lx-atc-reco-list');
9099
9100  const esc = (s) => String(s || '').replace(/[&<>"']/g, (m) => (
9101    {'&':'&amp;','<':'&lt;','>':'&gt;','"':'&quot;',"'":'&#39;'}[m]
9102  ));
9103
9104  const renderRecos = (recos) => {
9105    if (!recoList) return;
9106    if (!Array.isArray(recos)) return;
9107    if (!recos.length) return;
9108
9109    recoList.innerHTML = recos.map((r) => {
9110      const t = esc(r.title || '—');
9111      const p = esc(r.price || '');
9112      const img = esc(r.img || '');
9113      const vid = esc((r.variantId || '').toString());
9114
9115      return `
9116        <div class="lx-atc-reco-item">
9117          <div class="lx-atc-reco-item__img">${img ? `<img src="${img}" alt="" loading="lazy" decoding="async">` : ''}</div>
9118          <div>
9119            <div class="lx-atc-reco-item__title">${t}</div>
9120            ${p ? `<div class="lx-atc-reco-item__price">${p}</div>` : ``}
9121          </div>
9122          <button class="lx-atc-reco-item__btn" type="button" data-lx-add-variant="${vid}">
9123            + Hinzufügen
9124          </button>
9125        </div>
9126      `;
9127    }).join('');
9128  };
9129
9130  const openSuccess = (payload = {}) => {
9131    if (titleEl){
9132  const full = payload.title || '';
9133  const parts = full.split(' - ');
9134
9135  if(parts.length > 1){
9136    titleEl.innerHTML = `
9137      <span class="lx-atc-title-main">${parts[0]}</span>
9138      <span class="lx-atc-title-sub">${parts.slice(1).join(' - ')}</span>
9139    `;
9140  } else {
9141    titleEl.textContent = full;
9142  }
9143}
9144    if (priceEl) priceEl.textContent = payload.price || '—';
9145
9146    const cp = (payload.comparePrice || '').trim();
9147    const pr = (payload.price || '').trim();
9148    const hasCompare = !!cp && cp !== pr;
9149
9150    if (compareEl) {
9151      compareEl.textContent = hasCompare ? cp : '';
9152      compareEl.hidden = !hasCompare;
9153    }
9154
9155    const sv = (payload.savings || '').trim();
9156    const hasSave = hasCompare && !!sv;
9157
9158    if (saveEl) {
9159      saveEl.textContent = hasSave ? `Sie sparen ${sv}` : '';
9160      saveEl.hidden = !hasSave;
9161    }
9162
9163    if (imgEl) {
9164      const img = (payload.img || '').trim();
9165      if (img) {
9166        imgEl.src = img;
9167        imgEl.hidden = false;
9168      } else {
9169        imgEl.removeAttribute('src');
9170        imgEl.hidden = true;
9171      }
9172    }
9173
9174    if (Array.isArray(payload.recos) && payload.recos.length) {
9175      renderRecos(payload.recos);
9176    }
9177
9178    overlay.hidden = false;
9179    drawer.hidden = false;
9180
9181     html.classList.add('lx-atc-open');
9182    document.body.classList.add('lx-hide-chatty');
9183    drawer.setAttribute('aria-hidden', 'false');
9184    overlay.setAttribute('aria-hidden', 'false');
9185  };
9186
9187   const close = () => {
9188    html.classList.remove('lx-atc-open');
9189    document.body.classList.remove('lx-hide-chatty');
9190    drawer.setAttribute('aria-hidden', 'true');
9191    overlay.setAttribute('aria-hidden', 'true');
9192
9193    setTimeout(() => {
9194      overlay.hidden = true;
9195      drawer.hidden = true;
9196    }, 220);
9197  };
9198
9199    overlay.addEventListener('click', close);
9200  closeBtn && closeBtn.addEventListener('click', close);
9201  continueBtn && continueBtn.addEventListener('click', close);
9202
9203  document.addEventListener('keydown', (e) => {
9204    if (e.key === 'Escape' && html.classList.contains('lx-atc-open')) close();
9205  });
9206
9207  // ATC Drawer aktiv – echtes Drawer-Verhalten
9208  window.lxAtcDrawer = {
9209    openSuccess,
9210    close
9211  };
9212})();
9213
9214
9215</script>
9215
9216
9217<!-- ProvenExpert Badge -->
9218<style type="text/css">body {-ms-overflow-style: scrollbar;}@media(max-width:991px){#pe_badge_arbyxvhb {display:none !important;}}</style>
9219<a id="pe_badge_arbyxvhb" style="z-index:9999;position:fixed;float:left;line-height:0;right:0px;bottom:160px;" target="_blank" rel="noopener noreferrer"></a>
9219<script type="text/javascript" src="https://www.provenexpert.com/badge/toprecommend.js?id=2xwZkqQAmtGpiuQZiSap5pGAjR3o1RKZ&w=140&key=arbyxvhb&l=de-de" async></script>
9219
9220<!-- ProvenExpert Badge -->
9221
9222
9223
9224
9225
9226  
9227<!-- Failed to render app block "7539343560218715217": app block path "shopify://apps/lucky-orange-heatmaps-replay/blocks/lucky_orange_tracking/019b2899-e426-7dbd-b9e7-ff9f0bb0d0f3" does not exist --><div id="shopify-block-AOW9IR2RlVlBCRUh0T__12510727292439481604" class="shopify-block shopify-app-block">
9228
9229
9230
9231<style>
9232  .wb-btn-trigger {
9233    position: fixed;
9234    
9235        bottom: 20px;
9236        left: 20px;
9237      
9238    z-index: 9999;
9239    padding: 14px 28px;
9240    background-color: #A9A7A7;
9241    color: #FFFFFF;
9242    border: none;
9243    border-radius: 8px;
9244    cursor: pointer;
9245    font-size: 15px;
9246    font-weight: 600;
9247    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
9248    transition: all 0.2s ease;
9249  }
9250
9251  .wb-btn-trigger:hover {
9252    transform: translateY(-2px);
9253    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
9254  }
9255
9256  .wb-btn-trigger.wb-btn-center:hover {
9257    transform: translateX(-50%) translateY(-2px);
9258  }
9259
9260  .wb-btn-trigger:active {
9261    transform: translateY(0);
9262  }
9263
9264  .wb-btn-trigger.wb-btn-center:active {
9265    transform: translateX(-50%) translateY(0);
9266  }
9267
9268  .wb-modal-overlay {
9269    display: none;
9270    position: fixed;
9271    top: 0;
9272    left: 0;
9273    width: 100%;
9274    height: 100%;
9275    background-color: rgba(0, 0, 0, 0.5);
9276    z-index: 10000;
9277    justify-content: center;
9278    align-items: center;
9279    padding: 20px;
9280    backdrop-filter: blur(2px);
9281  }
9282
9283  .wb-modal-overlay.wb-active {
9284    display: flex;
9285    animation: fadeIn 0.2s ease;
9286  }
9287
9288  @keyframes fadeIn {
9289    from { opacity: 0; }
9290    to { opacity: 1; }
9291  }
9292
9293  .wb-modal {
9294    background: white;
9295    border-radius: 12px;
9296    width: 100%;
9297    max-width: 650px;
9298    max-height: 90vh;
9299    overflow: hidden;
9300    display: flex;
9301    flex-direction: column;
9302    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
9303    animation: slideUp 0.3s ease;
9304    position: relative;
9305  }
9306
9307  @keyframes slideUp {
9308    from {
9309      transform: translateY(20px);
9310      opacity: 0;
9311    }
9312    to {
9313      transform: translateY(0);
9314      opacity: 1;
9315    }
9316  }
9317
9318  .wb-modal-header {
9319    padding: 24px 60px 20px 28px;
9320    flex-shrink: 0;
9321  }
9322
9323  .wb-modal-title {
9324    margin: 0;
9325    font-size: 20px;
9326    font-weight: 600;
9327    color: #111827;
9328  }
9329
9330  .wb-modal-title--p {
9331    margin: 0;
9332    font-family: var(--font-heading-family, var(--heading-font-family, inherit));
9333  }
9334
9335  .wb-modal-description {
9336    margin: 8px 0 0 0;
9337    font-size: 14px;
9338    color: #6b7280;
9339    line-height: 1.5;
9340  }
9341
9342  .wb-modal-close {
9343    position: absolute;
9344    top: 20px;
9345    right: 20px;
9346    background: #f3f4f6;
9347    border: none;
9348    font-size: 20px;
9349    cursor: pointer;
9350    padding: 0;
9351    width: 32px;
9352    height: 32px;
9353    display: flex;
9354    align-items: center;
9355    justify-content: center;
9356    border-radius: 6px;
9357    line-height: 1;
9358    color: #6b7280;
9359    transition: all 0.15s ease;
9360    z-index: 1;
9361  }
9362
9363  .wb-modal-close:hover {
9364    background: #e5e7eb;
9365    color: #111827;
9366  }
9367
9368  .wb-modal-close:active {
9369    transform: scale(0.95);
9370  }
9371
9372  .wb-modal-body {
9373    flex: 1;
9374    overflow-y: auto;
9375    display: flex;
9376    flex-direction: column;
9377    min-height: 0;
9378    scrollbar-gutter: stable;
9379  }
9380
9381  .wb-modal-body iframe {
9382    width: 100%;
9383    min-height: 425px;
9384    border: none;
9385    display: block;
9386    flex-shrink: 0;
9387  }
9388
9389  @media (max-width: 768px) {
9390    .wb-btn-trigger {
9391      padding: 12px 20px;
9392      font-size: 14px;
9393      
9394          bottom: 16px;
9395          left: 16px;
9396        
9397    }
9398
9399    .wb-modal {
9400      max-width: 100%;
9401      max-height: 100vh;
9402      border-radius: 0;
9403      height: 100%;
9404    }
9405
9406    .wb-modal-overlay {
9407      padding: 0;
9408    }
9409
9410    .wb-modal-header {
9411      padding: 20px 20px 16px;
9412    }
9413  }
9414</style>
9415
9416<div class="wb-container">
9417  
9418
9419  <div class="wb-modal-overlay" id="wb-modal-overlay">
9420    <div class="wb-modal" role="dialog" aria-modal="true" aria-labelledby="wb-modal-title">
9421      <button type="button" class="wb-modal-close" id="wb-close-btn" aria-label="Schließen">&times;</button>
9422      <div class="wb-modal-header">
9423        
9424          
9425            <h2 class="wb-modal-title" id="wb-modal-title">Widerruf erklären</h2>
9426          
9427        
9428        
9429        
9430          <p class="wb-modal-description">Füllen Sie das folgende Formular aus, um Ihre Widerrufserklärung abzugeben.</p>
9431        
9432      </div>
9433      <div class="wb-modal-body">
9434        <iframe
9435          id="wb-iframe"
9436          src="https://euwiderrufsbutton.de/withdrawal/proxy/embed/withdrawal-form?c_shop=ahsvz2-1w.myshopify.com&c_hmac=6d370740648fa0711be3767c4c1944c5d558248f7d703a2bdbdfd932972f6d8c&c_timestamp=1791331200&c_locale=de&c_country=DE&primaryColor=%23A9A7A7&backgroundColor=%23ffffff&textColor=%23212326&borderRadius=8px&maxWidth=100%&showOrderLookup=true&requireOrderNumber=true&hideOrderNotes=false&requireItems=false&confirmStep=false"
9437          title="Withdrawal Form"
9438          loading="lazy"
9439        ></iframe>
9440      </div><div style="margin-bottom:10px; margin-top:10px; justify-content: center; visibility: visible !important; opacity: 1 !important; filter: opacity(1) !important; content-visibility: visible !important; display: flex !important; max-height: 100% !important; overflow: auto !important; width: 100% !important; min-height:20px !important;">
9441        <!-- BEGIN app snippet: watermark -->
9442
9443
9444
9445
9446
9447
9448
9449
9450
9451
9452
9453
9454
9455
9456
9457
9458  <div style="justify-content: center; visibility: visible !important; opacity: 1 !important; filter: opacity(1) !important; content-visibility: visible !important; display: flex !important; max-height: 100% !important; overflow: auto !important; width: 100% !important; min-height:20px !important;">
9459    <a
9460      target="_blank"
9461      href="https://apps.shopify.com/eu-widerrufsbutton"
9462       rel="nofollow noopener noreferrer" 
9463      style="transform: scale(1) !important; text-decoration: none; color: rgb(20, 20, 20) !important; align-items: center; font-size: 12px !important; font-weight: 500 !important; display: flex !important; gap: 5px !important; visibility: visible !important; opacity: 1 !important; position: relative !important; filter: opacity(1) !important; content-visibility: visible !important; max-height: 100% !important; overflow: auto !important; min-height:20px !important;">
9464      <img alt="EU Widerrufsbutton logo" src="https://cdn.shopify.com/extensions/01a0fce3-4c6d-76a2-81ad-90d591b1691b/eu-widerruf-button-111/assets/withdrawal_logo_128px.png" style="vertical-align:bottom !important; height:32px !important; width:32px !important; visibility: visible !important; opacity: 1 !important; position: relative !important; filter: opacity(1) !important; content-visibility: visible !important; max-height: 100% !important; overflow: unset !important; display: flex !important; min-height:32px !important; max-width:32px; min-width:32px !important;"/>
9465          <span style="transform: scale(1) !important; font-size: 16px; line-height: 1.4; visibility: visible !important; opacity: 1 !important; position: relative !important; filter: opacity(1) !important; content-visibility: visible !important; max-height: 100% !important; overflow: unset !important; display: flex !important; min-height:20px !important; font-weight:bold !important; color:#1250dc !important;">EU Widerrufsbutton</span>
9466    </a>
9467  </div><!-- END app snippet -->
9468      </div></div>
9469  </div>
9470</div>
9471
9472<script>
9473  (function() {
9474    const triggerBtn = document.getElementById('wb-trigger-btn');
9475    const modalOverlay = document.getElementById('wb-modal-overlay');
9476    const closeBtn = document.getElementById('wb-close-btn');
9477    const iframe = document.getElementById('wb-iframe');
9478    let lastFocused = null;
9479    // Rendered by Liquid to a plain true/false literal — kept out of the script
9480    // body so no Liquid tag can ever interfere with JS parsing.
9481    const wbsHideOrderNotes = false;
9482
9483    // Expose the global API FIRST, before anything below that could throw in a
9484    // particular theme (dedup query, const captures, listener wiring). Section
9485    // blocks and links call window.withdrawalModal.open()/close(); if this
9486    // registration ever failed, they would silently do nothing and the fallback
9487    // alert would surface instead of the modal.
9488    window.withdrawalModal = {
9489      open: openModal,
9490      close: closeModal
9491    };
9492
9493    // If the standalone asset built its own overlay before this embed block was
9494    // added (theme-editor section render without a page reload), remove it so
9495    // the two modals do not stack with duplicate IDs and z-index.
9496    var standaloneOverlay = document.querySelector('#wb-modal-overlay[data-wbs-standalone]');
9497    if (standaloneOverlay && standaloneOverlay.parentNode) {
9498      standaloneOverlay.parentNode.removeChild(standaloneOverlay);
9499    }
9500
9501    // Embed's own server-rendered defaults, captured so a caller block's config
9502    // (heading/description/show_heading/form_color) can be applied on open and
9503    // restored when the embed's own floating button is used.
9504    const defaultEmbedUrl = iframe ? iframe.getAttribute('src') : null;
9505    const headerEl = modalOverlay ? modalOverlay.querySelector('.wb-modal-header') : null;
9506    const defaultHeaderHtml = headerEl ? headerEl.innerHTML : '';
9507    // The role="dialog" element is the inner .wb-modal, not the overlay wrapper;
9508    // aria-labelledby must be synced there to affect the dialog's accessible name.
9509    const dialogEl = modalOverlay ? modalOverlay.querySelector('.wb-modal') : null;
9510    const defaultAriaLabelledby = dialogEl ? dialogEl.getAttribute('aria-labelledby') : null;
9511
9512    function applyBlockConfig(cfg) {
9513      if (!cfg) return;
9514      if (iframe && cfg.embedUrl && iframe.getAttribute('src') !== cfg.embedUrl) {
9515        iframe.setAttribute('src', cfg.embedUrl);
9516        // Fresh iframe load: reset to the config's default height; the form
9517        // re-sends setHeight once loaded. Same-src re-opens preserve the
9518        // current height so a taller form is not clipped back to the default.
9519        if (typeof cfg.hideOrderNotes === 'boolean') {
9520          iframe.style.height = cfg.hideOrderNotes ? '425px' : '570px';
9521        }
9522      }
9523      if (headerEl) {
9524        if (cfg.showHeading) {
9525          headerEl.style.display = '';
9526          // The embed's own server-rendered header only contains title/description
9527          // when the embed's Show Heading is on; when the merchant disabled it
9528          // those nodes do not exist, so create them for the caller's config.
9529          var titleEl = headerEl.querySelector('.wb-modal-title');
9530          if (!titleEl && cfg.heading) {
9531            titleEl = document.createElement('h2');
9532            titleEl.className = 'wb-modal-title';
9533            headerEl.insertBefore(titleEl, headerEl.firstChild);
9534          }
9535          if (titleEl) {
9536            titleEl.textContent = cfg.heading || '';
9537            titleEl.id = 'wb-modal-title';
9538            if (dialogEl) dialogEl.setAttribute('aria-labelledby', 'wb-modal-title');
9539          } else if (dialogEl) {
9540            dialogEl.removeAttribute('aria-labelledby');
9541          }
9542          var descEl = headerEl.querySelector('.wb-modal-description');
9543          if (!descEl && cfg.description) {
9544            descEl = document.createElement('p');
9545            descEl.className = 'wb-modal-description';
9546            headerEl.appendChild(descEl);
9547          }
9548          if (descEl) descEl.textContent = cfg.description || '';
9549        } else {
9550          headerEl.style.display = 'none';
9551          if (dialogEl) dialogEl.removeAttribute('aria-labelledby');
9552        }
9553      }
9554    }
9555
9556    function restoreEmbedDefaults() {
9557      if (iframe && defaultEmbedUrl && iframe.getAttribute('src') !== defaultEmbedUrl) {
9558        iframe.setAttribute('src', defaultEmbedUrl);
9559        iframe.style.height = wbsHideOrderNotes ? '425px' : '570px';
9560      }
9561      if (headerEl) {
9562        headerEl.style.display = '';
9563        headerEl.innerHTML = defaultHeaderHtml;
9564      }
9565      if (dialogEl) {
9566        if (defaultAriaLabelledby) {
9567          dialogEl.setAttribute('aria-labelledby', defaultAriaLabelledby);
9568        } else {
9569          dialogEl.removeAttribute('aria-labelledby');
9570        }
9571      }
9572    }
9573
9574    function openModal(blockId) {
9575      if (modalOverlay) {
9576        // A button block with "hide outside EU" sets this flag for non-EU
9577        // visitors; URL/hash triggers must not open the form either.
9578        if (window.__wbsEuHidden) return;
9579        // Re-entry safe: same-document #eu-withdrawal=open clicks fire the click
9580        // handler AND a hashchange (which calls openModal again); without this
9581        // guard the second call overwrites lastFocused with the close button
9582        // and focus restore on close drops to <body>.
9583        if (modalOverlay.classList.contains('wb-active')) return;
9584        var cfg = blockId && window.WITHDRAWAL_EMBED_CONFIG && window.WITHDRAWAL_EMBED_CONFIG[blockId];
9585        if (cfg) applyBlockConfig(cfg); else restoreEmbedDefaults();
9586        lastFocused = document.activeElement;
9587        modalOverlay.classList.add('wb-active');
9588        document.body.style.overflow = 'hidden';
9589        if (closeBtn) closeBtn.focus();
9590      }
9591    }
9592
9593    function closeModal() {
9594      if (modalOverlay) {
9595        modalOverlay.classList.remove('wb-active');
9596        document.body.style.overflow = '';
9597        if (lastFocused && typeof lastFocused.focus === 'function') {
9598          lastFocused.focus();
9599        }
9600        lastFocused = null;
9601      }
9602    }
9603
9604    if (triggerBtn) {
9605      triggerBtn.addEventListener('click', function() { openModal(); });
9606    }
9607
9608    if (closeBtn) {
9609      closeBtn.addEventListener('click', closeModal);
9610    }
9611
9612    if (modalOverlay) {
9613      modalOverlay.addEventListener('click', function(e) {
9614        if (e.target === modalOverlay) closeModal();
9615      });
9616
9617      document.addEventListener('keydown', function(e) {
9618        if (e.key === 'Escape' && modalOverlay.classList.contains('wb-active')) {
9619          closeModal();
9620          return;
9621        }
9622        // Keep focus inside the open dialog while tabbing.
9623        if (e.key === 'Tab' && modalOverlay.classList.contains('wb-active')) {
9624          const focusables = modalOverlay.querySelectorAll('button, [href], iframe, [tabindex]:not([tabindex="-1"])');
9625          if (!focusables.length) return;
9626          const first = focusables[0];
9627          const last = focusables[focusables.length - 1];
9628          if (e.shiftKey && (document.activeElement === first || document.activeElement === modalOverlay)) {
9629            e.preventDefault();
9630            last.focus();
9631          } else if (!e.shiftKey && document.activeElement === last) {
9632            e.preventDefault();
9633            first.focus();
9634          }
9635        }
9636      });
9637    }
9638
9639    window.addEventListener('message', function(event) {
9640      if (event.data.type === 'setHeight' && iframe && event.data.height > 0) {
9641        iframe.style.height = event.data.height + 'px';
9642      }
9643    });
9644
9645    if (iframe) {
9646      iframe.style.height = wbsHideOrderNotes ? '425px' : '570px';
9647    }
9648
9649    function withdrawalTriggerInSearch() {
9650      return new URLSearchParams(window.location.search).get('eu-withdrawal') === 'open';
9651    }
9652
9653    function withdrawalTriggerInHash() {
9654      return new URLSearchParams((window.location.hash || '').replace(/^#/, '')).get('eu-withdrawal') === 'open';
9655    }
9656
9657    function clearWithdrawalTrigger() {
9658      if (!(window.history && window.history.replaceState)) return;
9659      var params = new URLSearchParams(window.location.search);
9660      params.delete('eu-withdrawal');
9661      var newSearch = params.toString();
9662      var newHash = '';
9663      var hash = window.location.hash || '';
9664      if (withdrawalTriggerInHash()) {
9665        var hashParams = new URLSearchParams(hash.replace(/^#/, ''));
9666        hashParams.delete('eu-withdrawal');
9667        var rebuiltHash = hashParams.toString();
9668        if (rebuiltHash) newHash = '#' + rebuiltHash;
9669      } else {
9670        // Trigger came from the search parameter: keep the fragment verbatim,
9671        // so plain-word fragments like #reviews are not mangled.
9672        newHash = hash;
9673      }
9674      var newUrl = window.location.pathname + (newSearch ? '?' + newSearch : '') + newHash;
9675      window.history.replaceState(null, '', newUrl);
9676    }
9677
9678    function openFromUrlTrigger() {
9679      if (withdrawalTriggerInSearch() || withdrawalTriggerInHash()) {
9680        openModal();
9681        clearWithdrawalTrigger();
9682      }
9683    }
9684
9685    openFromUrlTrigger();
9686
9687    window.addEventListener('hashchange', function() {
9688      if (withdrawalTriggerInHash()) {
9689        openModal();
9690        clearWithdrawalTrigger();
9691      }
9692    });
9693
9694    // Same-document re-clicks: after the fragment was stripped, clicking a link
9695    // to the identical #eu-withdrawal=open hash fires no hashchange. Open the
9696    // modal directly for links whose target is this document; cross-document
9697    // navigations are handled by the initial-load check on the target page.
9698    document.addEventListener('click', function(e) {
9699      var target = e.target;
9700      var link = target && target.closest ? target.closest('a[href*="eu-withdrawal"]') : null;
9701      if (!link) return;
9702      var url;
9703      try {
9704        url = new URL(link.getAttribute('href'), window.location.href);
9705      } catch (err) {
9706        return;
9707      }
9708      if (!url.hash) return;
9709      if (new URLSearchParams(url.hash.replace(/^#/, '')).get('eu-withdrawal') !== 'open') return;
9710      if (url.pathname === window.location.pathname && url.search === window.location.search) {
9711        openModal();
9712      }
9713    });
9714  })();
9715</script>
9715
9716</div><div id="shopify-block-AZFd6aGFnS21FS1hVa__13768625480086291342" class="shopify-block shopify-app-block">
9716<script>
9717  window['ShopifyForms'] = {
9718    ...window['ShopifyForms'],
9719    currentPageType: "cart"
9720  };
9721</script>
9721
9722
9723
9724</div><div id="shopify-block-AdlhZazdFQTVWS3ZzY__13762318497758424536" class="shopify-block shopify-app-block"><style>
9725  .wl-btn-link {
9726    display: inline-block;
9727    text-decoration: none !important;
9728    font-weight: 600 !important;
9729    padding: 10px 24px !important;
9730    font-size: 15px !important;background-color: #000000 !important;
9731        color: #FFFFFF !important;
9732        border: none;
9733        border-radius: 8px !important;text-align: center !important;
9734    cursor: pointer !important;
9735    transition: all 0.2s ease;
9736  }
9737
9738  .wl-btn-link:hover {opacity: 0.85;}
9739
9740  .wl-btn-link:active {
9741    transform: scale(0.98);
9742  }
9743</style>
9744
9745<script>
9746  (function() {
9747    var selector = "\/pages\/widerruf-formular";
9748    if (!selector) return;
9749
9750    function isTriggerLink(href) {
9751      if (!href) return false;
9752      var url;
9753      try { url = new URL(href, window.location.href); } catch (e) { return false; }
9754      if (url.hash) {
9755        var hashParams = new URLSearchParams(url.hash.replace(/^#/, ''));
9756        if (hashParams.get('eu-withdrawal') === 'open') return true;
9757      }
9758      if (url.search) {
9759        var searchParams = new URLSearchParams(url.search);
9760        if (searchParams.get('eu-withdrawal') === 'open') return true;
9761      }
9762      return false;
9763    }
9764
9765    function apply() {
9766      var links = document.querySelectorAll('a[href*="' + selector + '"], a[href*="eu-withdrawal"]');
9767      for (var i = 0; i < links.length; i++) {
9768        var href = links[i].getAttribute('href') || '';
9769        if (href.indexOf(selector) !== -1 || isTriggerLink(href)) {
9770          links[i].classList.add('wl-btn-link');
9771        }
9772      }
9773    }
9774
9775    if (document.readyState === 'loading') {
9776      document.addEventListener('DOMContentLoaded', apply);
9777    } else {
9778      apply();
9779    }
9780  })();
9781</script>
9781
9782</div><div id="shopify-block-AV1c1MGppS3Bld2V0Z__1967102994182284862" class="shopify-block shopify-app-block"><!-- BEGIN app snippet: connected_sdk_script -->
9782<script src='https://www.paypalobjects.com/pa/js/min/pa.js'></script>
9782
9783
9784<script
9785  src='https://www.paypal.com/sdk/js?client-id=AbtXlp5R3xc83T9xW_ZXKTK8IVZ-14EMelDioU4VC285IqSuxUI4yotKxjV0sz_X6YsONYi10vSBPNKM&merchant-id=JGQBD3GDFKK64&components=messages'
9786  data-namespace='PayPalSDK'
9787  data-partner-attribution-id='JADEDPIXEL_SHOPPINGCART_EC_CA'
9788></script>
9788
9789<!-- END app snippet --><!-- BEGIN app snippet: utils -->
9789<script>
9790  // ============================================
9791  // Core Utilities
9792  // ============================================
9793
9794  // Setup FPTI Analytics
9795  if (PAYPAL && PAYPAL.analytics) {
9796    PAYPAL.analytics.setup({
9797      data: {
9798        pgrp: 'shopify:messaging:app-embed',
9799        comp: 'shopify-app-embed',
9800      },
9801    });
9802  }
9803
9804  const recordEvent = (event_name, additionalData) => {
9805    PAYPAL.analytics.instance.recordEvent(event_name, {
9806      theme: window?.Shopify?.theme?.name || 'unknown',
9807      shop: window?.Shopify?.shop || 'unknown',
9808      path: window.location.pathname,
9809      flow: 'Shopify - Pay Later',
9810      space_key: 'SKD8GM',
9811      ...additionalData,
9812    });
9813  };
9814
9815  // In Theme Editor when using Advanced Settings
9816  // User chooses copy as JS Path from their browser
9817  // The pasted value will be a string that contains "document.querySelector("...")
9818  // Remove document.querySelector(" and ")
9819  // Using JS Path we can ensure the path to the element is accurate
9820  const parseSelector = (selector) => {
9821    try {
9822      // Handle both single and double quotes
9823      return selector
9824        .replace(/document\.querySelector\(["']/g, '')
9825        .replace(/["']\)/g, '');
9826    } catch (e) {
9827      recordEvent('appEmbed:parseSelector:error', { error: e.message });
9828    }
9829  };
9830
9831  // Waits for Element to be rendered
9832  // Uses mutation observer to watch for changes in the DOM
9833  // https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver
9834  // On changes, check for the selector again
9835  const waitForElement = (selector) => {
9836    try {
9837      return new Promise((resolve) => {
9838        const existing = document.querySelector(selector);
9839        if (existing) return resolve(existing);
9840
9841        const observer = new MutationObserver(() => {
9842          const el = document.querySelector(selector);
9843          if (el) {
9844            observer.disconnect();
9845            resolve(el);
9846          }
9847        });
9848
9849        observer.observe(document.body, {
9850          childList: true,
9851          subtree: true,
9852        });
9853      });
9854    } catch (e) {
9855      recordEvent('appEmbed:waitForElement:error', { error: e.message });
9856    }
9857  };
9858
9859  // Formats correct cart/drawer subtotal and adds or updates messaging
9860  const addOrUpdateMessagingPriceAttribute = async (price, locator, messaging) => {
9861    try {
9862      // Format price to 2 decimal places ex: 150000 => 1500.00
9863      // Messaging requires price to be in string format
9864      const formattedPrice = Number((price / 100).toFixed(2)).toString();
9865
9866      const messagingId = messaging.id;
9867      const existingMessaging = document.getElementById(messagingId);
9868
9869      if (existingMessaging) {
9870        // Update the data-pp-amount attribute on the existing element
9871        existingMessaging.setAttribute('data-pp-amount', formattedPrice);
9872      } else {
9873        const element = await waitForElement(locator);
9874
9875        const updatedPriceMessaging = messaging.cloneNode();
9876        updatedPriceMessaging.setAttribute('data-pp-amount', formattedPrice);
9877
9878        element.after(updatedPriceMessaging);
9879      }
9880    } catch (e) {
9881      recordEvent('appEmbed:addOrUpdateMessagingPriceAttribute:error', { error: e.message });
9882    }
9883  };
9884
9885  // Fetches cart details from Shopify cart endpoint
9886  const fetchCartDetails = async () => {
9887    try {
9888      const response = await fetch('/cart.js');
9889      const cart = await response.json();
9890
9891      return cart.total_price;
9892    } catch (e) {
9893      recordEvent('appEmbed:fetchCartDetails:error', { error: e.message });
9894    }
9895  };
9896
9897  // Fetches variant details Shopify product endpoint
9898  // https://shopify.dev/docs/api/ajax/reference/product
9899  const fetchVariant = async () => {
9900    try {
9901      // Ex: https://test-store.myshopify.com/products/the-multi-location-snowboard?variant=45268551368883
9902      const urlParams = new URLSearchParams(window.location.search);
9903      const urlVariantId = parseInt(urlParams.get('variant'), 10);
9904      const productHandle = window.location.pathname.split('/products/')[1]?.split('?')[0];
9905
9906      const response = await fetch(`/products/${productHandle}.js`);
9907      const productData = await response.json();
9908      const variants = productData.variants;
9909      const selectedVariant = variants.find(v => v.id === urlVariantId);
9910
9911      if (selectedVariant) {
9912        return selectedVariant;
9913      }
9914
9915      return variants.find(v => v.available) || variants[0];
9916    } catch (e) {
9917      recordEvent('appEmbed:fetchVariant:error', { error: e.message });
9918    }
9919  };
9920
9921  // Get the selected variant ID from URL, form input, or select element
9922  const getSelectedVariantId = () => {
9923    try {
9924      const urlParams = new URLSearchParams(window.location.search);
9925      const urlVariant = urlParams.get('variant');
9926      if (urlVariant) return parseInt(urlVariant, 10);
9927
9928      const formInput = document.querySelector('form[action*="/cart/add"] input[name="id"]');
9929      if (formInput?.value) return parseInt(formInput.value, 10);
9930
9931      const selectInput = document.querySelector('form[action*="/cart/add"] select[name="id"]');
9932      if (selectInput?.value) return parseInt(selectInput.value, 10);
9933
9934      return null;
9935    } catch (e) {
9936      recordEvent('appEmbed:getSelectedVariantId:error', { error: e.message });
9937      return null;
9938    }
9939  };
9940
9941  const getShopifyData = () => {
9942    try {
9943      const selectedVariantId = getSelectedVariantId();
9944
9945      const findVariant = (variants) => {
9946        if (!variants?.length) return null;
9947        if (selectedVariantId) {
9948          const selected = variants.find(v => v.id === selectedVariantId);
9949          if (selected) return selected;
9950        }
9951        return variants.find(v => v.available) || variants[0];
9952      };
9953
9954      if (window.meta?.product) {
9955        const product = window.meta.product;
9956        const variant = findVariant(product.variants);
9957        return {
9958          product: { title: product.title, vendor: product.vendor, type: product.type, id: product.id },
9959          price: variant ? {
9960            priceInCents: variant.price,
9961            compareAtPrice: variant.compare_at_price,
9962            currency: window.Shopify?.currency?.active || 'USD',
9963            variantId: variant.id,
9964            variantTitle: variant.title
9965          } : null
9966        };
9967      }
9968
9969      if (window.ShopifyAnalytics?.meta?.product) {
9970        const product = window.ShopifyAnalytics.meta.product;
9971        const variant = findVariant(product.variants);
9972        return {
9973          product: { title: product.title, vendor: product.vendor, id: product.id },
9974          price: variant ? {
9975            priceInCents: variant.price,
9976            currency: window.Shopify?.currency?.active || 'USD',
9977            variantId: variant.id
9978          } : null
9979        };
9980      }
9981
9982      return null;
9983    } catch (e) {
9984      recordEvent('appEmbed:getShopifyData:error', { error: e.message });
9985      return null;
9986    }
9987  };
9988
9989  // Generic function to watch for changes in the DOM
9990  // and listen for specific API calls made by the Shopify store
9991  // Callback provides specific logic for handling the response
9992  const watchForChanges = (locator, messaging, callback) => {
9993    try {
9994      // Overrides the native `fetch` function to listen for specific API calls.
9995      // Wrapped in an Immediately Invoked Function Expression (IIFE)
9996      // To avoid polluting the global namespace.
9997      (function (window, windowFetch) {
9998        // Check if `fetch` is a function. If not, exit early.
9999        if (typeof fetch !== 'function') return;
10000
10001        window.fetch = function () {
10002          // Call the original `fetch` function with the provided arguments.
10003          const response = windowFetch.apply(this, arguments);
10004
10005          response.then(async (res) => {
10006            if (typeof callback === 'function') {
10007              callback(res, locator, messaging);
10008            }
10009          });
10010
10011          // Return the original `fetch` response.
10012          return response;
10013        };
10014      })(window, window.fetch);
10015    } catch (e) {
10016      recordEvent('appEmbed:watchForChanges:error', { error: e.message });
10017    }
10018  };
10019
10020  // Provides ability to watch for cart changes
10021  // such as increment, decrement, or remove items
10022  // Also handles adding new items which opens Cart Drawer
10023  // and updates the messaging with the new cart total
10024  // This function is used for both Cart Drawer and Cart Page
10025  const watchForCartChanges = (locator, messaging) => {
10026    const cartChangeCallback = async (res, locator, messaging) => {
10027      // Determine the id of messaging div either #paypal-upstream-messaging-cart-{page | drawer}
10028      const messagingId = messaging.id;
10029
10030      // Changes (e.g., increment, decrement, or remove items).
10031      if (res.url.includes('/cart/change')) {
10032        // Clone the response to read its JSON data without consuming the original response.
10033        res
10034          .clone()
10035          .json()
10036          .then((data) => {
10037            addOrUpdateMessagingPriceAttribute(data.total_price, locator, messaging);
10038          });
10039
10040        // Called when adding a new item which opens Cart Drawer
10041      } else if (res.url.includes('/cart/add')) {
10042        // Adding items does not return the updated cart details,
10043        // Fetch the updated cart details (e.g., total_price).
10044        const updatedPrice = await fetchCartDetails();
10045
10046        // Introduce a delay to handle potential race conditions where the cart drawer has not rendered yet.
10047        setTimeout(async () => {
10048          await addOrUpdateMessagingPriceAttribute(updatedPrice, locator, messaging);
10049        }, 500);
10050      }
10051    };
10052
10053    watchForChanges(locator, messaging, cartChangeCallback);
10054  };
10055
10056  // Provides ability to watch for product specific changes
10057  // such as variant selection on product pages
10058  const watchForProductChanges = (locator, messaging) => {
10059    let lastVariantId = new URLSearchParams(window.location.search).get('variant');
10060
10061    const handleVariantChange = async () => {
10062      const currentVariantId = new URLSearchParams(window.location.search).get('variant');
10063      if (currentVariantId && currentVariantId !== lastVariantId) {
10064        lastVariantId = currentVariantId;
10065
10066        const newVariantData = await fetchVariant();
10067        const newPriceInCents = newVariantData?.price;
10068
10069        if (newPriceInCents) {
10070          await addOrUpdateMessagingPriceAttribute(newPriceInCents, locator, messaging);
10071        } else {
10072          recordEvent('appEmbed:watchForProductChanges:error:noNewVariantPrice');
10073        }
10074      }
10075    };
10076
10077    // Shopify themes can either handle variant changes on the client-side or server-side (via variant API calls)
10078    // We will "intercept" and handle variant changes by:
10079    // 1. Watching for URL changes
10080    const _pushState = history.pushState.bind(history);
10081    const _replaceState = history.replaceState.bind(history);
10082
10083    history.pushState = function (...args) {
10084      _pushState(...args);
10085      handleVariantChange();
10086    };
10087
10088    history.replaceState = function (...args) {
10089      _replaceState(...args);
10090      handleVariantChange();
10091    };
10092
10093    // 2. Watching for back/forward browser clicks
10094    window.addEventListener('popstate', handleVariantChange);
10095
10096    // 3. Fallback: Watching for variant API calls
10097    // Future optimization: This fallback could be removed if all Shopify themes can be handled with 1. and 2.
10098    const productChangeCallback = async (res, locator, messaging) => {
10099      if (res.url.includes('/variants')) {
10100        await handleVariantChange();
10101        return;
10102      }
10103    };
10104
10105    watchForChanges(locator, messaging, productChangeCallback);
10106  };  
10107</script>
10107
10108<!-- END app snippet --><!-- BEGIN app snippet: price-detection -->
10108<script>
10109  // ============================================
10110  // Price Detection & Element Scoring
10111  // Depends on: utils.liquid (recordEvent, getShopifyData)
10112  // ============================================
10113
10114  const extractPriceFromText = (text) => {
10115    const match = text.match(/[\d,]+\.?\d*/);
10116    if (!match) return null;
10117    return parseFloat(match[0].replace(/,/g, ''));
10118  };
10119
10120  const textMatchesPrice = (text, knownPriceInCents) => {
10121    const extracted = extractPriceFromText(text);
10122    if (extracted === null) return false;
10123    const knownPrice = knownPriceInCents / 100;
10124    return Math.abs(extracted - knownPrice) < 0.01;
10125  };
10126
10127  const hasStrikethrough = (element) => {
10128    let el = element;
10129    while (el && el !== document.body) {
10130      const style = getComputedStyle(el);
10131      if (style.textDecoration.includes('line-through') ||
10132          style.textDecorationLine?.includes('line-through')) {
10133        return true;
10134      }
10135      if (['S', 'DEL', 'STRIKE'].includes(el.tagName)) {
10136        return true;
10137      }
10138      el = el.parentElement;
10139    }
10140    return false;
10141  };
10142
10143  // Find the add-to-cart button. Result is cached since the button doesn't change per page load.
10144  let _cachedAddToCartButton;
10145  const findAddToCartButton = () => {
10146    if (_cachedAddToCartButton !== undefined) return _cachedAddToCartButton;
10147    try {
10148      const formButton = document.querySelector('form[action*="/cart/add"] button[type="submit"]');
10149      if (formButton) return (_cachedAddToCartButton = formButton);
10150
10151      const buttons = document.querySelectorAll('button');
10152      for (const btn of buttons) {
10153        const text = btn.textContent.toLowerCase();
10154        if (text.includes('add to cart') || text.includes('add to bag') ||
10155            text.includes('buy now') || text.includes('add to basket')) {
10156          return (_cachedAddToCartButton = btn);
10157        }
10158      }
10159
10160      return (_cachedAddToCartButton = null);
10161    } catch (e) {
10162      recordEvent('appEmbed:findAddToCartButton:error', { error: e.message });
10163      return (_cachedAddToCartButton = null);
10164    }
10165  };
10166
10167  // Find element containing specific text (used for product title proximity).
10168  // Result is cached per text string — title is static per page load and scoreElement
10169  // calls this once per candidate, so without caching it's O(candidates) full DOM walks.
10170  let _titleElementCache = {};
10171  const findElementContainingText = (text) => {
10172    if (text in _titleElementCache) return _titleElementCache[text];
10173    try {
10174      const normalizedText = text.toLowerCase().trim();
10175      const walker = document.createTreeWalker(document.body, NodeFilter.SHOW_TEXT);
10176
10177      let node;
10178      while (node = walker.nextNode()) {
10179        const nodeText = node.textContent.trim().toLowerCase();
10180        if (nodeText.length > 5 && normalizedText.includes(nodeText.substring(0, 20))) {
10181          const el = node.parentElement;
10182          const rect = el.getBoundingClientRect();
10183          if (rect.width > 0 && rect.height > 0) {
10184            const fontSize = parseFloat(getComputedStyle(el).fontSize);
10185            if (fontSize >= 16) return (_titleElementCache[text] = el);
10186          }
10187        }
10188      }
10189      return (_titleElementCache[text] = null);
10190    } catch (e) {
10191      return null;
10192    }
10193  };
10194
10195  const getViewportThresholds = () => {
10196    const vh = window.innerHeight;
10197    const isMobile = window.innerWidth < 768;
10198
10199    return {
10200      position: [[vh * 0.6, 50], [vh * 1.2, 30], [vh * 2.0, 10]],
10201      fontSize: [
10202        [isMobile ? 18 : 24, 40],
10203        [isMobile ? 14 : 18, 25],
10204        [isMobile ? 12 : 14, 10],
10205      ],
10206      proximity: {
10207        close:  isMobile ? 60  : 100,
10208        medium: isMobile ? 120 : 200,
10209        far:    isMobile ? 240 : 400,
10210      },
10211    };
10212  };
10213
10214  const getTieredScore = (value, tiers, defaultScore = 0) => {
10215    for (const [threshold, points] of tiers) {
10216      if (value < threshold) return points;
10217    }
10218    return defaultScore;
10219  };
10220
10221  // Scores a DOM element on how likely it is to be the product's main price.
10222  // Higher score = better candidate. Factors:
10223  //   - Position on page (elements higher up score better)
10224  //   - Font size (larger text = more likely a displayed price)
10225  //   - Proximity to product title and add-to-cart button
10226  //   - Structural exclusions (footer/header/nav/hidden = heavy penalty)
10227  //   - Strikethrough detection (compare-at prices = heavy penalty)
10228  const scoreElement = (element, productMeta = null, debug = false) => {
10229    let score = 0;
10230    const breakdown = debug ? {} : null;
10231    const { position, fontSize, proximity } = getViewportThresholds();
10232    const { close, medium, far } = proximity;
10233    const rect = element.getBoundingClientRect();
10234
10235    // POSITION ON PAGE
10236    const absoluteTop = rect.top + window.scrollY;
10237    const posScore = getTieredScore(absoluteTop, position, -30);
10238    score += posScore;
10239    if (debug) breakdown.position = `${posScore >= 0 ? '+' : ''}${posScore} (top ${Math.round(absoluteTop)}px)`;
10240
10241    // FONT SIZE
10242    const fontPx = parseFloat(getComputedStyle(element).fontSize);
10243    const fontScore = fontSize.find(([t]) => fontPx >= t)?.[1] ?? -10;
10244    score += fontScore;
10245    if (debug) breakdown.fontSize = `${fontScore >= 0 ? '+' : ''}${fontScore} (${fontPx}px)`;
10246
10247    // PROXIMITY TO PRODUCT TITLE
10248    if (productMeta?.title) {
10249      const titleElement = findElementContainingText(productMeta.title);
10250      if (titleElement) {
10251        const distance = Math.abs(titleElement.getBoundingClientRect().bottom - rect.top);
10252        const titleScore = getTieredScore(distance, [[close, 40], [medium, 25], [far, 10]], 0);
10253        score += titleScore;
10254        if (debug) breakdown.titleProximity = `+${titleScore} (${Math.round(distance)}px)`;
10255      } else if (debug) {
10256        breakdown.titleProximity = 'title element not found';
10257      }
10258    } else if (debug) {
10259      breakdown.titleProximity = 'no product title';
10260    }
10261
10262    // PROXIMITY TO ADD-TO-CART BUTTON
10263    const addButton = findAddToCartButton();
10264    if (addButton) {
10265      const distance = Math.abs(addButton.getBoundingClientRect().top - rect.top);
10266      const cartScore = getTieredScore(distance, [[close, 30], [medium, 20], [far, 10]], 0);
10267      score += cartScore;
10268      if (debug) breakdown.cartProximity = `+${cartScore} (${Math.round(distance)}px)`;
10269    } else if (debug) {
10270      breakdown.cartProximity = 'add-to-cart not found';
10271    }
10272
10273    // STRUCTURAL EXCLUSIONS
10274    const exclusions = [
10275      ['footer, header, nav', 'in footer/header/nav'],
10276      ['button, a[href*="/cart"], [type="submit"]', 'in button/link'],
10277      ['[aria-hidden="true"], [hidden], .hidden, .visually-hidden', 'hidden'],
10278    ];
10279    for (const [selector, reason] of exclusions) {
10280      if (element.closest(selector)) {
10281        score -= 100;
10282        if (debug) breakdown.structural = `-100 (${reason})`;
10283        break;
10284      }
10285    }
10286    if (debug && !breakdown.structural) breakdown.structural = '+0';
10287
10288    // STRIKETHROUGH
10289    if (hasStrikethrough(element)) {
10290      score -= 100;
10291      if (debug) breakdown.strikethrough = '-100 (compare-at price)';
10292    } else if (debug) {
10293      breakdown.strikethrough = '+0';
10294    }
10295
10296    if (debug) {
10297      breakdown.totalScore = score;
10298      breakdown.elementText = element.textContent.trim().substring(0, 30);
10299      breakdown.elementTag = element.tagName;
10300    }
10301
10302    return debug ? { score, breakdown } : score;
10303  };
10304
10305  // Find all elements containing a specific price value
10306  const findElementsWithPrice = (knownPriceInCents, productMeta = null, debug = false, log = () => {}) => {
10307    const candidates = [];
10308    const walker = document.createTreeWalker(document.body, NodeFilter.SHOW_TEXT);
10309
10310    let node;
10311    while (node = walker.nextNode()) {
10312      const text = node.textContent.trim();
10313      if (text.length > 30 || !textMatchesPrice(text, knownPriceInCents)) continue;
10314
10315      const element = node.parentElement;
10316      const rect = element.getBoundingClientRect();
10317
10318      if (rect.width === 0 || rect.height === 0 || hasStrikethrough(element)) continue;
10319
10320      const score = scoreElement(element, productMeta, false);
10321      candidates.push({ element, text, score });
10322    }
10323
10324    if (debug && candidates.length > 0) {
10325      candidates.sort((a, b) => b.score - a.score);
10326      log(`  Candidates: ${candidates.length}, top: score=${candidates[0].score}, text="${candidates[0].text}"`);
10327    }
10328
10329    return candidates;
10330  };
10331
10332  // Find the /cart/add form by traversing from the price element
10333  // This is more reliable than name-based container detection since all Shopify themes have this form
10334  const findCartFormFromPrice = (priceElement, debug = false, log = () => {}) => {
10335    let el = priceElement;
10336
10337    while (el && el !== document.body) {
10338      if (el.tagName === 'FORM' && el.action?.includes('/cart/add')) {
10339        if (debug) log(`  Found /cart/add form (element itself)`);
10340        return el;
10341      }
10342
10343      let sibling = el.nextElementSibling;
10344      while (sibling) {
10345        if (sibling.tagName === 'FORM' && sibling.action?.includes('/cart/add')) {
10346          if (debug) log(`  Found /cart/add form as sibling`);
10347          return sibling;
10348        }
10349        // Check if sibling contains the form
10350        const formInSibling = sibling.querySelector('form[action*="/cart/add"]');
10351        if (formInSibling) {
10352          if (debug) log(`  Found /cart/add form inside sibling`);
10353          return formInSibling;
10354        }
10355        sibling = sibling.nextElementSibling;
10356      }
10357
10358      el = el.parentElement;
10359    }
10360
10361    if (debug) log(`  No /cart/add form found`);
10362    return null;
10363  };
10364
10365  // Fallback: walk up from the price text element to find a suitable wrapper.
10366  // Used when no /cart/add form exists near the price element.
10367  const findPriceContainer = (priceElement) => {
10368    let el = priceElement;
10369    let bestContainer = priceElement;
10370
10371    while (el && el !== document.body) {
10372      // Look for elements with price-related IDs (common Shopify pattern)
10373      if (el.id && /price/i.test(el.id)) {
10374        bestContainer = el;
10375      }
10376      // Look for elements with price-related classes that seem like containers
10377      if (el.className && typeof el.className === 'string') {
10378        const classes = el.className.toLowerCase();
10379        if (/\bprice\b/.test(classes) && !/price-item|price__regular|price__sale/.test(classes)) {
10380          bestContainer = el;
10381        }
10382      }
10383      // Stop at major structural elements
10384      if (el.tagName === 'SECTION' || el.tagName === 'ARTICLE' || el.tagName === 'MAIN') {
10385        break;
10386      }
10387      el = el.parentElement;
10388    }
10389
10390    return bestContainer;
10391  };
10392
10393  // Try common Shopify theme price selectors (Dawn and derivatives)
10394  const findPriceByTemplateSelector = (debug = false, log = () => {}) => {
10395    const selectors = [
10396      '[id*="price-template"]',  // Dawn theme pattern
10397      '.price-item--regular:not(s):not(del)',
10398      '[data-product-price]',
10399    ];
10400
10401    for (const selector of selectors) {
10402      const el = document.querySelector(selector);
10403      if (el && !hasStrikethrough(el)) {
10404        if (debug) log(`Template selector found: ${selector}`);
10405        return el;
10406      }
10407    }
10408    return null;
10409  };
10410
10411  // Check if we're in an isolated/sandboxed iframe (theme editor)
10412  const isIsolatedContext = () => {
10413    if (window === window.top) return false; // Not in iframe
10414    try {
10415      // Try to access parent - if cross-origin, we're isolated
10416      const test = window.parent.document;
10417      return false; // Can access parent, not isolated
10418    } catch (e) {
10419      return true; // Cross-origin, we're isolated
10420    }
10421  };
10422
10423  // Try to find price element in sibling iframes (theme editor workaround)
10424  const findPriceInSiblingIframes = (knownPriceInCents) => {
10425    const iframes = document.querySelectorAll('iframe');
10426
10427    for (const iframe of iframes) {
10428      try {
10429        const iframeDoc = iframe.contentDocument || iframe.contentWindow?.document;
10430        if (!iframeDoc) continue;
10431
10432        const priceElement = iframeDoc.querySelector('.price-item, .price, [data-product-price]');
10433        if (priceElement) {
10434          return { element: priceElement, document: iframeDoc };
10435        }
10436      } catch (e) {
10437        // Cross-origin iframe, skip
10438      }
10439    }
10440
10441    return null;
10442  };
10443
10444  // Helper: Insert messaging near a price element (before cart form or after price container).
10445  // Returns the price container element used as the logical anchor.
10446  const insertMessagingNearPrice = (priceElement, messaging, debug = false, log = () => {}) => {
10447    const cartForm = findCartFormFromPrice(priceElement, debug, log);
10448    const container = findPriceContainer(priceElement);
10449    if (cartForm) {
10450      cartForm.before(messaging.cloneNode());
10451      if (debug) log('Inserted messaging before /cart/add form');
10452    } else {
10453      container.after(messaging.cloneNode());
10454      if (debug) log('Inserted after price container (no form found)');
10455    }
10456    return container;
10457  };
10458
10459  // Insert messaging after price element
10460  const insertMessagingWithRetry = (shopifyData, messaging, debug = false, log = () => {}) => {
10461    // Skip visual preview iframe
10462    if (window.location.search.includes('source=visualPreviewInitialLoad')) return;
10463    if (document.querySelector('#paypal-upstream-messaging-product')) return;
10464
10465    const liquidPriceInCents = shopifyData?.price?.priceInCents;
10466    const isIsolated = isIsolatedContext();
10467
10468    if (debug) {
10469      log('=== Price Detection ===');
10470      log(`Context: ${isIsolated ? 'Theme Editor' : 'Live Storefront'}`);
10471      log(`Price: ${liquidPriceInCents} cents ($${(liquidPriceInCents / 100).toFixed(2)})`);
10472    }
10473
10474    // Priority 1: Template selectors (common theme patterns like Dawn)
10475    const templateElement = findPriceByTemplateSelector(debug, log);
10476    if (templateElement) {
10477      return insertMessagingNearPrice(templateElement, messaging, debug, log);
10478    }
10479
10480    // Priority 2: Scoring-based price detection
10481    const priceElement = findPriceElement(shopifyData, debug, log);
10482    if (priceElement) {
10483      return insertMessagingNearPrice(priceElement, messaging, debug, log);
10484    }
10485
10486    // Priority 3: Sibling iframes (theme editor only)
10487    if (isIsolated) {
10488      const siblingResult = findPriceInSiblingIframes(liquidPriceInCents);
10489      if (siblingResult) {
10490        return insertMessagingNearPrice(siblingResult.element, messaging, debug, log);
10491      }
10492    }
10493
10494    if (!isIsolated) {
10495      log('Could not find price element. Consider using Advanced Settings with a custom selector.');
10496    }
10497    return null;
10498  };
10499
10500  const findPriceElement = (shopifyData = null, debug = false, log = () => {}) => {
10501    try {
10502      const knownPriceInCents = shopifyData?.price?.priceInCents;
10503      const productMeta = shopifyData?.product;
10504
10505      if (debug) log(`findPriceElement: ${knownPriceInCents} cents`);
10506
10507      if (knownPriceInCents) {
10508        const candidates = findElementsWithPrice(knownPriceInCents, productMeta, debug, log);
10509        if (candidates.length > 0) {
10510          candidates.sort((a, b) => b.score - a.score);
10511          if (debug) log(`  → FOUND (score=${candidates[0].score})`);
10512          return candidates[0].element;
10513        }
10514      }
10515
10516      if (debug) log('  → null (no candidates)');
10517      return null;
10518    } catch (e) {
10519      if (debug) log(`  → Error: ${e.message}`);
10520      recordEvent('appEmbed:findPriceElement:error', { error: e.message });
10521      return null;
10522    }
10523  };
10524</script>
10524
10525<!-- END app snippet --><!-- BEGIN app snippet: navigator-panel --><template id="pp-nav-template">
10526  <style>
10527    /* --- Floating placement panel shell --- */
10528    #pp-nav-panel {
10529      position: fixed;
10530      top: 50%;
10531      left: 20px;
10532      transform: translateY(-50%);
10533      background: #fff;
10534      border-radius: 12px;
10535      font-family: system-ui, -apple-system, sans-serif;
10536      font-size: 13px;
10537      z-index: 999999;
10538      width: 340px;
10539      box-shadow: 0 8px 32px rgba(0,0,0,0.18);
10540      overflow: hidden;
10541      transition: transform 0.3s ease, height 0.3s ease;
10542    }
10543    #pp-nav-panel.minimized {
10544      display: none;
10545    }
10546
10547    /* --- Minimized pill button --- */
10548    #pp-nav-pill {
10549      position: fixed;
10550      bottom: 20px;
10551      left: 20px;
10552      background: #003087;
10553      color: #fff;
10554      border: none;
10555      border-radius: 24px;
10556      padding: 10px 18px;
10557      font-family: system-ui, -apple-system, sans-serif;
10558      font-size: 13px;
10559      font-weight: 600;
10560      cursor: pointer;
10561      z-index: 999999;
10562      box-shadow: 0 4px 16px rgba(0,48,135,0.3);
10563      display: none;
10564      align-items: center;
10565      gap: 8px;
10566      transition: box-shadow 0.2s;
10567    }
10568    #pp-nav-pill:hover {
10569      box-shadow: 0 6px 20px rgba(0,48,135,0.45);
10570    }
10571
10572    /* --- Header --- */
10573    .pp-panel-header {
10574      background: #003087;
10575      color: #fff;
10576      padding: 14px 16px;
10577      display: flex;
10578      align-items: center;
10579      justify-content: space-between;
10580    }
10581    .pp-panel-title {
10582      font-size: 14px;
10583      font-weight: 700;
10584      margin: 0;
10585      letter-spacing: 0.01em;
10586    }
10587    .pp-minimize-btn {
10588      background: none;
10589      border: none;
10590      color: rgba(255,255,255,0.8);
10591      cursor: pointer;
10592      font-size: 18px;
10593      line-height: 1;
10594      padding: 2px;
10595      border-radius: 4px;
10596      transition: color 0.15s;
10597    }
10598    .pp-minimize-btn:hover {
10599      color: #fff;
10600    }
10601
10602    /* --- Panel body --- */
10603    .pp-panel-content {
10604      padding: 16px;
10605    }
10606
10607    /* --- Step info boxes --- */
10608    .pp-step-box {
10609      border-radius: 8px;
10610      padding: 10px 12px;
10611      font-size: 12px;
10612      line-height: 1.5;
10613      margin-bottom: 12px;
10614      display: flex;
10615      align-items: flex-start;
10616      gap: 8px;
10617    }
10618    .pp-step-box.blue {
10619      background: #e8f4fd;
10620      border: 1px solid #b8dff5;
10621      color: #0a5a96;
10622    }
10623    .pp-step-box.green {
10624      background: #e6f9ee;
10625      border: 1px solid #a3e4b8;
10626      color: #1a7a3a;
10627    }
10628    .pp-step-text {
10629      flex: 1;
10630    }
10631    .pp-step-text p {
10632      margin: 0 0 8px 0;
10633    }
10634    .pp-step-text p:last-child {
10635      margin-bottom: 0;
10636    }
10637    .pp-step-text strong {
10638      display: block;
10639      font-size: 12px;
10640      margin-bottom: 2px;
10641    }
10642    .pp-step-dismiss {
10643      background: none;
10644      border: none;
10645      color: inherit;
10646      opacity: 0.5;
10647      cursor: pointer;
10648      font-size: 16px;
10649      line-height: 1;
10650      padding: 0;
10651      flex-shrink: 0;
10652    }
10653    .pp-step-dismiss:hover {
10654      opacity: 1;
10655    }
10656
10657    /* --- Warning banners --- */
10658    .pp-warning {
10659      background: #fff3cd;
10660      border: 1px solid #ffc107;
10661      border-radius: 8px;
10662      padding: 10px 12px;
10663      margin-bottom: 12px;
10664      font-size: 12px;
10665      color: #856404;
10666      line-height: 1.4;
10667    }
10668    .pp-warning-icon {
10669      margin-right: 4px;
10670    }
10671
10672    /* --- Pick placement + copy actions --- */
10673    .pp-pick-btn {
10674      width: 100%;
10675      padding: 12px;
10676      border: 2px solid #0070ba;
10677      border-radius: 8px;
10678      background: #0070ba;
10679      color: #fff;
10680      cursor: pointer;
10681      font-size: 13px;
10682      font-weight: 600;
10683      transition: all 0.15s;
10684      display: flex;
10685      align-items: center;
10686      justify-content: center;
10687      gap: 8px;
10688    }
10689    .pp-pick-btn:hover {
10690      opacity: 0.9;
10691    }
10692    .pp-pick-btn.active {
10693      background: #f0f7ff;
10694      color: #0070ba;
10695      border-color: #b8dff5;
10696    }
10697    .pp-pick-btn.active:hover {
10698      background: #e0efff;
10699    }
10700
10701    /* --- Copy button --- */
10702    #pp-apply-btn {
10703      width: 100%;
10704      background: #28a745;
10705      color: #fff;
10706      border: none;
10707      padding: 12px;
10708      border-radius: 8px;
10709      font-weight: 600;
10710      cursor: pointer;
10711      font-size: 13px;
10712      transition: all 0.2s;
10713      display: none;
10714      align-items: center;
10715      justify-content: center;
10716      gap: 8px;
10717      margin-top: 12px;
10718    }
10719    #pp-apply-btn:hover {
10720      opacity: 0.9;
10721    }
10722    #pp-apply-btn.applied {
10723      background: #28a745;
10724    }
10725
10726    /* --- Step 2 confirmation --- */
10727    #pp-step2 {
10728      display: none;
10729      margin-top: 18px;
10730    }
10731  </style>
10732  <div class='pp-panel-header'>
10733    <div class='pp-panel-title'>PayPal Pay Later Messaging</div>
10734    <button class='pp-minimize-btn' id='pp-collapse-btn' title='Minimize panel'>&#x25BE;</button>
10735  </div>
10736  <div class='pp-panel-content'>
10737    <div id='pp-warning' class='pp-warning' style='display: none;'></div>
10738    <div id='pp-inspector-warning' class='pp-warning' style='display: none;'></div>
10739    <div class='pp-step-box blue' id='pp-step1'>
10740      <span class='pp-step-text'
10741        ><strong>Step 1: Choose message placement</strong>
10742        Click the button below and then hover over your page to select a placement.
10743      </span>
10744    </div>
10745    <button id='pp-pick-btn' class='pp-pick-btn'>&#x25CE; Start Picking Placement</button
10746    ><button id='pp-apply-btn'>Copy Current Placement</button>
10747    <div id='pp-step2' style='display:none;'>
10748      <div class='pp-step-box green'>
10749        <span class='pp-step-text'
10750          ><strong>Step 2: Paste and save</strong>
10751          <p style='margin: 0 0 8px 0;'>
10752            You have copied the placement for the <b id='pp-context-name'>Product Page</b>.
10753          </p>
10754          <p style='margin: 0;'>
10755            Go back to the App Embeds section, and in the Paypal Advanced Settings, paste the copied value into the
10756            <b id='pp-selector-name'>Product Page</b> field and click the 'Save' button in the top right corner.
10757          </p></span
10758        ><button class='pp-step-dismiss' id='pp-step2-dismiss' title='Dismiss'>&times;</button>
10759      </div>
10760    </div>
10761  </div>
10762</template>
10763<!-- END app snippet --><!-- BEGIN app snippet: navigator -->
10763<script>
10764  // ============================================
10765  // DOM Traversal Controls for Theme Editor
10766  // Depends on: price-detection.liquid (isIsolatedContext)
10767  // ============================================
10768
10769  const OVERLAY_STYLE =
10770    'position:fixed;pointer-events:none;background:rgba(255,152,0,0.12);border:2px solid rgba(255,152,0,0.6);z-index:999998;display:none;';
10771  const OVERLAY_LABEL_STYLE =
10772    'position:absolute;bottom:100%;left:-2px;background:#f57c00;color:#fff;font:10px system-ui;padding:2px 6px;border-radius:3px 3px 0 0;white-space:nowrap;';
10773  const COPY_BUTTON_LABEL = 'Copy Current Placement';
10774  const COPIED_BUTTON_LABEL = 'Placement Copied!';
10775
10776  const isInOverlay = (el) => {
10777    while (el && el !== document.body) {
10778      if (getComputedStyle(el).position === 'fixed') return true;
10779      el = el.parentElement;
10780    }
10781    return false;
10782  };
10783
10784  // Position a fixed overlay to cover a target element
10785  const positionOverlayOnElement = (overlay, el) => {
10786    const rect = el.getBoundingClientRect();
10787    Object.assign(overlay.style, {
10788      top: rect.top + 'px',
10789      left: rect.left + 'px',
10790      width: rect.width + 'px',
10791      height: rect.height + 'px',
10792      display: 'block',
10793    });
10794  };
10795
10796  // Module-level refs for global listeners added by createNavigationPanel.
10797  // Stored here so they can be removed if the panel is re-initialized.
10798  let _panelInspectorActivate = null;
10799  let _panelInspectorDeactivate = null;
10800  let _highlightedElement = null;
10801  let _panelPickModeCleanup = null;
10802
10803  // Detect UID pattern in ID (Shopify's --suffix or long numeric/hex suffixes)
10804  const hasUid = (id) => {
10805    if (!id) return false;
10806    if (/--/.test(id)) return true;
10807    return /[-_](\d{5,}|[a-f0-9]{8,})$/i.test(id);
10808  };
10809  const getIdPrefix = (id) => {
10810    if (id.includes('--')) return id.split('--')[0];
10811    const match = id.match(/^(.+?)[-_](\d{5,}|[a-f0-9]{8,})$/i);
10812    return match ? match[1] : null;
10813  };
10814  const getMeaningfulClasses = (el) => {
10815    if (!el.className || typeof el.className !== 'string') return [];
10816    return el.className.trim().split(/\s+/).filter(c =>
10817      c && !c.startsWith('_') && !c.startsWith('js-') &&
10818      c.length < 30 && !/^[a-f0-9]{6,}$/i.test(c) && !/^[A-Z]/.test(c)
10819    );
10820  };
10821  const isUnique = (selector) => document.querySelectorAll(selector).length === 1;
10822
10823  // Returns null if no unique selector can be generated
10824  const generateSelector = (element) => {
10825    if (!element || element === document.body || element === document.documentElement) {
10826      return null;
10827    }
10828    const classes = getMeaningfulClasses(element);
10829
10830    // Priority 1: Clean ID
10831    if (element.id && !hasUid(element.id)) return `#${element.id}`;
10832
10833    // Priority 2: ID with UID → attribute wildcard selector
10834    if (element.id && hasUid(element.id)) {
10835      const prefix = getIdPrefix(element.id);
10836      if (prefix) {
10837        const selector = `[id^="${prefix}-"]`;
10838        if (isUnique(selector)) return selector;
10839      }
10840    }
10841
10842    // Priority 3: Unique class
10843    for (const cls of classes) {
10844      if (isUnique('.' + cls)) return '.' + cls;
10845    }
10846
10847    // Priority 4: Ancestor + target class combinations (walk up to 5 levels)
10848    if (classes.length > 0) {
10849      let ancestor = element.parentElement;
10850      let depth = 0;
10851      while (ancestor && ancestor !== document.body && ancestor !== document.documentElement && depth < 5) {
10852        const ancClasses = getMeaningfulClasses(ancestor);
10853        if (ancClasses.length > 0) {
10854          const s1 = `.${ancClasses[0]} .${classes[0]}`;
10855          if (isUnique(s1)) return s1;
10856          const s2 = `.${ancClasses[0]} > .${classes[0]}`;
10857          if (isUnique(s2)) return s2;
10858        }
10859        if (ancestor.id && !hasUid(ancestor.id)) {
10860          const s3 = `#${ancestor.id} .${classes[0]}`;
10861          if (isUnique(s3)) return s3;
10862        }
10863        ancestor = ancestor.parentElement;
10864        depth++;
10865      }
10866    }
10867
10868    // NO FALLBACK - return null if no unique selector exists
10869    return null;
10870  };
10871  const hasSpecificSelector = (el) => generateSelector(el) !== null;
10872  const shouldSkipElement = (el) => {
10873    if (!el || el.hidden) return true;
10874    if (['SCRIPT', 'STYLE', 'TEMPLATE'].includes(el.tagName)) return true;
10875    if (
10876      el.closest('#pp-nav-panel') ||
10877      el.closest('#pp-nav-pill') ||
10878      el.closest('#pp-pick-overlay')
10879    )
10880      return true;
10881    if (el.hasAttribute('data-pp-message')) return true;
10882    if (!hasSpecificSelector(el)) return true;
10883    return false;
10884  };
10885  const resolveContextName = (providedContextName, messagingTemplate) => {
10886    if (providedContextName && providedContextName !== 'this area') return providedContextName;
10887    const id = messagingTemplate?.id || '';
10888    if (id.includes('cart-drawer')) return 'Cart Drawer';
10889    if (id.includes('cart')) return 'Cart Page';
10890    if (id.includes('product')) return 'Product Page';
10891    return 'this area';
10892  };
10893
10894  // Called when the cart drawer closes (via IntersectionObserver in cartDrawer.liquid)
10895  // and at the start of createNavigationPanel to tear down any existing instance.
10896  // Cleans up pick mode listeners, DOM elements, highlights, and preview clones.
10897  const destroyNavigationPanel = () => {
10898    if (_panelPickModeCleanup) {
10899      _panelPickModeCleanup();
10900      _panelPickModeCleanup = null;
10901    }
10902    document.getElementById('pp-nav-panel')?.remove();
10903    document.getElementById('pp-nav-pill')?.remove();
10904    const preview = document.querySelector('[id$="-preview"][data-pp-message]');
10905    if (preview) preview.remove();
10906    if (_highlightedElement) {
10907      _highlightedElement.style.outline = '';
10908      _highlightedElement.style.outlineOffset = '';
10909      _highlightedElement = null;
10910    }
10911    if (_panelInspectorActivate) {
10912      document.removeEventListener('shopify:inspector:activate', _panelInspectorActivate);
10913      document.removeEventListener('shopify:inspector:deactivate', _panelInspectorDeactivate);
10914      _panelInspectorActivate = _panelInspectorDeactivate = null;
10915    }
10916    document.documentElement.style.cursor = '';
10917  };
10918
10919  const createNavigationPanel = (
10920    initialElement,
10921    messagingTemplate,
10922    warningMessage = null,
10923    contextName = 'this area',
10924  ) => {
10925    let currentTarget = initialElement;
10926    let resolvedContextName = resolveContextName(contextName, messagingTemplate);
10927    destroyNavigationPanel();
10928
10929    const panel = document.createElement('div');
10930    panel.id = 'pp-nav-panel';
10931    const tmpl = document.getElementById('pp-nav-template');
10932    panel.appendChild(tmpl.content.cloneNode(true));
10933
10934    // Create minimized pill button (separate from panel)
10935    const pill = document.createElement('button');
10936    pill.id = 'pp-nav-pill';
10937    pill.innerHTML = 'PayPal Pay Later Messaging';
10938    const applyBtn = panel.querySelector('#pp-apply-btn');
10939    const warningEl = panel.querySelector('#pp-warning');
10940    const step2 = panel.querySelector('#pp-step2');
10941    const step2Dismiss = panel.querySelector('#pp-step2-dismiss');
10942    const contextEl = panel.querySelector('#pp-context-name');
10943    const selectorEl = panel.querySelector('#pp-selector-name');
10944    const updateContextUI = (newContext) => {
10945      resolvedContextName = newContext;
10946      if (contextEl) contextEl.textContent = resolvedContextName;
10947      if (selectorEl) {
10948        selectorEl.textContent = resolvedContextName;
10949      }
10950    };
10951    updateContextUI(resolvedContextName);
10952    const detectContextFromElement = (el) => {
10953      if (el.closest('#CartDrawer, .drawer, .cart-drawer, [id*="cart-drawer"], [class*="cart-drawer"]'))
10954        return 'Cart Drawer';
10955      if (window.location.pathname.endsWith('/cart') || el.closest('.cart, #cart, #main-cart-items, #main-cart-footer'))
10956        return 'Cart Page';
10957      return 'Product Page';
10958    };
10959
10960    // Show warning message if provided
10961    if (warningMessage && warningEl) {
10962      warningEl.innerHTML = `<span class="pp-warning-icon">⚠️</span>${warningMessage}`;
10963      warningEl.style.display = 'block';
10964    }
10965    let isInitialRender = true;
10966    const updateUI = () => {
10967      // Highlight element
10968      highlightElement(currentTarget);
10969      // Update button states
10970      applyBtn.textContent = COPY_BUTTON_LABEL;
10971      applyBtn.classList.remove('applied');
10972      // Reposition messaging — skip on initial render (already placed correctly by auto-detection)
10973      if (!isInitialRender) repositionMessaging();
10974      isInitialRender = false;
10975    };
10976
10977    const highlightElement = (el) => {
10978      if (_highlightedElement) {
10979        _highlightedElement.style.outline = '';
10980        _highlightedElement.style.outlineOffset = '';
10981      }
10982      _highlightedElement = el;
10983      if (el) {
10984        el.style.outline = '2px solid rgba(255,152,0,0.6)';
10985        el.style.outlineOffset = '-1px';
10986      }
10987    };
10988
10989    const repositionMessaging = () => {
10990      if (!currentTarget) return;
10991      const existing = document.getElementById(messagingTemplate.id);
10992      const targetInOverlay = isInOverlay(currentTarget);
10993      const msgInOverlay = existing && isInOverlay(existing);
10994      if (targetInOverlay !== msgInOverlay) {
10995        // Cross-context: reposition messaging in the target's context without touching the original
10996        const allMessaging = document.querySelectorAll('[data-pp-message]');
10997        let contextMsg = null;
10998        for (const el of allMessaging) {
10999          if (isInOverlay(el) === targetInOverlay) { contextMsg = el; break; }
11000        }
11001        if (!contextMsg) {
11002          contextMsg = messagingTemplate.cloneNode(true);
11003          contextMsg.id = messagingTemplate.id + '-preview';
11004        }
11005        contextMsg.remove();
11006        currentTarget.after(contextMsg);
11007        return;
11008      }
11009      if (existing) existing.remove();
11010      const newMessaging = messagingTemplate.cloneNode(true);
11011      currentTarget.after(newMessaging);
11012    };
11013
11014    const collapseBtn = panel.querySelector('#pp-collapse-btn');
11015    const pickBtn = panel.querySelector('#pp-pick-btn');
11016    let pickMode = false;
11017    let pickHoverTarget = null;
11018    let pickOverlay = null;
11019    let pickLabel = null;
11020    let applyBtnResetTimer = null;
11021    let _pickRafId = null;
11022
11023    const enterPickMode = () => {
11024      pickMode = true;
11025      document.documentElement.style.cursor = 'crosshair';
11026      pickBtn.classList.add('active');
11027      pickBtn.innerHTML = '◎ Pick a spot on the page...';
11028      applyBtn.textContent = COPY_BUTTON_LABEL;
11029      applyBtn.classList.remove('applied');
11030      applyBtn.style.display = 'flex';
11031      step2.style.display = 'none';
11032      if (contextEl) contextEl.textContent = resolvedContextName;
11033      // Create overlay for highlighting (pointer-events:none prevents interference)
11034      pickOverlay = document.createElement('div');
11035      pickOverlay.id = 'pp-pick-overlay';
11036      pickOverlay.style.cssText = OVERLAY_STYLE;
11037      pickLabel = document.createElement('div');
11038      pickLabel.style.cssText = OVERLAY_LABEL_STYLE;
11039      pickOverlay.appendChild(pickLabel);
11040      document.body.appendChild(pickOverlay);
11041
11042      document.addEventListener('mousemove', onPickHover, true);
11043      document.addEventListener('click', onPickClick, true);
11044      document.addEventListener('mousedown', onPickSuppressEvent, true);
11045      document.addEventListener('pointerdown', onPickSuppressEvent, true);
11046    };
11047
11048    const exitPickMode = () => {
11049      pickMode = false;
11050      document.documentElement.style.cursor = '';
11051      pickBtn.classList.remove('active');
11052      pickBtn.innerHTML = '◎ Start Picking Placement';
11053      applyBtn.style.display = 'none';
11054      // Remove overlay
11055      const overlay = document.getElementById('pp-pick-overlay');
11056      if (overlay) overlay.remove();
11057      pickOverlay = null;
11058      pickLabel = null;
11059      pickHoverTarget = null;
11060
11061      if (_pickRafId) { cancelAnimationFrame(_pickRafId); _pickRafId = null; }
11062      document.removeEventListener('mousemove', onPickHover, true);
11063      document.removeEventListener('click', onPickClick, true);
11064      document.removeEventListener('mousedown', onPickSuppressEvent, true);
11065      document.removeEventListener('pointerdown', onPickSuppressEvent, true);
11066    };
11067
11068    // Find the nearest visible child element to cursor coordinates
11069    const snapToNearestChild = (parent, cx, cy) => {
11070      const children = parent.children;
11071      if (!children.length) return null;
11072      let best = null;
11073      let bestDist = 30;
11074      for (const child of children) {
11075        if (shouldSkipElement(child)) continue;
11076        const r = child.getBoundingClientRect();
11077        if (r.width === 0 || r.height === 0) continue;
11078        const dx = cx < r.left ? r.left - cx : cx > r.right ? cx - r.right : 0;
11079        const dy = cy < r.top ? r.top - cy : cy > r.bottom ? cy - r.bottom : 0;
11080        const dist = Math.sqrt(dx * dx + dy * dy);
11081        if (dist < bestDist) {
11082          bestDist = dist;
11083          best = child;
11084        }
11085      }
11086      return best;
11087    };
11088
11089    const onPickHover = (e) => {
11090      if (_pickRafId) return;
11091      _pickRafId = requestAnimationFrame(() => {
11092        _pickRafId = null;
11093        let el = document.elementFromPoint(e.clientX, e.clientY);
11094        if (!el || shouldSkipElement(el)) {
11095          document.documentElement.style.cursor = 'not-allowed';
11096          if (pickOverlay) pickOverlay.style.display = 'none';
11097          pickHoverTarget = null;
11098          return;
11099        }
11100
11101        if (el.children.length > 0) {
11102          const snapped = snapToNearestChild(el, e.clientX, e.clientY);
11103          if (snapped) el = snapped;
11104        }
11105
11106        // Skip elements without a unique selector
11107        if (shouldSkipElement(el)) {
11108          document.documentElement.style.cursor = 'not-allowed';
11109          pickHoverTarget = null;
11110          if (pickOverlay) pickOverlay.style.display = 'none';
11111          return;
11112        }
11113        document.documentElement.style.cursor = 'crosshair';
11114        if (el === pickHoverTarget) return;
11115        pickHoverTarget = el;
11116        positionOverlayOnElement(pickOverlay, el);
11117        pickLabel.innerHTML = 'Select this placement';
11118      });
11119    };
11120
11121    const onPickSuppressEvent = (e) => {
11122      if (e.target.closest('#pp-nav-panel')) return;
11123      e.preventDefault();
11124      e.stopPropagation();
11125    };
11126
11127    const onPickClick = (e) => {
11128      if (e.target.closest('#pp-nav-panel')) return;
11129      e.preventDefault();
11130      e.stopPropagation();
11131      e.stopImmediatePropagation();
11132      if (pickHoverTarget && !shouldSkipElement(pickHoverTarget)) {
11133        currentTarget = pickHoverTarget;
11134        updateContextUI(detectContextFromElement(currentTarget));
11135        updateUI();
11136      }
11137    };
11138
11139    // --- Pick button ---
11140    pickBtn.addEventListener('click', () => {
11141      if (pickMode) exitPickMode();
11142      else enterPickMode();
11143    });
11144
11145    _panelPickModeCleanup = () => { if (pickMode) exitPickMode(); };
11146
11147    // --- Minimize / expand ---
11148    collapseBtn.addEventListener('click', () => {
11149      if (pickMode) exitPickMode();
11150      panel.classList.add('minimized');
11151      pill.style.display = 'flex';
11152      highlightElement(null);
11153    });
11154    pill.addEventListener('click', () => {
11155      panel.classList.remove('minimized');
11156      pill.style.display = 'none';
11157      highlightElement(currentTarget);
11158    });
11159
11160    // --- Step 2 dismiss ---
11161    step2Dismiss.addEventListener('click', () => {
11162      step2.style.display = 'none';
11163    });
11164
11165    // Handle copy button click
11166    panel.addEventListener('click', async (e) => {
11167      const button = e.target.closest('#pp-apply-btn');
11168      if (!button) return;
11169      // Skip buttons handled separately
11170      if (button.id === 'pp-collapse-btn' || button.id === 'pp-pick-btn' || button.id === 'pp-step2-dismiss') return;
11171      if (button.id === 'pp-apply-btn') {
11172        const selector = generateSelector(currentTarget);
11173        if (!selector) return;
11174        let copied = false;
11175        try {
11176          // Try multiple copy methods (iframe security blocks clipboard API)
11177          if (navigator.clipboard?.writeText) {
11178            await navigator.clipboard.writeText(selector);
11179            copied = true;
11180          }
11181        } catch {}
11182        if (!copied) {
11183          try {
11184            const ta = document.createElement('textarea');
11185            ta.value = selector;
11186            ta.style.position = 'fixed';
11187            ta.style.opacity = '0';
11188            document.body.appendChild(ta);
11189            ta.select();
11190            copied = document.execCommand('copy');
11191            ta.remove();
11192          } catch {}
11193        }
11194        if (copied) {
11195          applyBtn.textContent = COPIED_BUTTON_LABEL;
11196          applyBtn.classList.add('applied');
11197          if (applyBtnResetTimer) clearTimeout(applyBtnResetTimer);
11198          applyBtnResetTimer = setTimeout(() => {
11199            applyBtn.textContent = COPY_BUTTON_LABEL;
11200            applyBtn.classList.remove('applied');
11201            applyBtnResetTimer = null;
11202          }, 1200);
11203          // Show Step 2 confirmation
11204          step2.style.display = 'block';
11205        }
11206        exitPickMode();
11207      }
11208    });
11209
11210    // --- Inspector mode detection ---
11211    const inspectorWarning = panel.querySelector('#pp-inspector-warning');
11212    let inspectorActive = typeof Shopify !== 'undefined' && Shopify.inspectMode;
11213    const isMac = navigator.platform?.startsWith('Mac') || navigator.userAgentData?.platform === 'macOS';
11214    const shortcut = isMac ? '⌘ ⇧ I' : 'Ctrl + Shift + I';
11215    const enableInspectorMode = () => {
11216      inspectorActive = true;
11217      inspectorWarning.innerHTML = `<span class="pp-warning-icon">⚠️</span> For a better experience, press <strong>${shortcut}</strong> to turn off inspector mode`;
11218      inspectorWarning.style.display = 'block';
11219    };
11220    const disableInspectorMode = () => {
11221      inspectorActive = false;
11222      inspectorWarning.style.display = 'none';
11223    };
11224    _panelInspectorActivate = enableInspectorMode;
11225    _panelInspectorDeactivate = disableInspectorMode;
11226    document.addEventListener('shopify:inspector:activate', enableInspectorMode);
11227    document.addEventListener('shopify:inspector:deactivate', disableInspectorMode);
11228
11229    // Prevent panel/pill clicks from closing cart drawer (themes close drawer on outside mousedown)
11230    const stopBubble = (e) => e.stopPropagation();
11231    panel.addEventListener('mousedown', stopBubble);
11232    panel.addEventListener('pointerdown', stopBubble);
11233    pill.addEventListener('mousedown', stopBubble);
11234    pill.addEventListener('pointerdown', stopBubble);
11235
11236    document.body.appendChild(panel);
11237    document.body.appendChild(pill);
11238    if (inspectorActive) enableInspectorMode();
11239    updateUI();
11240    return panel;
11241  };
11242</script>
11242
11243<!-- END app snippet --><!-- BEGIN app snippet: cart -->
11243<script>
11244    // Determine correct locator by theme name
11245    const cartPageThemeName = window.Shopify.theme.name;
11246    let cartPageLocator, cartPageNodeToObserve, cartPageMutationNode;
11247
11248    try {
11249      switch (cartPageThemeName) {
11250        // to support other themes add cases
11251        // default case supports Shopify Free themes
11252        default:
11253          cartPageLocator = '.cart__footer .totals';
11254          cartPageNodeToObserve = '#main-cart-footer .js-contents';
11255          cartPageMutationNode = 'js-contents';
11256          break;
11257      }
11258      // Begin Upstream Messaging Implementation
11259      const cartPageMessaging = document.createElement('div');
11260      const price = 0 / 100;
11261
11262      const cartPageAttributes = {
11263        'id': 'paypal-upstream-messaging-cart-page',
11264        'data-pp-message': '',
11265        'data-pp-placement': 'cart',
11266        'data-pp-style-layout': 'text',
11267        'data-pp-style-text-align': 'right',
11268        'data-pp-style-logo-type': "inline",
11269        'data-pp-style-text-color': "black",
11270        'data-pp-style-text-size': "12",
11271        'data-pp-style-logo-position': "",
11272        'data-pp-style-text-align': "",
11273        'data-pp-amount': price,
11274        'style': 'padding-top: 10px',
11275      };
11276
11277      Object.keys(cartPageAttributes).forEach((key) => {
11278        cartPageMessaging.setAttribute(key, cartPageAttributes[key]);
11279      });
11280
11281      const advancedSettingsEnabled = 'false' === 'true';
11282      let selectorNotFoundWarning = null;
11283
11284      if (advancedSettingsEnabled && '' !== '') {
11285        // utils.liquid
11286        cartPageLocator = parseSelector('');
11287      }
11288
11289      if ("enabled" === 'enabled') {
11290        const element = document.querySelector(cartPageLocator);
11291
11292        if (element) {
11293          element.after(cartPageMessaging.cloneNode());
11294
11295          if (advancedSettingsEnabled && isIsolatedContext()) {
11296            setTimeout(() => {
11297              createNavigationPanel(element, cartPageMessaging, null, 'Cart Page');
11298            }, 500);
11299          }
11300
11301          // utils.liquid
11302          watchForCartChanges(cartPageLocator, cartPageMessaging);
11303        } else if (advancedSettingsEnabled && isIsolatedContext()) {
11304          selectorNotFoundWarning = 'Selected placement not found on this page. Please choose an element that is present on all page templates.';
11305          recordEvent('appEmbed:advanced-settings-selector-not-found', { locator: cartPageLocator });
11306          setTimeout(() => {
11307            createNavigationPanel(document.body, cartPageMessaging, selectorNotFoundWarning, 'Cart Page');
11308          }, 500);
11309        }
11310      }
11311    } catch (e) {
11312      // utils.liquid
11313      recordEvent('appEmbed:query-selector-not-found-cart-page', { locator: cartPageLocator, error: e.message });
11314    }
11315  </script>
11315
11316<!-- END app snippet --><!-- BEGIN app snippet: cartDrawer -->
11316<script>
11317    // Determine correct locator by theme name
11318    const cartDrawerThemeName = window.Shopify.theme.name;
11319    let cartDrawerLocator, cartDrawerNodeToObserve, cartDrawerMutationNode;
11320
11321    switch (cartDrawerThemeName) {
11322      // to support other themes add cases
11323      // default case supports Shopify Free themes
11324      default:
11325        cartDrawerLocator = '.cart-drawer__footer .totals';
11326        cartDrawerNodeToObserve = '#CartDrawer';
11327        cartDrawerMutationNode = 'drawer__inner';
11328        break;
11329    }
11330    // Begin Upstream Messaging Implementation
11331    try {
11332      const cartDrawerMessaging = document.createElement('div');
11333      const price = 0 / 100;
11334
11335      const cartDrawerAttributes = {
11336        'id': 'paypal-upstream-messaging-cart-drawer',
11337        'data-pp-message': '',
11338        'data-pp-placement': 'cart',
11339        'data-pp-style-layout': 'text',
11340        'data-pp-style-text-align': 'right',
11341        'data-pp-style-logo-type': "inline",
11342        'data-pp-style-text-color': "black",
11343        'data-pp-style-text-size': "12",
11344        'data-pp-style-logo-position': "",
11345        'data-pp-amount': price,
11346      };
11347
11348      Object.keys(cartDrawerAttributes).forEach((key) => {
11349        cartDrawerMessaging.setAttribute(key, cartDrawerAttributes[key]);
11350      });
11351
11352      const advancedSettingsEnabled = 'false' === 'true';
11353      const customCartDrawerSelector = ''.trim();
11354
11355      if (advancedSettingsEnabled && customCartDrawerSelector !== '') {
11356        // utils.liquid
11357        cartDrawerLocator = parseSelector(customCartDrawerSelector);
11358      }
11359
11360      if ("enabled" === 'enabled') {
11361        waitForElement(cartDrawerLocator).then(elem => {
11362          elem.after(cartDrawerMessaging.cloneNode());
11363
11364          if (advancedSettingsEnabled && isIsolatedContext() && !document.getElementById('pp-nav-panel')) {
11365            let drawerPanelActive = false;
11366            new IntersectionObserver((entries) => {
11367              if (entries[0].isIntersecting) {
11368                if (!document.getElementById('pp-nav-panel')) {
11369                  setTimeout(() => {
11370                    if (!document.getElementById('pp-nav-panel')) {
11371                      createNavigationPanel(elem, cartDrawerMessaging, null, 'Cart Drawer');
11372                      drawerPanelActive = true;
11373                    }
11374                  }, 300);
11375                }
11376              } else if (drawerPanelActive) {
11377                destroyNavigationPanel();
11378                drawerPanelActive = false;
11379              }
11380            }, { threshold: 0.1 }).observe(elem);
11381          }
11382        });
11383
11384        // Custom selector not found — show navigator with warning when drawer opens
11385        if (advancedSettingsEnabled && customCartDrawerSelector && !document.querySelector(cartDrawerLocator) && isIsolatedContext() && !document.getElementById('pp-nav-panel')) {
11386          const drawerContainer = document.querySelector(cartDrawerNodeToObserve);
11387          if (drawerContainer) {
11388            let warningPanelActive = false;
11389            const warning = 'Selected placement not found on this page. Please choose an element that is present on all page templates.';
11390            recordEvent('appEmbed:advanced-settings-selector-not-found', { locator: cartDrawerLocator });
11391            new IntersectionObserver((entries) => {
11392              if (entries[0].isIntersecting) {
11393                if (!document.getElementById('pp-nav-panel')) {
11394                  setTimeout(() => {
11395                    if (!document.getElementById('pp-nav-panel')) {
11396                      createNavigationPanel(drawerContainer, cartDrawerMessaging, warning, 'Cart Drawer');
11397                      warningPanelActive = true;
11398                    }
11399                  }, 300);
11400                }
11401              } else if (warningPanelActive) {
11402                destroyNavigationPanel();
11403                warningPanelActive = false;
11404              }
11405            }, { threshold: 0.1 }).observe(drawerContainer);
11406          }
11407        }
11408
11409        // utils.liquid
11410        watchForCartChanges(cartDrawerLocator, cartDrawerMessaging);
11411      }
11412    } catch (e) {
11413      // utils.liquid
11414      recordEvent('appEmbed:query-selector-not-found-cart-drawer', { locator: cartDrawerLocator, error: e.message });
11415    }
11416  </script>
11416
11417<!-- END app snippet -->
11418
11419
11420</div><div id="shopify-block-AU0krZXZzNkZxNXNZZ__5394799768760407377" class="shopify-block shopify-app-block"><style>
11421  .rq-whatsapp-chat-container {
11422    font-size: 45px;
11423    bottom: 25px;
11424    
11425      right: 25px;
11426    
11427  }
11428
11429  .rq-whatsapp-chat-container span {
11430    background-color: #ffffff;
11431    color: #94814c;
11432  }
11433
11434
11435  
11436  @media screen and (max-width: 768px){
11437    .rq-whatsapp-chat-container {
11438      font-size: 45px;
11439      bottom: 68px;
11440      
11441        right: 4px;
11442      
11443    }
11444  }
11445</style>
11446
11447
11448<div
11449  
11450    class="align-right rq-whatsapp-chat-container none"
11451  
11452>
11453  <a
11454    target="_blank"
11455    
11456  >
11457    
11458      <span>Beratung</span>
11459    
11460    <div style="--pulse-color: #ffffff !important;">
11461      <svg
11462        viewBox="0 0 69.45 69.45"
11463        xmlns="http://www.w3.org/2000/svg"
11464        style="width: 45px !important; height: 45px !important;"
11465      >
11466        <g data-name="Layer 2">
11467          <g data-name="Layer 1">
11468            <circle
11469              cx="34.72"
11470              cy="34.72"
11471              r="34.72"
11472              fill="#ffffff"
11473              stroke="none"
11474            />
11475            <path
11476              d="M53.8 33.76a18.74 18.74 0 0 0-37.45-.34v.81A18.49 18.49 0 0 0 19 43.84l-3.37 10L26 50.52a18.77 18.77 0 0 0 27.81-16.29c0-.16 0-.31-.01-.47ZM35.07 49.87a15.71 15.71 0 0 1-8.67-2.59l-6 1.93 2-5.81a15.53 15.53 0 0 1-3-9.17c0-.51 0-1 .08-1.52a15.76 15.76 0 0 1 31.38.3c0 .41.06.81.06 1.22a15.71 15.71 0 0 1-15.85 15.64Z"
11477              fill="#94814c"
11478              fill-rule="evenodd"
11479              stroke="none"
11480            />
11481            <path
11482              d="M43.66 38c-.47-.23-2.72-1.34-3.14-1.49s-.73-.22-1 .23-1.23 1.48-1.52 1.77-.54.35-1 .12a12.36 12.36 0 0 1-3.7-2.27 13.37 13.37 0 0 1-2.55-3.15c-.26-.45 0-.7.2-.93s.46-.53.69-.79a2.65 2.65 0 0 0 .17-.22 4 4 0 0 0 .29-.55.83.83 0 0 0 0-.8c-.12-.22-1-2.47-1.43-3.38s-.76-.76-1-.76h-.88a1.68 1.68 0 0 0-1.23.57 5.12 5.12 0 0 0-1.6 3.81 5.45 5.45 0 0 0 .24 1.55 10.11 10.11 0 0 0 1.64 3.16c.22.3 3.17 5.05 7.84 6.89s4.68 1.21 5.52 1.13a4.56 4.56 0 0 0 3.09-2.17 3.82 3.82 0 0 0 .28-2.17c-.15-.22-.45-.33-.91-.55Z"
11483              fill="#94814c"
11484              fill-rule="evenodd"
11485              stroke="none"
11486            />
11487          </g>
11488        </g>
11489      
11490        
11491</svg>
11492    </div>
11493  </a>
11494</div>
11495
11496
11497<script>
11498(function () {
11499
11500  // Prevent running in Shopify Admin or Theme Editor
11501  try {
11502    if (
11503      window.top !== window &&
11504      window.top.location.hostname.includes('admin.shopify.com')
11505    ) {
11506      return;
11507    }
11508  } catch (e) {
11509    return;
11510  }
11511
11512  /* --------------------------
11513     Shopify Visitor API
11514  ---------------------------*/
11515  function registerShopifyVisitorFromUrl() {
11516    const urlParams = new URLSearchParams(window.location.search);
11517    const phone = urlParams.get('phone')?.trim();
11518    const appId = urlParams.get('appId')?.trim();
11519
11520    if (!phone || !appId || !window.Shopify?.analytics?.visitor) return;
11521
11522    try {
11523      window.Shopify.analytics.visitor(
11524        { phone },
11525        { appId }
11526      );
11527    } catch (error) {
11528      console.error('Unable to register Shopify visitor:', error);
11529    }
11530  }
11531
11532  registerShopifyVisitorFromUrl();
11533
11534  const COOKIE_NAME = 'rq_whatsapp_analytics';
11535  const SHOP_DOMAIN = 'ahsvz2-1w.myshopify.com';
11536  const today = new Date().toISOStr
11536ing().slice(0, 10);
11537
11538  /* --------------------------
11539     Cookie Helpers
11540  ---------------------------*/
11541  function getCookie(name) {
11542    const value = `; ${document.cookie}`;
11543    const parts = value.split(`; ${name}=`);
11544    if (parts.length === 2) return parts.pop().split(';').shift();
11545    return null;
11546  }
11547
11548  function setCookie(name, value) {
11549    const expires = new Date();
11550    expires.setTime(expires.getTime() + 2 * 24 * 60 * 60 * 1000); // 2 days
11551    document.cookie =
11552      `${name}=${value}; expires=${expires.toUTCString()}; path=/; SameSite=Lax`;
11553  }
11554
11555  /* --------------------------
11556     Initialize analytics object
11557  ---------------------------*/
11558  let analytics = {};
11559  try {
11560    analytics = JSON.parse(getCookie(COOKIE_NAME) || '{}');
11561  } catch (e) {
11562    analytics = {};
11563  }
11564
11565  if (!analytics[today]) {
11566    analytics[today] = { impression: false, clicks: 0 };
11567  }
11568
11569  function saveAnalytics() {
11570    setCookie(COOKIE_NAME, JSON.stringify(analytics));
11571  }
11572
11573  /* --------------------------
11574     IMPRESSION LOGIC (DELAY + USER INTERACTION)
11575  ---------------------------*/
11576
11577  let interactionDetected = false;
11578  let impressionTriggered = false;
11579
11580  // Called after interaction + delay
11581  function fireImpression() {
11582    if (impressionTriggered) return;
11583    impressionTriggered = true;
11584    console.log("🔥 Firing impression for:", SHOP_DOMAIN, "Date:", today);
11585    analytics[today].impression = true;
11586    saveAnalytics();
11587
11588    fetch(`https://app.retentionly.io/whatsapp/default/call/json/registerStore?type=33dgfa&sh=${SHOP_DOMAIN}`, {
11589      method: "POST",
11590      headers: { "Content-Type": "application/json" },
11591      body: JSON.stringify({ domain: SHOP_DOMAIN })
11592    });
11593  }
11594
11595  // When user interacts (scroll, click, mousemove, touchstart)
11596  function userInteracted() {
11597    if (interactionDetected) return;
11598    interactionDetected = true;
11599    //console.log("🟢 User interaction detected — starting 10s delay");
11600    // Delay 10 seconds BEFORE firing impression
11601    setTimeout(() => {
11602      //console.log("⏳ 10 seconds passed — preparing to fire impression");
11603      if (!analytics[today].impression) {
11604        fireImpression();
11605      }
11606    }, 10000);
11607  }
11608
11609  // Attach interaction listeners
11610  ["click", "scroll", "mousemove", "touchstart"].forEach(evt => {
11611    window.addEventListener(evt, userInteracted, { once: true, passive: true });
11612  });
11613
11614  /* --------------------------
11615     CLICK TRACKING
11616  ---------------------------*/
11617  function trackClick() {
11618    analytics[today].clicks += 1;
11619    saveAnalytics();
11620
11621    fetch(`https://app.retentionly.io/whatsapp/default/call/json/registerStore?type=23xmxs`, {
11622      method: "POST",
11623      headers: { "Content-Type": "application/json" },
11624      body: JSON.stringify({ domain: "ahsvz2-1w.myshopify.com" })
11625    });
11626  }
11627
11628  //console.log("🔍 WhatsApp Debug");
11629  //console.log("Current Path:", "/cart");
11630  //console.log("Hide Paths Raw:", "");
11631  //console.log("Should Hide Button:", false);
11632
11633
11634  /* --------------------------
11635     Initialize WhatsApp Widget
11636  ---------------------------*/
11637  function initWhatsAppWidget() {
11638    const whatsappLink = document.querySelector('.rq-whatsapp-chat-container a');
11639    if (!whatsappLink) return;
11640
11641    let updatedMessage = `Hallo, Ich habe eine Anfrage `;
11642    if (false) {
11643      updatedMessage = updatedMessage.trim() + ' ' + window.location.href;
11644    }
11645
11646    const encodedMessage = encodeURIComponent(updatedMessage);
11647    whatsappLink.href = `https://api.whatsapp.com/send?phone=493075435644&text=${encodedMessage}`;
11648
11649    whatsappLink.setAttribute('data-source', "whatsapp_number_metafield");
11650
11651    whatsappLink.addEventListener('click', function () {
11652      trackClick();
11653      window.open(whatsappLink.href, '_blank');
11654    });
11655  }
11656
11657  if (document.readyState === 'loading') {
11658    document.addEventListener('DOMContentLoaded', initWhatsAppWidget);
11659  } else {
11660    initWhatsAppWidget();
11661  }
11662
11663})();
11664</script>
11664
11665
11666
11667</div>
11667<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
11667
11668</body>
11669</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.