PageSourceSearch

https://echt-vital.de/account/login

html echt-vital.de collected 2026-10-04 14:08:50 UTC 579,013 bytes, 10,987 lines download raw bytes

1<!DOCTYPE html>
2<html lang="de-DE"
3      itemscope="itemscope"
4      itemtype="https://schema.org/WebPage">
5
6
7        
8                            
9    <head>
10            
11                                                    <meta charset="utf-8">
12            
13
14        
14<script>
15        window.dataLayer = window.dataLayer || [];
16        function gtag(){dataLayer.push(arguments);}
17
18        // Falls User bereits Consent gegeben hat, Default reflektieren (sonst würden nachfolgende update-Calls "zurückgesetzt" wirken)
19        var cookiePref = (document.cookie || '').match(/cookie-preference=([^;]+)/);
20        var dtgsAllow = (document.cookie || '').match(/dtgsAllowGtmTracking=([^;]+)/);
21        var adsEnabled = (document.cookie || '').match(/google-ads-enabled=([^;]+)/);
22
23        var analyticsGranted = dtgsAllow && dtgsAllow[1] === '1';
24        var adsGranted = adsEnabled && adsEnabled[1] === '1';
25
26        gtag('consent', 'default', {
27            'ad_storage': adsGranted ? 'granted' : 'denied',
28            'ad_user_data': adsGranted ? 'granted' : 'denied',
29            'ad_personalization': adsGranted ? 'granted' : 'denied',
30            'analytics_storage': analyticsGranted ? 'granted' : 'denied',
31            'functionality_storage': 'granted',
32            'security_storage': 'granted',
33            'wait_for_update': 500
34        });
35
36        // Falls noch kein Consent: default=denied bleibt bis Dreisc-Plugin updated
37        // Falls Consent schon granted: default reflektiert bereits granted — keine Luecke
38    </script>
38
39
40        
40<script>window.evCustomerLoggedIn = false;window.evCustomerFirstName = null;</script>
40
41
42                            <meta name="viewport"
43                      content="width=device-width, initial-scale=1, shrink-to-fit=no">
44            
45                                <meta name="author"
46                      content="">
47                <meta name="robots"
48                      content="noindex,follow">
49                <meta name="revisit-after"
50                      content="15 days">
51                <meta name="keywords"
52                      content="">
53                <meta name="description"
54                      content="">
55            
56    <link rel="alternate"
57          type="application/rss+xml"
58          title="Blog Feed"
59          href="/blog.rss" />
60
61                        
62                                                                    <meta property="og:url"
63                          content="https://echt-vital.de/account/login">
64                    <meta property="og:type"
65                          content="website">
66                    <meta property="og:site_name"
67                          content="Echt Vital">
68                    <meta property="og:title"
69                          content="Registrierung | Echt Vital">
70                    <meta property="og:description"
71                          content="">
72                    <meta property="og:image"
73                          content="https://echtvital.cstatic.com/media/7f/d3/88/1679934207/ev-logo.webp?ts=1679934207">
74
75                    <meta name="twitter:card"
76                          content="summary">
77                    <meta name="twitter:site"
78                          content="Echt Vital">
79                    <meta name="twitter:title"
80                          content="Registrierung | Echt Vital">
81                    <meta name="twitter:description"
82                          content="">
83                    <meta name="twitter:image"
84                          content="https://echtvital.cstatic.com/media/7f/d3/88/1679934207/ev-logo.webp?ts=1679934207">
85                            
86    
87    
88
89                        <meta name="facebook-domain-verification" content="qvzlx7x3bqymxo2b3oscdf3f2xm8yy" />
90            
91                                <meta itemprop="copyrightHolder"
92                      content="Echt Vital">
93                <meta itemprop="copyrightYear"
94                      content="">
95                <meta itemprop="isFamilyFriendly"
96                      content="true">
97                <meta itemprop="image"
98                      content="https://echtvital.cstatic.com/media/7f/d3/88/1679934207/ev-logo.webp?ts=1679934207">
99            
100    
101                                            <meta name="theme-color"
102                      content="#ffffff">
103                            
104                                                
105
106                        
107
108
109<!-- Google Tag Manager -->
110<script>!function(){"use strict";function l(e){for(var t=e,r=0,n=document.cookie.split(";");r<n.length;r++){var o=n[r].split("=");if(o[0].trim()===t)return o[1]}}function s(e){return localStorage.getItem(e)}function u(e){return window[e]}function A(e,t){e=document.querySelector(e);return t?null==e?void 0:e.getAttribute(t):null==e?void 0:e.textContent}var e=window,t=document,r="script",n="dataLayer",o="https://t.echt-vital.de",a="",i="chtlwgdqv",c="2kz=HxVZICMhWSY1PDNeIz43TgBMVklGShAGSxQHDwNBAgECEAhJEwk%3D",g="cookie",v="_y",E="",d=!1;try{var d=!!g&&(m=navigator.userAgent,!!(m=new RegExp("Version/([0-9._]+)(.*Mobile)?.*Safari.*").exec(m)))&&16.4<=parseFloat(m[1]),f="stapeUserId"===g,I=d&&!f?function(e,t,r){void 0===t&&(t="");var n={cookie:l,localStorage:s,jsVariable:u,cssSelector:A},t=Array.isArray(t)?t:[t];if(e&&n[e])for(var o=n[e],a=0,i=t;a<i.length;a++){var c=i[a],c=r?o(c,r):o(c);if(c)return c}else console.warn("invalid uid source",e)}(g,v,E):void 0;d=d&&(!!I||f)}catch(e){console.error(e)}var m=e,g=(m[n]=m[n]||[],m[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"}),t.getElementsByTagName(r)[0]),v=I?"&bi="+encodeURIComponent(I):"",E=t.createElement(r),f=(d&&(i=8<i.length?i.replace(/([a-z]{8}$)/,"kp$1"):"kp"+i),!d&&a?a:o);E.async=!0,E.src=f+"/"+i+".js?"+c+v,null!=(e=g.parentNode)&&e.insertBefore(E,g)}();</script>
110
111<!-- End Google Tag Manager -->
112
113
114
115
116<!-- eTrusted Performance-Optimierung -->
117<link rel="dns-prefetch" href="//integrations.etrusted.com">
118<link rel="preconnect" href="https://integrations.etrusted.com" crossorigin>
119
120<script defer src="https://integrations.etrusted.com/applications/widget.js/v2"></script>
120
121
122
123
124
125            
126
127            
128            
129
130                
131            
132
133
134                
135                    <link rel="icon" href="https://echtvital.cstatic.com/media/29/e7/c4/1687418881/Symbol.png?ts=1687418881">
136        
137                                <link rel="apple-touch-icon"
138                  href="https://echtvital.cstatic.com/media/b4/4b/d1/1751009062/Echt-Vital-favicon.png?ts=1753343691">
139                    
140        
141                    <title itemprop="name">
142                Registrierung | Echt Vital            </title>
143        
144                                                                                                    <link rel="stylesheet"
145                      href="https://echt-vital.de/theme/22a6e1aac2fe165c1833ba04f861f4c2/css/all.css?1790851198">
146                                    
147
148                                        <style>
149                    /* ============================================================
150   ECHT-VITAL GLOBALES CSS – SORTIERT & KOMMENTIERT
151   ============================================================ */
152
153
154/* ************************************************************
155   ABSCHNITT 2: CHECKOUT HEADER (Minimal-Header)
156   ************************************************************ */
157
158/* Hotline/Kontakt im Checkout ausblenden */
159body.is-ctl-checkout.is-act-confirmpage .header-minimal-contact,
160body.is-ctl-onepagecheckout.is-act-checkoutregisterpage .header-minimal-contact {
161    display: none !important;
162}
163
164/* Logo + Zurück-Button je 50% Breite */
165body.is-ctl-checkout.is-act-confirmpage .header-minimal-logo,
166body.is-ctl-checkout.is-act-confirmpage .header-minimal-back-to-shop,
167body.is-ctl-onepagecheckout.is-act-checkoutregisterpage .header-minimal-logo,
168body.is-ctl-onepagecheckout.is-act-checkoutregisterpage .header-minimal-back-to-shop {
169    flex: 0 0 50% !important;
170    max-width: 50% !important;
171}
172
173/* AGB-Checkbox oben im One-Page-Checkout ausblenden */
174.one-page-checkout[data-uri="/checkout/confirm"] > .confirm-tos {
175    display: none !important;
176}
177
178
179/* ************************************************************
180   ABSCHNITT 3: SUCHE
181   ************************************************************ */
182
183/* Suchfeld zentrieren */
184.header-search-col {
185    justify-content: center;
186}
187
188@media (min-width: 576px) {
189    .header-search {
190        width: 500px;
191    }
192}
193
194/* Pfeil bei Suchergebnissen entfernen */
195.search-suggest.js-search-result::after {
196    display: none !important;
197}
198
199
200/* ************************************************************
201   ABSCHNITT 4: LAYOUT & CONTAINER
202   ************************************************************ */
203
204/* Hauptcontainer Padding */
205.container-main {
206    padding: 0px !important;
207    padding-bottom: 20px;
208}
209
210/* Hero-Block Fullbleed */
211.ev-hero-fullbleed {
212    width: 100vw;
213    margin-left: calc(50% - 50vw);
214    margin-right: calc(50% - 50vw);
215}
216
217/* Offcanvas z-index (Warenkorb etc.) */
218.offcanvas {
219    z-index: 3333333333;
220}
221
222
223/* ************************************************************
224   ABSCHNITT 5: BUTTONS
225   ************************************************************ */
226
227/* Primär-Button abgerundet */
228.btn-primary {
229    border-radius: 20px;
230}
231
232/* Produkt-Detail-Button Styling */
233.card.product-box.box-minimal .product-button-detail,
234.card.product-box.box-standard .product-button-detail {
235    background-color: transparent !important;
236    color: #36442d !important;
237    border: 2px solid #36442d !important;
238    border-radius: 50px !important;
239    margin-top: 10px;
240    font-size: 0.8rem !important;
241    text-decoration: none !important;
242    z-index: 2 !important;
243    position: relative !important;
244}
245
246/* z-index Fix für Detail-Button */
247.card.product-box.box-standard .product-button-detail {
248    z-index: 1 !important;
249}
250
251
252/* ************************************************************
253   ABSCHNITT 6: PRODUKTBOXEN & SLIDER
254   ************************************************************ */
255
256/* Produktpreis Mindestbreite */
257.product-box .card-body .product-info .product-price-info {
258    min-width: 60px !important;
259}
260
261/* Stretched-Link Höhe */
262.product-box.box-standard .stretched-link::after,
263.product-box.box-minimal .stretched-link::after {
264    height: 100%;
265}
266
267/* Slider Container Padding */
268.cms-element-product-slider .product-slider-container > div {
269    padding-right: 10px !important;
270}
271
272/* Mobile Kategorien Slider zentrieren */
273.tanmar-mobile-categories-desktop .product-slider-container {
274    margin-left: auto;
275    margin-right: auto;
276}
277
278@media (max-width: 768px) {
279    .product-slider-container .card.product-box.box-standard {
280        margin: inherit;
281    }
282}
283
284
285/* ************************************************************
286   ABSCHNITT 7: PRODUKTLISTING (Kategorieseiten)
287   ************************************************************ */
288
289/* Hintergrund Warenkorb-Button */
290.ev-product-listing-bg .product-box .card-body .product-info .product-action .d-grid {
291    background-color: #f2f1ec;
292}
293
294@media (max-width: 768px) {
295    /* Produkttitel max. Breite */
296    .cms-listing-col .product-title {
297        max-width: 111px !important;
298    }
299
300    /* Listing-Abstand */
301    .cms-listing-col {
302        margin-bottom: 20px !important;
303    }
304
305    /* Produktbilder Höhe & Padding */
306    .cms-element-product-listing .card.product-box.box-minimal .product-image-wrapper .product-image,
307    .cms-element-product-listing .card.product-box.box-standard .product-image-wrapper .product-image {
308        height: 150px !important;
309    }
310
311    .cms-element-product-listing .card.product-box.box-minimal .product-image-wrapper,
312    .cms-element-product-listing .card.product-box.box-standard .product-image-wrapper {
313        padding: 0px;
314        padding-top: 30px;
315    }
316}
317
318
319/* ************************************************************
320   ABSCHNITT 8: PRODUKTDETAILSEITE (Buy-Box)
321   ************************************************************ */
322
323/* Buy-Box Titel */
324.ev-buy-box .ev-gallery-buy .cms-row .product-detail-buy .ev-product-title h1 {
325    font-size: 1.6em;
326}
327
328/* Galerie-Slider Dot-Icon Fix */
329.ev-buy-box .ev-gallery-buy .cms-row .product-detail-media .base-slider-dots .base-slider-dot .icon svg {
330    top: -0.9px !important;
331}
332
333/* Galerie zentrieren */
334.ev-buy-box .ev-gallery-buy .cms-row .product-detail-media .cms-element-image-gallery .gallery-slider-image {
335    margin: auto !important;
336}
337
338/* Trustpilot Rating Mindesthöhe */
339.ev-buy-box .product-detail-buy .ts-rating {
340    min-height: 27px !important;
341}
342
343/* Galerie Ladeflackern verhindern */
344.ev-buy-box .product-detail-media:not(.is-ready) .gallery-slide {
345    display: none;
346}
347
348.ev-buy-box .product-detail-media:not(.is-ready) .gallery-slide:first-child {
349    display: block;
350}
351
352/* Mobil: Buy-Box Abstand oben */
353@media screen and (max-width: 600px) {
354    .ev-buy-box {
355        margin-top: -12px;
356    }
357}
358
359/* Zoom-Modal über Navigation */
360.modal.zoom-modal {
361    overflow: hidden;
362    z-index: 9999 !important;
363}
364
365/* Image-Zoom Container */
366.image-zoom-container img {
367    height: auto !important;
368    width: auto !important;
369}
370
371
372/* ************************************************************
373   ABSCHNITT 9: PRODUKTVORTEILE (Icons)
374   ************************************************************ */
375
376@media screen and (max-width: 768px) {
377    .left-aligned-advantages .ev-product-advantages .boxev-group .boxev-item img {
378        margin-bottom: 10px;
379    }
380
381    .left-aligned-advantages .ev-product-advantages .boxev-group .boxev-item .boxev-item-descr {
382        text-align: center;
383    }
384
385    .ev-product-advantages {
386        padding: 0px !important;
387        padding-top: 30px;
388    }
389
390    .left-aligned-advantages .ev-product-advantages .boxev-group .boxev-item {
391        display: block;
392        width: 50%;
393        min-width: 50%;
394        padding: 5px;
395    }
396
397    .boxev-item-descr {
398        text-align: center;
399    }
400}
401
402
403/* ************************************************************
404   ABSCHNITT 10: STICKY BUY WIDGET (Mobil)
405   ************************************************************ */
406
407@media screen and (max-width: 768px) {
408    .rhweb-product-sticky-buy-widget * {
409        border-radius: 99px;
410    }
411
412    .rhweb-product-sticky-buy-widget {
413        z-index: 9999999999 !important;
414    }
415
416    .rhweb-product-sticky-buy-widget-form .col-5 {
417        max-width: 30% !important;
418    }
419}
420
421
422/* ************************************************************
423   ABSCHNITT 11: BESTSELLER SEKTION
424   ************************************************************ */
425
426.ev-bestseller {
427    padding-top: 80px;
428}
429
430.ev-bestseller .bestseller-content .bestseller-product-box .bestseller-product-img .product-img {
431    width: 260px;
432}
433
434.bestseller-product-box {
435    margin-top: 20px;
436    margin-bottom: 20px;
437}
438
439@media (max-width: 767.98px) {
440    .ev-bestseller .bestseller-product-img {
441        max-width: 100%;
442    }
443}
444
445@media (max-width: 768px) {
446    .ev-bestseller-slider-start #tns2-iw,
447    .ev-bestseller-slider-start #tns1-iw {
448        margin: 0px 130px 0px 0px;
449    }
450
451    .ev-bestseller-slider-start .cms-section-default {
452        padding-right: 0px !important;
453    }
454}
455
456
457/* ************************************************************
458   ABSCHNITT 12: CROSS-SELLING SLIDER
459   ************************************************************ */
460
461@media (max-width: 768px) {
462    .ev-cross-slider #tns2-iw {
463        margin: 0px 100px 0px 0px;
464    }
465}
466
467
468/* ************************************************************
469   ABSCHNITT 13: KATEGORIESEITEN
470   ************************************************************ */
471
472/* Kategorie-Block abgerundet */
473.ev-category {
474    border-bottom-right-radius: 50px;
475    border-bottom-left-radius: 50px;
476}
477
478/* Kategorie-Start zentrieren */
479@media (min-width: 992px) {
480    .ev-category-start .justify-content-lg-between {
481        justify-content: center !important;
482    }
483}
484
485/* Kategorie-Footer Abstand */
486.ev-category-footer {
487    margin-bottom: -50px;
488}
489
490/* Badge Kategorie Titel mobil */
491@media (max-width: 768px) {
492    .badge-rotated h1 {
493        font-size: 1.5rem !important;
494        line-height: 2.2rem;
495    }
496}
497
498
499/* ************************************************************
500   ABSCHNITT 14: AKTIONEN / BANNER
501   ************************************************************ */
502
503.ev-aktionen-banner {
504    margin-bottom: 80px;
505    border-bottom-right-radius: 50px;
506    border-bottom-left-radius: 50px;
507}
508
509.ev-aktion-banner img {
510    border-radius: 30px;
511}
512
513.ev-aktionen-banner .cms-image {
514    border-radius: 30px;
515    margin-bottom: 30px;
516}
517
518.ev-aktionen-banner-block {
519    padding-bottom: 60px;
520}
521
522/* Aktionen Badge */
523.ev-aktionen-badge .badge-rotated {
524    padding: 1.3rem;
525    font-weight: 600;
526    color: white;
527    transform: rotate(-2deg);
528    transform-origin: top left;
529    z-index: 10;
530    border-radius: 20px;
531    width: fit-content;
532}
533
534.ev-aktionen-badge .badge-rotated.no-index {
535    z-index: 0;
536}
537
538.ev-aktionen-badge .badge-rotated h1 {
539    color: white;
540    font-style: italic;
541    margin-bottom: 0;
542    text-transform: uppercase;
543}
544
545
546/* ************************************************************
547   ABSCHNITT 15: EVITAL SLIDER (Startseite)
548   ************************************************************ */
549
550.evital-slider .evital-slide__image img {
551    max-width: auto;
552    padding-right: 50px;
553    padding-top: 30px;
554    padding-bottom: 30px;
555}
556
557.evital-slider .evital-slide__inner {
558    padding: 0px;
559}
560
561.evital-slider .evital-slide__image {
562    margin-top: auto;
563    text-align: left;
564}
565
566@media (max-width: 768px) {
567    .evital-slider .evital-slide__image img {
568        padding-top: 20px;
569        padding-right: 0px;
570    }
571}
572
573/* Custom Dotnav ausblenden */
574.custom-dotnav {
575    display: none;
576}
577
578
579/* ************************************************************
580   ABSCHNITT 16: KARTEN MIT BADGE
581   ************************************************************ */
582
583.card-with-badge {
584    width: 370px;
585}
586
587.card-with-badge .card-content {
588    height: 400px;
589}
590
591
592/* ************************************************************
593   ABSCHNITT 17: STORY / ZIGZAG BLÖCKE
594   ************************************************************ */
595
596.ev-story-bild img {
597    vertical-align: middle;
598    max-width: 170px;
599}
600
601.zigzag-story-block .zigzag-bg-image {
602    top: 10px;
603}
604
605.zigzag-story-block .custom-paragraph-block {
606    font-size: 20px;
607}
608
609@media (max-width: 768px) {
610    .zigzag-story-block {
611        margin: 0px;
612    }
613}
614
615
616/* ************************************************************
617   ABSCHNITT 18: CUSTOM ENERGY SEKTION
618   ************************************************************ */
619
620@media (max-width: 768px) {
621    .custom-energy h2.main-title,
622    .custom-energy .main-title.h2 {
623        font-size: 35px !important;
624    }
625
626    .custom-energy {
627        padding: 0px;
628    }
629}
630
631
632/* ************************************************************
633   ABSCHNITT 19: FAQ
634   ************************************************************ */
635
636.ev-faq {
637    max-width: 560px !important;
638    margin: auto;
639}
640
641
642/* ************************************************************
643   ABSCHNITT 20: SEO TEXT
644   ************************************************************ */
645
646.ev-seo-text {
647    margin-top: 50px;
648    margin-bottom: 30px;
649    color: #36432D;
650}
651
652.ev-seo-text h2 {
653    font-weight: 700;
654    color: #36432D;
655    font-size: 1.2em;
656}
657
658
659/* ************************************************************
660   ABSCHNITT 21: UNSER STANDARD SEKTION
661   ************************************************************ */
662
663.our-standard {
664    max-width: 1120px;
665    margin: auto;
666}
667
668
669/* ************************************************************
670   ABSCHNITT 22: HERO (Startseite)
671   ************************************************************ */
672
673@media screen and (min-width: 2200px) {
674    .ev-hero .cms-section-default .cms-element-image .cms-element-alignment {
675        text-align: center;
676    }
677}
678
679
680/* ************************************************************
681   ABSCHNITT 23: YOUTUBE VIDEO
682   ************************************************************ */
683
684.startytvideo {
685    width: 50%;
686    max-width: 960px;
687    margin: 0 auto;
688}
689
690.startytvideo iframe {
691    width: 100% !important;
692    height: auto !important;
693    aspect-ratio: 16/9;
694    display: block;
695    border: 0;
696}
697
698/* Runde Ecken */
699.cms-element-youtube-video.startytvideo iframe,
700.startytvideo .cms-element-youtube-video iframe {
701    border-radius: 20px !important;
702}
703
704@media (max-width: 768px) {
705    .startytvideo {
706        width: 100%;
707        max-width: none;
708    }
709}
710
711/* Mobil Fullbleed */
712@media (max-width: 480px) {
713    .startytvideo {
714        width: 100vw !important;
715        margin-left: calc(50% - 50vw) !important;
716        margin-right: calc(50% - 50vw) !important;
717        border-radius: 0 !important;
718    }
719
720    .startytvideo iframe {
721        border-radius: 0 !important;
722    }
723}
724
725
726/* ************************************************************
727   ABSCHNITT 24: BLOG
728   ************************************************************ */
729
730.blog-detail-text {
731    max-width: 750px;
732    margin: auto;
733    padding-bottom: 80px;
734}
735
736.blog-detail-text img {
737    border-radius: 20px;
738}
739
740.netzp-blog6-post img.image-full {
741    border-radius: 20px;
742}
743
744
745/* ************************************************************
746   ABSCHNITT 25: NEWSLETTER
747   ************************************************************ */
748
749/* Newsletter im Footer ausblenden */
750.rhweb-newsletter.footer-above {
751    display: none;
752}
753
754/* Newsletter Signup Box */
755.qx-newsletter-signup-box {
756    max-width: 1000px !important;
757    min-height: 500px !important;
758}
759
760.qx-newsletter-signup-box .qx-newsletter-text p:last-of-type {
761    margin-bottom: 0px;
762}
763
764@media (max-width: 768px) {
765    .ev-footer-newsletter-merge {
766        margin-left: -20px;
767        margin-right: -20px;
768    }
769
770    .qx-newsletter-text {
771        padding-left: 0px !important;
772        padding-right: 0px !important;
773    }
774
775    .qx-newsletter-text-headline {
776        padding-left: 15px;
777        padding-right: 15px;
778    }
779}
780
781
782/* ************************************************************
783   ABSCHNITT 26: FOOTER
784   ************************************************************ */
785
786@media (max-width: 768px) {
787    .footer-main {
788        padding-top: 30px;
789    }
790}
791
792/* Footer Icon Position */
793.qx-icon-footer .qx-icon {
794    top: 0px;
795}
796
797/* Payment-Logos */
798.footer-logo-image {
799    max-width: 65px;
800}
801
802@media (max-width: 767.98px) {
803    .footer-logo-image {
804        max-width: 45px;
805    }
806
807    .footer-logo {
808        margin-right: 0rem !important;
809    }
810}
811
812/* Klarna Logos ausblenden */
813.footer-logo.is-payment:has(img[alt="Klarna Ratenkauf"]) {
814    display: none !important;
815}
816
817.footer-logo.is-payment:has(img[alt="Klarna Payments"]) {
818    display: none !important;
819}
820
821.footer-bottom div:has(> img[alt="Klarna Rechnung"]) {
822    display: none !important;
823}
824
825.footer-bottom div:has(> img[alt="Klarna Ratenkauf"]) {
826    display: none !important;
827}
828
829
830/* ************************************************************
831   ABSCHNITT 27: BESCHREIBUNGSLISTE (PDP)
832   ************************************************************ */
833
834.description_list_first {
835    margin-top: -10px;
836}
837
838
839/* ************************************************************
840   ABSCHNITT 28: WCB (Cookie Banner Links)
841   ************************************************************ */
842
843.WCB-Item a {
844    pointer-events: none;
845    cursor: default;
846    text-decoration: none;
847    color: black;
848    font-weight: bold;
849}
850                </style>
851                        
852
853                
854                
855                    
856                                
857                                
858                                
859                                
860                
861                                    
862                                
863    
864
865            
866                    
867
868            
869            
870                    
871    
871<script>
872        window.features = JSON.parse('\u007B\u0022V6_5_0_0\u0022\u003Atrue,\u0022v6.5.0.0\u0022\u003Atrue,\u0022V6_6_0_0\u0022\u003Atrue,\u0022v6.6.0.0\u0022\u003Atrue,\u0022V6_7_0_0\u0022\u003Atrue,\u0022v6.7.0.0\u0022\u003Atrue,\u0022V6_8_0_0\u0022\u003Afalse,\u0022v6.8.0.0\u0022\u003Afalse,\u0022DISABLE_VUE_COMPAT\u0022\u003Atrue,\u0022disable.vue.compat\u0022\u003Atrue,\u0022ACCESSIBILITY_TWEAKS\u0022\u003Atrue,\u0022accessibility.tweaks\u0022\u003Atrue,\u0022TELEMETRY_METRICS\u0022\u003Afalse,\u0022telemetry.metrics\u0022\u003Afalse,\u0022FLOW_EXECUTION_AFTER_BUSINESS_PROCESS\u0022\u003Afalse,\u0022flow.execution.after.business.process\u0022\u003Afalse,\u0022PERFORMANCE_TWEAKS\u0022\u003Afalse,\u0022performance.tweaks\u0022\u003Afalse,\u0022CACHE_CONTEXT_HASH_RULES_OPTIMIZATION\u0022\u003Afalse,\u0022cache.context.hash.rules.optimization\u0022\u003Afalse,\u0022CACHE_REWORK\u0022\u003Afalse,\u0022cache.rework\u0022\u003Afalse,\u0022DEFERRED_CART_ERRORS\u0022\u003Afalse,\u0022deferred.cart.errors\u0022\u003Afalse,\u0022PRODUCT_ANALYTICS\u0022\u003Afalse,\u0022product.analytics\u0022\u003Afalse,\u0022REPEATED_PAYMENT_FINALIZE\u0022\u003Afalse,\u0022repeated.payment.finalize\u0022\u003Afalse,\u0022METEOR_TEXT_EDITOR\u0022\u003Afalse,\u0022meteor.text.editor\u0022\u003Afalse,\u0022SSO\u0022\u003Afalse,\u0022sso\u0022\u003Afalse,\u0022RULE_BUILDER\u0022\u003Atrue,\u0022rule.builder\u0022\u003Atrue,\u0022FLOW_BUILDER\u0022\u003Atrue,\u0022flow.builder\u0022\u003Atrue,\u0022ADVANCED_SEARCH\u0022\u003Atrue,\u0022advanced.search\u0022\u003Atrue,\u0022RETURNS_MANAGEMENT\u0022\u003Atrue,\u0022returns.management\u0022\u003Atrue,\u0022TEXT_GENERATOR\u0022\u003Atrue,\u0022text.generator\u0022\u003Atrue,\u0022CHECKOUT_SWEETENER\u0022\u003Atrue,\u0022checkout.sweetener\u0022\u003Atrue,\u0022IMAGE_CLASSIFICATION\u0022\u003Atrue,\u0022image.classification\u0022\u003Atrue,\u0022PROPERTY_EXTRACTOR\u0022\u003Atrue,\u0022property.extractor\u0022\u003Atrue,\u0022REVIEW_SUMMARY\u0022\u003Atrue,\u0022review.summary\u0022\u003Atrue,\u0022REVIEW_TRANSLATOR\u0022\u003Atrue,\u0022review.translator\u0022\u003Atrue,\u0022CONTENT_GENERATOR\u0022\u003Atrue,\u0022content.generator\u0022\u003Atrue,\u0022EXPORT_ASSISTANT\u0022\u003Atrue,\u0022export.assistant\u0022\u003Atrue,\u0022QUICK_ORDER\u0022\u003Atrue,\u0022quick.order\u0022\u003Atrue,\u0022EMPLOYEE_MANAGEMENT\u0022\u003Atrue,\u0022employee.management\u0022\u003Atrue,\u0022QUOTE_MANAGEMENT\u0022\u003Atrue,\u0022quote.management\u0022\u003Atrue,\u0022CAPTCHA\u0022\u003Atrue,\u0022captcha\u0022\u003Atrue,\u0022NATURAL_LANGUAGE_SEARCH\u0022\u003Atrue,\u0022natural.language.search\u0022\u003Atrue,\u0022IMAGE_UPLOAD_SEARCH\u0022\u003Atrue,\u0022image.upload.search\u0022\u003Atrue,\u0022ORDER_APPROVAL\u0022\u003Atrue,\u0022order.approval\u0022\u003Atrue,\u0022SPATIAL_CMS_ELEMENT\u0022\u003Atrue,\u0022spatial.cms.element\u0022\u003Atrue,\u0022SHOPPING_LISTS\u0022\u003Atrue,\u0022shopping.lists\u0022\u003Atrue,\u0022TEXT_TO_IMAGE_GENERATION\u0022\u003Atrue,\u0022text.to.image.generation\u0022\u003Atrue,\u0022SPATIAL_SCENE_EDITOR\u0022\u003Afalse,\u0022spatial.scene.editor\u0022\u003Afalse,\u0022ORGANIZATION_UNITS\u0022\u003Atrue,\u0022organization.units\u0022\u003Atrue\u007D');
873    </script>
873
874        
875                            
876                            
876<script nonce="kQgCx9aVlC8=">
877        dataLayer = window.dataLayer || [];
878                dataLayer.push({ ecommerce: null });
879                dataLayer.push({"pageTitle":"Registrierung | Echt Vital","pageSubCategory":"","pageCategoryID":"","pageSubCategoryID":"","pageCountryCode":"de-DE","pageLanguageCode":"Deutsch","pageVersion":1,"pageTestVariation":"1","pageValue":1,"pageAttributes":"1","pageCategory":"Auth","visitorLoginState":"Logged Out","visitorType":"NOT LOGGED IN","visitorLifetimeValue":0,"visitorExistingCustomer":"No"});
880                                                                            var dtgsConsentHandler = 'shopwareCmp';
881    </script>
881
882            
883                
884    
884<script>
885        window.dtgsGtmConsentCookieName = 'dtgsAllowGtmTracking';
886        window.dtgsGtmCustomServices = [];
887    </script>
887
888
889                                        
890                
890<script nonce="kQgCx9aVlC8=">
891            window.dataLayer = window.dataLayer || [];
892            function gtag() { dataLayer.push(arguments); }
893
894            (() => {
895                const analyticsStorageEnabled = document.cookie.split(';').some((item) => item.trim().includes('dtgsAllowGtmTracking=1'));
896
897                let googleAdsCookieName = 'google-ads-enabled';
898                                    googleAdsCookieName = 'dtgsAllowGtmTracking';
899                    window.googleAdsCookieName = 'dtgsAllowGtmTracking';
900                
901                const adsEnabled = document.cookie.split(';').some((item) => item.trim().includes(googleAdsCookieName + '=1'));
902
903                // Always set a default consent for consent mode v2
904                gtag('consent', 'default', {
905                    'ad_user_data': adsEnabled ? 'granted' : 'denied',
906                    'ad_storage': adsEnabled ? 'granted' : 'denied',
907                    'ad_personalization': adsEnabled ? 'granted' : 'denied',
908                    'analytics_storage': analyticsStorageEnabled ? 'granted' : 'denied'
909                });
910            })();
911        </script>
911
912    
913
914    <!-- Shopware Analytics -->
915    
915<script>
916        window.shopwareAnalytics = {
917            trackingId: '956ddedebd13df347fdd5ead7882e046',
918            merchantConsent: true,
919            debug: false,
920            storefrontController: 'Auth',
921            storefrontAction: 'loginPage',
922            storefrontRoute: 'frontend.account.login.page',
923            storefrontCmsPageType:  null ,
924        };
925    </script>
925
926    <!-- End Shopware Analytics -->
927        
928
929                                                                                                                                                                                                
930    <!-- added by Trusted Shops app: Start -->
931    
931<script src="https://integrations.etrusted.com/applications/widget.js/v2" async defer></script>
931
932    <!-- End -->
933                    
934            
935
936
937
938    
939
940                        
940<script>
941                window.mediameetsTiktokPixelData = new Map();
942            </script>
942
943            
944
945                        
945<script>
946                window.mediameetsFacebookPixelData = new Map();
947            </script>
vendor: 201 bytes, lines 947-951
947
948            
949                                
950            <script type="text/javascript" id="recaptcha-script"
951                                data-src='https://www.google.com/recaptcha/api.js?render=
9516Lc8vdgrAAAAAOYICxJR1cDWZnhzqvD3GzHG0JFK
vendor: 42 bytes, lines 951-953
951'
952                defer></script>
953        
953<script>
954                                        window.googleReCaptchaV3Active = true;
955                    </script>
955
956            
957
958    
959                
960                                    
960<script>
961                    window.useDefaultCookieConsent = true;
962                </script>
962
963                    
964                                                            
964<script>
965                window.activeNavigationId = '85d03fd66f144308bab163588dd3a94f';
966                window.activeRoute = 'frontend.account.login.page';
967                window.activeRouteParameters = '\u007B\u0022_noStore\u0022\u003Atrue\u007D';
968                window.router = {
969                    'frontend.cart.offcanvas': '/checkout/offcanvas',
970                    'frontend.cookie.offcanvas': '/cookie/offcanvas',
971                    'frontend.cookie.groups': '/cookie/groups',
972                    'frontend.checkout.finish.page': '/checkout/finish',
973                    'frontend.checkout.info': '/widgets/checkout/info',
974                    'frontend.menu.offcanvas': '/widgets/menu/offcanvas',
975                    'frontend.cms.page': '/widgets/cms',
976                    'frontend.cms.navigation.page': '/widgets/cms/navigation',
977                    'frontend.country.country-data': '/country/country-state-data',
978                    'frontend.app-system.generate-token': '/app-system/Placeholder/generate-token',
979                    'frontend.gateway.context': '/gateway/context',
980                    'frontend.cookie.consent.offcanvas': '/cookie/consent-offcanvas',
981                    'frontend.account.login.page': '/account/login',
982                    };
983                window.salesChannelId = '2a3ffba2300a43579ef5dfa4e821b5d3';
984            </script>
984
985        
986    
987
988    
989    
990
991        
992    
992<script>
993        window.router['widgets.swag.cmsExtensions.quickview'] = '/swag/cms-extensions/quickview';
994        window.router['widgets.swag.cmsExtensions.quickview.variant'] = '/swag/cms-extensions/quickview/variant';
995    </script>
995
996
997
998    
998<script>
999        window.router['frontend.shopware_analytics.customer.data'] = '/storefront/script/shopware-analytics-customer'
1000    </script>
1000
1001
1002
1003        
1003<script>
1004        window.router = window.router || {};
1005        window.router['frontend.checkout.confirm.page'] = '\/checkout\/confirm';
1006
1007        window.ShopwarePayments = {
1008            features: {
1009                contextGatewaySupported: false
1010            },
1011            translations: {
1012                'GENERIC_ERROR': 'W\u00E4hrend\u0020des\u0020Zahlungsvorgangs\u0020ist\u0020ein\u0020Fehler\u0020aufgetreten.\u0020Bitte\u0020versuchen\u0020Sie\u0020es\u0020erneut\u0020oder\u0020w\u00E4hlen\u0020Sie\u0020eine\u0020andere\u0020Zahlungsart.',
1013                'SCRIPT_ERROR': 'Der\u0020Zahlungsanbieter\u0020konnte\u0020nicht\u0020geladen\u0020werden.\u0020Bitte\u0020aktualisieren\u0020Sie\u0020die\u0020Seite\u0020und\u0020versuchen\u0020Sie\u0020es\u0020erneut.',
1014                'SCRIPT_NOT_LOADED': 'Das\u0020Zahlungsanbieter\u002DSkript\u0020konnte\u0020nicht\u0020geladen\u0020werden.\u0020Bitte\u0020aktualisieren\u0020Sie\u0020die\u0020Seite\u0020und\u0020versuchen\u0020Sie\u0020es\u0020erneut.',
1015                'NOT_ELIGIBLE': 'Diese\u0020Zahlungsmethode\u0020ist\u0020f\u00FCr\u0020Ihre\u0020Transaktion\u0020nicht\u0020verf\u00FCgbar.\u0020Bitte\u0020w\u00E4hlen\u0020Sie\u0020eine\u0020andere\u0020Zahlungsmethode.',
1016                'BROWSER_UNSUPPORTED': 'Die\u0020gew\u00E4hlte\u0020Zahlungsart\u0020wird\u0020von\u0020Ihrem\u0020aktuellen\u0020Browser\u0020nicht\u0020unterst\u00FCtzt.\u0020Bitte\u0020versuchen\u0020Sie\u0020es\u0020mit\u0020einem\u0020anderen\u0020Browser\u0020oder\u0020w\u00E4hlen\u0020Sie\u0020eine\u0020andere\u0020Zahlungsart.',
1017                'USER_CANCELLED': 'Die\u0020Zahlung\u0020wurde\u0020abgebrochen.\u0020Bitte\u0020versuchen\u0020Sie\u0020es\u0020erneut\u0020oder\u0020w\u00E4hlen\u0020Sie\u0020eine\u0020andere\u0020Zahlungsmethode.',
1018                'DECLINED': 'Die\u0020Zahlung\u0020wurde\u0020abgelehnt.\u0020Bitte\u0020versuchen\u0020Sie\u0020es\u0020erneut\u0020oder\u0020w\u00E4hlen\u0020Sie\u0020eine\u0020andere\u0020Zahlungsmethode.',
1019                'ZERO_VALUE_CART': 'PayPal\u0020ist\u0020f\u00FCr\u0020Bestellungen\u0020ohne\u0020Warenwert\u0020nicht\u0020verf\u00FCgbar.\u0020Bitte\u0020nutzen\u0020Sie\u0020stattdessen\u0020den\u0020regul\u00E4ren\u0020Checkout.'
1020            }
1021        };
1022    </script>
1022
1023
1024                                
1024<script>
1025                
1026                window.breakpoints = JSON.parse('\u007B\u0022xs\u0022\u003A0,\u0022sm\u0022\u003A576,\u0022md\u0022\u003A768,\u0022lg\u0022\u003A992,\u0022xl\u0022\u003A1200,\u0022xxl\u0022\u003A1400\u007D');
1027            </script>
1027
1028        
1029        
1030                            
1030<script src="https://echt-vital.de/bundles/pickwaredhl/assets/jquery-3.5.1.slim.min.js?1790936532"></script>
1030
1031    
1032                        
1033    
1033<script>
1034        window.validationMessages = JSON.parse('\u007B\u0022required\u0022\u003A\u0022Die\u0020Eingabe\u0020darf\u0020nicht\u0020leer\u0020sein.\u0022,\u0022email\u0022\u003A\u0022Ung\\u00fcltige\u0020E\u002DMail\u002DAdresse.\u0020Die\u0020E\u002DMail\u0020ben\\u00f6tigt\u0020das\u0020Format\u0020\\\u0022nutzer\u0040beispiel.de\\\u0022.\u0022,\u0022confirmation\u0022\u003A\u0022Ihre\u0020Eingaben\u0020sind\u0020nicht\u0020identisch.\u0022,\u0022minLength\u0022\u003A\u0022Die\u0020Eingabe\u0020ist\u0020zu\u0020kurz.\u0022,\u0022grecaptcha\u0022\u003A\u0022Bitte\u0020akzeptieren\u0020Sie\u0020die\u0020technisch\u0020erforderlichen\u0020Cookies,\u0020um\u0020die\u0020reCAPTCHA\u002D\\u00dcberpr\\u00fcfung\u0020zu\u0020erm\\u00f6glichen.\u0022\u007D');
1035    </script>
1035
1036        
1037                        
1038        
1038<script>
1039            window.pluginConfig = {"rhwebCmsBundleCmsPageCartPositionEmpty":"below","rhwebCmsBundleCmsPageCartPosition":"below","rhwebCmsBundleCmsPageWishlistPositionEmpty":"below","rhwebCmsBundleCmsPageWishlistPosition":"below","rhwebCmsBundleCmsPageSearchPositionEmpty":"below","rhwebCmsBundleCmsPageSearchPosition":"below","rhwebCmsBundleCmsPageFinishPosition":"below","rhwebCmsBundleAnimationsMobileActivate":true,"generalFreeShippingType":2};
1040        </script>
1040
1041    
1042                                                                
1042<script>
1043                        window.themeJsPublicPath = 'https://echt-vital.de/theme/22a6e1aac2fe165c1833ba04f861f4c2/js/';
1044                    </script>
1044
1045                                            
1045<script type="text/javascript" src="https://echt-vital.de/theme/22a6e1aac2fe165c1833ba04f861f4c2/js/storefront/storefront.js?1790851198" defer></script>
1045
1046                                            
1046<script type="text/javascript" src="https://echt-vital.de/theme/22a6e1aac2fe165c1833ba04f861f4c2/js/swag-pay-pal/swag-pay-pal.js?1790851198" defer></script>
1046
1047                                            
1047<script type="text/javascript" src="https://echt-vital.de/theme/22a6e1aac2fe165c1833ba04f861f4c2/js/r-h-web-cms-elements/r-h-web-cms-elements.js?1790851198" defer></script>
1047
1048                                            
1048<script type="text/javascript" src="https://echt-vital.de/theme/22a6e1aac2fe165c1833ba04f861f4c2/js/r-h-web-theme-features/r-h-web-theme-features.js?1790851198" defer></script>
1048
1049                                            
1049<script type="text/javascript" src="https://echt-vital.de/theme/22a6e1aac2fe165c1833ba04f861f4c2/js/subscription/subscription.js?1790851198" defer></script>
1049
1050                                            
1050<script type="text/javascript" src="https://echt-vital.de/theme/22a6e1aac2fe165c1833ba04f861f4c2/js/checkout-sweetener/checkout-sweetener.js?1790851198" defer></script>
1050
1051                                            
1051<script type="text/javascript" src="https://echt-vital.de/theme/22a6e1aac2fe165c1833ba04f861f4c2/js/text-translator/text-translator.js?1790851198" defer></script>
1051
1052                                            
1052<script type="text/javascript" src="https://echt-vital.de/theme/22a6e1aac2fe165c1833ba04f861f4c2/js/employee-management/employee-management.js?1790851198" defer></script>
1052
1053                                            
1053<script type="text/javascript" src="https://echt-vital.de/theme/22a6e1aac2fe165c1833ba04f861f4c2/js/quick-order/quick-order.js?1790851198" defer></script>
1053
1054                                            
1054<script type="text/javascript" src="https://echt-vital.de/theme/22a6e1aac2fe165c1833ba04f861f4c2/js/advanced-search/advanced-search.js?1790851198" defer></script>
1054
1055                                            
1055<script type="text/javascript" src="https://echt-vital.de/theme/22a6e1aac2fe165c1833ba04f861f4c2/js/captcha/captcha.js?1790851198" defer></script>
1055
1056                                            
1056<script type="text/javascript" src="https://echt-vital.de/theme/22a6e1aac2fe165c1833ba04f861f4c2/js/quote-management/quote-management.js?1790851198" defer></script>
1056
1057                                            
1057<script type="text/javascript" src="https://echt-vital.de/theme/22a6e1aac2fe165c1833ba04f861f4c2/js/a-i-search/a-i-search.js?1790851198" defer></script>
1057
1058                                            
1058<script type="text/javascript" src="https://echt-vital.de/theme/22a6e1aac2fe165c1833ba04f861f4c2/js/spatial-cms-element/spatial-cms-element.js?1790851198" defer></script>
1058
1059                                            
1059<script type="text/javascript" src="https://echt-vital.de/theme/22a6e1aac2fe165c1833ba04f861f4c2/js/order-approval/order-approval.js?1790851198" defer></script>
1059
1060                                            
1060<script type="text/javascript" src="https://echt-vital.de/theme/22a6e1aac2fe165c1833ba04f861f4c2/js/shopping-list/shopping-list.js?1790851198" defer></script>
1060
1061                                            
1061<script type="text/javascript" src="https://echt-vital.de/theme/22a6e1aac2fe165c1833ba04f861f4c2/js/organization-unit/organization-unit.js?1790851198" defer></script>
1061
1062                                            
1062<script type="text/javascript" src="https://echt-vital.de/theme/22a6e1aac2fe165c1833ba04f861f4c2/js/swag-cms-extensions/swag-cms-extensions.js?1790851198" defer></script>
1062
1063                                            
1063<script type="text/javascript" src="https://echt-vital.de/theme/22a6e1aac2fe165c1833ba04f861f4c2/js/pickware-dhl/pickware-dhl.js?1790851198" defer></script>
1063
1064                                            
1064<script type="text/javascript" src="https://echt-vital.de/theme/22a6e1aac2fe165c1833ba04f861f4c2/js/pickware-shipping-bundle/pickware-shipping-bundle.js?1790851198" defer></script>
1064
1065                                            
1065<script type="text/javascript" src="https://echt-vital.de/theme/22a6e1aac2fe165c1833ba04f861f4c2/js/klarna-payment/klarna-payment.js?1790851198" defer></script>
1065
1066                                            
1066<script type="text/javascript" src="https://echt-vital.de/theme/22a6e1aac2fe165c1833ba04f861f4c2/js/netzp-blog6/netzp-blog6.js?1790851198" defer></script>
1066
1067                                            
1067<script type="text/javascript" src="https://echt-vital.de/theme/22a6e1aac2fe165c1833ba04f861f4c2/js/dtgs-google-tag-manager-sw6/dtgs-google-tag-manager-sw6.js?1790851198" defer></script>
1067
1068                                            
1068<script type="text/javascript" src="https://echt-vital.de/theme/22a6e1aac2fe165c1833ba04f861f4c2/js/tmms-additional-newsletter-registration-options/tmms-additional-newsletter-registration-options.js?1790851198" defer></script>
1068
1069                                            
1069<script type="text/javascript" src="https://echt-vital.de/theme/22a6e1aac2fe165c1833ba04f861f4c2/js/newsletter-sendinblue/newsletter-sendinblue.js?1790851198" defer></script>
1069
1070                                            
1070<script type="text/javascript" src="https://echt-vital.de/theme/22a6e1aac2fe165c1833ba04f861f4c2/js/acris-private-shopping-c-s/acris-private-shopping-c-s.js?1790851198" defer></script>
1070
1071                                            
1071<script type="text/javascript" src="https://echt-vital.de/theme/22a6e1aac2fe165c1833ba04f861f4c2/js/firs1-adcell-tracking/firs1-adcell-tracking.js?1790851198" defer></script>
1071
1072                                            
1072<script type="text/javascript" src="https://echt-vital.de/theme/22a6e1aac2fe165c1833ba04f861f4c2/js/cogi-friends/cogi-friends.js?1790851198" defer></script>
1072
1073                                            
1073<script type="text/javascript" src="https://echt-vital.de/theme/22a6e1aac2fe165c1833ba04f861f4c2/js/acris-search-c-s/acris-search-c-s.js?1790851198" defer></script>
1073
1074                                            
1074<script type="text/javascript" src="https://echt-vital.de/theme/22a6e1aac2fe165c1833ba04f861f4c2/js/verign-dv-accessibility-sw6/verign-dv-accessibility-sw6.js?1790851198" defer></script>
1074
1075                                            
1075<script type="text/javascript" src="https://echt-vital.de/theme/22a6e1aac2fe165c1833ba04f861f4c2/js/mediameets-tiktok-pixel/mediameets-tiktok-pixel.js?1790851198" defer></script>
1075
1076                                            
1076<script type="text/javascript" src="https://echt-vital.de/theme/22a6e1aac2fe165c1833ba04f861f4c2/js/mediameets-fb-pixel/mediameets-fb-pixel.js?1790851198" defer></script>
1076
1077                                            
1077<script type="text/javascript" src="https://echt-vital.de/theme/22a6e1aac2fe165c1833ba04f861f4c2/js/ev-mitdenker-slider/ev-mitdenker-slider.js?1790851198" defer></script>
1077
1078                                            
1078<script type="text/javascript" src="https://echt-vital.de/theme/22a6e1aac2fe165c1833ba04f861f4c2/js/qubix-checkout/qubix-checkout.js?1790851198" defer></script>
1078
1079                                            
1079<script type="text/javascript" src="https://echt-vital.de/theme/22a6e1aac2fe165c1833ba04f861f4c2/js/swag-analytics/swag-analytics.js?1790851198" defer></script>
1079
1080                                            
1080<script type="text/javascript" src="https://echt-vital.de/theme/22a6e1aac2fe165c1833ba04f861f4c2/js/atl-pop-up/atl-pop-up.js?1790851198" defer></script>
1080
1081                                            
1081<script type="text/javascript" src="https://echt-vital.de/theme/22a6e1aac2fe165c1833ba04f861f4c2/js/zeobv-prepared-cart/zeobv-prepared-cart.js?1790851198" defer></script>
1081
1082                                            
1082<script type="text/javascript" src="https://echt-vital.de/theme/22a6e1aac2fe165c1833ba04f861f4c2/js/ev-theme/ev-theme.js?1790851198" defer></script>
1082
1083                                    
1084                        
1085
1086
1087    
1088        </head>
vendor: 70 bytes, lines 1088-1091
1088
1089
1090
1091    <script async src="https://www.googletagmanager.com/gtag/js?id=
1091AW-863339097
vendor: 16 bytes, lines 1091-1092
1091"></script>
1092    
1092<script>
1093        
vendor: 151 bytes, lines 1093-1096
1093window.dataLayer = window.dataLayer || [];
1094        function gtag(){dataLayer.push(arguments);}
1095        gtag('js', new Date());
1096        gtag('config', '
1096AW-863339097
vendor: 8 bytes, lines 1096-1097
1096');
1097    
1097</script>
1097
1098
1099            <body class="        is-ctl-auth is-act-loginpage is-active-route-frontend-account-login-page  rhweb-custom-cookie    rhweb-header-layout-center
1100  rhweb-custom-cookie    rhweb-header-layout-center
1101">
1102
1103            
1104                
1105    
1106    
1107            <div id="page-top" class="skip-to-content bg-primary-subtle text-primary-emphasis overflow-hidden" tabindex="-1">
1108            <div class="container skip-to-content-container d-flex justify-content-center visually-hidden-focusable">
1109                                                                                        <a href="#content-main" class="skip-to-content-link d-inline-flex text-decoration-underline m-1 p-2 fw-bold gap-2">
1110                                Zum Hauptinhalt springen
1111                            </a>
1112                                            
1113                                                                        <a href="#header-main-search-input" class="skip-to-content-link d-inline-flex text-decoration-underline m-1 p-2 fw-bold gap-2 d-none d-sm-block">
1114                                Zur Suche springen
1115                            </a>
1116                                            
1117                                                                        <a href="#main-navigation-menu" class="skip-to-content-link d-inline-flex text-decoration-underline m-1 p-2 fw-bold gap-2 d-none d-lg-block">
1118                                Zur Hauptnavigation springen
1119                            </a>
1120                                                                        </div>
1121        </div>
1122        
1123                
1124                
1125                        
1126    
1126<script nonce="kQgCx9aVlC8=">
1127        (function e(){window.document.$emitter&&typeof window.document.$emitter.subscribe==="function"?window.document.$emitter.subscribe("CookieConfiguration_Update",t=>{t&&t.detail&&Object.prototype.hasOwnProperty.call(t.detail,"dtgsAllowGtmTracking")&&window.location.reload()}):setTimeout(e,100)})();
1128    </script>
1128
1129
1130            
1130<script nonce="kQgCx9aVlC8=">
1131            window.dataLayer = window.dataLayer || [];
1132            var loadGTM = function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
1133                    new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
1134                j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
1135                'https://www.googletagmanager.com/gtm.js?id='+i+dl;var n=d.querySelector('[nonce]');
1136            n&&j.setAttribute('nonce',n.nonce||n.getAttribute('nonce'));f.parentNode.insertBefore(j,f);
1137                    };
1138                            loadGTM(window,document,'script','dataLayer','GTM-NCMW9TRC');
1139                    </script>
1139
1140                
1141                                        <noscript class="noscript-main">
1142                
1143    <div role="alert"
1144         aria-live="polite"
1145         class="alert alert-info d-flex align-items-center">
1146
1147                                                                        
1148                                                                
1149            <span class="icon icon-info" aria-hidden="true">
1150                                        <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24"><defs><path d="M12 7c.5523 0 1 .4477 1 1s-.4477 1-1 1-1-.4477-1-1 .4477-1 1-1zm1 9c0 .5523-.4477 1-1 1s-1-.4477-1-1v-5c0-.5523.4477-1 1-1s1 .4477 1 1v5zm11-4c0 6.6274-5.3726 12-12 12S0 18.6274 0 12 5.3726 0 12 0s12 5.3726 12 12zM12 2C6.4772 2 2 6.4772 2 12s4.4772 10 10 10 10-4.4772 10-10S17.5228 2 12 2z" id="icons-default-info" /></defs><use xlink:href="#icons-default-info" fill="#758CA3" fill-rule="evenodd" /></svg>
1151                    </span>
1152                                                        
1153                                    
1154                    <div class="alert-content-container">
1155                                                    
1156                                                            Um unseren Shop in vollem Umfang nutzen zu können, empfehlen wir Ihnen Javascript in Ihrem Browser zu aktivieren.
1157                                    
1158                                                                </div>
1159            </div>
1160            </noscript>
1161        
1162    
1163    <!-- Google Tag Manager Noscript -->
1164            <noscript class="noscript-gtm">
1165            <iframe src="https://www.googletagmanager.com/ns.html?id=GTM-NCMW9TRC"
1166                    height="0"
1167                    width="0"
1168                    style="display:none;visibility:hidden">
1169            </iframe>
1170        </noscript>
1171        <!-- End Google Tag Manager Noscript -->
1172
1173                                                
1174                
1175                        <header class="header-main rhweb-cms-header">
1176            
1177            <div class="cms-sections">
1178                                            
1179            
1180            
1181            
1182                                        
1183                                    
1184                        
1185        <div class="cms-section  pos-0 cms-section-default"
1186             style="
1187                                                                  background-size: cover;
1188                     ">
1189
1190                    
1191    
1192            
1193
1194                
1195    
1196                
1197                <section class="cms-section-default full-width">
1198                                    
1199                
1200                
1201    
1202    
1203    
1204    
1205            
1206    
1207                
1208            
1209    <div
1210        class="cms-block  pos-0 cms-block-html position-relative"
1211            >
1212                            
1213                            
1214                
1215                
1216                
1217            
1218                
1219                        
1220                            
1221                                            
1222                                            
1223                                            
1224                            
1225                        <div class="cms-block-container " style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px">
1226                                                        <div class="cms-block-container-row row cms-row ">
1227                                
1228    <div class="col-12" data-cms-element-id="019fd96078b47010a2f0103b24515db7">
1229                        <div class="cms-element-html">
1230                                    <!-- Echt Vital Header | Stand 2026-08-25 (OHNE SALE: Sale-Block entfernt, Menue-Korrekturen bleiben). Menue-Korrekturen 25.08.: Reiter Aktionen/Bestseller/Alle Produkte/Themen (gleiche Breite, kein H-Scroll), Bestseller-Reiter mit Rangfolge aus echten Bestellungen (reference/bestseller-top20-shop.json) + Skelett + Vorladen, toter Desktop-Container evBsGridDesktop entfernt, z-index-Fix Mobil-Menue ueber PDP-Sticky-Leiste, keine HEAD-Sonde auf /neukunden-aktion. Login-State v1/v1.1 unveraendert. Gebaut mit tools/sommer-sale-2026/build_header.py --mode aktion; Doku docs/runbooks/sommer-sale-2026.md | Basis: ev-header-vitaminb-2026-08-18 (PROD-verifiziert sha e14686d4641c2bdf) -->
1231<style>
1232html:has(#ev-immersive-header){overflow-x:clip!important}
1233.cms-element-html:has(#ev-immersive-header){padding:0!important;margin:0!important;max-width:none!important;width:100vw!important;margin-left:calc(50% - 50vw)!important}
1234.cms-element-html:has(#ev-immersive-header)>div{max-width:none!important;padding:0!important}
1235.cms-section:has(#ev-immersive-header){overflow:visible!important}
1236.cms-element-html:has(#ev-immersive-header),
1237.cms-element-html:has(#ev-immersive-header)>div,
1238.cms-block:has(#ev-immersive-header),
1239.cms-block-container:has(#ev-immersive-header),
1240.cms-block-container-row:has(#ev-immersive-header),
1241[class*="col"]:has(#ev-immersive-header),
1242.cms-section:has(#ev-immersive-header),
1243.cms-section:has(#ev-immersive-header)>div,
1244header.header-main:has(#ev-immersive-header){
1245  transform:none!important;will-change:auto!important;contain:none!important;filter:none!important;perspective:none!important
1246}
1247body.ev-mobile-open *:not(#mobileMenu):not(#mobileMenu *){
1248  transform:none!important;will-change:auto!important;contain:none!important;filter:none!important;perspective:none!important
1249}
1250body .navigation-offcanvas,
1251body .js-off-canvas:not(.cart-offcanvas),
1252body .offcanvas-menu{display:none!important;visibility:hidden!important;pointer-events:none!important}
1253body .header-main > .header-row:not(:has(#ev-immersive-header)){display:none!important}
1254body .header-main .header-search{display:none!important}
1255body .header-main .nav-main{display:none!important}
1256body .cms-breadcrumb{display:none!important}
1257body:has(.offcanvas.cart-offcanvas.show){padding-right:0!important}
1258@media(min-width:1024px){body .evm-nav{display:none!important;visibility:hidden!important}}
1259body.ev-mobile-open .evm-nav{display:none!important;visibility:hidden!important}
1260/* Trusted-Shops-Trustbadge waehrend offenem Mobilmenue KOMPLETT entfernen.
1261   display:none statt opacity/visibility: die inneren Badge-Elemente (gehashte Klassen) behalten sonst
1262   pointer-events:auto -> unsichtbar aber KLICKBAR. display:none nimmt den ganzen Subtree aus Rendering UND Hit-Testing. */
1263body.ev-mobile-open [id*="trustbadge" i],body.ev-mobile-open [id*="minimized-trustbadge" i],body.ev-mobile-open [class*="trustbadge" i]{display:none!important}
1264
1265:root{
1266  --p:#3B6B4A;--pd:#2A4D35;--pl:#E8F0EA;
1267  --a:#C4A265;--al:#F5EDE0;
1268  --bg:#FAFAF7;--t1:#1A1A1A;--t2:#6B6B6B;--t3:#999;
1269  --bd:#EBEBEB;--white:#fff;
1270  --or:#D4874A;--orl:#FDF3EB;--pp:#7B61A6;--ppl:#F3EFF8;
1271  --rd:#D4534A;--rl:#FDF0EF;--bl:#4A7FB5;--bll:#EDF3F9;
1272  --teal:#3A9EA5;--teall:#EBF6F7;--rose:#C46A8A;--rosel:#F9EDF1;
1273  --ui:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
1274  --serif:Georgia,'Times New Roman',serif;
1275  --header-h:80px;
1276  --spring:cubic-bezier(.175,.885,.32,1.275);
1277  --smooth:cubic-bezier(.23,1,.32,1);
1278  --bounce:cubic-bezier(.34,1.56,.64,1)
1279}
1280
1281#ev-immersive-header{
1282  font-family:var(--ui)!important;
1283  color:var(--t1)!important;
1284  -webkit-font-smoothing:antialiased!important;
1285  line-height:1.5!important;
1286  box-sizing:border-box!important
1287}
1288#ev-immersive-header *,
1289#ev-immersive-header *::before,
1290#ev-immersive-header *::after{
1291  box-sizing:border-box!important;
1292  margin:0;padding:0
1293}
1294#ev-immersive-header a{text-decoration:none}
1295#ev-immersive-header button{font-family:var(--ui)}
1296#ev-immersive-header img{max-width:100%;height:auto}
1297
1298#ev-immersive-header .ev-header{
1299  position:sticky!important;top:0!important;z-index:9000!important;
1300  background:rgba(250,250,247,.92)!important;
1301  backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important;
1302  transition:box-shadow .4s ease!important;
1303  border:none!important;margin:0!important;padding:0!important
1304}
1305#ev-immersive-header .ev-header.scrolled{box-shadow:0 1px 0 var(--bd)!important}
1306
1307#ev-immersive-header .ev-header-main{
1308  display:flex!important;align-items:center!important;justify-content:space-between!important;
1309  max-width:1120px!important;margin:0 auto!important;
1310  padding:0 20px!important;height:var(--header-h)!important
1311}
1312
1313#ev-immersive-header .ev-header-logo{display:flex!important;align-items:center!important;text-decoration:none!important;flex-shrink:0!important}
1314#ev-immersive-header .ev-header-logo img{height:40px!important;width:auto!important;transition:opacity .2s!important;max-height:40px!important}
1315@media(max-width:374px){#ev-immersive-header .ev-header-logo img{height:28px!important;max-height:28px!important}}
1316@media(min-width:375px) and (max-width:479px){#ev-immersive-header .ev-header-logo img{height:32px!important;max-height:32px!important}}
1317#ev-immersive-header .ev-header-logo:hover img{opacity:.7!important}
1318
1319#ev-immersive-header .ev-nav{display:none!important;align-items:center!important;gap:40px!important;list-style:none!important;height:100%!important;margin:0!important;padding:0!important}
1320@media(min-width:1024px){#ev-immersive-header .ev-nav{display:flex!important}}
1321#ev-immersive-header .ev-nav>li{position:relative!important;height:100%!important;display:flex!important;align-items:center!important;list-style:none!important;margin:0!important;padding:0!important}
1322#ev-immersive-header .ev-nav>li>a,
1323#ev-immersive-header .ev-nav>li>button{
1324  color:var(--t2)!important;text-decoration:none!important;
1325  font-size:17px!important;font-weight:400!important;
1326  letter-spacing:.15px!important;
1327  text-transform:none!important;
1328  transition:color .2s!important;
1329  padding:0!important;display:inline-flex!important;align-items:center!important;gap:4px!important;
1330  background:none!important;border:none!important;cursor:pointer!important;font-family:var(--ui)!important;
1331  height:100%!important;line-height:1!important;
1332  margin:0!important
1333}
1334#ev-immersive-header .ev-nav>li>a:hover,
1335#ev-immersive-header .ev-nav>li>button:hover,
1336#ev-immersive-header .ev-nav>li.is-active>button{color:var(--t1)!important}
1337#ev-immersive-header .ev-nav .nav-arrow{
1338  width:10px!important;height:10px!important;
1339  display:inline-block!important;vertical-align:middle!important;
1340  transition:transform .3s var(--smooth)!important;
1341  background:none!important;border:none!important;border-radius:0!important;
1342  margin-top:0!important;flex-shrink:0!important
1343}
1344#ev-immersive-header .ev-nav .nav-arrow svg{width:10px!important;height:10px!important;stroke:currentColor!important;fill:none!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important}
1345#ev-immersive-header .ev-nav>li.is-active .nav-arrow{transform:rotate(180deg)!important}
1346
1347#ev-immersive-header .ev-acts{display:flex!important;align-items:center!important;gap:6px!important}
1348#ev-immersive-header .ev-act{
1349  display:flex!important;align-items:center!important;justify-content:center!important;
1350  width:42px!important;height:42px!important;border-radius:50%!important;
1351  background:none!important;border:none!important;cursor:pointer!important;
1352  transition:background .15s!important;color:var(--t2)!important;position:relative!important;
1353  text-decoration:none!important;padding:0!important;margin:0!important
1354}
1355#ev-immersive-header .ev-act:hover{background:rgba(0,0,0,.04)!important;color:var(--t1)!important}
1356#ev-immersive-header .ev-act svg{width:22px!important;height:22px!important;stroke:currentColor!important;fill:none!important;stroke-width:1.3!important}
1357#ev-immersive-header .ev-act .badge{
1358  position:absolute!important;top:4px!important;right:4px!important;
1359  width:15px!important;height:15px!important;border-radius:50%!important;
1360  background:var(--p)!important;color:#fff!important;
1361  font-size:9px!important;font-weight:700!important;
1362  display:flex!important;align-items:center!important;justify-content:center!important
1363}
1364#ev-immersive-header .ev-burger{display:flex!important}
1365@media(min-width:1024px){#ev-immersive-header .ev-burger{display:none!important}}
1366
1367#ev-immersive-header .ev-account-wrap{position:relative!important;display:flex!important;align-items:center!important}
1368@media(max-width:1023px){#ev-immersive-header .ev-account-wrap{display:none!important}}
1369#ev-immersive-header .ev-account-dropdown{
1370  position:absolute!important;top:calc(100% + 8px)!important;right:0!important;
1371  min-width:200px!important;background:var(--white)!important;
1372  border-radius:12px!important;box-shadow:0 8px 32px rgba(0,0,0,.12),0 1px 3px rgba(0,0,0,.06)!important;
1373  padding:6px!important;
1374  opacity:0!important;visibility:hidden!important;transform:translateY(-4px)!important;
1375  transition:opacity .2s,visibility .2s,transform .2s var(--smooth)!important;
1376  z-index:1001!important
1377}
1378#ev-immersive-header .ev-account-dropdown.is-open{opacity:1!important;visibility:visible!important;transform:translateY(0)!important}
1379#ev-immersive-header .ev-account-item{
1380  display:flex!important;align-items:center!important;gap:10px!important;
1381  padding:10px 14px!important;border-radius:8px!important;
1382  color:var(--t1)!important;font-size:13.5px!important;font-weight:450!important;
1383  text-decoration:none!important;transition:background .15s!important;white-space:nowrap!important
1384}
1385#ev-immersive-header .ev-account-item:hover{background:var(--bg)!important}
1386#ev-immersive-header .ev-account-item svg{width:17px!important;height:17px!important;stroke:var(--t3)!important;fill:none!important;stroke-width:1.6!important;stroke-linecap:round!important;stroke-linejoin:round!important;flex-shrink:0!important}
1387#ev-immersive-header .ev-account-sep{height:1px!important;background:var(--bd)!important;margin:4px 8px!important}
1388#ev-immersive-header .ev-account-greet{padding:10px 14px 6px!important;font-size:12.5px!important;font-weight:600!important;color:var(--t3)!important;letter-spacing:.2px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:240px!important}
1389#ev-immersive-header .ev-account-logout-item{display:none!important;color:var(--rd)!important}
1390#ev-immersive-header .ev-account-logout-item svg{stroke:var(--rd)!important}
1391#ev-immersive-header.show-logout .ev-account-login-item{display:none!important}
1392#ev-immersive-header.show-logout .ev-account-logout-item{display:flex!important}
1393#ev-immersive-header .ev-header-line{height:1px!important;background:linear-gradient(90deg,transparent,var(--bd),transparent)!important;border:none!important;margin:0!important;padding:0!important}
1394
1395#ev-immersive-header .ev-mega-backdrop{
1396  position:fixed!important;top:0;left:0;right:0;bottom:0;
1397  background:rgba(0,0,0,.12)!important;
1398  backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);
1399  z-index:999;
1400  opacity:0;visibility:hidden;
1401  transition:opacity .3s ease,visibility .3s
1402}
1403#ev-immersive-header .ev-mega-backdrop.is-open{opacity:1;visibility:visible}
1404
1405#ev-immersive-header .ev-mega{
1406  position:absolute!important;top:100%;left:0;right:0;
1407  background:var(--white)!important;
1408  border-bottom:1px solid var(--bd)!important;
1409  z-index:1001;
1410  opacity:0;visibility:hidden;
1411  transform:translateY(-4px);
1412  transition:opacity .25s var(--smooth),transform .25s var(--smooth),visibility .25s;
1413  overflow:hidden
1414}
1415#ev-immersive-header .ev-mega.is-open{
1416  opacity:1;visibility:visible;transform:translateY(0)
1417}
1418#ev-immersive-header .ev-mega-inner{
1419  max-width:1120px!important;margin:0 auto!important;padding:36px 48px 40px!important
1420}
1421
1422#ev-immersive-header .ev-mega-cats{
1423  display:flex!important;gap:6px!important;margin-bottom:24px!important;
1424  border-bottom:1px solid var(--bd)!important;padding-bottom:16px!important
1425}
1426#ev-immersive-header .ev-mega-cat{
1427  padding:8px 18px!important;border-radius:100px!important;
1428  font-size:12px!important;font-weight:500!important;letter-spacing:.5px!important;text-transform:uppercase!important;
1429  border:1px solid var(--bd)!important;background:none!important;
1430  color:var(--t2)!important;cursor:pointer;
1431  transition:all .2s;font-family:var(--ui)!important
1432}
1433#ev-immersive-header .ev-mega-cat:hover{border-color:var(--t3)!important;color:var(--t1)!important}
1434#ev-immersive-header .ev-mega-cat.is-active{background:var(--t1)!important;color:var(--white)!important;border-color:var(--t1)!important}
1435
1436#ev-immersive-header .ev-mega-products{display:grid!important;grid-template-columns:repeat(5,1fr)!important;gap:20px!important}
1437#ev-immersive-header .ev-mega-product{
1438  text-decoration:none!important;color:var(--t1)!important;
1439  border-radius:12px!important;overflow:hidden;
1440  transition:transform .25s var(--smooth),box-shadow .25s;
1441  position:relative!important
1442}
1443#ev-immersive-header .ev-mega-product:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.06)}
1444#ev-immersive-header .ev-mega-product-img{
1445  aspect-ratio:1;background:linear-gradient(135deg,var(--bg) 0%,#f0ede8 100%)!important;
1446  display:flex!important;align-items:center!important;justify-content:center!important;
1447  overflow:hidden;border-radius:12px!important
1448}
1449#ev-immersive-header .ev-mega-product-img img{width:70%!important;height:70%!important;object-fit:contain;transition:transform .4s var(--smooth)}
1450#ev-immersive-header .ev-mega-product:hover .ev-mega-product-img img{transform:scale(1.05)}
1451#ev-immersive-header .ev-mega-product-info{padding:10px 4px 4px!important}
1452#ev-immersive-header .ev-mega-product-name{font-size:13px!important;font-weight:500!important;line-height:1.3}
1453#ev-immersive-header .ev-mega-product-price{font-size:12px!important;color:var(--t3)!important;margin-top:2px!important}
1454#ev-immersive-header .ev-mega-foot{
1455  display:flex!important;align-items:center!important;justify-content:space-between;
1456  margin-top:24px!important;padding-top:16px!important;border-top:1px solid var(--bd)!important
1457}
1458#ev-immersive-header .ev-mega-foot a{
1459  font-size:13px!important;color:var(--p)!important;text-decoration:none!important;font-weight:500!important;
1460  display:inline-flex!important;align-items:center!important;gap:6px!important;transition:opacity .2s
1461}
1462#ev-immersive-header .ev-mega-foot a:hover{opacity:.7}
1463#ev-immersive-header .ev-mega-foot a svg{width:14px!important;height:14px!important;stroke:currentColor;fill:none;stroke-width:2}
1464
1465#ev-immersive-header .ev-mega-themes{
1466  display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:6px!important
1467}
1468#ev-immersive-header .ev-mega-theme{
1469  --tc:var(--bg);
1470  display:flex!important;align-items:center!important;gap:12px!important;
1471  padding:14px 16px!important;border-radius:14px!important;
1472  text-decoration:none!important;color:var(--t1)!important;
1473  transition:all .2s var(--smooth);
1474  border:1px solid var(--bd)!important;
1475  background:var(--white)!important
1476}
1477#ev-immersive-header .ev-mega-theme:hover{
1478  background:var(--tc)!important;
1479  border-color:transparent!important;
1480  transform:translateY(-2px);
1481  box-shadow:0 6px 20px rgba(0,0,0,.06)
1482}
1483#ev-immersive-header .ev-mega-theme-icon{
1484  width:36px!important;height:36px!important;border-radius:10px!important;
1485  display:flex!important;align-items:center!important;justify-content:center!important;
1486  flex-shrink:0;
1487  transition:transform .3s var(--bounce)
1488}
1489#ev-immersive-header .ev-mega-theme-icon svg{width:17px!important;height:17px!important;stroke-width:2;fill:none}
1490#ev-immersive-header .ev-mega-theme:hover .ev-mega-theme-icon{transform:scale(1.1)}
1491#ev-immersive-header .ev-mega-theme-text{flex:1!important;min-width:0}
1492#ev-immersive-header .ev-mega-theme-text strong{display:block!important;font-size:14px!important;font-weight:600!important;line-height:1.3}
1493#ev-immersive-header .ev-mega-theme-text span{font-size:11.5px!important;color:var(--t3)!important}
1494
1495#ev-immersive-header .ev-mega-bib{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:12px!important}
1496#ev-immersive-header .ev-mega-bib-card{
1497  padding:28px 24px!important;border-radius:16px!important;
1498  text-decoration:none!important;color:var(--t1)!important;
1499  transition:all .25s var(--smooth);
1500  border:1px solid var(--bd)!important;
1501  position:relative!important;overflow:hidden
1502}
1503#ev-immersive-header .ev-mega-bib-card:hover{
1504  border-color:transparent!important;
1505  transform:translateY(-2px);
1506  box-shadow:0 8px 24px rgba(0,0,0,.06)
1507}
1508#ev-immersive-header .ev-mega-bib-card-icon{
1509  width:44px!important;height:44px!important;border-radius:12px!important;
1510  display:flex!important;align-items:center!important;justify-content:center!important;
1511  font-size:20px!important;margin-bottom:14px!important
1512}
1513#ev-immersive-header .ev-mega-bib-card h4{font-size:16px!important;font-weight:600!important;margin-bottom:4px!important}
1514#ev-immersive-header .ev-mega-bib-card p{font-size:13px!important;color:var(--t3)!important;line-height:1.4}
1515
1516#ev-immersive-header .ev-search{
1517  position:fixed!important;inset:0;z-index:9500;
1518  background:rgba(0,0,0,.4)!important;
1519  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
1520  opacity:0;visibility:hidden;
1521  transition:opacity .2s,visibility .2s;
1522  cursor:pointer
1523}
1524#ev-immersive-header .ev-search.is-open{opacity:1;visibility:visible}
1525#ev-immersive-header .ev-search-panel{
1526  position:absolute!important;top:0;left:0;right:0;
1527  background:var(--white)!important;
1528  transform:translateY(-100%);
1529  transition:transform .35s var(--smooth);
1530  max-height:88vh;overflow-y:auto;overflow-x:hidden;
1531  cursor:default;
1532  box-shadow:0 20px 60px rgba(0,0,0,.12)
1533}
1534#ev-immersive-header .ev-search.is-open .ev-search-panel{transform:translateY(0)}
1535
1536#ev-immersive-header .ev-search-close{
1537  position:absolute!important;top:16px!important;right:20px!important;
1538  width:44px!important;height:44px!important;border-radius:50%!important;
1539  background:var(--bg)!important;border:none!important;cursor:pointer!important;
1540  display:flex!important;align-items:center!important;justify-content:center!important;
1541  transition:background .15s,transform .15s;z-index:1;
1542  box-shadow:0 2px 8px rgba(0,0,0,.1)
1543}
1544@media(max-width:680px){
1545  #ev-immersive-header .ev-search-close{
1546    position:fixed!important;top:auto!important;bottom:24px!important;right:24px!important;
1547    width:52px!important;height:52px!important;
1548    background:#fff!important;box-shadow:0 4px 16px rgba(0,0,0,.15)!important;
1549    z-index:10000!important
1550  }
1551}
1552#ev-immersive-header .ev-search-close:hover{background:var(--bd)!important;transform:scale(1.05)}
1553#ev-immersive-header .ev-search-close svg{width:20px!important;height:20px!important;stroke:var(--t2);fill:none;stroke-width:2.5}
1554
1555#ev-immersive-header .ev-search-wrap{max-width:760px!important;margin:0 auto!important;padding:32px 24px 40px!important}
1556#ev-immersive-header .ev-search-field{
1557  display:flex!important;align-items:center!important;gap:14px!important;
1558  padding:16px 22px!important;
1559  background:var(--bg)!important;border:2px solid transparent!important;border-radius:18px!important;
1560  transition:border-color .2s,box-shadow .2s
1561}
1562#ev-immersive-header .ev-search-field:focus-within{border-color:var(--p)!important;box-shadow:0 0 0 4px rgba(59,107,74,.08)}
1563#ev-immersive-header .ev-search-field .ev-search-icon{width:22px!important;height:22px!important;stroke:var(--t3);fill:none;stroke-width:2;flex-shrink:0}
1564#ev-immersive-header .ev-search-field input{
1565  flex:1!important;border:none!important;background:none!important;outline:none;
1566  font-size:18px!important;font-family:var(--ui)!important;color:var(--t1)!important
1567}
1568#ev-immersive-header .ev-search-field input::placeholder{color:var(--t3)!important}
1569
1570#ev-immersive-header .ev-search-clear{
1571  width:28px!important;height:28px!important;border-radius:50%!important;
1572  background:var(--bd)!important;border:none!important;cursor:pointer!important;
1573  display:none!important;align-items:center!important;justify-content:center!important;
1574  transition:background .15s;flex-shrink:0
1575}
1576#ev-immersive-header .ev-search-clear.is-visible{display:flex!important}
1577#ev-immersive-header .ev-search-clear:hover{background:var(--t3)!important}
1578#ev-immersive-header .ev-search-clear svg{width:12px!important;height:12px!important;stroke:var(--white);fill:none;stroke-width:3}
1579
1580#ev-immersive-header .ev-search-loader{
1581  width:22px!important;height:22px!important;flex-shrink:0;
1582  border:2.5px solid var(--bd)!important;border-top-color:var(--p)!important;border-radius:50%!important;
1583  animation:spin .6s linear infinite;display:none!important
1584}
1585#ev-immersive-header .ev-search-loader.is-visible{display:block!important}
1586
1587#ev-immersive-header .ev-search-field kbd{
1588  font-size:11px!important;color:var(--t3)!important;background:var(--white)!important;
1589  border:1px solid var(--bd)!important;border-radius:6px!important;
1590  padding:3px 8px!important;font-family:var(--ui)!important;flex-shrink:0
1591}
1592@media(max-width:680px){
1593  #ev-immersive-header .ev-search-field kbd{display:none!important}
1594  #ev-immersive-header .ev-search-wrap{padding:20px 16px 28px!important}
1595  #ev-immersive-header .ev-search-field{padding:12px 14px!important;gap:10px!important}
1596  #ev-immersive-header .ev-search-field input{font-size:16px!important;min-width:0!important}
1597  #ev-immersive-header .ev-search-field .ev-search-icon{width:18px!important;height:18px!important}
1598  #ev-immersive-header .ev-search-inspo-grid{grid-template-columns:repeat(2,1fr)!important}
1599  #ev-immersive-header .ev-search-inspo-card{padding:10px 12px!important;gap:10px!important}
1600  #ev-immersive-header .ev-search-inspo-card img{width:40px!important;height:40px!important}
1601  #ev-immersive-header .ev-search-inspo-card-name{font-size:13px!important}
1602}
1603
1604
1605#ev-immersive-header .ev-search-tags{margin-top:20px!important;display:flex!important;flex-wrap:wrap;gap:8px!important}
1606#ev-immersive-header .ev-search-tags.is-hidden{display:none!important}
1607#ev-immersive-header .ev-search-tag{
1608  padding:8px 18px!important;border-radius:100px!important;
1609  background:var(--bg)!important;color:var(--t2)!important;border:1px solid var(--bd)!important;
1610  font-size:14px!important;font-weight:450!important;cursor:pointer;
1611  font-family:var(--ui)!important;transition:all .15s
1612}
1613#ev-immersive-header .ev-search-tag:hover{border-color:var(--p)!important;color:var(--p)!important;background:var(--pl)!important}
1614
1615#ev-immersive-header .ev-search-inspo{margin-top:32px!important}
1616#ev-immersive-header .ev-search-inspo.is-hidden{display:none!important}
1617#ev-immersive-header .ev-search-inspo-title{
1618  font-size:11px!important;font-weight:600!important;letter-spacing:1px!important;
1619  text-transform:uppercase!important;color:var(--t3)!important;margin-bottom:16px!important
1620}
1621#ev-immersive-header .ev-search-inspo-grid{
1622  display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:16px!important
1623}
1624@media(max-width:680px){#ev-immersive-header .ev-search-inspo-grid{grid-template-columns:repeat(2,1fr)!important}}
1625#ev-immersive-header .ev-search-inspo-card{
1626  display:flex!important;align-items:center!important;gap:14px!important;
1627  padding:14px 16px!important;border-radius:14px!important;
1628  background:var(--bg)!important;border:1px solid transparent!important;
1629  text-decoration:none!important;color:var(--t1)!important;
1630  transition:all .2s!important;cursor:pointer!important;
1631  overflow:hidden!important;min-width:0!important
1632}
1633#ev-immersive-header .ev-search-inspo-card:hover{
1634  border-color:var(--bd)!important;box-shadow:0 2px 8px rgba(0,0,0,.06)!important;
1635  transform:translateY(-1px)!important
1636}
1637#ev-immersive-header .ev-search-inspo-card img{
1638  width:52px!important;height:52px!important;object-fit:contain!important;flex-shrink:0!important;
1639  border-radius:10px!important
1640}
1641#ev-immersive-header .ev-search-inspo-card-text{display:flex!important;flex-direction:column!important;gap:2px!important;min-width:0!important}
1642#ev-immersive-header .ev-search-inspo-card-name{font-size:14px!important;font-weight:550!important;line-height:1.3!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
1643#ev-immersive-header .ev-search-inspo-card-sub{font-size:12px!important;color:var(--t3)!important;font-weight:400!important}
1644
1645#ev-immersive-header .ev-search-live{margin-top:24px!important}
1646#ev-immersive-header .ev-search-live:empty{display:none!important}
1647#ev-immersive-header .ev-search-live.is-hidden{display:none!important}
1648
1649#ev-immersive-header .ev-search-section{margin-bottom:20px!important}
1650#ev-immersive-header .ev-search-section:last-child{margin-bottom:0!important}
1651#ev-immersive-header .ev-search-section-label{
1652  font-size:11px!important;font-weight:600!important;letter-spacing:1px!important;
1653  text-transform:uppercase!important;color:var(--t3)!important;
1654  margin-bottom:10px!important;padding-left:2px!important
1655}
1656
1657#ev-immersive-header .ev-search-themes{display:flex!important;flex-wrap:wrap;gap:8px!important}
1658#ev-immersive-header .ev-search-theme-card{
1659  display:flex!important;align-items:center!important;gap:10px!important;
1660  padding:10px 18px 10px 12px!important;border-radius:14px!important;
1661  text-decoration:none!important;color:var(--t1)!important;
1662  transition:all .2s;cursor:pointer;border:1px solid var(--bd)!important;
1663  background:var(--white)!important
1664}
1665#ev-immersive-header .ev-search-theme-card:hover{border-color:var(--p)!important;background:var(--pl)!important}
1666#ev-immersive-header .ev-search-theme-icon{
1667  width:32px!important;height:32px!important;border-radius:9px!important;
1668  display:flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0
1669}
1670#ev-immersive-header .ev-search-theme-icon svg{width:16px!important;height:16px!important}
1671#ev-immersive-header .ev-search-theme-name{font-size:14px!important;font-weight:550!important}
1672#ev-immersive-header .ev-search-theme-sub{font-size:12px!important;color:var(--t3)!important;margin-left:4px!important}
1673
1674#ev-immersive-header .ev-search-products{
1675  display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:14px!important
1676}
1677@media(max-width:900px){#ev-immersive-header .ev-search-products{grid-template-columns:repeat(3,1fr)!important}}
1678@media(max-width:600px){#ev-immersive-header .ev-search-products{grid-template-columns:repeat(2,1fr)!important}}
1679#ev-immersive-header .ev-search-prod{
1680  text-decoration:none!important;color:var(--t1)!important;
1681  border-radius:14px!important;overflow:hidden;
1682  transition:transform .2s var(--smooth),box-shadow .2s;
1683  cursor:pointer
1684}
1685#ev-immersive-header .ev-search-prod:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.07)}
1686#ev-immersive-header .ev-search-prod-img{
1687  aspect-ratio:1;
1688  background:linear-gradient(145deg,var(--bg) 0%,#f0ede8 100%)!important;
1689  display:flex!important;align-items:center!important;justify-content:center!important;
1690  border-radius:14px!important;overflow:hidden
1691}
1692#ev-immersive-header .ev-search-prod-img img{
1693  width:72%!important;height:72%!important;object-fit:contain!important;
1694  transition:transform .35s var(--smooth)
1695}
1696#ev-immersive-header .ev-search-prod:hover .ev-search-prod-img img{transform:scale(1.06)}
1697#ev-immersive-header .ev-search-prod-info{padding:10px 4px 4px!important}
1698#ev-immersive-header .ev-search-prod-name{
1699  font-size:13px!important;font-weight:520!important;line-height:1.3!important;
1700  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden
1701}
1702#ev-immersive-header .ev-search-prod-price{
1703  font-size:13px!important;color:var(--p)!important;font-weight:600!important;margin-top:4px!important
1704}
1705#ev-immersive-header .ev-search-prod-price.is-red{color:#C9392E!important}
1706#ev-immersive-header .ev-search-prod-old{
1707  font-size:11.5px!important;color:var(--t3)!important;font-weight:400!important;
1708  text-decoration:line-through!important;margin-left:6px!important
1709}
1710#ev-immersive-header .ev-search-prod-from{
1711  font-size:11px!important;color:var(--t3)!important;font-weight:400!important
1712}
1713#ev-immersive-header .ev-search-all{
1714  grid-column:1/-1!important;text-align:center!important;
1715  padding:14px 0 4px!important;border-top:1px solid var(--bd)!important;margin-top:4px!important
1716}
1717#ev-immersive-header .ev-search-all a{
1718  color:var(--p)!important;text-decoration:none!important;
1719  font-size:14px!important;font-weight:500!important;
1720  display:inline-flex!important;align-items:center!important;gap:6px!important;
1721  transition:opacity .15s
1722}
1723#ev-immersive-header .ev-search-all a:hover{opacity:.7!important}
1724#ev-immersive-header .ev-search-all a svg{width:14px!important;height:14px!important;stroke:currentColor;fill:none;stroke-width:2}
1725
1726#ev-immersive-header .ev-search-empty{
1727  text-align:center!important;padding:32px 0!important;color:var(--t3)!important;font-size:15px!important
1728}
1729
1730#ev-immersive-header .ev-mobile{
1731  position:fixed!important;inset:0;z-index:9990;
1732  background:var(--white)!important;
1733  transform:translateX(100%);
1734  transition:transform .4s var(--smooth);
1735  display:flex!important;flex-direction:column;
1736  overflow:hidden;
1737  -webkit-overflow-scrolling:touch
1738}
1739#ev-immersive-header .ev-mobile.is-open{transform:translateX(0)}
1740
1741#ev-immersive-header .ev-mobile-top{
1742  display:flex!important;align-items:center!important;justify-content:space-between;
1743  padding:12px 16px!important;flex-shrink:0;
1744  border-bottom:1px solid var(--bd)!important
1745}
1746#ev-immersive-header .ev-mobile-top img{height:22px!important}
1747#ev-immersive-header .ev-mobile-close{
1748  width:34px!important;height:34px!important;border-radius:50%!important;
1749  background:var(--bg)!important;border:none!important;cursor:pointer;
1750  display:flex!important;align-items:center!important;justify-content:center!important
1751}
1752#ev-immersive-header .ev-mobile-close svg{width:16px!important;height:16px!important;stroke:var(--t1);fill:none;stroke-width:2}
1753
1754#ev-immersive-header .ev-mobile-search-drawer{
1755  display:none!important;padding:12px 16px!important;
1756  border-bottom:1px solid var(--bd)!important;flex-shrink:0
1757}
1758#ev-immersive-header .ev-mobile-search-drawer.is-open{display:block!important;animation:fadeUp .25s var(--smooth)}
1759#ev-immersive-header .ev-mobile-search-wrap{
1760  display:flex!important;align-items:center!important;gap:10px!important;
1761  background:var(--bg)!important;border-radius:14px!important;padding:10px 14px!important;
1762  border:2px solid transparent!important;transition:border-color .2s
1763}
1764#ev-immersive-header .ev-mobile-search-wrap:focus-within{border-color:var(--p)!important}
1765#ev-immersive-header .ev-mobile-search-input{
1766  flex:1!important;border:none!important;background:none!important;outline:none;
1767  font-size:16px!important;font-family:var(--ui)!important;color:var(--t1)!important
1768}
1769#ev-immersive-header .ev-mobile-search-input::placeholder{color:var(--t3)!important}
1770#ev-immersive-header .ev-mobile-search-icon{position:relative!important;flex-shrink:0}
1771#ev-immersive-header .ev-mobile-search-icon.is-loading svg{opacity:0}
1771
1772#ev-immersive-header .ev-mobile-loader{
1773  display:none!important;width:18px!important;height:18px!important;
1774  border:2px solid var(--bd)!important;border-top-color:var(--p)!important;border-radius:50%!important;
1775  position:absolute!important;top:0;left:0;animation:spin .6s linear infinite
1776}
1777#ev-immersive-header .ev-mobile-search-icon.is-loading .ev-mobile-loader{display:block!important}
1778@keyframes spin{to{transform:rotate(360deg)}}
1779#ev-immersive-header .ev-mobile-suggestions{
1780  max-height:50vh;overflow-y:auto;
1781  -webkit-overflow-scrolling:touch
1782}
1783#ev-immersive-header .ev-mobile-search-inspo{padding:8px 16px!important}
1784#ev-immersive-header .ev-mobile-search-inspo.is-hidden{display:none!important}
1785#ev-immersive-header .ev-mobile-inspo-chip{
1786  display:inline-block!important;padding:8px 16px!important;border-radius:100px!important;
1787  background:var(--bg)!important;color:var(--t2)!important;border:1px solid var(--bd)!important;
1788  font-size:13px!important;font-weight:450!important;text-decoration:none!important;
1789  transition:all .15s!important
1790}
1791#ev-immersive-header .ev-mobile-inspo-chip:hover{border-color:var(--p)!important;color:var(--p)!important}
1792#ev-immersive-header .ev-mobile-suggestions:empty{display:none!important}
1793#ev-immersive-header .ev-mobile-suggestions .search-suggest-product{
1794  padding:10px 0!important;border-bottom:1px solid rgba(0,0,0,.04)!important;
1795  display:flex!important;align-items:center!important;gap:12px!important
1796}
1797#ev-immersive-header .ev-mobile-suggestions .search-suggest-product-image-container{
1798  width:48px!important;height:48px!important;flex-shrink:0!important;
1799  background:var(--bg)!important;border-radius:8px!important;
1800  display:flex!important;align-items:center!important;justify-content:center!important
1801}
1802#ev-immersive-header .ev-mobile-suggestions .search-suggest-product-image-container img{
1803  width:36px!important;height:36px!important;object-fit:contain!important
1804}
1805#ev-immersive-header .ev-mobile-suggestions .row{
1806  display:flex!important;align-items:center!important;gap:12px!important;margin:0!important
1807}
1808#ev-immersive-header .ev-mobile-suggestions .acris-search-suggest-total a{
1809  display:block!important;padding:12px 0!important;text-align:center;
1810  color:var(--p)!important;font-size:13px!important;font-weight:500!important;text-decoration:none!important
1811}
1812#ev-immersive-header .ev-mobile-suggestions .search-suggest.js-search-result::after,
1813#ev-immersive-header .ev-mobile-suggestions .search-suggest.js-search-result::before,
1814#ev-immersive-header .ev-mobile-suggestions .loader,
1815#ev-immersive-header .ev-mobile-suggestions div.loader:not(.ev-mobile-loader){
1816  display:none!important;opacity:0!important;visibility:hidden!important;
1817  width:0!important;height:0!important;position:absolute!important
1818}
1819
1820#ev-immersive-header .ev-mobile-body{flex:1!important;overflow-y:auto;padding:0!important;-webkit-overflow-scrolling:touch;touch-action:pan-y!important}
1821
1822#ev-immersive-header .ev-mobile-tabs{
1823  display:flex!important;gap:6px!important;padding:16px 16px 12px!important;
1824  overflow-x:auto;flex-shrink:0;
1825  -webkit-overflow-scrolling:touch;
1826  scrollbar-width:none;
1827  touch-action:pan-x!important;overscroll-behavior-x:contain
1828}
1829#ev-immersive-header .ev-mobile-tabs::-webkit-scrollbar{display:none!important}
1830#ev-immersive-header .ev-mobile-tab{
1831  padding:10px 20px!important;border-radius:100px!important;
1832  font-size:14px!important;font-weight:500!important;white-space:nowrap;
1833  border:1.5px solid var(--bd)!important;background:none!important;
1834  color:var(--t2)!important;cursor:pointer;
1835  font-family:var(--ui)!important;
1836  transition:all .2s;flex-shrink:0
1837}
1838#ev-immersive-header .ev-mobile-tab.is-active{
1839  background:var(--t1)!important;color:var(--white)!important;border-color:var(--t1)!important
1840}
1841
1842#ev-immersive-header .ev-mobile-panel{
1843  display:none!important;padding:8px 16px 100px!important;
1844  animation:fadeUp .25s var(--smooth)
1845}
1846#ev-immersive-header .ev-mobile-panel.is-active{display:block!important}
1847@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
1848
1849#ev-immersive-header .ev-mobile-grid{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:10px!important}
1850#ev-immersive-header .ev-mobile-card{
1851  text-decoration:none!important;color:var(--t1)!important;
1852  border-radius:14px!important;overflow:hidden;
1853  background:var(--white)!important;
1854  border:1px solid var(--bd)!important;
1855  transition:border-color .2s
1856}
1857#ev-immersive-header .ev-mobile-card:active{border-color:var(--p)!important;transform:scale(.98)}
1858#ev-immersive-header .ev-mobile-card-img{
1859  aspect-ratio:1;background:linear-gradient(135deg,var(--bg) 0%,#f0ede8 100%)!important;
1860  display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden
1861}
1862#ev-immersive-header .ev-mobile-card-img img{width:65%!important;height:65%!important;object-fit:contain}
1863#ev-immersive-header .ev-mobile-card-info{padding:10px 12px 12px!important}
1864#ev-immersive-header .ev-mobile-card-name{font-size:13px!important;font-weight:500!important;line-height:1.3}
1865#ev-immersive-header .ev-mobile-card-price{font-size:12px!important;color:var(--t3)!important;margin-top:3px!important}
1866
1867#ev-immersive-header .ev-mobile-themes{display:flex!important;flex-direction:column;gap:6px!important}
1868#ev-immersive-header .ev-mobile-theme{
1869  display:flex!important;align-items:center!important;gap:12px!important;
1870  padding:12px 14px!important;border-radius:14px!important;
1871  text-decoration:none!important;color:var(--t1)!important;
1872  transition:background .15s;
1873  -webkit-tap-highlight-color:transparent
1874}
1875#ev-immersive-header .ev-mobile-theme:active{transform:scale(.98)}
1876#ev-immersive-header .ev-mobile-theme-icon-m{
1877  width:32px!important;height:32px!important;border-radius:9px!important;flex-shrink:0;
1878  display:flex!important;align-items:center!important;justify-content:center!important
1879}
1880#ev-immersive-header .ev-mobile-theme-icon-m svg{width:15px!important;height:15px!important;stroke-width:2;fill:none}
1881#ev-immersive-header .ev-mobile-theme-info{flex:1!important;min-width:0}
1882#ev-immersive-header .ev-mobile-theme-name{font-size:14px!important;font-weight:500!important;line-height:1.2}
1883#ev-immersive-header .ev-mobile-theme-sub{font-size:11px!important;color:var(--t3)!important}
1884#ev-immersive-header .ev-mobile-theme-prod{
1885  width:44px!important;height:44px!important;flex-shrink:0;
1886  border-radius:10px!important;background:var(--bg)!important;
1887  padding:4px!important;display:flex!important;align-items:center!important;justify-content:center!important
1888}
1889#ev-immersive-header .ev-mobile-theme-prod img{
1890  width:36px!important;height:36px!important;object-fit:contain!important
1891}
1892#ev-immersive-header .ev-mobile-theme-arrow{
1893  width:16px!important;height:16px!important;stroke:var(--t3);fill:none;stroke-width:2;
1894  opacity:0;transform:translateX(-4px);flex-shrink:0;
1895  transition:opacity .15s,transform .15s
1896}
1897#ev-immersive-header .ev-mobile-theme:hover .ev-mobile-theme-arrow,#ev-immersive-header .ev-mobile-theme:active .ev-mobile-theme-arrow{
1898  opacity:1;transform:translateX(0)
1899}
1900
1901#ev-immersive-header .ev-mobile-bib{display:flex!important;flex-direction:column;gap:8px!important}
1902#ev-immersive-header .ev-mobile-bib-card{
1903  display:flex!important;align-items:center!important;gap:16px!important;
1904  padding:18px 16px!important;border-radius:16px!important;
1905  background:var(--bg)!important;
1906  text-decoration:none!important;color:var(--t1)!important;
1907  transition:background .15s;
1908  -webkit-tap-highlight-color:transparent
1909}
1910#ev-immersive-header .ev-mobile-bib-card:active{background:var(--pl)!important}
1911#ev-immersive-header .ev-mobile-bib-icon{
1912  width:44px!important;height:44px!important;border-radius:12px!important;
1913  display:flex!important;align-items:center!important;justify-content:center!important;
1914  font-size:20px!important;flex-shrink:0
1915}
1916#ev-immersive-header .ev-mobile-bib-text h4{font-size:15px!important;font-weight:600!important;margin-bottom:2px!important}
1917#ev-immersive-header .ev-mobile-bib-text p{font-size:12px!important;color:var(--t3)!important}
1918
1919#ev-immersive-header .ev-mobile-links{display:flex!important;flex-direction:column;gap:2px!important;margin-top:8px!important}
1920#ev-immersive-header .ev-mobile-link{
1921  display:flex!important;align-items:center!important;justify-content:space-between;
1922  padding:16px!important;border-radius:14px!important;
1923  text-decoration:none!important;color:var(--t1)!important;
1924  font-size:15px!important;font-weight:500!important;
1925  transition:background .15s;
1926  -webkit-tap-highlight-color:transparent
1927}
1928#ev-immersive-header .ev-mobile-link:active{background:var(--bg)!important}
1929#ev-immersive-header .ev-mobile-link svg{width:16px!important;height:16px!important;stroke:var(--t3);fill:none;stroke-width:2}
1930
1931#ev-immersive-header .ev-mobile-bar{
1932  flex-shrink:0;
1933  padding:12px 16px calc(12px + env(safe-area-inset-bottom))!important;
1934  border-top:1px solid var(--bd)!important;
1935  display:flex!important;gap:8px!important;
1936  background:var(--white)!important;
1937  position:relative!important;z-index:3!important;
1938  box-shadow:0 -7px 18px rgba(20,25,15,.09)!important
1939}
1940#ev-immersive-header .ev-mobile-bar a{
1941  flex:1!important;display:flex!important;flex-direction:column;align-items:center!important;gap:4px!important;
1942  padding:10px 0!important;border-radius:12px!important;
1943  text-decoration:none!important;color:var(--t2)!important;
1944  font-size:10px!important;font-weight:500!important;letter-spacing:.3px!important;
1945  transition:all .15s;
1946  -webkit-tap-highlight-color:transparent
1947}
1948#ev-immersive-header .ev-mobile-bar a:active{background:var(--bg)!important;color:var(--p)!important}
1949#ev-immersive-header .ev-mobile-bar a svg{width:20px!important;height:20px!important;stroke:currentColor;fill:none;stroke-width:1.4}
1950/* Scroll-Hinweis (deutet an, dass unter den bildschirmhohen Aktion-Cards mehr kommt) */
1951#ev-immersive-header .ev-mobile-scrollhint{position:absolute!important;left:50%!important;bottom:calc(88px + env(safe-area-inset-bottom))!important;z-index:2!important;width:40px!important;height:40px!important;padding:0!important;border-radius:50%!important;background:var(--white)!important;border:1px solid var(--bd)!important;box-shadow:0 6px 18px rgba(20,25,15,.18)!important;display:flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateX(-50%)!important;transition:opacity .25s ease,visibility .25s!important;-webkit-tap-highlight-color:transparent}
1952#ev-immersive-header .ev-mobile-scrollhint.is-visible{opacity:1!important;visibility:visible!important;pointer-events:auto!important;animation:evScrollBounce 1.6s ease-in-out infinite!important}
1953#ev-immersive-header .ev-mobile-scrollhint svg{width:20px!important;height:20px!important;stroke:var(--p)!important;fill:none!important;stroke-width:2.4!important;stroke-linecap:round!important;stroke-linejoin:round!important}
1954@keyframes evScrollBounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(5px)}}
1955@media(prefers-reduced-motion:reduce){#ev-immersive-header .ev-mobile-scrollhint.is-visible{animation:none!important}}
1956
1957#ev-immersive-header .ev-mobile-tab.ev-tab-aktionen{background:var(--al)!important;color:var(--a)!important;font-weight:600!important;border-color:var(--a)!important}
1958#ev-immersive-header .ev-mobile-tab.ev-tab-aktionen.is-active{background:var(--a)!important;color:#fff!important;border-color:var(--a)!important}
1959
1960#ev-immersive-header .ev-mobile-aktion-hero{
1961  display:block;position:relative;border-radius:16px;overflow:hidden;
1962  min-height:220px;text-decoration:none;-webkit-tap-highlight-color:transparent;
1963  background:linear-gradient(135deg,#2A4D35,#3B6B4A)}
1964#ev-immersive-header .ev-mobile-aktion-content{
1965  position:relative;z-index:1;padding:24px 20px;display:flex;flex-direction:column;gap:8px}
1966#ev-immersive-header .ev-mobile-aktion-icon{font-size:32px;margin-bottom:4px}
1967#ev-immersive-header .ev-mobile-aktion-title{
1968  font-size:20px;font-weight:700;color:#fff;line-height:1.2}
1969#ev-immersive-header .ev-mobile-aktion-sub{
1970  font-size:14px;color:rgba(255,255,255,.85);line-height:1.4}
1971#ev-immersive-header .ev-mobile-aktion-cta{
1972  display:inline-flex;align-items:center;gap:6px;
1973  background:rgba(255,255,255,.15);backdrop-filter:blur(8px);color:#fff;border-radius:10px;
1974  padding:10px 18px;font-size:14px;font-weight:600;font-family:var(--ui);
1975  border:1px solid rgba(255,255,255,.2);margin-top:8px;width:fit-content}
1976
1977#ev-immersive-header .ev-mobile-hscroll{
1978  display:flex;gap:10px;overflow-x:auto;padding:4px 2px 12px;
1979  -webkit-overflow-scrolling:touch;scrollbar-width:none;
1980  touch-action:pan-x!important;overscroll-behavior-x:contain}
1981#ev-immersive-header .ev-mobile-hscroll::-webkit-scrollbar{display:none}
1982#ev-immersive-header .ev-mobile-hcard{
1983  flex-shrink:0;width:138px;border-radius:14px;overflow:hidden;
1984  background:var(--white);border:1px solid var(--bd);
1985  text-decoration:none;color:var(--t1);transition:border-color .15s;
1986  -webkit-tap-highlight-color:transparent}
1987#ev-immersive-header .ev-mobile-hcard:active{border-color:var(--p);transform:scale(.98)}
1988#ev-immersive-header .ev-mobile-hcard-img{
1989  aspect-ratio:1;background:linear-gradient(135deg,var(--bg) 0%,#f0ede8 100%);
1990  display:flex;align-items:center;justify-content:center;overflow:hidden}
1991#ev-immersive-header .ev-mobile-hcard-img img{width:80%;height:80%;object-fit:contain}
1992#ev-immersive-header .ev-mobile-hcard-info{padding:8px 10px 10px}
1993#ev-immersive-header .ev-mobile-hcard-name{font-size:12px;font-weight:600;line-height:1.3;margin-bottom:3px}
1994#ev-immersive-header .ev-mobile-hcard-reason{font-size:11px;color:var(--t3);line-height:1.3;margin-bottom:5px}
1995#ev-immersive-header .ev-mobile-hcard-price{font-size:12px;font-weight:700;color:var(--p)}
1996
1997#ev-immersive-header .ev-mobile-overlay{
1998  position:absolute;inset:0;z-index:200;display:none;
1999  flex-direction:column;justify-content:flex-end;
2000  background:rgba(0,0,0,.45)}
2001#ev-immersive-header .ev-mobile-overlay.is-open{display:flex!important}
2002#ev-immersive-header .ev-mobile-overlay-sheet{
2003  background:var(--white);border-radius:20px 20px 0 0;
2004  padding:20px 20px calc(20px + env(safe-area-inset-bottom));
2005  max-height:72vh;overflow-y:auto;-webkit-overflow-scrolling:touch;
2006  animation:slideUp .3s var(--smooth)}
2007@keyframes slideUp{from{transform:translateY(100%)}to{transform:translateY(0)}}
2008#ev-immersive-header .ev-mobile-overlay-handle{
2009  width:36px;height:4px;background:var(--bd);border-radius:2px;margin:0 auto 16px}
2010#ev-immersive-header .ev-mobile-overlay-title{
2011  font-size:16px;font-weight:700;color:var(--t1);margin-bottom:14px;
2012  display:flex;align-items:center;justify-content:space-between}
2013#ev-immersive-header .ev-mobile-overlay-close{
2014  width:28px;height:28px;border-radius:50%;background:var(--bg);
2015  border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;
2016  flex-shrink:0}
2017#ev-immersive-header .ev-mobile-overlay-close svg{
2018  width:14px;
2018height:14px;stroke:var(--t1);fill:none;stroke-width:2}
2019#ev-immersive-header .ev-mobile-nl{padding:0 0 14px;border-bottom:1px solid var(--bd);margin-bottom:10px}
2020#ev-immersive-header .ev-mobile-nl-label{font-size:13px;font-weight:600;color:var(--t1);margin-bottom:2px}
2021#ev-immersive-header .ev-mobile-nl-sub{font-size:12px;color:var(--t2);margin-bottom:8px}
2022#ev-immersive-header .ev-mobile-nl-hint{font-size:11px;color:var(--t3);margin-top:6px;line-height:1.4}
2023#ev-immersive-header .ev-mobile-nl-form{display:flex;gap:6px}
2024#ev-immersive-header .ev-mobile-nl-form input{
2025  flex:1;padding:10px 14px;border-radius:10px;border:1.5px solid var(--bd);
2026  font-size:15px;font-family:var(--ui);background:var(--bg);color:var(--t1);outline:none}
2027#ev-immersive-header .ev-mobile-nl-form input:focus{border-color:var(--p)}
2028#ev-immersive-header .ev-mobile-nl-form button{
2029  padding:0 16px;height:44px;border-radius:10px;border:none;
2030  background:var(--p);color:#fff;font-size:13px;cursor:pointer;flex-shrink:0;
2031  display:flex;align-items:center;justify-content:center;font-weight:600;
2032  font-family:var(--ui);white-space:nowrap}
2033#ev-immersive-header .ev-mobile-nl-msg{font-size:12px;margin-top:6px;min-height:16px}
2034#ev-immersive-header .ev-mobile-nl-msg.ok{color:var(--p)}
2035#ev-immersive-header .ev-mobile-nl-msg.err{color:var(--rd)}
2036#ev-immersive-header .ev-mobile-overlay-links{display:flex;flex-direction:column;gap:6px}
2037#ev-immersive-header .ev-mobile-overlay-link{
2038  display:flex;align-items:center;justify-content:space-between;
2039  padding:14px 16px;border-radius:12px;background:var(--bg);
2040  text-decoration:none;color:var(--t1);font-size:15px;font-weight:500;
2041  -webkit-tap-highlight-color:transparent;transition:background .15s}
2042#ev-immersive-header .ev-mobile-overlay-greet{padding:2px 16px 10px;font-size:13px;font-weight:600;color:var(--t3);letter-spacing:.2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
2043#ev-immersive-header .ev-mobile-overlay-link:active{background:var(--pl)}
2044#ev-immersive-header .ev-mobile-overlay-link svg{
2045  width:16px;height:16px;stroke:var(--t3);fill:none;stroke-width:2;flex-shrink:0}
2046#ev-immersive-header .ev-mobile-hilfe-contact{
2047  margin-top:14px;padding:16px;border-radius:12px;
2048  background:var(--bg);border:1px solid var(--bd)}
2049#ev-immersive-header .ev-mobile-hilfe-contact p{
2050  font-size:13px;color:var(--t2);margin-bottom:6px}
2051#ev-immersive-header .ev-mobile-hilfe-contact a{
2052  font-size:14px;font-weight:600;color:var(--p);text-decoration:none}
2053
2054#ev-immersive-header .ev-mobile-bar button{
2055  flex:1!important;display:flex!important;flex-direction:column;
2056  align-items:center!important;gap:4px!important;padding:10px 0!important;
2057  border-radius:12px!important;background:none!important;border:none!important;
2058  cursor:pointer;color:var(--t2)!important;font-size:10px!important;
2059  font-weight:500!important;letter-spacing:.3px!important;
2060  font-family:var(--ui)!important;transition:all .15s;
2061  -webkit-tap-highlight-color:transparent}
2062#ev-immersive-header .ev-mobile-bar button:active{background:var(--bg)!important;color:var(--p)!important}
2063#ev-immersive-header .ev-mobile-bar button svg{
2064  width:20px!important;height:20px!important;stroke:currentColor;fill:none;stroke-width:1.4}
2065
2066@keyframes megaItemIn{
2067  from{opacity:0;transform:translateY(10px)}
2068  to{opacity:1;transform:translateY(0)}
2069}
2070#ev-immersive-header .ev-mega.is-open [data-stagger]{
2071  animation:megaItemIn .3s var(--smooth) both
2072}
2073
2074/* Sichtbarkeits-Gates Aktionen (dual: Drogerie /aktionen + Neukunden /neukunden-aktion) */
2075/* Pill, Mobil-Tab, Mobil-Panel: sichtbar sobald IRGENDEINE Aktion laeuft */
2076body:not(.ev-any-aktion-active) #ev-immersive-header #navAktionen,
2077body:not(.ev-any-aktion-active) #ev-immersive-header .ev-mobile-tab.ev-tab-aktionen,
2078body:not(.ev-any-aktion-active) #ev-immersive-header #m-aktionen{display:none!important}
2079/* Neukunden-Topbar: nur wenn Neukunden-Aktion laeuft */
2080body:not(.ev-neukunden-active) #ev-immersive-header .ev-nk-topbar:not(.ev-ma-topbar){display:none!important}
2081body:not(.ev-aktion-active) #ev-immersive-header .ev-ma-topbar{display:none!important}
2082/* Einzelne Cards je nach Aktion (Mobil-Hero + Desktop-Dropdown) */
2083body:not(.ev-neukunden-active) #ev-immersive-header .evm-akt-hero--neukunden,
2084body:not(.ev-neukunden-active) #ev-immersive-header .ev-akt-dd-card--neukunden{display:none!important}
2085body:not(.ev-aktion-active) #ev-immersive-header .ev-akt-dd-card--vitaminb{display:none!important}
2086body:not(.ev-aktion-active) #ev-immersive-header .evm-akt-hero--vitaminb,
2087body:not(.ev-aktion-active) #ev-immersive-header .evm-akt-hero--haut-haare,
2088body:not(.ev-aktion-active) #ev-immersive-header .ev-akt-dd-card--haut-haare{display:none!important}
2089
2090#ev-immersive-header .ev-sparset-hero{position:relative;background:linear-gradient(180deg,#FFF8E8 0%,#FAEFD2 100%);border:1px solid #E8D89A;border-radius:14px;padding:24px 20px 20px;text-decoration:none;display:block;overflow:hidden;box-shadow:0 4px 16px rgba(196,162,101,.12)}
2091#ev-immersive-header .ev-sparset-hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 92% 18%, rgba(244,211,94,.35) 0%, transparent 28%),radial-gradient(circle at 8% 88%, rgba(168,200,221,.25) 0%, transparent 35%);pointer-events:none}
2092#ev-immersive-header .ev-sparset-leaf{position:absolute;color:#3B6B4A;opacity:.18;pointer-events:none}
2093#ev-immersive-header .ev-sparset-leaf--tl{top:-12px;left:-18px;width:64px;height:64px;transform:rotate(-25deg)}
2094#ev-immersive-header .ev-sparset-leaf--br{bottom:-20px;right:6px;width:88px;height:88px;transform:rotate(160deg);opacity:.14}
2095#ev-immersive-header .ev-sparset-leaf--bl{bottom:36px;left:-22px;width:56px;height:56px;transform:rotate(75deg);opacity:.14}
2096#ev-immersive-header .ev-sparset-lemon{position:absolute;top:14px;right:14px;width:54px;height:54px;filter:drop-shadow(0 4px 8px rgba(212,168,21,.25))}
2097#ev-immersive-header .ev-sparset-eyebrow{position:relative;display:inline-block;font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#1A4E32;background:rgba(255,252,245,.85);padding:4px 10px;border-radius:100px;border:1px solid #F4D35E;margin-bottom:10px}
2098#ev-immersive-header .ev-sparset-title{position:relative;font-size:22px;line-height:1.1;font-weight:700;color:#1A4E32;margin-bottom:4px;font-family:Georgia,"Times New Roman",serif;letter-spacing:-.3px}
2099#ev-immersive-header .ev-sparset-title em{font-style:italic;color:#D4A815}
2100#ev-immersive-header .ev-sparset-sub{position:relative;font-size:12px;color:#4F5B53;margin-bottom:16px;line-height:1.4;max-width:240px}
2101#ev-immersive-header .ev-sparset-benefits{position:relative;display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
2102#ev-immersive-header .ev-sparset-benefit{display:flex;align-items:baseline;gap:10px;background:rgba(255,255,255,.6);border:1px solid rgba(244,211,94,.5);border-radius:10px;padding:10px 12px}
2103#ev-immersive-header .ev-sparset-benefit-pct{font-size:22px;font-weight:800;color:#1A4E32;font-family:inherit;line-height:1;letter-spacing:-.3px;min-width:48px}
2104#ev-immersive-header .ev-sparset-benefit-text{font-size:13px;color:#2C3A30;font-weight:600;line-height:1.3}
2105#ev-immersive-header .ev-sparset-benefit-text small{display:block;font-size:10px;color:#6b7269;font-weight:400;margin-top:2px}
2106#ev-immersive-header .ev-sparset-hint{position:relative;display:flex;align-items:center;gap:6px;font-size:11px;color:#4F5B53;margin-bottom:14px}
2107#ev-immersive-header .ev-sparset-hint::before{content:"";display:inline-block;width:14px;height:14px;flex-shrink:0;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A4E32' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>") center/contain no-repeat}
2108#ev-immersive-header .ev-sparset-cta-primary{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;background:#1A4E32;color:#fff!important;text-decoration:none;font-size:14px;font-weight:600;letter-spacing:.2px;padding:13px 16px;border-radius:100px;box-shadow:0 4px 12px rgba(26,78,50,.25);transition:transform .15s ease}
2109#ev-immersive-header .ev-sparset-cta-primary:hover{transform:translateY(-1px);background:#16432B}
2110#ev-immersive-header .ev-sparset-cta-primary svg{width:14px;
2110height:14px}
2111
2112#ev-immersive-header .ev-nk-topbar{position:relative;display:flex;align-items:center;justify-content:center;gap:9px;width:100%;background:linear-gradient(90deg,#16231A 0%,#274536 48%,#1B2E22 100%);color:#F4EFE4;text-decoration:none;padding:9px 16px;border-bottom:1px solid rgba(196,162,101,.35);overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:12.5px;font-weight:600;letter-spacing:.1px;line-height:1.25;text-align:center;transition:background .25s ease;box-sizing:border-box}
2113#ev-immersive-header .ev-nk-topbar:hover{background:linear-gradient(90deg,#1A2C21 0%,#2E5040 48%,#20342A 100%)}
2114#ev-immersive-header .ev-nk-topbar:focus-visible{outline:2px solid #C4A265;outline-offset:-3px}
2115/* Topbar-Zeitrotation Monatsaktion (2026-07-31): nk-Bar in-flow = Hoehe, ma-Bar absolut drueber, Crossfade */
2116#ev-immersive-header .ev-topbar-rot{position:relative}
2117#ev-immersive-header .ev-topbar-rot .ev-nk-topbar{transition:opacity .4s ease,visibility .4s ease}
2118#ev-immersive-header .ev-ma-topbar{position:absolute;inset:0;opacity:0;visibility:hidden}
2119#ev-immersive-header .ev-topbar-rot.rot-ma .ev-nk-topbar:not(.ev-ma-topbar){opacity:0;visibility:hidden}
2120#ev-immersive-header .ev-topbar-rot.rot-ma .ev-ma-topbar{opacity:1;visibility:visible}
2121#ev-immersive-header .ev-topbar-rot.rot-ma-only .ev-nk-topbar:not(.ev-ma-topbar){display:none!important}
2122/* 2026-08-25 FIX: position:relative, NIE static. Sonst ist die Bar nicht Containing Block des Shine, er entkommt dem overflow:hidden, blaeht die Dokumentbreite auf 163% und iOS laesst die Seite kaputt-rauszoomen. */
2123#ev-immersive-header .ev-topbar-rot.rot-ma-only .ev-ma-topbar{position:relative;opacity:1;visibility:visible}
2124/* Shine bewegt sich per transform, NIE per left: left rechnet in jedem Frame das Layout neu. -118.421% / 328.947% = die alten -45% / 125% umgerechnet auf die Eigenbreite (38%). */
2125#ev-immersive-header .ev-nk-topbar-shine{position:absolute;top:0;left:0;width:38%;height:100%;background:linear-gradient(100deg,transparent,rgba(216,185,120,.16),transparent);transform:translateX(-118.421%) skewX(-18deg);pointer-events:none;animation:nkShine 6.5s ease-in-out infinite}
2126@keyframes nkShine{0%{transform:translateX(-118.421%) skewX(-18deg)}55%,100%{transform:translateX(328.947%) skewX(-18deg)}}
2127#ev-immersive-header .ev-nk-topbar-gift{position:relative;flex-shrink:0;width:18px;height:18px}
2128#ev-immersive-header .ev-nk-topbar-gift svg{width:18px;height:18px;display:block;stroke:#D8B978;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
2129#ev-immersive-header .ev-nk-topbar-text{position:relative;display:inline-block}
2130#ev-immersive-header .ev-nk-topbar-text strong{font-weight:800;color:#fff}
2131#ev-immersive-header .ev-nk-topbar-gold{color:#E0C083;font-weight:800}
2132#ev-immersive-header .ev-nk-topbar-sep{color:rgba(216,185,120,.6);margin:0 7px;font-weight:400}
2133#ev-immersive-header .ev-nk-topbar-cta{color:#E0C083;font-weight:700}
2134#ev-immersive-header .ev-nk-topbar-arrow{display:inline-block;margin-left:6px;color:#E0C083;font-weight:700;transition:transform .2s ease}
2135#ev-immersive-header .ev-nk-topbar:hover .ev-nk-topbar-arrow{transform:translateX(3px)}
2136#ev-immersive-header .ev-nk-topbar .evd-nk-short{display:none}
2137@media (min-width:768px){
2138  #ev-immersive-header .ev-nk-topbar{padding:11px 20px;font-size:14px;gap:11px}
2139  #ev-immersive-header .ev-nk-topbar-gift,#ev-immersive-header .ev-nk-topbar-gift svg{width:20px;height:20px}
2140}
2141@media (max-width:767px){
2142  #ev-immersive-header .ev-nk-topbar-sep,#ev-immersive-header .ev-nk-topbar-cta,#ev-immersive-header .ev-nk-topbar .evd-nk-long{display:none}
2143  #ev-immersive-header .ev-nk-topbar .evd-nk-short{display:inline}
2144  #ev-immersive-header .ev-nk-topbar-text{white-space:nowrap}
2145  #ev-immersive-header .ev-nk-topbar-arrow{margin-left:8px}
2146}
2147@media (prefers-reduced-motion: reduce){
2148  #ev-immersive-header .ev-nk-topbar,#ev-immersive-header .ev-nk-topbar-arrow{transition:none}
2149  #ev-immersive-header .ev-nk-topbar-shine{animation:none;display:none}
2150}
2151
2152#ev-immersive-header a.ev-search-tag{display:inline-block!important;text-decoration:none!important}
2153#ev-immersive-header .ev-search-tag--nav{border-color:var(--p)!important;color:var(--p)!important;font-weight:600!important}
2154#ev-immersive-header .ev-search-tag--nav:hover{background:var(--pl)!important;border-color:var(--p)!important;color:var(--p)!important}
2155
2156#ev-immersive-header .evm-akt-badge{position:absolute!important;display:flex!important;align-items:center!important;justify-content:center!important;pointer-events:none!important;z-index:4!important;filter:drop-shadow(0 2px 4px rgba(0,0,0,.22))!important}
2157#ev-immersive-header .evm-akt-badge .evm-akt-flower{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;fill:#C9392E!important;stroke:none!important}
2158#ev-immersive-header .evm-akt-badge>span{position:relative!important;z-index:1!important;font-weight:800!important;color:#FFFFFF!important;letter-spacing:0!important;line-height:1!important;font-family:var(--ui)!important;white-space:nowrap!important;font-size:10px!important}
2159
2160#ev-immersive-header .evm-th-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:4px 10px!important}
2161#ev-immersive-header .evm-th-list{display:flex!important;flex-direction:column!important}
2162#ev-immersive-header .evm-th{display:flex!important;align-items:center!important;gap:14px!important;padding:12px!important;border-radius:14px!important;text-decoration:none!important;color:var(--t1)!important;transition:background .2s var(--smooth),transform .2s var(--smooth)!important}
2163#ev-immersive-header .evm-th-grid .evm-th:hover{background:var(--tc)!important;transform:translateY(-2px)!important}
2164#ev-immersive-header .evm-th-list .evm-th{border-radius:0!important;border-bottom:1px solid var(--bd)!important;padding:16px 6px!important;gap:16px!important;-webkit-tap-highlight-color:transparent}
2165#ev-immersive-header .evm-th-list .evm-th:last-child{border-bottom:none!important}
2166#ev-immersive-header .evm-th-list .evm-th:active{background:var(--tc)!important}
2167#ev-immersive-header .evm-th-img{position:relative!important;flex-shrink:0!important;width:56px!important;height:56px!important;border-radius:12px!important;background:var(--bg)!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:visible!important}
2168#ev-immersive-header .evm-th-list .evm-th-img{width:62px!important;height:62px!important}
2169#ev-immersive-header .evm-th-img img{width:82%!important;height:82%!important;object-fit:contain!important;filter:drop-shadow(0 4px 8px rgba(15,35,20,.14))!important}
2170#ev-immersive-header .evm-th-text{flex:1!important;min-width:0!important;display:flex!important;flex-direction:column!important;gap:3px!important}
2171#ev-immersive-header .evm-th-text strong{font-size:15px!important;font-weight:600!important;line-height:1.2!important;letter-spacing:-.01em!important;color:var(--t1)!important}
2172#ev-immersive-header .evm-th-text span{font-size:12.5px!important;color:var(--t3)!important;line-height:1.35!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
2173#ev-immersive-header .evm-th-list .evm-th-text span{white-space:normal!important}
2174#ev-immersive-header .evm-th-arrow{flex-shrink:0!important;width:18px!important;height:18px!important;color:var(--t3)!important;opacity:.55!important}
2175#ev-immersive-header .evm-th-arrow svg{width:18px!important;height:18px!important}
2176#ev-immersive-header .evm-th-img>.evm-akt-badge{top:-8px!important;right:-8px!important;width:32px!important;height:32px!important}
2177#ev-immersive-header .evm-th-img>.evm-akt-badge>span{font-size:9px!important}
2178
2179
2180#ev-immersive-header #m-aktionen.is-active{display:flex!important;flex-direction:column!important;gap:14px!important}
2181#ev-immersive-header .evm-akt-hero{position:relative!important;display:block!important;border-radius:18px!important;overflow:hidden!important;text-decoration:none!important;box-shadow:0 8px 28px rgba(0,0,0,.1)!important}
2182#ev-immersive-header .evm-akt-hero img{width:100%!important;height:auto!important;display:block!important}
2183#ev-immersive-header .evm-akt-ribbon{position:absolute!important;top:15px!important;left:-42px!important;transform:rotate(-45deg)!important;padding:5px 46px!important;font-size:12px!important;font-weight:800!important;letter-spacing:.4px!important;color:#fff!important;font-family:var(--ui)!important;text-align:center!important;box-shadow:0 2px 6px rgba(0,0,0,.25)!important;z-index:5!important;text-transform:uppercase!important}
2184#ev-immersive-header .evm-akt-ribbon--vitamine{background:#3B6B4A!important}
2185#ev-immersive-header .evm-akt-ribbon--haut-haare{background:#C9392E!important}
2186/* Titel-Overlay der H&H-Mobil-Card (Bild ist bewusst textfrei, ruhige Flaeche oben) */
2187#ev-immersive-header .evm-akt-hero--haut-haare .ev-hh-card-txt{position:absolute;top:6.5%;left:10%;right:10%;text-align:center;z-index:4;pointer-events:none;color:#24422F;text-shadow:0 1px 8px rgba(255,255,255,.75),0 0 2px rgba(255,255,255,.6);font-family:Georgia,'Times New Roman',serif}
2188#ev-immersive-header .evm-akt-hero--haut-haare .ev-hh-card-txt strong{display:block;font-size:26px;font-weight:700;letter-spacing:-.3px;line-height:1.12}
2189#ev-immersive-header .evm-akt-hero--haut-haare .ev-hh-card-txt span{display:block;margin-top:4px;font-size:13px;font-weight:400;letter-spacing:.2px}
2190#ev-immersive-header .evm-akt-ribbon--vitaminb{background:#402284!important}
2191#ev-immersive-header .ev-mobile-links--top{margin:2px 0 12px!important}
2192#ev-immersive-header .ev-mobile-links--top .ev-mobile-link{background:var(--pl)!important;border:1px solid rgba(59,107,74,.28)!important;color:var(--p)!important;font-weight:600!important}
2193#ev-immersive-header .ev-mobile-links--top .ev-mobile-link svg{stroke:var(--p)!important}
2194#ev-immersive-header .evm-akt-hero>.evm-akt-badge{top:12px!important;right:12px!important;width:52px!important;height:52px!important}
2195#ev-immersive-header .evm-akt-hero>.evm-akt-badge>span{font-size:12px!important}
2196
2197/* ===== Neukunden Mobil-Card (Ribbon gold, Badge gruen = Geschenk) ===== */
2198#ev-immersive-header .evm-akt-ribbon--neukunden{background:#C4A265!important;color:#1c2b20!important}
2199#ev-immersive-header .evm-akt-badge--gratis .evm-akt-flower{fill:#3B6B4A!important}
2200#ev-immersive-header .evm-akt-hero--neukunden>.evm-akt-badge>span{font-size:10px!important;letter-spacing:.2px!important}
2201
2202/* ===== Desktop Aktionen-Dropdown (2 Bild-Cards) ===== */
2203#ev-immersive-header .ev-akt-nav{position:relative!important}
2204#ev-immersive-header .ev-akt-nav .ev-akt-pill{display:inline-flex!important;align-items:center!important;gap:5px!important;height:auto!important;color:var(--a)!important;font-weight:600!important;background:var(--al)!important;padding:7px 16px!important;border:none!important;border-radius:100px!important;font-size:13px!important;letter-spacing:.3px!important;cursor:pointer!important;font-family:var(--ui)!important;line-height:1!important;text-transform:none!important;transition:background .2s,color .2s!important}
2205#ev-immersive-header .ev-akt-nav .ev-akt-pill:hover,#ev-immersive-header .ev-akt-nav.is-open .ev-akt-pill{background:var(--a)!important;color:#fff!important}
2206#ev-immersive-header .ev-akt-nav .ev-akt-pill .nav-arrow{width:10px!important;height:10px!important;margin:0!important;transition:transform .25s var(--smooth)!important}
2207#ev-immersive-header .ev-akt-nav .ev-akt-pill .nav-arrow svg{width:10px!important;height:10px!important;stroke:currentColor!important;fill:none!important;stroke-width:2.4!important}
2208#ev-immersive-header .ev-akt-nav.is-open .ev-akt-pill .nav-arrow{transform:rotate(180deg)!important}
2209#ev-immersive-header .ev-akt-dd{position:absolute!important;top:calc(100% + 12px)!important;left:0!important;display:flex!important;gap:12px!important;padding:12px!important;background:var(--white)!important;border-radius:16px!important;box-shadow:0 12px 40px rgba(0,0,0,.14),0 2px 8px rgba(0,0,0,.06)!important;opacity:0!important;visibility:hidden!important;transform:translateY(-6px)!important;transition:opacity .2s,visibility .2s,transform .22s var(--smooth)!important;z-index:1002!important}
2210#ev-immersive-header .ev-akt-dd::before{content:""!important;position:absolute!important;bottom:100%!important;left:0!important;right:0!important;height:16px!important}
2211#ev-immersive-header .ev-akt-nav.is-open .ev-akt-dd{opacity:1!important;visibility:visible!important;transform:translateY(0)!important}
2212#ev-immersive-header .ev-akt-dd-card{display:block!important;width:190px!important;border-radius:12px!important;overflow:hidden!important;text-decoration:none!important;color:var(--t1)!important;background:var(--bg)!important;border:1px solid var(--bd)!important;transition:transform .2s var(--smooth),box-shadow .2s,border-color .2s!important}
2213#ev-immersive-header .ev-akt-dd-card:hover{transform:translateY(-3px)!important;box-shadow:0 10px 26px rgba(0,0,0,.1)!important;border-color:transparent!important}
2214#ev-immersive-header .ev-akt-dd-media{position:relative!important;display:block!important;aspect-ratio:16/10!important;overflow:hidden!important;background:linear-gradient(135deg,var(--bg),#f0ede8)!important}
2215#ev-immersive-header .ev-akt-dd-media img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 34%!important;display:block!important}
2216#ev-immersive-header .ev-akt-dd-badge{position:absolute!important;top:8px!important;right:8px!important;font-size:10px!important;font-weight:800!important;letter-spacing:.3px!important;color:#fff!important;padding:3px 8px!important;border-radius:100px!important;line-height:1!important;box-shadow:0 2px 6px rgba(0,0,0,.25)!important}
2217#ev-immersive-header .ev-akt-dd-badge--gratis{background:#3B6B4A!important}
2218#ev-immersive-header .ev-akt-dd-badge--red{background:#C9392E!important}
2219#ev-immersive-header .ev-akt-dd-badge--vitaminb{background:#C4A265!important;color:#20301f!important;white-space:nowrap!important}
2220#ev-immersive-header .ev-akt-dd-info{display:block!important;padding:10px 12px 12px!important}
2221#ev-immersive-header .ev-akt-dd-info strong{display:block!important;font-size:13.5px!important;font-weight:650!important;line-height:1.25!important;color:var(--t1)!important}
2222#ev-immersive-header .ev-akt-dd-info span{display:block!important;font-size:11.5px!important;color:var(--t3)!important;line-height:1.35!important;margin-top:3px!important}
2223
2224/* ===== Menue-Korrekturen 25.08. (bleiben ueber den Sommer Sale hinaus) ===== */
2225/* Vier Reiter muessen auf 390 px passen. Statt Inhaltsbreite + Scrollen bekommen sie gleiche
2226   Breite, kleinere Schrift und weniger Innenabstand - damit ist H-Scrollen ausgeschlossen,
2227   auch wenn ein Label spaeter laenger wird. Faellt ein Reiter weg (kein Aktions-Gate offen),
2228   teilen sich die uebrigen den Platz von selbst. */
2229#ev-immersive-header .ev-mobile-tabs{gap:5px!important;padding:14px 12px 10px!important;
2230  overflow-x:hidden!important}
2231#ev-immersive-header .ev-mobile-tab{flex:1 1 0!important;min-width:0!important;
2232  padding:9px 3px!important;font-size:12px!important;text-align:center!important;
2233  justify-content:center!important}
2234
2235/* --- Bestseller-Reiter: Rangliste statt Kachel-Liste --- */
2236/* Achtung: #ev-immersive-header *{margin:0;padding:0} schlaegt jede Klassen-Regel
2237   -> alle Abstaende mit id-Prefix + !important. */
2238#ev-immersive-header .evm-bsr-intro{font-size:12.5px!important;line-height:1.45!important;
2239  color:var(--t3)!important;margin:2px 2px 8px!important}
2240#ev-immersive-header .evm-bsr-list{display:flex!important;flex-direction:column!important;
2241  min-height:120px!important}
2242#ev-immersive-header .evm-bsr{display:flex!important;align-items:center!important;gap:12px!important;
2243  padding:12px 2px!important;text-decoration:none!important;color:var(--t1)!important;
2244  border-bottom:1px solid var(--bd)!important}
2245#ev-immersive-header .evm-bsr:last-child{border-bottom:none!important}
2246#ev-immersive-header .evm-bsr-n{flex:0 0 auto!important;display:inline-flex!important;
2247  align-items:center!important;justify-content:center!important;width:24px!important;
2248  height:24px!important;border-radius:50%!important;background:var(--al)!important;
2249  color:var(--a)!important;font-size:12px!important;font-weight:800!important;line-height:1!important;
2250  font-variant-numeric:tabular-nums!important}
2251#ev-immersive-header .evm-bsr.is-top .evm-bsr-n{background:var(--a)!important;color:#fff!important}
2252#ev-immersive-header .evm-bsr-img{flex:0 0 auto!important;width:56px!important;height:56px!important;
2253  border-radius:10px!important;background:linear-gradient(135deg,var(--bg),#f0ede8)!important;
2254  display:flex!important;align-items:center!important;justify-content:center!important;
2255  overflow:hidden!important}
2256#ev-immersive-header .evm-bsr-img img{width:82%!important;height:82%!important;object-fit:contain!important}
2257#ev-immersive-header .evm-bsr-body{flex:1!important;min-width:0!important;display:flex!important;
2258  flex-direction:column!important;gap:2px!important}
2259#ev-immersive-header .evm-bsr-name{font-size:13.5px!important;font-weight:550!important;
2260  line-height:1.3!important;display:-webkit-box!important;-webkit-line-clamp:2!important;
2261  -webkit-box-orient:vertical!important;overflow:hidden!important}
2262#ev-immersive-header .evm-bsr-price{font-size:14px!important;font-weight:700!important;
2263  color:var(--t1)!important}
2264#ev-immersive-header .evm-bsr-sale{font-size:11.5px!important;font-weight:800!important;
2265  color:#C2410C!important}
2266#ev-immersive-header .evm-bsr-empty{padding:24px 0!important;text-align:center!important;
2267  color:var(--t3)!important;font-size:14px!important}
2268/* Skelett: exakt so hoch wie eine echte Zeile -> beim Nachladen springt nichts.
2269   (Vorher stand der Container leer da, bis die Store-API antwortete.) */
2270#ev-immersive-header .evm-bsr-sk{display:flex!important;align-items:center!important;
2271  gap:12px!important;padding:12px 2px!important;border-bottom:1px solid var(--bd)!important}
2272#ev-immersive-header .evm-bsr-sk i{display:block!important;border-radius:8px!important;
2273  background:linear-gradient(90deg,#F2F0EB 25%,#E9E6DF 37%,#F2F0EB 63%)!important;
2274  background-size:400% 100%!important;animation:evBsrSk 1.3s ease-in-out infinite!important}
2275#ev-immersive-header .evm-bsr-sk i.n{width:24px!important;height:24px!important;
2276  border-radius:50%!important;flex:0 0 auto!important}
2277#ev-immersive-header .evm-bsr-sk i.m{width:56px!important;height:56px!important;flex:0 0 auto!important}
2278#ev-immersive-header .evm-bsr-sk i.t{height:12px!important;flex:1!important}
2279@keyframes evBsrSk{0%{background-position:100% 50%}100%{background-position:0 50%}}
2280@media(prefers-reduced-motion:reduce){#ev-immersive-header .evm-bsr-sk i{animation:none!important}}
2281
2282/* --- PDP-Sticky-Kaufleiste vs. geoeffnetes Mobil-Menue (Befund 25.08.) --- */
2283/* Das Theme setzt header.header-main{z-index:10}. Der eigene Header (.ev-header z-index 9000)
2284   UND das Mobil-Menue (.ev-mobile z-index 9990) liegen darin und sind damit nach aussen auf 10
2285   gedeckelt. Die Sticky-Kaufleiste der PDP (.evm-stickycta, z-index 980) lag deshalb ueber dem
2286   geoeffneten Menue - im Browser nachgewiesen: elementFromPoint(195,810) lieferte bei offenem
2287   Menue .evm-stickycta-buy statt eines Menue-Elements.
2288   Fix: nur solange das Menue offen ist (body.ev-mobile-open) den Header-Stacking-Kontext
2289   hochziehen. Geschlossen bleibt alles wie vorher, die Leiste ist weiter klickbar. Offcanvas-
2290   Warenkorb und Consent-Layer oeffnen nie bei offenem Menue und sind nicht betroffen.
2291   Zweite Regel mit Theme-Klasse = hoehere Spezifitaet als seiten-eigene body:has()-Header-Fixes
2292   (siehe reference_header_zindex_standardproblem). */
2293body.ev-mobile-open header.header-main{z-index:9990!important}
2294body.ev-mobile-open header.header-main.rhweb-cms-header{z-index:9990!important}
2295
2296/* ===== Aktions-Look (generisch, seit 14.09.2026; Klassen historisch ev-ss26-*) ===== */
2297body:not(.ev-aktion-active) #ev-immersive-header .evm-ss26mm{display:none!important}
2298#ev-immersive-header .ev-nk-topbar.ev-ss26-topbar{background:linear-gradient(90deg,#FFD23A 0%,#FFC800 48%,#FFCE1F 100%);color:#3D2A00;border-bottom:2px solid #E08A00;padding-bottom:8px}
2299#ev-immersive-header .ev-nk-topbar.ev-ss26-topbar:hover{background:linear-gradient(90deg,#F7C420 0%,#F5BD00 48%,#F9C526 100%)}
2300#ev-immersive-header .ev-nk-topbar.ev-ss26-topbar:focus-visible{outline:2px solid #3D2A00;outline-offset:-3px}
2301#ev-immersive-header .ev-nk-topbar.ev-ss26-topbar .ev-nk-topbar-gold{color:#8A2F08;font-weight:900}
2302#ev-immersive-header .ev-nk-topbar.ev-ss26-topbar strong{color:#3D2A00;font-weight:900}
2303#ev-immersive-header .ev-nk-topbar.ev-ss26-topbar .ev-nk-topbar-arrow{color:#3D2A00}
2304#ev-immersive-header .ev-akt-pill.ev-ss26-pill{background:#FFC800;color:#3D2A00;font-weight:800;border-radius:100px;padding:7px 16px;text-decoration:none;display:inline-block;box-shadow:0 2px 0 #E08A00;transition:background .15s,transform .12s}
2305#ev-immersive-header .ev-akt-pill.ev-ss26-pill:hover{background:#F5BD00}
2306#ev-immersive-header .ev-akt-pill.ev-ss26-pill:active{transform:translateY(1px);box-shadow:0 1px 0 #E08A00}
2307
2308/* ===== Herbst-Trio kompakt (mobiler Aktionsreiter), aus tools/aktion_herbst/highlight_herbst.py ===== */
2309#ev-immersive-header .evm-hbtk{position:relative!important;overflow:clip!important;display:block!important;border-radius:18px!important;
2310  border:1px solid #E7C58E!important;text-decoration:none!important;padding:14px 14px 12px!important;
2311  background:linear-gradient(158deg,#FFF9EE 0%,#FCEBCB 40%,#F3C98A 100%)!important;
2312  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif!important}
2313#ev-immersive-header .evm-hbtk *{box-sizing:border-box;font-style:normal!important}
2314#ev-immersive-header .evm-hbtk-eye{display:inline-block!important;font-size:10px!important;font-weight:800!important;letter-spacing:.12em!important;
2315  text-transform:uppercase!important;color:#FFF8EC!important;background:#24402C!important;border-radius:100px!important;
2316  padding:4px 10px!important;margin:0 0 8px!important;white-space:nowrap!important}
2317#ev-immersive-header .evm-hbtk-h{display:block!important;font-size:17px!important;font-weight:800!important;line-height:1.2!important;
2318  color:#1F1A14!important;margin:0 0 2px!important}
2319#ev-immersive-header .evm-hbtk-sub{display:block!important;font-size:12.5px!important;line-height:1.4!important;color:#4A4034!important;
2320  margin:0 0 8px!important}
2321#ev-immersive-header .evm-hbtk-row{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;
2322  align-items:end!important}
2323#ev-immersive-header .evm-hbtk-st{display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important}
2324#ev-immersive-header .evm-hbtk-st img{display:block!important;width:62px!important;height:auto!important;margin:0 auto -6px!important;
2325  position:relative!important;z-index:1!important;filter:drop-shadow(0 6px 8px rgba(80,44,10,.3))!important}
2326#ev-immersive-header .evm-hbtk-st span{display:block!important;width:100%!important;border-radius:10px!important;padding:8px 2px 6px!important;
2327  background:linear-gradient(180deg,#F7F2E8,#E6DCCA)!important;border:1px solid rgba(160,130,90,.35)!important;
2328  font-size:11px!important;line-height:1.25!important;color:#24402C!important;font-weight:650!important}
2329#ev-immersive-header .evm-hbtk-st b{display:block!important;font-size:14px!important;font-weight:800!important;color:#1F1A14!important;
2330  white-space:nowrap!important}
2331/* Treppe auch im Menue erkennbar: Stufen 46 / 62 / 78 px (22.09. gemessen, vorher 46/52/58). */
2332#ev-immersive-header .evm-hbtk-st:nth-child(2) span{padding-top:24px!important}
2333#ev-immersive-header .evm-hbtk-st:nth-child(3) span{padding-top:40px!important}
2334#ev-immersive-header .evm-hbtk-seal{position:absolute!important;right:10px!important;top:10px!important;width:66px!important;height:66px!important;
2335  border-radius:50%!important;display:flex!important;flex-direction:column!important;align-items:center!important;
2336  justify-content:center!important;text-align:center!important;background:#B4531A!important;border:2px solid #F6D9B5!important;
2337  color:#fff!important;line-height:1.05!important}
2338#ev-immersive-header .evm-hbtk-seal s{text-decoration:none!important;font-size:8.5px!important;color:#FFE9CF!important}
2339#ev-immersive-header .evm-hbtk-seal u{text-decoration:none!important;font-size:14px!important;font-weight:800!important;white-space:nowrap!important}
2340
2341#ev-immersive-header .evm-ss26mm{display:flex!important;flex-direction:column!important;gap:10px!important;max-width:100%!important;overflow-x:hidden!important}
2342#ev-immersive-header .evm-ss26mm-fig{display:block!important;background:none!important;border:0!important;padding:0!important;text-decoration:none!important}
2343#ev-immersive-header .evm-ss26mm-note:empty{display:none!important}
2344#ev-immersive-header .evm-ss26mm-note{font-size:13px!important;line-height:1.45!important;color:#5A4A2A!important;margin:0!important}
2345#ev-immersive-header .evm-ss26mm-cta{display:inline-block!important;align-self:flex-start!important;font-size:14px!important;font-weight:800!important;color:#C2410C!important;text-decoration:none!important;border-bottom:2px solid rgba(194,65,12,.35)!important;padding-bottom:1px!important}
2346
2347/* ===== Herbst-Trio: Desktop-Reiter braun mit weisser Schrift (tools/aktion_herbst/topbar_herbst.py) ===== */
2348#ev-immersive-header #navAktionen .ev-akt-pill.ev-ss26-pill{
2349  background:linear-gradient(180deg,#B5823F 0%,#9A672E 55%,#8E5C27 100%)!important;color:#fff!important;
2350  font-weight:800!important;letter-spacing:.01em!important;text-shadow:0 1px 1px rgba(60,30,5,.45)!important;
2351  border:0!important;box-shadow:inset 0 1px 0 rgba(255,236,200,.45),0 3px 0 #5E3A14,0 6px 14px -6px rgba(70,40,10,.55)!important;
2352  transition:transform .12s ease,box-shadow .12s ease,filter .15s ease!important}
2353#ev-immersive-header #navAktionen .ev-akt-pill.ev-ss26-pill:hover{filter:brightness(1.08)!important;color:#fff!important}
2354#ev-immersive-header #navAktionen .ev-akt-pill.ev-ss26-pill:active{transform:translateY(2px)!important;
2355  box-shadow:inset 0 1px 0 rgba(255,236,200,.35),0 1px 0 #5E3A14,0 3px 8px -5px rgba(70,40,10,.5)!important}
2356#ev-immersive-header #navAktionen .ev-akt-pill.ev-ss26-pill:focus-visible{outline:2px solid #5E3A14!important;outline-offset:3px!important}
2357@media(prefers-reduced-motion:reduce){#ev-immersive-header #navAktionen .ev-akt-pill.ev-ss26-pill{transition:none!important}}
2358</style>
2359
2360<div id="ev-immersive-header">
2361
2362<!-- AKTIONS-TOPBAR (build_header.py --mode aktion). Inhalt kommt aus AKTION_PRESETS. -->
2363<div class="ev-topbar-rot rot-ma-only" id="evTopbarRot">
2364<a href="/aktionen" class="ev-nk-topbar ev-ma-topbar ev-ss26-topbar" data-ev-promo="Herbst-Trio 2026" data-ev-promo-slot="global-topbar">
2365  <span class="ev-nk-topbar-shine" aria-hidden="true"></span>
2366  <span class="ev-nk-topbar-text"><span class="evd-nk-long"><span class="ev-nk-topbar-gold">Herbst-Trio:</span> bis zu 3 Geschenke gratis &middot; ab 75&nbsp;&euro; automatisch im Warenkorb</span><span class="evd-nk-short"><span class="ev-nk-topbar-gold">Herbst-Trio:</span> bis zu 3 Geschenke ab 75&nbsp;&euro;</span></span>
2367<span class="ev-nk-topbar-arrow">&rarr;</span>
2368</a>
2369</div>
2370<script>
2371/* Herbst-Trio-Topbar (tools/aktion_herbst/topbar_herbst.py): Zeit-Gate, Endspurt, persoenlicher Stand. */
2372(function(){
2373  'use strict';
2374  var rot=document.getElementById('evTopbarRot');if(!rot)return;
2375
2376  var HB={s:Date.parse('2026-09-22T15:30:00+02:00'),es:Date.parse('2026-10-04T00:00:00+02:00'),
2377    e:Date.parse('2026-10-06T23:59:59+02:00'),namen:{'019a7d818b1e7b27ba5e9aa71f6b08d5':'Vitamin C','01a0ae429e0f797ca5a3363e8a93e27e':'Vitamin B','01a0ae171d187e04bef8c9572fd21c99':'Omega-3'}};
2378  function hbAktiv(){var n=Date.now();return n>=HB.s&&n<=HB.e;}
2379  function hbEndspurt(){var n=Date.now();return n>=HB.es&&n<=HB.e;}
2380  function hbEur(n){try{return new Intl.NumberFormat('de-DE',{style:'currency',currency:'EUR'}).format(n);}
2381    catch(x){return (Math.round(n*100)/100).toFixed(2).replace('.',',')+'\u00a0\u20ac';}}
2382  function hbLies(h){
2383    var m=String(h||'').match(/
2383<script type="application\/json" class="ev-tiered-gift-progress-data">[\s\S]*?<\/script>/g);
2384    if(!m)return null;
2385    try{var d=JSON.parse(m[m.length-1].replace(/^
2385<script[^>]*>/,'').replace(/<\/script>$/,''));return d&&d.enabled?d:null;}
2386    catch(x){return null;}
2387  }
2388  /* Nur die drei Herbst-Artikel zaehlen. Steht im Plugin eine weitere Regel (z. B. D3 am 23.09.
2389     als Ueberbrueckung), bleibt sie hier unsichtbar: Stufen-Index, Zaehler und Restbetrag werden
2390     aus den Herbst-Stufen selbst gerechnet, nicht aus reachedCount/missingAmount des Plugins. */
2391  function hbStand(d){
2392    if(!d||!d.normalEnabled||!d.steps||!d.steps.length)return null;
2393    var st=[],i,summe=+d.subtotal||0,er=0,nx=null;
2394    for(i=0;i<d.steps.length;i++){var s=d.steps[i],n=HB.namen[s.productId];
2395      if(n)st.push({t:+s.threshold||0,r:!!s.reached,n:n});}
2396    if(!st.length)return null;
2397    st.sort(function(a,b){return a.t-b.t;});
2398    for(i=0;i<st.length;i++){if(st[i].r)er++;else if(!nx)nx=st[i];}
2399    return {summe:summe,stufen:st,erreicht:er,next:nx,
2400      fehlt:nx?Math.max(0,Math.round((nx.t-summe)*100)/100):0,alle:!nx};
2401  }
2402  function hbAbo(cb){
2403    var da=false;
2404    function nimm(d){da=true;try{cb(hbStand(d));}catch(x){}}
2405    if('evGiftProgress' in window)nimm(window.evGiftProgress);
2406    document.addEventListener('ev:gift-progress',function(e){nimm(e.detail);});
2407    setTimeout(function(){
2408      if(da||!window.fetch)return;
2409      fetch('/checkout/offcanvas',{headers:{'X-Requested-With':'XMLHttpRequest'},credentials:'same-origin'})
2410        .then(function(r){return r.text();}).then(function(h){if(!da)nimm(hbLies(h));}).catch(function(){});
2411    },3000);
2412  }
2413  /* Namen der schon erreichten Stufen als Aufzaehlung: "Vitamin C" / "Vitamin C und Vitamin B" */
2414  function hbDrin(st){var a=[],i;for(i=0;i<st.stufen.length;i++){if(st.stufen[i].r)a.push(st.stufen[i].n);}
2415    return a.length<2?a.join(''):a.slice(0,-1).join(', ')+' und '+a[a.length-1];}
2416
2417  var lang=rot.querySelector('.evd-nk-long'),kurz=rot.querySelector('.evd-nk-short');
2418  var L0='<span class="ev-nk-topbar-gold">Herbst-Trio:</span> bis zu 3 Geschenke gratis &middot; ab 75&nbsp;&euro; automatisch im Warenkorb',K0='<span class="ev-nk-topbar-gold">Herbst-Trio:</span> bis zu 3 Geschenke ab 75&nbsp;&euro;',LE='<span class="ev-nk-topbar-gold">Endspurt:</span> Herbst-Trio nur noch bis 6. Oktober &middot; bis zu 3 Geschenke gratis ab 75&nbsp;&euro;',KE='<span class="ev-nk-topbar-gold">Nur noch bis 6.10.:</span> bis zu 3 Geschenke';
2419  var st=null,zuletzt='';
2420  function g(t){return '<span class="ev-nk-topbar-gold">'+t+'</span>';}
2421  function text(){
2422    var es=hbEndspurt(),l=es?LE:L0,k=es?KE:K0;
2423    if(st&&st.summe>0){
2424      if(st.alle){l=g('Alle 3 Herbst-Geschenke')+' sind in deinem Warenkorb \u2713';
2425        k=g('Alle 3 Geschenke')+' sind drin \u2713';}
2426      else if(st.next){var f=g(hbEur(st.fehlt));
2427        k='Noch '+f+' bis '+st.next.n+' gratis';
2428        l=(st.erreicht?hbDrin(st)+(st.erreicht>1?' sind':' ist')+' schon drin &middot; ':'')+k;}
2429    }
2430    if(l+k===zuletzt)return;zuletzt=l+k;
2431    if(lang)lang.innerHTML=l;if(kurz)kurz.innerHTML=k;
2432  }
2433  /* Sicherheitsnetz nach dem 06.10.: Reiter wieder "Aktionen", Stufen-Karte im Menue weg.
2434     Der regulaere Rueckbau (Preset "aus") bleibt trotzdem Pflicht. */
2435  function nachEnde(){
2436    if(Date.now()<=HB.e)return;
2437    var a=document.querySelector('#navAktionen .ev-akt-pill'),
2438        t=document.querySelector('.ev-mobile-tab[data-panel="m-aktionen"]'),
2439        k=document.querySelector('#evSs26MM .evm-hbtk');
2440    /* setProperty mit important: das Karten-CSS traegt display:block!important. */
2441    if(a)a.textContent='Aktionen';if(t)t.textContent='Aktionen';if(k)k.style.setProperty('display','none','important');
2442  }
2443  function tick(){rot.style.display=hbAktiv()?'':'none';text();nachEnde();}
2444  tick();setInterval(tick,60000);
2445  document.addEventListener('DOMContentLoaded',nachEnde);
2446  hbAbo(function(s){st=s;text();});
2447})();
2448</script>
2448
2449
2450
2451
2452
2453<header class="ev-header" id="evHeader">
2454  <div class="ev-header-main">
2455    <a href="/" class="ev-header-logo">
2456      <img src="https://echtvital.cstatic.com/media/7f/d3/88/1679934207/ev-logo.webp?ts=1679934207" alt="Echt Vital" loading="eager">
2457    </a>
2458
2459    <ul class="ev-nav" id="desktopNav">
2460      <li id="navAktionen" class="ev-akt-nav ev-akt-nav--direct">
2461        <a href="/aktionen" class="ev-akt-pill ev-ss26-pill">Herbst-Trio</a>
2462      </li>
2463      <li>
2464        <a href="/mitdenker/produkte">Alle Produkte</a>
2465      </li>
2466      <li>
2467        <a href="/mitdenker/themen" data-mega="themen">Themen <span class="nav-arrow"><svg viewBox="0 0 24 24"><polyline points="6 9 12 15 18 9"/></svg></span></a>
2468      </li>
2469      <li><a href="/mitdenker/themen/bestseller">Bestseller</a></li>
2470      <li>
2471        <a href="/mitdenker/bibliothek" data-mega="bibliothek">Bibliothek <span class="nav-arrow"><svg viewBox="0 0 24 24"><polyline points="6 9 12 15 18 9"/></svg></span></a>
2472      </li>
2473    </ul>
2474
2475    <div class="ev-acts">
2476      <button class="ev-act" id="btnSearch" aria-label="Suche">
2477        <svg viewBox="0 0 24 24"><circle cx="11" cy="11" r="7"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></svg>
2478      </button>
2479      <div class="ev-account-wrap" id="accountWrap">
2480        <button class="ev-act" id="btnAccount" aria-label="Konto" aria-expanded="false">
2481          <svg viewBox="0 0 24 24"><path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></svg>
2482        </button>
2483        <div class="ev-account-dropdown" id="accountDropdown">
2484          <div class="ev-account-greet" id="evAccountGreet" hidden></div>
2485          <a href="/account" class="ev-account-item">
2486            <svg viewBox="0 0 24 24"><path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></svg>
2487            Mein Konto
2488          </a>
2489          <a href="/account/order" class="ev-account-item">
2490            <svg viewBox="0 0 24 24"><path d="M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z"/><line x1="3" y1="6" x2="21" y2="6"/><path d="M16 10a4 4 0 0 1-8 0"/></svg>
2491            Meine Bestellungen
2492          </a>
2493          <div class="ev-account-sep"></div>
2494          <a href="/account/login" class="ev-account-item ev-account-login-item">
2495            <svg viewBox="0 0 24 24"><path d="M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4"/><polyline points="10 17 15 12 10 7"/><line x1="15" y1="12" x2="3" y2="12"/></svg>
2496            Anmelden
2497          </a>
2498          <a href="/account/logout" class="ev-account-item ev-account-logout-item">
2499            <svg viewBox="0 0 24 24"><path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"/><polyline points="16 17 21 12 16 7"/><line x1="21" y1="12" x2="9" y2="12"/></svg>
2500            Abmelden
2501          </a>
2502        </div>
2503      </div>
2504      <button class="ev-act" id="btnCart" aria-label="Warenkorb">
2505        <svg viewBox="0 0 24 24"><path d="M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z"/><line x1="3" y1="6" x2="21" y2="6"/><path d="M16 10a4 4 0 0 1-8 0"/></svg>
2506        <span class="badge">0</span>
2507      </button>
2508      <button class="ev-act ev-burger" id="btnBurger" aria-label="Menue">
2509        <svg viewBox="0 0 24 24"><line x1="4" y1="7" x2="20" y2="7"/><line x1="4" y1="12" x2="20" y2="12"/><line x1="4" y1="17" x2="20" y2="17"/></svg>
2510      </button>
2511    </div>
2512  </div>
2513  <div class="ev-header-line"></div>
2514
2515  <!-- 25.08.: Mega-Panel "megaProdukte" entfernt. Es enthielt nur den nie befuellten
2516       Bestseller-Container #evBsGridDesktop - der Ausloeser .ev-nav [data-mega="produkte"]
2517       existiert im Header nicht (Navigationspunkt "Alle Produkte" ist ein Direktlink).
2518       Patrick 25.08.: kein Dropdown noetig, Leiche raus statt beleben. -->
2519
2520  <div class="ev-mega" id="megaThemen">
2521    <div class="ev-mega-inner">
2522      <div class="evm-th-grid">
2523        <a href="/aktionen" class="evm-th evm-th--akt" style="--tc:var(--rl)"><span class="evm-th-img"><img src="https://echtvital.cstatic.com/media/2b/15/df/1777176031/Kollagen.png?ts=1777176034&amp;w=160" alt="Haut &amp; Haare" loading="lazy" width="80" height="80"></span><span class="evm-th-text"><strong>Haut &amp; Haare</strong><span>Kollagen, Hyaluron &amp; Co.</span></span><span class="evm-th-arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 5l7 7-7 7"/></svg></span></a>
2524        <a href="/mitdenker/themen/vitamine" class="evm-th" style="--tc:var(--orl)"><span class="evm-th-img"><img src="https://echtvital.cstatic.com/media/cd/1c/ef/1777176074/Vitamin-D3-hochdosiert-Steinplatte.png?ts=1777176078&amp;w=160" alt="Vitamine" loading="lazy" width="80" height="80"></span><span class="evm-th-text"><strong>Vitamine</strong><span>D3, K2, C und B-Komplex</span></span><span class="evm-th-arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 5l7 7-7 7"/></svg></span></a>
2525        <a href="/mitdenker/themen/energie" class="evm-th" style="--tc:var(--orl)"><span class="evm-th-img"><img src="https://echtvital.cstatic.com/media/89/be/59/1777176249/Vitamin%20B12.png?ts=1777176253&amp;w=160" alt="Energie" loading="lazy" width="80" height="80"></span><span class="evm-th-text"><strong>Energie</strong><span>B-Vitamine, Q10, Mitochondrien</span></span><span class="evm-th-arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 5l7 7-7 7"/></svg></span></a>
2526        <a href="/mitdenker/themen/schlaf" class="evm-th" style="--tc:var(--ppl)"><span class="evm-th-img"><img src="https://echtvital.cstatic.com/media/46/3d/16/1777176739/Schlafspray%20mit%20Melatonin.png?ts=1777176742&amp;w=160" alt="Schlaf" loading="lazy" width="80" height="80"></span><span class="evm-th-text"><strong>Schlaf</strong><span>Tief schlafen, früh wach</span></span><span class="evm-th-arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 5l7 7-7 7"/></svg></span></a>
2527        <a href="/mitdenker/themen/immunsystem" class="evm-th" style="--tc:var(--pl)"><span class="evm-th-img"><img src="https://echtvital.cstatic.com/media/9f/df/af/1777176088/Vitamic%20C%20Acerola%20Kapseln.png?ts=1777176093&amp;w=160" alt="Immunsystem" loading="lazy" width="80" height="80"></span><span class="evm-th-text"><strong>Immunsystem</strong><span>Robust durch jede Jahreszeit</span></span><span class="evm-th-arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 5l7 7-7 7"/></svg></span></a>
2528        <a href="/mitdenker/themen/verdauung" class="evm-th" style="--tc:var(--al)"><span class="evm-th-img"><img src="https://echtvital.cstatic.com/media/ba/eb/d9/1777176542/Bitterstoffe.png?ts=1777176545&amp;w=160" alt="Verdauung" loading="lazy" width="80" height="80"></span><span class="evm-th-text"><strong>Verdauung</strong><span>Bitterstoffe, Schwarzkümmel &amp; Co.</span></span><span class="evm-th-arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 5l7 7-7 7"/></svg></span></a>
2529        <a href="/mitdenker/themen/fokus" class="evm-th" style="--tc:var(--bll)"><span class="evm-th-img"><img src="https://echtvital.cstatic.com/media/cf/41/d6/1777176336/Lwenmhne%20Steinplatte.png?ts=1777176340&amp;w=160" alt="Fokus" loading="lazy" width="80" height="80"></span><span class="evm-th-text"><strong>Fokus</strong><span>Löwenmähne, Omega-3, B-Vitamine</span></span><span class="evm-th-arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 5l7 7-7 7"/></svg></span></a>
2530        <a href="/mitdenker/themen/longevity" class="evm-th" style="--tc:var(--teall)"><span class="evm-th-img"><img src="https://echtvital.cstatic.com/media/17/8d/14/1777176383/Spermidin%20Steinplatte.png?ts=1777176388&amp;w=160" alt="Longevity" loading="lazy" width="80" height="80"></span><span class="evm-th-text"><strong>Longevity</strong><span>Vital alt werden, nicht nur älter</span></span><span class="evm-th-arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 5l7 7-7 7"/></svg></span></a>
2531        <a href="/mitdenker/themen/kontrovers" class="evm-th" style="--tc:var(--rosel)"><span class="evm-th-img"><img src="https://echtvital.cstatic.com/media/f4/61/b1/1777780891/Premium%20Methylenblau.png?ts=1777780894&amp;w=160" alt="Drogerie" loading="lazy" width="80" height="80"></span><span class="evm-th-text"><strong>Drogerie</strong><span>Methylenblau, DMSO &amp; Co.</span></span><span class="evm-th-arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 5l7 7-7 7"/></svg></span></a>
2532        <a href="/mitdenker/themen/gelenke" class="evm-th" style="--tc:var(--bll)"><span class="evm-th-img"><img src="https://echtvital.cstatic.com/media/7f/cc/f2/1777176508/MSM%20Kapseln.png?ts=1777176512&amp;w=160" alt="Gelenke" loading="lazy" width="80" height="80"></span><span class="evm-th-text"><strong>Gelenke</strong><span>MSM, Kollagen, Magnesium</span></span><span class="evm-th-arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 5l7 7-7 7"/></svg></span></a>
2533        <a href="/mitdenker/themen/hormone" class="evm-th" style="--tc:var(--ppl)"><span class="evm-th-img"><img src="https://echtvital.cstatic.com/media/e3/c5/dd/1777176235/Jod.png?ts=1777176238&amp;w=160" alt="Hormone" loading="lazy" width="80" height="80"></span><span class="evm-th-text"><strong>Hormone</strong><span>Jod, Zink, Mönchspfeffer</span></span><span class="evm-th-arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 5l7 7-7 7"/></svg></span></a>
2534        <a href="/mitdenker/themen/frauengesundheit" class="evm-th" style="--tc:var(--rosel)"><span class="evm-th-img"><img src="https://echtvital.cstatic.com/media/g0/0c/06/1777176146/Mnchspfeffer.png?ts=1777176149&amp;w=160" alt="Frauengesundheit" loading="lazy" width="80" height="80"></span><span class="evm-th-text"><strong>Frauengesundheit</strong><span>Mönchspfeffer, Eisen, Wild Yam</span></span><span class="evm-th-arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 5l7 7-7 7"/></svg></span></a>
2535      </div>
2536      <div class="ev-mega-foot" style="margin-top:20px;padding-top:14px">
2537        <a href="/mitdenker/themen">Alle 21 Themen <svg viewBox="0 0 24 24"><polyline points="9 18 15 12 9 6"/></svg></a>
2538      </div>
2539    </div>
2540  </div>
2541
2542  <div class="ev-mega" id="megaBibliothek">
2543    <div class="ev-mega-inner">
2544      <div class="ev-mega-bib">
2545        <a href="/mitdenker/bibliothek/ebooks" class="ev-mega-bib-card" data-stagger>
2546          <div class="ev-mega-bib-card-icon" style="background:var(--al)"><svg viewBox="0 0 24 24" style="width:20px;height:20px;stroke:var(--a);fill:none;stroke-width:1.8"><path d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20"/><path d="M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"/></svg></div>
2547          <h4>eBooks</h4>
2548          <p>21 Ratgeber – von Vitamin D bis Darmgesundheit.</p>
2549        </a>
2550        
2551        <a href="/blog" class="ev-mega-bib-card" data-stagger>
2552          <div class="ev-mega-bib-card-icon" style="background:var(--ppl)"><svg viewBox="0 0 24 24" style="width:20px;height:20px;stroke:var(--pp);fill:none;stroke-width:1.8"><path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"/><polyline points="22,6 12,13 2,6"/></svg></div>
2553          <h4>Mitdenker-Brief</h4>
2554          <p>Gedanken, Studien und Hintergründe – direkt ins Postfach.</p>
2555        </a>
2556      </div>
2557    </div>
2558  </div>
2559</header>
2560
2561<div class="ev-mega-backdrop" id="megaBackdrop"></div>
2562
2563<div class="ev-search" id="searchOverlay">
2564  <div class="ev-search-panel">
2565    <button class="ev-search-close" id="btnSearchClose" aria-label="Suche schliessen">
2566      <svg viewBox="0 0 24 24"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg>
2567    </button>
2568    <div class="ev-search-wrap">
2569      <form action="/search" method="get" class="ev-search-field" id="searchForm">
2570        <svg class="ev-search-icon" viewBox="0 0 24 24"><circle cx="11" cy="11" r="7"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></svg>
2571        <input type="search" name="search" id="searchInput" placeholder="Was suchst du?" autocomplete="off">
2572        <div class="ev-search-loader" id="searchLoader"></div>
2573        <button type="button" class="ev-search-clear" id="searchClear" aria-label="Eingabe loeschen">
2574          <svg viewBox="0 0 24 24"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg>
2575        </button>
2576      </form>
2577      <div class="ev-search-tags" id="searchTags">
2578        <button type="button" class="ev-search-tag">Vitamin D3</button>
2579        <a class="ev-search-tag" href="/detail/019836144e7772e5af64e52b9f337f56">Methylenblau</a>
2580        <a class="ev-search-tag" href="/detail/5fcc38c248bb42de8f9647298ef3e107">Algen&ouml;l</a>
2581        <a class="ev-search-tag" href="/detail/8c37e80b950543f288c5f017c4121b63">Bitterstoffe</a>
2582        <a class="ev-search-tag ev-search-tag--nav" href="/mitdenker/themen/bestseller">Bestseller</a>
2583        <a class="ev-search-tag ev-search-tag--nav" href="/mitdenker/themen">Themen</a>
2584      </div>
2585      <div class="ev-search-inspo" id="searchInspo">
2586        <div class="ev-search-inspo-title">Beliebte Produkte</div>
2587        <div class="ev-search-inspo-grid">
2588          <a href="/detail/0195ccc82bf775bd8d25811a8a176e64" class="ev-search-inspo-card">
2589            <img src="https://echtvital.cstatic.com/media/cd/1c/ef/1777176074/Vitamin-D3-hochdosiert-Steinplatte.png?w=200&ts=1768219696" alt="Vitamin D3" loading="lazy">
2590            <div class="ev-search-inspo-card-text"><span class="ev-search-inspo-card-name">Vitamin D3 hochdosiert</span><span class="ev-search-inspo-card-sub">Bestseller</span></div>
2591          </a>
2592          <a href="/detail/41c99decb2434294b98b6da6d3cdc323" class="ev-search-inspo-card">
2593            <img src="https://echtvital.cstatic.com/media/20/52/32/1782619216/OPC%20Pulver.png?w=200&ts=1782619218" alt="OPC" loading="lazy">
2594            <div class="ev-search-inspo-card-text"><span class="ev-search-inspo-card-name">OPC Traubenkernextrakt</span><span class="ev-search-inspo-card-sub">Bestseller</span></div>
2595          </a>
2596          <a href="/detail/5fcc38c248bb42de8f9647298ef3e107" class="ev-search-inspo-card">
2597            <img src="https://echtvital.cstatic.com/media/e5/13/bd/1777176047/Omega-3%20Algenl.png?w=200&ts=1768217550" alt="Omega-3" loading="lazy">
2598            <div class="ev-search-inspo-card-text"><span class="ev-search-inspo-card-name">Omega-3 Algen&ouml;l</span><span class="ev-search-inspo-card-sub">Bestseller</span></div>
2599          </a>
2600          <a href="/detail/0195ccc96e2c749e844d48b87360ac40" class="ev-search-inspo-card">
2601            <img src="https://echtvital.cstatic.com/media/c7/23/5f/1777176482/Magnesium-Komplex-Steinplatte.png?w=200&ts=1768217283" alt="Magnesium" loading="lazy">
2602            <div class="ev-search-inspo-card-text"><span class="ev-search-inspo-card-name">Magnesium Komplex</span><span class="ev-search-inspo-card-sub">7 Magnesiumformen</span></div>
2603          </a>
2604          <a href="/detail/0195ccd91e3b7c55b345bf860983c2c5" class="ev-search-inspo-card">
2605            <img src="https://echtvital.cstatic.com/media/ab/a4/ef/1758878454/Kreatin%20Steinplatte.png?w=200&ts=1758878455" alt="Kreatin" loading="lazy">
2606            <div class="ev-search-inspo-card-text"><span class="ev-search-inspo-card-name">Kreatin Monohydrat</span><span class="ev-search-inspo-card-sub">Neu</span></div>
2607          </a>
2608          <a href="/detail/019836144e7772e5af64e52b9f337f56" class="ev-search-inspo-card">
2609            <img src="https://echtvital.cstatic.com/media/f4/61/b1/1777780891/Premium%20Methylenblau.png?w=200&ts=1777780894" alt="Methylenblau" loading="lazy">
2610            <div class="ev-search-inspo-card-text"><span class="ev-search-inspo-card-name">Methylenblau</span><span class="ev-search-inspo-card-sub">
2610Drogerie</span></div>
2611          </a>
2612        </div>
2613      </div>
2614      <div class="ev-search-live" id="searchLive"></div>
2615    </div>
2616  </div>
2617</div>
2618
2619<div class="ev-mobile" id="mobileMenu">
2620  <div class="ev-mobile-top">
2621    <img loading="lazy" src="https://echtvital.cstatic.com/media/7f/d3/88/1679934207/ev-logo.webp?ts=1679934207" alt="Echt Vital">
2622    <button class="ev-mobile-close" id="btnMobileClose" aria-label="Schliessen">
2623      <svg viewBox="0 0 24 24"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg>
2624    </button>
2625  </div>
2626
2627  <div class="ev-mobile-tabs" id="mobileTabs">
2628    <button class="ev-mobile-tab ev-tab-aktionen" data-panel="m-aktionen">Herbst-Trio</button>
2629    <button class="ev-mobile-tab is-active ev-tab-bs" data-panel="m-bestseller">Bestseller</button>
2630    <button class="ev-mobile-tab" data-panel="m-produkte">Alle Produkte</button>
2631    <button class="ev-mobile-tab" data-panel="m-themen">Themen</button>
2632  </div>
2633
2634  <div class="ev-mobile-body">
2635    <div class="ev-mobile-panel" id="m-aktionen">
2636      <div class="evm-ss26mm" id="evSs26MM">
2637        <span class="evm-ss26mm-fig"><a href="/aktionen" class="evm-hbtk" data-ev-promo="Herbst-Trio 2026" data-ev-promo-slot="header-mobil-aktion"><span class="evm-hbtk-eye">Herbst-Trio &middot; bis 6.10.</span><span class="evm-hbtk-seal" aria-hidden="true"><s>bis zu</s><u>64,97&nbsp;&euro;</u><s>geschenkt</s></span><span class="evm-hbtk-h">Bis zu 3 Geschenke</span><span class="evm-hbtk-sub">Automatisch im Warenkorb, ohne Code</span><span class="evm-hbtk-row"><span class="evm-hbtk-st"><img src="https://echtvital.cstatic.com/media/9f/df/af/1777176088/Vitamic%20C%20Acerola%20Kapseln.png?ts=1777176093&amp;w=140" alt="" width="62" height="65" loading="lazy" decoding="async"><span><b>ab 75&nbsp;&euro;</b>Vitamin C</span></span><span class="evm-hbtk-st"><img src="https://echtvital.cstatic.com/media/90/15/10/1777176119/Vitamin%20B%20Komplex.png?ts=1777176122&amp;w=140" alt="" width="62" height="65" loading="lazy" decoding="async"><span><b>ab 175&nbsp;&euro;</b>+ Vitamin B</span></span><span class="evm-hbtk-st"><img src="https://echtvital.cstatic.com/media/e5/13/bd/1777176047/Omega-3%20Algenl.png?ts=1777176051&amp;w=140" alt="" width="62" height="65" loading="lazy" decoding="async"><span><b>ab 300&nbsp;&euro;</b>+ Omega-3</span></span></span></a></span>
2638        <p class="evm-ss26mm-note"></p>
2639        <a href="/aktionen" class="evm-ss26mm-cta">Zur Aktionsseite &rarr;</a>
2640      </div>
2641    </div>
2642
2643    <div class="ev-mobile-panel is-active" id="m-bestseller">
2644      <p class="evm-bsr-intro">Die meistgekauften Produkte der letzten 90 Tage &ndash; ausgez&auml;hlt aus echten Bestellungen.</p>
2645      <div class="evm-bsr-list" id="evBsRankMobile" aria-busy="true">
2646        <div class="evm-bsr-sk" aria-hidden="true"><i class="n"></i><i class="m"></i><i class="t"></i></div>
2647        <div class="evm-bsr-sk" aria-hidden="true"><i class="n"></i><i class="m"></i><i class="t"></i></div>
2648        <div class="evm-bsr-sk" aria-hidden="true"><i class="n"></i><i class="m"></i><i class="t"></i></div>
2649        <div class="evm-bsr-sk" aria-hidden="true"><i class="n"></i><i class="m"></i><i class="t"></i></div>
2650        <div class="evm-bsr-sk" aria-hidden="true"><i class="n"></i><i class="m"></i><i class="t"></i></div>
2651      </div>
2652      <div class="ev-mobile-links">
2653        <a href="/mitdenker/themen/bestseller" class="ev-mobile-link">Alle 20 Bestseller <svg viewBox="0 0 24 24"><polyline points="9 18 15 12 9 6"/></svg></a>
2654      </div>
2655    </div>
2656
2657    <div class="ev-mobile-panel" id="m-produkte">
2658      <div class="ev-mobile-links ev-mobile-links--top">
2659        <a href="/mitdenker/produkte" class="ev-mobile-link">Alle Produkte &amp; Sparsets <svg viewBox="0 0 24 24"><polyline points="9 18 15 12 9 6"/></svg></a>
2660        <a href="/mitdenker/produkte?f=set3" class="ev-mobile-link">Nur 3er-Sets <svg viewBox="0 0 24 24"><polyline points="9 18 15 12 9 6"/></svg></a>
2661        <a href="/mitdenker/produkte?f=set6" class="ev-mobile-link">Nur 6er-Sets <svg viewBox="0 0 24 24"><polyline points="9 18 15 12 9 6"/></svg></a>
2662      </div>
2663    </div>
2664
2665    <div class="ev-mobile-panel" id="m-themen">
2666      <div class="evm-th-list">
2667        <a href="/aktionen" class="evm-th evm-th--akt" style="--tc:var(--rl)"><span class="evm-th-img"><img src="https://echtvital.cstatic.com/media/2b/15/df/1777176031/Kollagen.png?ts=1777176034&amp;w=160" alt="Haut &amp; Haare" loading="lazy" width="80" height="80"></span><span class="evm-th-text"><strong>Haut &amp; Haare</strong><span>Kollagen, Hyaluron &amp; Co.</span></span><span class="evm-th-arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 5l7 7-7 7"/></svg></span></a>
2668        <a href="/mitdenker/themen/vitamine" class="evm-th" style="--tc:var(--orl)"><span class="evm-th-img"><img src="https://echtvital.cstatic.com/media/cd/1c/ef/1777176074/Vitamin-D3-hochdosiert-Steinplatte.png?ts=1777176078&amp;w=160" alt="Vitamine" loading="lazy" width="80" height="80"></span><span class="evm-th-text"><strong>Vitamine</strong><span>D3, K2, C und B-Komplex</span></span><span class="evm-th-arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 5l7 7-7 7"/></svg></span></a>
2669        <a href="/mitdenker/themen/energie" class="evm-th" style="--tc:var(--orl)"><span class="evm-th-img"><img src="https://echtvital.cstatic.com/media/89/be/59/1777176249/Vitamin%20B12.png?ts=1777176253&amp;w=160" alt="Energie" loading="lazy" width="80" height="80"></span><span class="evm-th-text"><strong>Energie</strong><span>B-Vitamine, Q10, Mitochondrien</span></span><span class="evm-th-arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 5l7 7-7 7"/></svg></span></a>
2670        <a href="/mitdenker/themen/schlaf" class="evm-th" style="--tc:var(--ppl)"><span class="evm-th-img"><img src="https://echtvital.cstatic.com/media/46/3d/16/1777176739/Schlafspray%20mit%20Melatonin.png?ts=1777176742&amp;w=160" alt="Schlaf" loading="lazy" width="80" height="80"></span><span class="evm-th-text"><strong>Schlaf</strong><span>Tief schlafen, früh wach</span></span><span class="evm-th-arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 5l7 7-7 7"/></svg></span></a>
2671        <a href="/mitdenker/themen/immunsystem" class="evm-th" style="--tc:var(--pl)"><span class="evm-th-img"><img src="https://echtvital.cstatic.com/media/9f/df/af/1777176088/Vitamic%20C%20Acerola%20Kapseln.png?ts=1777176093&amp;w=160" alt="Immunsystem" loading="lazy" width="80" height="80"></span><span class="evm-th-text"><strong>Immunsystem</strong><span>Robust durch jede Jahreszeit</span></span><span class="evm-th-arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 5l7 7-7 7"/></svg></span></a>
2672        <a href="/mitdenker/themen/verdauung" class="evm-th" style="--tc:var(--al)"><span class="evm-th-img"><img src="https://echtvital.cstatic.com/media/ba/eb/d9/1777176542/Bitterstoffe.png?ts=1777176545&amp;w=160" alt="Verdauung" loading="lazy" width="80" height="80"></span><span class="evm-th-text"><strong>Verdauung</strong><span>Bitterstoffe, Schwarzkümmel &amp; Co.</span></span><span class="evm-th-arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 5l7 7-7 7"/></svg></span></a>
2673        <a href="/mitdenker/themen/fokus" class="evm-th" style="--tc:var(--bll)"><span class="evm-th-img"><img src="https://echtvital.cstatic.com/media/cf/41/d6/1777176336/Lwenmhne%20Steinplatte.png?ts=1777176340&amp;w=160" alt="Fokus" loading="lazy" width="80" height="80"></span><span class="evm-th-text"><strong>Fokus</strong><span>Löwenmähne, Omega-3, B-Vitamine</span></span><span class="evm-th-arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 5l7 7-7 7"/></svg></span></a>
2674        <a href="/mitdenker/themen/longevity" class="evm-th" style="--tc:var(--teall)"><span class="evm-th-img"><img src="https://echtvital.cstatic.com/media/17/8d/14/1777176383/Spermidin%20Steinplatte.png?ts=1777176388&amp;w=160" alt="Longevity" loading="lazy" width="80" height="80"></span><span class="evm-th-text"><strong>Longevity</strong><span>Vital alt werden, nicht nur älter</span></span><span class="evm-th-arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 5l7 7-7 7"/></svg></span></a>
2675        <a href="/mitdenker/themen/kontrovers" class="evm-th" style="--tc:var(--rosel)"><span class="evm-th-img"><img src="https://echtvital.cstatic.com/media/f4/61/b1/1777780891/Premium%20Methylenblau.png?ts=1777780894&amp;w=160" alt="Drogerie" loading="lazy" width="80" height="80"></span><span class="evm-th-text"><strong>Drogerie</strong><span>Methylenblau, DMSO &amp; Co.</span></span><span class="evm-th-arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 5l7 7-7 7"/></svg></span></a>
2676        <a href="/mitdenker/themen/gelenke" class="evm-th" style="--tc:var(--bll)"><span class="evm-th-img"><img src="https://echtvital.cstatic.com/media/7f/cc/f2/1777176508/MSM%20Kapseln.png?ts=1777176512&amp;w=160" alt="Gelenke" loading="lazy" width="80" height="80"></span><span class="evm-th-text"><strong>Gelenke</strong><span>MSM, Kollagen, Magnesium</span></span><span class="evm-th-arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 5l7 7-7 7"/></svg></span></a>
2677        <a href="/mitdenker/themen/hormone" class="evm-th" style="--tc:var(--ppl)"><span class="evm-th-img"><img src="https://echtvital.cstatic.com/media/e3/c5/dd/1777176235/Jod.png?ts=1777176238&amp;w=160" alt="Hormone" loading="lazy" width="80" height="80"></span><span class="evm-th-text"><strong>Hormone</strong><span>Jod, Zink, Mönchspfeffer</span></span><span class="evm-th-arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 5l7 7-7 7"/></svg></span></a>
2678        <a href="/mitdenker/themen/frauengesundheit" class="evm-th" style="--tc:var(--rosel)"><span class="evm-th-img"><img src="https://echtvital.cstatic.com/media/g0/0c/06/1777176146/Mnchspfeffer.png?ts=1777176149&amp;w=160" alt="Frauengesundheit" loading="lazy" width="80" height="80"></span><span class="evm-th-text"><strong>Frauengesundheit</strong><span>Mönchspfeffer, Eisen, Wild Yam</span></span><span class="evm-th-arrow"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 5l7 7-7 7"/></svg></span></a>
2679      </div>
2680      <div class="ev-mobile-links">
2681        <a href="/mitdenker/themen" class="ev-mobile-link">Alle 21 Themen <svg viewBox="0 0 24 24"><polyline points="9 18 15 12 9 6"/></svg></a>
2682      </div>
2683    </div>
2684
2685    <div class="ev-mobile-panel" id="m-bibliothek">
2686      <div class="ev-mobile-bib">
2687        <a href="/mitdenker/bibliothek/ebooks" class="ev-mobile-bib-card">
2688          <div class="ev-mobile-bib-icon" style="background:var(--al)"><svg viewBox="0 0 24 24" style="width:20px;height:20px;stroke:var(--a);fill:none;stroke-width:1.8"><path d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20"/><path d="M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"/></svg></div>
2689          <div class="ev-mobile-bib-text"><h4>eBooks</h4><p>21 Ratgeber</p></div>
2690        </a>
2691        <a href="/blog" class="ev-mobile-bib-card">
2692          <div class="ev-mobile-bib-icon" style="background:var(--ppl)"><svg viewBox="0 0 24 24" style="width:20px;height:20px;stroke:var(--pp);fill:none;stroke-width:1.8"><path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"/><polyline points="22,6 12,13 2,6"/></svg></div>
2693          <div class="ev-mobile-bib-text"><h4>Mitdenker-Brief</h4><p>Gedanken und Studien &#8211; per Mail</p></div>
2694        </a>
2695      </div>
2696      <div class="ev-mobile-links">
2697        <a href="/mitdenker/bibliothek" class="ev-mobile-link">Zur Bibliothek <svg viewBox="0 0 24 24"><polyline points="9 18 15 12 9 6"/></svg></a>
2698      </div>
2699    </div>
2700  </div>
2701
2702  <button type="button" class="ev-mobile-scrollhint" id="evScrollHint" aria-label="Nach unten scrollen – es gibt mehr">
2703    <svg viewBox="0 0 24 24"><polyline points="6 9 12 15 18 9"/></svg>
2704  </button>
2705  <div class="ev-mobile-bar">
2706    <button id="btnMobileKonto">
2707      <svg viewBox="0 0 24 24">
2707<path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></svg>
2708      Konto
2709    </button>
2710    <button id="btnMobileHilfe">
2711      <svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"/><circle cx="12" cy="12" r="4"/><line x1="14.83" y1="14.83" x2="17.66" y2="17.66"/><line x1="9.17" y1="9.17" x2="6.34" y2="6.34"/><line x1="14.83" y1="9.17" x2="17.66" y2="6.34"/><line x1="9.17" y1="14.83" x2="6.34" y2="17.66"/></svg>
2712      Hilfe
2713    </button>
2714    <a href="/mitdenker/bibliothek">
2715      <svg viewBox="0 0 24 24"><path d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20"/><path d="M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"/></svg>
2716      Bibliothek
2717    </a>
2718  </div>
2719
2720  <div class="ev-mobile-overlay" id="evMobileKontoOverlay">
2721    <div class="ev-mobile-overlay-sheet" id="evMobileKontoSheet">
2722      <div class="ev-mobile-overlay-handle"></div>
2723      <div class="ev-mobile-overlay-title">
2724        Mein Konto
2725        <button class="ev-mobile-overlay-close" id="btnKontoClose"><svg viewBox="0 0 24 24"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></button>
2726      </div>
2727      <div class="ev-mobile-nl" id="evMobileNlWrap">
2728        <div class="ev-mobile-nl-label">Mitdenker-Wissens-Newsletter</div>
2729        <div class="ev-mobile-nl-sub">Kostenlos erhalten</div>
2730        <form class="ev-mobile-nl-form" id="evMobileNlForm">
2731          <input type="email" placeholder="Deine E-Mail" required id="evMobileNlEmail" autocomplete="email">
2732          <button type="submit" id="evMobileNlBtn">Anmelden</button>
2733        </form>
2734        <div class="ev-mobile-nl-hint">Wir schicken dir eine Best&auml;tigung per E-Mail.</div>
2735        <div class="ev-mobile-nl-msg" id="evMobileNlMsg"></div>
2736      </div>
2737      <div class="ev-mobile-overlay-links" id="evKontoLinks"></div>
2738    </div>
2739  </div>
2740
2741  <div class="ev-mobile-overlay" id="evMobileHilfeOverlay">
2742    <div class="ev-mobile-overlay-sheet">
2743      <div class="ev-mobile-overlay-handle"></div>
2744      <div class="ev-mobile-overlay-title">
2745        Hilfe
2746        <button class="ev-mobile-overlay-close" id="btnHilfeClose"><svg viewBox="0 0 24 24"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg></button>
2747      </div>
2748      <div class="ev-mobile-overlay-links">
2749        <a href="/100-tage-garantie" class="ev-mobile-overlay-link">100 Tage Garantie <svg viewBox="0 0 24 24"><polyline points="9 18 15 12 9 6"/></svg></a>
2750        <a href="/zahlung-versand" class="ev-mobile-overlay-link">Zahlung &amp; Versand <svg viewBox="0 0 24 24"><polyline points="9 18 15 12 9 6"/></svg></a>
2751        <a href="/mitdenker/themen/bestseller" class="ev-mobile-overlay-link">Bestseller <svg viewBox="0 0 24 24"><polyline points="9 18 15 12 9 6"/></svg></a>
2752        <a href="/mitdenker/manifest" class="ev-mobile-overlay-link">Manifest <svg viewBox="0 0 24 24"><polyline points="9 18 15 12 9 6"/></svg></a>
2753      </div>
2754      <div class="ev-mobile-hilfe-contact">
2755        <p>Du hast Fragen?<br>Schreib uns gerne an</p>
2756        <a href="mailto:[email protected]" style="white-space:nowrap;display:inline-block">[email protected]</a>
2757      </div>
2758    </div>
2759  </div>
2760</div>
2761
2762</div>
2763
2764<script>
2765(function(){
2766  var header = document.getElementById('evHeader');
2767  var megaBackdrop = document.getElementById('megaBackdrop');
2768  var activeMega = null;
2769  var activeNavItem = null;
2770
2771  window.addEventListener('scroll', function(){
2772    header.classList.toggle('scrolled', window.scrollY > 5);
2773  }, {passive:true});
2774
2775  var megaMap = {
2776    themen: document.getElementById('megaThemen'),
2777    bibliothek: document.getElementById('megaBibliothek')
2778  };
2779
2780  function openMega(name, navLi){
2781    if(activeMega === megaMap[name]) return;
2782    closeMega();
2783    activeMega = megaMap[name];
2784    activeNavItem = navLi;
2785    activeMega.classList.add('is-open');
2786    megaBackdrop.classList.add('is-open');
2787    navLi.classList.add('is-active');
2788
2789    var items = activeMega.querySelectorAll('[data-stagger]');
2790    var visibleItems = Array.from(items).filter(function(el){return el.style.display !== 'none'});
2791    visibleItems.forEach(function(el, i){
2792      el.style.animationDelay = (i * 30) + 'ms';
2793    });
2794  }
2795
2796  function closeMega(){
2797    if(!activeMega) return;
2798    activeMega.classList.remove('is-open');
2799    megaBackdrop.classList.remove('is-open');
2800    if(activeNavItem) activeNavItem.classList.remove('is-active');
2801    activeMega = null;
2802    activeNavItem = null;
2803  }
2804
2805  var megaCloseTimeout;
2806
2807  document.querySelectorAll('[data-mega]').forEach(function(btn){
2808    btn.addEventListener('click', function(e){
2809      e.stopPropagation();
2810      var name = btn.getAttribute('data-mega');
2811      var li = btn.closest('li');
2812      if(activeMega === megaMap[name]){
2813        closeMega();
2814      } else {
2815        openMega(name, li);
2816      }
2817    });
2818
2819    var li = btn.closest('li');
2820    li.addEventListener('mouseenter', function(){
2821      clearTimeout(megaCloseTimeout);
2822      var name = btn.getAttribute('data-mega');
2823      openMega(name, li);
2824    });
2825    li.addEventListener('mouseleave', function(){
2826      megaCloseTimeout = setTimeout(function(){
2827        if(activeMega && !activeMega.matches(':hover')){
2828          closeMega();
2829        }
2830      }, 300);
2831    });
2832  });
2833
2834  Object.values(megaMap).forEach(function(panel){
2835    panel.addEventListener('mouseenter', function(){
2836      clearTimeout(megaCloseTimeout);
2837    });
2838    panel.addEventListener('mouseleave', function(){
2839      megaCloseTimeout = setTimeout(function(){
2840        var anyNavHovered = Array.from(document.querySelectorAll('[data-mega]')).some(function(b){
2841          return b.closest('li').matches(':hover');
2842        });
2843        if(!anyNavHovered) closeMega();
2844      }, 300);
2845    });
2846  });
2847
2848  megaBackdrop.addEventListener('click', closeMega);
2849
2850  document.querySelectorAll('.ev-mega-cat').forEach(function(btn){
2851    btn.addEventListener('click', function(){
2852      var cat = btn.getAttribute('data-cat');
2853      document.querySelectorAll('.ev-mega-cat').forEach(function(b){b.classList.remove('is-active')});
2854      btn.classList.add('is-active');
2855      document.querySelectorAll('.ev-mega-product').forEach(function(p){
2856        var group = p.getAttribute('data-group');
2857        if(group === cat){
2858          p.style.display = '';
2859          p.style.animation = 'none';
2860          p.offsetHeight;
2861          p.style.animation = '';
2862        } else {
2863          p.style.display = 'none';
2864        }
2865      });
2866      var visible = document.querySelectorAll('.ev-mega-product[data-group="'+cat+'"]');
2867      visible.forEach(function(el, i){
2868        el.style.animationDelay = (i * 40) + 'ms';
2869      });
2870    });
2871  });
2872
2873  var searchOverlay = document.getElementById('searchOverlay');
2874  var searchInput = document.getElementById('searchInput');
2875  var searchInspo = document.getElementById('searchInspo');
2876  var searchTags = document.getElementById('searchTags');
2877  var searchLive = document.getElementById('searchLive');
2878  var searchLoader = document.getElementById('searchLoader');
2879  var searchClear = document.getElementById('searchClear');
2880
2881  var evThemen = [
2882    {name:'Energie',sub:'Vitalität & Antrieb',url:'/mitdenker/themen/energie',keys:['energie','vital','muede','muedigkeit','antrieb','power','kraft'],color:'var(--or)',icon:'<polyline points="13 2 3 14 12 14 11 22 21 10 12 10"/>'},
2883    {name:'Schlaf',sub:'Erholung & Regeneration',url:'/mitdenker/themen/schlaf',keys:['schlaf','schlafen','muede','erholung','regeneration','melatonin','einschlafen'],color:'var(--pp)',icon:'<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"/>'},
2884    {name:'Immunsystem',sub:'Abwehr & Schutz',url:'/mitdenker/themen/immunsystem',keys:['immun','abwehr','schutz','erkaeltung','grippe','immunsystem'],color:'var(--p)',icon:'<path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/>'},
2885    {name:'Verdauung',sub:'Darm & Balance',url:'/mitdenker/themen/verdauung',keys:['verdauung','darm','magen','bauch','mikrobiom','probiotik','blaenung'],color:'var(--a)',icon:'<path d="M12 22c-4-3-8-6-8-10a4 4 0 0 1 8 0 4 4 0 0 1 8 0c0 4-4 7-8 10z"/>'},
2886    {name:'Fokus',sub:'Klarheit & Konzentration',url:'/mitdenker/themen/fokus',keys:['fokus','konzentration','gehirn','brain','klarheit','geistig','kogniti'],color:'var(--bl)',icon:'<circle cx="12" cy="12" r="10"/><circle cx="12" cy="12" r="6"/><circle cx="12" cy="12" r="2"/>'},
2887    {name:'Longevity',sub:'Langlebigkeit',url:'/mitdenker/themen/longevity',keys:['longevity','langlebigkeit','altern','anti-aging','jung','zellen','spermidin','nad+'],color:'var(--teal)',icon:'<path d="M18.18 8c5.1 0 5.1 8 0 8-5.1 0-7.13-8-12.74-8-4.58 0-4.58 8 0 8 5.6 0 7.64-8 12.74-8z"/>'},
2888    {name:'Haut & Haare',sub:'Schönheit von innen',url:'/mitdenker/themen/haut-haare',keys:['haut','haare','haar','schoenheit','kollagen','falten','akne','nagel','biotin'],color:'var(--rose)',icon:'<polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"/>'},
2889    {name:'Gelenke',sub:'Beweglichkeit',url:'/mitdenker/themen/gelenke',keys:['gelenke','gelenk','knochen','knorpel','arthrose','beweglichkeit','msm','glucosamin'],color:'var(--bl)',icon:'<circle cx="17" cy="4" r="2"/><path d="M13 7l-4 4 2 2-3 5"/><path d="M17 7l-2 4h-4"/><path d="M7 18l3-5"/>'},
2890    {name:'Hormone',sub:'Gleichgewicht',url:'/mitdenker/themen/hormone',keys:['hormone','hormon','schilddruese','testosteron','oestrogen','cortisol','gleichgewicht'],color:'var(--pp)',icon:'<path d="M10 2v6l-2 4v4a4 4 0 0 0 8 0v-4l-2-4V2"/><line x1="10" y1="2" x2="14" y2="2"/><line x1="9" y1="12" x2="15" y2="12"/>'},
2891    {name:'Frauengesundheit',sub:'Weibliche Vitalität',url:'/mitdenker/themen/frauengesundheit',keys:['frau','frauen','weiblich','zyklus','wechseljahre','menopause','pms','schwanger'],color:'var(--rose)',icon:'<circle cx="12" cy="8" r="5"/><path d="M12 13v8"/><path d="M9 18h6"/>'},
2892    {name:'Gewicht',sub:'Stoffwechsel',url:'/mitdenker/themen/gewicht',keys:['gewicht','abnehmen','stoffwechsel','diaet','kalorien','fettverbrennung','metabol'],color:'var(--or)',icon:'<path d="M16 3l5 5-5 5"/><path d="M21 8H9"/><path d="M8 21l-5-5 5-5"/><path d="M3 16h12"/>'},
2893    {name:'Innere Werte',sub:'Was innen zählt',url:'/mitdenker/themen/blutwerte',keys:['innere werte','werte','blut','blutwerte','labor','diagnostik','mangel','ferritin'],color:'var(--rd)',icon:'<path d="M12 2.69l5.66 5.66a8 8 0 1 1-11.31 0z"/>'},
2894    {name:'Vitamine',sub:'D3, K2, C und B-Komplex',url:'/mitdenker/themen/vitamine',keys:['vitamin','vitamine','vit'],color:'var(--or)',icon:'<circle cx="12" cy="12" r="5"/><path d="M12 1v3"/><path d="M12 20v3"/><path d="M4.22 4.22l2.12 2.12"/><path d="M17.66 17.66l2.12 2.12"/><path d="M1 12h3"/><path d="M20 12h3"/><path d="M4.22 19.78l2.12-2.12"/><path d="M17.66 6.34l2.12-2.12"/>'},
2895    {name:'Mineralien',sub:'Essenzielle Mineralstoffe',url:'/mitdenker/themen/mineralien',keys:['mineral','mineralien','mineralstoffe','magnesium','zink','selen','calcium','kalium'],color:'var(--teal)',icon:'<path d="M18 3a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3H6a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3V6a3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3h12a3 3 0 0 0 3-3 3 3 0 0 0-3-3z"/>'},
2896    {name:'Aminosaeuren',sub:'Proteinbausteine',url:'/mitdenker/themen/aminosaeuren',keys:['amino','aminosaeuren','protein','taurin','kreatin','l-carnitin','bcaa'],color:'var(--bl)',icon:'<path d="M12 2L2 7l10 5 10-5-10-5z"/><path d="M2 17l10 5 10-5"/><path d="M2 12l10 5 10-5"/>'},
2897    {name:'Augen',sub:'Sehkraft & Schutz',url:'/mitdenker/themen/augen',keys:['augen','auge','sehkraft','sehen','lutein','blaulicht'],color:'var(--bl)',icon:'<path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"/><circle cx="12" cy="12" r="3"/>'},
2898    {name:'Familie',sub:'Fuer Gross & Klein',url:'/mitdenker/themen/familie',keys:['familie','kinder','kind','baby','schwanger','eltern'],color:'var(--rose)',icon:'<path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M23 21v-2a4 4 0 0 0-3-3.87"/><path d="M16 3.13a4 4 0 0 1 0 7.75"/>'},
2899    {name:'Kolloide',sub:'Kolloidale Elemente',url:'/mitdenker/themen/kolloide',keys:['kolloid','kolloidal','silber','gold','lithium'],color:'var(--a)',icon:'<circle cx="12" cy="12" r="10"/><circle cx="12" cy="12" r="4"/><path d="M4.93 4.93l4.24 4.24"/><path d="M14.83 14.83l4.24 4.24"/>'},
2900    {name:'Drogerie',sub:'Methylenblau, DMSO & Co.',url:'/mitdenker/themen/kontrovers',keys:['drogerie','kontrovers','dmso','mms','chlordioxid','alternativ','umstritten','methylenblau'],color:'var(--rd)',icon:'<path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"/><path d="M12 9v4"/><path d="M12 17h.01"/>'},
2901    {name:'Bestseller',sub:'Am beliebtesten',url:'/mitdenker/themen/bestseller',keys:['bestseller','beliebt','meistverkauft'],color:'var(--a)',icon:'<polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"/>'},
2902    {name:'Vegan',sub:'Pflanzliche Ergaenzung',url:'/mitdenker/themen/vegan',keys:['vegan','pflanzlich','vegetarisch','plant-based'],color:'var(--p)',icon:'<path d="M2 22c1.25-1.25 2.5-2.5 4.5-3.5C2 12 4 4 14 4c0 10-8 12-14.5 16.5"/>
2902<path d="M14 4c2 2 4 6 4 12"/>'}
2903  ];
2904
2905  function matchThemen(q){
2906    var lq = q.toLowerCase().trim();
2907    if(lq.length < 2) return [];
2908    return evThemen.filter(function(t){
2909      if(t.name.toLowerCase().indexOf(lq) !== -1) return true;
2910      if(lq.length < 3) return false;
2911      return t.keys.some(function(k){
2912        return k.length >= 3 && (k.indexOf(lq) !== -1 || lq.indexOf(k) !== -1);
2913      });
2914    }).slice(0, 4);
2915  }
2916
2917  function renderSpotlight(themes){
2918    if(!themes.length) return '';
2919    var html = '<div class="ev-search-section"><div class="ev-search-section-label">Themen</div><div class="ev-search-themes">';
2920    themes.forEach(function(t){
2921      html += '<a href="'+t.url+'" class="ev-search-theme-card">'
2922        + '<div class="ev-search-theme-icon" style="background:'+t.color+'"><svg viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">' + t.icon + '</svg></div>'
2923        + '<span class="ev-search-theme-name">'+t.name+'</span>'
2924        + '<span class="ev-search-theme-sub">'+t.sub+'</span></a>';
2925    });
2926    html += '</div></div>';
2927    return html;
2928  }
2929
2930  function openSearch(){
2931    searchOverlay.classList.add('is-open');
2932    closeMega();
2933    closeMobile();
2934    if(searchInspo) searchInspo.classList.remove('is-hidden');
2935    if(searchTags) searchTags.classList.remove('is-hidden');
2936    searchLive.innerHTML = '';
2937    searchLive.classList.add('is-hidden');
2938    searchClear.classList.remove('is-visible');
2939    setTimeout(function(){ searchInput.focus(); }, 150);
2940  }
2941  function closeSearch(){
2942    searchOverlay.classList.remove('is-open');
2943    searchInput.value = '';
2944    searchLive.innerHTML = '';
2945    searchLive.classList.add('is-hidden');
2946    if(searchInspo) searchInspo.classList.remove('is-hidden');
2947    if(searchTags) searchTags.classList.remove('is-hidden');
2948    searchClear.classList.remove('is-visible');
2949    searchLoader.classList.remove('is-visible');
2950  }
2951
2952  document.getElementById('btnSearchClose').addEventListener('click', closeSearch);
2953  document.getElementById('btnSearch').addEventListener('click', openSearch);
2954  searchOverlay.addEventListener('click', function(e){
2955    var panel = searchOverlay.querySelector('.ev-search-panel');
2956    if(!panel.contains(e.target)) closeSearch();
2957  });
2958
2959  document.addEventListener('keydown', function(e){
2960    if((e.metaKey || e.ctrlKey) && e.key === 'k'){
2961      e.preventDefault();
2962      openSearch();
2963    }
2964    if(e.key === 'Escape'){
2965      closeSearch();
2966      closeMega();
2967      closeMobile();
2968      closeAccountDropdown();
2969    }
2970  });
2971
2972  searchClear.addEventListener('click', function(){
2973    searchInput.value = '';
2974    searchInput.focus();
2975    searchClear.classList.remove('is-visible');
2976    searchLive.innerHTML = '';
2977    searchLive.classList.add('is-hidden');
2978    if(searchInspo) searchInspo.classList.remove('is-hidden');
2979    if(searchTags) searchTags.classList.remove('is-hidden');
2980  });
2981
2982  document.querySelectorAll('.ev-search-tag').forEach(function(btn){
2983    if(btn.tagName === 'A') return;
2984    btn.addEventListener('click', function(){
2985      searchInput.value = btn.textContent;
2986      searchInput.focus();
2987      searchClear.classList.add('is-visible');
2988      searchInput.dispatchEvent(new Event('input', {bubbles:true}));
2989    });
2990  });
2991
2992  var mobileMenu = document.getElementById('mobileMenu');
2993
2994  function openMobile(){
2995    document.body.classList.add('ev-mobile-open');
2996    mobileMenu.classList.add('is-open');
2997    document.body.style.overflow = 'hidden';
2998    closeMega();
2999    if(typeof evUpdateScrollHint==='function') setTimeout(evUpdateScrollHint,60);
3000  }
3001  function closeMobile(){
3002    mobileMenu.classList.remove('is-open');
3003    document.body.classList.remove('ev-mobile-open');
3004    document.body.style.overflow = '';
3005  }
3006
3007  function killOffcanvasMenu(){
3008    if(!window.PluginManager) return false;
3009    try{window.PluginManager.deregister('OffcanvasMenu')}catch(e){}
3010    try{window.PluginManager.deregister('OffCanvasMenu')}catch(e){}
3011    var orig = window.PluginManager.register;
3012    if(orig && !orig._evPatched){
3013      window.PluginManager.register = function(name){
3014        if(name && name.toLowerCase().indexOf('offcanvasmenu') !== -1) return;
3015        return orig.apply(this, arguments);
3016      };
3017      window.PluginManager.register._evPatched = true;
3018    }
3019    return true;
3020  }
3021  if(!killOffcanvasMenu()){
3022    var _killInterval = setInterval(function(){
3023      if(killOffcanvasMenu()) clearInterval(_killInterval);
3024    }, 50);
3025    setTimeout(function(){ clearInterval(_killInterval) }, 10000);
3026  }
3027  document.addEventListener('DOMContentLoaded', killOffcanvasMenu);
3028
3029  document.getElementById('btnBurger').addEventListener('click', function(e){
3030    e.stopPropagation();e.stopImmediatePropagation();e.preventDefault();
3031    document.querySelectorAll('.offcanvas.show,.navigation-offcanvas').forEach(function(el){
3032      el.classList.remove('show');el.style.display='none';
3033    });
3034    document.querySelectorAll('.offcanvas-backdrop').forEach(function(el){el.remove()});
3035    /* B10 (28.08.): auch einen GESCHLOSSENEN Cart entfernen - er liegt nur per transform ausserhalb,
3036       und body.ev-mobile-open setzt transform:none auf alles (sonst lag er ueber dem Menue). */
3037    document.querySelectorAll('.offcanvas.cart-offcanvas:not(.show)').forEach(function(el){el.remove()});
3038    document.body.classList.remove('offcanvas-open');
3039    document.body.style.overflow = '';
3040    openMobile();
3041  }, true);
3042  document.getElementById('btnMobileClose').addEventListener('click', closeMobile);
3043
3044  // Scroll-Hinweis: zeigt einen Pfeil nach unten wenn im offenen Menue noch Inhalt unterhalb liegt
3045  var evMobBody = document.querySelector('.ev-mobile-body');
3046  var evScrollHint = document.getElementById('evScrollHint');
3047  function evUpdateScrollHint(){
3048    if(!evMobBody || !evScrollHint) return;
3049    var canScroll = (evMobBody.scrollHeight - evMobBody.clientHeight) > 28;
3050    var atBottom = (evMobBody.scrollTop + evMobBody.clientHeight) >= (evMobBody.scrollHeight - 44);
3051    var menuOpen = mobileMenu.classList.contains('is-open');
3052    evScrollHint.classList.toggle('is-visible', !!(canScroll && !atBottom && menuOpen));
3053  }
3054  if(evMobBody) evMobBody.addEventListener('scroll', evUpdateScrollHint, {passive:true});
3055  if(evScrollHint) evScrollHint.addEventListener('click', function(){ if(evMobBody) evMobBody.scrollBy({top:Math.round(evMobBody.clientHeight*0.72), behavior:'smooth'}); });
3056  window.addEventListener('resize', function(){ setTimeout(evUpdateScrollHint,60); }, {passive:true});
3057
3058  document.querySelectorAll('.ev-mobile-tab').forEach(function(tab){
3059    tab.addEventListener('click', function(){
3060      var panel = tab.getAttribute('data-panel');
3061      document.querySelectorAll('.ev-mobile-tab').forEach(function(t){t.classList.remove('is-active')});
3062      tab.classList.add('is-active');
3063      document.querySelectorAll('.ev-mobile-panel').forEach(function(p){p.classList.remove('is-active')});
3064      document.getElementById(panel).classList.add('is-active');
3065      if(typeof evUpdateScrollHint==='function') setTimeout(evUpdateScrollHint,30);
3066    });
3067  });
3068
3069  var startX = 0, startY = 0, swipeTarget = null, swipeLocked = false;
3070  function isHScrollArea(el){
3071    return el && (el.closest('.ev-mobile-hscroll') || el.closest('.ev-mobile-tabs') || el.closest('.ev-mobile-search-inspo') || el.closest('.ev-mobile-themes'));
3072  }
3073  mobileMenu.addEventListener('touchstart', function(e){
3074    startX = e.touches[0].clientX;
3075    startY = e.touches[0].clientY;
3076    swipeTarget = e.target;
3077    swipeLocked = false;
3078  }, {passive:true});
3079  mobileMenu.addEventListener('touchmove', function(e){
3080    if(swipeLocked) return;
3081    var dx = Math.abs(e.touches[0].clientX - startX);
3082    var dy = Math.abs(e.touches[0].clientY - startY);
3083    if(dx > 10 && dx > dy && isHScrollArea(swipeTarget)){
3084      swipeLocked = true;
3085    }
3086  }, {passive:true});
3087  mobileMenu.addEventListener('touchend', function(e){
3088    if(swipeLocked) return;
3089    if(isHScrollArea(swipeTarget)) return;
3090    var diff = e.changedTouches[0].clientX - startX;
3091    if(diff > 100) closeMobile();
3092  }, {passive:true});
3093
3094  document.querySelectorAll('.ev-mobile a[href]').forEach(function(a){
3095    a.addEventListener('click', function(){
3096      setTimeout(closeMobile, 100);
3097    });
3098  });
3099
3100  var mobileSearchDrawer = document.getElementById('mobileSearchDrawer');
3101  var mobileSearchInput = document.getElementById('mobileSearchInput');
3102  var mobileSuggestions = document.getElementById('mobileSuggestions');
3103  var mobileSearchIcon = document.getElementById('mobileSearchIcon');
3104  var mobileSearchInspo = document.getElementById('mobileSearchInspo');
3105  var mobileDebounce;
3106
3107
3108  if(mobileSearchInput) mobileSearchInput.addEventListener('input', function(){
3109    var query=this.value.trim();
3110    clearTimeout(mobileDebounce);
3111    if(query.length<2){
3112      mobileSuggestions.innerHTML='';
3113      mobileSearchIcon.classList.remove('is-loading');
3114      if(mobileSearchInspo) mobileSearchInspo.classList.remove('is-hidden');
3115      return;
3116    }
3117    if(mobileSearchInspo) mobileSearchInspo.classList.add('is-hidden');
3118    mobileSearchIcon.classList.add('is-loading');
3119    mobileDebounce=setTimeout(function(){
3120      fetch('/suggest?search='+encodeURIComponent(query),{
3121        headers:{'X-Requested-With':'XMLHttpRequest','Accept':'text/html'}
3122      })
3123      .then(function(r){return r.text()})
3124      .then(function(html){
3125        mobileSearchIcon.classList.remove('is-loading');
3126        if(html&&html.trim()&&html.includes('search-suggest')){
3127          var footer=document.body.querySelector(':scope > .acris-search-suggest-total');
3128          if(footer) footer.remove();
3129          mobileSuggestions.innerHTML=html;
3130        } else {
3131          mobileSuggestions.innerHTML='<div style="text-align:center;padding:24px;color:var(--t3)">Keine Treffer gefunden</div>';
3132        }
3133      })
3134      .catch(function(){
3135        mobileSearchIcon.classList.remove('is-loading');
3136        mobileSuggestions.innerHTML='';
3137      });
3138    },300);
3139  });
3140
3141  document.addEventListener('keydown', function(e){
3142    if(e.key==='/'&&!['INPUT','TEXTAREA'].includes(document.activeElement.tagName)){
3143      e.preventDefault();
3144      if(window.innerWidth>=1024){
3145        openSearch();
3146      } else if(mobileMenu.classList.contains('is-open')){
3147        mobileSearchDrawer.classList.add('is-open');
3148        setTimeout(function(){mobileSearchInput.focus()},100);
3149      }
3150    }
3151  });
3152
3153  (function(){
3154    var CACHE_KEY = 'ev-aktion-status-v2';
3155    var CACHE_TTL = 5 * 60 * 1000;
3156    var headerEl = document.getElementById('ev-immersive-header');
3157    var body = document.body;
3158
3159    function apply(drog, neu){
3160      var any = drog || neu;
3161      [headerEl, body].forEach(function(el){
3162        if(!el) return;
3163        el.classList.toggle('ev-aktion-active', drog);
3164        el.classList.toggle('ev-neukunden-active', neu);
3165        el.classList.toggle('ev-any-aktion-active', any);
3166      });
3167      if(any){
3168        var aktTab = document.querySelector('.ev-mobile-tab.ev-tab-aktionen');
3169        var aktPanel = document.getElementById('m-aktionen');
3170        var prodTab = document.querySelector('.ev-mobile-tab[data-panel="m-bestseller"]');
3171        var prodPanel = document.getElementById('m-bestseller');
3172        if(aktTab && aktPanel && prodTab && prodTab.classList.contains('is-active') &&
3173           prodPanel && prodPanel.classList.contains('is-active')){
3174          prodTab.classList.remove('is-active'); prodPanel.classList.remove('is-active');
3175          aktTab.classList.add('is-active'); aktPanel.classList.add('is-active');
3176        }
3177      }
3178    }
3179
3180    try{
3181      var cached = JSON.parse(sessionStorage.getItem(CACHE_KEY) || 'null');
3182      if(cached && (Date.now() - cached.t) < CACHE_TTL){
3183        apply(!!cached.drog, !!cached.neu);
3184      }
3185    }catch(e){}
3186
3187    function head(url){
3188      return fetch(url, {method:'HEAD', credentials:'same-origin', cache:'no-store'})
3189        .then(function(r){ return r.ok; }).catch(function(){ return false; });
3190    }
3191
3192    Promise.all([head('/aktionen'), Promise.resolve(false)]).then(function(res){
3193      var drog = res[0], neu = res[1];
3194      apply(drog, neu);
3195      try{ sessionStorage.setItem(CACHE_KEY, JSON.stringify({drog:drog, neu:neu, t:Date.now()})); }catch(e){}
3196    });
3197  })();
3198
3199  // Topbar-Zeitrotation (2026-07-31): eingeloggt nur Monatsaktion; ausgeloggt 7s-Crossfade Neukunden/Monatsaktion.
3200  // Erstbesuch startet mit Neukunden. Hover/Fokus pausiert. prefers-reduced-motion: statisch, Wechsel pro Pageview.
3201  (function(){
3202    var rot=document.getElementById('evTopbarRot');
3203    if(!rot)return;
3204    var INTERVAL=7000,timer=null,paused=false,maShown=false,started=false;
3205    function decide(){
3206      if(started)return;
3207      var drog=document.body.classList.contains('ev-aktion-active');
3208      var neu=document.body.classList.contains('ev-neukunden-active');
3209      var liRaw=null;try{liRaw=sessionStorage.getItem('evLoggedIn');}catch(e){}
3210      if(!drog&&!neu)return;
3211      if(!drog){started=true;return;}
3212      if(liRaw===null&&neu)return;
3213      started=true;
3214      var li=liRaw==='1';
3215      if(li||!neu){rot.classList.add('rot-ma-only');return;}
3216      var reduced=window.matchMedia&&matchMedia('(prefers-reduced-motion: reduce)').matches;
3217      var first=false;
3218      try{first=!localStorage.getItem('evTopbarSeen');localStorage.setItem('evTopbarSeen','1');}catch(e){}
3219      if(reduced){
3220        var flip=false;
3221        try{flip=sessionStorage.getItem('evTopbarFlip')==='1';sessionStorage.setItem('evTopbarFlip',flip?'0':'1');}catch(e){}
3222        if(!first&&flip)rot.classList.add('rot-ma');
3223        return;
3224      }
3225      timer=setInterval(function(){
3226        if(paused)return;
3227        maShown=!maShown;
3228        rot.classList.toggle('rot-ma',maShown);
3229      },INTERVAL);
3230      rot.addEventListener('mouseenter',function(){paused=true;});
3231      rot.addEventListener('mouseleave',function(){paused=false;});
3232      rot.addEventListener('focusin',function(){paused=true;});
3233      rot.addEventListener('focusout',function(){paused=false;});
3234    }
3235    decide();
3236    var tries=0;
3237    var poll=setInterval(function(){decide();if(started||++tries>25)clearInterval(poll);},400);
3238  })();
3239
3240  var evKontoOverlay = document.getElementById('evMobileKontoOverlay');
3241  var evKontoLinks = document.getElementById('evKontoLinks');
3242  function evBuildKontoLinks(){
3243    var loggedIn = false;
3244    var evCached=null;try{evCached=sessionStorage.getItem('evLoggedIn');}catch(e){}
3245    if(typeof window.evCustomerLoggedIn==='boolean'){loggedIn=window.evCustomerLoggedIn;}
3246    else if(evCached!==null){loggedIn=(evCached==='1');}
3247    else{
3248      if(document.body.classList.contains('is-customer-logged-in')) loggedIn=true;
3249      try{var c=JSON.parse(localStorage.getItem('sw-context')||'{}');if(c.customer&&c.customer.id)loggedIn=true}catch(e){}
3250      if(document.cookie.indexOf('sw-states')!==-1&&document.cookie.indexOf('logged-in')!==-1)loggedIn=true;
3251      var p=window.location.pathname;
3252      if(p.indexOf('/account')===0&&p.indexOf('/login')===-1&&p.indexOf('/register')===-1)loggedIn=true;
3253    }
3254    var arrowSvg='<svg viewBox="0 0 24 24"><polyline points="9 18 15 12 9 6"/></svg>';
3255    if(loggedIn){
3256      evKontoLinks.innerHTML=
3257        '<a href="/account" class="ev-mobile-overlay-link">Mein Konto '+arrowSvg+'</a>'+
3258        '<a href="/account/order" class="ev-mobile-overlay-link">Meine Bestellungen '+arrowSvg+'</a>'+
3259        '<a href="/account/logout" class="ev-mobile-overlay-link" style="color:var(--rd)">Abmelden '+arrowSvg+'</a>';
3260      var fnM=window.evCustomerFirstName;
3261      if(typeof fnM==='string'&&fnM){
3262        var gM=document.createElement('div');
3263        gM.className='ev-mobile-overlay-greet';
3264        gM.textContent='Hallo '+fnM;
3265        evKontoLinks.insertBefore(gM,evKontoLinks.firstChild);
3266      }
3267    } else {
3268      evKontoLinks.innerHTML=
3269        '<a href="/account/login" class="ev-mobile-overlay-link">Anmelden '+arrowSvg+'</a>'+
3270        '<a href="/account/register" class="ev-mobile-overlay-link">
3270Registrieren '+arrowSvg+'</a>';
3271    }
3272  }
3273  document.getElementById('btnMobileKonto').addEventListener('click',function(){
3274    evBuildKontoLinks();
3275    evKontoOverlay.style.display='flex';evKontoOverlay.classList.add('is-open');
3276  });
3277  var evNlForm=document.getElementById('evMobileNlForm');
3278  var evNlMsg=document.getElementById('evMobileNlMsg');
3279  if(evNlForm){evNlForm.addEventListener('submit',function(e){
3280    e.preventDefault();
3281    var email=document.getElementById('evMobileNlEmail').value.trim();
3282    if(!email)return;
3283    evNlMsg.textContent='Wird gesendet\u2026';evNlMsg.className='ev-mobile-nl-msg';
3284    fetch('https://e3ff7c56.sibforms.com/serve/MUIFAKiYjSKcx4ZLNOKSrJOtrRlkWlYOiga5aWqfDN70qaIpGhSUmTJWIFDrG9CBI5R9-Hsb66bxzeEUJhjyEfYZYPL7LYLeEQ7yP26DLq64f82ZLW00zDxcEd69geKpEIjK23zFAFzxYZk4hSNc30BnG8xIqTKQkeErRJag0k5ZwgpNyVFz_DXwhVR3xN9neVfUo2WBo6KwigqM',{
3285      method:'POST',headers:{'Content-Type':'application/x-www-form-urlencoded'},
3286      body:'EMAIL='+encodeURIComponent(email),mode:'no-cors'
3287    }).then(function(){
3288      evNlMsg.textContent='Danke! Bitte best\u00e4tige deine E-Mail.';evNlMsg.className='ev-mobile-nl-msg ok';
3289      document.getElementById('evMobileNlEmail').value='';
3290    }).catch(function(){
3291      evNlMsg.textContent='Fehler \u2013 bitte sp\u00e4ter nochmal versuchen.';evNlMsg.className='ev-mobile-nl-msg err';
3292    });
3293  })}
3294  document.getElementById('btnKontoClose').addEventListener('click',function(){
3295    evKontoOverlay.style.display='';evKontoOverlay.classList.remove('is-open');
3296  });
3297  evKontoOverlay.addEventListener('click',function(e){
3298    if(e.target===evKontoOverlay){evKontoOverlay.style.display='';evKontoOverlay.classList.remove('is-open');}
3299  });
3300
3301  var evHilfeOverlay = document.getElementById('evMobileHilfeOverlay');
3302  document.getElementById('btnMobileHilfe').addEventListener('click',function(){
3303    evHilfeOverlay.style.display='flex';evHilfeOverlay.classList.add('is-open');
3304  });
3305  document.getElementById('btnHilfeClose').addEventListener('click',function(){
3306    evHilfeOverlay.style.display='';evHilfeOverlay.classList.remove('is-open');
3307  });
3308  evHilfeOverlay.addEventListener('click',function(e){
3309    if(e.target===evHilfeOverlay){evHilfeOverlay.style.display='';evHilfeOverlay.classList.remove('is-open');}
3310  });
3311
3312  var desktopDebounce;
3313
3314  var searchForm = document.getElementById('searchForm');
3315  if(searchForm){
3316    searchForm.addEventListener('submit', function(e){
3317      e.preventDefault();
3318      var q = searchInput.value.trim();
3319      if(q.length > 0){
3320        closeSearch();
3321        window.location.href = '/search?search=' + encodeURIComponent(q);
3322      }
3323    });
3324  }
3325
3326  searchInput.addEventListener('input', function(){
3327    var query = searchInput.value.trim();
3328    clearTimeout(desktopDebounce);
3329
3330    if(query.length > 0){
3331      searchClear.classList.add('is-visible');
3332      if(searchInspo) searchInspo.classList.add('is-hidden');
3333      if(searchTags) searchTags.classList.add('is-hidden');
3334    } else {
3335      searchClear.classList.remove('is-visible');
3336      searchLive.innerHTML = '';
3337      searchLive.classList.add('is-hidden');
3338      if(searchInspo) searchInspo.classList.remove('is-hidden');
3339      if(searchTags) searchTags.classList.remove('is-hidden');
3340      searchLoader.classList.remove('is-visible');
3341      return;
3342    }
3343
3344    var themes = matchThemen(query);
3345    var spotlightHtml = renderSpotlight(themes);
3346
3347    if(query.length >= 2){
3348      searchLoader.classList.add('is-visible');
3349      searchLive.innerHTML = spotlightHtml + '<div class="ev-search-section" id="searchProductSection"><div class="ev-search-section-label">Produkte</div><div class="ev-search-products" id="searchProductResults"></div></div>';
3350      searchLive.classList.remove('is-hidden');
3351
3352      desktopDebounce = setTimeout(function(){
3353        fetch('/store-api/search', {
3354          method: 'POST',
3355          headers: {
3356            'sw-access-key': 'SWSCA1RHA1LQCKPSCHZFQTE5CW',
3357            'Content-Type': 'application/json',
3358            'Accept': 'application/json'
3359          },
3360          body: JSON.stringify({
3361            search: query,
3362            limit: 8,
3363            query: [
3364              { score: 5000, query: { type: 'contains', field: 'name', value: query } },
3365              { score: 2000, query: { type: 'prefix', field: 'name', value: query } }
3366            ],
3367            includes: {
3368              product: ['id','name','calculatedPrice','cover','seoUrls','translated'],
3369              product_media: ['media'],
3370              media: ['url','thumbnails']
3371            },
3372            associations: {
3373              cover: { associations: { media: {} } },
3374              seoUrls: {}
3375            }
3376          })
3377        })
3378        .then(function(r){ return r.json(); })
3379        .then(function(data){
3380          searchLoader.classList.remove('is-visible');
3381          var prodContainer = document.getElementById('searchProductResults');
3382          var prodSection = document.getElementById('searchProductSection');
3383          if(!prodContainer) return;
3384
3385          var products = (data && data.elements) || [];
3386          if(products.length === 0){
3387            if(themes.length){
3388              if(prodSection) prodSection.remove();
3389            } else {
3390              prodContainer.innerHTML = '<div class="ev-search-empty" style="grid-column:1/-1">Keine Treffer fuer &bdquo;' + query.replace(/</g,'&lt;') + '&ldquo;</div>';
3391            }
3392            return;
3393          }
3394
3395          var cardsHtml = '';
3396          products.forEach(function(p){
3397            var imgUrl = '';
3398            if(p.cover && p.cover.media){
3399              var thumbs = p.cover.media.thumbnails || [];
3400              var t400 = thumbs.find(function(t){ return t.width >= 400; });
3401              var rawUrl = t400 ? t400.url : p.cover.media.url;
3402              imgUrl = rawUrl + (rawUrl.indexOf('?') > -1 ? '&w=200' : '?w=200');
3403            }
3404            var price = p.calculatedPrice;
3405            var priceStr = '';
3406            var fromStr = '';
3407            var oldStr = '';
3408            var redCls = '';
3409            if(price){
3410              var unit = price.unitPrice || price.totalPrice || 0;
3411              priceStr = unit.toLocaleString('de-DE', {style:'currency',currency:'EUR'});
3412              if(price.hasRange) fromStr = 'ab ';
3413              var lp = (price.listPrice && price.listPrice.price) || 0;
3414              if(lp > unit){
3415                oldStr = '<span class="ev-search-prod-old">' + lp.toLocaleString('de-DE', {style:'currency',currency:'EUR'}) + '</span>';
3416                redCls = ' is-red';
3417              }
3418            }
3419            var url = '/detail/' + p.id;
3420            if(p.seoUrls && p.seoUrls.length){
3421              var seo = p.seoUrls.find(function(s){ return s.isCanonical; }) || p.seoUrls[0];
3422              if(seo && seo.seoPathInfo) url = '/' + seo.seoPathInfo;
3423            }
3424            var name = (p.translated && p.translated.name) || p.name || '';
3425
3426            cardsHtml += '<a href="' + url + '" class="ev-search-prod">'
3427              + '<div class="ev-search-prod-img">'
3428              + (imgUrl ? '<img src="'+imgUrl+'" alt="'+name.replace(/"/g,'&quot;')+'" loading="lazy">' : '')
3429              + '</div>'
3430              + '<div class="ev-search-prod-info">'
3431              + '<div class="ev-search-prod-name">'+name+'</div>'
3432              + '<div class="ev-search-prod-price'+redCls+'">'+fromStr+priceStr+oldStr+'</div>'
3433              + '</div></a>';
3434          });
3435
3436          var total = data.total || 0;
3437          if(total > 8){
3438            cardsHtml += '<div class="ev-search-all"><a href="/search?search='+encodeURIComponent(query)+'">Alle '+total+' Ergebnisse anzeigen <svg viewBox="0 0 24 24"><polyline points="9 18 15 12 9 6"/></svg></a></div>';
3439          }
3440
3441          prodContainer.innerHTML = cardsHtml;
3442        })
3443        .catch(function(){
3444          searchLoader.classList.remove('is-visible');
3445        });
3446      }, 200);
3447    } else {
3448      if(spotlightHtml){
3449        searchLive.innerHTML = spotlightHtml;
3450        searchLive.classList.remove('is-hidden');
3451      } else {
3452        searchLive.innerHTML = '';
3453        searchLive.classList.add('is-hidden');
3454        if(searchInspo) searchInspo.classList.remove('is-hidden');
3455        if(searchTags) searchTags.classList.remove('is-hidden');
3456      }
3457    }
3458  });
3459
3460  var accountWrap = document.getElementById('accountWrap');
3461  var accountDropdown = document.getElementById('accountDropdown');
3462  var btnAccount = document.getElementById('btnAccount');
3463  var accountCloseTimeout;
3464
3465  function openAccountDropdown(){
3466    closeAccountDropdown();
3467    accountDropdown.style.opacity='1';
3468    accountDropdown.style.visibility='visible';
3469    accountDropdown.style.transform='translateY(0)';
3470    accountDropdown.classList.add('is-open');
3471    btnAccount.setAttribute('aria-expanded','true');
3472    closeMega();
3473  }
3474  function closeAccountDropdown(){
3475    accountDropdown.style.opacity='';
3476    accountDropdown.style.visibility='';
3477    accountDropdown.style.transform='';
3478    accountDropdown.classList.remove('is-open');
3479    btnAccount.setAttribute('aria-expanded','false');
3480  }
3481
3482  btnAccount.addEventListener('click', function(e){
3483    e.stopPropagation();
3484    if(accountDropdown.classList.contains('is-open')){
3485      closeAccountDropdown();
3486    } else {
3487      openAccountDropdown();
3488    }
3489  });
3490  accountWrap.addEventListener('mouseenter', function(){
3491    clearTimeout(accountCloseTimeout);
3492    if(window.innerWidth >= 1024) openAccountDropdown();
3493  });
3494  accountWrap.addEventListener('mouseleave', function(){
3495    accountCloseTimeout = setTimeout(closeAccountDropdown, 250);
3496  });
3497  document.addEventListener('click', function(e){
3498    if(!accountWrap.contains(e.target)) closeAccountDropdown();
3499  });
3500
3501  // Aktionen-Dropdown (Desktop, isoliert vom Mega-System)
3502  var aktNav = document.getElementById('navAktionen');
3503  var aktPill = document.getElementById('btnAktionen');
3504  if(aktNav && aktPill){
3505    var aktCloseTimeout;
3506    var openAkt = function(){ clearTimeout(aktCloseTimeout); aktNav.classList.add('is-open'); aktPill.setAttribute('aria-expanded','true'); };
3507    var closeAkt = function(){ aktNav.classList.remove('is-open'); aktPill.setAttribute('aria-expanded','false'); };
3508    aktPill.addEventListener('click', function(e){ e.stopPropagation(); if(aktNav.classList.contains('is-open')){ closeAkt(); } else { openAkt(); } });
3509    aktNav.addEventListener('mouseenter', function(){ if(window.innerWidth >= 1024) openAkt(); });
3510    aktNav.addEventListener('mouseleave', function(){ aktCloseTimeout = setTimeout(closeAkt, 220); });
3511    document.addEventListener('click', function(e){ if(!aktNav.contains(e.target)) closeAkt(); });
3512    document.addEventListener('keydown', function(e){ if(e.key === 'Escape') closeAkt(); });
3513  }
3514
3515  var evHeaderEl = document.getElementById('ev-immersive-header');
3516  function checkLogin(){
3517    var evCached=null;try{evCached=sessionStorage.getItem('evLoggedIn');}catch(e){}
3518    var loggedIn = false;
3519    if(document.body.classList.contains('is-customer-logged-in')) loggedIn = true;
3520    var swLogout = document.querySelector('.header-main a[href*="/account/logout"]:not(.ev-account-logout-item)');
3521    if(swLogout) loggedIn = true;
3522    if(document.cookie.indexOf('sw-states') !== -1 && document.cookie.indexOf('logged-in') !== -1) loggedIn = true;
3523    var p = window.location.pathname;
3524    if(p.indexOf('/account') === 0 && p.indexOf('/login') === -1 && p.indexOf('/register') === -1 && p.indexOf('/recover') === -1) loggedIn = true;
3525    var cn = document.querySelector('.account-menu-customer-name, .customer-name, [data-customer-name]');
3526    if(cn && cn.textContent.trim()) loggedIn = true;
3527    try{var ctx=JSON.parse(localStorage.getItem('sw-context')||'{}');if(ctx.customer&&ctx.customer.id)loggedIn=true}catch(e){}
3528    var meta=document.querySelector('meta[name="sw-context"]');
3529    if(meta){try{var mx=JSON.parse(meta.getAttribute('content')||'{}');if(mx.customer&&mx.customer.id)loggedIn=true}catch(e){}}
3530
3531    if(evCached!==null){loggedIn=(evCached==='1');}
3532    if(typeof window.evCustomerLoggedIn==='boolean'){loggedIn=window.evCustomerLoggedIn;}
3533    if(evHeaderEl){
3534      evHeaderEl.classList.remove('show-login','show-logout');
3535      evHeaderEl.classList.add(loggedIn ? 'show-logout' : 'show-login');
3536    }
3537    var greet=document.getElementById('evAccountGreet');
3538    if(greet){
3539      var fn=window.evCustomerFirstName;
3540      if(loggedIn&&typeof fn==='string'&&fn){greet.textContent='Hallo '+fn;greet.hidden=false;}
3541      else{greet.hidden=true;}
3542    }
3543  }
3544  checkLogin();
3545  setTimeout(checkLogin,100);
3546  setTimeout(checkLogin,500);
3547  setTimeout(checkLogin,1500);
3548  new MutationObserver(checkLogin).observe(document.body,{attributes:true,attributeFilter:['class']});
3549  // Login-State v1 (2026-08-06): PRIMAER window.evCustomerLoggedIn (Server-Wahrheit aus Theme-Override
3550  // meta.html.twig, auf JEDER Seite frisch). Spiegel in sessionStorage haelt Alt-Konsumenten korrekt
3551  // (Topbar-Zeitrotation + Mobil-Konto-Overlay lesen evLoggedIn). fetch('/account') nur noch FALLBACK,
3552  // falls das Theme-Override fehlt (Verhalten = alter Stand: 1 Fetch pro Session, Re-Check /account*+/checkout*).
3553  (function(){
3554    function evVerifyLogin(){
3555      fetch('/account',{redirect:'follow',credentials:'same-origin'}).then(function(r){
3556        var li=r.url.indexOf('/account/login')===-1&&r.url.indexOf('/account/recover')===-1;
3557        try{sessionStorage.setItem('evLoggedIn',li?'1':'0');}catch(e){}
3558        checkLogin();
3559      }).catch(function(){});
3560    }
3561    if(typeof window.evCustomerLoggedIn==='boolean'){
3562      try{sessionStorage.setItem('evLoggedIn',window.evCustomerLoggedIn?'1':'0');}catch(e){}
3563      checkLogin();
3564    } else {
3565      var cached=null;try{cached=sessionStorage.getItem('evLoggedIn');}catch(e){}
3566      var p=location.pathname;
3567      if(cached===null||p.indexOf('/account')===0||p.indexOf('/checkout')===0)evVerifyLogin();
3568    }
3569    document.addEventListener('click',function(e){var t=e.target.closest&&e.target.closest('a[href*="/account/logout"]');if(t){try{sessionStorage.setItem('evLoggedIn','0');}catch(err){}}},true);
3570  })();
3571
3572  document.getElementById('btnCart').addEventListener('click', function(e){
3573    e.preventDefault();
3574    e.stopPropagation();
3575    fetch('/checkout/offcanvas',{headers:{'X-Requested-With':'XMLHttpRequest'},credentials:'same-origin'})
3576      .then(function(r){return r.text()})
3577      .then(function(html){
3578        var existing = document.querySelector('.offcanvas.cart-offcanvas');
3579        if(existing) existing.remove();
3580        document.querySelectorAll('.offcanvas-backdrop').forEach(function(b){b.remove()});
3581        var oc = document.createElement('div');
3582        oc.className = 'offcanvas cart-offcanvas offcanvas-end';
3583        oc.style.cssText = 'visibility:visible';
3584        oc.innerHTML = '<div class="offcanvas-body">' + html + '</div>';
3585        document.body.appendChild(oc);
3586        var bd = document.createElement('div');
3587        bd.className = 'offcanvas-backdrop fade';
3588        document.body.appendChild(bd);
3589        oc.offsetHeight;
3590        oc.classList.add('show');
3591        bd.classList.add('show');
3592        document.body.style.overflow = 'hidden';
3593      })
3594      .catch(function(){
3595        window.location.href = '/checkout/cart';
3596      });
3597  });
3598
3599  fetch('/store-api/context', {method:'GET',headers:{'sw-access-key':'SWSCA1RHA1LQCKPSCHZFQTE5CW','Accept':'application/json'}})
3600  .then(function(r){return r.json()}).then(function(ctxData){
3601    var cg = ctxData && ctxData.currentCustomerGroup;
3602    if(cg && cg.displayGross === false){
3603      var tagsEl = document.getElementById('searchTags');
3604      if(tagsEl){
3605        var pill = document.createElement('button');
3606        pill.type = 'button';
3607        pill.className = 'ev-search-tag';
3608        pill.textContent = 'Nature Active';
3609        pill.style.cssText = 'background:var(--pl)!important;color:var(--p)!important;border-color:var(--p)!important;font-weight:600!important';
3610        tagsEl.insertBefore(pill, tagsEl.firstChild);
3611        pill.addEventListener('click', function(){
3612          searchInput.value = 'Nature Active';
3613          searchInput.focus();
3614          searchClear.classList.add('is-visible');
3615          searchInput.dispatchEvent(new Event('input', {bubbles:true}));
3616        });
3617      }
3618    }
3619  }).catch(function(){});
3620
3621})();
3622</script>
3622
3623
3624<script>
3625(function(){
3626  var badge = document.querySelector('#btnCart .badge');
3627  if(!badge) return;
3628
3629  function updateBadge(count){
3630    badge.textContent = count;
3631    badge.style.display = count > 0 ? '' : 'none';
3632    try{ sessionStorage.setItem('ev-cart-qty', String(count)); }catch(e){}
3633  }
3634
3635  try{ var c = parseInt(sessionStorage.getItem('ev-cart-qty')); if(c > 0) updateBadge(c); }catch(e){}
3636
3637  function fetchExactCount(){
3638    fetch('/checkout/offcanvas',{ headers:{'X-Requested-With':'XMLHttpRequest'}, credentials:'same-origin'
3639    }).then(function(r){return r.text()}).then(function(html){
3640      /* B11 (22.09.2026): Geschenk-Stand des Plugins an die Seite melden (Herbst-Trio). */
3641      try{var gm=String(html||'').match(/
3641<script type="application\/json" class="ev-tiered-gift-progress-data">[\s\S]*?<\/script>/g),gp=null;
3642        if(gm){gp=JSON.parse(gm[gm.length-1].replace(/^
3642<script[^>]*>/,'').replace(/<\/script>$/,''));if(!gp||!gp.enabled)gp=null;}
3643        window.evGiftProgress=gp;document.dispatchEvent(new CustomEvent('ev:gift-progress',{detail:gp}));}catch(e){}
3644      if(!html || html.length < 50){ updateBadge(0); return; }
3645      var matches = html.match(/data-quantity="(\d+)"/g);
3646      if(!matches || !matches.length){ updateBadge(0); return; }
3647      var total = 0;
3648      matches.forEach(function(m){ var v = m.match(/"(\d+)"/); if(v) total += parseInt(v[1])||0; });
3649      updateBadge(total);
3650    }).catch(function(){});
3651  }
3652
3653  function openOffcanvasCart(){
3654    fetch('/checkout/offcanvas',{headers:{'X-Requested-With':'XMLHttpRequest'},credentials:'same-origin'})
3655      .then(function(r){return r.text()})
3656      .then(function(html){
3657        var existing = document.querySelector('.offcanvas.cart-offcanvas');
3658        if(existing) existing.remove();
3659        document.querySelectorAll('.offcanvas-backdrop').forEach(function(b){b.remove()});
3660        var oc = document.createElement('div');
3661        oc.className = 'offcanvas cart-offcanvas offcanvas-end';
3662        oc.style.cssText = 'visibility:visible';
3663        oc.innerHTML = '<div class="offcanvas-body">' + html + '</div>';
3664        document.body.appendChild(oc);
3665        var bd = document.createElement('div');
3666        bd.className = 'offcanvas-backdrop fade';
3667        document.body.appendChild(bd);
3668        oc.offsetHeight;
3669        oc.classList.add('show');
3670        bd.classList.add('show');
3671        document.body.style.overflow = 'hidden';
3672      }).catch(function(){});
3673  }
3674
3675  fetchExactCount();
3676
3677  var origFetch = window.fetch;
3678  window.fetch = function(){
3679    var url = arguments[0];
3680    var opts = arguments[1] || {};
3681    var method = (opts.method || 'GET').toUpperCase();
3682    var promise = origFetch.apply(this, arguments);
3683
3684    if(method === 'POST' && typeof url === 'string'){
3685      var isAddToCart = url.indexOf('/checkout/line-item/add') !== -1;
3686      var isCartChange = url.indexOf('/line-item/change-quantity') !== -1
3687                      || url.indexOf('/line-item/delete') !== -1
3688                      || url.indexOf('/checkout/promotion/add') !== -1;
3689
3690      if(isAddToCart){
3691        promise.then(function(res){
3692          if(res.ok){
3693            setTimeout(function(){
3694              fetchExactCount();
3695              /* B9 (28.08.): Cart schon offen (Add aus dem Bestseller-Widget) -> nicht erneut
3696                 einfahren, der Off-Canvas-Cart laedt sich selbst neu. */
3697              if(!document.querySelector('.offcanvas.cart-offcanvas.show')) openOffcanvasCart();
3698            }, 300);
3699          }
3700          return res;
3701        });
3702      } else if(isCartChange){
3703        promise.then(function(res){
3704          if(res.ok) setTimeout(fetchExactCount, 400);
3705          return res;
3706        });
3707      }
3708    }
3709    return promise;
3710  };
3711
3712  document.addEventListener('cart.changed', function(){ setTimeout(fetchExactCount, 600); });
3713  new MutationObserver(function(muts){
3714    muts.forEach(function(m){
3715      m.removedNodes.forEach(function(n){
3716        if(n.nodeType===1 && n.classList && n.classList.contains('offcanvas')){ setTimeout(fetchExactCount, 400); }
3717      });
3718    });
3719  }).observe(document.body, {childList:true});
3720
3721  window.evFetchCartCount = fetchExactCount;
3722  window.evOpenCart = openOffcanvasCart;
3723})();
3724</script>
3724
3725
3726
3727
3728<script>
3729(function(){
3730'use strict';
3731var KEY='SWSCA1RHA1LQCKPSCHZFQTE5CW',BASE='/store-api',CAT='019c8aea38067ed78aff31126bd5d88c';
3732var COUNT=10;
3733var START=Date.parse('2026-08-21T15:00:00+02:00'),END=Date.parse('2026-09-13T23:59:59+02:00');
3734function saleOn(){var n=Date.now();return n>=START&&n<=END;}
3735/* Rangfolge aus echten B2C-Bestellungen, 90 Tage, Stand 2026-08-25 08:56.
3736   Store-API kann das nicht liefern: order:'topseller' ist Shopwares LIFETIME-
3737   Zaehler. Quelle: tools/bestseller_report.py -> reference/bestseller-top20-shop.json,
3738   eingesetzt von tools/sommer-sale-2026/build_header.py. */
3739var RANK={
3740  '5fcc38c248bb42de8f9647298ef3e107':1  /* SW10445-main - Omega-3 Algenöl direkt aus der Quelle */,
3741  '0195ccc82bf775bd8d25811a8a176e64':2  /* SW10660-main - Vitamin D3 hochdosiert 10.000 i.E. und 4 */,
3742  '0195ccc96e2c749e844d48b87360ac40':3  /* SW10662-main - Magnesium Komplex */,
3743  '57f5ba3d66714e328d3f94c79bd92cbb':4  /* SW10507-main - Kollagen aus Weidehaltung */,
3744  '019811bcefc4711e9c14b8eb7cebb453':5  /* SW10670-main - Bio Rizinusöl Premium */,
3745  '01980767a0c7712081dbbfb03cb73ae5':6  /* SW10666-main - Kolloidales Lithium 100 ppm */,
3746  '0295b2262a2f4eaaa17ed4473e7a533d':7  /* SW10482-main - Astaxanthin vegan */,
3747  '75658221af8b4f7aa6ccc5ef22057ca9':8  /* SW10230-main - Vitamin B Komplex natürlich */,
3748  'af00a9f467ee4fb0955ef365594c071a':9  /* w1007opc-main - OPC Kapseln */,
3749  '25a21b18d6fb467596bb1c1f79ab37dc':10  /* SW10044-main - Vitamin C Kapseln aus Acerola */,
3750  '31ef9fca7c3e4f79b0415916eb204a65':11  /* SW10429-main - Tri-Magnesium Dicitrat Kapseln */,
3751  'bb27e1fc213948b7992b282d36199a40':12  /* SW10423-main - Vitamin D3 - K2 Tropfen natürlich */,
3752  '0195ccd91e3b7c55b345bf860983c2c5':13  /* SW10678-main - Premium Kreatin Monohydrat Pulver */,
3753  '20afdd7614474326a3fec83bf2c0a0f7':14  /* SW10528-main - Zink Tropfen */,
3754  '019836144e7772e5af64e52b9f337f56':15  /* SW10664-main - Premium Methylenblau 1% */,
3755  '36f362813d514093983091d15505630a':16  /* SW10237-main - Coenzym Q10 */,
3756  'b055dd19df4745a49816f6cd6c11ee19':17  /* SW10539-main - Leber Vital mit 9 Pflanzenstoffen */,
3757  '52f360fca0e347298af2019f03625c75':18  /* SW10114-main - MSM Pulver - organischer Schwefel */,
3758  '7fd8d6f6be974b26915131f3a11c848b':19  /* SW10595-main - Bio Schwarzkümmelöl - 1500 mg Thymochino */,
3759  'a10748cfbef54929ae434728b1b3a66f':20  /* SW10561-main - Eisen aus dem Curryblatt mit Acerola */
3760};
3761function esc(s){return String(s==null?'':s).replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;').replace(/"/g,'&quot;');}
3762function eur(n){if(n==null||isNaN(n))return '';return (Math.round(parseFloat(n)*100)/100).toFixed(2).replace('.',',')+' \u20ac';}
3763/* Medien-URLs enthalten Leerzeichen und Kommata ('Vitamic C Acerola Kapseln.png').
3764   In srcset sind beide Trennzeichen -> ohne Kodierung verwirft der Browser den Eintrag
3765   (51 Konsolen-Warnungen am 25.08.). Deshalb kodieren wie auf der Aktionsseite. */
3766function cdn(u,w){if(!u)return '';var m=String(u).split('www.echt-vital.de').join('echt-vital.de').split('://echt-vital.de/').join('://echtvital.cstatic.com/');var qi=m.indexOf('?'),base=qi===-1?m:m.slice(0,qi),ts='';if(qi!==-1){var mm=m.slice(qi+1).match(/ts=([^&]+)/);if(mm)ts='&ts='+mm[1];}base=base.split(' ').join('%20').split(',').join('%2C');return base+'?w='+w+ts;}
3767/* Abo-, Gratis- und Bundle-Varianten gehoeren nie ins Menue. */
3768function schlecht(v){var os=v.options||[];for(var i=0;i<os.length;i++){var s=String((os[i].translated&&os[i].translated.name)||os[i].name||'').toLowerCase();if(s.indexOf('abo')!==-1||s.indexOf('gratis')!==-1||/(\d+)\s*\+\s*(\d+)/.test(s))return true;}return false;}
3769function ist1er(v){var os=v.options||[];for(var i=0;i<os.length;i++){if(String((os[i].translated&&os[i].translated.name)||os[i].name||'').toLowerCase().trim()==='1er')return true;}return false;}
3770function zeile(p,rang){
3771 var a=cdn(p.img,120),b=cdn(p.img,240);
3772 return '<a class="evm-bsr'+(rang<=3?' is-top':'')+'" href="/detail/'+esc(p.id)+'" data-rang="'+rang+'" data-sku="'+esc(p.sku)+'">'
3773  +'<span class="evm-bsr-n" aria-label="Platz '+rang+'">'+rang+'</span>'
3774  +'<span class="evm-bsr-img">'+(p.img?'<img src="'+esc(a)+'" srcset="'+esc(a)+' 1x, '+esc(b)+' 2x" alt="" loading="lazy" decoding="async">':'')+'</span>'
3775  +'<span class="evm-bsr-body"><span class="evm-bsr-name">'+esc(p.name)+'</span>'
3776  +'<span class="evm-bsr-price">'+eur(p.preis)+'</span>'
3777  +(saleOn()?'<span class="evm-bsr-sale">mit SOMMER20: '+eur(p.preis*0.8)+'</span>':'')
3778  +'</span></a>';
3779}
3780var geladen=false;
3781function load(){
3782 var ziel=document.getElementById('evBsRankMobile');
3783 if(geladen||!ziel)return;geladen=true;
3784 fetch(BASE+'/product-listing/'+CAT,{method:'POST',
3785  headers:{'Content-Type':'application/json','Accept':'application/json','sw-access-key':KEY},
3786  body:JSON.stringify({limit:100,
3787   includes:{product:['id','parentId','productNumber','name','translated','calculatedPrice','cover','options'],
3788             product_media:['media'],media:['url'],
3789             property_group_option:['name','translated']},
3790   associations:{cover:{associations:{media:{}}},options:{}}}),
3791  credentials:'same-origin'})
3792 .then(function(r){return r.json();}).then(function(d){
3793  var els=d.elements||[],gruppen={},reihen=[];
3794  els.forEach(function(p){var k=p.parentId||p.id;if(!gruppen[k]){gruppen[k]=[];reihen.push(k);}gruppen[k].push(p);});
3795  var liste=reihen.map(function(k){
3796   var g=gruppen[k].filter(function(v){return !schlecht(v);});
3797   if(!g.length)return null;
3798   var eins=g.filter(ist1er)[0];
3799   var v=eins||g.sort(function(a,b){return ((a.calculatedPrice||{}).unitPrice||0)-((b.calculatedPrice||{}).unitPrice||0);})[0];
3800   var m=v.cover&&v.cover.media;
3801   return {id:v.id,rang:RANK[k]||999,sku:v.productNumber||'',name:(v.translated&&v.translated.name)||v.name||'',img:(m&&m.url)||'',preis:((v.calculatedPrice||{}).unitPrice)||0};
3802  }).filter(Boolean);
3803  liste.sort(function(a,b){return a.rang-b.rang;});
3804  liste=liste.slice(0,COUNT);
3805  ziel.removeAttribute('aria-busy');
3806  if(!liste.length){ziel.innerHTML='<div class="evm-bsr-empty">Bestseller gerade nicht verf\u00fcgbar.</div>';return;}
3807  ziel.innerHTML=liste.map(function(p,i){return zeile(p,p.rang===999?i+1:p.rang);}).join('');
3808 }).catch(function(e){
3809  geladen=false;ziel.removeAttribute('aria-busy');
3810  ziel.innerHTML='<div class="evm-bsr-empty">Bestseller gerade nicht verf\u00fcgbar.</div>';
3811 });
3812}
3813function wire(){
3814 /* 🚨 NICHT an den Klick des Burgers haengen: dessen eigener Handler laeuft in der
3815    Capture-Phase und ruft stopImmediatePropagation() - jeder spaeter registrierte
3816    Click-Listener auf demselben Knopf wird verschluckt. Genau daran hing die alte
3817    Liste: sie lud erst, wenn man einen Reiter antippte (Befund 25.08.).
3818    Deshalb drei unabhaengige Ausloeser: */
3819 var bg=document.getElementById('btnBurger');
3820 /* 1. Beruehrung/Hover am Burger = Vorladen, bevor das Menue ueberhaupt aufgeht. */
3821 if(bg){try{bg.addEventListener('touchstart',load,{passive:true});}catch(_){bg.addEventListener('touchstart',load);}
3822  bg.addEventListener('mouseenter',load);}
3823 /* 2. Das Menue setzt beim Oeffnen body.ev-mobile-open - daran haengt der sichere Weg,
3824    egal ueber welchen Pfad geoeffnet wird. */
3825 try{
3826  if(document.body.classList.contains('ev-mobile-open'))load();
3827  new MutationObserver(function(){if(document.body.classList.contains('ev-mobile-open'))load();}).observe(document.body,{attributes:true,attributeFilter:['class']});
3828 }catch(_){}
3829 /* 3. Reiter-Klick als letzte Rueckfallebene. */
3830 [].forEach.call(document.querySelectorAll('[data-panel="m-bestseller"]'),function(b){b.addEventListener('click',load);});
3831}
3832if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',wire);else wire();
3833})();
3834</script>
3834
3835
3836        
3837        </div>
3838            </div>
3839                    </div>
3840                
3841                            </div>
3842                </div>
3843                        </section>
3844
3845        </div>
3846
3847                        </div>
3848
3849
3850    
3851
3852                    
3853
3854                        </header>
3855    
3856
3857        
3858    
3859                                        
3860
3861
3862            
3863
3864                    <style>
3865            
3866            .nav-item-85d03fd66f144308bab163588dd3a94f-link:first-of-type,
3867            .nav-item-85d03fd66f144308bab163588dd3a94f-link.root:first-of-type{
3868                color: var(--rhweb-navigation-active-color);
3869            }
3870        </style>
3871            
3872                        <main class="content-main" id="content-main">
3873                                    <div class="flashbags container">
3874                                            </div>
3875                
3876                                    <div class="container">
3877                                                    <div class="container-main">
3878                                        
3879            
3880                                    
3881                        <div class="account-register">
3882                            <h1>Anmelden oder Konto erstellen</h1>
3883            
3884                                    <div class="row">
3885                                                         <div class="col-lg-4">
3886                                    <div class="card login-card mb-3">
3887        <div class="card-body">
3888                                                            <h2 class="card-title">
3889                        Ich bin bereits Kunde
3890                    </h2>
3891                            
3892    
3893                            <form class="login-form"
3894                      action="/account/login"
3895                      method="post"
3896                      data-form-handler="true">
3897                                                <input type="hidden"
3898               name="refererUrl"
3899               value="/account/login">
3900                                <input type="hidden"
3901                               name="redirectTo"
3902                               value="frontend.account.home.page">
3903
3904                        <input type="hidden"
3905                               name="redirectParameters"
3906                               value="[]">
3907                    
3908
3909                                                        <p class="login-form-description">
3910                            Einloggen mit E-Mail-Adresse und Passwort
3911                        </p>
3912                    
3913    
3914                                                                                        
3915    
3916    
3917                                                        <div class="row g-2">
3918                                                            
3919    
3920    
3921    
3922        
3923    
3924    
3925    <div class="form-group col-sm-6 col-lg-12">
3926                                    <label class="form-label" for="loginMail">
3927                    Deine E-Mail-Adresse
3928
3929                                            <span class="form-required-label" aria-hidden="true">*</span>
3930                                    </label>
3931                    
3932        	            
3933            
3934            
3935            <input type="email"
3936                   class="form-control"
3937                   id="loginMail"
3938                   name="username"
3939                   aria-describedby="loginMail-feedback"
3940                                                         autocomplete="username webauthn"                                                         data-validation="required,email"                   aria-required="true"                                      >
3941        
3942
3943	
3944                            
3945                    <div id="loginMail-feedback" class="form-field-feedback">
3946                                                                </div>
3947            </div>
3948                            
3949                                                            
3950    
3951    
3952    
3953        
3954    
3955    
3956    <div class="form-group col-sm-6 col-lg-12">
3957                                    <label class="form-label" for="loginPassword">
3958                    Dein Passwort
3959
3960                                            <span class="form-required-label" aria-hidden="true">*</span>
3961                                    </label>
3962                    
3963        	            
3964            
3965            
3966            <input type="password"
3967                   class="form-control"
3968                   id="loginPassword"
3969                   name="password"
3970                   aria-describedby="loginPassword-feedback"
3971                                                         autocomplete="current-password"                                                         data-validation="required"                   aria-required="true"                                      >
3972        
3973
3974	
3975                            
3976                    <div id="loginPassword-feedback" class="form-field-feedback">
3977                                                                </div>
3978            </div>
3979                                                    </div>
3980                    
3981    
3982                                                        <div class="login-password-recover mb-3">
3983                                                            <a href="https://echt-vital.de/account/recover">
3984                                    Ich habe mein Passwort vergessen.
3985                                </a>
3986                                                    </div>
3987                    
3988    
3989                                            <div class="login-submit">
3990                            <button type="submit"
3991                                    class="btn btn-primary">
3992                                Anmelden
3993                            </button>
3994                        </div>
3995                                    </form>
3996                    </div>
3997    </div>
3998
3999
4000                    
4001                                                            <div class="login-advantages d-none d-lg-block">
4002                                                                            <div class="h5 login-advantages-header">
4003                                            Vorteile einer Registrierung:
4004                                        </div>
4005                                    
4006                                                                            <ul>
4007                                                                                            <li>Schnelles Einkaufen</li>
4008                                            
4009                                                                                            <li>Speichern Sie Ihre Daten und Einstellungen.</li>
4010                                            
4011                                                                                            <li>Bestellübersicht und Versandinformationen</li>
4012                                            
4013                                                                                            <li>Verwalten Sie Ihr Newsletter-Abonnement</li>
4014                                                                                    </ul>
4015                                                                    </div>
4016                                                    </div>
4017                    
4018    
4019                                                        <div class="col-lg-8">
4020                                <div class="card register-card">
4021        <div class="card-body">
4022                                                <h2 class="card-title">
4023                        Ich bin Neukunde!
4024                    </h2>
4025                            
4026                                        <form action="/account/register"
4027                      class="register-form"
4028                      method="post"
4029                      data-form-handler="true">
4030                                            
4031                            <input type="hidden"
4032                               name="redirectTo"
4033                               value="frontend.account.home.page">
4034
4035                        <input type="hidden"
4036                               name="redirectParameters"
4037                               value="[]">
4038                    
4039
4040                                            <input type="hidden"
4041                           name="createCustomerAccount"
4042                           value="1">
4043                    
4044                                            <input type="hidden"
4045                               name="errorRoute"
4046                               value="frontend.account.login.page">
4047
4048                        <input type="hidden"
4049                               name="errorParameters"
4050                               value="">
4051                    
4052                                            <fieldset class="register-personal mb-3">
4053                                                            <legend class="register-personal-title visually-hidden">
4054                                    Persönliche Informationen
4055                                </legend>
4056                            
4057                                                                                                            
4058                    <div class="row g-2">
4059                
4060                
4061                
4062                
4063                
4064                                                                    
4065                                
4066                
4067                                    
4068        
4069    
4070    
4071    <div class="form-group col-md-6 contact-type">
4072                                    <label class="form-label" for="-accountType">
4073                    Kontotyp
4074
4075                                            <span class="form-required-label" aria-hidden="true">*</span>
4076                                    </label>
4077                    
4078        	            
4079                                        
4080            
4081            <select class="form-select contact-select"
4082                    id="-accountType"
4083                    name="accountType"
4084                    aria-describedby="-accountType-feedback"
4085                                        data-validation="required"                    aria-required="true"                    data-form-field-toggle=true data-form-field-toggle-target=.js-field-toggle-contact-type-company data-form-field-toggle-value=business data-form-field-toggle-scope=all                     >
4086                                                                                <option disabled="disabled"
4087                                selected="selected"
4088                                value="">
4089                            Auswählen ...
4090                        </option>
4091                    
4092                                            <option value="private"
4093                            >
4094                            Privat
4095                        </option>
4096                    
4097                    <option value="business"
4098                        >
4099                        Gewerblich
4100                    </option>
4101                
4102                            </select>
4103        
4104
4105	
4106                            
4107                    <div id="-accountType-feedback" class="form-field-feedback">
4108                                                                </div>
4109            </div>
4110
4111                
4112                            </div>
4113            
4114                        <div class="row g-2">
4115                                                                        
4116                                                    
4117        
4118    
4119    
4120    <div class="form-group col-md-3 col-sm-6">
4121                                    <label class="form-label" for="personalSalutation">
4122                    Anrede
4123
4124                                    </label>
4125                    
4126        	            
4127            
4128            
4129            <select class="form-select"
4130                    id="personalSalutation"
4131                    name="salutationId"
4132                    aria-describedby="personalSalutation-feedback"
4133                    autocomplete="section-personal honorific-prefix"                                                                                >
4134                                                                                                <option                                     value="a20de613c2924cfab7d43cb084a3f3cf">
4135                                    Keine Angabe
4136                                </option>
4137                                                            <option                                     value="a2be61fe894e4d63a78a33504f2b50c9">
4138                                    Frau
4139                                </option>
4140                                                            <option                                     value="5a78f06b691947f3aefcac7054045d73">
4141                                    Herr
4142                                </option>
4143                                                            <option                                     value="ca62714c53564dc4ac388a571d5143fa">
4144                                    Divers
4145                                </option>
4146                                                    
4147                            </select>
4148        
4149
4150	
4151                            
4152                    <div id="personalSalutation-feedback" class="form-field-feedback">
4153                                                                </div>
4154            </div>
4155
4156                                                            
4157    
4158                                                                
4159                </div>
4160            
4161                        <div class="row g-2">
4162                                        
4163                                                                
4164                                
4165                                    
4166                
4167    
4168    
4169        
4170    
4171    
4172    <div class="form-group col-sm-6">
4173                                    <label class="form-label" for="billingAddress-personalFirstName">
4174                    Vorname
4175
4176                                            <span class="form-required-label" aria-hidden="true">*</span>
4177                                    </label>
4178                    
4179        	            
4180            
4181            
4182            <input type="text"
4183                   class="form-control"
4184                   id="billingAddress-personalFirstName"
4185                   name="billingAddress[firstName]"
4186                   aria-describedby="billingAddress-personalFirstName-feedback"
4187                                                         autocomplete="section-personal given-name"                                                         data-validation="required"                   aria-required="true"                                      >
4188        
4189
4190	
4191                            
4192                    <div id="billingAddress-personalFirstName-feedback" class="form-field-feedback">
4193                                                                </div>
4194            </div>
4195                            
4196    
4197            
4198                                        
4199                                                                
4200                
4201                                    
4202                
4203    
4204    
4205        
4206    
4207    
4208    <div class="form-group col-sm-6">
4209                                    <label class="form-label" for="billingAddress-personalLastName">
4210                    Nachname
4211
4212                                            <span class="form-required-label" aria-hidden="true">*</span>
4213                                    </label>
4214                    
4215        	            
4216            
4217            
4218            <input type="text"
4219                   class="form-control"
4220                   id="billingAddress-personalLastName"
4221                   name="billingAddress[lastName]"
4222                   aria-describedby="billingAddress-personalLastName-feedback"
4223                                                         autocomplete="section-personal family-name"                                                         data-validation="required"                   aria-required="true"                                      >
4224        
4225
4226	
4227                            
4228                    <div id="billingAddress-personalLastName-feedback" class="form-field-feedback">
4229                                                                </div>
4230            </div>
4231                            
4232    
4233                    </div>
4234    
4235    
4236                                        
4237                                        
4238                                    
4239            
4240    
4241    <div class="form-group col-sm-6">
4242                                    <label class="form-label" for="-personalBirthday">
4243                    Geburtsdatum
4244
4245                                    </label>
4246                    
4247        <div class="row g-2">
4248                            <div class="col-4">
4249                                            <select class="form-select"
4250                                id="personalBirthday"
4251                                name="birthdayDay"
4252                                aria-describedby="-personalBirthday-feedback"
4253                                                                >
4254                                                                                                <option selected="selected" value="">
4255                                        Tag
4256                                    </option>
4257                                                                                                    <option value="1"
4258                                        >
4259                                        1
4260                                    </option>
4261                                                                    <option value="2"
4262                                        >
4263                                        2
4264                                    </option>
4265                                                                    <option value="3"
4266                                        >
4267                                        3
4268                                    </option>
4269                                                                    <option value="4"
4270                                        >
4271                                        4
4272                                    </option>
4273                                                                    <option value="5"
4274                                        >
4275                                        5
4276                                    </option>
4277                                                                    <option value="6"
4278                                        >
4279                                        6
4280                                    </option>
4281                                                                    <option value="7"
4282                                        >
4283                                        7
4284                                    </option>
4285                                                                    <option value="8"
4286                                        >
4287                                        8
4288                                    </option>
4289                                                                    <option value="9"
4290                                        >
4291                                        9
4292                                    </option>
4293                                                                    <option value="10"
4294                                        >
4295                                        10
4296                                    </option>
4297                                                                    <option value="11"
4298                                        >
4299                                        11
4300                                    </option>
4301                                                                    <option value="12"
4302                                        >
4303                                        12
4304                                    </option>
4305                                                                    <option value="13"
4306                                        >
4307                                        13
4308                                    </option>
4309                                                                    <option value="14"
4310                                        >
4311                                        14
4312                                    </option>
4313                                                                    <option value="15"
4314                                        >
4315                                        15
4316                                    </option>
4317                                                                    <option value="16"
4318                                        >
4319                                        16
4320                                    </option>
4321                                                                    <option value="17"
4322                                        >
4323                                        17
4324                                    </option>
4325                                                                    <option value="18"
4326                                        >
4327                                        18
4328                                    </option>
4329                                                                    <option value="19"
4330                                        >
4331                                        19
4332                                    </option>
4333                                                                    <option value="20"
4334                                        >
4335                                        20
4336                                    </option>
4337                                                                    <option value="21"
4338                                        >
4339                                        21
4340                                    </option>
4341                                                                    <option value="22"
4342                                        >
4343                                        22
4344                                    </option>
4345                                                                    <option value="23"
4346                                        >
4347                                        23
4348                                    </option>
4349                                                                    <option value="24"
4350                                        >
4351                                        24
4352                                    </option>
4353                                                                    <option value="25"
4354                                        >
4355                                        25
4356                                    </option>
4357                                                                    <option value="26"
4358                                        >
4359                                        26
4360                                    </option>
4361                                                                    <option value="27"
4362                                        >
4363                                        27
4364                                    </option>
4365                                                                    <option value="28"
4366                                        >
4367                                        28
4368                                    </option>
4369                                                                    <option value="29"
4370                                        >
4371                                        29
4372                                    </option>
4373                                                                    <option value="30"
4374                                        >
4375                                        30
4376                                    </option>
4377                                                                    <option value="31"
4378                                        >
4379                                        31
4380                                    </option>
4381                                                                                    </select>
4382                    
4383                                            <div id="personalBirthday-feedback"
4384                             class="form-field-feedback">
4385                                                                                                                </div>
4386                                    </div>
4387            
4388                            <div class="col-4">
4389                                            <select class="form-select"
4390                                id="personalBirthdayMonth"
4391                                name="birthdayMonth"
4392                                aria-describedby="-personalBirthdayMonth-feedback"
4393                                                                >
4394                                                                                                <option selected="selected"
4395                                            value="">
4396                                        Monat
4397                                    </option>
4398                                                                                                    <option value="1"
4399                                        >
4400                                        1
4401                                    </option>
4402                                                                    <option value="2"
4403                                        >
4404                                        2
4405                                    </option>
4406                                                                    <option value="3"
4407                                        >
4408                                        3
4409                                    </option>
4410                                                                    <option value="4"
4411                                        >
4412                                        4
4413                                    </option>
4414                                                                    <option value="5"
4415                                        >
4416                                        5
4417                                    </option>
4418                                                                    <option value="6"
4419                                        >
4420                                        6
4421                                    </option>
4422                                                                    <option value="7"
4423                                        >
4424                                        7
4425                                    </option>
4426                                                                    <option value="8"
4427                                        >
4428                                        8
4429                                    </option>
4430                                                                    <option value="9"
4431                                        >
4432                                        9
4433                                    </option>
4434                                                                    <option value="10"
4435                                        >
4436                                        10
4437                                    </option>
4438                                                                    <option value="11"
4439                                        >
4440                                        11
4441                                    </option>
4442                                                                    <option value="12"
4443                                        >
4444                                        12
4445                                    </option>
4446                                                                                    </select>
4447                    
4448                                            <div id="personalBirthdayMonth-feedback"
4449                             class="form-field-feedback">
4450                                                                                                                </div>
4451                                    </div>
4452            
4453                            <div class="col-4">
4454                                                                    
4455                        <select class="form-select"
4456                                id="personalBirthdayYear"
4457                                name="birthdayYear"
4458                                aria-describedby="-personalBirthdayYear-feedback"
4459                                                                >
4460                                                                                                <option selected="selected"
4461                                            value="">
4462                                        Jahr
4463                                    </option>
4464                                                                                                    <option value="2026"
4465                                        >
4466                                        2026
4467                                    </option>
4468                                                                    <option value="2025"
4469                                        >
4470                                        2025
4471                                    </option>
4472                                                                    <option value="2024"
4473                                        >
4474                                        2024
4475                                    </option>
4476                                                                    <option value="2023"
4477                                        >
4478                                        2023
4479                                    </option>
4480                                                                    <option value="2022"
4481                                        >
4482                                        2022
4483                                    </option>
4484                                                                    <option value="2021"
4485                                        >
4486                                        2021
4487                                   
4487 </option>
4488                                                                    <option value="2020"
4489                                        >
4490                                        2020
4491                                    </option>
4492                                                                    <option value="2019"
4493                                        >
4494                                        2019
4495                                    </option>
4496                                                                    <option value="2018"
4497                                        >
4498                                        2018
4499                                    </option>
4500                                                                    <option value="2017"
4501                                        >
4502                                        2017
4503                                    </option>
4504                                                                    <option value="2016"
4505                                        >
4506                                        2016
4507                                    </option>
4508                                                                    <option value="2015"
4509                                        >
4510                                        2015
4511                                    </option>
4512                                                                    <option value="2014"
4513                                        >
4514                                        2014
4515                                    </option>
4516                                                                    <option value="2013"
4517                                        >
4518                                        2013
4519                                    </option>
4520                                                                    <option value="2012"
4521                                        >
4522                                        2012
4523                                    </option>
4524                                                                    <option value="2011"
4525                                        >
4526                                        2011
4527                                    </option>
4528                                                                    <option value="2010"
4529                                        >
4530                                        2010
4531                                    </option>
4532                                                                    <option value="2009"
4533                                        >
4534                                        2009
4535                                    </option>
4536                                                                    <option value="2008"
4537                                        >
4538                                        2008
4539                                    </option>
4540                                                                    <option value="2007"
4541                                        >
4542                                        2007
4543                                    </option>
4544                                                                    <option value="2006"
4545                                        >
4546                                        2006
4547                                    </option>
4548                                                                    <option value="2005"
4549                                        >
4550                                        2005
4551                                    </option>
4552                                                                    <option value="2004"
4553                                        >
4554                                        2004
4555                                    </option>
4556                                                                    <option value="2003"
4557                                        >
4558                                        2003
4559                                    </option>
4560                                                                    <option value="2002"
4561                                        >
4562                                        2002
4563                                    </option>
4564                                                                    <option value="2001"
4565                                        >
4566                                        2001
4567                                    </option>
4568                                                                    <option value="2000"
4569                                        >
4570                                        2000
4571                                    </option>
4572                                                                    <option value="1999"
4573                                        >
4574                                        1999
4575                                    </option>
4576                                                                    <option value="1998"
4577                                        >
4578                                        1998
4579                                    </option>
4580                                                                    <option value="1997"
4581                                        >
4582                                        1997
4583                                    </option>
4584                                                                    <option value="1996"
4585                                        >
4586                                        1996
4587                                    </option>
4588                                                                    <option value="1995"
4589                                        >
4590                                        1995
4591                                    </option>
4592                                                                    <option value="1994"
4593                                        >
4594                                        1994
4595                                    </option>
4596                                                                    <option value="1993"
4597                                        >
4598                                        1993
4599                                    </option>
4600                                                                    <option value="1992"
4601                                        >
4602                                        1992
4603                                    </option>
4604                                                                    <option value="1991"
4605                                        >
4606                                        1991
4607                                    </option>
4608                                                                    <option value="1990"
4609                                        >
4610                                        1990
4611                                    </option>
4612                                                                    <option value="1989"
4613                                        >
4614                                        1989
4615                                    </option>
4616                                                                    <option value="1988"
4617                                        >
4618                                        1988
4619                                    </option>
4620                                                                    <option value="1987"
4621                                        >
4622                                        1987
4623                                    </option>
4624                                                                    <option value="1986"
4625                                        >
4626                                        1986
4627                                    </option>
4628                                                                    <option value="1985"
4629                                        >
4630                                        1985
4631                                    </option>
4632                                                                    <option value="1984"
4633                                        >
4634                                        1984
4635                                    </option>
4636                                                                    <option value="1983"
4637                                        >
4638                                        1983
4639                                    </option>
4640                                                                    <option value="1982"
4641                                        >
4642                                        1982
4643                                    </option>
4644                                                                    <option value="1981"
4645                                        >
4646                                        1981
4647                                    </option>
4648                                                                    <option value="1980"
4649                                        >
4650                                        1980
4651                                    </option>
4652                                                                    <option value="1979"
4653                                        >
4654                                        1979
4655                                    </option>
4656                                                                    <option value="1978"
4657                                        >
4658                                        1978
4659                                    </option>
4660                                                                    <option value="1977"
4661                                        >
4662                                        1977
4663                                    </option>
4664                                                                    <option value="1976"
4665                                        >
4666                                        1976
4667                                    </option>
4668                                                                    <option value="1975"
4669                                        >
4670                                        1975
4671                                    </option>
4672                                                                    <option value="1974"
4673                                        >
4674                                        1974
4675                                    </option>
4676                                                                    <option value="1973"
4677                                        >
4678                                        1973
4679                                    </option>
4680                                                                    <option value="1972"
4681                                        >
4682                                        1972
4683                                    </option>
4684                                                                    <option value="1971"
4685                                        >
4686                                        1971
4687                                    </option>
4688                                                                    <option value="1970"
4689                                        >
4690                                        1970
4691                                    </option>
4692                                                                    <option value="1969"
4693                                        >
4694                                        1969
4695                                    </option>
4696                                                                    <option value="1968"
4697                                        >
4698                                        1968
4699                                    </option>
4700                                                                    <option value="1967"
4701                                        >
4702                                        1967
4703                                    </option>
4704                                                                    <option value="1966"
4705                                        >
4706                                        1966
4707                                    </option>
4708                                                                    <option value="1965"
4709                                        >
4710                                        1965
4711                                    </option>
4712                                                                    <option value="1964"
4713                                        >
4714                                        1964
4715                                    </option>
4716                                                                    <option value="1963"
4717                                        >
4718                                        1963
4719                                    </option>
4720                                                                    <option value="1962"
4721                                        >
4722                                        1962
4723                                    </option>
4724                                                                    <option value="1961"
4725                                        >
4726                                        1961
4727                                    </option>
4728                                                                    <option value="1960"
4729                                        >
4730                                        1960
4731                                    </option>
4732                                                                    <option value="1959"
4733                                        >
4734                                        1959
4735                                    </option>
4736                                                                    <option value="1958"
4737                                        >
4738                                        1958
4739                                    </option>
4740                                                                    <option value="1957"
4741                                        >
4742                                        1957
4743                                    </option>
4744                                                                    <option value="1956"
4745                                        >
4746                                        1956
4747                                    </option>
4748                                                                    <option value="1955"
4749                                        >
4750                                        1955
4751                                    </option>
4752                                                                    <option value="1954"
4753                                        >
4754                                        1954
4755                                    </option>
4756                                                                    <option value="1953"
4757                                        >
4758                                        1953
4759                                    </option>
4760                                                                    <option value="1952"
4761                                        >
4762                                        1952
4763                                    </option>
4764                                                                    <option value="1951"
4765                                        >
4766                                        1951
4767                                    </option>
4768                                                                    <option value="1950"
4769                                        >
4770                                        1950
4771                                    </option>
4772                                                                    <option value="1949"
4773                                        >
4774                                        1949
4775                                    </option>
4776                                                                    <option value="1948"
4777                                        >
4778                                        1948
4779                                    </option>
4780                                                                    <option value="1947"
4781                                        >
4782                                    
4782    1947
4783                                    </option>
4784                                                                    <option value="1946"
4785                                        >
4786                                        1946
4787                                    </option>
4788                                                                    <option value="1945"
4789                                        >
4790                                        1945
4791                                    </option>
4792                                                                    <option value="1944"
4793                                        >
4794                                        1944
4795                                    </option>
4796                                                                    <option value="1943"
4797                                        >
4798                                        1943
4799                                    </option>
4800                                                                    <option value="1942"
4801                                        >
4802                                        1942
4803                                    </option>
4804                                                                    <option value="1941"
4805                                        >
4806                                        1941
4807                                    </option>
4808                                                                    <option value="1940"
4809                                        >
4810                                        1940
4811                                    </option>
4812                                                                    <option value="1939"
4813                                        >
4814                                        1939
4815                                    </option>
4816                                                                    <option value="1938"
4817                                        >
4818                                        1938
4819                                    </option>
4820                                                                    <option value="1937"
4821                                        >
4822                                        1937
4823                                    </option>
4824                                                                    <option value="1936"
4825                                        >
4826                                        1936
4827                                    </option>
4828                                                                    <option value="1935"
4829                                        >
4830                                        1935
4831                                    </option>
4832                                                                    <option value="1934"
4833                                        >
4834                                        1934
4835                                    </option>
4836                                                                    <option value="1933"
4837                                        >
4838                                        1933
4839                                    </option>
4840                                                                    <option value="1932"
4841                                        >
4842                                        1932
4843                                    </option>
4844                                                                    <option value="1931"
4845                                        >
4846                                        1931
4847                                    </option>
4848                                                                    <option value="1930"
4849                                        >
4850                                        1930
4851                                    </option>
4852                                                                    <option value="1929"
4853                                        >
4854                                        1929
4855                                    </option>
4856                                                                    <option value="1928"
4857                                        >
4858                                        1928
4859                                    </option>
4860                                                                    <option value="1927"
4861                                        >
4862                                        1927
4863                                    </option>
4864                                                                    <option value="1926"
4865                                        >
4866                                        1926
4867                                    </option>
4868                                                                    <option value="1925"
4869                                        >
4870                                        1925
4871                                    </option>
4872                                                                    <option value="1924"
4873                                        >
4874                                        1924
4875                                    </option>
4876                                                                    <option value="1923"
4877                                        >
4878                                        1923
4879                                    </option>
4880                                                                    <option value="1922"
4881                                        >
4882                                        1922
4883                                    </option>
4884                                                                    <option value="1921"
4885                                        >
4886                                        1921
4887                                    </option>
4888                                                                    <option value="1920"
4889                                        >
4890                                        1920
4891                                    </option>
4892                                                                    <option value="1919"
4893                                        >
4894                                        1919
4895                                    </option>
4896                                                                    <option value="1918"
4897                                        >
4898                                        1918
4899                                    </option>
4900                                                                    <option value="1917"
4901                                        >
4902                                        1917
4903                                    </option>
4904                                                                    <option value="1916"
4905                                        >
4906                                        1916
4907                                    </option>
4908                                                                    <option value="1915"
4909                                        >
4910                                        1915
4911                                    </option>
4912                                                                    <option value="1914"
4913                                        >
4914                                        1914
4915                                    </option>
4916                                                                    <option value="1913"
4917                                        >
4918                                        1913
4919                                    </option>
4920                                                                    <option value="1912"
4921                                        >
4922                                        1912
4923                                    </option>
4924                                                                    <option value="1911"
4925                                        >
4926                                        1911
4927                                    </option>
4928                                                                    <option value="1910"
4929                                        >
4930                                        1910
4931                                    </option>
4932                                                                    <option value="1909"
4933                                        >
4934                                        1909
4935                                    </option>
4936                                                                    <option value="1908"
4937                                        >
4938                                        1908
4939                                    </option>
4940                                                                    <option value="1907"
4941                                        >
4942                                        1907
4943                                    </option>
4944                                                                    <option value="1906"
4945                                        >
4946                                        1906
4947                                    </option>
4948                                                                                    </select>
4949                    
4950                                            <div id="personalBirthdayYear-feedback"
4951                             class="form-field-feedback">
4952                                                                                                                </div>
4953                                    </div>
4954                    </div>
4955    </div>
4956            
4957                                    
4958                                                                        
4959            <div class="js-field-toggle-contact-type-company d-none">
4960                            <div class="row g-2">
4961                                            
4962                                                    
4963                
4964    
4965    
4966        
4967    
4968    
4969    <div class="form-group col-12">
4970                                    <label class="form-label" for="billingAddresscompany">
4971                    Firma
4972
4973                                            <span class="form-required-label" aria-hidden="true">*</span>
4974                                    </label>
4975                    
4976        	            
4977            
4978            
4979            <input type="text"
4980                   class="form-control"
4981                   id="billingAddresscompany"
4982                   name="billingAddress[company]"
4983                   aria-describedby="billingAddresscompany-feedback"
4984                                                         autocomplete="section-personal organization"                                                         data-validation="required"                   aria-required="true"                                      >
4985        
4986
4987	
4988                            
4989                    <div id="billingAddresscompany-feedback" class="form-field-feedback">
4990                                                                </div>
4991            </div>
4992                                                            </div>
4993                <div class="row g-2">
4994                                                
4995                                                    
4996                
4997    
4998    
4999        
5000    
5001    
5002    <div class="form-group col-md-6">
5003                                    <label class="form-label" for="billingAddressdepartment">
5004                    Abteilung
5005
5006                                    </label>
5007                    
5008        	            
5009            
5010            
5011            <input type="text"
5012                   class="form-control"
5013                   id="billingAddressdepartment"
5014                   name="billingAddress[department]"
5015                   aria-describedby="billingAddressdepartment-feedback"
5016                                                                                                                                                                           >
5017        
5018
5019	
5020                            
5021                    <div id="billingAddressdepartment-feedback" class="form-field-feedback">
5022                                                                </div>
5023            </div>
5024                                            
5025
5026                <div class="form-group col-md-6">
5027                            <label class="form-label"
5028                       for="billingAddressKlarnaEntityType">
5029                    Rechtsform
5030                </label>
5031            
5032                            <select class="custom-select form-select"
5033                        id="billingAddressKlarnaEntityType"
5034                        name="billingAddress[customFields][klarna_customer_entity_type]">
5035                                            <option disabled hidden selected>
5036                            Bitte wählen...
5037                        </option>
5038                                                                <option value="LIMITED_COMPANY"
5039                                                    >
5040                            Gesellschaft mit beschränkter Haftung (GmbH)
5041                        </option>
5042                                            <option value="PUBLIC_LIMITED_COMPANY"
5043                                                    >
5044                            Aktiengesellschaft (AG)
5045                        </option>
5046                                            <option value="ENTREPRENEURIAL_COMPANY"
5047                                                    >
5048                            UG (haftungsbeschränkt)
5049                        </option>
5050                                            <option value="LIMITED_PARTNERSHIP_LIMITED_COMPANY"
5051                                                    >
5052                            Gesellschaft mit beschränkter Haftung und Kommanditgesellschaft (GmbH &amp; KG)
5053                        </option>
5054                                            <option value="LIMITED_PARTNERSHIP"
5055                                                    >
5056                            Kommanditgesellschaft (KG)
5057                        </option>
5058                                            <option value="GENERAL_PARTNERSHIP"
5059                                                    >
5060                            Offene Handelsgesellschaft (OHG)
5061                        </option>
5062                                            <option value="REGISTERED_SOLE_TRADER"
5063                                                    >
5064                            Eingetragener Kaufmann/Kauffrau
5065                        </option>
5066                                            <option value="SOLE_TRADER"
5067                                                    >
5068                            Einzelunternehmen/Freiberuf
5069                        </option>
5070                                            <option value="CIVIL_LAW_PARTNERSHIP"
5071                                                    >
5072                            Gesellschaft bürgerlichen Rechts (GbR)
5073                        </option>
5074                                            <option value="PUBLIC_INSTITUTION"
5075                                                    >
5076                            Öffentliche Einrichtung
5077                        </option>
5078                                            <option value="OTHER"
5079                                                    >
5080                            Sonstige
5081                        </option>
5082                                    </select>
5083                    </div>
5084    
5085            <div class="form-group col-md-6">
5086                            <label class="form-label"
5087                       for="billingAddressKlarnaRegistrationId">
5088                    Handelsregisternummer
5089                </label>
5090            
5091                            <input type="text"
5092                       class="form-control"
5093                       id="billingAddressKlarnaRegistrationId"
5094                       name="billingAddress[customFields][klarna_customer_registration_id]"
5095                       placeholder="Handelsregisternummer eingeben..."
5096                       value="">
5097                    </div>
5098    
5099                                                                                                        
5100    
5101            
5102                
5103    
5104    
5105        
5106    
5107    
5108    <div class="form-group col-md-6">
5109                                    <label class="form-label" for="vatIds">
5110                    Umsatzsteuer-ID
5111
5112                                    </label>
5113                    
5114        	            
5115            
5116            
5117            <input type="text"
5118                   class="form-control"
5119                   id="vatIds"
5120                   name="vatIds[]"
5121                   aria-describedby="vatIds-feedback"
5122                                                                                                                                                                           >
5123        
5124
5125	
5126                            
5127                    <div id="vatIds-feedback" class="form-field-feedback">
5128                                                                </div>
5129            </div>
5130                                                                </div>
5131                    </div>
5132                                    
5133                                
5134                                
5135                                
5136                                
5137                                                                    <div class="row g-2">
5138                                                                                                                    
5139    
5140    
5141    
5142        
5143    
5144    
5145    <div class="form-group col-sm-6">
5146                                    <label class="form-label" for="personalMail">
5147                    E-Mail-Adresse
5148
5149                                            <span class="form-required-label" aria-hidden="true">*</span>
5150                                    </label>
5151                    
5152        	            
5153            
5154            
5155            <input type="email"
5156                   class="form-control"
5157                   id="personalMail"
5158                   name="email"
5159                   aria-describedby="personalMail-feedback"
5160                                                         autocomplete="section-personal email"                                                         data-validation="required,email"                   aria-required="true"                                      >
5161        
5162
5163	
5164                            
5165                    <div id="personalMail-feedback" class="form-field-feedback">
5166                                                                </div>
5167            </div>
5168                                                                    
5169
5170                                        
5171                                                                                                                    
5172                                                                                                                            
5173                                                                                    
5174    
5175    
5176    
5177        
5178    
5179                
5180    <div class="form-group col-sm-6 js-form-field-toggle-guest-mode">
5181                                    <label class="form-label" for="personalPassword">
5182                    Passwort
5183
5184                                            <span class="form-required-label" aria-hidden="true">*</span>
5185                                    </label>
5186                    
5187        	            
5188            
5189            
5190            <input type="password"
5191                   class="form-control"
5192                   id="personalPassword"
5193                   name="password"
5194                   aria-describedby="personalPassword-description personalPassword-feedback"
5195                                                         autocomplete="new-password"                   minlength="8"                                      data-validation="required,minLength"                   aria-required="true"                                      >
5196        
5197
5198	
5199                                    <small id="personalPassword-description" class="form-text">Das Passwort muss mindestens 8 Zeichen lang sein.</small>
5200                    
5201                    <div id="personalPassword-feedback" class="form-field-feedback">
5202                                                                </div>
5203            </div>
5204                                                                                                            
5205
5206                                                                            </div>
5207                                                                                    </fieldset>
5208                    
5209                                            <div class="register-address mb-5">
5210                                                                                                <fieldset class="register-billing">
5211                                                                                    <legend class="card-title">
5212                                                Ihre Adresse
5213                                            </legend>
5214                                        
5215                                                                                        <div class="pickware-dhl-component-address-form-container">
5216        
5217                            
5218                
5219                        
5220                        
5221                
5222        <div class="row g-2">
5223                        
5224                                                                
5225        
5226                    
5227                                    
5228        <div class="col-12 qubix-street-house-col">
5229        <div class="row gx-2 qubix-street-house-row">
5230                            
5231                
5232    
5233    
5234        
5235    
5236    
5237    <div class="form-group col-8">
5238                                    <label class="form-label" for="billingAddress-AddressStreet">
5239                    Straße
5240
5241                                            <span class="form-required-label" aria-hidden="true">*</span>
5242                                    </label>
5243                    
5244        	            
5245            
5246            
5247            <input type="text"
5248                   class="form-control"
5249                   id="billingAddress-AddressStreet"
5250                   name="billingAddress[street]"
5251                   aria-describedby="billingAddress-AddressStreet-feedback"
5252                                                         autocomplete="billing address-line1"                                                         data-validation="required"                   aria-required="true"                                      >
5253        
5254
5255	
5256                            
5257                    <div id="billingAddress-AddressStreet-feedback" class="form-field-feedback">
5258                                                                </div>
5259            </div>
5260            
5261                            
5262                
5263    
5264    
5265        
5266    
5267    
5268    <div class="form-group col-4">
5269                                    <label class="form-label" for="billingAddress-AddressHouseNumber">
5270                    Hausnummer
5271
5272                                            <span class="form-required-label" aria-hidden="true">*</span>
5273                                    </label>
5274                    
5275        	            
5276            
5277            
5278            <input type="text"
5279                   class="form-control"
5280                   id="billingAddress-AddressHouseNumber"
5281                   name="billingAddress[houseNumber]"
5282                   aria-describedby="billingAddress-AddressHouseNumber-feedback"
5283                                                         autocomplete="off"                                                         data-validation="required"                   aria-required="true"                                      >
5284        
5285
5286	
5287                            
5288                    <div id="billingAddress-AddressHouseNumber-feedback" class="form-field-feedback">
5289                                                                </div>
5290            </div>
5291                    </div>
5292    </div>
5293                
5294    
5295                                                                            
5296                    
5297                    
5298                    
5299                                            
5300
5301    
5302                                                                                                                    
5303    
5304    
5305                
5306    
5307                
5308    
5309    
5310        
5311    
5312    
5313    <div class="form-group col-md-3 col-4">
5314                                    <label class="form-label" for="billingAddressAddressZipcode">
5315                    PLZ
5316
5317                                    </label>
5318                    
5319        	            
5320            
5321            
5322            <input type="text"
5323                   class="form-control"
5324                   id="billingAddressAddressZipcode"
5325                   name="billingAddress[zipcode]"
5326                   aria-describedby="billingAddressAddressZipcode-feedback"
5327                                                         autocomplete="billing postal-code"                                                                                               data-input-name="zipcodeInput"                    >
5328        
5329
5330	
5331                            
5332                    <div id="billingAddressAddressZipcode-feedback" class="form-field-feedback">
5333                                                                </div>
5334            </div>
5335                    
5336                                                            
5337    
5338                
5339    
5340                
5341    
5342    
5343        
5344    
5345    
5346    <div class="form-group col-md-3 col-8">
5347                                    <label class="form-label" for="billingAddressAddressCity">
5348                    Ort
5349
5350                                            <span class="form-required-label" aria-hidden="true">*</span>
5351                                    </label>
5352                    
5353        	            
5354            
5355            
5356            <input type="text"
5357                   class="form-control"
5358                   id="billingAddressAddressCity"
5359                   name="billingAddress[city]"
5360                   aria-describedby="billingAddressAddressCity-feedback"
5361                                                         autocomplete="billing address-level2"                                                         data-validation="required"                   aria-required="true"                                      >
5362        
5363
5364	
5365                            
5366                    <div id="billingAddressAddressCity-feedback" class="form-field-feedback">
5367                                                                </div>
5368            </div>
5369                    
5370                                                                        
5371                            
5372                        
5373                                        
5374    
5375                                                </div>
5376
5377                
5378                        <div
5379            class="row g-2 country-and-state-form-elements"
5380            data-country-state-select="true"
5381            data-country-state-select-options="{&quot;scopeElementSelector&quot;:&quot;.register-billing&quot;,&quot;prefix&quot;:&quot;billingAddress&quot;}"
5382        >
5383                                                    
5384                                                
5385    
5386    
5387    
5388                
5389    
5390    
5391        
5392    
5393    
5394    <div class="form-group col-md-6">
5395                                    <label class="form-label" for="billingAddressAddressCountry">
5396                    Land
5397
5398                                            <span class="form-required-label" aria-hidden="true">*</span>
5399                                    </label>
5400                    
5401        	            
5402                                        
5403            
5404            <select class="form-select country-select"
5405                    id="billingAddressAddressCountry"
5406                    name="billingAddress[countryId]"
5407                    aria-describedby="billingAddressAddressCountry-feedback"
5408                    autocomplete="billing country-name"                    data-validation="required"                    aria-required="true"                    data-initial-country-id=72bfb449ab0040299ccc5b6eefd129f3                     >
5409                                                                <option value="72bfb449ab0040299ccc5b6eefd129f3"
5410                    selected="selected"                    data-zipcode-required="1"
5411                    data-vat-id-required=""
5412                    data-state-required=""
5413                    >
5414
5415                Deutschland
5416
5417                            </option>
5418                    <option value="d7f11893dbf04dfab5077ba37372bf9b"
5419                                        data-zipcode-required=""
5420                    data-vat-id-required=""
5421                    data-state-required=""
5422                    >
5423
5424                Belgien
5425
5426                            </option>
5427                    <option value="cf71a64ab9dc46f99ce43ce7c39e6212"
5428                                        data-zipcode-required=""
5429                    data-vat-id-required=""
5430                    data-state-required=""
5431                    >
5432
5433                Kroatien
5434
5435                            </option>
5436                    <option value="46b0f19244b34817ae2d53c270a2fd1d"
5437                                        data-zipcode-required=""
5438                    data-vat-id-required=""
5439                    data-state-required=""
5440                    >
5441
5442                Dänemark
5443
5444                            </option>
5445                    <option value="c02be3c2bc5f44b69f593a3425607ec1"
5446                                        data-zipcode-required=""
5447                    data-vat-id-required=""
5448                    data-state-required=""
5449                    >
5450
5451                Frankreich
5452
5453                            </option>
5454                    <option value="23d58066c66c4baa9360d0eebc3d80a8"
5455                                        data-zipcode-required=""
5456                    data-vat-id-required=""
5457                    data-state-required=""
5458                    >
5459
5460                Griechenland
5461
5462                            </option>
5463                    <option value="86c7b16517e542189d0ffe3bbe45704a"
5464                                        data-zipcode-required=""
5465                    data-vat-id-required=""
5466                    data-state-required=""
5467                    >
5468
5469                Irland
5470
5471                            </option>
5472                    <option value="61bb466b8d6242b38e37bea2f7ccd29c"
5473                                        data-zipcode-required=""
5474                    data-vat-id-required=""
5475                    data-state-required=""
5476                    >
5477
5478                Italien
5479
5480                            </option>
5481                    <option value="6a9d58d7dc334389a5cf1c8d7c93d37a"
5482                                        data-zipcode-required=""
5483                    data-vat-id-required=""
5484                    data-state-required=""
5485                    >
5486
5487                Luxemburg
5488
5489                            </option>
5490                    <option value="d88c313641d940b9b1de35e2a5cb7cc3"
5491                                        data-zipcode-required=""
5492                    data-vat-id-required=""
5493                    data-state-required=""
5494                    >
5495
5496                Niederlande
5497
5498                            </option>
5499                    <option value="91735f460164480fbf281fa9690fcba3"
5500                                        data-zipcode-required=""
5501                    data-vat-id-required=""
5502                    data-state-required=""
5503                    >
5504
5505                Österreich
5506
5507                            </option>
5508                    <option value="a1fc18919bb04a58aa814e5ca6054196"
5509                                        data-zipcode-required=""
5510                    data-vat-id-required=""
5511                    data-state-required=""
5512                    >
5513
5514                Polen
5515
5516                            </option>
5517                    <option value="5ec76ccacd3d4e3ab4b1bdc042f5ec28"
5518                                        data-zipcode-required=""
5519                    data-vat-id-required=""
5520                    data-state-required=""
5521                    >
5522
5523                Schweden
5524
5525                            </option>
5526                    <option value="fe3311d8c50248f8a7d7076171527ce0"
5527                                        data-zipcode-required=""
5528                    data-vat-id-required=""
5529                    data-state-required=""
5530                    >
5531
5532                Schweiz
5533
5534                            </option>
5535                    <option value="6d5aaf85527146c989f08e51e1470bc2"
5536                                        data-zipcode-required=""
5537                    data-vat-id-required=""
5538                    data-state-required=""
5539                    >
5540
5541                Slowakische Republik
5542
5543                            </option>
5544                    <option value="f34ca5ca12624b89b238f08710060c27"
5545                                        data-zipcode-required=""
5546                    data-vat-id-required=""
5547                    data-state-required=""
5548                    >
5549
5550                Spanien
5551
5552                            </option>
5553                    <option value="496911aae00043b0b43ade76ed027b1c"
5554                                        data-zipcode-required=""
5555                    data-vat-id-required=""
5556                    data-state-required=""
5557                    >
5558
5559                Tschechien
5560
5561                            </option>
5562            
5563                            </select>
5564        
5565
5566	
5567                            
5568                    <div id="billingAddressAddressCountry-feedback" class="form-field-feedback">
5569                                                                </div>
5570            </div>
5571
5572                
5573    
5574                                                                                
5575    
5576                
5577    
5578    
5579        
5580    
5581    
5582    <div class="form-group col-md-6 d-none">
5583                                    <label class="form-label" for="billingAddressAddressCountryState">
5584                    Bundesland
5585
5586                                    </label>
5587                    
5588        	            
5589                                        
5590            
5591            <select class="form-select country-state-select"
5592                    id="billingAddressAddressCountryState"
5593                    name="billingAddress[countryStateId]"
5594                    aria-describedby="billingAddressAddressCountryState-feedback"
5595                    autocomplete="billing address-level1"                                                                                >
5596                                            <option value=""
5597                selected="selected"
5598                data-placeholder-option="true">
5599            Bundesland auswählen ...
5600        </option>
5601    
5602                            </select>
5603        
5604
5605	
5606                            
5607                    <div id="billingAddressAddressCountryState-feedback" class="form-field-feedback">
5608                                                                </div>
5609            </div>
5610
5611                                                        </div>
5612        
5613        <div class="row g-2">
5614                        
5615                                                                    
5616    
5617                
5618    
5619                
5620    
5621    
5622        
5623    
5624    
5625    <div class="form-group col-md-6">
5626                                    <label class="form-label" for="billingAddressAddressPhoneNumber">
5627                    Telefonnummer
5628
5629                                    </label>
5630                    
5631        	            
5632            
5633            
5634            <input type="text"
5635                   class="form-control"
5636                   id="billingAddressAddressPhoneNumber"
5637                   name="billingAddress[phoneNumber]"
5638                   aria-describedby="billingAddressAddressPhoneNumber-feedback"
5639                                                         autocomplete="billing tel"                                                                                                                  >
5640        
5641
5642	
5643                            
5644                    <div id="billingAddressAddressPhoneNumber-feedback" class="form-field-feedback">
5645                                                                </div>
5646            </div>
5647
5648                                
5649            </div>
5650    
5651    
5652    </div>
5653                                                                            </fieldset>
5654                                
5655                                                                    <div>
5656                                                                                    <div class="form-check register-different-shipping mb-3">
5657                                                                                                    <input type="checkbox"
5658                                                           class="form-check-input js-different-shipping-checkbox"
5659                                                           name="differentShippingAddress"
5660                                                           value="1"
5661                                                           id="differentShippingAddress"
5662                                                                                                                      data-form-field-toggle="true"
5663                                                           data-form-field-toggle-target=".js-form-field-toggle-shipping-address"
5664                                                           data-form-field-toggle-value="true"
5665                                                           data-form-field-toggle-trigger-nested="true">
5666                                                
5667                                                                                                    <label class="custom-control-label no-validation"
5668                                                           for="differentShippingAddress">
5669                                                        Lieferadresse weicht von Rechnungsadresse ab.
5670                                                    </label>
5671                                                                                            </div>
5672                                        
5673                                            <div class="pickware-dhl-location-finder-wrapper" data-behavior="modal">
5674                                                    <fieldset class="register-shipping js-form-field-toggle-shipping-address d-none mb-4">
5675                                                                                                    <legend class="card-title">
5676                                                        Abweichende Lieferadresse
5677                                                    </legend>
5678                                                
5679                                                                                                                                                                        
5680                    <div class="row g-2">
5681                
5682                                                    
5683                
5684                
5685                
5686                                                                    
5687                                
5688                
5689                                    
5690        
5691    
5692    
5693    <div class="form-group col-md-6 contact-type">
5694                                    <label class="form-label" for="shippingAddress-accountType">
5695                    Kontotyp
5696
5697                                            <span class="form-required-label" aria-hidden="true">*</span>
5698                                    </label>
5699                    
5700        	            
5701                                        
5702            
5703            <select class="form-select contact-select"
5704                    id="shippingAddress-accountType"
5705                    name="shippingAddress[accountType]"
5706                    aria-describedby="shippingAddress-accountType-feedback"
5707                                        data-validation="required"                    aria-required="true"                    data-form-field-toggle=true data-form-field-toggle-target=.js-field-toggle-contact-type-company-shippingAddress data-form-field-toggle-value=business data-form-field-toggle-scope=all                     >
5708                                                                                <option disabled="disabled"
5709                                selected="selected"
5710                                value="">
5711                            Auswählen ...
5712                        </option>
5713                    
5714                                            <option value="private"
5715                            >
5716                            Privat
5717                        </option>
5718                    
5719                    <option value="business"
5720                        >
5721                        Gewerblich
5722                    </option>
5723                
5724                            </select>
5725        
5726
5727	
5728                            
5729                    <div id="shippingAddress-accountType-feedback" class="form-field-feedback">
5730                                                                </div>
5731            </div>
5732
5733                
5734                            </div>
5735            
5736                        <div class="row g-2">
5737                                                                        
5738                                                    
5739        
5740    
5741    
5742    <div class="form-group col-md-3 col-sm-6">
5743                                    <label class="form-label" for="shippingAddresspers
5743onalSalutation">
5744                    Anrede
5745
5746                                    </label>
5747                    
5748        	            
5749            
5750            
5751            <select class="form-select"
5752                    id="shippingAddresspersonalSalutation"
5753                    name="shippingAddress[salutationId]"
5754                    aria-describedby="shippingAddresspersonalSalutation-feedback"
5755                    autocomplete="section-personal honorific-prefix"                                                                                >
5756                                                                                                <option                                     value="a20de613c2924cfab7d43cb084a3f3cf">
5757                                    Keine Angabe
5758                                </option>
5759                                                            <option                                     value="a2be61fe894e4d63a78a33504f2b50c9">
5760                                    Frau
5761                                </option>
5762                                                            <option                                     value="5a78f06b691947f3aefcac7054045d73">
5763                                    Herr
5764                                </option>
5765                                                            <option                                     value="ca62714c53564dc4ac388a571d5143fa">
5766                                    Divers
5767                                </option>
5768                                                    
5769                            </select>
5770        
5771
5772	
5773                            
5774                    <div id="shippingAddresspersonalSalutation-feedback" class="form-field-feedback">
5775                                                                </div>
5776            </div>
5777
5778                                                            
5779    
5780                                                                
5781                </div>
5782            
5783                        <div class="row g-2">
5784                                        
5785                                                                
5786                                
5787                                    
5788                
5789    
5790    
5791        
5792    
5793    
5794    <div class="form-group col-sm-6">
5795                                    <label class="form-label" for="shippingAddress-personalFirstName">
5796                    Vorname
5797
5798                                            <span class="form-required-label" aria-hidden="true">*</span>
5799                                    </label>
5800                    
5801        	            
5802            
5803            
5804            <input type="text"
5805                   class="form-control"
5806                   id="shippingAddress-personalFirstName"
5807                   name="shippingAddress[firstName]"
5808                   aria-describedby="shippingAddress-personalFirstName-feedback"
5809                                                         autocomplete="section-personal given-name"                                                         data-validation="required"                   aria-required="true"                                      >
5810        
5811
5812	
5813                            
5814                    <div id="shippingAddress-personalFirstName-feedback" class="form-field-feedback">
5815                                                                </div>
5816            </div>
5817                            
5818    
5819            
5820                                        
5821                                                                
5822                
5823                                    
5824                
5825    
5826    
5827        
5828    
5829    
5830    <div class="form-group col-sm-6">
5831                                    <label class="form-label" for="shippingAddress-personalLastName">
5832                    Nachname
5833
5834                                            <span class="form-required-label" aria-hidden="true">*</span>
5835                                    </label>
5836                    
5837        	            
5838            
5839            
5840            <input type="text"
5841                   class="form-control"
5842                   id="shippingAddress-personalLastName"
5843                   name="shippingAddress[lastName]"
5844                   aria-describedby="shippingAddress-personalLastName-feedback"
5845                                                         autocomplete="section-personal family-name"                                                         data-validation="required"                   aria-required="true"                                      >
5846        
5847
5848	
5849                            
5850                    <div id="shippingAddress-personalLastName-feedback" class="form-field-feedback">
5851                                                                </div>
5852            </div>
5853                            
5854    
5855                    </div>
5856    
5857    
5858                                        
5859                                        
5860                            
5861                                                        
5862                                                                                                                
5863            <div class="js-field-toggle-contact-type-company-shippingAddress d-none">
5864                            <div class="row g-2">
5865                                            
5866                                                    
5867                
5868    
5869    
5870        
5871    
5872    
5873    <div class="form-group col-12">
5874                                    <label class="form-label" for="shippingAddresscompany">
5875                    Firma
5876
5877                                            <span class="form-required-label" aria-hidden="true">*</span>
5878                                    </label>
5879                    
5880        	            
5881            
5882            
5883            <input type="text"
5884                   class="form-control"
5885                   id="shippingAddresscompany"
5886                   name="shippingAddress[company]"
5887                   aria-describedby="shippingAddresscompany-feedback"
5888                                                         autocomplete="section-personal organization"                                                         data-validation="required"                   aria-required="true"                                      >
5889        
5890
5891	
5892                            
5893                    <div id="shippingAddresscompany-feedback" class="form-field-feedback">
5894                                                                </div>
5895            </div>
5896                                                            </div>
5897                <div class="row g-2">
5898                                                
5899                                                    
5900                
5901    
5902    
5903        
5904    
5905    
5906    <div class="form-group col-md-6">
5907                                    <label class="form-label" for="shippingAddressdepartment">
5908                    Abteilung
5909
5910                                    </label>
5911                    
5912        	            
5913            
5914            
5915            <input type="text"
5916                   class="form-control"
5917                   id="shippingAddressdepartment"
5918                   name="shippingAddress[department]"
5919                   aria-describedby="shippingAddressdepartment-feedback"
5920                                                                                                                                                                           >
5921        
5922
5923	
5924                            
5925                    <div id="shippingAddressdepartment-feedback" class="form-field-feedback">
5926                                                                </div>
5927            </div>
5928                                            
5929
5930                <div class="form-group col-md-6">
5931                            <label class="form-label"
5932                       for="shippingAddressKlarnaEntityType">
5933                    Rechtsform
5934                </label>
5935            
5936                            <select class="custom-select form-select"
5937                        id="shippingAddressKlarnaEntityType"
5938                        name="shippingAddress[customFields][klarna_customer_entity_type]">
5939                                            <option disabled hidden selected>
5940                            Bitte wählen...
5941                        </option>
5942                                                                <option value="LIMITED_COMPANY"
5943                                                    >
5944                            Gesellschaft mit beschränkter Haftung (GmbH)
5945                        </option>
5946                                            <option value="PUBLIC_LIMITED_COMPANY"
5947                                                    >
5948                            Aktiengesellschaft (AG)
5949                        </option>
5950                                            <option value="ENTREPRENEURIAL_COMPANY"
5951                                                    >
5952                            UG (haftungsbeschränkt)
5953                        </option>
5954                                            <option value="LIMITED_PARTNERSHIP_LIMITED_COMPANY"
5955                                                    >
5956                            Gesellschaft mit beschränkter Haftung und Kommanditgesellschaft (GmbH &amp; KG)
5957                        </option>
5958                                            <option value="LIMITED_PARTNERSHIP"
5959                                                    >
5960                            Kommanditgesellschaft (KG)
5961                        </option>
5962                                            <option value="GENERAL_PARTNERSHIP"
5963                                                    >
5964                            Offene Handelsgesellschaft (OHG)
5965                        </option>
5966                                            <option value="REGISTERED_SOLE_TRADER"
5967                                                    >
5968                            Eingetragener Kaufmann/Kauffrau
5969                        </option>
5970                                            <option value="SOLE_TRADER"
5971                                                    >
5972                            Einzelunternehmen/Freiberuf
5973                        </option>
5974                                            <option value="CIVIL_LAW_PARTNERSHIP"
5975                                                    >
5976                            Gesellschaft bürgerlichen Rechts (GbR)
5977                        </option>
5978                                            <option value="PUBLIC_INSTITUTION"
5979                                                    >
5980                            Öffentliche Einrichtung
5981                        </option>
5982                                            <option value="OTHER"
5983                                                    >
5984                            Sonstige
5985                        </option>
5986                                    </select>
5987                    </div>
5988    
5989            <div class="form-group col-md-6">
5990                            <label class="form-label"
5991                       for="shippingAddressKlarnaRegistrationId">
5992                    Handelsregisternummer
5993                </label>
5994            
5995                            <input type="text"
5996                       class="form-control"
5997                       id="shippingAddressKlarnaRegistrationId"
5998                       name="shippingAddress[customFields][klarna_customer_registration_id]"
5999                       placeholder="Handelsregisternummer eingeben..."
6000                       value="">
6001                    </div>
6002    
6003                                                                                                    </div>
6004                    </div>
6005                                                        
6006                                                                                                                <div class="pickware-dhl-component-address-form-container">
6007                    
6008
6009<div
6010    class="pickware-dhl-special-address-radio-group pickware-dhl-address-radio-group"
6011    pickware-dhl-address-form
6012>
6013    <div>
6014        <input
6015            type="radio"
6016            value="regular"
6017            name="pickwareDhlAddressRadioGroup"
6018            class="pickware-dhl-radio-button-regular"
6019            id="1974954814pickwareDhlAddressRadioButtonRegular"
6020        >
6021
6022        <label for="1974954814pickwareDhlAddressRadioButtonRegular">
6023            Regulär
6024        </label>
6025    </div>
6026
6027        <div>
6028        <input
6029            type="radio"
6030            value="packstation"
6031            name="pickwareDhlAddressRadioGroup"
6032            class="pickware-dhl-radio-button-packstation"
6033            id="1974954814pickwareDhlAddressRadioButtonPackstation"
6034        >
6035
6036        <label for="1974954814pickwareDhlAddressRadioButtonPackstation">
6037            DHL Packstation
6038                <img
6039        class="pickware-dhl-address-radio-logo"
6040        src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAN8AAAClCAIAAABTIr/cAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAAB3RJTUUH5AsRCCQPsTBfUAAADQZJREFUeNrt22uQZGV9x/H//zmXPqdneu7Ty4bNxhhLQAOuFwxILKNSChKheBFCkVTCIhpYX6SSyhurNHmfW+UNsyAiKVDKGIMRjAHCzawlmCBQKlUq3iIblum590xPnz6X558X0zPTMzuz+/RMz/Kfyu/zYmtrdueZ032+c/rp5zzN8hwB6GRe7wMA2BbqBL1QJ+iFOkEv1Al6oU7QC3WCXqgT9EKdoBfqBL1QJ+iFOkEv1Al6oU7QC3WCXqgT9EKdoBfqBL1QJ+iFOkEv1Al6oU7QC3WCXqgT9EKdoBfqBL1QJ+iFOkEv1Al6oU7QC3WCXqgT9EKdoBfqBL1QJ+iFOkEv1Al6oU7QC3WCXqgT9EKdoBfqBL1QJ+iFOkEv1Al6oU7QC3WCXqgT9EKdoBfqBL1QJ+iFOkEv1Al6oU7QC3WCXqgT9EKdoBfqBL1QJ+iFOkEv1Al6oU7QC3WCXqgT9EKdoBfqBL1QJ+iFOkEv//U+AAd8Dn+JhMju5bFtOf7uB/H2+GG+TtTXaSg7ZRYeC22Lee2LvM1/5k1/l86vt79/059MzES+eH0UVG14qPCrlgO3k8eUz/HCI6Viifns/1nEcjBuBz+cmrKsHRox2QbPPxLmM+bsozCJJW/ADl2deoNCQsRkW1x/NExfc/j2lRGEvLIMXpX6o3b9MFTSXSeTXebaZ+O5h8NdjkPbJ93+N0McSjAq5SP50DWt8pGcPTrTyWOSjGbuj6a/GIlLykKmROf96bKJZMOwQrMPlmrHY5u5PRRD4x9LTN/6IAv/Hp76+7JdPvMj3GDsppbXL8rTJO11Cs3+S2nh0ZBNF0/9jn+WtDg9ya1XwsUTwcgNrbE/SDZc5E6z8Fhp9sESEbHLC6vQ8LWt4etSMh3RG1o8EUzfH0nhNoilwSvT0ZsS9omEyNDyC/7UPZEkxI5n0lLlimz8aJNL+6BOxe+KDC1+O5i+P5J879Ps+KHsUVHnqXuj6fsiybf9b8vf92t3R3aZXY5NLPW9Ix+7JeHOC6eh1s+82kRczLsOEl1YVP8k8SqykmZ2ykzeEaeTxvU0Wiq9wVaPNb3hfZAm6a3TUOvnXm0iLuaczlyPMVFBs18pLb8QbPEMGcomTW0iTl91y8JSeNBWjzWDql2fzjIVC1w7Hic/8ZwGEQpG5cCxZvhrBdn2nGfqc/Hy93x2PIdC3oBUb2tGby72xVsiUlrn2pl72e3M7c0x5AtcfzLYfCKZbMJTn48az7tlIWRiqd6alC/OO4eSgmYeiOonAsc0OaCxP0r6fytrDyI099XS/CPdTMc9Gr2xVfmddL+kSTrnnZLR9P1R/alALPX+BYjJ9WJDlPzcs03eNPucfyic/7eS+48bvj4dvKq14YuG6v8Rzny5tHIVdDF0VTp8fYu4Pd1c+nYwfV8kmfOcx9LgB9KRGxM2e/CU7hl9dRpKX/GyV03/5dlevKYXCyZ52dt2Qnm2Y2v8VzB1byQtt1cdof73ZGM3Nzmi9RANNX/g1+6K7RK7DCKW+t6Wj9/aNLGQJTKU/o83ORFns+z4ayaW4guK6m2JV5F9dOEkjXVaCg8X5/9VY8s0u3rzfvqllw01f+T/8i/68xmn6Wz0G4WJVy+chtKTZnIizqaN69XXIxPQ7D9Fm5pY+m8/fcV5znqePfDJZnDQrvRdLHLtzij5kec+3QxGOias+4q+OlcWaE5fXmGSlBeeCLKa27KzL/2X5qU3Fp3r3pLy/DfCfNYhTUvhQTv0kZ
6040RM+7JnG1z7bNx8yTkLIrJUfzqQp4LND8Xx5pCQiWX8Y0n5SHvOKpZmvxQtPB26TsfXJqyXZfsuTdJZ59aYFh4PTv1N2TacLp4ckP+ZRulNBRXrX5z/Rjj3ULhyi+VMhDii8aNJ/NbVtzKWZv+5VH/cOYs1ZhfTE6bh69Khq9O1oRafCGe+VKKiixeQDRPW/Waf1Gmo+X2/dndsG05zNbI08MG08t6OC4ah5Rf9qc9HkjiNMHxta+iajiy+GUx/8ZyuvIqlymX52M0Jh+3VzeTHXu3OuKi7PQOdE9byPpturlG5onTaMeY1MzkRp//rNFcTS9FFRfXjTbN2s44pe81MTsTpa2cfQSz1XZqP35y076YYav3UmzzuumbeG5ZKh231WLN9K5ypmOPaRJz8oouF9/BAx4R1f1J/7WSShKfujRrfdV1fDEbkwO3N8PCGszL/UKnxvE98lu0dYql02B441vTHV9+FzPHk8Tj5iXcu12JMRaqfaMYXrU43U5q+L1p8JmDnF+hNE9Z9Sn2dRHNfD+e+7rq+yOHGVetV/VdkpixnXSAUS+W3FvFbVk8qk21y5fKs/91uezR6Qsiv2soV2foxJFx6Y3Hwz5ddL95C/ohU3nsOj3lvsDzXm4GkIMp788onQhwIe0SGGs/5J/+yL59yXX+J3lQc/ruloGrltLWks59aIfI79j4yScokRMb1msnhaT+FSdLuNlNyQGSo/WaOSTKigsnr/rpddHc6hIiNcEDEJAVRtsOzyYH0asLYozoNzT8czj1c6mK1ZbvnSCg8YKu3N4NfsdlJ88qn+5Z/4HwrmciUJLqg8Aa6P5eWKu/Lhj/aWlszT37sTd0dFw236WZB5YvzsaPJ+voore4WuCsu6q6DRBcW1Vub7Q1yTPmMqd3pOuHe3fNO7MvYTa2+yzK7xFP3RMsvdfG0rzM0fkuz7129mVH07JXdtriou969OBOm8ofy4IC1Da7dHTe7SXPlMBovdP+gLJWP5H1H8vb2NqZ81kzeES9+K3CqylJQlfFbNqbJVNS5djxeeMJtECF/RMb+cH3v5sod3bmvhXIO5ruWhq5Oo7fkRLT8ot94MZDWjsYxJFnP3j72qE5LQx9JB96f7vKohJg9Mf1CRLNfKS08Fu7gcTptlOz8oZbKR/LzP7UcvqG9/Ucymr4vWno2cNo0KcQxVT/e7Ls063zL0t7n8Z/OgwQ0fjTpf0+2dmtq4fFw7l/DrjYG7IxYKl9SVG9veoNCOZUvyQ//7RLzjnbZMZkyda4x70aP6jS09ExQf9Jtx812LPW9Ix+6rsUBLZ4Ipr+w9+uLQkRUuTw778+apV9fv9G38Ghp7qsOi/arhq9tDf1uuuFLhuqP72KfB1Mxy7NfjooGd/vL1jVLwZg9cKwZHrbpz7zpB0qOm1a3xjT6e634YlWv7EzZKdP4brCTyfsKIX9YRm5ocUitn67u7NzLa4YU5PXL8EfTsT9O/LHV5SdDy99b3Vbstrba/+7VxdGOlf/kh17trtgu7mifB7WnFtkp5xv6O38WiEs0fjTpuzSTJs9+reQ6mdkGGxq8MlX2yl7Q8HWtgQ+mOx/BEpfIH7XFPNfu3MudnUJiiQPquzgfvalV+e10/TNuhrJJM3lHnDpmYal0qGNxdAVTPmMmJ+LWL10H2bDPY/Ug/VEbHiqyad/1Ixk7NXRNa+jalJjIl7Ebk9Ebkl0Nx+QNiLpX9uWX/KXv+E77M7b69sEr0+hQIRnNPBDVnw56f19YSISYyfRLfGEx+KG08r7UHxFa28fEZJs8dU+0/LzvtOgtZPqk+onm+r14ai9CTf9jtPSs28q5EG+5bC7kDUn1tuS1f4iTlz2xxNz7SY5Y6n9nvvJmbumZYOnZHb1J34Rp8MNpr7bf9+yVPfmhN/dgqesPVhORpfIl+ejvCxE1vhPMPxJ6FWmfiTOf3dP+df29raz+ycSGuCTegITn2/iivPz2PH5zYVY+mrPxGaw/GSx+K/AGxbGDketbA1du3mq+eCKoPxV4A26DCA1d07HPY+M/9b0rO/zXRf2bYeM5Pz1piiWWnHv2Syvkj9rqJ5vBQZv+wpv6XOT6GZIzjskexb9ZRBf05uLZo/VOpnzKZFM72pAjFIxbf9ySUHbK5PMbB5Gtv2WLv6+swkjHF4WIiAMyZfEGxKtYLlH7ZqZsMWZ60iuWXN8QsJHwV+3mD20Kpa+aou76PDBLcMie6cO7hohIWlzUuVhiaZHYHl1ChbyKhIeKlbu16SmvJ9dmJgnOt95Abz5V17N7RbSblx5Zf3l1HaSrnyUdP+IMur1ybDlmTwbZ8vHuxfLF6puwXg7u+Igc9G7K3ZNj6t0D24mebJjYo10Xe/rMvL5P+/b2ww46+P8KdYJeqBP0Qp2gF+oEvVAn6IU6QS/UCXqhTtALdYJeqBP0Qp2gF+oEvVAn6IU6QS/UCXqhTtALdYJeqBP0Qp2gF+oEvVAn6IU6QS/UCXqhTtALdYJeqBP0Qp2gF+oEvVAn6IU6QS/UCXqhTtALdYJeqBP0Qp2gF+oEvVAn6IU6QS/UCXqhTtALdYJeqBP0Qp2gF+oEvVAn6IU6QS/UCXqhTtALdYJeqBP0Qp2gF+oEvVAn6IU6QS/UCXqhTtALdYJeqBP0Qp2gF+oEvVAn6IU6QS/UCXqhTtALdYJeqBP0Qp2g1/8ByN/uJ+xC8uUAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjAtMTEtMTdUMDg6MzY6MTUtMDU6MDB1rBfnAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIwLTExLTE3VDA4OjM2OjE1LTA1OjAwBPGvWwAAAABJRU5ErkJggg=="
6041        alt=""
6042        role="presentation"
6043    />
6044
6045        </label>
6046    </div>
6047            <div>
6048        <input
6049            type="radio"
6050            value="post-office"
6051            name="pickwareDhlAddressRadioGroup"
6052            class="pickware-dhl-radio-button-post-office"
6053            id="1974954814pickwareDhlAddressRadioButtonPostOffice"
6054        >
6055
6056        <label for="1974954814pickwareDhlAddressRadioButtonPostOffice">
6057            Postfiliale
6058                <img
6059        class="pickware-dhl-address-radio-logo"
6060        src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAN8AAAClCAIAAABTIr/cAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAAB3RJTUUH5AsRCCQPsTBfUAAADQZJREFUeNrt22uQZGV9x/H//zmXPqdneu7Ty4bNxhhLQAOuFwxILKNSChKheBFCkVTCIhpYX6SSyhurNHmfW+UNsyAiKVDKGIMRjAHCzawlmCBQKlUq3iIblum590xPnz6X558X0zPTMzuz+/RMz/Kfyu/zYmtrdueZ032+c/rp5zzN8hwB6GRe7wMA2BbqBL1QJ+iFOkEv1Al6oU7QC3WCXqgT9EKdoBfqBL1QJ+iFOkEv1Al6oU7QC3WCXqgT9EKdoBfqBL1QJ+iFOkEv1Al6oU7QC3WCXqgT9EKdoBfqBL1QJ+iFOkEv1Al6oU7QC3WCXqgT9EKdoBfqBL1QJ+iFOkEv1Al6oU7QC3WCXqgT9EKdoBfqBL1QJ+iFOkEv1Al6oU7QC3WCXqgT9EKdoBfqBL1QJ+iFOkEv1Al6oU7QC3WCXqgT9EKdoBfqBL1QJ+iFOkEv1Al6oU7QC3WCXqgT9EKdoBfqBL1QJ+iFOkEv//U+AAd8Dn+JhMju5bFtOf7uB/H2+GG+TtTXaSg7ZRYeC22Lee2LvM1/5k1/l86vt79/059MzES+eH0UVG14qPCrlgO3k8eUz/HCI6Viifns/1nEcjBuBz+cmrKsHRox2QbPPxLmM+bsozCJJW/ADl2deoNCQsRkW1x/NExfc/j2lRGEvLIMXpX6o3b9MFTSXSeTXebaZ+O5h8NdjkPbJ93+N0McSjAq5SP50DWt8pGcPTrTyWOSjGbuj6a/GIlLykKmROf96bKJZMOwQrMPlmrHY5u5PRRD4x9LTN/6IAv/Hp76+7JdPvMj3GDsppbXL8rTJO11Cs3+S2nh0ZBNF0/9jn+WtDg9ya1XwsUTwcgNrbE/SDZc5E6z8Fhp9sESEbHLC6vQ8LWt4etSMh3RG1o8EUzfH0nhNoilwSvT0ZsS9omEyNDyC/7UPZEkxI5n0lLlimz8aJNL+6BOxe+KDC1+O5i+P5J879Ps+KHsUVHnqXuj6fsiybf9b8vf92t3R3aZXY5NLPW9Ix+7JeHOC6eh1s+82kRczLsOEl1YVP8k8SqykmZ2ykzeEaeTxvU0Wiq9wVaPNb3hfZAm6a3TUOvnXm0iLuaczlyPMVFBs18pLb8QbPEMGcomTW0iTl91y8JSeNBWjzWDql2fzjIVC1w7Hic/8ZwGEQpG5cCxZvhrBdn2nGfqc/Hy93x2PIdC3oBUb2tGby72xVsiUlrn2pl72e3M7c0x5AtcfzLYfCKZbMJTn48az7tlIWRiqd6alC/OO4eSgmYeiOonAsc0OaCxP0r6fytrDyI099XS/CPdTMc9Gr2xVfmddL+kSTrnnZLR9P1R/alALPX+BYjJ9WJDlPzcs03eNPucfyic/7eS+48bvj4dvKq14YuG6v8Rzny5tHIVdDF0VTp8fYu4Pd1c+nYwfV8kmfOcx9LgB9KRGxM2e/CU7hl9dRpKX/GyV03/5dlevKYXCyZ52dt2Qnm2Y2v8VzB1byQtt1cdof73ZGM3Nzmi9RANNX/g1+6K7RK7DCKW+t6Wj9/aNLGQJTKU/o83ORFns+z4ayaW4guK6m2JV5F9dOEkjXVaCg8X5/9VY8s0u3rzfvqllw01f+T/8i/68xmn6Wz0G4WJVy+chtKTZnIizqaN69XXIxPQ7D9Fm5pY+m8/fcV5znqePfDJZnDQrvRdLHLtzij5kec+3QxGOias+4q+OlcWaE5fXmGSlBeeCLKa27KzL/2X5qU3Fp3r3pLy/DfCfNYhTUvhQTv0kZ
6060RM+7JnG1z7bNx8yTkLIrJUfzqQp4LND8Xx5pCQiWX8Y0n5SHvOKpZmvxQtPB26TsfXJqyXZfsuTdJZ59aYFh4PTv1N2TacLp4ckP+ZRulNBRXrX5z/Rjj3ULhyi+VMhDii8aNJ/NbVtzKWZv+5VH/cOYs1ZhfTE6bh69Khq9O1oRafCGe+VKKiixeQDRPW/Waf1Gmo+X2/dndsG05zNbI08MG08t6OC4ah5Rf9qc9HkjiNMHxta+iajiy+GUx/8ZyuvIqlymX52M0Jh+3VzeTHXu3OuKi7PQOdE9byPpturlG5onTaMeY1MzkRp//rNFcTS9FFRfXjTbN2s44pe81MTsTpa2cfQSz1XZqP35y076YYav3UmzzuumbeG5ZKh231WLN9K5ypmOPaRJz8oouF9/BAx4R1f1J/7WSShKfujRrfdV1fDEbkwO3N8PCGszL/UKnxvE98lu0dYql02B441vTHV9+FzPHk8Tj5iXcu12JMRaqfaMYXrU43U5q+L1p8JmDnF+hNE9Z9Sn2dRHNfD+e+7rq+yOHGVetV/VdkpixnXSAUS+W3FvFbVk8qk21y5fKs/91uezR6Qsiv2soV2foxJFx6Y3Hwz5ddL95C/ohU3nsOj3lvsDzXm4GkIMp788onQhwIe0SGGs/5J/+yL59yXX+J3lQc/ruloGrltLWks59aIfI79j4yScokRMb1msnhaT+FSdLuNlNyQGSo/WaOSTKigsnr/rpddHc6hIiNcEDEJAVRtsOzyYH0asLYozoNzT8czj1c6mK1ZbvnSCg8YKu3N4NfsdlJ88qn+5Z/4HwrmciUJLqg8Aa6P5eWKu/Lhj/aWlszT37sTd0dFw236WZB5YvzsaPJ+voore4WuCsu6q6DRBcW1Vub7Q1yTPmMqd3pOuHe3fNO7MvYTa2+yzK7xFP3RMsvdfG0rzM0fkuz7129mVH07JXdtriou969OBOm8ofy4IC1Da7dHTe7SXPlMBovdP+gLJWP5H1H8vb2NqZ81kzeES9+K3CqylJQlfFbNqbJVNS5djxeeMJtECF/RMb+cH3v5sod3bmvhXIO5ruWhq5Oo7fkRLT8ot94MZDWjsYxJFnP3j72qE5LQx9JB96f7vKohJg9Mf1CRLNfKS08Fu7gcTptlOz8oZbKR/LzP7UcvqG9/Ucymr4vWno2cNo0KcQxVT/e7Ls063zL0t7n8Z/OgwQ0fjTpf0+2dmtq4fFw7l/DrjYG7IxYKl9SVG9veoNCOZUvyQ//7RLzjnbZMZkyda4x70aP6jS09ExQf9Jtx812LPW9Ix+6rsUBLZ4Ipr+w9+uLQkRUuTw778+apV9fv9G38Ghp7qsOi/arhq9tDf1uuuFLhuqP72KfB1Mxy7NfjooGd/vL1jVLwZg9cKwZHrbpz7zpB0qOm1a3xjT6e634YlWv7EzZKdP4brCTyfsKIX9YRm5ocUitn67u7NzLa4YU5PXL8EfTsT9O/LHV5SdDy99b3Vbstrba/+7VxdGOlf/kh17trtgu7mifB7WnFtkp5xv6O38WiEs0fjTpuzSTJs9+reQ6mdkGGxq8MlX2yl7Q8HWtgQ+mOx/BEpfIH7XFPNfu3MudnUJiiQPquzgfvalV+e10/TNuhrJJM3lHnDpmYal0qGNxdAVTPmMmJ+LWL10H2bDPY/Ug/VEbHiqyad/1Ixk7NXRNa+jalJjIl7Ebk9Ebkl0Nx+QNiLpX9uWX/KXv+E77M7b69sEr0+hQIRnNPBDVnw56f19YSISYyfRLfGEx+KG08r7UHxFa28fEZJs8dU+0/LzvtOgtZPqk+onm+r14ai9CTf9jtPSs28q5EG+5bC7kDUn1tuS1f4iTlz2xxNz7SY5Y6n9nvvJmbumZYOnZHb1J34Rp8MNpr7bf9+yVPfmhN/dgqesPVhORpfIl+ejvCxE1vhPMPxJ6FWmfiTOf3dP+df29raz+ycSGuCTegITn2/iivPz2PH5zYVY+mrPxGaw/GSx+K/AGxbGDketbA1du3mq+eCKoPxV4A26DCA1d07HPY+M/9b0rO/zXRf2bYeM5Pz1piiWWnHv2Syvkj9rqJ5vBQZv+wpv6XOT6GZIzjskexb9ZRBf05uLZo/VOpnzKZFM72pAjFIxbf9ySUHbK5PMbB5Gtv2WLv6+swkjHF4WIiAMyZfEGxKtYLlH7ZqZsMWZ60iuWXN8QsJHwV+3mD20Kpa+aou76PDBLcMie6cO7hohIWlzUuVhiaZHYHl1ChbyKhIeKlbu16SmvJ9dmJgnOt95Abz5V17N7RbSblx5Zf3l1HaSrnyUdP+IMur1ybDlmTwbZ8vHuxfLF6puwXg7u+Igc9G7K3ZNj6t0D24mebJjYo10Xe/rMvL5P+/b2ww46+P8KdYJeqBP0Qp2gF+oEvVAn6IU6QS/UCXqhTtALdYJeqBP0Qp2gF+oEvVAn6IU6QS/UCXqhTtALdYJeqBP0Qp2gF+oEvVAn6IU6QS/UCXqhTtALdYJeqBP0Qp2gF+oEvVAn6IU6QS/UCXqhTtALdYJeqBP0Qp2gF+oEvVAn6IU6QS/UCXqhTtALdYJeqBP0Qp2gF+oEvVAn6IU6QS/UCXqhTtALdYJeqBP0Qp2gF+oEvVAn6IU6QS/UCXqhTtALdYJeqBP0Qp2gF+oEvVAn6IU6QS/UCXqhTtALdYJeqBP0Qp2g1/8ByN/uJ+xC8uUAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjAtMTEtMTdUMDg6MzY6MTUtMDU6MDB1rBfnAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIwLTExLTE3VDA4OjM2OjE1LTA1OjAwBPGvWwAAAABJRU5ErkJggg=="
6061        alt=""
6062        role="presentation"
6063    />
6064
6065        </label>
6066    </div>
6067                <div>
6068            <input
6069                type="radio"
6070                value="paketshop"
6071                name="pickwareDhlAddressRadioGroup"
6072                class="pickware-dhl-radio-button-paketshop"
6073                id="1974954814pickwareDhlAddressRadioButtonPaketshop"
6074            >
6075
6076            <label for="1974954814pickwareDhlAddressRadioButtonPaketshop">
6077                DHL Paketshop
6078                    <img
6079        class="pickware-dhl-address-radio-logo"
6080        src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAN8AAAClCAIAAABTIr/cAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAAB3RJTUUH5AsRCCQPsTBfUAAADQZJREFUeNrt22uQZGV9x/H//zmXPqdneu7Ty4bNxhhLQAOuFwxILKNSChKheBFCkVTCIhpYX6SSyhurNHmfW+UNsyAiKVDKGIMRjAHCzawlmCBQKlUq3iIblum590xPnz6X558X0zPTMzuz+/RMz/Kfyu/zYmtrdueZ032+c/rp5zzN8hwB6GRe7wMA2BbqBL1QJ+iFOkEv1Al6oU7QC3WCXqgT9EKdoBfqBL1QJ+iFOkEv1Al6oU7QC3WCXqgT9EKdoBfqBL1QJ+iFOkEv1Al6oU7QC3WCXqgT9EKdoBfqBL1QJ+iFOkEv1Al6oU7QC3WCXqgT9EKdoBfqBL1QJ+iFOkEv1Al6oU7QC3WCXqgT9EKdoBfqBL1QJ+iFOkEv1Al6oU7QC3WCXqgT9EKdoBfqBL1QJ+iFOkEv1Al6oU7QC3WCXqgT9EKdoBfqBL1QJ+iFOkEv1Al6oU7QC3WCXqgT9EKdoBfqBL1QJ+iFOkEv//U+AAd8Dn+JhMju5bFtOf7uB/H2+GG+TtTXaSg7ZRYeC22Lee2LvM1/5k1/l86vt79/059MzES+eH0UVG14qPCrlgO3k8eUz/HCI6Viifns/1nEcjBuBz+cmrKsHRox2QbPPxLmM+bsozCJJW/ADl2deoNCQsRkW1x/NExfc/j2lRGEvLIMXpX6o3b9MFTSXSeTXebaZ+O5h8NdjkPbJ93+N0McSjAq5SP50DWt8pGcPTrTyWOSjGbuj6a/GIlLykKmROf96bKJZMOwQrMPlmrHY5u5PRRD4x9LTN/6IAv/Hp76+7JdPvMj3GDsppbXL8rTJO11Cs3+S2nh0ZBNF0/9jn+WtDg9ya1XwsUTwcgNrbE/SDZc5E6z8Fhp9sESEbHLC6vQ8LWt4etSMh3RG1o8EUzfH0nhNoilwSvT0ZsS9omEyNDyC/7UPZEkxI5n0lLlimz8aJNL+6BOxe+KDC1+O5i+P5J879Ps+KHsUVHnqXuj6fsiybf9b8vf92t3R3aZXY5NLPW9Ix+7JeHOC6eh1s+82kRczLsOEl1YVP8k8SqykmZ2ykzeEaeTxvU0Wiq9wVaPNb3hfZAm6a3TUOvnXm0iLuaczlyPMVFBs18pLb8QbPEMGcomTW0iTl91y8JSeNBWjzWDql2fzjIVC1w7Hic/8ZwGEQpG5cCxZvhrBdn2nGfqc/Hy93x2PIdC3oBUb2tGby72xVsiUlrn2pl72e3M7c0x5AtcfzLYfCKZbMJTn48az7tlIWRiqd6alC/OO4eSgmYeiOonAsc0OaCxP0r6fytrDyI099XS/CPdTMc9Gr2xVfmddL+kSTrnnZLR9P1R/alALPX+BYjJ9WJDlPzcs03eNPucfyic/7eS+48bvj4dvKq14YuG6v8Rzny5tHIVdDF0VTp8fYu4Pd1c+nYwfV8kmfOcx9LgB9KRGxM2e/CU7hl9dRpKX/GyV03/5dlevKYXCyZ52dt2Qnm2Y2v8VzB1byQtt1cdof73ZGM3Nzmi9RANNX/g1+6K7RK7DCKW+t6Wj9/aNLGQJTKU/o83ORFns+z4ayaW4guK6m2JV5F9dOEkjXVaCg8X5/9VY8s0u3rzfvqllw01f+T/8i/68xmn6Wz0G4WJVy+chtKTZnIizqaN69XXIxPQ7D9Fm5pY+m8/fcV5znqePfDJZnDQrvRdLHLtzij5kec+3QxGOias+4q+OlcWaE5fXmGSlBeeCLKa27KzL/2X5qU3Fp3r3pLy/DfCfNYhTUvhQTv0kZ
6080RM+7JnG1z7bNx8yTkLIrJUfzqQp4LND8Xx5pCQiWX8Y0n5SHvOKpZmvxQtPB26TsfXJqyXZfsuTdJZ59aYFh4PTv1N2TacLp4ckP+ZRulNBRXrX5z/Rjj3ULhyi+VMhDii8aNJ/NbVtzKWZv+5VH/cOYs1ZhfTE6bh69Khq9O1oRafCGe+VKKiixeQDRPW/Waf1Gmo+X2/dndsG05zNbI08MG08t6OC4ah5Rf9qc9HkjiNMHxta+iajiy+GUx/8ZyuvIqlymX52M0Jh+3VzeTHXu3OuKi7PQOdE9byPpturlG5onTaMeY1MzkRp//rNFcTS9FFRfXjTbN2s44pe81MTsTpa2cfQSz1XZqP35y076YYav3UmzzuumbeG5ZKh231WLN9K5ypmOPaRJz8oouF9/BAx4R1f1J/7WSShKfujRrfdV1fDEbkwO3N8PCGszL/UKnxvE98lu0dYql02B441vTHV9+FzPHk8Tj5iXcu12JMRaqfaMYXrU43U5q+L1p8JmDnF+hNE9Z9Sn2dRHNfD+e+7rq+yOHGVetV/VdkpixnXSAUS+W3FvFbVk8qk21y5fKs/91uezR6Qsiv2soV2foxJFx6Y3Hwz5ddL95C/ohU3nsOj3lvsDzXm4GkIMp788onQhwIe0SGGs/5J/+yL59yXX+J3lQc/ruloGrltLWks59aIfI79j4yScokRMb1msnhaT+FSdLuNlNyQGSo/WaOSTKigsnr/rpddHc6hIiNcEDEJAVRtsOzyYH0asLYozoNzT8czj1c6mK1ZbvnSCg8YKu3N4NfsdlJ88qn+5Z/4HwrmciUJLqg8Aa6P5eWKu/Lhj/aWlszT37sTd0dFw236WZB5YvzsaPJ+voore4WuCsu6q6DRBcW1Vub7Q1yTPmMqd3pOuHe3fNO7MvYTa2+yzK7xFP3RMsvdfG0rzM0fkuz7129mVH07JXdtriou969OBOm8ofy4IC1Da7dHTe7SXPlMBovdP+gLJWP5H1H8vb2NqZ81kzeES9+K3CqylJQlfFbNqbJVNS5djxeeMJtECF/RMb+cH3v5sod3bmvhXIO5ruWhq5Oo7fkRLT8ot94MZDWjsYxJFnP3j72qE5LQx9JB96f7vKohJg9Mf1CRLNfKS08Fu7gcTptlOz8oZbKR/LzP7UcvqG9/Ucymr4vWno2cNo0KcQxVT/e7Ls063zL0t7n8Z/OgwQ0fjTpf0+2dmtq4fFw7l/DrjYG7IxYKl9SVG9veoNCOZUvyQ//7RLzjnbZMZkyda4x70aP6jS09ExQf9Jtx812LPW9Ix+6rsUBLZ4Ipr+w9+uLQkRUuTw778+apV9fv9G38Ghp7qsOi/arhq9tDf1uuuFLhuqP72KfB1Mxy7NfjooGd/vL1jVLwZg9cKwZHrbpz7zpB0qOm1a3xjT6e634YlWv7EzZKdP4brCTyfsKIX9YRm5ocUitn67u7NzLa4YU5PXL8EfTsT9O/LHV5SdDy99b3Vbstrba/+7VxdGOlf/kh17trtgu7mifB7WnFtkp5xv6O38WiEs0fjTpuzSTJs9+reQ6mdkGGxq8MlX2yl7Q8HWtgQ+mOx/BEpfIH7XFPNfu3MudnUJiiQPquzgfvalV+e10/TNuhrJJM3lHnDpmYal0qGNxdAVTPmMmJ+LWL10H2bDPY/Ug/VEbHiqyad/1Ixk7NXRNa+jalJjIl7Ebk9Ebkl0Nx+QNiLpX9uWX/KXv+E77M7b69sEr0+hQIRnNPBDVnw56f19YSISYyfRLfGEx+KG08r7UHxFa28fEZJs8dU+0/LzvtOgtZPqk+onm+r14ai9CTf9jtPSs28q5EG+5bC7kDUn1tuS1f4iTlz2xxNz7SY5Y6n9nvvJmbumZYOnZHb1J34Rp8MNpr7bf9+yVPfmhN/dgqesPVhORpfIl+ejvCxE1vhPMPxJ6FWmfiTOf3dP+df29raz+ycSGuCTegITn2/iivPz2PH5zYVY+mrPxGaw/GSx+K/AGxbGDketbA1du3mq+eCKoPxV4A26DCA1d07HPY+M/9b0rO/zXRf2bYeM5Pz1piiWWnHv2Syvkj9rqJ5vBQZv+wpv6XOT6GZIzjskexb9ZRBf05uLZo/VOpnzKZFM72pAjFIxbf9ySUHbK5PMbB5Gtv2WLv6+swkjHF4WIiAMyZfEGxKtYLlH7ZqZsMWZ60iuWXN8QsJHwV+3mD20Kpa+aou76PDBLcMie6cO7hohIWlzUuVhiaZHYHl1ChbyKhIeKlbu16SmvJ9dmJgnOt95Abz5V17N7RbSblx5Zf3l1HaSrnyUdP+IMur1ybDlmTwbZ8vHuxfLF6puwXg7u+Igc9G7K3ZNj6t0D24mebJjYo10Xe/rMvL5P+/b2ww46+P8KdYJeqBP0Qp2gF+oEvVAn6IU6QS/UCXqhTtALdYJeqBP0Qp2gF+oEvVAn6IU6QS/UCXqhTtALdYJeqBP0Qp2gF+oEvVAn6IU6QS/UCXqhTtALdYJeqBP0Qp2gF+oEvVAn6IU6QS/UCXqhTtALdYJeqBP0Qp2gF+oEvVAn6IU6QS/UCXqhTtALdYJeqBP0Qp2gF+oEvVAn6IU6QS/UCXqhTtALdYJeqBP0Qp2gF+oEvVAn6IU6QS/UCXqhTtALdYJeqBP0Qp2gF+oEvVAn6IU6QS/UCXqhTtALdYJeqBP0Qp2g1/8ByN/uJ+xC8uUAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjAtMTEtMTdUMDg6MzY6MTUtMDU6MDB1rBfnAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIwLTExLTE3VDA4OjM2OjE1LTA1OjAwBPGvWwAAAABJRU5ErkJggg=="
6081        alt=""
6082        role="presentation"
6083    />
6084
6085            </label>
6086        </div>
6087    </div>
6088        
6089                            
6090                
6091                <div class="pickware-dhl-regular-address-form-container">
6092            <div class="pickware-dhl-regular-address-form">
6093                        
6094                        
6095                
6096        <div class="row g-2">
6097                        
6098                                                                
6099        
6100                    
6101                                    
6102        <div class="col-12 qubix-street-house-col">
6103        <div class="row gx-2 qubix-street-house-row">
6104                            
6105                
6106    
6107    
6108        
6109    
6110    
6111    <div class="form-group col-8">
6112                                    <label class="form-label" for="shippingAddress-AddressStreet">
6113                    Straße
6114
6115                                            <span class="form-required-label" aria-hidden="true">*</span>
6116                                    </label>
6117                    
6118        	            
6119            
6120            
6121            <input type="text"
6122                   class="form-control"
6123                   id="shippingAddress-AddressStreet"
6124                   name="shippingAddress[street]"
6125                   aria-describedby="shippingAddress-AddressStreet
6125-feedback"
6126                                                         autocomplete="shipping address-line1"                                                         data-validation="required"                   aria-required="true"                                      >
6127        
6128
6129	
6130                            
6131                    <div id="shippingAddress-AddressStreet-feedback" class="form-field-feedback">
6132                                                                </div>
6133            </div>
6134            
6135                            
6136                
6137    
6138    
6139        
6140    
6141    
6142    <div class="form-group col-4">
6143                                    <label class="form-label" for="shippingAddress-AddressHouseNumber">
6144                    Hausnummer
6145
6146                                            <span class="form-required-label" aria-hidden="true">*</span>
6147                                    </label>
6148                    
6149        	            
6150            
6151            
6152            <input type="text"
6153                   class="form-control"
6154                   id="shippingAddress-AddressHouseNumber"
6155                   name="shippingAddress[houseNumber]"
6156                   aria-describedby="shippingAddress-AddressHouseNumber-feedback"
6157                                                         autocomplete="off"                                                         data-validation="required"                   aria-required="true"                                      >
6158        
6159
6160	
6161                            
6162                    <div id="shippingAddress-AddressHouseNumber-feedback" class="form-field-feedback">
6163                                                                </div>
6164            </div>
6165                    </div>
6166    </div>
6167                
6168    
6169                                                                            
6170                    
6171                    
6172                    
6173                                            
6174
6175    
6176                                                                                                                    
6177    
6178    
6179                
6180    
6181                
6182    
6183    
6184        
6185    
6186    
6187    <div class="form-group col-md-3 col-4">
6188                                    <label class="form-label" for="shippingAddressAddressZipcode">
6189                    PLZ
6190
6191                                    </label>
6192                    
6193        	            
6194            
6195            
6196            <input type="text"
6197                   class="form-control"
6198                   id="shippingAddressAddressZipcode"
6199                   name="shippingAddress[zipcode]"
6200                   aria-describedby="shippingAddressAddressZipcode-feedback"
6201                                                         autocomplete="shipping postal-code"                                                                                               data-input-name="zipcodeInput"                    >
6202        
6203
6204	
6205                            
6206                    <div id="shippingAddressAddressZipcode-feedback" class="form-field-feedback">
6207                                                                </div>
6208            </div>
6209                    
6210                                                            
6211    
6212                
6213    
6214                
6215    
6216    
6217        
6218    
6219    
6220    <div class="form-group col-md-3 col-8">
6221                                    <label class="form-label" for="shippingAddressAddressCity">
6222                    Ort
6223
6224                                            <span class="form-required-label" aria-hidden="true">*</span>
6225                                    </label>
6226                    
6227        	            
6228            
6229            
6230            <input type="text"
6231                   class="form-control"
6232                   id="shippingAddressAddressCity"
6233                   name="shippingAddress[city]"
6234                   aria-describedby="shippingAddressAddressCity-feedback"
6235                                                         autocomplete="shipping address-level2"                                                         data-validation="required"                   aria-required="true"                                      >
6236        
6237
6238	
6239                            
6240                    <div id="shippingAddressAddressCity-feedback" class="form-field-feedback">
6241                                                                </div>
6242            </div>
6243                    
6244                                                                        
6245                            
6246                        
6247                                        
6248    
6249                                                </div>
6250
6251                
6252                        <div
6253            class="row g-2 country-and-state-form-elements"
6254            data-country-state-select="true"
6255            data-country-state-select-options="{&quot;scopeElementSelector&quot;:&quot;.register-shipping&quot;,&quot;prefix&quot;:&quot;shippingAddress&quot;}"
6256        >
6257                                                    
6258                                                
6259    
6260    
6261    
6262                
6263    
6264    
6265        
6266    
6267    
6268    <div class="form-group col-md-6">
6269                                    <label class="form-label" for="shippingAddressAddressCountry">
6270                    Land
6271
6272                                            <span class="form-required-label" aria-hidden="true">*</span>
6273                                    </label>
6274                    
6275        	            
6276                                        
6277            
6278            <select class="form-select country-select"
6279                    id="shippingAddressAddressCountry"
6280                    name="shippingAddress[countryId]"
6281                    aria-describedby="shippingAddressAddressCountry-feedback"
6282                    autocomplete="shipping country-name"                    data-validation="required"                    aria-required="true"                    data-initial-country-id=72bfb449ab0040299ccc5b6eefd129f3                     >
6283                                                                <option value="72bfb449ab0040299ccc5b6eefd129f3"
6284                    selected="selected"                    data-zipcode-required="1"
6285                    data-vat-id-required=""
6286                    data-state-required=""
6287                    >
6288
6289                Deutschland
6290
6291                            </option>
6292                    <option value="d7f11893dbf04dfab5077ba37372bf9b"
6293                                        data-zipcode-required=""
6294                    data-vat-id-required=""
6295                    data-state-required=""
6296                    >
6297
6298                Belgien
6299
6300                            </option>
6301                    <option value="cf71a64ab9dc46f99ce43ce7c39e6212"
6302                                        data-zipcode-required=""
6303                    data-vat-id-required=""
6304                    data-state-required=""
6305                    >
6306
6307                Kroatien
6308
6309                            </option>
6310                    <option value="46b0f19244b34817ae2d53c270a2fd1d"
6311                                        data-zipcode-required=""
6312                    data-vat-id-required=""
6313                    data-state-required=""
6314                    >
6315
6316                Dänemark
6317
6318                            </option>
6319                    <option value="c02be3c2bc5f44b69f593a3425607ec1"
6320                                        data-zipcode-required=""
6321                    data-vat-id-required=""
6322                    data-state-required=""
6323                    >
6324
6325                Frankreich
6326
6327                            </option>
6328                    <option value="23d58066c66c4baa9360d0eebc3d80a8"
6329                                        data-zipcode-required=""
6330                    data-vat-id-required=""
6331                    data-state-required=""
6332                    >
6333
6334                Griechenland
6335
6336                            </option>
6337                    <option value="86c7b16517e542189d0ffe3bbe45704a"
6338                                        data-zipcode-required=""
6339                    data-vat-id-required=""
6340                    data-state-required=""
6341                    >
6342
6343                Irland
6344
6345                            </option>
6346                    <option value="61bb466b8d6242b38e37bea2f7ccd29c"
6347                                        data-zipcode-required=""
6348                    data-vat-id-required=""
6349                    data-state-required=""
6350                    >
6351
6352                Italien
6353
6354                            </option>
6355                    <option value="6a9d58d7dc334389a5cf1c8d7c93d37a"
6356                                        data-zipcode-required=""
6357                    data-vat-id-required=""
6358                    data-state-required=""
6359                    >
6360
6361                Luxemburg
6362
6363                            </option>
6364                    <option value="d88c313641d940b9b1de35e2a5cb7cc3"
6365                                        data-zipcode-required=""
6366                    data-vat-id-required=""
6367                    data-state-required=""
6368                    >
6369
6370                Niederlande
6371
6372                            </option>
6373                    <option value="91735f460164480fbf281fa9690fcba3"
6374                                        data-zipcode-required=""
6375                    data-vat-id-required=""
6376                    data-state-required=""
6377                    >
6378
6379                Österreich
6380
6381                            </option>
6382                    <option value="a1fc18919bb04a58aa814e5ca6054196"
6383                                        data-zipcode-required=""
6384                    data-vat-id-required=""
6385                    data-state-required=""
6386                    >
6387
6388                Polen
6389
6390                            </option>
6391                    <option value="5ec76ccacd3d4e3ab4b1bdc042f5ec28"
6392                                        data-zipcode-required=""
6393                    data-vat-id-required=""
6394                    data-state-required=""
6395                    >
6396
6397                Schweden
6398
6399                            </option>
6400                    <option value="fe3311d8c50248f8a7d7076171527ce0"
6401                                        data-zipcode-required=""
6402                    data-vat-id-required=""
6403                    data-state-required=""
6404                    >
6405
6406                Schweiz
6407
6408                            </option>
6409                    <option value="6d5aaf85527146c989f08e51e1470bc2"
6410                                        data-zipcode-required=""
6411                    data-vat-id-required=""
6412                    data-state-required=""
6413                    >
6414
6415                Slowakische Republik
6416
6417                            </option>
6418                    <option value="f34ca5ca12624b89b238f08710060c27"
6419                                        data-zipcode-required=""
6420                    data-vat-id-required=""
6421                    data-state-required=""
6422                    >
6423
6424                Spanien
6425
6426                            </option>
6427                    <option value="496911aae00043b0b43ade76ed027b1c"
6428                                        data-zipcode-required=""
6429                    data-vat-id-required=""
6430                    data-state-required=""
6431                    >
6432
6433                Tschechien
6434
6435                            </option>
6436            
6437                            </select>
6438        
6439
6440	
6441                            
6442                    <div id="shippingAddressAddressCountry-feedback" class="form-field-feedback">
6443                                                                </div>
6444            </div>
6445
6446                
6447    
6448                                                                                
6449    
6450                
6451    
6452    
6453        
6454    
6455    
6456    <div class="form-group col-md-6 d-none">
6457                                    <label class="form-label" for="shippingAddressAddressCountryState">
6458                    Bundesland
6459
6460                                    </label>
6461                    
6462        	            
6463                                        
6464            
6465            <select class="form-select country-state-select"
6466                    id="shippingAddressAddressCountryState"
6467                    name="shippingAddress[countryStateId]"
6468                    aria-describedby="shippingAddressAddressCountryState-feedback"
6469                    autocomplete="shipping address-level1"                                                                                >
6470                                            <option value=""
6471                selected="selected"
6472                data-placeholder-option="true">
6473            Bundesland auswählen ...
6474        </option>
6475    
6476                            </select>
6477        
6478
6479	
6480                            
6481                    <div id="shippingAddressAddressCountryState-feedback" class="form-field-feedback">
6482                                                                </div>
6483            </div>
6484
6485                                                        </div>
6486        
6487        <div class="row g-2">
6488                        
6489                                                                    
6490    
6491                
6492    
6493                
6494    
6495    
6496        
6497    
6498    
6499    <div class="form-group col-md-6">
6500                                    <label class="form-label" for="shippingAddressAddressPhoneNumber">
6501                    Telefonnummer
6502
6503                                    </label>
6504                    
6505        	            
6506            
6507            
6508            <input type="text"
6509                   class="form-control"
6510                   id="shippingAddressAddressPhoneNumber"
6511                   name="shippingAddress[phoneNumber]"
6512                   aria-describedby="shippingAddressAddressPhoneNumber-feedback"
6513                                                         autocomplete="shipping tel"                                                                                                                  >
6514        
6515
6516	
6517                            
6518                    <div id="shippingAddressAddressPhoneNumber-feedback" class="form-field-feedback">
6519                                                                </div>
6520            </div>
6521
6522                                
6523            </div>
6524    
6525            </div>
6526        </div>
6527
6528        <div class="pickware-dhl-packstation-address-form-container">
6529            <div class="pickware-dhl-packstation-address-form">
6530                
6531
6532
6533
6534
6535
6536
6537<div class="row g-2">
6538    <div class="form-group col-md-3 col-6">
6539                <!-- Custom Field: Packstationsnummer/Postfilialnummer -->
6540    <label
6541        class="form-label"
6542        for="1521340882"
6543    >
6544        Packstationsnummer*
6545    </label>
6546
6547    <input
6548        type="text"
6549        id="1521340882"
6550        class="form-control pickware-dhl-packstation-number"
6551        placeholder="Packstationsnummer eingeben..."
6552        value=""
6553        required="required"
6554    >
6555
6556    </div>
6557
6558    <div class="form-group col-md-3 col-6">
6559            <!-- AdditionalAddressLine1 = Postnummer -->
6560    <label
6561        class="form-label"
6562        for="shippingAddressAdditionalAddressLine1"
6563    >
6564        Postnummer *    </label>
6565
6566    <input
6567        id="shippingAddressAdditionalAddressLine1"
6568        type="text"
6569        class="form-control"
6570        name="shippingAddress[additionalAddressLine1]"
6571        placeholder="Postnummer eingeben..."
6572        value=""
6573        required="required"    >
6574
6575    </div>
6576
6577    <div class="form-group col-md-2 col-4">
6578                        
6579    <label
6580        class="form-label"
6581        for="shippingAddressAddressZipcode"
6582    >
6583        PLZ*
6584    </label>
6585
6586    <input
6587           type="text"
6588           id="shippingAddressAddressZipcode"
6589           class="form-control pickware-dhl-packstation-zipcode"
6590           placeholder="PLZ eingeben ..."
6591           name="shippingAddress[zipcode]"
6592           value=""
6593           required="required"
6594    >
6595
6596    
6597    </div>
6598
6599    <div class="form-group col-md-4 col-8">
6600                        
6601    <label
6602        class="form-label"
6603        for="shippingAddressAddressCity"
6604    >
6605        Ort*
6606    </label>
6607
6608    <input
6609        type="text"
6610        id="shippingAddressAddressCity"
6611        class="form-control pickware-dhl-packstation-city  "
6612        placeholder="Ort eingeben ..."
6613        name="shippingAddress[city]"
6614        value=""
6615        required="required"
6616    >
6617
6618    
6619    </div>
6620</div>
6621
6622<div class="row g-2">
6623                                                            
6624    
6625                
6626    
6627                
6628    
6629    
6630        
6631    
6632    
6633    <div class="form-group col-md-6">
6634                                    <label class="form-label" for="shippingAddressAddressPhoneNumber">
6635                    Telefonnummer
6636
6637                                    </label>
6638                    
6639        	            
6640            
6641            
6642            <input type="text"
6643                   class="form-control"
6644                   id="shippingAddressAddressPhoneNumber"
6645                   name="shippingAddress[phoneNumber]"
6646                   aria-describedby="shippingAddressAddressPhoneNumber-feedback"
6647                                                         autocomplete="shipping tel"                                                                                                                  >
6648        
6649
6650	
6651                            
6652                    <div id="shippingAddressAddressPhoneNumber-feedback" class="form-field-feedback">
6653                                                                </div>
6654            </div>
6655
6656                                
6657                                
6658</div>
6659
6660<!-- Hidden form fields -->
6661<div class="d-none">
6662        <select
6663        id="shippingAddressAddressCountry"
6664        class="pickware-dhl-packstation-country"
6665        name="shippingAddress[countryId]"
6666        required="required"
6667    >
6668                    <option
6669                                value="72bfb449ab0040299ccc5b6eefd129f3"
6670                iso="DE"
6671            >
6672                Deutschland
6673            </option>
6674                    <option
6675                                value="d7f11893dbf04dfab5077ba37372bf9b"
6676                iso="BE"
6677            >
6678                Belgien
6679            </option>
6680                    <option
6681                                value="cf71a64ab9dc46f99ce43ce7c39e6212"
6682                iso="HR"
6683            >
6684                Kroatien
6685            </option>
6686                    <option
6687                                value="46b0f19244b34817ae2d53c270a2fd1d"
6688                iso="DK"
6689            >
6690                Dänemark
6691            </option>
6692                    <option
6693                                value="c02be3c2bc5f44b69f593a3425607ec1"
6694                iso="FR"
6695            >
6696                Frankreich
6697            </option>
6698                    <option
6699                                value="23d58066c66c4baa9360d0eebc3d80a8"
6700                iso="GR"
6701            >
6702                Griechenland
6703            </option>
6704                    <option
6705                                value="86c7b16517e542189d0ffe3bbe45704a"
6706                iso="IE"
6707            >
6708                Irland
6709            </option>
6710                    <option
6711                                value="61bb466b8d6242b38e37bea2f7ccd29c"
6712                iso="IT"
6713            >
6714                Italien
6715            </option>
6716                    <option
6717                                value="6a9d58d7dc334389a5cf1c8d7c93d37a"
6718                iso="LU"
6719            >
6720                Luxemburg
6721            </option>
6722                    <option
6723                                value="d88c313641d940b9b1de35e2a5cb7cc3"
6724                iso="NL"
6725            >
6726                Niederlande
6727            </option>
6728                    <option
6729                                value="91735f460164480fbf281fa9690fcba3"
6730                iso="AT"
6731            >
6732                Österreich
6733            </option>
6734                    <option
6735                                value="a1fc18919bb04a58aa814e5ca6054196"
6736                iso="PL"
6737            >
6738                Polen
6739            </option>
6740                    <option
6741                                value="5ec76ccacd3d4e3ab4b1bdc042f5ec28"
6742                iso="SE"
6743            >
6744                Schweden
6745            </option>
6746                    <option
6747                                value="fe3311d8c50248f8a7d7076171527ce0"
6748                iso="CH"
6749            >
6750                Schweiz
6751            </option>
6752                    <option
6753                                value="6d5aaf85527146c989f08e51e1470bc2"
6754                iso="SK"
6755            >
6756                Slowakische Republik
6757            </option>
6758                    <option
6759                                value="f34ca5ca12624b89b238f08710060c27"
6760                iso="ES"
6761            >
6762                Spanien
6763            </option>
6764                    <option
6765                                value="496911aae00043b0b43ade76ed027b1c"
6766                iso="CZ"
6767            >
6768                Tschechien
6769            </option>
6770            </select>
6771
6772        <input
6773        type="text"
6774        id="shippingAddressAddressStreet"
6775        class="pickware-dhl-packstation-street"
6776        name="shippingAddress[street]"
6777        value=""
6778        required="required"
6779    >
6780
6781</div>
6782            </div>
6783        </div>
6784
6785        <div class="pickware-dhl-post-office-address-form-container">
6786            <div class="pickware-dhl-post-office-address-form">
6787                
6788
6789
6790
6791
6792
6793
6794<div class="row g-2">
6795    <div class="form-group col-md-3 col-6">
6796                <!-- Custom Field: Packstationsnummer/Postfilialnummer -->
6797    <label
6798        class="form-label"
6799        for="44887430"
6800    >
6801        Postfilialennummer*
6802    </label>
6803
6804    <input
6805        type="text"
6806        id="44887430"
6807        class="form-control pickware-dhl-post-office-number"
6808        placeholder="Postfilialennummer eingeben..."
6809        value=""
6810        required="required"
6811    >
6812
6813    </div>
6814
6815    <div class="form-group col-md-3 col-6">
6816            <!-- AdditionalAddressLine1 = Postnummer -->
6817    <label
6818        class="form-label"
6819        for="shippingAddressAdditionalAddressLine1"
6820    >
6821        Postnummer *    </label>
6822
6823    <input
6824        id="shippingAddressAdditionalAddressLine1"
6825        type="text"
6826        class="form-control"
6827        name="shippingAddress[additionalAddressLine1]"
6828        placeholder="Postnummer eingeben..."
6829        value=""
6830        required="required"    >
6831
6832    </div>
6833
6834    <div class="form-group col-md-2 col-4">
6835                        
6836    <label
6837        class="form-label"
6838        for="shippingAddressAddressZipcode"
6839    >
6840        PLZ*
6841    </label>
6842
6843    <input
6844           type="text"
6845           id="shippingAddressAddressZipcode"
6846           class="form-control pickware-dhl-post-office-zipcode"
6847           placeholder="PLZ eingeben ..."
6848           name="shippingAddress[zipcode]"
6849           value=""
6850           required="required"
6851    >
6852
6853    
6854    </div>
6855
6856    <div class="form-group col-md-4 col-8">
6857                        
6858    <label
6859        class="form-label"
6860        for="shippingAddressAddressCity"
6861    >
6862        Ort*
6863    </label>
6864
6865    <input
6866        type="text"
6867        id="shippingAddressAddressCity"
6868        class="form-control pickware-dhl-post-office-city  "
6869        placeholder="Ort eingeben ..."
6870        name="shippingAddress[city]"
6871        value=""
6872        required="required"
6873    >
6874
6875    
6876    </div>
6877</div>
6878
6879<div class="row g-2">
6880                                                            
6881    
6882                
6883    
6884                
6885    
6886    
6887        
6888    
6889    
6890    <div class="form-group col-md-6">
6891                                    <label class="form-label" for="shippingAddressAddressPhoneNumber">
6892                    Telefonnummer
6893
6894                                    </label>
6895                    
6896        	            
6897            
6898            
6899            <input type="text"
6900                   class="form-control"
6901                   id="shippingAddressAddressPhoneNumber"
6902                   name="shippingAddress[phoneNumber]"
6903                   aria-describedby="shippingAddressAddressPhoneNumber-feedback"
6904                                                         autocomplete="shipping tel"                                                                                                                  >
6905        
6906
6907	
6908                            
6909                    <div id="shippingAddressAddressPhoneNumber-feedback" class="form-field-feedback">
6910                                                                </div>
6911            </div>
6912
6913                                
6914                                
6915</div>
6916
6917<!-- Hidden form fields -->
6918<div class="d-none">
6919        <select
6920        id="shippingAddressAddressCountry"
6921        class="pickware-dhl-post-office-country"
6922        name="shippingAddress[countryId]"
6923        required="required"
6924    >
6925                    <option
6926                                value="72bfb449ab0040299ccc5b6eefd129f3"
6927                iso="DE"
6928            >
6929                Deutschland
6930            </option>
6931                    <option
6932                                value="d7f11893dbf04dfab5077ba37372bf9b"
6933                iso="BE"
6934            >
6935                Belgien
6936            </option>
6937                    <option
6938                                value="cf71a64ab9dc46f99ce43ce7c39e6212"
6939                iso="HR"
6940            >
6941                Kroatien
6942            </option>
6943                    <option
6944                                value="46b0f19244b34817ae2d53c270a2fd1d"
6945                iso="DK"
6946            >
6947                Dänemark
6948            </option>
6949                    <option
6950                                value="c02be3c2bc5f44b69f593a3425607ec1"
6951                iso="FR"
6952            >
6953                Frankreich
6954            </option>
6955                    <option
6956                                value="23d58066c66c4baa9360d0eebc3d80a8"
6957                iso="GR"
6958            >
6959                Griechenland
6960            </option>
6961                    <option
6962                                value="86c7b16517e542189d0ffe3bbe45704a"
6963                iso="IE"
6964            >
6965                Irland
6966            </option>
6967                    <option
6968                                value="61bb466b8d6242b38e37bea2f7ccd29c"
6969                iso="IT"
6970            >
6971                Italien
6972            </option>
6973                    <option
6974                                value="6a9d58d7dc334389a5cf1c8d7c93d37a"
6975                iso="LU"
6976            >
6977                Luxemburg
6978            </option>
6979                    <option
6980                                value="d88c313641d940b9b1de35e2a5cb7cc3"
6981                iso="NL"
6982            >
6983                Niederlande
6984            </option>
6985                    <option
6986                                value="91735f460164480fbf281fa9690fcba3"
6987                iso="AT"
6988            >
6989                Österreich
6990            </option>
6991                    <option
6992                                value="a1fc18919bb04a58aa814e5ca6054196"
6993                iso="PL"
6994            >
6995                Polen
6996            </option>
6997                    <option
6998                                value="5ec76ccacd3d4e3ab4b1bdc042f5ec28"
6999                iso="SE"
7000            >
7001                Schweden
7002            </option>
7003                    <option
7004                                value="fe3311d8c50248f8a7d7076171527ce0"
7005                iso="CH"
7006            >
7007                Schweiz
7008            </option>
7009                    <option
7010                                value="6d5aaf85527146c989f08e51e1470bc2"
7011                iso="SK"
7012            >
7013                Slowakische Republik
7014            </option>
7015                    <option
7016                                value="f34ca5ca12624b89b238f08710060c27"
7017                iso="ES"
7018            >
7019                Spanien
7020            </option>
7021                    <option
7022                                value="496911aae00043b0b43ade76ed027b1c"
7023                iso="CZ"
7024            >
7025                Tschechien
7026            </option>
7027            </select>
7028
7029        <input
7030        type="text"
7031        id="shippingAddressAddressStreet"
7032        class="pickware-dhl-post-office-street"
7033        name="shippingAddress[street]"
7034        value=""
7035        required="required"
7036    >
7037
7038</div>
7039            </div>
7040        </div>
7041
7042        <div class="pickware-dhl-paketshop-address-form-container">
7043            <div class="pickware-dhl-paketshop-address-form">
7044                
7045
7046
7047
7048
7049
7050
7051<div class="row g-2">
7052    <div class="form-group col-md-3 col-6">
7053                <!-- Custom Field: Packstationsnummer/Postfilialnummer -->
7054    <label
7055        class="form-label"
7056        for="650735035"
7057    >
7058        Paketshopnummer*
7059    </label>
7060
7061    <input
7062        type="text"
7063        id="650735035"
7064        class="form-control pickware-dhl-paketshop-number"
7065        placeholder="Paketshopnummer eingeben..."
7066        value=""
7067        required="required"
7068    >
7069
7070    </div>
7071
7072    <div class="form-group col-md-3 col-6">
7073            <!-- AdditionalAddressLine1 = Postnummer -->
7074    <label
7075        class="form-label"
7076        for="shippingAddressAdditionalAddressLine1"
7077    >
7078        Postnummer *    </label>
7079
7080    <input
7081        id="shippingAddressAdditionalAddressLine1"
7082        type="text"
7083        class="form-control"
7084        name="shippingAddress[additionalAddressLine1]"
7085        placeholder="Postnummer eingeben..."
7086        value=""
7087        required="required"    >
7088
7089    </div>
7090
7091    <div class="form-group col-md-2 col-4">
7092                        
7093    <label
7094        class="form-label"
7095        for="shippingAddressAddressZipcode"
7096    >
7097        PLZ*
7098    </label>
7099
7100    <input
7101           type="text"
7102           id="shippingAddressAddressZipcode"
7103           class="form-control pickware-dhl-paketshop-zipcode"
7104           placeholder="PLZ eingeben ..."
7105           name="shippingAddress[zipcode]"
7106           value=""
7107           required="required"
7108    >
7109
7110    
7111    </div>
7112
7113    <div class="form-group col-md-4 col-8">
7114                        
7115    <label
7116        class="form-label"
7117        for="shippingAddressAddressCity"
7118    >
7119        Ort*
7120    </label>
7121
7122    <input
7123        type="text"
7124        id="shippingAddressAddressCity"
7125        class="form-control pickware-dhl-paketshop-city  "
7126        placeholder="Ort eingeben ..."
7127        name="shippingAddress[city]"
7128        value=""
7129        required="required"
7130    >
7131
7132    
7133    </div>
7134</div>
7135
7136<div class="row g-2">
7137                                                            
7138    
7139                
7140    
7141                
7142    
7143    
7144        
7145    
7146    
7147    <div class="form-group col-md-6">
7148                                    <label class="form-label" for="shippingAddressAddressPhoneNumber">
7149                    Telefonnummer
7150
7151                                    </label>
7152                    
7153        	            
7154            
7155            
7156            <input type="text"
7157                   class="form-control"
7158                   id="shippingAddressAddressPhoneNumber"
7159                   name="shippingAddress[phoneNumber]"
7160                   aria-describedby="shippingAddressAddressPhoneNumber-feedback"
7161                                                         autocomplete="shipping tel"                                                                                                                  >
7162        
7163
7164	
7165                            
7166                    <div id="shippingAddressAddressPhoneNumber-feedback" class="form-field-feedback">
7167                                                                </div>
7168            </div>
7169
7170                                
7171                                
7172</div>
7173
7174<!-- Hidden form fields -->
7175<div class="d-none">
7176        <select
7177        id="shippingAddressAddressCountry"
7178        class="pickware-dhl-paketshop-country"
7179        name="shippingAddress[countryId]"
7180        required="required"
7181    >
7182                    <option
7183                                value="72bfb449ab0040299ccc5b6eefd129f3"
7184                iso="DE"
7185            >
7186                Deutschland
7187            </option>
7188                    <option
7189                                value="d7f11893dbf04dfab5077ba37372bf9b"
7190                iso="BE"
7191            >
7192                Belgien
7193            </option>
7194                    <option
7195                                value="cf71a64ab9dc46f99ce43ce7c39e6212"
7196                iso="HR"
7197            >
7198                Kroatien
7199            </option>
7200                    <option
7201                                value="46b0f19244b34817ae2d53c270a2fd1d"
7202                iso="DK"
7203            >
7204                Dänemark
7205            </option>
7206                    <option
7207                                value="c02be3c2bc5f44b69f593a3425607ec1"
7208                iso="FR"
7209            >
7210                Frankreich
7211            </option>
7212                    <option
7213                                value="23d58066c66c4baa9360d0eebc3d80a8"
7214                iso="GR"
7215            >
7216                Griechenland
7217            </option>
7218                    <option
7219                                value="86c7b16517e542189d0ffe3bbe45704a"
7220                iso="IE"
7221            >
7222                Irland
7223            </option>
7224                    <option
7225                                value="61bb466b8d6242b38e37bea2f7ccd29c"
7226                iso="IT"
7227            >
7228                Italien
7229            </option>
7230                    <option
7231                                value="6a9d58d7dc334389a5cf1c8d7c93d37a"
7232                iso="LU"
7233            >
7234                Luxemburg
7235            </option>
7236                    <option
7237                                value="d88c313641d940b9b1de35e2a5cb7cc3"
7238                iso="NL"
7239            >
7240                Niederlande
7241            </option>
7242                    <option
7243                                value="91735f460164480fbf281fa9690fcba3"
7244                iso="AT"
7245            >
7246                Österreich
7247            </option>
7248                    <option
7249                                value="a1fc18919bb04a58aa814e5ca6054196"
7250                iso="PL"
7251            >
7252                Polen
7253            </option>
7254                    <option
7255                                value="5ec76ccacd3d4e3ab4b1bdc042f5ec28"
7256                iso="SE"
7257            >
7258                Schweden
7259            </option>
7260                    <option
7261                                value="fe3311d8c50248f8a7d7076171527ce0"
7262                iso="CH"
7263            >
7264                Schweiz
7265            </option>
7266                    <option
7267                                value="6d5aaf85527146c989f08e51e1470bc2"
7268                iso="SK"
7269            >
7270                Slowakische Republik
7271            </option>
7272                    <option
7273                                value="f34ca5ca12624b89b238f08710060c27"
7274                iso="ES"
7275            >
7276                Spanien
7277            </option>
7278                    <option
7279                                value="496911aae00043b0b43ade76ed027b1c"
7280                iso="CZ"
7281            >
7282                Tschechien
7283            </option>
7284            </select>
7285
7286        <input
7287        type="text"
7288        id="shippingAddressAddressStreet"
7289        class="pickware-dhl-paketshop-street"
7290        name="shippingAddress[street]"
7291        value=""
7292        required="required"
7293    >
7294
7295</div>
7296            </div>
7297        </div>
7298    
7299    </div>
7300                                                                                                                                                </fieldset>
7301                                        
7302
7303        <button type="button"
7304                class="pickware-dhl-location-finder__select-on-map-button btn btn-outline-secondary d-none"
7305                data-bs-toggle="modal"
7306                data-bs-target=".pickware-dhl-location-finder-modal"
7307                title="Auf Karte auswählen">
7308            Auf Karte auswählen
7309        </button>
7310
7311        <div class="modal fade pickware-dhl-location-finder-modal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
7312            <div class="modal-dialog modal-lg" role="document">
7313                <div class="modal-content">
7314                    <div class="modal-header">
7315                        <h5 class="modal-title pickware-dhl-location-finder-modal__title">
7316                            Standortsuche
7317                        </h5>
7318                        <button type="button" class="btn-close close" data-bs-dismiss="modal" aria-label="Close"></button>
7319                    </div>
7320                    <div class="modal-body">
7321                        
7322                        
7323    <div class="card pickware-dhl-dsgvo-confirmation-window d-none">
7324        <img src="https://echt-vital.de/bundles/pickwaredhl/img/location-finder/dummy-map.png?1790936532"
7325             alt="a screenshot of google maps acting as a placeholder"/>
7326        <div class ="pickware-dhl-dsgvo-question-overlay">
7327            <p>
7328                Mit Klick auf “Karte aktivieren” stimmen Sie der Datenfreigabe an Google Maps zu. Weitere Informationen finden Sie in unserer 
7329                <a
7330                        data-toggle="modal"
7331                        data-bs-toggle="modal"
7332                        data-url="/widgets/cms/29fa963cc096457f9a5191aee1f87616"
7333                        href="/widgets/cms/29fa963cc096457f9a5191aee1f87616"
7334                        target="_blank"
7335                        rel="noopener noreferrer"
7336                >
7337                    Datenschutzerklärung
7338                </a>.
7339            </p>
7340            <button class ="d-flex btn btn-primary col pickware-dhl-dsgvo-confirmation-window__accept-button">
7341                Karte aktivieren
7342            </button>
7343        </div>
7344    </div>
7345    <div
7346        class="pickware-dhl-location-finder d-none"
7347        data-google-maps-api-key=""
7348        data-google-maps-zoom-threshold="15"
7349    >
7350        <div class="card">
7351            
7352            <div class="card-body">
7353                <div
7354                    data-action="/pickware-dhl/location-finder/locations"
7355                    class="pickware-dhl-location-finder-form"
7356                >
7357                    <div class="pickware-dhl-location-finder-form__actions d-flex flex-row align-items-end">
7358                        <div>
7359                            <label
7360                                class="form-label"
7361                                for="pickware-dhl-location-finder-form__zipcode-input"
7362                            >
7363                                PLZ*
7364                            </label>
7365
7366                            <input type="text"
7367                                   id="pickware-dhl-location-finder-form__zipcode-input"
7368                                   class="form-control pickware-dhl-location-finder-form__zipcode-input"
7369                                   placeholder="PLZ eingeben ..."
7370                            >
7371                        </div>
7372
7373                        <div>
7374                            <button type="button"
7375                                    class="d-flex pickware-dhl-location-finder-form__submit-button btn btn-primary col"
7376                                    title="Suchen">
7377                                <span class="align-self-center spinner-border pickware-dhl-location-finder-form__loading-spinner d-none"></span>
7378                                Suchen
7379                            </button>
7380                        </div>
7381                    </div>
7382                </div>
7383
7384                <div class="pickware-dhl-location-finder__map"></div>
7385
7386                <button type="button" class="pickware-dhl-location-finder__pan-to-location-button">
7387                    Aktuellen Standort anzeigen
7388                </button>
7389
7390                <div class="pickware-dhl-location-finder-map-icons d-none"
7391                     data-packstation="https://echt-vital.de/bundles/pickwaredhl/img/location-finder/icon-packstation.png?1790936532"
7392                     data-post-office="https://echt-vital.de/bundles/pickwaredhl/img/location-finder/icon-post-office.png?1790936532"
7393                     data-paketshop="https://echt-vital.de/bundles/pickwaredhl/img/location-finder/icon-paketshop.png?1790936532"
7394                     data-packstation-selected="https://echt-vital.de/bundles/pickwaredhl/img/location-finder/icon-packstation-red.png?1790936532"
7395                     data-post-office-selected="https://echt-vital.de/bundles/pickwaredhl/img/location-finder/icon-post-office-red.png?1790936532"
7396                     data-paketshop-selected="https://echt-vital.de/bundles/pickwaredhl/img/location-finder/icon-paketshop-red.png?1790936532"
7397                >
7398                </div>
7399
7400                <div class="pickware-dhl-location-finder-map-errors d-none">
7401                    <span class="pickware-dhl-location-finder-map-errors__geolocation-failed">Der Service für die Standortsuche ist fehlgeschlagen!</span>
7402                    <span class="pickware-dhl-location-finder-map-errors__no-browser-geolocation">Dieser Browser unterstützt die Standortsuche nicht!</span>
7403                </div>
7404
7405                
7405<script class="pickware-dhl-location-finder-info-popup-template" type="text/template">
7406                    <div class="pickware-dhl-location-finder-info-popup" tabindex="0">
7407                        <h4 class="pickware-dhl-location-finder-info-popup__title">${title}</h4>
7408
7409                        <address class="pickware-dhl-location-finder-info-popup__address" tabindex="0">${address}</address>
7410
7411                        <div class="pickware-dhl-location-finder-info-popup-icons" tabindex="0">
7412                            <img class="icon pickware-dhl-location-finder-info-popup-icons__packstation" src="https://echt-vital.de/bundles/pickwaredhl/img/location-finder/icon-packstation-red.png?1790936532" title="" alt="DHL Packstation icon"/>
7413                            <img class="icon pickware-dhl-location-finder-info-popup-icons__post-office" src="https://echt-vital.de/bundles/pickwaredhl/img/location-finder/icon-post-office-red.png?1790936532" title="" alt="DHL Post Office icon"/>
7414                            <img class="icon pickware-dhl-location-finder-info-popup-icons__paketshop" src="https://echt-vital.de/bundles/pickwaredhl/img/location-finder/icon-paketshop-red.png?1790936532" title="" alt="DHL Paketshop icon"/>
7415                            <img class="icon pickware-dhl-location-finder-info-popup-icons__wheelchair" src="https://echt-vital.de/bundles/pickwaredhl/img/location-finder/icon-wheelchair.png?1790936532" title="" alt="Wheelchair accessibility icon"/>
7416                            <img class="icon pickware-dhl-location-finder-info-popup-icons__parking" src="https://echt-vital.de/bundles/pickwaredhl/img/location-finder/icon-parking.png?1790936532" title="" alt="Parking available icon"/>
7417                        </div>
7418
7419                        <h5 class="pickware-dhl-location-finder-info-popup-opening-hours__title" tabindex="0">Öffnungszeiten</h5>
7420                        <ul class="pickware-dhl-location-finder-info-popup-opening-hours__content" tabindex="0">
7421                            <li>Montag: <span class="pickware-dhl-location-finder-info-popup-opening-hours__day" data-value="monday">Geschlossen</span></li>
7422                            <li>Dienstag: <span class="pickware-dhl-location-finder-info-popup-opening-hours__day" data-value="tuesday">Geschlossen</span></li>
7423                            <li>Mittwoch: <span class="pickware-dhl-location-finder-info-popup-opening-hours__day" data-value="wednesday">Geschlossen</span></li>
7424                            <li>Donnerstag: <span class="pickware-dhl-location-finder-info-popup-opening-hours__day" data-value="thursday">Geschlossen</span></li>
7425                            <li>Freitag: <span class="pickware-dhl-location-finder-info-popup-opening-hours__day" data-value="friday">Geschlossen</span></li>
7426                            <li>Samstag: <span class="pickware-dhl-location-finder-info-popup-opening-hours__day" data-value="saturday">Geschlossen</span></li>
7427                            <li>Sonntag: <span class="pickware-dhl-location-finder-info-popup-opening-hours__day" data-value="sunday">Geschlossen</span></li>
7428                        </ul>
7429
7430                        <button type="button" class="pickware-dhl-location-finder-info-popup-submit-button btn btn-secondary">
7431                            <span class="pickware-dhl-location-finder-info-popup-submit-button__select-message">Auswählen</span>
7432                            <span class="pickware-dhl-location-finder-info-popup-submit-button__selected-message">Ausgewählt</span>
7433                        </button>
7434                    </div>
7435                </script>
7435
7436            </div>
7437        </div>
7438    </div>
7439                    </div>
7440                </div>
7441            </div>
7442        </div>
7443    </div>
7444                                    </div>
7445                                                                                    </div>
7446                    
7447                                                            
7448    
7449                                            <div class="shopware_surname_confirm">
7450                    <input type="text"
7451                   name="shopware_surname_confirm"
7452                   class="d-none"
7453                   value=""
7454                   tabindex="-1"
7455                   autocapitalize="off"
7456                   spellcheck="false"
7457                   autocorrect="off"
7458                                      autocomplete="new-password"
7459            >
7460            </div>
7461                                                                                                                
7462    <div class="captcha-google-re-captcha-v3"
7463         data-google-re-captcha-v3="true"
7464         data-google-re-captcha-v3-options="{&quot;siteKey&quot;:&quot;6Lc8vdgrAAAAAOYICxJR1cDWZnhzqvD3GzHG0JFK&quot;}">
7465        <input
7466            type="text"
7467            class="d-none grecaptcha_v3-input"
7468            name="_grecaptcha_v3"
7469            data-validation="grecaptcha,required"
7470            data-validate-hidden="true"
7471            aria-describedby="grecaptcha-feedback-container">
7472
7473        <div class="data-protection-information grecaptcha-protection-information">
7474            Diese Seite ist durch reCAPTCHA geschützt und es gelten die <a href="https://policies.google.com/privacy?hl=de">Datenschutzrichtlinie</a> und <a href="https://policies.google.com/terms?hl=de">Nutzungsbedingungen</a>.
7475        </div>
7476
7477        <div id="grecaptcha-feedback-container" class="form-field-feedback"></div>
7478    </div>
7479                                            
7480                                                <fieldset class="form-text privacy-notice">
7481                    <legend class="form-text privacy-notice-title">
7482                <strong>Datenschutz</strong>
7483            </legend>
7484            <br>
7485        
7486                                                            <div class="data-protection-information">
7487                                            <div>
7488                            Ich habe die <button type="button" class="btn btn-link-inline" data-ajax-modal="true" data-url="/widgets/cms/29fa963cc096457f9a5191aee1f87616">Datenschutzbestimmungen</button> zur Kenntnis genommen und die <button type="button" class="btn btn-link-inline" data-ajax-modal="true" data-url="/widgets/cms/ea940a703b95439e8514c99399c460ee">AGB</button> gelesen und bin mit ihnen einverstanden.
7489                        </div>
7490                                    </div>
7491                        </fieldset>
7492                    
7493                                            <p class="register-required-info">
7494                            Die mit einem Stern (*) markierten Felder sind Pflichtfelder.
7495                        </p>
7496                    
7497                                                        <div class="register-submit d-grid col-md-6 offset-md-6">
7498                            <button type="submit"
7499                                    class="btn btn-primary btn-lg">
7500                                Weiter
7501                            </button>
7502                        </div>
7503                    
7504                    </form>
7505            
7506            </div>
7507    </div>
7508                        </div>
7509                    
7510                    </div>
7511            
7512        </div>
7513    
7514                                </div>
7515                                            </div>
7516                            </main>
7517        
7518
7519    
7520                                            
7521        
7522                            
7523        
7524        
7525            
7526                    
7527                                
7528    <div class="rhweb-newsletter footer-above">
7529        <div class="container">
7530                            <div class="rhweb-newsletter-info">
7531                    <div class="h3 newsletter-headline">Newsletter</div>
7532                    <p> Sparen Sie 10 % bei Ihrer Bestellung! Melden Sie sich für unseren Newsletter an, um keine Neuheiten und Angebote zu verpassen.</p>
7533                </div>
7534                        <div class="cms-block cms-block-form">
7535                <div class="cms-element-form">
7536                            <form action="/form/newsletter"
7537          method="post"
7538          data-form-handler="true"
7539          id="cms-form-newsletter"
7540          aria-label="Newsletter abonnieren">
7541
7542        <div class="form-content">
7543            <div class="row g-2">
7544                            </div>
7545
7546            <div class="row g-2">
7547                    <div class="rhweb-newsletter-input-container">
7548        <div class="rhweb-newsletter-input-container-inner">
7549                                    
7550                
7551                
7552    
7553    
7554    
7555    
7556        
7557    
7558    
7559    <div class="form-group col-12">
7560                                    <label class="form-label" for="cms-form-newsletter-form-email">
7561                    E-Mail-Adresse
7562
7563                                            <span class="form-required-label" aria-hidden="true">*</span>
7564                                    </label>
7565                    
7566        	            
7567            
7568            
7569            <input type="email"
7570                   class="form-control"
7571                   id="cms-form-newsletter-form-email"
7572                   name="email"
7573                   aria-describedby="cms-form-newsletter-form-email-feedback"
7574                                      placeholder="E-Mail-Adresse eingeben ..."                   autocomplete="email"                                                         data-validation="required,email"                   aria-required="true"                                      >
7575        
7576
7577	
7578                            
7579                    <div id="cms-form-newsletter-form-email-feedback" class="form-field-feedback">
7580                                                                </div>
7581            </div>
7582                
7583
7584                            <button type="submit" class="btn">
7585                                
7586                    
7587                    <span class="icon icon-arrow-right" aria-hidden="true">
7588                                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path d="M 12.96875 4.28125 L 11.53125 5.71875 L 21.8125 16 L 11.53125 26.28125 L 12.96875 27.71875 L 23.96875 16.71875 L 24.65625 16 L 23.96875 15.28125 Z"/></svg>
7589                    </span>
7590                            </button>
7591                    </div>
7592    </div>
7593            </div>
7594
7595            
7596                <div class="rhweb-newsletter-captcha">
7597                                        
7598    
7599                                            <div class="shopware_surname_confirm">
7600                    <input type="text"
7601                   name="shopware_surname_confirm"
7602                   class="d-none"
7603                   value=""
7604                   tabindex="-1"
7605                   autocapitalize="off"
7606                   spellcheck="false"
7607                   autocorrect="off"
7608                                      autocomplete="new-password"
7609            >
7610            </div>
7611                                                                                                                
7612    <div class="captcha-google-re-captcha-v3"
7613         data-google-re-captcha-v3="true"
7614         data-google-re-captcha-v3-options="{&quot;siteKey&quot;:&quot;6Lc8vdgrAAAAAOYICxJR1cDWZnhzqvD3GzHG0JFK&quot;}">
7615        <input
7616            type="text"
7617            class="d-none grecaptcha_v3-input"
7618            name="_grecaptcha_v3"
7619            data-validation="grecaptcha,required"
7620            data-validate-hidden="true"
7621            aria-describedby="grecaptcha-feedback-container">
7622
7623        <div class="data-protection-information grecaptcha-protection-information">
7624            Diese Seite ist durch reCAPTCHA geschützt und es gelten die <a href="https://policies.google.com/privacy?hl=de">Datenschutzrichtlinie</a> und <a href="https://policies.google.com/terms?hl=de">Nutzungsbedingungen</a>.
7625        </div>
7626
7627        <div id="grecaptcha-feedback-container" class="form-field-feedback"></div>
7628    </div>
7629                                    
7630    </div>
7631
7632                <div class="rhweb-newsletter-privacy">
7633                            <fieldset class="form-text privacy-notice">
7634                    <legend class="form-text privacy-notice-title">
7635                <strong>Datenschutz</strong>
7636            </legend>
7637            <br>
7638        
7639                                                            <div class="data-protection-information">
7640                                            <div>
7641                            Ich habe die <button type="button" class="btn btn-link-inline" data-ajax-modal="true" data-url="/widgets/cms/29fa963cc096457f9a5191aee1f87616">Datenschutzbestimmungen</button> zur Kenntnis genommen und die <button type="button" class="btn btn-link-inline" data-ajax-modal="true" data-url="/widgets/cms/ea940a703b95439e8514c99399c460ee">AGB</button> gelesen und bin mit ihnen einverstanden.
7642                        </div>
7643                                    </div>
7644                        </fieldset>
7645            
7646    </div>
7647
7648            
7649                    </div>
7650
7651                        <div class="form-hidden-fields">
7652                <input type="submit" class="submit--hidden d-none">
7653            </div>
7654        
7655
7656            <div class="rhweb-form-hidden-fields-addition">
7657            <input type="hidden" name="option" value="subscribe">
7658        </div>
7659        </form>
7660
7661                </div>
7662            </div>
7663        </div>
7664    </div>
7665            
7666                    <footer class="footer-main">
7667                            <div class="container">
7668                        <div
7669                id="footerColumns"
7670                class="row footer-columns"
7671                data-collapse-footer-columns="true"
7672                role="list"
7673            >
7674                
7675                        <div class="col-12">
7676        <div class="ev-footer-usp">
7677            <span>
7678                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="15" height="15" aria-hidden="true"><path d="M8 1.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13zm3.1 4.6-3.6 4.4a.75.75 0 0 1-1.14.03L4.9 8.9a.75.75 0 1 1 1.1-1.02l.9 1 3.05-3.73a.75.75 0 1 1 1.16.95z" fill="#3B6B4A"/></svg>
7679                Versandkostenfrei ab 75&nbsp;&euro;
7680            </span>
7681            <span>
7682                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="15" height="15" aria-hidden="true"><path d="M8 1.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13zm3.1 4.6-3.6 4.4a.75.75 0 0 1-1.14.03L4.9 8.9a.75.75 0 1 1 1.1-1.02l.9 1 3.05-3.73a.75.75 0 1 1 1.16.95z" fill="#3B6B4A"/></svg>
7683                100 Tage Geld-zur&uuml;ck-Garantie
7684            </span>
7685            <span>
7686                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="15" height="15" aria-hidden="true"><path d="M8 1.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13zm3.1 4.6-3.6 4.4a.75.75 0 0 1-1.14.03L4.9 8.9a.75.75 0 1 1 1.1-1.02l.9 1 3.05-3.73a.75.75 0 1 1 1.16.95z" fill="#3B6B4A"/></svg>
7687                Trusted Shops &raquo;Hervorragend&laquo; (4,9/5)
7688            </span>
7689        </div>
7690    </div>
7691
7692        <div class="col-md-3 footer-column js-footer-column">
7693        <div class="footer-column-headline footer-headline js-footer-column-headline" id="collapseFooterEvTitle1" role="listitem">
7694            Einkaufen
7695            <button class="footer-column-toggle btn btn-link btn-link-inline js-collapse-footer-column-trigger"
7696                    data-bs-target="#collapseFooterEv1" data-bs-toggle="collapse"
7697                    aria-controls="collapseFooterEv1" aria-labelledby="collapseFooterEvTitle1" aria-expanded="true">
7698                            
7699            <span class="icon icon-plus icon-footer-plus" aria-hidden="true">
7700                                        <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24"><defs><path d="M11 11V3c0-.5523.4477-1 1-1s1 .4477 1 1v8h8c.5523 0 1 .4477 1 1s-.4477 1-1 1h-8v8c0 .5523-.4477 1-1 1s-1-.4477-1-1v-8H3c-.5523 0-1-.4477-1-1s.4477-1 1-1h8z" id="icons-default-plus" /></defs><use xlink:href="#icons-default-plus" fill="#758CA3" fill-rule="evenodd" /></svg>
7701                    </span>
7702                                
7703            <span class="icon icon-minus icon-footer-minus" aria-hidden="true">
7704                                        <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24"><defs><path id="icons-default-minus" d="M3 13h18c.5523 0 1-.4477 1-1s-.4477-1-1-1H3c-.5523 0-1 .4477-1 1s.4477 1 1 1z" /></defs><use xlink:href="#icons-default-minus" fill="#758CA3" fill-rule="evenodd" /></svg>
7705                    </span>
7706                </button>
7707        </div>
7708        <div id="collapseFooterEv1" class="footer-column-content collapse js-footer-column-content" aria-labelledby="collapseFooterEvTitle1" role="listitem">
7709            <div class="footer-column-content-inner">
7710                <ul class="list-unstyled">
7711                    <li class="footer-link-item"><a class="footer-link" href="/mitdenker/themen/bestseller" title="Bestseller">Bestseller</a></li>
7712                    <li class="footer-link-item"><a class="footer-link" href="/aktionen" title="Aktuelle Aktion">Aktuelle Aktion</a></li>
7713                                                            <li class="footer-link-item"><a class="footer-link" href="/mitdenker/produkte" title="Alle Produkte &amp; Sparsets">Alle Produkte &amp; Sparsets</a></li>
7714                    <li class="footer-link-item"><a class="footer-link" href="/mitdenker/themen" title="Themenwelten">Themenwelten</a></li>
7715                </ul>
7716            </div>
7717        </div>
7718    </div>
7719
7720        <div class="col-md-3 footer-column js-footer-column">
7721        <div class="footer-column-headline footer-headline js-footer-column-headline" id="collapseFooterEvTitle2" role="listitem">
7722            Wissen &amp; Mitdenken
7723            <button class="footer-column-toggle btn btn-link btn-link-inline js-collapse-footer-column-trigger"
7724                    data-bs-target="#collapseFooterEv2" data-bs-toggle="collapse"
7725                    aria-controls="collapseFooterEv2" aria-labelledby="collapseFooterEvTitle2" aria-expanded="true">
7726                            
7727            <span class="icon icon-plus icon-footer-plus" aria-hidden="true">
7728                                        <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24"><use xlink:href="#icons-default-plus" fill="#758CA3" fill-rule="evenodd" /></svg>
7729                    </span>
7730                                
7731            <span class="icon icon-minus icon-footer-minus" aria-hidden="true">
7732                                        <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24"><use xlink:href="#icons-default-minus" fill="#758CA3" fill-rule="evenodd" /></svg>
7733                    </span>
7734                </button>
7735        </div>
7736        <div id="collapseFooterEv2" class="footer-column-content collapse js-footer-column-content" aria-labelledby="collapseFooterEvTitle2" role="listitem">
7737            <div class="footer-column-content-inner">
7738                <ul class="list-unstyled">
7739                    <li class="footer-link-item"><a class="footer-link" href="/blog" title="Mitdenker-Blog">Mitdenker-Blog</a></li>
7740                    <li class="footer-link-item"><a class="footer-link" href="/mitdenker/bibliothek" title="eBook-Bibliothek">eBook-Bibliothek</a></li>
7741                    <li class="footer-link-item"><a class="footer-link" href="/newsletter" title="Newsletter-Anmeldung - Der Mitdenker-Brief">Newsletter-Anmeldung</a></li>
7742                    <li class="footer-link-item"><a class="footer-link" href="/informationen/mitdenker-werben-mitdenker/" title="Mitdenker werben Mitdenker">Mitdenker werben Mitdenker</a></li>
7743                </ul>
7744            </div>
7745        </div>
7746    </div>
7747
7748        <div class="col-md-3 footer-column js-footer-column">
7749        <div class="footer-column-headline footer-headline js-footer-column-headline" id="collapseFooterEvTitle3" role="listitem">
7750            Hilfe &amp; Service
7751            <button class="footer-column-toggle btn btn-link btn-link-inline js-collapse-footer-column-trigger"
7752                    data-bs-target="#collapseFooterEv3" data-bs-toggle="collapse"
7753                    aria-controls="collapseFooterEv3" aria-labelledby="collapseFooterEvTitle3" aria-expanded="true">
7754                            
7755            <span class="icon icon-plus icon-footer-plus" aria-hidden="true">
7756                                        <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24"><use xlink:href="#icons-default-plus" fill="#758CA3" fill-rule="evenodd" /></svg>
7757                    </span>
7758                                
7759            <span class="icon icon-minus icon-footer-minus" aria-hidden="true">
7760                                        <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24"><use xlink:href="#icons-default-minus" fill="#758CA3" fill-rule="evenodd" /></svg>
7761                    </span>
7762                </button>
7763        </div>
7764        <div id="collapseFooterEv3" class="footer-column-content collapse js-footer-column-content" aria-labelledby="collapseFooterEvTitle3" role="listitem">
7765            <div class="footer-column-content-inner">
7766                <ul class="list-unstyled">
7767                    <li class="footer-link-item"><a class="footer-link" href="/shop-service/kontaktformular/" title="Kontakt">Kontakt</a></li>
7768                    <li class="footer-link-item"><a class="footer-link" href="/shop-service/zahlung-versand/" title="Zahlung &amp; Versand">Zahlung &amp; Versand</a></li>
7769                    <li class="footer-link-item"><a class="footer-link" href="/100-tage-garantie" title="100 Tage Geld-zur&uuml;ck-Garantie">100 Tage Geld-zur&uuml;ck-Garantie</a></li>
7770                    <li class="footer-link-item"><a class="footer-link" href="/shop-service/widerrufsrecht/" title="Widerrufsrecht">Widerrufsrecht</a></li>
7771                </ul>
7772            </div>
7773        </div>
7774    </div>
7775
7776        <div class="col-md-3 footer-column js-footer-column">
7777        <div class="footer-column-headline footer-headline js-footer-column-headline" id="collapseFooterEvTitle4" role="listitem">
7778            Echt Vital
7779            <button class="footer-column-toggle btn btn-link btn-link-inline js-collapse-footer-column-trigger"
7780                    data-bs-target="#collapseFooterEv4" data-bs-toggle="collapse"
7781                    aria-controls="collapseFooterEv4" aria-labelledby="collapseFooterEvTitle4" aria-expanded="true">
7782                            
7783            <span class="icon icon-plus icon-footer-plus" aria-hidden="true">
7784                                        <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24"><use xlink:href="#icons-default-plus" fill="#758CA3" fill-rule="evenodd" /></svg>
7785                    </span>
7786                                
7787            <span class="icon icon-minus icon-footer-minus" aria-hidden="true">
7788                                        <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24"><use xlink:href="#icons-default-minus" fill="#758CA3" fill-rule="evenodd" /></svg>
7789                    </span>
7790                </button>
7791        </div>
7792        <div id="collapseFooterEv4" class="footer-column-content collapse js-footer-column-content" aria-labelledby="collapseFooterEvTitle4" role="listitem">
7793            <div class="footer-column-content-inner">
7794                <ul class="list-unstyled">
7795                    <li class="footer-link-item"><a class="footer-link" href="/ueber-uns" title="Unser Manifest">Unser Manifest</a></li>
7796                    <li class="footer-link-item"><a class="footer-link" href="/bio-zertifizierung/" title="Bio-Zertifizierung">Bio-Zertifizierung</a></li>
7797                    <li class="footer-link-item"><a class="footer-link" href="https://www.trustedshops.de/bewertung/info_XC7DD5FD247350BDB2715FB9DB269C030.html" target="_blank" rel="noopener" title="Kundenbewertungen bei Trusted Shops">Kundenbewertungen</a></li>
7798                    <li class="footer-link-item"><a class="footer-link" href="/haendler-shop" title="H&auml;ndler Shop">H&auml;ndler Shop</a></li>
7799                    <li class="footer-link-item"><a class="footer-link" href="/ratgeber/heilpraktiker-apotheken-aerzte/" title="Heilpraktiker, Apotheken &amp; &Auml;rzte">Heilpraktiker &amp; Apotheken</a></li>
7800                    <li class="footer-link-item"><a class="footer-link" href="/informationen/karriere/" title="Karriere">Karriere</a></li>
7801                </ul>
7802            </div>
7803        </div>
7804    </div>
7805            </div>
7806        
7807
7808    
7809            </div>
7810
7811    <div class="footer-bottom ev-footer-bottom">
7812
7813            <div class="ev-footer-brand">
7814                <div class="header-logo-main text-center">
7815                    <a class="header-logo-main-link"
7816               href="/"
7817               title="Zur Startseite gehen">
7818                    
7819                    
7820                                    <picture class="header-logo-picture d-block m-auto">
7821                                                                            
7822                                                                            
7823                                                                                    <img src="https://echtvital.cstatic.com/media/7f/d3/88/1679934207/ev-logo.webp?ts=1679934207"
7824                                     alt="Zur Startseite gehen"
7825                                     class="img-fluid header-logo-main-img">
7826                                                                        </picture>
7827                
7828                </a>
7829            </div>
7830        </div>
7831    
7832            <div class="ev-paybadges" role="group" aria-label="Akzeptierte Zahlungsarten">
7833        <span class="ev-paybadge" role="img" aria-label="PayPal" title="PayPal">
7834            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 34 24" width="34" height="24" aria-hidden="true" focusable="false">
7835                <g transform="matrix(.28902 0 0 .28903 9.5087 4.8629)">
7836                    <path d="m38.914 13.35c0 5.574-5.144 12.15-12.927 12.15h-7.497l-0.368 2.322-1.749 11.178h-9.317l5.605-36h15.095c5.083 0 9.082 2.833 10.555 6.77a9.687 9.687 0 0 1 0.603 3.58z" fill="#002991"/>
7837                    <path d="m44.284 23.7a12.894 12.894 0 0 1-12.754 10.8h-5.206l-2.167 13.5h-9.267l1.483-9 1.75-11.178 0.367-2.322h7.497c7.773 0 12.927-6.576 12.927-12.15 3.825 1.974 6.055 5.963 5.37 10.35z" fill="#60cdff"/>
7838                    <path d="m38.914 13.35c-1.604-0.839-3.549-1.35-5.666-1.35h-12.64l-2.118 13.5h7.497c7.773 0 12.927-6.576 12.927-12.15z" fill="#008cff"/>
7839                </g>
7840            </svg>
7841        </span>
7842        <span class="ev-paybadge" role="img" aria-label="Visa" title="Visa">
7843            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 34 24" width="39" height="27.5" aria-hidden="true" focusable="false">
7844                <path d="m10.75 15.858h-2.0598l-1.5446-6.0658c-0.07331-0.27903-0.22897-0.52571-0.45794-0.64197-0.57143-0.29217-1.2011-0.5247-1.888-0.64197v-0.23354h3.3181c0.45794 0 0.8014 0.35081 0.85864 0.75823l0.8014 4.3755 2.0588-5.1337h2.0025zm4.2339 0h-1.9452l1.6018-7.5833h1.9452zm4.1185-5.4825c0.0572-0.40845 0.4007-0.64198 0.8014-0.64198 0.6297-0.05864 1.3156 0.05863 1.888 0.34978l0.3435-1.6327c-0.5725-0.23354-1.2021-0.35081-1.7735-0.35081-1.8881 0-3.2619 1.0504-3.2619 2.5082 0 1.1091 0.9731 1.6914 1.6601 2.0422 0.7431 0.3498 1.0293 0.5833 0.9721 0.9331 0 0.5247-0.5725 0.7583-1.1439 0.7583-0.6869 0-1.3738-0.1749-2.0025-0.4671l-0.3434 1.6337c0.6869 0.2912 1.43 0.4085 2.117 0.4085 2.1169 0.0576 3.4325-0.9918 3.4325-2.5669 0-1.9836-2.6894-2.0998-2.6894-2.9743zm9.4973 5.4825-1.5445-7.5833h-1.6591c-0.3434 0-0.6869 0.23354-0.8014 0.58334l-2.8601 7h2.0025l0.3997-1.108h2.4604l0.229 1.108zm-2.9174-5.5411 0.5715 2.858h-1.6018z" clip-rule="evenodd" fill="#172b85" fill-rule="evenodd"/>
7845            </svg>
7846        </span>
7847        <span class="ev-paybadge" role="img" aria-label="Mastercard" title="Mastercard">
7848            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 34 24" width="34" height="24" aria-hidden="true" focusable="false">
7849                <g clip-rule="evenodd" fill-rule="evenodd">
7850                    <path d="m17.179 16.829c-1.1841 0.9981-2.72 1.6006-4.3983 1.6006-3.7449 0-6.7807-2.9997-6.7807-6.7 0-3.7003 3.0358-6.7 6.7807-6.7 1.6783 0 3.2142 0.6025 4.3983 1.6005 1.184-0.99804 2.7199-1.6005 4.3983-1.6005 3.7448 0 6.7807 2.9997 6.7807 6.7 0 3.7003-3.0359 6.7-6.7807 6.7-1.6784 0-3.2143-0.6025-4.3983-1.6006z" fill="#ed0006"/>
7851                    <path d="m17.179 16.829c1.4579-1.2289 2.3824-3.0575 2.3824-5.0994 0-2.042-0.9245-3.8706-2.3824-5.0995 1.1841-0.99804 2.72-1.6005 4.3983-1.6005 3.7449 0 6.7807 2.9997 6.7807 6.7 0 3.7003-3.0358 6.7-6.7807 6.7-1.6783 0-3.2142-0.6025-4.3983-1.6006z" fill="#f9a000"/>
7852                    <path d="m17.179 16.829c1.4579-1.2289 2.3823-3.0575 2.3823-5.0994 0-2.042-0.9244-3.8705-2.3823-5.0994-1.458 1.2289-2.3824 3.0575-2.3824 5.0994 0 2.0419 0.9244 3.8705 2.3824 5.0994z" fill="#ff5e00"/>
7853                </g>
7854            </svg>
7855        </span>
7856        <span class="ev-paybadge" role="img" aria-label="Klarna" title="Klarna">
7857            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64.92 36.19" width="48" height="26.8" aria-hidden="true" focusable="false">
7858                <path fill="#0a0b09" fill-rule="evenodd" d="M54.47,20.56c-.72,0-1.3.59-1.3,1.31s.58,1.31,1.3,1.31,1.3-.59,1.3-1.31-.58-1.31-1.3-1.31h0ZM50.2,19.55c0-.99-.84-1.79-1.87-1.79s-1.87.8-1.87,1.79.84,1.79,1.87,1.79,1.87-.8,1.87-1.79ZM50.21,16.07h2.07v6.96h-2.07v-.45c-.58.4-1.29.64-2.05.64-2.01,0-3.64-1.65-3.64-3.67s1.63-3.67,3.64-3.67c.76,0,1.46.24,2.05.64v-.45h0ZM33.67,16.98v-.91h-2.12v6.96h2.12v-3.25c0-1.1,1.18-1.69,2-1.69,0,0,.02,0,.02,0v-2.03c-.84,0-1.61.36-2.02.91h0ZM28.4,19.55c0-.99-.84-1.79-1.87-1.79s-1.87.8-1.87,1.79.84,1.79,1.87,1.79,1.87-.8,1.87-1.79ZM28.41,16.07h2.07v6.96h-2.07v-.45c-.58.4-1.29.64-2.05.64-2.01,0-3.64-1.65-3.64-3.67s1.63-3.67,3.64-3.67c.76,0,1.46.24,2.05.64v-.45h0ZM40.85,15.88c-.83,0-1.61.26-2.13.97v-.78h-2.06v6.96h2.08v-3.66c0-1.06.7-1.58,1.55-1.58.91,0,1.43.55,1.43,1.56v3.67h2.06v-4.43c0-1.62-1.28-2.72-2.94-2.72h0ZM19.71,23.03h2.16v-10.07h-2.16v10.07ZM10.21,23.04h2.29v-10.07h-2.29v10.07ZM18.22,12.97c0,2.18-.84,4.21-2.34,5.72l3.17,4.36h-2.83l-3.44-4.73.89-.67c1.47-1.11,2.32-2.81,2.32-4.67h2.24,0Z"/>
7859            </svg>
7860        </span>
7861        <span class="ev-paybadge" role="img" aria-label="SEPA-Lastschrift" title="SEPA-Lastschrift">
7862            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 34 24" width="40" height="28.2" aria-hidden="true" focusable="false">
7863                <path fill-rule="evenodd" clip-rule="evenodd" d="M19.342 12.488H20.4552C20.8082 12.4749 21.0228 12.4469 21.1001 12.4031C21.2056 12.3432 21.2765 12.2235 21.3117 12.0438C21.3342 11.9242 21.3455 11.7464 21.3455 11.5102C21.3455 11.2209 21.3231 11.0064 21.2781 10.8663C21.2139 10.6701 21.0601 10.5506 20.8165 10.5072C20.7683 10.5006 20.653 10.4971 20.4703 10.4971H19.342V12.488ZM17.5564 15.8414V9H20.8831C21.3394 9 21.6876 9.03843 21.9268 9.1152C22.474 9.29199 22.8411 9.65395 23.0291 10.201C23.1262 10.4881 23.1747 10.9203 23.1747 11.4975C23.1747 12.1915 23.1209 12.6902 23.0144 12.9938C22.801 13.5942 22.3618 13.9401 21.6986 14.0297C21.6206 14.0432 21.2887 14.0552 20.703 14.0648L20.4065 14.075H19.342V15.8414H17.5564ZM10.2514 11.1824H8.59024C8.59024 10.9012 8.5582 10.7126 8.49445 10.6166C8.39561 10.4745 8.1227
78635 10.4033 7.67619 10.4033C7.24251 10.4033 6.955 10.4443 6.8147 10.5262C6.67449 10.6083 6.6043 10.787 6.6043 11.0622C6.6043 11.3113 6.66644 11.4753 6.79104 11.5539C6.8803 11.6096 6.99822 11.6424 7.14528 11.6522L7.48028 11.6766C8.19825 11.7258 8.64666 11.7604 8.82551 11.78C9.39329 11.839 9.80491 11.9948 10.0603 12.2471C10.2613 12.4439 10.3811 12.7012 10.4194 13.019C10.4418 13.209 10.4529 13.4241 10.4529 13.663C10.4529 14.2138 10.4019 14.6172 10.2998 14.8728C10.1149 15.3418 9.69939 15.6381 9.05289 15.7625C8.78205 15.8151 8.36768 15.8414 7.81037 15.8414C6.88006 15.8414 6.23171 15.7843 5.86564 15.6695C5.41635 15.5289 5.12014 15.2441 4.97679 14.8151C4.89694 14.5763 4.85742 14.1787 4.85742 13.622H6.51858L6.51874 13.7643C6.51874 14.0613 6.60156 14.2524 6.76681 14.3375C6.88135 14.3961 7.01963 14.4269 7.18222 14.4306H7.7929C8.10456 14.4306 8.30345 14.4142 8.38925 14.3811C8.54194 14.3192 8.64215 14.2195 8.69004 14.0816C8.71548 13.9967 8.72812 13.8868 8.72812 13.7523C8.72812 13.4511 8.62147 13.2679 8.40857 13.2021C8.32897 13.1762 7.95855 13.14 7.2974 13.0941C6.76649 13.055 6.39768 13.0174 6.19115 12.9809C5.64727 12.876 5.28482 12.6603 5.10396 12.3328C4.945 12.0545 4.86547 11.6335 4.86547 11.0702C4.86547 10.6413 4.90845 10.2973 4.99434 10.0386C5.0803 9.77985 5.21882 9.5834 5.40999 9.44902C5.69001 9.24277 6.04836 9.12167 6.48453 9.08549C6.84746 9.05287 7.25007 9.03619 7.69293 9.03619C8.39014 9.03619 8.887 9.07752 9.18321 9.15944C9.90609 9.35971 10.2675 9.9207 10.2675 10.8426C10.2675 10.9182 10.2621 11.0312 10.2514 11.1824ZM25.795 10.3606L26.6316 13.3262H24.9831L25.795 10.3606ZM24.5989 14.659H26.9863L27.3269 15.8414H29.1355L27.1176 9H24.4241L22.4307 15.8414H24.2781L24.5989 14.659Z" fill="#10298E"/>
7864                <path fill-rule="evenodd" clip-rule="evenodd" d="M15.0922 9.96253C15.8286 9.96253 16.4859 10.3124 16.918 10.8603L17.3029 10.0093C16.7009 9.42262 15.8816 9.06091 14.9779 9.06091C13.571 9.06091 12.3674 9.93713 11.8734 11.1775H11.1229L10.6797 12.1572H11.6452C11.638 12.2481 11.6333 12.339 11.6333 12.4318C11.6333 12.5441 11.639 12.6551 11.6498 12.7647H11.1645L10.7214 13.7448H11.8965C12.4045 14.9537 13.593 15.8025 14.9779 15.8025C15.6759 15.8025 16.3235 15.5868 16.8597 15.2185V14.0174C16.4279 14.5244 15.7963 14.8447 15.0922 14.8447C14.2691 14.8447 13.5451 14.4071 13.1235 13.7448H15.5841L16.0272 12.7647H12.7614C12.7446 12.6468 12.7356 12.5263 12.7356 12.4035C12.7356 12.3205 12.7398 12.2383 12.7475 12.1572H16.3018L16.7449 11.1775H13.0549C13.463 10.4512 14.2224 9.96253 15.0922 9.96253" fill="#FFBE00"/>
7865            </svg>
7866        </span>
7867        <span class="ev-paybadge ev-paybadge--text" title="Kauf auf Rechnung">Rechnung</span>
7868        <span class="ev-paybadge ev-paybadge--text" title="Zahlung per Vorkasse">Vorkasse</span>
7869    </div>
7870    
7871            <hr class="ev-footer-divider">
7872        <div class="ev-footer-certs">
7873                <div class="d-flex justify-content-start align-items-center gap-3 footer">
7874        <div class="qx-icon-footer">
7875            <a href="https://www.trustedshops.de/bewertung/info_XC7DD5FD247350BDB2715FB9DB269C030.html">
7876                <img src="https://echtvital.cstatic.com/media/99/9f/e8/1679933458/trusted-shops-logo.png?ts=1721293439" alt="Trusted Shops Icon"
7877                     class="qx-trusted-shops-cert ml-2 qx-icon">
7878            </a>
7879        </div>
7880        <div class="qx-icon-footer">
7881            <a href="https://echt-vital.de/media/92/6a/ec/1782390725/DE-OEKO-007_276-0074984_2026_001.pdf">
7882                <img src="https://echtvital.cstatic.com/media/e6/83/c7/1679933461/eko-echt-vital.png?ts=1721293448" alt="Eko Icon" class="qx-eko-cert qx-icon">
7883            </a>
7884        </div>
7885        <div class="qx-icon-footer">
7886            <a href="https://echt-vital.de/media/92/6a/ec/1782390725/DE-OEKO-007_276-0074984_2026_001.pdf">
7887                <img src="https://echtvital.cstatic.com/media/df/dc/77/1679933464/bio-echt-vital.png?ts=1721293453" alt="Bio Icon" class="qx-bio-cert qx-icon">
7888            </a>
7889        </div>
7890    </div>
7891        </div>
7892    
7893            <div class="ev-footer-legal">
7894            <span class="ev-footer-copyright">&copy; 2026 Echt Vital GmbH</span>
7895            <a href="/informationen/impressum/" title="Impressum">Impressum</a>
7896            <a href="/informationen/datenschutz/" title="Datenschutz">Datenschutz</a>
7897            <a href="/informationen/agb/" title="AGB">AGB</a>
7898            <a href="/informationen/barrierefreiheit/" title="Barrierefreiheit">Barrierefreiheit</a>
7899            <a class="footer-link" href="/cookie/offcanvas" title="Cookie-Einstellungen">Cookie-Einstellungen</a>
7900                            <a class="ev-widerruf-btn" href="/revocation" rel="nofollow" title="Widerruf einreichen">Bestellung widerrufen</a>
7901                    </div>
7902    
7903</div>
7904
7905
7906    <!-- Post Affiliate Pro integration snippet start -->
7907	
7907<script type="text/javascript" id="pap_x2s6df8d" src="https://echtvital.postaffiliatepro.com/scripts/l57vjx"></script>
7907
7908	
7908<script type="text/javascript">
7909	PostAffTracker.setAccountId('default1');
7910	try {
7911	PostAffTracker.track();
7912	} catch (err) { }
7913	</script>
7913
7914	
7915	
7916            </footer>
7917
7918    
7919
7920
7921                
7922                
7923
7924    
7925        
7926    
7927    
7928            <!-- ECHT VITAL Off-Canvas Cart · EVC31 · 2026-07-08
7929     Sauberer Refactor von EVC30-NOGIFT (Logik erhalten): kompaktere Mobile-UX.
7930     Free-Shipping ab 75 EUR (muss zur Shopware-Rule passen). -->
7931
7932<style>
7933/* =============================================
7934   ECHT VITAL CART - v57 GIFT PROGRESS
7935   - Einklappbares Gutscheinfeld
7936   - Premium Apple-like UI/UX
7937   - Toast-Meldungen für Feedback
7938   - Geschenk-Fortschrittsbalken
7939============================================= */
7940:root {
7941    --evc-bg: #ffffff;
7942    --evc-surface: #f8fafc;
7943    --evc-border: #e2e8f0;
7944    --evc-text: #0f172a;
7945    --evc-muted: #64748b;
7946    --evc-primary: #166534;
7947    --evc-primary-dark: #14532d;
7948    --evc-primary-light: #dcfce7;
7949    --evc-danger: #ef4444;
7950    --evc-gold: #d97706;
7951    --evc-gold-light: #fef3c7;
7952    --evc-radius: 14px;
7953    --evc-radius-sm: 10px;
7954}
7955/* Layout */
7956html:not(.ev-no-evcart) .offcanvas.cart-offcanvas {
7957    width: 420px !important;
7958    max-width: calc(100vw - 40px) !important;
7959    background: var(--evc-bg) !important;
7960    border: none !important;
7961    box-shadow: -8px 0 40px rgba(0,0,0,0.12) !important;
7962    z-index: 1000001 !important;
7963}
7964html:not(.ev-no-evcart) .offcanvas-backdrop {
7965    z-index: 1000000 !important;
7966}
7967html:not(.ev-no-evcart) .offcanvas.cart-offcanvas .offcanvas-body {
7968    padding: 0 !important;
7969    overflow: hidden !important;
7970    height: 100vh;
7971    height: 100dvh; /* Dynamic viewport height für Mobile */
7972}
7973/* SOFORT alle Standard-Elemente verstecken - verhindert Flicker */
7974html:not(.ev-no-evcart) .offcanvas.cart-offcanvas .offcanvas-cart:not(.evc-active) {
7975    visibility: hidden !important;
7976    opacity: 0 !important;
7977}
7978/* Initial Loader - erscheint sofort beim Öffnen */
7979html:not(.ev-no-evcart) .offcanvas.cart-offcanvas .offcanvas-body::before {
7980    content: '';
7981    position: absolute;
7982    top: 50%;
7983    left: 50%;
7984    width: 40px;
7985    height: 40px;
7986    margin: -20px 0 0 -20px;
7987    border: 3px solid var(--evc-border, #e2e8f0);
7988    border-top-color: var(--evc-primary, #166534);
7989    border-radius: 50%;
7990    animation: evc-spin 0.7s linear infinite;
7991    z-index: 50;
7992    opacity: 1;
7993    transition: opacity 0.2s ease;
7994    pointer-events: none !important;
7995}
7996html:not(.ev-no-evcart) .offcanvas.cart-offcanvas .offcanvas-body::after {
7997    content: 'Warenkorb lädt...';
7998    position: absolute;
7999    top: calc(50% + 35px);
8000    left: 50%;
8001    transform: translateX(-50%);
8002    font-size: 14px;
8003    font-weight: 600;
8004    color: var(--evc-text, #0f172a);
8005    z-index: 50;
8006    opacity: 1;
8007    transition: opacity 0.2s ease;
8008    pointer-events: none !important;
8009}
8010/* Initial Loader verstecken wenn unser Design aktiv */
8011html:not(.ev-no-evcart) .offcanvas.cart-offcanvas .offcanvas-body.evc-ready::before,
8012html:not(.ev-no-evcart) .offcanvas.cart-offcanvas .offcanvas-body.evc-ready::after,
8013html:not(.ev-no-evcart) .offcanvas.cart-offcanvas .offcanvas-body:has(#evc-container)::before,
8014html:not(.ev-no-evcart) .offcanvas.cart-offcanvas .offcanvas-body:has(#evc-container)::after {
8015    opacity: 0 !important;
8016    visibility: hidden !important;
8017    display: none !important;
8018}
8019/* Unser Design sichtbar machen wenn aktiv */
8020html:not(.ev-no-evcart) .evc-active {
8021    visibility: visible !important;
8022    opacity: 1 !important;
8023}
8024html:not(.ev-no-evcart) .evc-active .offcanvas-cart-header,
8025html:not(.ev-no-evcart) .evc-active .offcanvas-header,
8026html:not(.ev-no-evcart) .evc-active .offcanvas-cart-items,
8027html:not(.ev-no-evcart) .evc-active .cart-item-row,
8028html:not(.ev-no-evcart) .evc-active .offcanvas-summary,
8029html:not(.ev-no-evcart) .evc-active .offcanvas-cart-promotion,
8030html:not(.ev-no-evcart) .evc-active .begin-checkout-btn,
8031html:not(.ev-no-evcart) .evc-active .offcanvas-cart-actions,
8032html:not(.ev-no-evcart) .evc-active .flashbags,
8033html:not(.ev-no-evcart) .evc-active .alert,
8034html:not(.ev-no-evcart) .evc-active .cart-live-update,
8035html:not(.ev-no-evcart) .evc-active .offcanvas-shipping-info,
8036html:not(.ev-no-evcart) .evc-active .offcanvas-shipping-preference,
8037html:not(.ev-no-evcart) .evc-active .offcanvas-cart-tax,
8038html:not(.ev-no-evcart) .evc-active .js-offcanvas-cart-promotion,
8039html:not(.ev-no-evcart) .evc-active .offcanvas-summary-list,
8040html:not(.ev-no-evcart) .evc-active .line-item,
8041html:not(.ev-no-evcart) .evc-active .line-item-promotion,
8042html:not(.ev-no-evcart) .evc-active > .row,
8043html:not(.ev-no-evcart) .evc-active > .container,
8044html:not(.ev-no-evcart) .evc-active > div:not(#evc-container) {
8045    display: none !important;
8046}
8047html:not(.ev-no-evcart) .cart-offcanvas > .offcanvas-header {
8048    display: none !important;
8049}
8050/* "Weiter einkaufen" Header IMMER verstecken - alle Varianten */
8051html:not(.ev-no-evcart) .cart-offcanvas .offcanvas-body > a:first-child,
8052html:not(.ev-no-evcart) .cart-offcanvas .offcanvas-body > div:first-child:not(.offcanvas-cart):not(#evc-container),
8053html:not(.ev-no-evcart) .cart-offcanvas .offcanvas-body > .d-flex:first-child,
8054html:not(.ev-no-evcart) .cart-offcanvas .cart-offcanvas-close-wrapper,
8055html:not(.ev-no-evcart) .cart-offcanvas .offcanvas-cart-close-wrapper,
8056html:not(.ev-no-evcart) .cart-offcanvas .offcanvas-close,
8057html:not(.ev-no-evcart) .cart-offcanvas [class*="close-wrapper"],
8058html:not(.ev-no-evcart) .cart-offcanvas .offcanvas-body > [class*="bg-primary"]:first-child,
8059html:not(.ev-no-evcart) .cart-offcanvas .offcanvas-body > [style*="background"]:first-child:not(.offcanvas-cart) {
8060    display: none !important;
8061}
8062/* Wrapper */
8063.evc-wrapper {
8064    display: flex;
8065    flex-direction: column;
8066    height: 100vh;
8067    height: 100dvh; /* Dynamic viewport height für Mobile */
8068    overflow: hidden;
8069    position: relative;
8070    padding-bottom: env(safe-area-inset-bottom, 0);
8071}
8072/* Loader */
8073.evc-loader-overlay {
8074    position: absolute;
8075    inset: 0;
8076    background: rgba(255,255,255,0.6);   /* R13d: Korb bleibt unter dem Spinner sichtbar (More-Look), vorher 0.97 = "weiss" */
8077    z-index: 100;
8078    display: flex;
8079    flex-direction: column;
8080    align-items: center;
8081    justify-content: center;
8082    gap: 16px;
8083    opacity: 0;
8084    visibility: hidden;
8085    pointer-events: none;
8086    transition: all 0.25s ease;
8087}
8088.evc-loader-overlay.show { 
8089    opacity: 1; 
8090    visibility: visible; 
8091    pointer-events: auto;
8092}
8093.evc-loader-spinner {
8094    width: 40px; height: 40px;
8095    border: 3px solid var(--evc-border);
8096    border-top-color: var(--evc-primary);
8097    border-radius: 50%;
8098    animation: evc-spin 0.7s linear infinite;
8099}
8100@keyframes evc-spin { to { transform: rotate(360deg); } }
8101.evc-loader-text { 
8102    font-size: 14px; 
8103    color: var(--evc-text); 
8104    font-weight: 600;
8105    text-align: center;
8106}
8107.evc-loader-subtext {
8108    font-size: 12px;
8109    color: var(--evc-muted);
8110    margin-top: -8px;
8111}
8112/* Header */
8113.evc-header {
8114    display: flex;
8115    align-items: center;
8116    gap: 10px;
8117    padding: 14px 16px;
8118    background: var(--evc-bg);
8119    border-bottom: 1px solid var(--evc-border);
8120    flex-shrink: 0;
8121}
8122.evc-header-icon {
8123    width: 36px; height: 36px;
8124    background: linear-gradient(135deg, var(--evc-primary-light), #bbf7d0);
8125    border-radius: 10px;
8126    display: flex; align-items: center; justify-content: center;
8127    font-size: 18px;
8128}
8129.evc-header-title { flex: 1; font-size: 16px; font-weight: 700; color: var(--evc-text); }
8130/* Gift Progress Bar */
8131/* Items */
8132.evc-items {
8133    flex: 1;
8134    overflow-y: auto;
8135    padding: 16px;
8136    display: flex;
8137    flex-direction: column;
8138    gap: 12px;
8139}
8140.evc-empty {
8141    flex: 1;
8142    display: flex;
8143    flex-direction: column;
8144    align-items: center;
8145    justify-content: center;
8146    gap: 16px;
8147    color: var(--evc-muted);
8148    text-align: center;
8149    padding: 40px 20px;
8150}
8151/* 16.09.26 leerer Korb kompakt, Widget sichtbar. Doku: tools/warenkorb-bestseller/patch_cart_empty_kompakt.py */
8152.evc-items-b2c .evc-empty {
8153    flex: 0 0 auto;
8154    height: auto;
8155    justify-content: flex-start;
8156    gap: 8px;
8157    padding: 20px 20px 16px;
8158}
8159.evc-items-b2c .evc-empty > * { margin: 0; }
8160.evc-items-b2c .evc-empty-icon { font-size: 32px; }
8161.evc-items-b2c .evc-empty-btn { margin-top: 2px; padding: 10px 22px; }
8162.evc-empty-icon { font-size: 48px; opacity: 0.5; }
8163.evc-empty-title { font-size: 18px; font-weight: 600; color: var(--evc-text); }
8164.evc-empty-text { font-size: 14px; }
8165.evc-empty-btn {
8166    margin-top: 8px;
8167    padding: 12px 24px;
8168    background: var(--evc-primary);
8169    color: #fff;
8170    border: none; border-radius: 10px;
8171    font-size: 14px; font-weight: 600;
8172    cursor: pointer;
8173}
8174.evc-empty-btn:hover { background: var(--evc-primary-dark); }
8175/* Item Card */
8176.evc-item {
8177    display: flex;
8178    gap: 12px;
8179    padding: 12px;
8180    background: var(--evc-surface);
8181    border-radius: var(--evc-radius);
8182    position: relative;
8183}
8184.evc-item.is-book {
8185    background: linear-gradient(135deg, var(--evc-gold-light) 0%, #fffbeb 100%);
8186    border: 2px solid var(--evc-gold);
8187}
8188.evc-item-badge {
8189    position: absolute !important;
8190    display: inline-block !important;
8191    width: auto !important;
8192    top: -8px !important; left: 12px !important;
8193    background: var(--evc-primary) !important;
8194    color: #fff !important;
8195    font-size: 10px !important; font-weight: 700 !important;
8196    padding: 3px 10px !important;
8197    border-radius: 4px !important;
8198    text-transform: uppercase !important;
8199    line-height: 1.3 !important;
8200    z-index: 2;
8201}
8202.evc-item-badge.gold {
8203    background: var(--evc-gold);
8204}
8205.evc-item-img {
8206    width: 70px; height: 70px;
8207    background: #fff;
8208    border-radius: var(--evc-radius-sm);
8209    overflow: hidden;
8210    flex-shrink: 0;
8211    display: flex; align-items: center; justify-content: center;
8212}
8213.evc-item-img img { width: 100%; height: 100%; object-fit: contain; }
8214.evc-item-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
8215.evc-item-name {
8216    font-size: 13px; font-weight: 600; color: var(--evc-text);
8217    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
8218}
8219.evc-item-variant { font-size: 11px; color: var(--evc-muted); }
8220.evc-item-price { display: flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 700; color: var(--evc-text); margin-top: auto; }
8221.evc-item-price-old { font-size: 12px; color: var(--evc-muted); text-decoration: line-through; font-weight: 400; }
8222.evc-item-price-free { color: var(--evc-primary); font-weight: 700; }
8223.evc-item-controls { display: flex; align-items: center; gap: 8px; margin-top: 4px; }
8224/* Quantity */
8225.evc-qty {
8226    display: flex;
8227    align-items: center;
8228    background: #fff;
8229    border: 1px solid var(--evc-border);
8230    border-radius: 8px;
8231    overflow: hidden;
8232}
8233.evc-qty-btn {
8234    width: 28px; height: 28px;
8235    border: none; background: transparent;
8236    font-size: 16px; color: var(--evc-text);
8237    cursor: pointer;
8238    display: flex; align-items: center; justify-content: center;
8239}
8240.evc-qty-btn:hover { background: var(--evc-surface); }
8241.evc-qty-input {
8242    width: 32px; height: 28px;
8243    border: none; background: transparent;
8244    text-align: center;
8245    font-size: 13px; font-weight: 600;
8246    -moz-appearance: textfield;
8247}
8248.evc-qty-input::-webkit-outer-spin-button,
8249.evc-qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
8250/* Remove Button */
8251.evc-remove-btn {
8252    width: 28px; height: 28px;
8253    border: none; background: transparent;
8254    color: var(--evc-muted);
8255    cursor: pointer;
8256    display: flex; align-items: center; justify-content: center;
8257    border-radius: 6px;
8258    margin-left: auto;
8259}
8260.evc-remove-btn:hover { background: #fee2e2; color: var(--evc-danger); }
8261.evc-remove-btn svg { width: 16px; height: 16px; stroke: currentColor; stroke-width: 2; fill: none; }
8262/* Footer */
8263.evc-footer {
8264    flex-shrink: 0;
8265    padding: 16px;
8266    background: #fff;
8267    border-top: 1px solid var(--evc-border);
8268    box-shadow: 0 -4px 20px rgba(0,0,0,0.05);
8269}
8270/* Coupon Toggle */
8271.evc-coupon-toggle {
8272    display: flex;
8273    align-items: center;
8274    justify-content: space-between;
8275    padding: 10px 12px;
8276    background: var(--evc-surface);
8277    border-radius: 10px;
8278    cursor: pointer;
8279    margin-bottom: 12px;
8280    transition: background 0.15s ease;
8281}
8282.evc-coupon-toggle:hover { background: #f1f5f9; }
8283.evc-coupon-toggle-left {
8284    display: flex;
8285    align-items: center;
8286    gap: 8px;
8287    font-size: 13px;
8288    font-weight: 600;
8289    color: var(--evc-text);
8290}
8291.evc-coupon-toggle-icon {
8292    font-size: 14px;
8293}
8294.evc-coupon-toggle-arrow {
8295    font-size: 12px;
8296    color: var(--evc-muted);
8297    transition: transform 0.3s ease;
8298}
8299.evc-coupon-toggle.open .evc-coupon-toggle-arrow {
8300    transform: rotate(180deg);
8301}
8302/* Coupon Expandable */
8303.evc-coupon-expand {
8304    display: grid;
8305    grid-template-rows: 0fr;
8306    transition: grid-template-rows 0.3s ease;
8307}
8308.evc-coupon-expand.open {
8309    grid-template-rows: 1fr;
8310}
8311.evc-coupon-expand-inner {
8312    overflow: hidden;
8313}
8314.evc-coupon-row {
8315    display: flex;
8316    gap: 8px;
8317    padding-bottom: 12px;
8318}
8319.evc-coupon-input {
8320    flex: 1;
8321    height: 40px;
8322    padding: 0 12px;
8323    border: 1px solid var(--evc-border);
8324    border-radius: 8px;
8325    font-size: 13px;
8326}
8327.evc-coupon-input:focus { outline: none; border-color: var(--evc-primary); }
8328.evc-coupon-submit {
8329    height: 40px;
8330    padding: 0 18px;
8331    border: none;
8332    background: var(--evc-text);
8333    color: #fff;
8334    border-radius: 8px;
8335    font-size: 13px;
8336    font-weight: 700;
8337    cursor: pointer;
8338}
8339.evc-coupon-submit:hover { background: #374151; }
8340/* Coupon Message */
8341.evc-coupon-msg-wrap {
8342    display: grid;
8343    grid-template-rows: 0fr;
8344    transition: grid-template-rows 0.3s ease;
8345}
8346.evc-coupon-msg-wrap.show { grid-template-rows: 1fr; }
8347.evc-coupon-msg-inner { overflow: hidden; }
8348.evc-coupon-msg {
8349    padding: 10px 12px;
8350    border-radius: 8px;
8351    font-size: 13px;
8352    margin-bottom: 10px;
8353    line-height: 1.4;
8354    opacity: 0;
8355    transform: translateY(-5px);
8356    transition: opacity 0.3s ease, transform 0.3s ease;
8357}
8358.evc-coupon-msg-wrap.show .evc-coupon-msg { opacity: 1; transform: translateY(0); }
8359.evc-coupon-msg.success { background: var(--evc-primary-light); color: var(--evc-primary-dark); }
8360.evc-coupon-msg.error { background: #fef2f2; color: var(--evc-danger); }
8361/* Totals */
8362.evc-totals { margin: 14px 0; }
8363.evc-row {
8364    display: flex;
8365    justify-content: space-between;
8366    align-items: center;
8367    font-size: 13px;
8368    margin-bottom: 6px;
8369}
8370.evc-row-label { color: var(--evc-muted); }
8371.evc-row-value { font-weight: 600; color: var(--evc-text); display: flex; align-items: center; gap: 8px; }
8372.evc-row-value.green { color: var(--evc-primary); }
8373.evc-row-value.red { color: var(--evc-danger); }
8374.evc-row-value-old { font-size: 11px; color: var(--evc-muted); text-decoration: line-through; font-weight: 400; }
8375.evc-row.total {
8376    font-size: 17px;
8377    padding-top: 12px;
8378    margin-top: 8px;
8379    border-top: 1px solid var(--evc-border);
8380}
8381.evc-row.total .evc-row-label { font-weight: 700; color: var(--evc-text); }
8382.evc-row.total .evc-row-value { font-weight: 800; }
8383.evc-total-original { font-size: 14px; color: var(--evc-muted); text-decoration: line-through; font-weight: 500; margin-right: 8px; }
8384/* Coupon Pill */
8385.evc-coupon-pill {
8386    display: inline-flex;
8387    align-items: center;
8388    gap: 4px;
8389    background: var(--evc-primary-light);
8390    border: 1px solid var(--evc-primary);
8391    color: var(--evc-primary-dark);
8392    font-size: 10px;
8393    font-weight: 600;
8394    padding: 3px 6px 3px 8px;
8395    border-radius: 20px;
8396    text-transform: uppercase;
8397}
8398.evc-coupon-pill-x {
8399    width: 14px; height: 14px;
8400    background: var(--evc-primary);
8401    color: #fff;
8402    border: none; border-radius: 50%;
8403    font-size: 10px;
8404    cursor: pointer;
8405    display: flex; align-items: center; justify-content: center;
8406}
8407.evc-coupon-pill-x:hover { background: var(--evc-danger); }
8408/* Trust */
8409.evc-trust {
8410    display: flex;
8411    align-items: center;
8412    justify-content: center;
8413    gap: 6px;
8414    font-size: 11px;
8415    color: #4b5563;
8416    margin-bottom: 10px;
8417}
8418.evc-trust-check {
8419    width: 14px; height: 14px;
8420    background: #374151;
8421    color: #fff;
8422    border-radius: 50%;
8423    display: flex; align-items: center; justify-content: center;
8424    font-size: 9px;
8425}
8426/* Checkout Button */
8427.evc-checkout {
8428    width: 100%;
8429    height: 52px;
8430    border: none;
8431    border-radius: 12px;
8432    font-size: 15px;
8433    font-weight: 700;
8434    cursor: pointer;
8435    display: flex;
8436    align-items: center;
8437    justify-content: center;
8438    gap: 10px;
8439    background: var(--evc-primary);
8440    color: #fff;
8441    transition: all 0.2s;
8442}
8443.evc-checkout:hover { background: var(--evc-primary-dark); transform: translateY(-1px); }
8444/* Payments */
8445.evc-payments {
8446    display: flex !important;
8447    justify-content: center;
8448    gap: 12px;
8449    margin-top: 14px;
8450    padding-top: 14px;
8451    border-top: 1px solid var(--evc-border);
8452}
8453.evc-payments img { height: 28px; opacity: 0.8; }
8454@media (max-width: 576px) {
8455    .offcanvas.cart-offcanvas { 
8456        width: calc(100vw - 20px) !important; 
8457        max-width: calc(100vw - 20px) !important;
8458    }
8459    /* Kompakterer Header */
8460    .evc-header {
8461        padding: 10px 14px;
8462        gap: 8px;
8463    }
8464    .evc-header-icon {
8465        width: 28px; height: 28px;
8466        border-radius: 8px;
8467        font-size: 14px;
8468    }
8469    .evc-header-title {
8470        font-size: 14px;
8471        font-weight: 600;
8472    }
8473    /* Kompaktere Items */
8474    .evc-items {
8475        padding: 10px;
8476        gap: 10px;
8477    }
8478    .evc-item {
8479        padding: 10px;
8480        border-radius: 10px;
8481    }
8482    .evc-item-img {
8483        width: 56px; height: 56px;
8484    }
8485    .evc-item-name {
8486        font-size: 13px;
8487    }
8488    .evc-item-variant, .evc-item-unit-price {
8489        font-size: 11px;
8490    }
8491    /* Kompakterer Footer */
8492    .evc-footer {
8493        padding: 12px 14px;
8494        padding-bottom: calc(12px + env(safe-area-inset-bottom, 0));
8495    }
8496    .evc-coupon-toggle {
8497        padding: 8px 10px;
8498        font-size: 12px;
8499    }
8500    /* B1 (EVC31): Fuß flacher auf Mobil - echte Klassen (vorher tote .evc-checkout-btn/.evc-total-row) */
8501    .evc-checkout {
8502        height: 46px;
8503        font-size: 14px;
8504    }
8505    .evc-payments {
8506        margin-top: 10px;
8507        padding-top: 10px;
8508    }
8509    .evc-payments img { height: 24px; }
8510    .evc-trust {
8511        font-size: 10px;
8512        padding: 6px 0;
8513        margin-bottom: 6px;
8514    }
8515}
8516/* Händler: Shopware-Standard wiederherstellen */
8517html.ev-no-evcart .offcanvas.cart-offcanvas .offcanvas-body {
8518    flex-grow: 1 !important;
8519    padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x) !important;
8520    overflow-y: auto !important;
8521    overflow-x: hidden !important;
8522}
8523/* Success Toast */
8524.evc-toast {
8525    position: fixed;
8526    top: 20px;
8527    left: 50%;
8528    transform: translateX(-50%) translateY(-120%);
8529    background: var(--evc-primary);
8530    color: #fff;
8531    padding: 14px 24px;
8532    border-radius: 12px;
8533    font-size: 14px;
8534    font-weight: 600;
8535    display: flex;
8536    align-items: center;
8537    gap: 10px;
8538    box-shadow: 0 10px 40px rgba(22, 101, 52, 0.4);
8539    z-index: 9999999;
8540    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
8541    pointer-events: none;
8542}
8543.evc-toast.show {
8544    transform: translateX(-50%) translateY(0);
8545}
8546.evc-toast-icon {
8547    font-size: 18px;
8548}
8549.evc-toast-info {
8550    background: #3b82f6;
8551    box-shadow: 0 10px 40px rgba(59, 130, 246, 0.4);
8552}
8553.evc-toast-warning {
8554    background: var(--evc-gold);
8555    box-shadow: 0 10px 40px rgba(217, 119, 6, 0.4);
8556}
8557@media (max-width: 576px) {
8558    .evc-toast {
8559        top: 80px;
8560        bottom: auto;
8561        left: 50%;
8562        right: auto;
8563        transform: translateX(-50%) translateY(-150%);
8564        max-width: calc(100% - 40px);
8565    }
8566    .evc-toast.show {
8567        transform: translateX(-50%) translateY(0);
8568    }
8569}
8570
8571/* === EVC31 Cart-Sizing + Supplement (aus v57-NOGIFT konsolidiert) === */
8572/* =============================================================================
8573 * EVC31 - CSS-Supplement zu v57-Cart-CSS
8574 * Stand: 2026-05-12
8575 * Nur Klassen die fuer den NOGIFT-Cart benoetigt werden.
8576 * Gift-Picker / Reward / Success / Konfetti / Product-Modal sind RAUS.
8577 * ============================================================================= */
8578
8579/* -- Ship-Hint (schmale Versand-Hinweiszeile unter Header) -------------- */
8580.evc-active .evc-ship-hint {
8581    display: flex;
8582    align-items: center;
8583    gap: 8px;
8584    margin: 0 0 10px;
8585    padding: 9px 12px;
8586    font-size: 13px;
8587    line-height: 1.3;
8588    color: #475569;
8589    background: #f8fafc;
8590    border: 1px solid #e5e7eb;
8591    border-radius: 10px;
8592}
8593.evc-active .evc-ship-hint.is-done {
8594    color: #16a34a;
8595    background: #f0fdf4;
8596}
8597.evc-active .evc-ship-hint-done {
8598    color: #16a34a;
8599    font-weight: 600;
8600}
8601.evc-active .evc-ship-hint-icon { font-size: 16px; flex-shrink: 0; }
8602.evc-active .evc-ship-hint-msg  { flex: 1; }
8603
8604/* -- B2B (haendler.): Versandhinweis als zweite Trust-Zeile ueber dem Kauf-Knopf ---------- */
8605.evc-active .evc-trust-ship { color: #475569; margin-top: -6px; padding-top: 0; }
8606.evc-active .evc-trust-ship .evc-ship-hint-icon { font-size: 13px; }
8607
8608/* -- B2B (haendler.): Trust-Zeile 10px, Icon-Leiste unter dem Knopf klein (18px) ------------ */
8609/* ID + eine Klasse MEHR + !important: schlaegt das Recovery-"Sicherheitsnetz" (#evc-container .evc-trust / .evc-payments {...!important} bei <=576px Breite / <=760px Hoehe). Gleiche Spezifitaet verliert, weil dessen <style> spaeter im Dokument steht. */
8610.offcanvas.cart-offcanvas #evc-container .evc-trust.evc-trust-compact { font-size: 11px !important; line-height: 1.3 !important; margin: 8px 0 0 !important; padding: 0 !important; color: #374151 !important; font-weight: 500; }
8611.offcanvas.cart-offcanvas #evc-container .evc-trust.evc-trust-ship { font-size: 12px !important; line-height: 1.3 !important; margin: 0 0 8px !important; padding: 0 !important; }
8612.offcanvas.cart-offcanvas #evc-container .evc-payments.evc-payments-compact { margin-top: 8px !important; padding-top: 8px !important; gap: 8px !important; flex-wrap: wrap !important; }
8613.offcanvas.cart-offcanvas #evc-container .evc-payments.evc-payments-compact img { height: 30px !important; width: 43px !important; object-fit: cover !important; }
8614
8615/* -- B2B (haendler.): Kopfzeile flacher (36px statt 64/49px) --------------------------------- */
8616.offcanvas.cart-offcanvas #evc-container .evc-header.evc-header-compact { padding: 6px 12px; gap: 8px; }
8617.offcanvas.cart-offcanvas #evc-container .evc-header-compact .evc-header-icon { width: 24px; height: 24px; border-radius: 7px; font-size: 13px; }
8618.offcanvas.cart-offcanvas #evc-container .evc-header-compact .evc-header-title { font-size: 14px; font-weight: 600; }
8619.offcanvas.cart-offcanvas #evc-container .evc-header-compact .evc-header-close { width: 24px; height: 24px; font-size: 12px; }
8620
8621/* -- B2B (haendler.): Kachel kompakt (Prototyp v4): x oben rechts, Menge als Box auf der Preislinie -- */
8622/* ID + !important neutralisiert die ALTE Cart-CSS aus all.css (.evc-item{margin-bottom:10px}, .evc-item-price{margin-bottom:8px}) */
8623.offcanvas.cart-offcanvas #evc-container .evc-items.evc-items-b2b { gap: 8px !important; }
8624.offcanvas.cart-offcanvas #evc-container .evc-item.evc-item-b2b { position: relative; margin-bottom: 0 !important; align-items: stretch; }
8625.offcanvas.cart-offcanvas #evc-container .evc-item-b2b .evc-item-body { align-self: stretch; }
8626.offcanvas.cart-offcanvas #evc-container .evc-item-b2b .evc-item-name { padding-right: 20px; }
8627.offcanvas.cart-offcanvas #evc-container .evc-item-b2b .evc-item-price { margin-bottom: 0 !important; }
8628.offcanvas.cart-offcanvas #evc-container .evc-item-b2b .evc-item-x { position: absolute; top: 5px; right: 5px; width: 22px; height: 22px; border: 0; background: transparent; color: #374151; font-size: 11px; font-weight: 700; line-height: 1; display: flex; align-items: center; justify-content: center; cursor: pointer; border-radius: 6px; padding: 0; }
8629.offcanvas.cart-offcanvas #evc-container .evc-item-b2b .evc-item-x:hover { background: rgba(0,0,0,.06); }
8630.offcanvas.cart-offcanvas #evc-container .evc-item-b2b .evc-qty { margin-left: auto; height: 24px; border: 1px solid #e2e8f0; border-radius: 7px; flex-shrink: 0; }
8631.offcanvas.cart-offcanvas #evc-container .evc-item-b2b .evc-qty-btn { width: 22px; height: 24px; font-size: 14px; }
8632.offcanvas.cart-offcanvas #evc-container .evc-item-b2b .evc-qty-val { position: relative; display: flex; height: 24px; border-left: 1px solid #e2e8f0; border-right: 1px solid #e2e8f0; }
8633.offcanvas.cart-offcanvas #evc-container .evc-item-b2b .evc-qty-input { width: 22px; height: 24px; font-size: 12px; padding: 0; }
8634.offcanvas.cart-offcanvas #evc-container .evc-item-b2b .evc-qty-select { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; appearance: none; -webkit-appearance: none; margin: 0; }
8635/* Maus: tippbare Zahl, kein Spinner, Fokus dezent */
8636.offcanvas.cart-offcanvas #evc-container .evc-item-b2b .evc-qty-input:not([readonly]) { cursor: text; border-left: 1px solid #e2e8f0; border-right: 1px solid #e2e8f0; }
8637.offcanvas.cart-offcanvas #evc-container .evc-item-b2b .evc-qty-input:not([readonly]):focus { outline: none; background: #f1f5f9; }
8638
8639/* -- COMPACT (beide Kanaele): Betrag im Kauf-Knopf (Pille, kein Glow), Rabatt-Tags, Gutschein-Pille -------- */
8640.offcanvas.cart-offcanvas #evc-container .evc-footer .evc-checkout.evc-checkout-compact { border-radius: 999px !important; height: 44px !important; min-height: 0 !important; font-size: 17px !important; font-weight: 500 !important; letter-spacing: 0.1px; box-shadow: none !important; }
8641.offcanvas.cart-offcanvas #evc-container .evc-footer.evc-footer-compact .evc-row { font-size: 15px !important; }
8642.offcanvas.cart-offcanvas #evc-container .evc-footer.evc-footer-compact .evc-row-value-old { font-size: 13px !important; }
8643.offcanvas.cart-offcanvas #evc-container .evc-trust-lock { display: inline-flex; width: 14px; height: 14px; flex-shrink: 0; }
8644.offcanvas.cart-offcanvas #evc-container .evc-trust-lock svg { width: 14px; height: 14px; display: block; }
8645.offcanvas.cart-offcanvas #evc-container .evc-price-old { color: #6b7280; text-decoration: line-through; font-weight: 500; font-size: 13px; margin-left: 0; }
8646.offcanvas.cart-offcanvas #evc-container .evc-price-new { color: #dc2626; font-weight: 700; }
8647.offcanvas.cart-offcanvas #evc-container .evc-price-tag { display: inline-block; margin-left: 0; padding: 1px 6px; border-radius: 999px; background: #dc2626;
8647 color: #fff; font-size: 10px; font-weight: 700; line-height: 1.4; vertical-align: 1px; }
8648.offcanvas.cart-offcanvas #evc-container .evc-coupon-row-neu { display: flex; align-items: stretch; gap: 8px; margin: 0 0 10px; }
8649.offcanvas.cart-offcanvas #evc-container .evc-coupon-field { flex: 1; min-height: 40px; display: flex; align-items: center; padding: 4px 8px; border: 1px solid #e2e8f0; border-radius: 10px; background: #fff; }
8650.offcanvas.cart-offcanvas #evc-container .evc-code-pill { display: inline-flex; align-items: center; gap: 6px; background: #eceff1; color: #111827; border-radius: 999px; padding: 5px 8px 5px 10px; font-size: 13px; font-weight: 600; letter-spacing: 0.2px; text-transform: none; }
8651.offcanvas.cart-offcanvas #evc-container .evc-code-pill svg { width: 14px; height: 14px; stroke: currentColor; stroke-width: 2; fill: none; }
8652.offcanvas.cart-offcanvas #evc-container .evc-code-pill-x { border: 0; background: transparent; padding: 0 2px; font-size: 13px; font-weight: 700; color: #111827; cursor: pointer; line-height: 1; width: auto; height: auto; margin: 0; }
8653
8654/* -- Header-Close-Button (X) ------------------------------------------- */
8655.evc-active .evc-header-close {
8656    background: rgba(0,0,0,.05);
8657    border: none;
8658    width: 28px; height: 28px;
8659    border-radius: 50%;
8660    cursor: pointer;
8661    margin-left: auto;
8662    color: #1e293b;
8663    font-size: 14px;
8664    display: flex;
8665    align-items: center;
8666    justify-content: center;
8667    flex-shrink: 0;
8668}
8669.evc-active .evc-header-close:hover { background: rgba(0,0,0,.1); }
8670
8671/* -- Row-Color-Modifier (green/red Coupon + Savings) -------------------- */
8672.evc-active .evc-row-value.green { color: #16a34a; font-weight: 600; }
8673.evc-active .evc-row-value.red   { color: #ef4444; font-weight: 600; }
8674
8675/* =============================================================================
8676 * Cart Sizing - Codex-reviewed v57-Pattern (Desktop + Mobile gleich).
8677 * -----------------------------------------------------------------------------
8678 * Lessons learned:
8679 *  - @media-only-mobile macht Verhaltenssprung bei Rotation/iPad Split-View
8680 *  - mehrere konkurrierende Hoehenquellen (flex+var+max+100dvh) erzeugen
8681 *    Layout-Jitter auf iOS Safari (URL-Bar-Toggle, Keyboard, etc.)
8682 *  - v57 war einfach und robust: EINE Quelle pro Container, kein @media,
8683 *    `height: 100dvh` direkt
8684 *
8685 * Strategie:
8686 *  1) offcanvas-body bekommt direct `height: 100dvh` (eine Quelle).
8687 *  2) wrapper bekommt `height: 100%` (folgt der Body-Hoehe, nicht eigener).
8688 *  3) --evc-vh ist NUR Fallback fuer Browser ohne dvh-Support (@supports).
8689 *     Heisst: auf modernen iOS Safari (15.4+) wird 100dvh genutzt, das JS-
8690 *     gepushte --evc-vh ueberschreibt das nicht und erzeugt damit keinen
8691 *     iOS-spezifischen Hohlraum mehr.
8692 * ============================================================================= */
8693
8694/* Zwischen-Container muessen 100% durchreichen, sonst kollabiert wrapper */
8695html:not(.ev-no-evcart) .offcanvas.cart-offcanvas .offcanvas-cart,
8696html:not(.ev-no-evcart) .offcanvas.cart-offcanvas #evc-container {
8697    height: 100%;
8698    max-height: 100%;
8699    display: flex;
8700    flex-direction: column;
8701    min-height: 0;
8702}
8703
8704/* Wrapper: folgt direct dem Parent (kein eigenes 100dvh mehr) */
8705.evc-wrapper {
8706    display: flex;
8707    flex-direction: column;
8708    height: 100%;
8709    overflow: hidden;
8710    position: relative;
8711    padding-bottom: env(safe-area-inset-bottom);
8712    box-sizing: border-box;
8713}
8714.evc-items {
8715    flex: 1 1 auto;
8716    min-height: 0;
8717    overflow-y: auto;
8718    -webkit-overflow-scrolling: touch;
8719}
8720.evc-footer {
8721    flex-shrink: 0;
8722}
8723
8724/* Offcanvas-body als EINZIGE Hoehen-Quelle (auf jedem viewport gleich) */
8725html:not(.ev-no-evcart) .offcanvas.cart-offcanvas .offcanvas-body {
8726    height: 100vh;
8727    height: 100dvh;
8728    padding: 0 !important;
8729    overflow: hidden !important;
8730}
8731
8732/* --evc-vh-Variable greift NUR wo dvh nicht unterstuetzt wird */
8733@supports not (height: 100dvh) {
8734    html:not(.ev-no-evcart) .offcanvas.cart-offcanvas .offcanvas-body {
8735        height: var(--evc-vh, 100vh);
8736    }
8737}
8738
8739/* B3 (EVC31): Trusted-Shops-Badge ausblenden solange Off-Canvas-Cart offen.
8740   Body-Klasse statt :has() = robuster ueber Browser. Selektor live gegengeprueft. */
8741body.evc-cart-open [id^="trustbadge"] {
8742    opacity: 0 !important;
8743    pointer-events: none !important;
8744    transition: opacity .15s ease;
8745}
8746</style>
8747
8748<script>
8749
8750/* EVC31 Off-Canvas-Cart (echt-vital.de B2C) - Nachfolger von EVC30-NOGIFT.
8751 * Bewaehrte Logik erhalten: iOS-Viewport, qty-Queue, 3-Layer-Close,
8752 * Loader-Safety-Net, Observer-Cleanup, Versand aus data-shipping.
8753 * freeShippingAt MUSS zur Shopware-Rule 'versandfrei ab 75' passen. */
8754(function() {
8755    'use strict';
8756
8757    if (window.__EVC31_INIT__) return;
8758    window.__EVC31_INIT__ = true;
8759
8760    const CONFIG = {
8761        freeShippingAt: 75,
8762        shippingCost:   4.95,
8763        bestsellerUrl:  '/mitdenker/produkte'
8764    };
8765
8766    /* B2B (haendler.echt-vital.de) 27.08. (Patrick): ein Cart-Code fuer beide Kanaele, weil
8767       EvTheme an B2B UND B2C haengt. Erkennung ueber die Sales-Channel-ID, die Shopware im
8768       <head> setzt; Hostname als Fallback. STAGING hat keine Haendler-Domain, darum dort
8769       Debug-Schalter ?evc_b2b=1 (ein, pro Tab gemerkt) / ?evc_b2b=0 (aus). Wirkung: kein
8770       Gutscheinfeld, Versandhinweis klein ueber dem Kauf-Knopf, Rabattzeile ohne Kreuz.
8771       B2C bleibt unveraendert. */
8772    const IS_B2B = (function () {
8773        if (window.salesChannelId === '01924d9f52cd72bcad4db96bc32d9640') return true;
8774        if (/^(www\.)?haendler\./.test(location.hostname)) return true;
8775        if (location.hostname === 'staging.echt-vital.de') {
8776            try {
8777                const m = location.search.match(/[?&]evc_b2b=([01])/);
8778                if (m) sessionStorage.setItem('evc_b2b', m[1]);
8779                return sessionStorage.getItem('evc_b2b') === '1';
8780            } catch (e) { return false; }
8781        }
8782        return false;
8783    })();
8784    window.__EVC31_B2B__ = IS_B2B;
8785    /* Maus (hover + feiner Zeiger) = Zahl tippbar; Touch = natives Select (Rad/Liste).
8786       Staging-QA: ?evc_touch=1 erzwingt die Touch-Variante am Desktop. */
8787    const IS_FINE_POINTER = !!(window.matchMedia && matchMedia('(hover: hover) and (pointer: fine)').matches)
8788        && !(location.hostname === 'staging.echt-vital.de' && /[?&]evc_touch=1/.test(location.search));
8789    window.__EVC31_FINE_POINTER__ = IS_FINE_POINTER;
8790    /* COMPACT = neues Layout (Kacheln, Kopf, Footer mit Betrag im Knopf, Rabatt-Tags, Gutschein-Pille).
8791       Seit Runde 14 (28.08.2026) in beiden Kanaelen aktiv; davor B2C nur auf Staging (Sichtpruefung). */
8792    const COMPACT = true;   /* R14: B2C freigegeben (28.08.2026) */
8793    window.__EVC31_COMPACT__ = COMPACT;
8794    window.__EVC31_REFRESH__ = refreshCart;   /* R13c: fuer Widgets im Cart (Bestseller-Karussell) */
8795
8796    const STATE = {
8797        shippingDone: false,
8798        isFirstLoad: true,
8799        activeCoupons: [],
8800        processing: false,
8801        totalSavings: 0,
8802        originalTotal: 0,
8803        hasInitializedSession: false
8804    };
8805
8806    function formatPrice(val) {
8807        return val.toFixed(2).replace('.', ',') + ' €';
8808    }
8809
8810    // ============ LOADER (mit Safety-Net) ===================================
8811    const LOADER_MAX_MS = 4000;
8812    let loaderHideTimer = null;
8813    let refreshPending = 0;
8814
8815    function showLoader(container, text = 'Wird aktualisiert...') {
8816        const loader = container?.querySelector('.evc-loader-overlay');
8817        if (!loader) return;
8818        loader.querySelector('.evc-loader-text').textContent = text;
8819        loader.classList.add('show');
8820        scheduleLoaderHide(loader, LOADER_MAX_MS);
8821    }
8822
8823    function scheduleLoaderHide(loader, delay) {
8824        if (loaderHideTimer) clearTimeout(loaderHideTimer);
8825        loaderHideTimer = setTimeout(() => {
8826            if (refreshPending > 0) {
8827                console.warn('[EVC31] Loader timeout, refresh still pending – keep visible');
8828                scheduleLoaderHide(loader, 1500);
8829                return;
8830            }
8831            console.warn('[EVC31] Loader safety-net: force-hiding after ' + LOADER_MAX_MS + 'ms');
8832            loader.classList.remove('show');
8833            loaderHideTimer = null;
8834        }, delay);
8835    }
8836
8837    function hideLoader(container) {
8838        const loader = container?.querySelector('.evc-loader-overlay');
8839        if (loader) loader.classList.remove('show');
8840        if (loaderHideTimer) { clearTimeout(loaderHideTimer); loaderHideTimer = null; }
8841    }
8842
8843    // ============ CART CLOSE / OPEN HELPERS =================================
8844    function waitUntil(predicate, timeout = 500, step = 50) {
8845        return new Promise(resolve => {
8846            if (predicate()) return resolve(true);
8847            const end = Date.now() + timeout;
8848            const iv = setInterval(() => {
8849                if (predicate()) { clearInterval(iv); resolve(true); }
8850                else if (Date.now() >= end) { clearInterval(iv); resolve(false); }
8851            }, step);
8852        });
8853    }
8854
8855    // 3-Layer-Close: Bootstrap-API -> Click-Delegation -> Manual.
8856    // Cereal-Pro (RHWebOffcanvas) ignoriert die ersten beiden; nur manual wirkt.
8857    async function closeCart() {
8858        const oc = document.querySelector('.offcanvas.cart-offcanvas');
8859        if (!oc || !oc.classList.contains('show')) return true;
8860
8861        try {
8862            const inst = window.bootstrap?.Offcanvas?.getInstance?.(oc);
8863            if (inst?.hide) {
8864                inst.hide();
8865                if (await waitUntil(() => !oc.classList.contains('show'), 350)) return true;
8866            }
8867        } catch (e) {}
8868
8869        try {
8870            const btn = Array.from(oc.querySelectorAll('.js-offcanvas-close, .btn-close, [data-bs-dismiss="offcanvas"]'))
8871                .find(el => el.offsetParent !== null);
8872            if (btn) {
8873                btn.click();
8874                if (await waitUntil(() => !oc.classList.contains('show'), 350)) return true;
8875            }
8876        } catch (e) {}
8877
8878        oc.classList.remove('show');
8879        oc.setAttribute('aria-hidden', 'true');
8880        if (!document.querySelector('.offcanvas.show, .modal.show')) {
8881            document.querySelectorAll('.offcanvas-backdrop').forEach(b => b.remove());
8882            document.body.classList.remove('offcanvas-open', 'modal-open');
8883            document.body.style.overflow = '';
8884            document.body.style.paddingRight = '';
8885        }
8886        /* R15 (28.08.): der geschlossene Cart blieb als per transform verschobenes Element im DOM, sein Inhalt
8887           ueber .evc-active sichtbar. Das Mobilmenue des Headers setzt body.ev-mobile-open -> transform:none auf
8888           alles -> der "geschlossene" Cart lag ueber dem Menue und blockierte es. Nach dem Ausfahren entfernen;
8889           der Header baut ihn beim naechsten Oeffnen neu. */
8890        setTimeout(() => { if (oc.isConnected && !oc.classList.contains('show')) oc.remove(); }, 400);
8891        return true;
8892    }
8893
8894    function findCartTrigger() {
8895        return document.querySelector(
8896            'header .evp-cart-btn, .header-main .evp-cart-btn, ' +
8897            '[data-offcanvas-cart], [data-off-canvas-cart], ' +
8898            '.evp-cart-btn, [data-role="addcart"]'
8899        );
8900    }
8901
8902    function waitForCartOpen(timeout = 2500) {
8903        return waitUntil(() => !!document.querySelector('.offcanvas.cart-offcanvas.show'), timeout, 80);
8904    }
8905
8906    function replaceOffcanvasContent(currentOc, html) {
8907        /* R13d (28.08., Patrick: "Cart blitzt kurz weiss"): unseren gerenderten Container ueber den Tausch retten.
8908           Vorher abhaengen, Shopware-Markup tauschen, danach im SELBEN Schritt als erstes Kind der neuen
8909           .offcanvas-cart wieder einhaengen -> kein Paint dazwischen, kein Blitz; der Loader auf dem Container bleibt. */
8910        const keep = currentOc.querySelector('#evc-container');
8911        /* R13e-2: ein abgehaengter Knoten verliert seine Scrollpositionen -> vorher merken (Liste, Karussell) */
8912        const scrolled = [];
8913        if (keep) {
8914            keep.querySelectorAll('*').forEach(el => { if (el.scrollTop || el.scrollLeft) scrolled.push([el, el.scrollTop, el.scrollLeft]); });
8915            keep.remove();
8916        }
8917        try {
8918            const doc = new DOMParser().parseFromString(html, 'text/html');
8919            const incomingBody = doc.querySelector('.offcanvas-body');
8920            const currentBody = currentOc.querySelector('.offcanvas-body');
8921            if (incomingBody && currentBody) {
8922                currentBody.innerHTML = incomingBody.innerHTML;
8923            } else {
8924                const incomingRoot = doc.querySelector('.offcanvas.cart-offcanvas');
8925                currentOc.innerHTML = incomingRoot ? incomingRoot.innerHTML : html;
8926            }
8927        } catch (e) {
8928            currentOc.innerHTML = html;
8929        }
8930        if (keep) {
8931            const cart = currentOc.querySelector('.offcanvas-cart') || currentOc.querySelector('.offcanvas-body') || currentOc;
8932            cart.classList.add('evc-active');
8933            cart.insertBefore(keep, cart.firstChild);
8934            scrolled.forEach(([el, top, left]) => { el.scrollTop = top; el.scrollLeft = left; });
8935        }
8936        return currentOc;
8937    }
8938
8939    function reinitStorefrontPlugins(scopeEl) {
8940        try {
8941            const PM = window.PluginManager;
8942            if (!PM) return;
8943            if (typeof PM.initializePlugins === 'function') PM.initializePlugins(scopeEl || document);
8944            else if (typeof PM.bootstrap === 'function') PM.bootstrap(scopeEl || document);
8945        } catch (e) {
8946            console.warn('[EVC31] PluginManager reinit failed', e);
8947        }
8948    }
8949
8950    // refresh-in-place: Cart bleibt offen, /checkout/offcanvas-body wird ersetzt.
8951    // Wenn Cart geschlossen war: Standard-Trigger nutzen.
8952    async function _refreshCartInner(callback) {
8953        refreshPending++;
8954        try {
8955            const wasOpen = !!document.querySelector('.offcanvas.cart-offcanvas.show');
8956            if (wasOpen) showLoader(document.querySelector('.offcanvas.cart-offcanvas.show #evc-container'), 'Wird aktualisiert...');   /* R13d: Spinner fuer jeden Refresh, auch Widget-Add */
8957            if (!wasOpen) {
8958                const cartBtn = findCartTrigger();
8959                if (cartBtn) {
8960                    cartBtn.click();
8961                    await waitForCartOpen();
8962                }
8963                return;
8964            }
8965            try {
8966                const res = await fetch('/checkout/offcanvas', {
8967                    headers: { 'X-Requested-With': 'XMLHttpRequest' },
8968                    credentials: 'same-origin'
8969                });
8970                if (!res.ok) {
8971                    console.warn('[EVC31] offcanvas fetch HTTP', res.status);
8972                    return;
8973                }
8974                const html = await res.text();
8975                const oc = document.querySelector('.offcanvas.cart-offcanvas');
8976                if (!oc) return;
8977                replaceOffcanvasContent(oc, html);
8978                reinitStorefrontPlugins(oc);
8979                /* R13d: sofort in place neu zeichnen (applyUI-Pfad "existing" = wrapper.replaceWith), statt auf
8980                   Observer / 400-ms-Intervall zu warten. */
8981                if (oc.querySelector('#evc-container') && oc.querySelector('.hidden-line-items-information')) applyUI(oc);
8982            } catch (e) {
8983                console.warn('[EVC31] refresh-in-place failed', e);
8984            }
8985        } finally {
8986            refreshPending = Math.max(0, refreshPending - 1);
8987            hideLoader(document.querySelector('.offcanvas.cart-offcanvas #evc-container'));   /* R13d */
8988            if (typeof callback === 'function') callback();
8989        }
8990    }
8991
8992    let refreshInFlight = Promise.resolve();
8993    function refreshCart(callback) {
8994        refreshInFlight = refreshInFlight.finally(() => _refreshCartInner(callback));
8995        return refreshInFlight;
8996    }
8997
8998    // Qty-Update-Queue: serialisiert mehrere schnelle qty+/-Klicks, sonst
8999    // gehen die fetches parallel raus -> Shopware last-write-wins -> letzte
9000    // Klicks "verloren". Mit Queue wartet Klick N auf N-1.
9001    let qtyInFlight = Promise.resolve();
9002    function enqueueQty(task) {
9003        qtyInFlight = qtyInFlight.finally(task).catch(e => console.warn('[EVC31] qty queue', e));
9004        return qtyInFlight;
9005    }
9006
9007    // ============ FORM SUBMITS (qty change, line-item delete, coupon) =======
9008    function triggerShopwareRemove(lineItemId, offcanvas, container, showLoaderFlag = true) {
9009        if (showLoaderFlag && container) showLoader(container, 'Wird entfernt...');
9010        const form = offcanvas.querySelector(`form[action*="delete/${lineItemId}"]`);
9011        if (!form) {
9012            console.warn('[EVC31] No delete-form for lineItemId=' + lineItemId);
9013            hideLoader(container);
9014            return false;
9015        }
9016        submitOffcanvasForm(form, container);
9017        return true;
9018    }
9019
9020    async function submitOffcanvasForm(form, container) {
9021        let res = null;
9022        try {
9023            const fd = new FormData(form);
9024            fd.delete('redirectTo');
9025            fd.delete('redirectParameters');
9026            const body = new URLSearchParams();
9027            for (const [k, v] of fd.entries()) body.append(k, v);
9028            res = await fetch(form.action, {
9029                method: form.method || 'POST',
9030                body,
9031                headers: {
9032                    'Content-Type': 'application/x-www-form-urlencoded',
9033                    'X-Requested-With': 'XMLHttpRequest'
9034                },
9035                credentials: 'same-origin'
9036            });
9037            if (!res.ok) console.warn('[EVC31] form submit non-OK', res.status, form.action);
9038        } catch (e) {
9039            console.warn('[EVC31] form submit failed', e);
9040        }
9041        refreshCart();
9042    }
9043
9044    // ============ EXTRACT + BUILD UI =======================================
9045    function extractData(offcanvas) {
9046        const hiddenInfo = offcanvas.querySelector('.hidden-line-items-information');
9047        const hiddenItems = hiddenInfo?.querySelectorAll('.hidden-line-item') || [];
9048
9049        const items = [];
9050        let subtotal = 0;
9051        let discountTotal = 0;
9052        STATE.activeCoupons = [];
9053        STATE.totalSavings = 0;
9054        STATE.originalTotal = 0;
9055
9056        hiddenItems.forEach(hi => {
9057            const id = hi.dataset.id;
9058            const name = hi.dataset.name;
9059            const qty = parseInt(hi.dataset.quantity) || 1;
9060            const unitPrice = parseFloat(hi.dataset.price) || 0;
9061            const totalPrice = unitPrice * qty;
9062
9063            if (unitPrice < 0) {
9064                discountTotal += Math.abs(totalPrice);
9065                const codeMatch = name.match(/([A-Z0-9]+)$/i);
9066                const code = codeMatch ? codeMatch[1] : name;
9067                STATE.activeCoupons.push({ id, name, code, amount: Math.abs(totalPrice) });
9068                STATE.totalSavings += Math.abs(totalPrice);
9069                return;
9070            }
9071
9072            subtotal += totalPrice;
9073
9074            const lineItem = offcanvas.querySelector(`.line-item form[action*="${id}"]`)?.closest('.line-item');
9075            const imgEl = lineItem?.querySelector('.line-item-img');
9076            const labelLink = lineItem?.querySelector('.line-item-label');
9077            const variantEl = lineItem?.querySelector('.line-item-details-characteristics');
9078
9079            let originalPrice = null;
9080            const discountBadge = lineItem?.querySelector('.ev-option-discount .ev-discount-amount');
9081            if (discountBadge) {
9082                const match = discountBadge.textContent.match(/[\d,.]+/);
9083                if (match) {
9084                    const savedAmount = parseFloat(match[0].replace('.', '').replace(',', '.'));
9085                    if (savedAmount > 0) {
9086                        originalPrice = totalPrice + savedAmount;
9087                        STATE.totalSavings += savedAmount;
9088                    }
9089                }
9090            }
9091            if (!originalPrice) {
9092                const listPriceEl = lineItem?.querySelector('.line-item-unit-price-list, .text-decoration-line-through');
9093                if (listPriceEl) {
9094                    const match = listPriceEl.textContent.match(/[\d,.]+/);
9095                    if (match) {
9096                        originalPrice = parseFloat(match[0].replace('.', '').replace(',', '.')) * qty;
9097                        STATE.totalSavings += originalPrice - totalPrice;
9098                    }
9099                }
9100            }
9101
9102            STATE.originalTotal += originalPrice || totalPrice;
9103
9104            items.push({
9105                id, name, qty, unitPrice, totalPrice, originalPrice,
9106                url: labelLink?.href || '#',
9107                image: imgEl?.src || '',
9108                variant: variantEl?.textContent?.trim() || '',
9109                /* B2B: Obergrenze fuer das Mengen-Select aus Shopwares eigenem Feld (max=50), Fallback 50 */
9110                maxQty: parseInt(offcanvas.querySelector(`form[action*="change-quantity/${id}"] input[name="quantity"]`)?.max) || 50
9111            });
9112        });
9113
9114        const discountedSubtotal = subtotal - discountTotal;
9115
9116        // Versand-Source-of-Truth: data-shipping vom hidden-line-items-information
9117        // ist der von Shopware bereits berechnete reale Versandwert. Bei eBook-only
9118        // Cart = 0, bei Free-Shipping-Rule = 0, sonst CONFIG.shippingCost. Damit
9119        // entfaellt die JS-Heuristik (freeShippingAt - shippingCost) komplett.
9120        const realShipping = parseFloat(hiddenInfo?.dataset.shipping) || 0;
9121        const shipping = realShipping;
9122
9123        // Versand-UI nur zeigen wenn Cart versand-relevant: entweder aktuell
9124        // Versand > 0, oder Warenwert >= Free-Shipping-Schwelle (Free-Shipping
9125        // greift). Bei eBook-only unter Schwelle: Versand-UI komplett ausblenden.
9126        const hasShippingDisplay = realShipping > 0 || discountedSubtotal >= CONFIG.freeShippingAt;
9127
9128        if (hasShippingDisplay && realShipping === 0) {
9129            STATE.totalSavings += CONFIG.shippingCost;
9130            STATE.originalTotal += CONFIG.shippingCost;
9131        }
9132        const total = subtotal - discountTotal + shipping;
9133
9134        STATE.shippingDone = hasShippingDisplay && realShipping === 0;
9135        STATE.hasShippingDisplay = hasShippingDisplay;
9136        if (STATE.isFirstLoad) STATE.isFirstLoad = false;
9137
9138        return { items, subtotal, discountTotal, shipping, total };
9139    }
9140
9141    function buildHTML(data) {
9142        const itemCount = data.items.reduce((sum, i) => sum + i.qty, 0);
9143
9144        const discountedSubtotalForHint = Math.max(0, data.subtotal - data.discountTotal);
9145        const shipRemaining = Math.max(0, CONFIG.freeShippingAt - discountedSubtotalForHint);  // Fix 04.08.: Schwelle gilt fuer den WARENWERT (Shopware-Rule cartPositionPrice >= 75), Versand zaehlt NICHT mit - vorher wurden 4,95 EUR zu wenig gemeldet.
9146        /* SS26 21.08. (Patrick): nur EIN kurzer Satz und nur solange der Gratisversand NICHT
9147           erreicht ist - ab der Schwelle verschwindet der Hinweis komplett. Platz: Footer,
9148           direkt ueber dem Gutschein-Feld (siehe unten), damit oben der Aktionsbanner steht. */
9149        /* Rabatt-Tags je Artikel (COMPACT): Shopware haengt den Rabatt als eigene Zeile an den Korb, nicht an den
9150           Artikel. Prozent aus dem Promotion-Namen ("20 % Rabatt: SOMMER20", "Haendlerrabatt 10 %") und NUR wenn
9151           die Kontrollsumme aufgeht (Warenwert x % = Rabattbetrag, +-2 ct) -> sonst keine Tags (fail-closed,
9152           z.B. produktbeschraenkte Codes oder Absolut-Rabatte). */
9153        const promoName = STATE.activeCoupons[0]?.name || '';
9154        const promoPct = parseFloat((promoName.match(/(\d+(?:[.,]\d+)?)\s*%/) || [0, '0'])[1].replace(',', '.')) || 0;
9155        const promoUniform = COMPACT && promoPct > 0 && Math.abs(data.subtotal * promoPct / 100 - data.discountTotal) < 0.02;
9156        const promoPctLabel = String(promoPct).replace('.', ',');
9157
9158        const shipText = `Gratis Versand ab ${formatPrice(CONFIG.freeShippingAt)}`;
9159
9160        /* B2B: keine Chip-Box, sondern eine zweite kleine Trust-Zeile direkt ueber dem Kauf-Knopf. */
9161        const shippingHintHTML = (!STATE.shippingDone && shipRemaining > 0) ? (COMPACT ? `<div class="evc-trust evc-trust-ship">
9162            <span class="evc-ship-hint-icon">🚚</span>
9163            <span>${shipText}</span>
9164        </div>` : `<div class="evc-ship-hint">
9165            <span class="evc-ship-hint-icon">🚚</span>
9166            <span class="evc-ship-hint-msg">${shipText}</span>
9167        </div>`) : '';
9168
9169        let itemsHTML = '';
9170        if (data.items.length === 0) {
9171            itemsHTML = `<div class="evc-empty">
9172                <div class="evc-empty-icon">🛒</div>
9173                <h4>Dein Warenkorb ist leer</h4>
9174                <p>Entdecke unsere Produkte!</p>
9175                <button class="evc-empty-btn" data-action="shop">Jetzt shoppen</button>
9176            </div>`;
9177        } else {
9178            data.items.forEach(item => {
9179                let priceHTML = `<span>${formatPrice(item.totalPrice)}</span>`;
9180                if (promoUniform && item.totalPrice > 0) {   /* kein Tag an 0,00-€-Positionen (Gratis-eBook) */
9181                    const reduced = Math.round(item.totalPrice * (100 - promoPct)) / 100;
9182                    priceHTML = `<span class="evc-price-new">${formatPrice(reduced)}</span><span class="evc-price-old">${formatPrice(item.totalPrice)}</span><span class="evc-price-tag">-${promoPctLabel} %</span>`;
9183                } else if (item.originalPrice && item.originalPrice > item.totalPrice) {
9184                    priceHTML = `<span class="evc-item-price-old">${formatPrice(item.originalPrice)}</span><span>${formatPrice(item.totalPrice)}</span>`;
9185                }
9186
9187                /* B2B (Prototyp v4, 27.08.): dieselbe Box "- 1 +", aber 24px hoch auf der Preislinie; ueber der
9188                   Zahl liegt ein unsichtbares <select> (1..maxQty) -> iPhone oeffnet das native Rad, Desktop
9189                   ein Dropdown. Das Zahlenfeld bleibt die Quelle fuer +/- (bestehender Klick-Handler). */
9190                const qtyOptions = COMPACT ? Array.from({ length: Math.max(item.qty, item.maxQty) }, (_, i) => `<option value="${i + 1}"${i + 1 === item.qty ? ' selected' : ''}>${i + 1}</option>`).join('') : '';
9191                const qtyField = COMPACT
9192                    ? (IS_FINE_POINTER
9193                        ? `<input type="number" class="evc-qty-input" value="${item.qty}" min="1" max="${item.maxQty}" inputmode="numeric" aria-label="Menge">`
9194                        : `<span class="evc-qty-val"><input type="number" class="evc-qty-input" value="${item.qty}" min="1" tabindex="-1" readonly><select class="evc-qty-select" aria-label="Menge">${qtyOptions}</select></span>`)
9195                    : `<input type="number" class="evc-qty-input" value="${item.qty}" min="1">`;
9196                const controls = `<div class="evc-qty" data-qty-id="${item.id}">
9197                    <button class="evc-qty-btn" data-dir="minus">−</button>
9198                    ${qtyField}
9199                    <button class="evc-qty-btn" data-dir="plus">+</button>
9200                </div>`;
9201
9202                itemsHTML += `<div class="evc-item${COMPACT ? ' evc-item-b2b' : ''}" data-item-id="${item.id}">
9203                    <div class="evc-item-img">
9204                        ${item.image ? `<img src="${item.image}" alt="">` : '<span style="font-size:28px">📦</span>'}
9205                    </div>
9206                    <div class="evc-item-body">
9207                        <div class="evc-item-name">${item.name}</div>
9208                        ${(IS_B2B && /^\d+er$/i.test(item.variant)) ? '' : `<div class="evc-item-variant">${item.variant}</div>`}
9209                        <div class="evc-item-price">${priceHTML}${COMPACT ? controls : ''}</div>
9210                        ${COMPACT ? '' : `<div class="evc-item-controls">
9211                            ${controls}
9212                            <button class="evc-remove-btn" data-action="remove" data-id="${item.id}"><svg viewBox="0 0 24 24"><path d="M3 6h18M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6M10 11v6M14 11v6"/></svg></button>
9213                        </div>`}
9214                    </div>
9215                    ${COMPACT ? `<button class="evc-item-x" type="button" data-action="remove" data-id="${item.id}" aria-label="Artikel entfernen">✕</button>` : ''}
9216                </div>`;
9217            });
9218        }
9219
9220        let couponRow = '';
9221        if ((IS_B2B || !COMPACT) && STATE.activeCoupons.length > 0) {   /* B2C-COMPACT: keine Code-Zeile ("Du sparst" reicht); B2B: Haendlerrabatt-Zeile bleibt (Patrick 27.08.) */
9222            const c = STATE.activeCoupons[0];
9223            /* B2B: Promotion-Name als Label ("Haendlerrabatt 10 %"), kein Kreuz - das Kreuz
9224               loeschte das Promotion-Line-Item, der Haendler verlor seinen eigenen Rabatt. */
9225            couponRow = IS_B2B ? `<div class="evc-row">
9226                <span class="evc-row-label">${c.name}</span>
9227                <span class="evc-row-value green">-${formatPrice(c.amount)}</span>
9228            </div>` : `<div class="evc-row">
9229                <span class="evc-row-label">Code</span>
9230                <span class="evc-row-value green">
9231                    <span class="evc-coupon-pill">${c.code}<button class="evc-coupon-pill-x" data-action="remove-coupon" data-id="${c.id}">✕</button></span>
9232                    -${formatPrice(c.amount)}
9233                </span>
9234            </div>`;
9235        }
9236
9237        const couponOpen = STATE.activeCoupons.length > 0 ? ' open' : '';
9238
9239        let savingsRow = '';
9240        if (STATE.totalSavings > 0) {
9241            savingsRow = `<div class="evc-row">
9242                <span class="evc-row-label">Du sparst</span>
9243                <span class="evc-row-value red">-${formatPrice(STATE.totalSavings)}</span>
9244            </div>`;
9245        }
9246
9247        const shippingValue = data.shipping === 0
9248            ? `<span class="evc-row-value-old">${formatPrice(CONFIG.shippingCost)}</span><span>Gratis</span>`
9249            : formatPrice(data.shipping);
9250        const shippingClass = data.shipping === 0 ? 'green' : '';
9251
9252        const shippingRow = STATE.hasShippingDisplay ? `<div class="evc-row">
9253                        <span class="evc-row-label">Versand in DE</span>
9254                        <span class="evc-row-value ${shippingClass}">${shippingValue}</span>
9255                    </div>` : '';
9256
9257        const originalTotalWithShipping = STATE.originalTotal + (data.shipping === 0 ? 0 : CONFIG.shippingCost);
9258        const showOriginalTotal = originalTotalWithShipping > data.total + 0.01;
9259        const totalStrike = showOriginalTotal ? `<span class="evc-total-original">${formatPrice(originalTotalWithShipping)}</span>` : '';
9260
9261        /* Zahlungsmittel-Icons: B2C als Leiste unter dem Kauf-Knopf (wie bisher), B2B klein rechts
9262           neben der Trust-Zeile (27.08., Patrick: untere Leiste faellt weg, mehr Platz). */
9263        const paymentIconsHTML = `<img src="https://echt-vital.de/media/37/76/00/1754597203/Footer-Zahlungsmittel-PP.svg" alt="PayPal"><img src="https://echt-vital.de/media/a7/07/b5/1754597203/Footer-Zahlungsmittel-Klarna.svg" alt="Klarna"><img src="https://echt-vital.de/media/88/3c/a7/1754597203/Footer-Zahlungsmittel-Visa.svg" alt="Visa"><img src="https://echt-vital.de/media/60/75/4c/1754597203/Footer-Zahlungsmittel-MC.svg" alt="Mastercard"><img src="https://echt-vital.de/media/f6/df/2a/1754597203/Footer-Zahlungsmittel-Rechnung.svg" alt="Rechnung"><img src="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64.92 36.19'><text x='32.46' y='20.9' text-anchor='middle' font-family='Arial Black,Arial,Helvetica,sans-serif' font-weight='900' font-size='7.6' letter-spacing='0.2' fill='%23111'>VORKASSE</text></svg>" alt="Vorkasse">`;
9264        /* B2B: nur die im Haendler-Kanal freigeschalteten Zahlarten (27.08. ausgelesen): PayPal + Rechnung.
9265           Keine Vorkasse, kein Klarna, keine Karte im B2B-Kanal. */
9266        const paymentIconsB2BHTML = `<img src="https://echt-vital.de/media/37/76/00/1754597203/Footer-Zahlungsmittel-PP.svg" alt="PayPal"><img src="https://echt-vital.de/media/f6/df/2a/1754597203/Footer-Zahlungsmittel-Rechnung.svg" alt="Rechnung">`;
9267
9268        /* B2B: kein Gutscheinfeld im Warenkorb. Haendlerrabatte sind automatische Promotions;
9269           Codes bleiben im Checkout eingebbar. */
9270        /* COMPACT (B2C): kein Aufklapper, Feld + OK stehen immer da; aktiver Code als graue Pille IM Feld mit x
9271           (= remove-coupon), OK solange weg. Die Pille traegt auch .evc-coupon-pill, damit das Aktions-Bundle
9272           (codeInCartDom) den aktiven Code weiter erkennt. Code-Text: erstes Grossbuchstaben-Token des Namens. */
9273        const activeCode = STATE.activeCoupons[0] ? ((STATE.activeCoupons[0].name.match(/\b[A-Z][A-Z0-9]{3,}\b/) || [STATE.activeCoupons[0].code])[0]) : '';
9274        const couponBlockHTML = IS_B2B ? '' : (COMPACT ? `<div class="evc-coupon-msg-wrap" id="evc-coupon-msg-wrap">
9275                    <div class="evc-coupon-msg-inner">
9276                        <div class="evc-coupon-msg" id="evc-coupon-msg"></div>
9277                    </div>
9278                </div>
9279                <div class="evc-coupon-row evc-coupon-row-neu">${STATE.activeCoupons[0]
9280                    ? `<div class="evc-coupon-field"><span class="evc-coupon-pill evc-code-pill"><svg viewBox="0 0 24 24">
9280<path d="M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z"/><circle cx="7" cy="7" r="1.2"/></svg>${activeCode}<button type="button" class="evc-code-pill-x" data-action="remove-coupon" data-id="${STATE.activeCoupons[0].id}" aria-label="Code entfernen">✕</button></span></div>`
9281                    : `<input type="text" class="evc-coupon-input" id="evc-coupon-input" placeholder="Gutscheincode eingeben..."><button class="evc-coupon-submit" data-action="submit-coupon">OK</button>`}</div>` : `<div class="evc-coupon-msg-wrap" id="evc-coupon-msg-wrap">
9282                    <div class="evc-coupon-msg-inner">
9283                        <div class="evc-coupon-msg" id="evc-coupon-msg"></div>
9284                    </div>
9285                </div>
9286
9287                <div class="evc-coupon-toggle${couponOpen}" data-action="toggle-coupon">
9288                    <span class="evc-coupon-toggle-left"><span class="evc-coupon-toggle-icon">🏷️</span>Gutscheincode?</span>
9289                    <span class="evc-coupon-toggle-arrow">▾</span>
9290                </div>
9291                <div class="evc-coupon-expand${couponOpen}" id="evc-coupon-expand">
9292                    <div class="evc-coupon-expand-inner">
9293                        <div class="evc-coupon-row">
9294                            <input type="text" class="evc-coupon-input" id="evc-coupon-input" placeholder="Gutscheincode eingeben...">
9295                            <button class="evc-coupon-submit" data-action="submit-coupon">OK</button>
9296                        </div>
9297                    </div>
9298                </div>`);
9299
9300        return `<div class="evc-wrapper">
9301            <div class="evc-loader-overlay">
9302                <div class="evc-loader-spinner"></div>
9303                <div class="evc-loader-text">Wird aktualisiert...</div>
9304            </div>
9305
9306            <div class="evc-header${COMPACT ? ' evc-header-compact' : ''}" data-action="close-header">
9307                <div class="evc-header-icon">🛒</div>
9308                <div class="evc-header-title">Warenkorb · ${itemCount} Artikel</div>
9309                <button class="evc-header-close">✕</button>
9310            </div>
9311
9312            <div class="evc-items${COMPACT ? ' evc-items-b2b' : ''}${IS_B2B ? '' : ' evc-items-b2c'}">${itemsHTML}</div>
9313
9314            <div class="evc-footer${COMPACT ? ' evc-footer-compact' : ''}" data-subtotal="${data.subtotal}">
9315                ${COMPACT ? '' : shippingHintHTML}
9316
9317                ${couponBlockHTML}
9318
9319                <div class="evc-totals">
9320                    ${shippingRow}
9321                    ${couponRow}
9322                    ${savingsRow}
9323                    ${COMPACT ? '' : `<div class="evc-row total">
9324                        <span class="evc-row-label">Gesamt</span>
9325                        <span class="evc-row-value">${totalStrike}${formatPrice(data.total)}</span>
9326                    </div>`}
9327                </div>
9328
9329                ${COMPACT ? '' : `<div class="evc-trust">
9330                    <span class="evc-trust-check">✓</span>
9331                    <span>Sicher einkaufen mit 100 Tage Geld-Zurück-Garantie</span>
9332                </div>`}
9333                ${COMPACT ? shippingHintHTML : ''}
9334
9335                <button class="evc-checkout${COMPACT ? ' evc-checkout-compact' : ''}" data-action="checkout">${COMPACT ? 'Zur Kasse · ' + formatPrice(data.total) : 'Sicher zur Kasse'}</button>
9336                ${COMPACT ? `<div class="evc-trust evc-trust-compact"><span class="evc-trust-lock"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M7.5 10.5V8a4.5 4.5 0 0 1 9 0v2.5" fill="none" stroke="#6b7280" stroke-width="2.4" stroke-linecap="round"/><rect x="4" y="10.5" width="16" height="11" rx="2.6" fill="#E8B430"/><circle cx="12" cy="15.2" r="1.7" fill="#7a5a10"/><rect x="11.15" y="15.5" width="1.7" height="3.2" rx=".7" fill="#7a5a10"/></svg></span><span>100 Tage Geld-Zurück-Garantie</span></div>` : ''}
9337
9338                <div class="evc-payments${COMPACT ? ' evc-payments-compact' : ''}">${IS_B2B ? paymentIconsB2BHTML : paymentIconsHTML}</div>
9339            </div>
9340        </div>`;
9341    }
9342
9343    function attachEvents(offcanvas, container) {
9344        // Container-Click-Handler dedup: alten entfernen vor neuem.
9345        // Event-Delegation: qty-Buttons werden NICHT mehr direkt gebunden,
9346        // sondern ueber diesen einen Handler dispatched (kein Memory-Leak bei
9347        // wiederholten applyUI-Cycles).
9348        if (container.__evcClickHandler) {
9349            container.removeEventListener('click', container.__evcClickHandler);
9350        }
9351        const clickHandler = (e) => {
9352            // 1) qty +/- via Delegation
9353            const qtyBtn = e.target.closest('.evc-qty-btn');
9354            if (qtyBtn && container.contains(qtyBtn)) {
9355                const qtyEl = qtyBtn.closest('.evc-qty');
9356                const id = qtyEl?.dataset.qtyId;
9357                const input = qtyEl?.querySelector('.evc-qty-input');
9358                if (!id || !input) return;
9359                showLoader(container, 'Wird aktualisiert...');
9360                let val = parseInt(input.value) || 1;
9361                val = qtyBtn.dataset.dir === 'plus' ? val + 1 : Math.max(1, val - 1);
9362                input.value = val;
9363                const origForm = offcanvas.querySelector(`form[action*="change-quantity/${id}"]`);
9364                const origInput = origForm?.querySelector('input[name="quantity"]');
9365                if (!origForm || !origInput) {
9366                    console.warn('[EVC31] No change-quantity form for id=' + id);
9367                    hideLoader(container);
9368                    return;
9369                }
9370                origInput.value = val;
9371                // Queue: sequentielle Submits statt parallele
9372                enqueueQty(() => submitOffcanvasForm(origForm, container));
9373                return;
9374            }
9375            // 2) Andere data-action
9376            const target = e.target.closest('[data-action]');
9377            if (!target) return;
9378            const action = target.dataset.action;
9379            const id = target.dataset.id;
9380            switch (action) {
9381                case 'close-header':
9382                    closeCart();
9383                    break;
9384                case 'shop':
9385                    closeCart();
9386                    window.location.href = CONFIG.bestsellerUrl;
9387                    break;
9388                case 'remove':
9389                    triggerShopwareRemove(id, offcanvas, container);
9390                    break;
9391                case 'toggle-coupon': {
9392                    const tgl = container.querySelector('.evc-coupon-toggle');
9393                    const exp = container.querySelector('#evc-coupon-expand');
9394                    if (tgl && exp) { tgl.classList.toggle('open'); exp.classList.toggle('open'); }
9395                    break;
9396                }
9397                case 'submit-coupon':
9398                    submitCoupon(offcanvas, container);
9399                    break;
9400                case 'remove-coupon':
9401                    triggerShopwareRemove(id, offcanvas, container);
9402                    break;
9403                case 'checkout':
9404                    window.location.href = '/checkout/confirm';
9405                    break;
9406            }
9407        };
9408        container.addEventListener('click', clickHandler);
9409        container.__evcClickHandler = clickHandler;
9410
9411        /* B2B: Menge per Select (iPhone-Rad / Dropdown). Gleicher Weg wie +/-: change-quantity-Form
9412           befuellen und ueber die Queue abschicken. Dedup wie beim Click-Handler. */
9413        if (COMPACT) {
9414            if (container.__evcChangeHandler) {
9415                container.removeEventListener('change', container.__evcChangeHandler);
9416            }
9417            const changeHandler = (e) => {
9418                /* Quelle: Select (Touch) ODER direkt getippte Zahl (Maus). Clamp auf 1..max. */
9419                const src = e.target.closest('.evc-qty-select, .evc-qty-input');
9420                if (!src || !container.contains(src)) return;
9421                const qtyEl = src.closest('.evc-qty');
9422                const id = qtyEl?.dataset.qtyId;
9423                const input = qtyEl?.querySelector('.evc-qty-input');
9424                if (!id || !input) return;
9425                const max = parseInt(src.max || input.max) || 50;
9426                const val = Math.min(max, Math.max(1, parseInt(src.value) || 1));
9427                input.value = val;
9428                if (val === parseInt(input.defaultValue)) return;   /* nichts geaendert (z.B. auf 0 getippt -> 1) */
9429                showLoader(container, 'Wird aktualisiert...');
9430                const origForm = offcanvas.querySelector(`form[action*="change-quantity/${id}"]`);
9431                const origInput = origForm?.querySelector('input[name="quantity"]');
9432                if (!origForm || !origInput) {
9433                    console.warn('[EVC31] No change-quantity form for id=' + id);
9434                    hideLoader(container);
9435                    return;
9436                }
9437                origInput.value = val;
9438                enqueueQty(() => submitOffcanvasForm(origForm, container));
9439            };
9440            container.addEventListener('change', changeHandler);
9441            container.__evcChangeHandler = changeHandler;
9442            /* Enter im getippten Feld = uebernehmen (Blur loest das change-Event aus); Fokus = Zahl markiert */
9443            if (container.__evcKeyHandler) container.removeEventListener('keydown', container.__evcKeyHandler);
9444            const keyHandler = (e) => {
9445                if (e.key === 'Enter' && e.target.closest('.evc-qty-input') && container.contains(e.target)) { e.preventDefault(); e.target.blur(); }
9446            };
9447            container.addEventListener('keydown', keyHandler);
9448            container.__evcKeyHandler = keyHandler;
9449            if (container.__evcFocusHandler) container.removeEventListener('focusin', container.__evcFocusHandler);
9450            const focusHandler = (e) => { const inp = e.target.closest('.evc-qty-input'); if (inp && !inp.readOnly) inp.select(); };
9451            container.addEventListener('focusin', focusHandler);
9452            container.__evcFocusHandler = focusHandler;
9453        }
9454
9455        // Coupon-Input Enter-Key: ein Listener pro Render, ID-Element ist
9456        // jedes Mal neu (replaceWith), daher kein Cleanup noetig.
9457        container.querySelector('#evc-coupon-input')?.addEventListener('keyup', e => {
9458            if (e.key === 'Enter') submitCoupon(offcanvas, container);
9459        });
9460    }
9461
9462    function submitCoupon(offcanvas, container) {
9463        const input = container.querySelector('#evc-coupon-input');
9464        const code = input?.value.trim();
9465        if (!code) return;
9466        showLoader(container, 'Code wird geprüft...');
9467        const origForm = offcanvas.querySelector('.offcanvas-cart-promotion-form');
9468        const origInput = origForm?.querySelector('input[name="code"]');
9469        if (origForm && origInput) {
9470            origInput.value = code;
9471            submitOffcanvasForm(origForm, container);
9472            input.value = '';
9473        } else {
9474            console.warn('[EVC31] No promotion-form found');
9475            hideLoader(container);
9476        }
9477    }
9478
9479    function showCouponMessage(container, message, isSuccess) {
9480        const wrap = container.querySelector('#evc-coupon-msg-wrap');
9481        const msgEl = container.querySelector('#evc-coupon-msg');
9482        if (!wrap || !msgEl) return;
9483        hideLoader(container);
9484        msgEl.textContent = message;
9485        msgEl.className = 'evc-coupon-msg ' + (isSuccess ? 'success' : 'error');
9486        wrap.classList.add('show');
9487        setTimeout(() => wrap.classList.remove('show'), 4000);
9488    }
9489
9490    // ============ APPLY UI + WATCH =========================================
9491    function applyUI(offcanvas) {
9492        const cart = offcanvas.querySelector('.offcanvas-cart');
9493        if (!cart) return;
9494
9495        const existing = cart.querySelector('#evc-container');
9496        const data = extractData(offcanvas);
9497        const html = buildHTML(data);
9498
9499        if (!existing) {
9500            const container = document.createElement('div');
9501            container.id = 'evc-container';
9502            container.innerHTML = html;
9503            container.__evcLastHtml = html;   /* R13d */
9504            cart.classList.add('evc-active');
9505            cart.insertBefore(container, cart.firstChild);
9506            attachEvents(offcanvas, container);
9507            watchCouponMessages(offcanvas, container);
9508            watchCartUpdates(offcanvas, container);
9509            setTimeout(() => hideLoader(container), 30);
9510        } else {
9511            /* R13d: identischer Stand (direkter Aufruf aus dem Refresh UND der Observer 30 ms spaeter) -> nicht erneut
9512               tauschen, sonst springt die Liste und das Bestseller-Widget haengt sich doppelt neu ein. */
9513            if (existing.__evcLastHtml === html && existing.querySelector('.evc-wrapper')) {
9514                setTimeout(() => hideLoader(existing), 30);
9515                return;
9516            }
9517            const wrapper = existing.querySelector('.evc-wrapper');
9518            const temp = document.createElement('div');
9519            temp.innerHTML = html;
9520            const newWrapper = temp.querySelector('.evc-wrapper');
9521            if (wrapper && newWrapper) {
9522                /* R13e: Scrollposition der Artikelliste und eingehaengte Widgets ([data-ev-widget], z.B. das
9523                   Bestseller-Karussell) ueber den Tausch retten - sonst springt die Liste nach oben und das Widget blinkt. */
9524                const oldItems = wrapper.querySelector('.evc-items');
9525                const newItems = newWrapper.querySelector('.evc-items');
9526                const keepScroll = oldItems ? oldItems.scrollTop : 0;
9527                const keepWidgets = oldItems ? Array.from(oldItems.querySelectorAll('[data-ev-widget]')) : [];
9528                wrapper.replaceWith(newWrapper);
9529                if (newItems) {
9530                    keepWidgets.forEach(w => newItems.appendChild(w));
9531                    if (keepScroll) newItems.scrollTop = keepScroll;
9532                }
9533            } else {
9534                existing.innerHTML = html;
9535            }
9536            existing.__evcLastHtml = html;
9537            attachEvents(offcanvas, existing);
9538            watchCouponMessages(offcanvas, existing);
9539            watchCartUpdates(offcanvas, existing);   /* R13d: Observer hingen am ERSETZTEN hidden-line-items-Knoten -> neu binden */
9540            setTimeout(() => hideLoader(existing), 30);
9541        }
9542    }
9543
9544    function watchCouponMessages(offcanvas, container) {
9545        // Alten Observer disconnecten, sonst Memory-Leak bei wiederholten applyUI.
9546        if (container.__evcCouponObserver) {
9547            try { container.__evcCouponObserver.disconnect(); } catch (e) {}
9548        }
9549        const processed = new WeakSet();
9550        const check = () => {
9551            const alerts = offcanvas.querySelectorAll('.flashbags .alert, .alert');
9552            alerts.forEach(alert => {
9553                if (processed.has(alert)) return;
9554                processed.add(alert);
9555                const isSuccess = alert.classList.contains('alert-success');
9556                const content = alert.querySelector('.alert-content-container, .alert-content');
9557                const message = content?.textContent?.trim() || alert.textContent.trim();
9558                showCouponMessage(container, message, isSuccess);
9559            });
9560        };
9561        check();
9562        const obs = new MutationObserver(check);
9563        obs.observe(offcanvas, { childList: true, subtree: true });
9564        container.__evcCouponObserver = obs;
9565    }
9566
9567    function watchCartUpdates(offcanvas, container) {
9568        // Alte Observer disconnecten
9569        if (container.__evcInfoObserver) {
9570            try { container.__evcInfoObserver.disconnect(); } catch (e) {}
9571        }
9572        if (container.__evcAddedObserver) {
9573            try { container.__evcAddedObserver.disconnect(); } catch (e) {}
9574        }
9575        const hiddenInfo = offcanvas.querySelector('.hidden-line-items-information');
9576        if (hiddenInfo) {
9577            let lastItemCount = hiddenInfo.querySelectorAll('.hidden-line-item').length;
9578            let lastTotal = hiddenInfo.dataset.value;
9579            const infoObs = new MutationObserver(() => {
9580                const newItemCount = hiddenInfo.querySelectorAll('.hidden-line-item').length;
9581                const newTotal = hiddenInfo.dataset.value;
9582                if (newItemCount !== lastItemCount || newTotal !== lastTotal) {
9583                    lastItemCount = newItemCount;
9584                    lastTotal = newTotal;
9585                    showLoader(container, 'Wird aktualisiert...');
9586                    setTimeout(() => applyUI(offcanvas), 30);
9587                }
9588            });
9589            infoObs.observe(hiddenInfo, { childList: true, subtree: true, attributes: true });
9590            container.__evcInfoObserver = infoObs;
9591        }
9592        const addedObs = new MutationObserver(muts => {
9593            for (const m of muts) {
9594                if (m.target.closest('#evc-container')) continue;
9595                for (const n of m.addedNodes) {
9596                    if (n.nodeType !== 1) continue;
9597                    if (n.closest?.('#evc-container')) continue;
9598                    if (n.classList?.contains('hidden-line-items-information') ||
9599                        n.querySelector?.('.hidden-line-items-information') ||
9600                        n.classList?.contains('offcanvas-cart-items')) {
9601                        showLoader(container, 'Wird aktualisiert...');
9602                        setTimeout(() => applyUI(offcanvas), 30);
9603                        return;
9604                    }
9605                }
9606            }
9607        });
9608        addedObs.observe(offcanvas, { childList: true, subtree: true });
9609        container.__evcAddedObserver = addedObs;
9610    }
9611
9612    // ============ ENTRY POINT ==============================================
9613    let lastProcess = 0;
9614    let processInFlight = null;
9615    let pendingRetries = 0;
9616    let processScheduled = false;
9617
9618    // Single-flight Debouncer: Observer UND setInterval-Fallback koennen
9619    // gleichzeitig schedulen – wir lassen nur den ersten durch.
9620    function scheduleProcessCart(delay = 0) {
9621        if (processScheduled) return;
9622        processScheduled = true;
9623        setTimeout(() => {
9624            processScheduled = false;
9625            processCart();
9626        }, delay);
9627    }
9628
9629    function processCart() {
9630        if (Date.now() - lastProcess < 100) return;
9631        lastProcess = Date.now();
9632        if (processInFlight) return processInFlight;
9633        processInFlight = (async () => {
9634            try { await _processCartInner(); }
9635            finally { processInFlight = null; }
9636        })();
9637        return processInFlight;
9638    }
9639
9640    async function _processCartInner() {
9641        if (STATE.processing) return;
9642        const offcanvas = document.querySelector('.offcanvas.cart-offcanvas.show');
9643        if (!offcanvas) return;
9644
9645        if (!offcanvas.querySelector('.evc-wrapper')) {
9646            if (!STATE.hasInitializedSession) {
9647                STATE.hasInitializedSession = true;
9648                STATE.isFirstLoad = true;
9649                STATE.shippingDone = false;
9650            }
9651        }
9652
9653        if (offcanvas.querySelector('.evc-wrapper')) return;
9654
9655        const hiddenInfo = offcanvas.querySelector('.hidden-line-items-information');
9656        if (!hiddenInfo) {
9657            if (pendingRetries < 8) {
9658                pendingRetries++;
9659                setTimeout(processCart, 80);
9660            }
9661            return;
9662        }
9663        pendingRetries = 0;
9664        applyUI(offcanvas);
9665    }
9666
9667    // Setzt CSS-Variable --evc-vh = aktuelle visual viewport height. iOS
9668    // Safari aktualisiert 100dvh nicht synchron mit URL-Bar-Kollaps; diese
9669    // JS-getriggerte Variable greift zuverlaessiger. Mit:
9670    //   - RAF-Throttle gegen Layout-Thrashing bei scroll-events
9671    //   - Pinch-Zoom-Guard (vv.scale != 1 -> nutze innerHeight)
9672    //   - Math.max(innerHeight, vv.height) -> verhindert Schrumpfen bei Keyboard
9673    //   - Delta-Guard: setProperty nur wenn change >= 1px
9674    let evcVhRaf = 0;
9675    let evcLastVh = 0;
9676    function computeEvcViewportHeight() {
9677        const vv = window.visualViewport;
9678        const ih = window.innerHeight || 0;
9679        if (!vv) return ih;
9680        // Bei Pinch-Zoom (scale != 1): Layout stabil halten -> innerHeight
9681        if (vv.scale && Math.abs(vv.scale - 1) > 0.01) return ih;
9682        // visualViewport.height direkt (Codex-Korrektur: NICHT Math.max,
9683        // sonst Hoehe-Ueberhang bei iOS-Chrome-Toggle = Hohlraum).
9684        return Math.round(vv.height || ih);
9685    }
9686    function syncViewportHeight() {
9687        if (evcVhRaf) return;
9688        evcVhRaf = window.requestAnimationFrame(() => {
9689            evcVhRaf = 0;
9690            const h = computeEvcViewportHeight();
9691            if (!h || !Number.isFinite(h)) return;
9692            if (Math.abs(h - evcLastVh) < 1) return;
9693            evcLastVh = h;
9694            document.documentElement.style.setProperty('--evc-vh', h + 'px');
9695        });
9696    }
9697    function bindViewportSync() {
9698        if (window.__EVC31_VH_BOUND) return;
9699        window.__EVC31_VH_BOUND = true;
9700        syncViewportHeight();
9701        const vv = window.visualViewport;
9702        if (vv) {
9703            vv.addEventListener('resize', syncViewportHeight, { passive: true });
9704            vv.addEventListener('scroll', syncViewportHeight, { passive: true });
9705        }
9706        window.addEventListener('resize', syncViewportHeight, { passive: true });
9707        window.addEventListener('orientationchange', syncViewportHeight, { passive: true });
9708        window.addEventListener('pageshow', syncViewportHeight, { passive: true });
9709    }
9710
9711    // Bindet einmal global einen Backdrop-Klick-Handler. Cereal-Pro initiali-
9712    // siert Bootstrap-Offcanvas nicht, daher fehlt der eingebaute Backdrop-
9713    // Close. Wir liefern ihn manuell. Capture-Phase, damit kein anderer
9714    // Listener stopPropagation() machen kann.
9715    function bindBackdropClose() {
9716        if (window.__EVC31_BACKDROP_BOUND) return;
9717        window.__EVC31_BACKDROP_BOUND = true;
9718        document.addEventListener('click', (e) => {
9719            const t = e.target;
9720            if (!(t instanceof Element)) return;
9721            if (!t.classList.contains('offcanvas-backdrop')) return;
9722            // Nur reagieren wenn Cart offen + kein anderes Modal/Offcanvas oben drauf
9723            const cart = document.querySelector('.offcanvas.cart-offcanvas.show');
9724            if (!cart) return;
9725            if (document.querySelector('.modal.show')) return;
9726            closeCart();
9727        }, true);
9728    }
9729
9730    // Sobald Shopware das offcanvas einfuegt, warten wir die Slide-In-Animation
9731    // ab bevor unser Wrapper inserted wird. Reduziert Jank, weil Layout-Shifts
9732    // aus .evc-active erst NACH Abschluss des CSS-Transitions passieren.
9733    // Bevorzugt transitionend (echtes Signal), Fallback 380ms.
9734    function onCartInserted() {
9735        STATE.hasInitializedSession = false;
9736        document.body.classList.add('evc-cart-open'); // B3: Trusted-Badge ausblenden
9737        const oc = document.querySelector('.offcanvas.cart-offcanvas');
9738        if (!oc) return scheduleProcessCart(50);
9739
9740        let done = false;
9741        const fire = () => { if (done) return; done = true; scheduleProcessCart(0); };
9742        const cs = getComputedStyle(oc);
9743        const hasTransition = cs.transitionDuration && cs.transitionDuration !== '0s';
9744
9745        if (hasTransition) {
9746            oc.addEventListener('transitionend', (ev) => {
9747                if (ev.target === oc) fire();
9748            }, { once: true });
9749            setTimeout(fire, 380);  // Fallback knapp nach Slide-In-Dauer
9750        } else {
9751            // Kein Transition gesetzt -> nach 2 RAF rendern (naechster sauberer Paint)
9752            requestAnimationFrame(() => requestAnimationFrame(fire));
9753        }
9754    }
9755
9756    function init() {
9757        bindViewportSync();
9758        bindBackdropClose();
9759
9760        new MutationObserver(muts => {
9761            for (const m of muts) {
9762                if (m.target.closest('#evc-container')) continue;
9763                for (const n of m.addedNodes) {
9764                    if (n.nodeType !== 1) continue;
9765                    if (n.closest?.('#evc-container')) continue;
9766                    if (n.classList?.contains('cart-offcanvas') ||
9767                        n.classList?.contains('offcanvas-body') ||
9768                        n.querySelector?.('.offcanvas-cart')) {
9769                        onCartInserted();
9770                        return;
9771                    }
9772                }
9773            }
9774        }).observe(document.body, { childList: true, subtree: true });
9775
9776        setInterval(() => {
9777            const cart = document.querySelector('.offcanvas.cart-offcanvas.show');
9778            if (cart && !cart.querySelector('.evc-wrapper')) scheduleProcessCart(0);
9779            document.body.classList.toggle('evc-cart-open', !!cart); // B3: Badge-Sync (Safety)
9780        }, 400);
9781
9782        console.log('[EVC31] Ready! (freeShippingAt=' + CONFIG.freeShippingAt + 'â
9782‚¬' + (IS_B2B ? ', B2B' : '') + ')');
9783    }
9784
9785    if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', init);
9786    else init();
9787})();
9788
9789</script>
9789
9790
9791<!-- EV-CART-BESTSELLER-START v1 | "Entdecke unsere Bestseller" im Off-Canvas-Cart (nur B2C, auch im leeren Korb)
9792     Quelle: Bestseller-Kategorie 019c8aea38067ed78aff31126bd5d88c + RANK (90 Tage, Stand 2026-08-25 08:56).
9793     Messung: EvWidgetHub widget_id 'cart-bestseller', ctx 'cart' (Handbuch §7).
9794     Deploy: tools/warenkorb-bestseller/deploy_cart_bestseller.py | Doku: go-live/warenkorb-bestseller/README.md -->
9795<style>
9796/* Scope: nur innerhalb des EVC31-Cart-Containers; bewusst OHNE das Praefix .offcanvas.cart-offcanvas,
9797   das patch_cart_b2b.py als Zaehlwert prueft. Kein display am Block-Scope. */
9798#evc-container .evc-bs{margin:14px 0 2px;font-family:inherit}
9799#evc-container .evc-bs-head{font-size:15px;font-weight:700;color:var(--evc-text,#0f172a);margin:0 0 10px;line-height:1.3}
9800#evc-container .evc-bs-track{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;padding:2px 2px 4px;margin:0 -2px;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
9801#evc-container .evc-bs-track::-webkit-scrollbar{display:none}
9802#evc-container .evc-bs-card{flex:0 0 86%;scroll-snap-align:start;position:relative;display:flex;gap:10px;padding:8px;background:#fff;border:1px solid var(--evc-border,#e2e8f0);border-radius:12px;min-height:100px;box-sizing:border-box}
9803#evc-container .evc-bs-img{flex:0 0 84px;width:84px;height:84px;border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}
9804#evc-container .evc-bs-img img{width:100%;height:100%;object-fit:contain;display:block}
9805#evc-container .evc-bs-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;padding-right:44px;text-decoration:none;color:inherit}
9806#evc-container .evc-bs-body:hover{text-decoration:none;color:inherit}
9807#evc-container .evc-bs-name{font-size:13px;font-weight:600;color:var(--evc-text,#0f172a);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
9808#evc-container .evc-bs-sub{font-size:12px;color:var(--evc-muted,#64748b)}
9809#evc-container .evc-bs-rate{display:flex;align-items:center;gap:4px;font-size:11px;line-height:1;color:var(--evc-muted,#64748b);min-height:0}
9810#evc-container .evc-bs-stars{font-size:12px;letter-spacing:1px;line-height:1;background:linear-gradient(90deg,#F5B400 0%,#F5B400 var(--f,0%),#DEDEDE var(--f,0%),#DEDEDE 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
9811#evc-container .evc-bs-score{font-weight:700;color:var(--evc-text,#0f172a)}
9812#evc-container .evc-bs-price{font-size:15px;font-weight:700;color:var(--evc-text,#0f172a);margin-top:auto;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
9813#evc-container .evc-bs-old{font-size:12px;font-weight:500;color:var(--evc-muted,#64748b);text-decoration:line-through}
9814#evc-container .evc-bs-new{color:#dc2626;font-weight:700}
9815#evc-container .evc-bs-tag{position:absolute;top:6px;left:6px;padding:1px 6px;border-radius:999px;background:#dc2626;color:#fff;font-size:10px;font-weight:700;line-height:1.4;z-index:1}
9816#evc-container .evc-bs-card{position:relative}
9817#evc-container .evc-bs-add{position:absolute;right:8px;bottom:8px;width:40px;height:40px;border:0;border-radius:10px;background:var(--evc-primary,#166534);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;margin:0;overflow:visible}
9818#evc-container .evc-bs-add svg{width:21px;height:21px;stroke:#fff;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round;display:block}
9819#evc-container .evc-bs-add .evc-bs-plus{position:absolute;top:-5px;right:-5px;width:16px;height:16px;border-radius:50%;background:#fff;color:var(--evc-primary,#166534);border:1.5px solid var(--evc-primary,#166534);font-size:12px;font-weight:800;line-height:13px;text-align:center;box-sizing:border-box}
9820#evc-container .evc-bs-add:hover{background:var(--evc-primary-dark,#14532d)}
9821#evc-container .evc-bs-add[disabled]{opacity:.55;cursor:default}
9822#evc-container .evc-bs-nav{display:flex;align-items:center;justify-content:space-between;margin-top:8px;min-height:34px}
9823#evc-container .evc-bs-dots{display:flex;gap:6px;padding-left:2px}
9824#evc-container .evc-bs-dot{width:6px;height:6px;border-radius:50%;background:#d1d5db}
9825#evc-container .evc-bs-dot.is-on{background:#111827}
9826#evc-container .evc-bs-arrows{display:flex;gap:8px}
9827#evc-container .evc-bs-arr{width:34px;height:34px;border-radius:50%;border:1px solid var(--evc-border,#e2e8f0);background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;margin:0;color:#111827}
9828#evc-container .evc-bs-arr svg{width:16px;height:16px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
9829#evc-container .evc-bs-arr[disabled]{opacity:.35;cursor:default}
9830</style>
9831<script>
9832(function () {
9833  'use strict';
9834  /* Entdecke unsere Bestseller - Warenkorb-Widget (B2C). EvWidgetHub-Anschluss nach Handbuch §7:
9835     widget_id 'cart-bestseller', ctx 'cart', Beacon /evwh/s (imp / click_item / click_cta), ATC + Umsatz zaehlt der
9836     Server ueber das evwh-Feld am Add-POST. slot = Position im Karussell 0-basiert (Schema erlaubt 0..9, es gibt 10 Karten). */
9837  if (window.__EVC_BS_INIT__) { return; }
9838  window.__EVC_BS_INIT__ = true;
9839  var KEY = 'SWSCA1RHA1LQCKPSCHZFQTE5CW', BASE = '/store-api', CAT = '019c8aea38067ed78aff31126bd5d88c', COUNT = 10;
9840  var EVWH_W = 'cart-bestseller', EVWH_CTX = 'cart';
9841  var B2B_ID = '01924d9f52cd72bcad4db96bc32d9640';
9842/* RANK: Eltern-UUID -> Platz. Dieselbe Liste wie Bestseller-Seite + Mobilmenue: 90 Tage nach Stueckzahl,
9843   Stand 2026-08-25 08:56, Quelle tools/bestseller_report.py -> reference/bestseller-top20-shop.json. Wer die Liste erneuert,
9844   spielt dieses Widget mit tools/warenkorb-bestseller/deploy_cart_bestseller.py neu ein. */
9845var RANK = {
9846  '5fcc38c248bb42de8f9647298ef3e107': 1   /* SW10445 Omega-3 Algenöl direkt aus der Quelle */,
9847  '0195ccc82bf775bd8d25811a8a176e64': 2   /* SW10660 Vitamin D3 hochdosiert 10.000 i.E. und 4 */,
9848  '0195ccc96e2c749e844d48b87360ac40': 3   /* SW10662 Magnesium Komplex */,
9849  '57f5ba3d66714e328d3f94c79bd92cbb': 4   /* SW10507 Kollagen aus Weidehaltung */,
9850  '019811bcefc4711e9c14b8eb7cebb453': 5   /* SW10670 Bio Rizinusöl Premium */,
9851  '01980767a0c7712081dbbfb03cb73ae5': 6   /* SW10666 Kolloidales Lithium 100 ppm */,
9852  '0295b2262a2f4eaaa17ed4473e7a533d': 7   /* SW10482 Astaxanthin vegan */,
9853  '75658221af8b4f7aa6ccc5ef22057ca9': 8   /* SW10230 Vitamin B Komplex natürlich */,
9854  'af00a9f467ee4fb0955ef365594c071a': 9   /* W1007OPC OPC Kapseln */,
9855  '25a21b18d6fb467596bb1c1f79ab37dc': 10   /* SW10044 Vitamin C Kapseln aus Acerola */,
9856  '31ef9fca7c3e4f79b0415916eb204a65': 11   /* SW10429 Tri-Magnesium Dicitrat Kapseln */,
9857  'bb27e1fc213948b7992b282d36199a40': 12   /* SW10423 Vitamin D3 - K2 Tropfen natürlich */,
9858  '0195ccd91e3b7c55b345bf860983c2c5': 13   /* SW10678 Premium Kreatin Monohydrat Pulver */,
9859  '20afdd7614474326a3fec83bf2c0a0f7': 14   /* SW10528 Zink Tropfen */,
9860  '019836144e7772e5af64e52b9f337f56': 15   /* SW10664 Premium Methylenblau 1% */,
9861  '36f362813d514093983091d15505630a': 16   /* SW10237 Coenzym Q10 */,
9862  'b055dd19df4745a49816f6cd6c11ee19': 17   /* SW10539 Leber Vital mit 9 Pflanzenstoffen */,
9863  '52f360fca0e347298af2019f03625c75': 18   /* SW10114 MSM Pulver - organischer Schwefel */,
9864  '7fd8d6f6be974b26915131f3a11c848b': 19   /* SW10595 Bio Schwarzkümmelöl - 1500 mg Thymochino */,
9865  'a10748cfbef54929ae434728b1b3a66f': 20   /* SW10561 Eisen aus dem Curryblatt mit Acerola */
9866};
9867/* PSKU: Eltern-UUID -> Parent-SKU ("-main"). Trusted-Shops-Produktbewertungen haengen an der PARENT-SKU,
9868   nicht an der kaufbaren Variante (Befund 22.07.2026). Fallback im Code: Varianten-SKU + '-main'. */
9869var PSKU = {
9870  '5fcc38c248bb42de8f9647298ef3e107': 'SW10445-main',
9871  '0195ccc82bf775bd8d25811a8a176e64': 'SW10660-main',
9872  '0195ccc96e2c749e844d48b87360ac40': 'SW10662-main',
9873  '57f5ba3d66714e328d3f94c79bd92cbb': 'SW10507-main',
9874  '019811bcefc4711e9c14b8eb7cebb453': 'SW10670-main',
9875  '01980767a0c7712081dbbfb03cb73ae5': 'SW10666-main',
9876  '0295b2262a2f4eaaa17ed4473e7a533d': 'SW10482-main',
9877  '75658221af8b4f7aa6ccc5ef22057ca9': 'SW10230-main',
9878  'af00a9f467ee4fb0955ef365594c071a': 'w1007opc-main',
9879  '25a21b18d6fb467596bb1c1f79ab37dc': 'SW10044-main',
9880  '31ef9fca7c3e4f79b0415916eb204a65': 'SW10429-main',
9881  'bb27e1fc213948b7992b282d36199a40': 'SW10423-main',
9882  '0195ccd91e3b7c55b345bf860983c2c5': 'SW10678-main',
9883  '20afdd7614474326a3fec83bf2c0a0f7': 'SW10528-main',
9884  '019836144e7772e5af64e52b9f337f56': 'SW10664-main',
9885  '36f362813d514093983091d15505630a': 'SW10237-main',
9886  'b055dd19df4745a49816f6cd6c11ee19': 'SW10539-main',
9887  '52f360fca0e347298af2019f03625c75': 'SW10114-main',
9888  '7fd8d6f6be974b26915131f3a11c848b': 'SW10595-main',
9889  'a10748cfbef54929ae434728b1b3a66f': 'SW10561-main'
9890};
9891
9892  /* -------- Gate: nur B2C. Haendler haben eigene Preise, KEY ist der B2C-Kanal. -------- */
9893  function isB2B() {
9894    if (window.__EVC31_B2B__ === true) { return true; }
9895    if (window.salesChannelId === B2B_ID) { return true; }
9896    return /^(www\.)?haendler\./.test(location.hostname);
9897  }
9898  if (isB2B()) { return; }
9899
9900  /* -------- EvWidgetHub (Vorlage Handbuch §7 Schritt 3) -------- */
9901  var EVWH_SID = (function () { try {
9902    var c = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_';
9903    return Array.prototype.map.call(crypto.getRandomValues(new Uint8Array(12)), function (b) { return c[b & 63]; }).join('');
9904  } catch (e) { return String(Date.now() % 1e9) + String(Math.floor(Math.random() * 1e6)); } })();
9905  var impSent = false;   /* in-memory, KEIN Storage (TDDDG) */
9906  /* ctx-Design (Patrick 28.08.: "welche Produkte wurden geklickt?"): die Karussell-Position (slot) ist je Kunde ein
9907     anderes Produkt (Ausschluss!), deshalb tragen Klick, ATC und Umsatz das PRODUKT im ctx: 'cart:<SKU>'.
9908     Die Impression (Widget gesehen) bleibt auf ctx 'cart' - einmal je Seitenaufruf, damit die Widget-Ebene im
9909     Dashboard (Impressions, CTR) nicht durch Kartenzahlen aufgeblaeht wird. */
9910  function ctxFor(p) { return EVWH_CTX + ':' + String(p && p.sku || '').replace(/[^A-Za-z0-9:._-]/g, '').slice(0, 58); }
9911  function evwhSend(events, ctx) { try {
9912    fetch('/evwh/s', { method: 'POST', credentials: 'omit', keepalive: true,
9913      headers: { 'Content-Type': 'application/json' },
9914      body: JSON.stringify({ w: EVWH_W, ctx: ctx || EVWH_CTX, e: events }) }).catch(function () {});
9915  } catch (e) {} }
9916  function observeImpression(el) { try {
9917    if (impSent || !el || !('IntersectionObserver' in window)) { return; }
9918    var start = function () {
9919      var timer = null;
9920      var obs = new IntersectionObserver(function (entries) {
9921        entries.forEach(function (en) {
9922          if (impSent) { obs.disconnect(); return; }
9923          if (en.isIntersecting && en.intersectionRatio >= 0.5) {
9924            if (!timer) { timer = setTimeout(function () {
9925              if (!impSent) { impSent = true; evwhSend([{ t: 'imp' }]); obs.disconnect(); } }, 1000); }
9926          } else if (timer) { clearTimeout(timer); timer = null; }
9927        });
9928      }, { threshold: [0.5] });
9929      obs.observe(el);
9930    };
9931    if (document.prerendering) { document.addEventListener('prerenderingchange', start, { once: true }); } else { start(); }
9932  } catch (e) {} }
9933
9934  /* -------- Helfer -------- */
9935  function esc(s) { return String(s == null ? '' : s).replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;'); }
9936  function eur(n) { if (n == null || isNaN(n)) { return ''; } return (Math.round(parseFloat(n) * 100) / 100).toFixed(2).replace('.', ',') + ' €'; }
9937  /* Medien-URL -> CDN mit Breite; Leerzeichen/Kommata kodieren (sonst zerlegt srcset den Eintrag, Befund 25.08.). */
9938  function cdn(u, w) {
9939    if (!u) { return ''; }
9940    var m = String(u).split('www.echt-vital.de').join('echt-vital.de').split('://echt-vital.de/').join('://echtvital.cstatic.com/');
9941    var qi = m.indexOf('?'), base = qi === -1 ? m : m.slice(0, qi), ts = '';
9942    if (qi !== -1) { var mm = m.slice(qi + 1).match(/ts=([^&]+)/); if (mm) { ts = '&ts=' + mm[1]; } }
9943    base = base.split(' ').join('%20').split(',').join('%2C');
9944    return base + '?w=' + w + ts;
9945  }
9946  function storeApi(path, body) {
9947    return fetch(BASE + path, { method: 'POST', credentials: 'same-origin',
9948      headers: { 'Content-Type': 'application/json', 'Accept': 'application/json', 'sw-access-key': KEY },
9949      body: JSON.stringify(body) }).then(function (r) { if (!r.ok) { throw new Error('store-api ' + r.status); } return r.json(); });
9950  }
9951
9952  /* -------- Daten: Bestseller-Listing (einmal je Seitenaufruf) -------- */
9953  var listing = null, listingP = null;
9954  function loadListing() {
9955    if (listingP) { return listingP; }
9956    listingP = storeApi('/product-listing/' + CAT, {
9957      limit: 100,
9958      includes: { product: ['id', 'parentId', 'productNumber', 'name', 'translated', 'calculatedPrice', 'cover', 'available'],
9959                  product_media: ['media'], media: ['url'] },
9960      associations: { cover: { associations: { media: {} } } }
9961    }).then(function (d) {
9962      var byFam = {};
9963      (d.elements || []).forEach(function (p) {
9964        if (p.available === false) { return; }
9965        var fam = p.parentId || p.id;
9966        var e = { id: p.id, fam: fam, sku: p.productNumber || '', name: (p.translated && p.translated.name) || p.name || '',
9967          psku: PSKU[fam] || ((p.productNumber || '') + '-main'),
9968          img: (p.cover && p.cover.media && p.cover.media.url) || '',
9969          price: (p.calculatedPrice || {}).unitPrice || 0,
9970          list: (p.calculatedPrice && p.calculatedPrice.listPrice && p.calculatedPrice.listPrice.price) || 0,
9971          rang: RANK[fam] || 999 };
9972        /* je Familie EINE Karte: die guenstigste Variante (das Listing liefert die 1er-Variante, gemessen 27.08.: 20 = 20) */
9973        if (!byFam[fam] || e.price < byFam[fam].price) { byFam[fam] = e; }
9974      });
9975      listing = Object.keys(byFam).map(function (k) { return byFam[k]; }).sort(function (a, b) { return a.rang - b.rang; });
9976      return listing;
9977    }).catch(function () { listingP = null; listing = null; return null; });
9978    return listingP;
9979  }
9980
9981  /* -------- Ausschluss: Familie jeder Korb-Zeile (Variante -> parentId) -------- */
9982  var famCache = {};
9983  function cartIds() {
9984    return Array.prototype.map.call(document.querySelectorAll('.offcanvas.cart-offcanvas .hidden-line-item'), function (e) {
9985      return String(e.getAttribute('data-id') || '').toLowerCase(); }).filter(function (id) { return /^[a-f0-9]{32}$/.test(id); });
9986  }
9987  function resolveFamilies(ids) {
9988    var missing = ids.filter(function (id) { return !(id in famCache); });
9989    if (!missing.length) { return Promise.resolve(); }
9990    return storeApi('/product', { ids: missing, includes: { product: ['id', 'parentId'] } }).then(function (d) {
9991      (d.elements || []).forEach(function (p) { famCache[String(p.id).toLowerCase()] = String(p.parentId || p.id).toLowerCase(); });
9992      missing.forEach(function (id) { if (!(id in famCache)) { famCache[id] = null; } });   /* z.B. Promotion-Zeilen */
9993    }).catch(function () {
9994      /* Netzfehler: IDs als "ohne Familie" merken, sonst wuerde mount() endlos neu aufloesen.
9995         Folge: nur exakte Varianten-Treffer werden ausgeschlossen, bis zum naechsten Seitenaufruf. */
9996      missing.forEach(function (id) { if (!(id in famCache)) { famCache[id] = null; } });
9997    });
9998  }
9999  function visibleList(ids) {
10000    var ex = {};
10001    ids.forEach(function (id) { ex[id] = 1; if (famCache[id]) { ex[famCache[id]] = 1; } });
10002    return listing.filter(function (p) { return !ex[p.fam] && !ex[p.id]; }).slice(0, COUNT);
10003  }
10004
10005  /* -------- Rendern -------- */
10006  /* Patrick 28.08.: "Cart-Icon mit dem Plus sieht verkackt aus" -> klarer Korb (Lucide-Schnitt) + kleines weisses
10007     Plus-Medaillon in der Ecke statt Plus im Korb. */
10008  var ICON_CART = '<svg viewBox="0 0 24 24" aria-hidden="true"><circle cx="9" cy="20.5" r="1.3"/><circle cx="18" cy="20.5" r="1.3"/><path d="M2.5 3.5h2.3l2.3 11.6a1.3 1.3 0 0 0 1.3 1.1h9.4a1.3 1.3 0 0 0 1.3-1L21 8H6.1"/></svg><span class="evc-bs-plus" aria-hidden="true">+</span>';
10009  /* Rabatt wie an den Korb-Kacheln: der Cart zeigt bei einem korbweiten Prozent-Code an jeder Kachel ein Tag
10010     ("-20 %"); denselben Prozentsatz nutzt das Karussell (rot reduziert -> Streichpreis -> Tag). Kein Tag = Normalpreis.
10011     Selektor bewusst zusammengesetzt: der Literal-Klassenname ist ein Zaehlwert von patch_cart_b2b.py. */
10012  function cartPromoPct() {
10013    var tag = document.querySelector('#evc-container .evc-price-' + 'tag');
10014    if (!tag) { return { pct: 0, label: '' }; }
10015    var m = String(tag.textContent || '').match(/(\d+(?:[.,]\d+)?)\s*%/);
10016    var pct = m ? parseFloat(m[1].replace(',', '.')) : 0;
10017    return { pct: pct > 0 && pct < 100 ? pct : 0, label: String(tag.textContent || '').trim() };
10018  }
10019  /* -------- Bewertungen: Trusted Shops (eTrusted) je Parent-SKU, exakt wie die PDP (grades.overall) --------
10020     Feed ist public + CORS "*". Geladen wird faul: erst wenn die Karte im Karussell sichtbar wird, einmal je SKU
10021     (Speicher fuer den Seitenaufruf). Unbekannte SKU / count 0 -> keine Zeile. */
10022  var TS_CHANNEL = 'chl-34d654ed-442a-487d-80a3-f15f63d5595c';
10023  var rateCache = {};
10024  function hexSku(s) { return Array.prototype.map.call(String(s), function (c) { return c.charCodeAt(0).toString(16).padStart(2, '0'); }).join(''); }
10025  function loadRating(psku) {
10026    if (rateCache[psku]) { return rateCache[psku]; }
10027    rateCache[psku] = fetch('https://integrations.etrusted.com/feeds/grades/v1/channels/' + TS_CHANNEL + '/products/sku/' + hexSku(psku) + '/feed.json')
10028      .then(function (r) { return r.ok ? r.json() : null; })
10029      .then(function (d) {
10030        var o = d && d.grades && d.grades.overall;
10031        var rating = o ? Number(o.rating) : NaN, count = o ? Number(o.count) : NaN;
10032        if (!o || !isFinite(rating) || !isFinite(count) || count <= 0) { return null; }
10033        return { rating: Math.max(0, Math.min(5, rating)), count: Math.floor(count) };
10034      }).catch(function () { return null; });
10035    return rateCache[psku];
10036  }
10037  function ratingHtml(r) {
10038    var f = Math.round(r.rating / 5 * 1000) / 10;
10039    return '<span class="evc-bs-stars" style="--f:' + f + '%" aria-hidden="true">★★★★★</span>'
10040      + '<span class="evc-bs-score">' + String(Math.round(r.rating * 10) / 10).replace('.', ',') + '</span>'
10041      + '<span class="evc-bs-cnt">(' + r.count + ')</span>';
10042  }
10043  function fillRating(cardEl, e) {
10044    var slot = cardEl.querySelector('.evc-bs-rate');
10045    if (!slot) { return; }
10046    loadRating(e.p.psku).then(function (r) {
10047      if (r && slot.isConnected) { slot.innerHTML = ratingHtml(r); slot.setAttribute('aria-label', r.rating + ' von 5 Sternen, ' + r.count + ' Bewertungen'); }
10048    });
10049  }
10050  /* Preiszeile: rot reduziert + Streichpreis; das Prozent-Tag sitzt als Marke oben links auf der Karte (Bildecke),
10051     damit die Zeile mobil (285 px Karte, 40 px Knopf) einzeilig bleibt. */
10052  function priceHtml(p, promo) {
10053    if (promo.pct > 0 && p.price > 0) {
10054      var red = Math.round(p.price * (100 - promo.pct)) / 100;
10055      return '<span class="evc-bs-new">' + eur(red) + '</span><span class="evc-bs-old">' + eur(p.price) + '</span>';
10056    }
10057    return eur(p.price) + (p.list > p.price ? '<span class="evc-bs-old">' + eur(p.list) + '</span>' : '');
10058  }
10059  function tagHtml(p, promo) {
10060    return (promo.pct > 0 && p.price > 0) ? '<span class="evc-bs-tag">' + esc(promo.label) + '</span>' : '';
10061  }
10062  var ICON_L = '<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M15 6l-6 6 6 6"/></svg>';
10063  var ICON_R = '<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M9 6l6 6-6 6"/></svg>';
10064  function card(p, i, promo) {
10065    var a = cdn(p.img, 168), b = cdn(p.img, 336), href = '/detail/' + esc(p.id);
10066    return '<div class="evc-bs-card" data-id="' + esc(p.id) + '" data-slot="' + i + '">'
10067      + tagHtml(p, promo)
10068      + '<a class="evc-bs-img" href="' + href + '" tabindex="-1" aria-hidden="true">'
10069      + (p.img ? '<img src="' + esc(a) + '" srcset="' + esc(a) + ' 1x, ' + esc(b) + ' 2x" alt="" loading="lazy" decoding="async">' : '') + '</a>'
10070      + '<a class="evc-bs-body" href="' + href + '">'
10071      + '<span class="evc-bs-name">' + esc(p.name) + '</span>'
10072      + '<span class="evc-bs-rate"></span>'
10073      + '<span class="evc-bs-price">' + priceHtml(p, promo) + '</span>'
10074      + '</a>'
10075      + '<button class="evc-bs-add" type="button" aria-label="' + esc(p.name) + ' in den Warenkorb">' + ICON_CART + '</button>'
10076      + '</div>';
10077  }
10078  function innerHtml(list, promo) {
10079    return '<div class="evc-bs-head">Entdecke unsere Bestseller</div>'
10080      + '<div class="evc-bs-track" aria-label="Bestseller">' + list.map(function (p, i) { return card(p, i, promo); }).join('') + '</div>'
10081      + '<div class="evc-bs-nav"><div class="evc-bs-dots">' + list.map(function (_, i) { return '<span class="evc-bs-dot' + (i === 0 ? ' is-on' : '') + '"></span>'; }).join('') + '</div>'
10082      + '<div class="evc-bs-arrows"><button class="evc-bs-arr" type="button" data-dir="-1" aria-label="Vorheriger Bestseller" disabled>' + ICON_L + '</button>'
10083      + '<button class="evc-bs-arr" type="button" data-dir="1" aria-label="Nächster Bestseller">' + ICON_R + '</button></div></div>';
10084  }
10085  /* Der Cart (R13e) rettet [data-ev-widget]-Knoten ueber seinen Wrapper-Tausch -> das Widget bleibt im DOM und
10086     aktualisiert nur seinen Inhalt in place (kein Blinken, kein Zuruecksetzen auf Karte 1 ohne Grund
10086). */
10087  function render(host, list, key) {
10088    var root = document.createElement('div');
10089    root.className = 'evc-bs';
10090    root.setAttribute('data-ev-widget', EVWH_W);
10091    root.setAttribute('data-cart-key', key);
10092    root.innerHTML = innerHtml(list, cartPromoPct());
10093    host.appendChild(root);
10094    wire(root, list);
10095    observeImpression(root);
10096  }
10097  function update(root, list, key) {
10098    root.setAttribute('data-cart-key', key);
10099    root.innerHTML = innerHtml(list, cartPromoPct());
10100    wire(root, list);
10101  }
10102  function cartKey(ids) { return ids.slice().sort().join(',') + '|' + cartPromoPct().label; }
10103  function wire(root, list) {
10104    var track = root.querySelector('.evc-bs-track');
10105    var dots = root.querySelectorAll('.evc-bs-dot');
10106    var arrs = root.querySelectorAll('.evc-bs-arr');
10107    var byId = {}; list.forEach(function (p, i) { byId[p.id] = { p: p, slot: i }; });
10108    function step() { var c = track.querySelector('.evc-bs-card'); return c ? c.offsetWidth + 10 : 1; }
10109    function index() { return Math.round(track.scrollLeft / step()); }
10110    function sync() {
10111      var i = Math.max(0, Math.min(list.length - 1, index()));
10112      dots.forEach(function (d, k) { d.classList.toggle('is-on', k === i); });
10113      arrs[0].disabled = i <= 0;
10114      arrs[1].disabled = i >= list.length - 1 || track.scrollLeft + track.clientWidth >= track.scrollWidth - 2;
10115    }
10116    var raf = null;
10117    track.addEventListener('scroll', function () { if (raf) { return; } raf = requestAnimationFrame(function () { raf = null; sync(); }); }, { passive: true });
10118    arrs.forEach(function (b) { b.addEventListener('click', function () {
10119      var dir = parseInt(b.getAttribute('data-dir'), 10) || 1;
10120      track.scrollTo({ left: (index() + dir) * step(), behavior: 'smooth' });
10121    }); });
10122    root.addEventListener('click', function (ev) {
10123      var cardEl = ev.target.closest('.evc-bs-card'); if (!cardEl) { return; }
10124      var e = byId[cardEl.getAttribute('data-id')]; if (!e) { return; }
10125      if (ev.target.closest('.evc-bs-add')) { ev.preventDefault(); addToCart(ev.target.closest('.evc-bs-add'), e.p, e.slot); return; }
10126      if (ev.target.closest('a')) { evwhSend([{ t: 'click_item', slot: Math.min(9, e.slot) }], ctxFor(e.p)); }
10127    });
10128    /* Bewertungen faul je sichtbarer Karte (Root = das Karussell selbst) */
10129    var cards = Array.prototype.slice.call(track.querySelectorAll('.evc-bs-card'));
10130    var io = ('IntersectionObserver' in window) ? new IntersectionObserver(function (entries) {
10131      entries.forEach(function (en) {
10132        if (!en.isIntersecting) { return; }
10133        io.unobserve(en.target);
10134        var e = byId[en.target.getAttribute('data-id')]; if (e) { fillRating(en.target, e); }
10135      });
10136    }, { root: track, threshold: 0.1 }) : null;
10137    cards.forEach(function (c) { if (io) { io.observe(c); } else { var e = byId[c.getAttribute('data-id')]; if (e) { fillRating(c, e); } } });
10138    sync();
10139  }
10140
10141  /* -------- In den Warenkorb: exakt das Theme-Formular (gegen die PDP geprueft 27.08.) + evwh-Feld -------- */
10142  function addToCart(btn, p, slot) {
10143    if (btn.disabled) { return; }
10144    btn.disabled = true;
10145    var s = Math.min(9, slot);
10146    var body = new URLSearchParams(), k = 'lineItems[' + p.id + ']';
10147    body.append(k + '[id]', p.id); body.append(k + '[referencedId]', p.id); body.append(k + '[type]', 'product');
10148    body.append(k + '[quantity]', '1'); body.append(k + '[stackable]', '1'); body.append(k + '[removable]', '1');
10149    var spec = {}; spec[p.id] = { w: EVWH_W, ctx: ctxFor(p), slot: s, sid: EVWH_SID };
10150    body.append('evwh', JSON.stringify(spec));
10151    evwhSend([{ t: 'click_cta', slot: s }], ctxFor(p));
10152    fetch('/checkout/line-item/add', { method: 'POST', body: body, credentials: 'same-origin',
10153      headers: { 'Content-Type': 'application/x-www-form-urlencoded', 'X-Requested-With': 'XMLHttpRequest' } })
10154      .catch(function () {})
10155      .then(function () {
10156        if (typeof window.__EVC31_REFRESH__ === 'function') { window.__EVC31_REFRESH__(); }
10157        else { location.reload(); }
10158      });
10159  }
10160
10161  /* -------- Einhaengen: unten in der Artikel-Scrollflaeche, nach jedem Neu-Rendern des Carts erneut -------- */
10162  var mounting = false;
10163  function mount() {
10164    var host = document.querySelector('#evc-container .evc-items');
10165    if (!host || mounting) { return; }
10166    var root = host.querySelector('.evc-bs');
10167    var ids = cartIds();
10168    if (root && root.getAttribute('data-cart-key') === cartKey(ids)) { return; }   /* Korb + Code unveraendert: nichts tun */
10169    mounting = true;
10170    Promise.all([loadListing(), resolveFamilies(ids)]).then(function () {
10171      mounting = false;
10172      if (!listing) { return; }
10173      var host2 = document.querySelector('#evc-container .evc-items');
10174      if (!host2) { return; }
10175      var now = cartIds();
10176      if (now.some(function (id) { return !(id in famCache); })) { return mount(); }   /* Korb hat sich inzwischen geaendert */
10177      var key = cartKey(now);
10178      var root2 = host2.querySelector('.evc-bs');
10179      if (root2 && root2.getAttribute('data-cart-key') === key) { return; }
10180      var list = visibleList(now);
10181      if (!list.length) { if (root2) { root2.remove(); } return; }
10182      if (root2) { update(root2, list, key); } else { render(host2, list, key); }
10183    }).catch(function () { mounting = false; });
10184  }
10185  var timer = null;
10186  function schedule() { if (timer) { return; } timer = setTimeout(function () { timer = null; mount(); }, 60); }
10187  function boot() {
10188    new MutationObserver(schedule).observe(document.body, { childList: true, subtree: true });
10189    schedule();
10190  }
10191  if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', boot); } else { boot(); }
10192})();
10193</script>
10193
10194<!-- EV-CART-BESTSELLER-END -->
10195    
10196                            
10197        
10198                    
10199
10200                                                
10201        
10202            <div data-adcell-bid data-adcell-bid-options='{&quot;url&quot;:&quot;\/adcell\/bid&quot;,&quot;viewUrl&quot;:&quot;\/adcell\/view&quot;}' hidden></div>
10203
10204                                            <div data-adcell-tracking hidden></div>
10205                
10205<script>
10206                    window.adcellConfig = {
10207                        cookieName: 'ADCELL_Tracking',
10208                        baseScripts: [],
10209                        pageScripts: [],
10210                        runTrackCall: false,
10211                        success: null
10212                    };
10213                </script>
10213
10214
10215                
10216
10217    
10217<script>
10218        window.adcellConfig.baseScripts.push("https:\/\/t.adcell.com\/js\/trad.js?s2s=0&s=shopware6&sv=6.7.5.1&v=1.1.22");
10219        window.adcellConfig.baseScripts.push("https:\/\/t.adcell.com\/js\/vcad.js?s2s=0&s=shopware6&sv=6.7.5.1&v=1.1.22&programId=15869");
10220        window.adcellConfig.runTrackCall = true;
10221    </script>
10221
10222
10223
10224                
10225                                
10226                
10227                
10228                
10229            
10230        
10231                    
10232    
10233    
10234
10235
10236            <template id="shopware-payments-alert-template">
10237            
10238    <div role="alert"
10239         aria-live="polite"
10240         class="alert alert-danger d-flex align-items-center">
10241
10242                                                                                                    
10243            <span class="icon icon-blocked" aria-hidden="true">
10244                                        <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24"><defs><path d="M12 24C5.3726 24 0 18.6274 0 12S5.3726 0 12 0s12 5.3726 12 12-5.3726 12-12 12zm0-2c5.5228 0 10-4.4772 10-10S17.5228 2 12 2 2 6.4772 2 12s4.4772 10 10 10zm4.2929-15.7071c.3905-.3905 1.0237-.3905 1.4142 0 .3905.3905.3905 1.0237 0 1.4142l-10 10c-.3905.3905-1.0237.3905-1.4142 0-.3905-.3905-.3905-1.0237 0-1.4142l10-10z" id="icons-default-blocked" /></defs><use xlink:href="#icons-default-blocked" fill="#758CA3" fill-rule="evenodd" /></svg>
10245                    </span>
10246                                                        
10247                                    
10248                    <div class="alert-content-container">
10249                                                    
10250                                                            
10251                                    
10252                                                                </div>
10253            </div>
10254        </template>
10255    
10256            
10257
10258    
10259        
10260            
10261
10262        <div
10263        class="cookie-permission-container ev-cookie-permission-container"
10264        data-cookie-permission="true"
10265        data-cookie-permission-options='{"cookieExpiration": 365}'
10266        data-cookie-configuration-options='{"defaultCookieExpiration": 365}'
10267        role="region"
10268        aria-label="Cookie-Voreinstellungen">
10269
10270        <div class="ev-zettel-wrap" id="evZettelCookieBanner">
10271            <div class="ev-zettel">
10272
10273                <div class="ev-zettel__brand">
10274                    <img class="ev-zettel__logo"
10275                         src="https://echtvital.cstatic.com/media/7f/d3/88/1679934207/ev-logo.webp"
10276                         alt="Echt Vital" height="42" loading="eager" decoding="async">
10277                </div>
10278
10279                <p class="ev-zettel__text">
10280                    Wenn du auf „Alle Cookies akzeptieren" klickst, stimmst du der
10281                    Speicherung von Cookies auf deinem Gerät zu, um die Website-Navigation zu verbessern,
10282                    die Website-Nutzung zu analysieren und unsere Marketingbemühungen zu unterstützen. Danke!
10283                </p>
10284
10285                <div class="ev-zettel__aktionen">
10286                    <a class="ev-zettel__settings" data-ev-cookie-action="configure" href="#" role="button">Cookie Einstellungen</a>
10287                    <button type="button" class="ev-zettel__okay" data-ev-cookie-action="accept">Alle Cookies akzeptieren</button>
10288                </div>
10289
10290                <button type="button" class="ev-zettel__deny" data-ev-cookie-action="deny">Nur notwendige Cookies</button>
10291
10292            </div>
10293        </div>
10294
10295                <div class="ev-native-cookie-buttons" aria-hidden="true">
10296            <span class="cookie-permission-button js-cookie-permission-button">
10297                <button type="submit" class="btn btn-primary" tabindex="-1">Nur technisch notwendige</button>
10298            </span>
10299            <span class="js-cookie-configuration-button">
10300                <button type="submit" class="btn btn-primary" tabindex="-1">Konfigurieren</button>
10301            </span>
10302            <span class="js-cookie-accept-all-button">
10303                <button type="submit" class="btn btn-primary" tabindex="-1">Alle Cookies akzeptieren</button>
10304            </span>
10305        </div>
10306    </div>
10307    
10308                    
10309    <div class="js-pseudo-modal-template">
10310        <div class="modal modal-lg fade"
10311             tabindex="-1"
10312             role="dialog"
10313             aria-modal="true"
10314             aria-hidden="true"
10315             aria-labelledby="pseudo-modal-title">
10316            <div class="modal-dialog">
10317                <div class="modal-content js-pseudo-modal-template-root-element">
10318                                            <div class="modal-header only-close">
10319                                                            <div id="pseudo-modal-title" class="modal-title js-pseudo-modal-template-title-element h5"></div>
10320                            
10321                                                            <button type="button"
10322                                        class="btn-close close"
10323                                        data-bs-dismiss="modal"
10324                                        aria-label="Schließen">
10325                                                                    </button>
10326                                                    </div>
10327                    
10328                                            <div class="modal-body js-pseudo-modal-template-content-element">
10329                        </div>
10330                                    </div>
10331            </div>
10332
10333            <template class="js-pseudo-modal-back-btn-template">
10334                
10335                                                    <button class="js-pseudo-modal-back-btn btn btn-outline-primary" data-ajax-modal="true" data-url="#" href="#">
10336                                                                
10337                    
10338                    <span class="icon icon-arrow-left icon-sm icon-me-1" aria-hidden="true">
10339                                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path d="M 19.03125 4.28125 L 8.03125 15.28125 L 7.34375 16 L 8.03125 16.71875 L 19.03125 27.71875 L 20.46875 26.28125 L 10.1875 16 L 20.46875 5.71875 Z"/></svg>
10340                    </span>
10341                                        Zurück
10342                                            </button>
10343                            </template>
10344        </div>
10345    </div>
10346    
10347
10348                                        
10349
10350            
10351            
10352                
10353                                                            
10354                
10355                <div data-mediameets-facebook-pixel-options='{&quot;config&quot;:{&quot;pixelIds&quot;:&quot;225798511292088&quot;,&quot;privacyMode&quot;:&quot;integrate&quot;,&quot;autoConfig&quot;:false,&quot;advancedMatching&quot;:true,&quot;includeShippingCosts&quot;:true,&quot;useConversionApi&quot;:false,&quot;disablePushState&quot;:false,&quot;conversionApiDeduplication&quot;:&quot;eventid&quot;},&quot;shop&quot;:{&quot;controller&quot;:&quot;auth&quot;,&quot;action&quot;:&quot;loginpage&quot;,&quot;currency&quot;:&quot;EUR&quot;},&quot;routes&quot;:{&quot;customer&quot;:&quot;\/mm-fp\/customer&quot;,&quot;cart&quot;:&quot;\/mm-fp\/cart&quot;,&quot;order&quot;:&quot;\/mm-fp\/order&quot;,&quot;product&quot;:&quot;\/mm-fp\/product&quot;},&quot;conversionApi&quot;:{&quot;endpoint&quot;:&quot;\/mmfbpcapi&quot;}}'></div>
10356                        
10357                                                            
10358                
10359                <div data-mediameets-tiktok-pixel-options='{&quot;config&quot;:{&quot;pixelIds&quot;:&quot;D2TAO63C77U649U8SFNG&quot;,&quot;privacyMode&quot;:&quot;integrate&quot;,&quot;advancedMatching&quot;:true,&quot;includeShippingCosts&quot;:true,&quot;useEventsApi&quot;:true},&quot;shop&quot;:{&quot;controller&quot;:&quot;auth&quot;,&quot;action&quot;:&quot;loginpage&quot;,&quot;currency&quot;:&quot;EUR&quot;},&quot;routes&quot;:{&quot;customer&quot;:&quot;\/mm-tt\/customer&quot;,&quot;cart&quot;:&quot;\/mm-tt\/cart&quot;,&quot;order&quot;:&quot;\/mm-tt\/order&quot;},&quot;eventsApi&quot;:{&quot;endpoint&quot;:&quot;\/mmtteapi&quot;}}'></div>
10360                                    
10361                    
10362
10363                            
10364    
10365
10366            
10367                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
10368    <!-- added by Trusted Shops app: Start -->
10369    
10369<script async data-desktop-y-offset="0" data-mobile-y-offset="0" data-desktop-disable-reviews="false" data-desktop-enable-custom="false" data-desktop-position="left" data-desktop-custom-width="156" data-desktop-enable-fadeout="false" data-disable-mobile="false" data-disable-trustbadge="false" data-mobile-custom-width="156" data-mobile-disable-reviews="false" data-mobile-enable-custom="false" data-mobile-position="left" data-color-scheme="os-default" charset="UTF-8" src="//widgets.trustedshops.com/js/XC7DD5FD247350BDB2715FB9DB269C030.js"></script>
10369
10370    <!-- End -->
10371    
10372
10373                    
10374                    <div data-swag-paypal-funding-eligibility="true"
10375                 data-swag-paypal-funding-eligibility-options="{&quot;extensions&quot;:[],&quot;clientId&quot;:&quot;ASJtxY5AgUtH289LNKTPtOHvFHMhD9TPpkmt_MlLGiQI9sOjENAtrXWxa2ufbTfj1RS4j03jr6YJzJel&quot;,&quot;merchantPayerId&quot;:&quot;4A8WCPZNKS5XY&quot;,&quot;partnerAttributionId&quot;:&quot;shopwareAG_Cart_Shopware6_PPCP&quot;,&quot;languageIso&quot;:&quot;de_DE&quot;,&quot;currency&quot;:&quot;EUR&quot;,&quot;intent&quot;:&quot;capture&quot;,&quot;filteredPaymentMethods&quot;:[],&quot;methodEligibilityUrl&quot;:&quot;\/paypal\/payment-method-eligibility&quot;}">
10376            </div>
10377            
10378
10379
10380
10381    <style>
10382        /* Sicherheitsnetz: Seit 1.3.2 wird im Offcanvas kein sichtbarer Standard-Balken mehr gerendert.
10383           Falls nach Cache/Theme-Resten doch noch einer vorhanden ist, bleibt nur der Forced-Balken sichtbar. */
10384        .offcanvas.cart-offcanvas .ev-tiered-gift-progress:not(.ev-tiered-gift-progress-forced),
10385        .offcanvas.cart-offcanvas .ev-tiered-gift-new-customer-progress:not(.ev-tiered-gift-new-customer-progress-forced) {
10386            display: none !important;
10387        }
10388        @keyframes evTieredGiftFillPulse {
10389            0% { filter: brightness(1); }
10390            45% { filter: brightness(1.18); }
10391            100% { filter: brightness(1); }
10392        }
10393
10394        @media (max-width: 576px), (max-height: 760px) {
10395            .offcanvas.cart-offcanvas .ev-tiered-gift-progress-forced {
10396                padding: 9px 14px 8px 14px !important;
10397            }
10398            .offcanvas.cart-offcanvas .ev-tiered-gift-progress-forced > div:first-child {
10399                margin-bottom: 6px !important;
10400            }
10401            .offcanvas.cart-offcanvas .ev-tiered-gift-progress-forced > div:first-child > div:first-child {
10402                font-size: 12.5px !important;
10403                line-height: 1.25 !important;
10404                padding-right: 0 !important;
10405            }
10406            .offcanvas.cart-offcanvas .ev-tiered-gift-progress-forced > div:first-child > div:nth-child(2) {
10407                font-size: 11.5px !important;
10408                line-height: 1.35 !important;
10409                margin-top: 2px !important;
10410            }
10411            .offcanvas.cart-offcanvas .ev-tiered-gift-progress-forced .ev-tiered-gift-progress-status {
10412                display: none !important;
10413            }
10414            .offcanvas.cart-offcanvas .ev-tiered-gift-progress-forced > div:nth-child(2),
10415            .offcanvas.cart-offcanvas .ev-tiered-gift-progress-forced .ev-tiered-gift-progress-fill {
10416                height: 7px !important;
10417            }
10418            .offcanvas.cart-offcanvas .ev-tiered-gift-progress-forced > div:nth-child(3) {
10419                margin-top: 5px !important;
10420                font-size: 10px !important;
10421                gap: 5px !important;
10422            }
10423            .offcanvas.cart-offcanvas .ev-tiered-gift-new-customer-progress-forced {
10424                padding: 9px 14px 8px 14px !important;
10425            }
10426            .offcanvas.cart-offcanvas .ev-tiered-gift-new-customer-progress-forced > div:first-child {
10427                margin-bottom: 6px !important;
10428            }
10429            .offcanvas.cart-offcanvas .ev-tiered-gift-new-customer-progress-forced > div:first-child > div:first-child {
10430                font-size: 12.5px !important;
10431                line-height: 1.25 !important;
10432            }
10433            .offcanvas.cart-offcanvas .ev-tiered-gift-new-customer-progress-forced > div:first-child > div:nth-child(2) {
10434                font-size: 11.5px !important;
10435                line-height: 1.35 !important;
10436                margin-top: 2px !important;
10437            }
10438            .offcanvas.cart-offcanvas .ev-tiered-gift-new-customer-progress-forced > div:nth-child(2),
10439            .offcanvas.cart-offcanvas .ev-tiered-gift-new-customer-progress-forced .ev-tiered-gift-new-customer-progress-fill {
10440                height: 7px !important;
10441            }
10442            .offcanvas.cart-offcanvas .ev-tiered-gift-new-customer-progress-forced > div:nth-child(3) {
10443                margin-top: 5px !important;
10444                font-size: 10px !important;
10445            }
10446        }
10447
10448
10449        /* Mobile-Feinschliff fuer den Echt-Vital Custom-Offcanvas:
10450           bewusst nur moderat kompakter, damit Checkout/Trust weiterhin hochwertig wirken. */
10451        @media (max-width: 576px), (max-height: 760px) {
10452            .offcanvas.cart-offcanvas #evc-container .evc-ship-hint {
10453                padding: 8px 14px !important;
10454                font-size: 12.5px !important;
10455                line-height: 1.25 !important;
10456            }
10457            .offcanvas.cart-offcanvas #evc-container .evc-ship-hint-icon {
10458                font-size: 14px !important;
10459            }
10460            .offcanvas.cart-offcanvas #evc-container .evc-footer {
10461                padding: 10px 14px !important;
10462                padding-bottom: calc(10px + env(safe-area-inset-bottom, 0)) !important;
10463            }
10464            .offcanvas.cart-offcanvas #evc-container .evc-coupon-row {
10465                gap: 7px !important;
10466                padding-bottom: 9px !important;
10467            }
10468            .offcanvas.cart-offcanvas #evc-container .evc-coupon-input,
10469            .offcanvas.cart-offcanvas #evc-container .evc-coupon-submit {
10470                height: 38px !important;
10471                font-size: 12.5px !important;
10472            }
10473            .offcanvas.cart-offcanvas #evc-container .evc-coupon-input {
10474                padding-left: 11px !important;
10475                padding-right: 11px !important;
10476            }
10477            .offcanvas.cart-offcanvas #evc-container .evc-coupon-submit {
10478                padding-left: 15px !important;
10479                padding-right: 15px !important;
10480            }
10481            .offcanvas.cart-offcanvas #evc-container .evc-totals {
10482                margin: 10px 0 !important;
10483            }
10484            .offcanvas.cart-offcanvas #evc-container .evc-row {
10485                margin-bottom: 4px !important;
10486                font-size: 12.5px !important;
10487            }
10488            .offcanvas.cart-offcanvas #evc-container .evc-row.total {
10489                padding-top: 9px !important;
10490                margin-top: 6px !important;
10491                font-size: 16px !important;
10492            }
10493            .offcanvas.cart-offcanvas #evc-container .evc-total-original {
10494                font-size: 13px !important;
10495            }
10496            .offcanvas.cart-offcanvas #evc-container .evc-trust {
10497                margin-bottom: 8px !important;
10498                font-size: 10.5px !important;
10499                line-height: 1.25 !important;
10500            }
10501            .offcanvas.cart-offcanvas #evc-container .evc-checkout {
10502                height: 50px !important;
10503                font-size: 14.5px !important;
10504            }
10505            .offcanvas.cart-offcanvas #evc-container .evc-payments {
10506                gap: 10px !important;
10507                margin-top: 10px !important;
10508                padding-top: 10px !important;
10509            }
10510            .offcanvas.cart-offcanvas #evc-container .evc-payments img {
10511                height: 24px !important;
10512            }
10513        }
10514    </style>
10515    
10515<script>
10516        (function () {
10517            'use strict';
10518
10519            if (window.__EV_TIERED_GIFT_PROGRESS_FORCE__) {
10520                return;
10521            }
10522            window.__EV_TIERED_GIFT_PROGRESS_FORCE__ = true;
10523
10524            function formatPrice(value) {
10525                var n = Number(value || 0);
10526                try {
10527                    return new Intl.NumberFormat('de-DE', { style: 'currency', currency: 'EUR' }).format(n);
10528                } catch (e) {
10529                    return n.toFixed(2).replace('.', ',') + ' €';
10530                }
10531            }
10532
10533            function formatScalePrice(value) {
10534                var n = Number(value || 0);
10535                try {
10536                    return new Intl.NumberFormat('de-DE', { maximumFractionDigits: 0 }).format(n) + ' €';
10537                } catch (e) {
10538                    return Math.round(n).toString().replace(/\B(?=(\d{3})+(?!\d))/g, '.') + ' €';
10539                }
10540            }
10541
10542            function readProgressData(scope) {
10543                var root = scope || document;
10544                var nodes = [];
10545
10546                // Wichtig: Bei Offcanvas-Refreshes können kurzzeitig alte und neue
10547                // JSON-Daten im DOM existieren. Deshalb immer die letzte verfügbare
10548                // Datenbasis im aktiven Offcanvas verwenden, nicht den ersten Treffer
10549                // im Dokument. So springt der Balken nicht auf alte Warenkorbwerte.
10550                if (root.querySelectorAll) {
10551                    nodes = Array.prototype.slice.call(root.querySelectorAll('.ev-tiered-gift-progress-data'));
10552                }
10553
10554                if (!nodes.length) {
10555                    var offcanvas = document.querySelector('.offcanvas.cart-offcanvas.show');
10556                    if (offcanvas) {
10557                        nodes = Array.prototype.slice.call(offcanvas.querySelectorAll('.ev-tiered-gift-progress-data'));
10558                    }
10559                }
10560
10561                if (!nodes.length) return null;
10562                var dataNode = nodes[nodes.length - 1];
10563
10564                try {
10565                    var data = JSON.parse(dataNode.textContent || '{}');
10566                    return data && data.enabled ? data : null;
10567                } catch (e) {
10568                    return null;
10569                }
10570            }
10571
10572            function buildProgress(progress) {
10573                var allReached = !!progress.allReached;
10574                var percent = Math.max(0, Math.min(100, Number(progress.percent || 0)));
10575                var steps = Array.isArray(progress.steps) ? progress.steps : [];
10576                var textColor = String(progress.textColor || '#2a4d35');
10577                var backgroundColor = String(progress.backgroundColor || '#fff3c4');
10578                var accentColor = String(progress.accentColor || '#d8b64d');
10579                var accentTrackColor = accentColor + '42';
10580                var nextMessageTemplate = String(progress.nextMessage || 'Noch {amount} bis zur nächsten Prämie');
10581                var amountHtml = '<strong>' + formatPrice(progress.missingAmount) + '</strong>';
10582                var nextMessageHtml;
10583                if (nextMessageTemplate.indexOf('{amount}') !== -1) {
10584                    var messageParts = nextMessageTemplate.split('{amount}');
10585                    nextMessageHtml = messageParts.map(escapeHtml).join(amountHtml);
10586                } else {
10587                    nextMessageHtml = escapeHtml(nextMessageTemplate) + ' ' + amountHtml;
10588                }
10589                var message = allReached
10590                    ? escapeHtml(String(progress.reachedMessage || '✓ Alle verfügbaren Prämien freigeschaltet'))
10591                    : nextMessageHtml + (progress.nextLabel ? ':<br><strong>' + escapeHtml(progress.nextLabel) + '</strong>' : '') + '.';
10592
10593                var stepCount = Math.max(1, steps.length);
10594                var stepHtml = '<div style="position:absolute;left:0;top:0;text-align:left;white-space:nowrap;">0&nbsp;€</div>' + steps.map(function (step, index) {
10595                    var isLast = index === steps.length - 1;
10596                    var pos = ((index + 1) / stepCount) * 100;
10597                    var reachedStyle = step.reached ? 'font-weight:700;color:' + textColor + ';' : '';
10598                    var positionStyle = isLast
10599                        ? 'position:absolute;right:0;top:0;text-align:right;white-space:nowrap;'
10600                        : 'position:absolute;left:' + pos + '%;top:0;transform:translateX(-50%);text-align:center;white-space:nowrap;';
10601                    return '<div style="' + positionStyle + reachedStyle + '">' +
10602                        '<span title="' + escapeHtml(step.label || '') + '">' + formatScalePrice(step.threshold) + '</span>' +
10603                        '</div>';
10604                }).join('');
10605
10606                // EVC31: einspaltige Kopfzeile; Status-Badge bleibt erhalten, aber nicht mehr als Flex-Spalte.
10607                return '<div class="ev-tiered-gift-progress ev-tiered-gift-progress-forced" style="position:relative;margin:0;padding:10px 14px 9px 14px;background:' + backgroundColor + ';border-bottom:1px solid ' + accentColor + ';border-top:1px solid ' + accentColor + ';box-shadow:inset 4px 0 0 ' + accentColor + ';">' +
10608                    '<div style="margin-bottom:8px;">' +
10609                        '<div style="font-weight:700;color:' + textColor + ';font-size:13px;line-height:1.3;padding-right:88px;">' + escapeHtml(String(progress.headline || '🎁 Gratis-Prämien sichern')) + '</div>' +
10610                        '<div style="font-size:12px;line-height:1.35;color:' + textColor + ';margin-top:2px;">' + message + '</div>' +
10611                    '</div>' +
10612                    '<div class="ev-tiered-gift-progress-status" style="position:absolute;top:10px;right:14px;font-size:12px;font-weight:700;color:' + textColor + ';white-space:nowrap;background:' + backgroundColor + ';border:1px solid ' + accentColor + ';border-radius:999px;padding:3px 8px;line-height:1.2;">' +
10613                        Number(progress.reachedCount || 0) + '/' + Number(progress.totalCount || steps.length || 0) + ' erreicht' +
10614                    '</div>' +
10615                    '<div style="position:relative;height:8px;border-radius:999px;background:' + accentTrackColor + ';overflow:hidden;">' +
10616                        '<div class="ev-tiered-gift-progress-fill" data-target-percent="' + percent + '" style="height:8px;width:' + percent + '%;border-radius:999px;background:' + accentColor + ';transition:width .45s ease;animation:evTieredGiftFillPulse .7s ease-out;"></div>' +
10617                    '</div>' +
10618                    (stepHtml ? '<div style="position:relative;height:14px;margin-top:6px;font-size:10.5px;line-height:1.2;color:' + textColor + ';">' + stepHtml + '</div>' : '') +
10619                '</div>';
10620            }
10621
10622
10623            function buildNewCustomerProgress(progress) {
10624                var newCustomer = progress && progress.newCustomer ? progress.newCustomer : null;
10625                if (!newCustomer || !newCustomer.enabled) return '';
10626
10627                var percent = Math.max(0, Math.min(100, Number(newCustomer.percent || 0)));
10628                var reached = !!newCustomer.reached;
10629                var newCustomerTextColor = String(newCustomer.textColor || '#9a5a00');
10630                var newCustomerBackgroundColor = String(newCustomer.backgroundColor || '#fff3d6');
10631                var newCustomerAccentColor = String(newCustomer.accentColor || '#d97706');
10632                var newCustomerAccentTrackColor = newCustomerAccentColor + '42';
10633                var label = newCustomer.label ? escapeHtml(newCustomer.label) : '';
10634                var newCustomerHeadline = String(newCustomer.headline || '🎁 Exklusiv für Neukunden: Geschenk sichern');
10635                var newCustomerNextMessageTemplate = String(newCustomer.nextMessage || 'Noch {amount} bis zu Deinem Geschenk');
10636                var newCustomerAmountHtml = '<strong>' + formatPrice(newCustomer.missingAmount) + '</strong>';
10637                var newCustomerNextMessageHtml;
10638                if (newCustomerNextMessageTemplate.indexOf('{amount}') !== -1) {
10639                    var newCustomerMessageParts = newCustomerNextMessageTemplate.split('{amount}');
10640                    newCustomerNextMessageHtml = newCustomerMessageParts.map(escapeHtml).join(newCustomerAmountHtml);
10641                } else {
10642                    newCustomerNextMessageHtml = escapeHtml(newCustomerNextMessageTemplate) + ' ' + newCustomerAmountHtml;
10643                }
10644                var message = reached
10645                    ? escapeHtml(String(newCustomer.reachedMessage || '✓ Neukunden-Geschenk freigeschaltet'))
10646                    : newCustomerNextMessageHtml + (label ? ':<br><strong>' + label + '</strong>' : '') + '.';
10647
10648                // EVC31/Variante A: einspaltig, ohne Status-Pill, kompaktere Schrift.
10649                return '<div class="ev-tiered-gift-new-customer-progress ev-tiered-gift-new-customer-progress-forced" style="margin:0;padding:10px 14px 9px 14px;background:' + newCustomerBackgroundColor + ';border-bottom:1px solid ' + newCustomerAccentColor + ';border-top:1px solid ' + newCustomerAccentColor + ';box-shadow:inset 4px 0 0 ' + newCustomerAccentColor + ';">' +
10650                    '<div style="margin-bottom:8px;">' +
10651                        '<div style="font-weight:700;color:' + newCustomerTextColor + ';font-size:13px;line-height:1.3;">' + escapeHtml(newCustomerHeadline) + '</div>' +
10652                        '<div style="font-size:12px;line-height:1.35;color:' + newCustomerTextColor + ';margin-top:2px;">' + message + '</div>' +
10653                    '</div>' +
10654                    '<div style="position:relative;height:8px;border-radius:999px;background:' + newCustomerAccentTrackColor + ';overflow:hidden;">' +
10655                        '<div class="ev-tiered-gift-new-customer-progress-fill" style="height:8px;width:' + percent + '%;border-radius:999px;background:' + newCustomerAccentColor + ';transition:width .45s ease;animation:evTieredGiftFillPulse .7s ease-out;"></div>' +
10656                    '</div>' +
10657                    '<div style="display:flex;justify-content:space-between;align-items:flex-start;gap:8px;height:14px;margin-top:6px;font-size:10.5px;line-height:1.2;color:' + newCustomerTextColor + ';">' +
10658                        '<div style="text-align:left;">0&nbsp;€</div>' +
10659                        '<div style="text-align:right;' + (reached ? 'font-weight:700;color:' + newCustomerTextColor + ';' : '') + '">' + formatScalePrice(newCustomer.threshold) + '</div>' +
10660                    '</div>' +
10661                '</div>';
10662            }
10663
10664            function escapeHtml(value) {
10665                return String(value || '').replace(/[&<>'"]/g, function (ch) {
10666                    return ({ '&': '&amp;', '<': '&lt;', '>': '&gt;', "'": '&#039;', '"': '&quot;' })[ch];
10667                });
10668            }
10669
10670            function injectForcedProgress(scope) {
10671                var offcanvas = (scope && scope.closest && scope.closest('.offcanvas.cart-offcanvas')) || document.querySelector('.offcanvas.cart-offcanvas.show');
10672                if (!offcanvas) return;
10673
10674                var progress = readProgressData(offcanvas);
10675                if (!progress) return;
10676
10677                var evcContainer = offcanvas.querySelector('#evc-container');
10678                var wrapper = evcContainer ? evcContainer.querySelector('.evc-wrapper') : null;
10679                var header = wrapper ? wrapper.querySelector('.evc-header') : null;
10680                if (!wrapper || !header) return;
10681
10682                // Im Echt-Vital Custom-Offcanvas darf nur der Forced-Balken sichtbar sein.
10683                Array.prototype.slice.call(offcanvas.querySelectorAll('.ev-tiered-gift-progress:not(.ev-tiered-gift-progress-forced), .ev-tiered-gift-new-customer-progress:not(.ev-tiered-gift-new-customer-progress-forced)')).forEac
10683h(function (node) {
10684                    node.parentNode && node.parentNode.removeChild(node);
10685                });
10686
10687                var html = (progress.normalEnabled ? buildProgress(progress) : '') + buildNewCustomerProgress(progress);
10688
10689                // Korrektheit vor Animation: vorhandene Forced-Bereiche werden komplett
10690                // ersetzt und direkt mit den aktuellen Daten neu eingesetzt.
10691                Array.prototype.slice.call(wrapper.querySelectorAll('.ev-tiered-gift-progress-forced, .ev-tiered-gift-new-customer-progress-forced')).forEach(function (node) {
10692                    node.parentNode && node.parentNode.removeChild(node);
10693                });
10694                header.insertAdjacentHTML('afterend', html);
10695            }
10696
10697            function run() {
10698                injectForcedProgress(document);
10699            }
10700
10701            var scheduled = false;
10702            function schedule() {
10703                if (scheduled) return;
10704                scheduled = true;
10705                window.requestAnimationFrame(function () {
10706                    scheduled = false;
10707                    run();
10708                });
10709            }
10710
10711            function isRelevantNode(node) {
10712                if (!node || node.nodeType !== 1) return false;
10713                if (node.matches && node.matches('.offcanvas.cart-offcanvas, .offcanvas-cart, #evc-container, .evc-wrapper, .ev-tiered-gift-progress-data, .hidden-line-items-information')) {
10714                    return true;
10715                }
10716                if (node.querySelector && node.querySelector('.offcanvas.cart-offcanvas, .offcanvas-cart, #evc-container, .evc-wrapper, .ev-tiered-gift-progress-data, .hidden-line-items-information')) {
10717                    return true;
10718                }
10719                return false;
10720            }
10721
10722            function shouldScheduleFromMutations(mutations) {
10723                for (var i = 0; i < mutations.length; i++) {
10724                    var mutation = mutations[i];
10725                    var target = mutation.target;
10726
10727                    if (target && target.closest && target.closest('.offcanvas.cart-offcanvas')) {
10728                        return true;
10729                    }
10730
10731                    for (var a = 0; a < mutation.addedNodes.length; a++) {
10732                        if (isRelevantNode(mutation.addedNodes[a])) return true;
10733                    }
10734
10735                    for (var r = 0; r < mutation.removedNodes.length; r++) {
10736                        if (isRelevantNode(mutation.removedNodes[r])) return true;
10737                    }
10738                }
10739
10740                return false;
10741            }
10742
10743            document.addEventListener('DOMContentLoaded', schedule);
10744            document.addEventListener('shown.bs.offcanvas', schedule);
10745            document.addEventListener('click', function (event) {
10746                var target = event.target;
10747                if (!(target instanceof Element)) return;
10748                if (!target.closest('.offcanvas.cart-offcanvas, [data-offcanvas-cart], [data-off-canvas-cart], .evp-cart-btn, [data-role="addcart"]')) return;
10749                setTimeout(schedule, 60);
10750            }, true);
10751
10752            new MutationObserver(function (mutations) {
10753                if (shouldScheduleFromMutations(mutations)) {
10754                    schedule();
10755                }
10756            }).observe(document.body || document.documentElement, { childList: true, subtree: true });
10757
10758            // Schlanker Fallback fuer Theme-/Offcanvas-Sonderfaelle. Fuehrt nur aus,
10759            // wenn der Warenkorb wirklich offen ist.
10760            setInterval(function () {
10761                if (document.querySelector('.offcanvas.cart-offcanvas.show')) {
10762                    schedule();
10763                }
10764            }, 1500);
10765        })();
10766    </script>
10766
10767
10768    
10769
10770    
10770<script>
10771        window.acrisSearchConfig = {
10772            suggestHighlight: 'yes',
10773            suggestHighlightColor: '#6fbf40'
10774        };
10775        window.acrisSearchLastTermsTitle = 'Letzte\u0020Suchanfragen';
10776    </script>
10776
10777
10778
10779
10780    
10780<script>
10781        // Sticky Header Mobile
10782        (() => {
10783            const header = document.querySelector('header.header-main');
10784            if (!header) return;
10785
10786            const mq = window.matchMedia('(max-width: 991.98px)');
10787            const onScroll = () => {
10788                if (window.scrollY > 2) header.classList.add('is-stuck');
10789                else header.classList.remove('is-stuck');
10790            };
10791
10792            let active = false;
10793            function enable() {
10794                if (active) return;
10795                active = true;
10796                onScroll();
10797                window.addEventListener('scroll', onScroll, { passive: true });
10798                document.body.classList.remove('rhweb-fixed-header-scroll-up');
10799            }
10800            function disable() {
10801                if (!active) return;
10802                active = false;
10803                window.removeEventListener('scroll', onScroll);
10804                header.classList.remove('is-stuck');
10805            }
10806            function check(e) { e.matches ? enable() : disable(); }
10807
10808            check(mq);
10809            if (mq.addEventListener) mq.addEventListener('change', check);
10810            else if (mq.addListener) mq.addListener(check); // Safari Fallback
10811        })();
10812    </script>
10812
10813
10814
10815    
10815<script>
10816        //Produktdetailseite mehr Anzeigen button siehe EV-134
10817        document.addEventListener('DOMContentLoaded', () => {
10818            const moreButtons = document.querySelectorAll('.buy-widget-show-more-btn');
10819
10820            moreButtons.forEach((moreButton) => {
10821                const btnText = moreButton.querySelector('.btn-text');
10822                const productDetailMore = moreButton.closest('.ev-buy-widget-show-more')
10823                    .parentElement.querySelector('.buy-widget-description-wrapper');
10824
10825                if (btnText && productDetailMore) {
10826                    moreButton.addEventListener('click', (event) => {
10827                        event.preventDefault();
10828
10829                        // Toggle nur für diesen Bereich
10830                        productDetailMore.classList.toggle('expanded');
10831                        moreButton.classList.toggle('expanded');
10832
10833                        btnText.textContent = productDetailMore.classList.contains('expanded')
10834                            ? 'weniger'
10835                            : 'mehr';
10836                    });
10837                }
10838            });
10839
10840
10841            const storySliderMoreButtons = document.querySelectorAll('.ev-story-slider-show-more-btn');
10842
10843            storySliderMoreButtons.forEach((moreButton) => {
10844                moreButton.addEventListener('click', (ev) => {
10845                    ev.preventDefault();
10846
10847                    const item = moreButton.closest('.tns-item, .image-slider-item');
10848                    if (!item) return;
10849
10850                    const infoBox = item.querySelector('.info-box');
10851                    if (!infoBox) return;
10852
10853                    const btnTextEl = moreButton.querySelector('.btn-text');
10854                    const isMehr = btnTextEl?.textContent?.trim().toLowerCase() === 'mehr';
10855
10856                    // Ursprüngliche Höhen (computed) einmalig merken
10857                    if (!infoBox.dataset.origHeight) {
10858                        infoBox.dataset.origHeight = getComputedStyle(infoBox).height || '';
10859                    }
10860                    if (!item.dataset.origHeight) {
10861                        item.dataset.origHeight = getComputedStyle(item).height || '';
10862                    }
10863
10864                    if (isMehr) {
10865                        // EXPAND: height: fit-content auf Box + Item
10866                        // (mit !important, falls CSS sonst blockt)
10867                        infoBox.style.setProperty('height', 'fit-content', 'important');
10868                        infoBox.style.removeProperty('max-height');
10869                        infoBox.style.setProperty('overflow', 'visible', 'important');
10870
10871                        item.style.setProperty('max-height', 'fit-content', 'important');
10872                        item.style.setProperty('overflow', 'visible', 'important');
10873
10874                        if (btnTextEl) btnTextEl.textContent = 'weniger';
10875                        moreButton.classList.add('expanded');
10876                        infoBox.classList.add('expanded');
10877                        item.classList.add('expanded');
10878                    } else {
10879                        // COLLAPSE: ursprüngliche Höhen zurück
10880                        // Falls du wieder clampen willst, setze hier optional overflow:hidden
10881                        const origInfo = infoBox.dataset.origHeight;
10882                        const origItem = item.dataset.origHeight;
10883
10884                        if (origInfo) {
10885                            infoBox.style.setProperty('height', origInfo, 'important');
10886                            infoBox.style.setProperty('overflow', 'hidden', 'important');
10887                        } else {
10888                            infoBox.style.removeProperty('height');
10889                            infoBox.style.setProperty('overflow', 'hidden', 'important');
10890                        }
10891
10892                        if (origItem) {
10893                            item.style.setProperty('max-height', origItem, 'important');
10894                            item.style.setProperty('overflow', 'hidden', 'important');
10895                        } else {
10896                            item.style.removeProperty('max-height');
10897                            item.style.setProperty('overflow', 'hidden', 'important');
10898                        }
10899
10900                        if (btnTextEl) btnTextEl.textContent = 'mehr';
10901                        moreButton.classList.remove('expanded');
10902                        infoBox.classList.remove('expanded');
10903                        item.classList.remove('expanded');
10904                    }
10905                });
10906            });
10907
10908
10909// ---- INHALTSSTOFFE ----
10910            document.querySelector('#inhalt-tab')?.addEventListener('click', () => {
10911                const inhaltstoffeShowMoreBtn = document.querySelector('.inhaltstoffe-widget-show-more-btn');
10912                const inhaltContainer = document.querySelector('#inhalt-container');
10913                const inhaltPaneContainer = inhaltContainer?.querySelector('.tab-pane-container');
10914
10915                if (inhaltstoffeShowMoreBtn && inhaltContainer && inhaltPaneContainer) {
10916                    const btnText = inhaltstoffeShowMoreBtn.querySelector('.btn-text-inhaltstoffe');
10917
10918                    if (inhaltPaneContainer.scrollHeight > inhaltContainer.clientHeight) {
10919                        inhaltstoffeShowMoreBtn.style.display = 'block';
10920
10921                        inhaltstoffeShowMoreBtn.addEventListener('click', (event) => {
10922                            event.preventDefault();
10923
10924                            inhaltContainer.classList.toggle('expanded');
10925                            inhaltstoffeShowMoreBtn.classList.toggle('expanded');
10926
10927                            btnText.textContent = inhaltContainer.classList.contains('expanded')
10928                                ? 'weniger'
10929                                : 'mehr';
10930                        });
10931                    } else {
10932                        inhaltstoffeShowMoreBtn.style.display = 'none';
10933                    }
10934                }
10935            });
10936
10937
10938
10939
10940// ---- BESCHREIBUNG ----
10941            const beschreibungShowMoreBtn = document.querySelector('.beschreibung-widget-show-more-btn');
10942            const beschreibungContainer = document.querySelector('#descr-container');
10943
10944            if (beschreibungShowMoreBtn && beschreibungContainer) {
10945                const btnText = beschreibungShowMoreBtn.querySelector('.btn-text-beschreibung');
10946
10947                if (beschreibungContainer.scrollHeight <= beschreibungContainer.clientHeight) {
10948                    beschreibungShowMoreBtn.style.display = 'none';
10949                } else {
10950                    beschreibungShowMoreBtn.addEventListener('click', (event) => {
10951                        event.preventDefault();
10952
10953                        beschreibungContainer.classList.toggle('expanded');
10954                        beschreibungShowMoreBtn.classList.toggle('expanded');
10955
10956                        btnText.textContent = beschreibungContainer.classList.contains('expanded')
10957                            ? 'weniger'
10958                            : 'mehr';
10959                    });
10960                }
10961            }
10962
10963
10964
10965            //Barrierefreiheitswidget toggle
10966            const hostname = window.location.hostname;
10967            const path = window.location.pathname;
10968            const toggleBarrierefreiheitEl = document.querySelector(".dvaccess-toggle");
10969
10970            if (!toggleBarrierefreiheitEl) {
10971                return;
10972            }
10973
10974            toggleBarrierefreiheitEl.style.display = "none";
10975            if (
10976                hostname === "echt-vital.de" &&
10977                (path === "/" || path === "/informationen/barrierefreiheit/")
10978            ) {
10979                toggleBarrierefreiheitEl.style.display = "";
10980            }
10981
10982
10983        });
10984    </script>
10984
10985    </body>
10986
10987    </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.