PageSourceSearch

https://www.naturelab.it/contact/

html naturelab.it collected 2026-10-04 20:49:49 UTC 455,047 bytes, 8,360 lines download raw bytes

1<!doctype html>
2<html lang="it">
3<head >
4    
5<script>    window.dataLayer = window.dataLayer || [];
6    function gtag() { dataLayer.push(arguments) }
7
8    window.amConsentManager = window.amConsentManager || {
9        consentStates: {
10            denied: 'denied',
11            granted: 'granted'
12        },
13        storageName: 'amConsentMode',
14        gdprCookie: {
15            cookieGroupName: 'amcookie_allowed',
16            allCookiesAllowed: '0'
17        },
18        defaultConsentTypesData: {"ad_storage":{"default":"0","group":"2"},"analytics_storage":{"default":"0","group":"3"},"ad_user_data":{"default":"0","group":"2"},"ad_personalization":{"default":"0","group":"2"}},
19        currentStoreId: 1,
20        init: function () {
21            this.initStorage();
22            this.setDefaultConsent();
23        },
24        initStorage: function () {
25            const persistedConsentTypes = this.getPersistedConsentTypeState();
26
27            if (Object.keys(persistedConsentTypes).length !== 0 && !this.shouldResetConsentState(persistedConsentTypes)) {
28                return;
29            }
30
31            let consentState = {};
32            for (const [type, data] of Object.entries(this.defaultConsentTypesData)) {
33                consentState[type] = {
34                    group: data.group,
35                    status: data.default === '1' ? this.consentStates.granted : this.consentStates.denied
36                };
37            }
38
39            this.resetAllowedCookiesGroups();
40            this.persistConsentTypeState(consentState);
41        },
42        setDefaultConsent: function () {
43            gtag('consent', 'default', this.getPersistedConsentTypeStateForGtag());
44        },
45        updateConsent: function (consent) {
46            const storageConsent = this.getPersistedConsentTypeState();
47            const consentState = {...storageConsent, ...consent};
48
49            this.persistConsentTypeState(consentState);
50            gtag('consent', 'update', this.getPersistedConsentTypeStateForGtag());
51        },
52        getConsentTypeStateByGroupIds: function (groups) {
53            let consentTypeState = {};
54
55            for (const [type, data] of Object.entries(this.defaultConsentTypesData)) {
56                consentTypeState[type] = {
57                    group: data.group,
58                    status: (groups.includes(data.group) || groups.includes(this.gdprCookie.allCookiesAllowed))
59                        ? this.consentStates.granted
60                        : this.consentStates.denied
61                }
62            }
63
64            return consentTypeState;
65        },
66        persistConsentTypeState: function (consentTypeState) {
67            let persistedState = this.getPersistedConsentTypeState(false);
68            persistedState[this.currentStoreId] = consentTypeState;
69            localStorage.setItem(this.storageName, JSON.stringify(persistedState));
70        },
71        getPersistedConsentTypeState: function (forCurrentStore = true) {
72            let persistedStates = JSON.parse(localStorage.getItem(this.storageName)) ?? {};
73
74            if (forCurrentStore) {
75                return persistedStates?.[this.currentStoreId] ?? {};
76            }
77
78            return persistedStates;
79        },
80        getPersistedConsentTypeStateForGtag: function () {
81            let consentTypeState = {};
82            let persistedState = this.getPersistedConsentTypeState();
83
84            for (const [type, data] of Object.entries(persistedState)) {
85                consentTypeState[type] = data.status;
86            }
87
88            return consentTypeState;
89        },
90        shouldResetConsentState: function (persistedConsentTypes) {
91            if (Object.keys(persistedConsentTypes).length != Object.keys(this.defaultConsentTypesData).length) {
92                return true;
93            }
94
95            for (const [type, data] of Object.entries(persistedConsentTypes)) {
96                if (data.group !== this.defaultConsentTypesData[type].group) {
97                    return true;
98                }
99            }
100
101            return false;
102        },
103        resetAllowedCookiesGroups: function () {
104            document.cookie = this.gdprCookie.cookieGroupName + '=0;max-age=-1;domain=' + location.hostname
105        }
106    };
107
108    window.amConsentManager.init();
109</script>
109
110<meta charset="utf-8"/>
111<meta name="title" content="Come possiamo aiutarti? | NatureLab"/>
112<meta name="description" content="Contatta NatureLab per informazioni su prodotti, ordini, spedizioni e assistenza. Siamo a tua disposizione per aiutarti nella scelta."/>
113<meta name="robots" content="INDEX,FOLLOW"/>
114<meta name="viewport" content="width=device-width, initial-scale=1"/>
115<title>Come possiamo aiutarti? | NatureLab</title>
116<link  rel="stylesheet" type="text/css"  media="all" href="https://www.naturelab.it/static/version1786556693/frontend/Nature/naturelab/it_IT/Jajuma_WebpImages/css/web.css" />
117<link  rel="stylesheet" type="text/css"  media="all" href="https://www.naturelab.it/static/version1786556693/frontend/Nature/naturelab/it_IT/css/styles.css" />
118<link  rel="canonical" href="https://www.naturelab.it/contact/" />
119<link  rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
120<link  rel="shortcut icon" type="image/x-icon" href="https://www.naturelab.it/media/favicon/default/favicon.ico_1.png" />
121<link  rel="icon" sizes="32x32" type="image/png" href="/favicon-32x32.png" />
122<link  rel="icon" sizes="16x16" type="image/png" href="/favicon-16x16.png" />
123<link  rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
124<link  rel="manifest" href="/site.webmanifest" />
125<link  rel="icon" type="image/x-icon" href="https://www.naturelab.it/media/favicon/default/favicon.ico_1.png" />
126<meta name="geo.placename" content="Via Giovanni Berchet, 1, 50129 Firenze, Italia" />
127<meta name="geo.position" content="43.7862330;11.2657510" />
128<meta name="geo.region" content="IT-Toscana" />
129<meta name="ICBM" content="43.7862330, 11.2657510" />
130<meta name="DC.Title" content="NatureLab Srl">
131<meta name="DC.Creator" content="NatureLab">
132<meta name="DC.Subject" content="Integratori alimentari naturali, fitoterapia, cosmesi naturale ">
133<meta name="DC.Description" content="Distribuzione di integratori fitoterapici, nutraceutici, cosmesi naturale e biologica">
134<meta name="DC.Language" content="it">
135
136<meta name="google-site-verification" content="X0uzJ2loSyfVJG0qeBWCp-NECQKVGCLMtUWKsWItgBE" />
137
138    <meta property="og:type" content="website"/>
139<meta property="og:url" content="https://www.naturelab.it/contact/"/>
140<meta property="og:title" content="Come&#x20;possiamo&#x20;aiutarti&#x3F;&#x20;&#x7C;&#x20;NatureLab"/>
141<meta property="og:description" content="Contatta&#x20;NatureLab&#x20;per&#x20;informazioni&#x20;su&#x20;prodotti,&#x20;ordini,&#x20;spedizioni&#x20;e&#x20;assistenza.&#x20;Siamo&#x20;a&#x20;tua&#x20;disposizione&#x20;per&#x20;aiutarti&#x20;nella&#x20;scelta."/>
142<meta property="og:image" content="https://www.naturelab.it/media/wysiwyg/assets/naturelab-og-image.webp"/>
143<meta property="og:site_name" content="NatureLab"/>
144<meta name="twitter:card" content="summary_large_image"/>
145<meta name="twitter:url" content="https://www.naturelab.it/contact/"/>
146<meta name="twitter:title" content="Come&#x20;possiamo&#x20;aiutarti&#x3F;&#x20;&#x7C;&#x20;NatureLab"/>
147<meta name="twitter:description" content="Contatta&#x20;NatureLab&#x20;per&#x20;informazioni&#x20;su&#x20;prodotti,&#x20;ordini,&#x20;spedizioni&#x20;e&#x20;assistenza.&#x20;Siamo&#x20;a&#x20;tua&#x20;disposizione&#x20;per&#x20;aiutarti&#x20;nella&#x20;scelta."/>
148<meta name="twitter:image" content="https://www.naturelab.it/media/wysiwyg/assets/naturelab-og-image.webp"/>
149<!-- Google Tag Manager -->
150    
151                    
151<script>
152        document.addEventListener('scroll', mfGtmUserActionDetect);
153        document.addEventListener('mousemove', mfGtmUserActionDetect);
154        document.addEventListener('touchstart', mfGtmUserActionDetect);
155        function mfGtmUserActionDetect()
156        {
157            document.removeEventListener('scroll', mfGtmUserActionDetect);
158            document.removeEventListener('mousemove', mfGtmUserActionDetect);
159            document.removeEventListener('touchstart', mfGtmUserActionDetect);
160            window.mfGtmUserActionDetected = true;
161            mfLoadGtm();
162        }
163    
164        window.mfGtmUserCookiesAllowed = true;
165        mfLoadGtm();
166        
167    
168    function getMfGtmCustomerIdentifier() {
169        return localStorage.getItem('mf_gtm_customer_identifier') ? localStorage.getItem('mf_gtm_customer_identifier') : null;
170    };
171
172    function mfLoadGtm() {
173        if (!window.mfGtmUserActionDetected) return false;
174        if (!window.mfGtmLoadBeforeCookieAllowed && !window.mfGtmUserCookiesAllowed) return false;
175
176        if (window.mfGTMTriedToLoad) return;
177        window.mfGTMTriedToLoad = true;
178        
179            (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
180                    new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
181                j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
182                'https:' + '/' + '/' + 'www.googletagmanager.com/gtm.js?id='
182+i+dl;f.parentNode.insertBefore(j,f);
183            })(window,document,'script','dataLayer','GTM-KM7RPJX9');
184        
185    };
186    </script>
186
187        
187<script>
188        /* Hyva code */
189        function mfHyvaGtmSetCustomerIdentifier(event) {
190            let data, j;
191            let sections = event.detail.data;
192            for (j in sections) {
193                data = sections[j];
194                if (data.mf_gtm_customer_identifier) {
195                    localStorage.setItem('mf_gtm_customer_identifier', 'data.mf_gtm_customer_identifier');
196                    return;
197                }
198            }
199        };
200        window.addEventListener('private-content-loaded', mfHyvaGtmSetCustomerIdentifier);
201        /* End Hyva code */
202    </script>
202<!-- End Google Tag Manager -->
203
204<script>
205    var BASE_URL = 'https://www.naturelab.it/';
206    var THEME_PATH = 'https://www.naturelab.it/static/version1786556693/frontend/Nature/naturelab/it_IT';
207    var COOKIE_CONFIG = {
208        "expires": null,
209        "path": "\u002F",
210        "domain": ".www.naturelab.it",
211        "secure": true,
212        "lifetime": "3600",
213        "cookie_restriction_enabled": false    };
214    var CURRENT_STORE_CODE = 'default';
215    var CURRENT_WEBSITE_ID = '1';
216
217    window.hyva = window.hyva || {}
218
219    window.cookie_consent_groups = window.cookie_consent_groups || {}
220    window.cookie_consent_groups['necessary'] = true;
221
222    window.cookie_consent_config = window.cookie_consent_config || {};
223    window.cookie_consent_config['necessary'] = [].concat(
224        window.cookie_consent_config['necessary'] || [],
225        [
226            'user_allowed_save_cookie',
227            'form_key',
228            'mage-messages',
229            'private_content_version',
230            'mage-cache-sessid',
231            'last_visited_store',
232            'section_data_ids'
233        ]
234    );
235</script>
vendor: 1 bytes, line 235
235
236<script>
237    'use strict';
238    (function( hyva, undefined ) {
239
240        function lifetimeToExpires(options, defaults) {
241
242            const lifetime = options.lifetime || defaults.lifetime;
243
244            if (lifetime) {
245                const date = new Date;
246                date.setTime(date.getTime() + lifetime * 1000);
247                return date;
248            }
249
250            return null;
251        }
252
253        function generateRandomString() {
254
255            const allowedCharacters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',
256                length = 16;
257
258            let formKey = '',
259                charactersLength = allowedCharacters.length;
260
261            for (let i = 0; i < length; i++) {
262                formKey += allowedCharacters[Math.round(Math.random() * (charactersLength - 1))]
263            }
264
265            return formKey;
266        }
267
268        const sessionCookieMarker = {noLifetime: true}
269
270        const cookieTempStorage = {};
271
272        const internalCookie = {
273            get(name) {
274                const v = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)');
275                return v ? v[2] : null;
276            },
277            set(name, value, days, skipSetDomain) {
278                let expires,
279                    path,
280                    domain,
281                    secure,
282                    samesite;
283
284                const defaultCookieConfig = {
285                    expires: null,
286                    path: '/',
287                    domain: null,
288                    secure: false,
289                    lifetime: null,
290                    samesite: 'lax'
291                };
292
293                const cookieConfig = window.COOKIE_CONFIG || {};
294
295                expires = days && days !== sessionCookieMarker
296                    ? lifetimeToExpires({lifetime: 24 * 60 * 60 * days, expires: null}, defaultCookieConfig)
297                    : lifetimeToExpires(window.COOKIE_CONFIG, defaultCookieConfig) || defaultCookieConfig.expires;
298
299                path = cookieConfig.path || defaultCookieConfig.path;
300                domain = !skipSetDomain && (cookieConfig.domain || defaultCookieConfig.domain);
301                secure = cookieConfig.secure || defaultCookieConfig.secure;
302                samesite = cookieConfig.samesite || defaultCookieConfig.samesite;
303
304                document.cookie = name + "=" + encodeURIComponent(value) +
305                    (expires && days !== sessionCookieMarker ? '; expires=' + expires.toGMTString() : '') +
306                    (path ? '; path=' + path : '') +
307                    (domain ? '; domain=' + domain : '') +
308                    (secure ? '; secure' : '') +
309                    (samesite ? '; samesite=' + samesite : 'lax');
310            },
311            isWebsiteAllowedToSaveCookie() {
312                const allowedCookies = this.get('user_allowed_save_cookie');
313                if (allowedCookies) {
314                    const allowedWebsites = JSON.parse(unescape(allowedCookies));
315
316                    return allowedWebsites[CURRENT_WEBSITE_ID] === 1;
317                }
318                return false;
319            },
320            getGroupByCookieName(name) {
321                const cookieConsentConfig = window.cookie_consent_config || {};
322                let group = null;
323                for (let prop in cookieConsentConfig) {
324                    if (!cookieConsentConfig.hasOwnProperty(prop)) continue;
325                    if (cookieConsentConfig[prop].includes(name)) {
326                        group = prop;
327                        break;
328                    }
329                }
330                return group;
331            },
332            isCookieAllowed(name) {
333                const cookieGroup = this.getGroupByCookieName(name);
334                return cookieGroup
335                    ? window.cookie_consent_groups[cookieGroup]
336                    : this.isWebsiteAllowedToSaveCookie();
337            },
338            saveTempStorageCookies() {
339                for (const [name, data] of Object.entries(cookieTempStorage)) {
340                    if (this.isCookieAllowed(name)) {
341                        this.set(name, data['value'], data['days'], data['skipSetDomain']);
342                        delete cookieTempStorage[name];
343                    }
344                }
345            }
346        };
347
348        hyva.getCookie = (name) => {
349            const cookieConfig = window.COOKIE_CONFIG || {};
350
351            if (cookieConfig.cookie_restriction_enabled && ! internalCookie.isCookieAllowed(name)) {
352                return cookieTempStorage[name] ? cookieTempStorage[name]['value'] : null;
353            }
354
355            return internalCookie.get(name);
356        }
357
358        hyva.setCookie = (name, value, days, skipSetDomain) => {
359            const cookieConfig = window.COOKIE_CONFIG || {};
360
361            if (cookieConfig.cookie_restriction_enabled && ! internalCookie.isCookieAllowed(name)) {
362                cookieTempStorage[name] = {value, days, skipSetDomain};
363                return;
364            }
365            return internalCookie.set(name, value, days, skipSetDomain);
366        }
367
368
369        hyva.setSessionCookie = (name, value, skipSetDomain) => {
370            return hyva.setCookie(name, value, sessionCookieMarker, skipSetDomain)
371        }
372
373        hyva.getBrowserStorage = () => {
374            const browserStorage = window.localStorage || window.sessionStorage;
375            if (!browserStorage) {
376                console.warn('Browser Storage is unavailable');
377                return false;
378            }
379            try {
380                browserStorage.setItem('storage_test', '1');
381                browserStorage.removeItem('storage_test');
382            } catch (error) {
383                console.warn('Browser Storage is not accessible', error);
384                return false;
385            }
386            return browserStorage;
387        }
388
389        hyva.postForm = (postParams) => {
390            const form = document.createElement("form");
391
392            let data = postParams.data;
393
394            if (! postParams.skipUenc && ! data.uenc) {
395                data.uenc = btoa(window.location.href);
396            }
397            form.method = "POST";
398            form.action = postParams.action;
399
400            Object.keys(postParams.data).map(key => {
401                const field = document.createElement("input");
402                field.type = 'hidden'
403                field.value = postParams.data[key];
404                field.name = key;
405                form.appendChild(field);
406            });
407
408            const form_key = document.createElement("input");
409            form_key.type = 'hidden';
410            form_key.value = hyva.getFormKey();
411            form_key.name="form_key";
412            form.appendChild(form_key);
413
414            document.body.appendChild(form);
415
416            form.submit();
417        }
418
419        hyva.getFormKey = function () {
420            let formKey = hyva.getCookie('form_key');
421
422            if (!formKey) {
423                formKey = generateRandomString();
424                hyva.setCookie('form_key', formKey);
425            }
426
427            return formKey;
428        }
429
430        hyva.formatPrice = (value, showSign, options = {}) => {
431            const formatter = new Intl.NumberFormat(
432                'it\u002DIT',
433                Object.assign({
434                    style: 'currency',
435                    currency: 'EUR',
436                    signDisplay: showSign ? 'always' : 'auto'
437                }, options)
438            );
439            return (typeof Intl.NumberFormat.prototype.formatToParts === 'function') ?
440                formatter.formatToParts(value).map(({type, value}) => {
441                    switch (type) {
442                        case 'currency':
443                            return '\u20AC' || value;
444                        case 'minusSign':
445                            return '- ';
446                        case 'plusSign':
447                            return '+ ';
448                        default :
449                            return value;
450                    }
451                }).reduce((string, part) => string + part) :
452                formatter.format(value);
453        }
454
455        const formatStr = function (str, nStart) {
456            const args = Array.from(arguments).slice(2);
457
458            return str.replace(/(%+)([0-9]+)/g, (m, p, n) => {
459                const idx = parseInt(n) - nStart;
460
461                if (args[idx] === null || args[idx] === void 0) {
462                    return m;
463                }
464                return p.length % 2
465                    ? p.slice(0, -1).replace('%%', '%') + args[idx]
466                    : p.replace('%%', '%') + n;
467            })
468        }
469
470        hyva.str = function (string) {
471            const args = Array.from(arguments);
472            args.splice(1, 0, 1);
473
474            return formatStr.apply(undefined, args);
475        }
476
477        hyva.strf = function () {
478            const args = Array.from(arguments);
479            args.splice(1, 0, 0);
480
481            return formatStr.apply(undefined, args);
482        }
483
484        /**
485         * Take a html string as `content` parameter and
486         * extract an element from the DOM to replace in
487         * the current page under the same selector,
488         * defined by `targetSelector`
489         */
490        hyva.replaceDomElement = (targetSelector, content) => {
491            // Parse the content and extract the DOM node using the `targetSelector`
492            const parser = new DOMParser();
493            const doc = parser.parseFromString(content, 'text/html');
494            const contentNode = doc.querySelector(targetSelector);
495
496            // Bail if content can't be found
497            if (!contentNode) {
498                return;
499            }
500
501            hyva.activateScripts(contentNode)
502
503            // Replace the old DOM node with the new content
504            document.querySelector(targetSelector).replaceWith(contentNode);
505
506            // Reload customerSectionData and display cookie-messages if present
507            window.dispatchEvent(new CustomEvent("reload-customer-section-data"));
508            hyva.initMessages();
509        }
510
511        hyva.activateScripts = (contentNode) => {
512            // Extract all the script tags from the content.
513            // Script tags won't execute when inserted into a dom-element directly,
514            // therefore we need to inject them to the head of the document.
515            const tmpScripts = contentNode.getElementsByTagName('script');
516
517            if (tmpScripts.length > 0) {
518                // Push all script tags into an array
519                // (to prevent dom manipulation while iterating over dom nodes)
520                const scripts = [];
521                for (let i = 0; i < tmpScripts.length; i++) {
522                    scripts.push(tmpScripts[i]);
523                }
524
525                // Iterate over all script tags and duplicate+inject each into the head
526                for (let i = 0; i < scripts.length; i++) {
527                    let script = document.createElement('script');
528                    script.innerHTML = scripts[i].innerHTML;
529
530                    document.head.appendChild(script);
531
532                    // Remove the original (non-executing) node from the content
533                    scripts[i].parentNode.removeChild(scripts[i]);
534                }
535            }
536            return contentNode;
537        }
538
539        const replace = {['+']: '-', ['/']: '_', ['=']: ','};
540        hyva.getUenc = () => btoa(window.location.href).replace(/[+/=]/g, match => replace[match]);
541
542        let currentTrap;
543
544        const focusableElements = (rootElement) => {
545            const selector = 'button, [href], input, select, textarea, details, [tabindex]:not([tabindex="-1"]';
546            return Array.from(rootElement.querySelectorAll(selector))
547                .filter(el => {
548                    return el.style.display !== 'none'
549                        && !el.disabled
550                        && el.tabIndex !== -1
551                        && (el.offsetWidth || el.offsetHeight || el.getClientRects().length)
552                })
553        }
554
555        const focusTrap = (e) => {
556            const isTabPressed = e.key === 'Tab' || e.keyCode === 9;
557            if (!isTabPressed) return;
558
559            const focusable = focusableElements(currentTrap)
560            const firstFocusableElement = focusable[0]
561            const lastFocusableElement = focusable[focusable.length - 1]
562
563            e.shiftKey
564                ? document.activeElement === firstFocusableElement && (lastFocusableElement.focus(), e.preventDefault())
565                : document.activeElement === lastFocusableElement && (firstFocusableElement.focus(), e.preventDefault())
566        };
567
568        hyva.releaseFocus = (rootElement) => {
569            if (currentTrap && (!rootElement || rootElement === currentTrap)) {
570                currentTrap.removeEventListener('keydown', focusTrap)
571                currentTrap = null
572            }
573        }
574        hyva.trapFocus = (rootElement) => {
575            if (!rootElement) return;
576            hyva.releaseFocus()
577            currentTrap = rootElement
578            rootElement.addEventListener('keydown', focusTrap)
579            const firstElement = focusableElements(rootElement)[0]
580            firstElement && firstElement.focus()
581        }
582
583                hyva.alpineInitialized = (fn) => window.addEventListener('alpine:initialized', fn, {once: true})
584                window.addEventListener('user-allowed-save-cookie', () => internalCookie.saveTempStorageCookies())
585
586    }( window.hyva = window.hyva || {} ));
587</script>
vendor: 1 bytes, line 587
587
588<script>
589    if (!window.IntersectionObserver) {
590        window.IntersectionObserver = function (callback) {
591            this.observe = el => el && callback(this.takeRecords());
592            this.takeRecords = () => [{isIntersecting: true, intersectionRatio: 1}];
593            this.disconnect = () => {};
594            this.unobserve = () => {};
595        }
596    }
597</script>
597
598
599<script>
600    window.addEventListener('init-external-scripts', () => {
601        if (window._amPurifyLoaded) {
602            return;
603        }
604
605        // Load Purify script asynchronously
606        const script = document.createElement('script');
607        script.src = 'https://www.naturelab.it/static/version1786556693/frontend/Nature/naturelab/it_IT/Amasty_XsearchHyvaCompatibility/js/purify.min.js';
608        script.async = true;
609        document.body.appendChild(script);
610
611        window._amPurifyLoaded = true;
612
613        script.onload = () => {
614            // Dispatch custom event when Swiper is loaded
615            window.dispatchEvent(new CustomEvent('amPurifyLoaded', {}));
616        }
617    }, { once: true, passive: true });
618</script>
618
619</head>
620<body class="hide-registration-note overflow-x-hidden contact-index-index page-layout-1column" id="html-body" ontouchstart="() => {}">
621    <!-- Google Tag Manager (noscript) -->
vendor: 80 bytes, lines 621-622
621
622            <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
622GTM-KM7RPJX9
vendor: 117 bytes, lines 622-624
622"
623                          height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
624        
624<!-- End Google Tag Manager (noscript) -->
625    <input name="form_key" type="hidden" value="xzuVQOR9Ekj125Es" />
625<script type="application/ld+json">
626{
627    "@context":"https:\/\/schema.org",
628    "@type":"WebSite",
629    "url":"https:\/\/www.naturelab.it\/",
630    "name":"NatureLab",
631    "alternateName":"NatureLab Srl"
632}
633</script>
vendor: 1 bytes, line 633
633
634<script type="application/ld+json">
635{
636    "@context":"https://schema.org",
637    "@type":"OnlineStore",
638    "url":"https://www.naturelab.it/",
639    "logo":"https://www.naturelab.it/media/logo/default/naturelab-shop.png",
640    "image":"https://www.naturelab.it/media/wysiwyg/assets/naturelab-og-image.webp",
641    "name":"NatureLab Srl",
642    "description":"Vendita di integratori alimentari naturali. Fitoterapia e Nutraceutica. Silicio Organico.",
643    "telephone":"00390557478357",
644    "faxNumber":"00390557471053",
645    "email":"[email protected]",
646    "address": {
647        "@type":"PostalAddress",
648        "addressCountry":"IT",
649        "addressLocality":"Firenze",
650        "postalCode":"50129",
651        "streetAddress":"Via Giovanni Berchet 1",
652        "addressRegion":"Toscana"
653    },
654    "sameAs": [
655        "https://www.facebook.com/NatureLab.Srl",
656        "https://www.linkedin.com/company/naturelab-srl/",
657        "https://www.instagram.com/naturelab_/",
658        "https://www.pinterest.it/naturelab/",
659        "https://twitter.com/NatureLab_"
660    ]
661}
662</script>
662<script>
663    document.body.addEventListener('touchstart', () => {}, {passive: true, once: true});
664</script>
vendor: 1 bytes, line 664
664
665<script>
666    (function (hyva) {
667        'use strict';
668
669        /**
670         * We use multiple Store objects depending on which Alpine version is
671         */
672        const isAlpineV3 = true;
673
674        /**
675         * @returns {string}
676         */
677        function getInitEventName() {
678            return isAlpineV3 ? 'alpine:init' : 'spruce:init';
679        }
680
681        /**
682         * @returns {Object}
683         */
684        function getStoreObject() {
685            return isAlpineV3 ? Alpine : Spruce;
686        }
687
688        hyva.amStorage = {
689            /**
690             * @param {string} key
691             * @param {Object} object
692             * @returns {void}
693             */
694            create: (key, object) => {
695                const eventName = key.toLowerCase() + '-created';
696
697                document.addEventListener(getInitEventName(), () => {
698                    getStoreObject().store(key, object);
699                    document.dispatchEvent(new Event(eventName));
700                });
701            },
702
703            /**
704             * @param {string} key
705             * @returns {Object}
706             */
707            getStorage: (key) => {
708                return getStoreObject().store(key);
709            },
710
711            /**
712             * @param {string} key
713             * @param {Object} object
714             * @returns {void}
715             */
716            reInit: (key, object) => {
717                isAlpineV3
718                    ? getStoreObject().store(key, object)
719                    : getStoreObject().reset(key, object);
720            }
721        };
722
723
724    }(window.hyva = window.hyva || {}));
725</script>
vendor: 1 bytes, line 725
725
726<script>
727    window.amastyCookieManager = window.amastyCookieManager || {};
728</script>
728
729
730<div x-data="{
731        ...hyva.modal({
732            duration: 150,
733            transitionEnter: 'transform duration-150',
734            transitionLeave: 'transform duration-150'
735        }),
736        ...initAmastyCookieBar()
737    }"
738    x-init="initBar()" x-spread="eventListeners" x-bind="eventListeners" x-cloak id="am-cookie-bar"
739            class="w-full&#x20;fixed&#x20;bottom-0&#x20;z-40"
740    >
741    <div x-cloak    x-bind="overlay('am-cookie-bar')"
742    x-spread="overlay('am-cookie-bar')"
743    class="">
744    <div class="flex w-full bg-white inset-0">
745        <div x-ref="am-cookie-bar" role="dialog" aria-modal="true"
746             x-no-overlay                            aria-label="Cookie&#x20;Bar"
747                                     class="flex w-full p-4 md:p-2 bg-black relative">
748            
749<button @click="$dispatch('close-cookie-bar')" aria-label="Chiudi"
750        class="absolute right-2 top-2 text-gray-300 transition
751                    hover:text-black focus:drop-shadow-md hover:drop-shadow-md">
752    <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="none" viewBox="0 0 24 24"
753         stroke="currentColor" stroke-width="2">
754        <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"/>
755    </svg>
756</button>
757<div class="flex w-full justify-center">
758    <div class="flex w-full justify-center flex-col px-4 md:px-8">
759                    <div class="w-full">
760                <p class="max-h-[30vh] text-sm text-white">
761                    Su www.naturelab.it usiamo cookie per scopi tecnici e, con il tuo consenso, per funzionalità, esperienza, misurazione e marketing, come da <a href="/cookie-policy/" title="Cookie Policy" class="font-bold">Cookie Policy</a>.  Puoi gestire o revocare il consenso in qualsiasi momento cliccando su &quot;Imposta cookies&quot;. Il rifiuto può limitare alcune funzionalità. Clicca “Accetta” per acconsentire o “Personalizza” per gestire le preferenze. Chiudi per continuare senza accettare.                </p>
762            </div>
763                <div class="flex flex-wrap w-full justify-center gap-2">
764            
765            
766<button
767    @click.prevent="$dispatch(&#x27;cookiebar-action-allow&#x27;)"
768    class="w-full&#x20;justify-center&#x20;w-auto&#x20;mb-1&#x20;text-white&#x20;bg-primary&#x20;tracking-wider&#x20;hover&#x3A;bg-natlabLigthBlue&#x20;py-1&#x20;px-4&#x20;rounded-lg"
769    data-role="action">
770    Accetta</button>
771                    
772<button
773    @click.prevent="$dispatch(&#x27;cookiebar-action-settings&#x27;)"
774    class="w-full&#x20;justify-center&#x20;w-auto&#x20;mb-1&#x20;text-bg-primary&#x20;bg-white&#x20;py-1&#x20;px-4&#x20;rounded-lg"
775    data-role="action">
776    Personalizza</button>
777            </div>
778    </div>
779</div>
780
781        </div>
782    </div>
783    </div>
784</div>
785
786<script>
787    'use strict';
788
789    function initAmastyCookieBar() {
790        return {
791            eventListeners: {
792                ['@close-cookie-bar']() {
793                    this.hide('am-cookie-bar');
794                },
795                ['@open-cookie-bar']() {
796                    this.show('am-cookie-bar');
797                },
798                ['@amasty-cookie-group-updated.window']() {
799                    const lastUpdate = !!hyva.amStorage
800                        ? hyva.amStorage.getStorage('AmastyCookieGroups').lastUpdate
801                        : 0;
802                    if (this.isShowNotificationBar(this.firstShowProcess, lastUpdate)) {
803                        !this.opened['am-cookie-bar'] &&
804                        this.show('am-cookie-bar');
805                    } else {
806                        !!this.opened['am-cookie-bar'] &&
807                        this.hide('am-cookie-bar');
808                    }
809                }
810            },
811
812            firstShowProcess: '0',
813
814            initBar: function () {
815                window.isGdprCookieEnabled = true;
816                !!hyva.amStorage && hyva.amStorage.getStorage('AmastyCookieGroups').updateGroupData();
817            },
818
819            /**
820             * @param {string|number} firstShowProcess
821             * @param {number} lastUpdate
822             * @returns {boolean}
823             */
824            isShowNotificationBar: function (firstShowProcess, lastUpdate) {
825                return (this.isNeedFirstShow(firstShowProcess, lastUpdate) && !hyva.getCookie('amcookie_allowed')
826                    || this.isNeedShowOnUpdate(lastUpdate));
827            },
828
829            /**
830             * @param {string|number} firstShowProcess
831             * @param {number} lastUpdate
832             * @returns {boolean}
833             */
834            isNeedFirstShow: function (firstShowProcess, lastUpdate) {
835                hyva.getBrowserStorage().setItem('amCookieBarFirstShowTime', lastUpdate);
836
837                if (firstShowProcess === '0') {
838                    return true;
839                }
840
841                if (hyva.getBrowserStorage().getItem('amCookieBarFirstShow') !== '1') {
842                    hyva.getBrowserStorage().setItem('amCookieBarFirstShow', '1');
843
844                    return true;
845                }
846
847                return false;
848            },
849
850            /**
851             * @param {number} lastUpdate
852             * @returns {boolean}
853             */
854            isNeedShowOnUpdate: function (lastUpdate) {
855                if (!lastUpdate) {
856                    return false;
857                }
858
859                return this.isNeedShowAfterLastVisit(lastUpdate) || this.isNeedShowAfterLastAccept(lastUpdate);
860            },
861
862            /**
863             * @param {number} lastUpdate
864             * @returns {boolean}
865             */
866            isNeedShowAfterLastVisit: function (lastUpdate) {
867                let needToShowAfterLastVisit =
868                    lastUpdate > hyva.getBrowserStorage().getItem('amCookieBarFirstShowTime');
869
870                if (needToShowAfterLastVisit) {
871                    hyva.getBrowserStorage().setItem('amCookieBarFirstShow', null);
872                    hyva.setCookie('amcookie_allowed', '', -1, true);
873                }
874
875                return needToShowAfterLastVisit;
876            },
877
878            /**
879             * @param {number} lastUpdate
880             * @returns {boolean}
881             */
882            isNeedShowAfterLastAccept: function (lastUpdate) {
883                let needToShowAfterLastAccept = false;
884
885                if (hyva.getBrowserStorage().getItem('am-last-cookie-acceptance')) {
886                    needToShowAfterLastAccept =
887                        lastUpdate > hyva.getBrowserStorage().getItem('am-last-cookie-acceptance');
888                }
889
890                return needToShowAfterLastAccept;
891            },
892        };
893    }
894</script>
894
895<div class="page-wrapper"><header class="page-header"><a class="action skip sr-only focus:not-sr-only focus:absolute focus:z-40 focus:bg-white
896   contentarea"
897   href="#contentarea">
898    <span>
899        Salta al contenuto    </span>
900</a>
901<script>
902    function initHeader() {
903        const open = window.innerWidth > 1024
904        return {
905            searchOpen: false,
906            cart: {},
907            isCartOpen: false,
908            getData(data) {
909                if (data.cart) {
910                    this.cart = data.cart
911                }
912            },
913            isCartEmpty() {
914                return !this.cart.summary_count
915            },
916            toggleCart(event) {
917                if (event.detail && event.detail.isOpen !== undefined) {
918                    this.isCartOpen = event.detail.isOpen
919                    if (!this.isCartOpen && this.$refs && this.$refs.cartButton) {
920                        this.$refs.cartButton.focus()
921                    }
922                } else {
923                                        this.isCartOpen = true
924                }
925            }
926        }
927    }
928
929    function initCompareHeader() {
930        return {
931            compareProducts: null,
932            itemCount: 0,
933            receiveCompareData(data) {
934                if (data['compare-products']) {
935                    this.compareProducts = data['compare-products'];
936                    this.itemCount = this.compareProducts.count;
937                }
938            }
939        }
940    }
941</script>
941
942<!-- Top Header -->
943<div class="bg-natlabLigthGreenVery  text-natlabGreen">
944<style>.cmsb219-col-span-1 {
945grid-column: span 1 / span 1
946}
947.cmsb219-col-span-4 {
948grid-column: span 4 / span 4
949}
950.cmsb219-mx-6 {
951margin-left: 1.5rem;
952margin-right: 1.5rem
953}
954.cmsb219-flex {
955display: flex
956}
957.cmsb219-grid {
958display: grid
959}
960.cmsb219-hidden {
961display: none
962}
963.cmsb219-h-4 {
964height: 1rem
965}
966.cmsb219-w-4 {
967width: 1rem
968}
969.cmsb219-transform {
970transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
971}
972.cmsb219-grid-cols-1 {
973grid-template-columns: repeat(1, minmax(0, 1fr))
974}
975.cmsb219-items-center {
976align-items: center
977}
978.cmsb219-gap-1 {
979gap: 0.25rem
980}
981.cmsb219-justify-self-end {
982justify-self: end
983}
984.cmsb219-justify-self-center {
985justify-self: center
986}
987.cmsb219-text-center {
988text-align: center
989}
990.cmsb219-text-\[0\.625rem\] {
991font-size: 0.625rem
992}
993.cmsb219-text-xs {
994font-size: 0.75rem;
995line-height: 1rem
996}
997.cmsb219-font-bold {
998font-weight: 700
999}
1000.cmsb219-uppercase {
1001text-transform: uppercase
1002}
1003.cmsb219-tracking-wider {
1004letter-spacing: 0.05em
1005}
1006.cmsb219-hover\:text-black:hover {
1007--tw-text-opacity: 1;
1008color: rgb(0 0 0 / var(--tw-text-opacity))
1009}
1010@media (min-width: 1024px) {
1011.cmsb219-lg\:block {
1012display: block
1013}
1014.cmsb219-lg\:grid-cols-6 {
1015grid-template-columns: repeat(6, minmax(0, 1fr))
1016}
1017.cmsb219-lg\:text-xs {
1018font-size: 0.75rem;
1019line-height: 1rem
1020}
1021}</style>
1022<div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><div class="cmsb219-grid cmsb219-grid-cols-1 cmsb219-lg:grid-cols-6 cmsb219-items-center cmsb219-mx-6">
1023    <div class="cmsb219-hidden cmsb219-lg:block cmsb219-col-span-1">
1024        <p class="cmsb219-flex cmsb219-items-center cmsb219-gap-1 cmsb219-tracking-wider cmsb219-text-xs cmsb219-font-bold">
1025
1026        <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 25 25" class="cmsb219-w-4 cmsb219-h-4" role="img" aria-hidden="true"><defs><clipPath id="clip-path"><rect id="img" width="25" height="25" rx="3" transform="translate(30 10.906)" fill="#0b4850"></rect></clipPath></defs><g id="Groupe_de_masques_16" data-name="Groupe de masques 16" transform="translate(-30 -10.906)" clip-path="url(#clip-path)"><g id="Calque_2" data-name="Calque 2" transform="translate(30 10.906)"><g id="Pictos-Basic"><g id="call-filled-green"><rect id="safe-zone-0_" data-name="safe-zone-0%" width="25" height="25" fill="none"></rect><path id="call-filled-green-2" data-name="call-filled-green" d="M20.253,15.892a11.16,11.16,0,0,1-3.472-.552.965.965,0,0,0-.983.233l-2.122,2.135a14.6,14.6,0,0,1-6.385-6.372L9.424,9.191a.979.979,0,0,0,.233-.983,11.056,11.056,0,0,1-.549-3.472.962.962,0,0,0-.962-.965h-3.4a.962.962,0,0,0-.965.965A16.465,16.465,0,0,0,20.247,21.219h0a.958.958,0,0,0,.965-.958v-3.4a.962.962,0,0,0-.958-.969Z" fill="#0b4850"></path></g></g></g></g></svg>
1027 <a href="tel:+393467306919" class="cmsb219-hover:text-black" title="Chiamaci" aria-label="Chiama il numero +39 346 7306919"> +39 346 7306919</a>
1028        </p>
1029    </div>
1030    <p class="cmsb219-justify-self-center cmsb219-font-bold cmsb219-tracking-wider cmsb219-text-[0.625rem] cmsb219-lg:text-xs cmsb219-uppercase cmsb219-col-span-4 cmsb219-text-center">
1031        Spedizione GRATUITA in Italia da 69,00 €
1032    </p>   
1033    <div class="cmsb219-hidden cmsb219-lg:block cmsb219-justify-self-end cmsb219-col-span-1">
1034        <p class="cmsb219-flex cmsb219-items-center cmsb219-gap-1 cmsb219-tracking-wider cmsb219-text-xs cmsb219-uppercase cmsb219-font-bold">
1035           Puoi pagare alla consegna
1036        </p>
1037    </div>
1038</div></div></div>    
1039<div id="header" 
1040    class="relative z-30 w-full bg-white border-b lg:border-b-0 shadow-lg" 
1041    x-data="initHeader()"
1042    @keydown.window.escape="toggleSearch" 
1043    @private-content-loaded.window="getData(event.detail.data)"
1044>
1045<div class="container px-0 flex flex-wrap items-center justify-between w-full py-3 lg:py-6">
1046        <!-- Mobile Menu & Search triggers -->      
1047        <div x-data="{ showSearchButton: true }"
1048            @menu-mobile-opened.window="showSearchButton = false"
1049            @menu-mobile-closed.window="showSearchButton = true"
1050            class="w-auto flex"
1051        >
1052                <nav x-data="initMenuMobile_6ac2bbece5921()" @load.window="setActiveMenu($root)" @keydown.window.escape="closeMenu()" class="relative z-20 navigation order-first lg:hidden w-12 h-12 text-natlabGreen" aria-label="Navigazione&#x20;del&#x20;sito" role="navigation">
1053    <!-- mobile -->
1054    <button x-ref="mobileMenuTrigger" class="focus:outline-none focus:border-transparent lg:text-xl focus:ring-0"
1055    @click="openMenu()" :class="{'overflow-x-hidden overflow-y-auto fixed top-0 left-0 w-full' : open}" type="button" aria-label="Aprire&#x20;il&#x20;menu" aria-haspopup="menu" :aria-expanded="open" :hidden="open">
1056        <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="p-3" width="48" height="48" :class="{ 'hidden' : open, 'block': !open }" aria-hidden="true">
1057  <path stroke-linecap="round" stroke-linejoin="round" d="M4 6h16M4 12h16M4 18h16"/>
1058</svg>
1059    </button>
1060    <button @click="closeMenu()" class="absolute flex justify-start w-16 self-start mb-1" aria-label="Chiudi&#x20;il&#x20;menu" type="button">
1061        <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="hidden p-3" width="48" height="48" :class="{ 'hidden' : !open, 'block': open }" aria-hidden="true">
1062  <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"/>
1063</svg>
1064    </button>
1065    <div x-ref="mobileMenuNavLinks" class="
1066            fixed top-[100px] right-0 w-full h-full hidden
1067            flex-col bg-natlabLigthGreenVery
1068            overflow-y-auto overflow-x-hidden
1069        " :class="{ 'flex': open, 'hidden': !open }" :aria-hidden="open ? 'false' : 'true'" role="dialog" aria-modal="true">
1070        <ul class="border-t flex flex-col" aria-label="Link&#x20;di&#x20;navigazione&#x20;del&#x20;sito">
1071                            <li data-child-id="category-node-36-main" class="level-0">
1072                    <div class="flex items-center transition-transform duration-150 ease-in-out transform" :class="{
1073                            '-translate-x-full' : mobilePanelActiveId,
1074                            'translate-x-0' : !mobilePanelActiveId
1075                        }">
1076                        <a class="flex items-center w-full px-4 py-4 
1077                            border-b cursor-pointer bg-container-lighter border-container 
1078                            text-sm uppercase font-medium text-natlabGreen level-0
1079                            " href="https://www.naturelab.it/integratori-naturali/" title="Integratori&#x20;Naturali">
1080                            Integratori Naturali                        </a>
1081                                                    <button @click="openSubcategory('category-node-36')" class="absolute right-0 flex items-center justify-center w-11 h-11 mr-2 cursor-pointer
1082                                    " aria-label="Aprire&#x20;Integratori&#x20;Naturali&#x20;sottocategorie" aria-haspopup="true" :aria-expanded="mobilePanelActiveId === 'category-node-36'">
1083                                <div class="w-6 h-6 rounded">
1084                                    <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-full h-full p-1" width="24" height="24" aria-hidden="true">
1085  <path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"/>
1086</svg>
1087                                </div>
1088                            </button>
1089                                            </div>
1090                                            <div data-child-id="category-node-36" class="absolute top-0 right-0 z-10 flex flex-col gap-1 w-full h-full p-1 bg-container-lighter" :class="{
1091                                'hidden': mobilePanelActiveId !== 'category-node-36'
1092                            }">
1093                            <ul class="transition-transform duration-200 ease-in-out translate-x-full transform pb-48" :class="{
1094                                    'translate-x-full' : mobilePanelActiveId !== 'category-node-36',
1095                                    'translate-x-0' : mobilePanelActiveId === 'category-node-36',
1096                                }" aria-label="Sottocategorie">
1097                                <li>
1098                                    <button type="button" class="flex items-center px-2 py-4 border-b cursor-pointer bg-container border-container w-full border-t" @click="backToMainCategories('category-node-36-main')" aria-label="Torna&#x20;alle&#x20;categorie&#x20;principali">
1099                                        <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" width="16" height="16" aria-hidden="true">
1100  <path stroke-linecap="round" stroke-linejoin="round" d="M15 19l-7-7 7-7"/>
1101</svg>
1102                                        <span class="ml-4 text-sm uppercase font-medium">
1103                                            Integratori Naturali                                        </span>
1104                                    </button>
1105                                </li>
1106                                                                    <li>
1107                                        <a href="https://www.naturelab.it/integratori-per-l-organismo/" title="Per&#x20;il&#x20;tuo&#x20;Benessere" class="flex items-center w-full px-4
1108                            cursor-pointer bg-natlabLigthGreenVery border-container 
1109                             pt-3 pb-3 text-sm uppercase font-medium text-natlabGreen">
1110                                            <span class="ml-6">
1111                                                Per il tuo Benessere                                            </span>
1112                                        </a>
1113
1114                                                                                    <ul class="border-b pb-4 bg-white">
1115                                                                                                    <li class="ml-10 py-1">
1116                                                        <a href="https://www.naturelab.it/integratori-antiossidanti/" title="Antiossidanti" class="block w-full pt-3 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D36]').focus())">
1117                                                            <span class="font-medium">Antiossidanti                                                        </a>
1118                                                    </li>
1119                                                                                                    <li class="ml-10 py-1">
1120                                                        <a href="https://www.naturelab.it/integratori-articolazioni-ossa-muscoli/" title="Articolazioni,&#x20;Ossa&#x20;e&#x20;Muscoli" class="block w-full pt-3 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D36]').focus())">
1121                                                            <span class="font-medium">Articolazioni, Ossa e Muscoli                                                        </a>
1122                                                    </li>
1123                                                                                                    <li class="ml-10 py-1">
1124                                                        <a href="https://www.naturelab.it/integratori-microcircolo-e-gambe-pesanti/" title="Microcircolo&#x20;e&#x20;Gambe&#x20;Pesanti" class="block w-full pt-3 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D36]').focus())">
1125                                                            <span class="font-medium">Microcircolo e Gambe Pesanti                                                        </a>
1126                                                    </li>
1127                                                                                                    <li class="ml-10 py-1">
1128                                                        <a href="https://www.naturelab.it/integratori-colesterolo/" title="Colesterolo" class="block w-full pt-3 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D36]').focus())">
1129                                                            <span class="font-medium">Colesterolo                                                        </a>
1130                                                    </li>
1131                                                                                                    <li class="ml-10 py-1">
1132                                                        <a href="https://www.naturelab.it/integratori-cuore-e-pressione/" title="Cuore&#x20;e&#x20;Pressione" class="block w-full pt-3 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D36]').focus())">
1133                                                            <span class="font-medium">Cuore e Pressione                                                        </a>
1134                                                    </li>
1135                                                                                                    <li class="ml-10 py-1">
1136                                                        <a href="https://www.naturelab.it/integratori-depurativi-e-drenanti/" title="Depurativi&#x20;e&#x20;Drenanti" class="block w-full pt-3 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D36]').focus())">
1137                                                            <span class="font-medium">Depurativi e Drenanti                                                        </a>
1138                                                    </li>
1139                                                                                                    <li class="ml-10 py-1">
1140                                                        <a href="https://www.naturelab.it/integratori-difese-immunitarie-raffreddore-e-tosse/" title="Difese&#x20;Immunitarie" class="block w-full pt-3 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D36]').focus())">
1141                                                            <span class="font-medium">Difese Immunitarie                                                        </a>
1142                                                    </li>
1143                                                                                                    <li class="ml-10 py-1">
1144                                                        <a href="https://www.naturelab.it/integratori-naturali-donna-menopausa/" title="Donna&#x20;e&#x20;Menopausa" class="block w-full pt-3 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D36]').focus())">
1145                                                            <span class="font-medium">Donna e Menopausa                                                        </a>
1146                                                    </li>
1147                                                                                                    <li class="ml-10 py-1">
1148                                                        <a href="https://www.naturelab.it/integratori-intestino-sano-digestione-transito/" title="Intestino&#x20;Sano&#x20;e&#x20;Digestione" class="block w-full pt-3 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D36]').focus())">
1149                                                            <span class="font-medium">Intestino Sano e Digestione                                                        </a>
1150                                                    </li>
1151                                                                                                    <li class="ml-10 py-1">
1152                                                        <a href="https://www.naturelab.it/integratori-memoria-e-concentrazione/" title="Memoria&#x20;e&#x20;Concentrazione" class="block w-full pt-3 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D36]').focus())">
1153                                                            <span class="font-medium">Memoria e Concentrazione                                                        </a>
1154                                                    </li>
1155                                                                                                    <li class="ml-10 py-1">
1156                                                        <a href="https://www.naturelab.it/integratori-sistema-nervoso-ansia-stress-e-insonnia/" title="Sistema&#x20;Nervoso,&#x20;Stress&#x20;e&#x20;Insonnia" class="block w-full pt-3 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D36]').focus())">
1157                                                            <span class="font-medium">Sistema Nervoso, Stress e Insonnia                                                        </a>
1158                                                    </li>
1159                                                                                                    <li class="ml-10 py-1">
1160                                                        <a href="https://www.naturelab.it/integratori-a-supporto-per-l-oncologia/" title="Supporto&#x20;per&#x20;l&#x27;Oncologia" class="block w-full pt-3 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D36]').focus())">
1161                                                            <span class="font-medium">Supporto per l&#039;Oncologia                                                        </a>
1162                                                    </li>
1163                                                                                                    <li class="ml-10 py-1">
1164                                                        <a href="https://www.naturelab.it/integratori-tonici-adattogeni-vitalita/" title="Tonici,&#x20;Adattogeni,&#x20;Vitalit&#xE0;" class="block w-full pt-3 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D36]').focus())">
1165                                                            <span class="font-medium">Tonici, Adattogeni, Vitalità                                                        </a>
1166                                                    </li>
1167                                                                                                    <li class="ml-10 py-1">
1168                                                        <a href="https://www.naturelab.it/integratori-vie-urinarie/" title="Vie&#x20;Urinarie" class="block w-full pt-3 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D36]').focus())">
1169                                                            <span class="font-medium">Vie Urinarie                                                        </a>
1170                                                    </li>
1171                                                                                            </ul>
1172                                        
1173                                    </li>
1174                                                                    <li>
1175                                        <a href="https://www.naturelab.it/integratori-per-il-corpo/" title="Per&#x20;il&#x20;tuo&#x20;Equilibrio" class="flex items-center w-full px-4
1176                            cursor-pointer bg-natlabLigthGreenVery border-container 
1177                             pt-3 pb-3 text-sm uppercase font-medium text-natlabGreen">
1178                                            <span class="ml-6">
1179                                                Per il tuo Equilibrio                                            </span>
1180                                        </a>
1181
1182                                                                                    <ul class="border-b pb-4 bg-white">
1183                                                                                                    <li class="ml-10 py-1">
1184                                                        <a href="https://www.naturelab.it/integratori-per-capelli-e-unghie/" title="Capelli&#x20;e&#x20;Unghie" class="block w-full pt-3 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D36]').focus())">
1185                                                            <span class="font-medium">Capelli e Unghie                                                        </a>
1186                                                    </li>
1187                                                                                                    <li class="ml-10 py-1">
1188                                                        <a href="https://www.naturelab.it/integratori-controllo-del-peso-e-metabolismo/" title="Controllo&#x20;del&#x20;Peso&#x20;e&#x20;Metabolismo" class="block w-full pt-3 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D36]').focus())">
1189                                                            <span class="font-medium">Controllo del Peso e Metabolismo                                                        </a>
1190                                                    </li>
1191                                                                                                    <li class="ml-10 py-1">
1192                                                        <a href="https://www.naturelab.it/integratori-per-la-pelle-anti-aging/" title="Pelle&#x20;e&#x20;Anti&#x20;Aging" class="block w-full pt-3 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D36]').focus())">
1193                                                            <span class="font-medium">Pelle e Anti Aging                                                        </a>
1194                                                    </li>
1195                                                                                                    <li class="ml-10 py-1">
1196                                                        <a href="https://www.naturelab.it/integratori-per-l-esposizione-
1196al-sole-e-preparazione-all-abbronzatura/" title="Esposizione&#x20;al&#x20;Sole&#x20;e&#x20;Abbronzatura" class="block w-full pt-3 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D36]').focus())">
1197                                                            <span class="font-medium">Esposizione al Sole e Abbronzatura                                                        </a>
1198                                                    </li>
1199                                                                                                    <li class="ml-10 py-1">
1200                                                        <a href="https://www.naturelab.it/inestetismi-della-cellulite/" title="Inestetismi&#x20;della&#x20;cellulite" class="block w-full pt-3 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D36]').focus())">
1201                                                            <span class="font-medium">Inestetismi della cellulite                                                        </a>
1202                                                    </li>
1203                                                                                            </ul>
1204                                        
1205                                    </li>
1206                                                            </ul>
1207
1208                        </div>
1209                                    </li>
1210                            <li data-child-id="category-node-4-main" class="level-0">
1211                    <div class="flex items-center transition-transform duration-150 ease-in-out transform" :class="{
1212                            '-translate-x-full' : mobilePanelActiveId,
1213                            'translate-x-0' : !mobilePanelActiveId
1214                        }">
1215                        <a class="flex items-center w-full px-4 py-4 
1216                            border-b cursor-pointer bg-container-lighter border-container 
1217                            text-sm uppercase font-medium text-natlabGreen level-0
1218                            " href="https://www.naturelab.it/silicio-organico/" title="Silicio&#x20;Organico">
1219                            Silicio Organico                        </a>
1220                                            </div>
1221                                    </li>
1222                            <li data-child-id="category-node-147-main" class="level-0">
1223                    <div class="flex items-center transition-transform duration-150 ease-in-out transform" :class="{
1224                            '-translate-x-full' : mobilePanelActiveId,
1225                            'translate-x-0' : !mobilePanelActiveId
1226                        }">
1227                        <a class="flex items-center w-full px-4 py-4 
1228                            border-b cursor-pointer bg-container-lighter border-container 
1229                            text-sm uppercase font-medium text-natlabGreen level-0
1230                            " href="https://www.naturelab.it/vitamine-e-minerali/" title="Vitamine&#x20;e&#x20;Minerali">
1231                            Vitamine e Minerali                        </a>
1232                                                    <button @click="openSubcategory('category-node-147')" class="absolute right-0 flex items-center justify-center w-11 h-11 mr-2 cursor-pointer
1233                                    " aria-label="Aprire&#x20;Vitamine&#x20;e&#x20;Minerali&#x20;sottocategorie" aria-haspopup="true" :aria-expanded="mobilePanelActiveId === 'category-node-147'">
1234                                <div class="w-6 h-6 rounded">
1235                                    <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-full h-full p-1" width="24" height="24" aria-hidden="true">
1236  <path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"/>
1237</svg>
1238                                </div>
1239                            </button>
1240                                            </div>
1241                                            <div data-child-id="category-node-147" class="absolute top-0 right-0 z-10 flex flex-col gap-1 w-full h-full p-1 bg-container-lighter" :class="{
1242                                'hidden': mobilePanelActiveId !== 'category-node-147'
1243                            }">
1244                            <ul class="transition-transform duration-200 ease-in-out translate-x-full transform pb-48" :class="{
1245                                    'translate-x-full' : mobilePanelActiveId !== 'category-node-147',
1246                                    'translate-x-0' : mobilePanelActiveId === 'category-node-147',
1247                                }" aria-label="Sottocategorie">
1248                                <li>
1249                                    <button type="button" class="flex items-center px-2 py-4 border-b cursor-pointer bg-container border-container w-full border-t" @click="backToMainCategories('category-node-147-main')" aria-label="Torna&#x20;alle&#x20;categorie&#x20;principali">
1250                                        <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" width="16" height="16" aria-hidden="true">
1251  <path stroke-linecap="round" stroke-linejoin="round" d="M15 19l-7-7 7-7"/>
1252</svg>
1253                                        <span class="ml-4 text-sm uppercase font-medium">
1254                                            Vitamine e Minerali                                        </span>
1255                                    </button>
1256                                </li>
1257                                                                    <li>
1258                                        <a href="https://www.naturelab.it/integratori-vitamine-naturali/" title="Vitamine&#x20;Naturali" class="flex items-center w-full px-4
1259                            cursor-pointer bg-natlabLigthGreenVery border-container 
1260                             pt-5 font-medium text-natlabGreen">
1261                                            <span class="ml-6">
1262                                                Vitamine Naturali                                            </span>
1263                                        </a>
1264
1265                                        
1266                                    </li>
1267                                                                    <li>
1268                                        <a href="https://www.naturelab.it/biocean-plasma-di-quinton/" title="Acqua&#x20;di&#x20;Mare&#x20;Plasma&#x20;di&#x20;Quinton" class="flex items-center w-full px-4
1269                            cursor-pointer bg-natlabLigthGreenVery border-container 
1270                             pt-5 font-medium text-natlabGreen">
1271                                            <span class="ml-6">
1272                                                Acqua di Mare Plasma di Quinton                                            </span>
1273                                        </a>
1274
1275                                        
1276                                    </li>
1277                                                                    <li>
1278                                        <a href="https://www.naturelab.it/integratori-remineralizzanti/" title="Remineralizzanti" class="flex items-center w-full px-4
1279                            cursor-pointer bg-natlabLigthGreenVery border-container 
1280                             pt-5 font-medium text-natlabGreen">
1281                                            <span class="ml-6">
1282                                                Remineralizzanti                                            </span>
1283                                        </a>
1284
1285                                        
1286                                    </li>
1287                                                                    <li>
1288                                        <a href="https://www.naturelab.it/oligoelementi-integratori-oligotracce/" title="Oligoelementi&#x20;e&#x20;Oligotracce" class="flex items-center w-full px-4
1289                            cursor-pointer bg-natlabLigthGreenVery border-container 
1290                             pt-5 font-medium text-natlabGreen">
1291                                            <span class="ml-6">
1292                                                Oligoelementi e Oligotracce                                            </span>
1293                                        </a>
1294
1295                                        
1296                                    </li>
1297                                                                    <li>
1298                                        <a href="https://www.naturelab.it/argento-colloidale/" title="Argento&#x20;Colloidale" class="flex items-center w-full px-4
1299                            cursor-pointer bg-natlabLigthGreenVery border-container 
1300                             pt-5 font-medium text-natlabGreen">
1301                                            <span class="ml-6">
1302                                                Argento Colloidale                                            </span>
1303                                        </a>
1304
1305                                        
1306                                    </li>
1307                                                            </ul>
1308
1309                        </div>
1310                                    </li>
1311                            <li data-child-id="category-node-126-main" class="level-0">
1312                    <div class="flex items-center transition-transform duration-150 ease-in-out transform" :class="{
1313                            '-translate-x-full' : mobilePanelActiveId,
1314                            'translate-x-0' : !mobilePanelActiveId
1315                        }">
1316                        <a class="flex items-center w-full px-4 py-4 
1317                            border-b cursor-pointer bg-container-lighter border-container 
1318                            text-sm uppercase font-medium text-natlabGreen level-0
1319                            " href="https://www.naturelab.it/gemmoderivati/" title="Gemmoderivati">
1320                            Gemmoderivati                        </a>
1321                                                    <button @click="openSubcategory('category-node-126')" class="absolute right-0 flex items-center justify-center w-11 h-11 mr-2 cursor-pointer
1322                                    " aria-label="Aprire&#x20;Gemmoderivati&#x20;sottocategorie" aria-haspopup="true" :aria-expanded="mobilePanelActiveId === 'category-node-126'">
1323                                <div class="w-6 h-6 rounded">
1324                                    <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-full h-full p-1" width="24" height="24" aria-hidden="true">
1325  <path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"/>
1326</svg>
1327                                </div>
1328                            </button>
1329                                            </div>
1330                                            <div data-child-id="category-node-126" class="absolute top-0 right-0 z-10 flex flex-col gap-1 w-full h-full p-1 bg-container-lighter" :class="{
1331                                'hidden': mobilePanelActiveId !== 'category-node-126'
1332                            }">
1333                            <ul class="transition-transform duration-200 ease-in-out translate-x-full transform pb-48" :class="{
1334                                    'translate-x-full' : mobilePanelActiveId !== 'category-node-126',
1335                                    'translate-x-0' : mobilePanelActiveId === 'category-node-126',
1336                                }" aria-label="Sottocategorie">
1337                                <li>
1338                                    <button type="button" class="flex items-center px-2 py-4 border-b cursor-pointer bg-container border-container w-full border-t" @click="backToMainCategories('category-node-126-main')" aria-label="Torna&#x20;alle&#x20;categorie&#x20;principali">
1339                                        <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" width="16" height="16" aria-hidden="true">
1340  <path stroke-linecap="round" stroke-linejoin="round" d="M15 19l-7-7 7-7"/>
1341</svg>
1342                                        <span class="ml-4 text-sm uppercase font-medium">
1343                                            Gemmoderivati                                        </span>
1344                                    </button>
1345                                </li>
1346                                                                    <li>
1347                                        <a href="https://www.naturelab.it/sistema-cardiovascolare/" title="Sistema&#x20;Cardiovascolare" class="flex items-center w-full px-4
1348                            cursor-pointer bg-natlabLigthGreenVery border-container 
1349                             pt-5 font-medium text-natlabGreen">
1350                                            <span class="ml-6">
1351                                                Sistema Cardiovascolare                                            </span>
1352                                        </a>
1353
1354                                        
1355                                    </li>
1356                                                                    <li>
1357                                        <a href="https://www.naturelab.it/sistema-circolatorio/" title="Sistema&#x20;Circolatorio" class="flex items-center w-full px-4
1358                            cursor-pointer bg-natlabLigthGreenVery border-container 
1359                             pt-5 font-medium text-natlabGreen">
1360                                            <span class="ml-6">
1361                                                Sistema Circolatorio                                            </span>
1362                                        </a>
1363
1364                                        
1365                                    </li>
1366                                                                    <li>
1367                                        <a href="https://www.naturelab.it/sistema-digestivo/" title="Sistema&#x20;Digestivo" class="flex items-center w-full px-4
1368                            cursor-pointer bg-natlabLigthGreenVery border-container 
1369                             pt-5 font-medium text-natlabGreen">
1370                                            <span class="ml-6">
1371                                                Sistema Digestivo                                            </span>
1372                                        </a>
1373
1374                                        
1375                                    </li>
1376                                                                    <li>
1377                                        <a href="https://www.naturelab.it/sistema-immunitario/" title="Sistema&#x20;Immunitario" class="flex items-center w-full px-4
1378                            cursor-pointer bg-natlabLigthGreenVery border-container 
1379                             pt-5 font-medium text-natlabGreen">
1380                                            <span class="ml-6">
1381                                                Sistema Immunitario                                            </span>
1382                                        </a>
1383
1384                                        
1385                                    </li>
1386                                                                    <li>
1387                                        <a href="https://www.naturelab.it/sistema-nervoso/" title="Sistema&#x20;Nervoso" class="flex items-center w-full px-4
1388                            cursor-pointer bg-natlabLigthGreenVery border-container 
1389                             pt-5 font-medium text-natlabGreen">
1390                                            <span class="ml-6">
1391                                                Sistema Nervoso                                            </span>
1392                                        </a>
1393
1394                                        
1395                                    </li>
1396                                                                    <li>
1397                                        <a href="https://www.naturelab.it/sistema-osteo-articolare/" title="Sistema&#x20;Osteo-Articolare" class="flex items-center w-full px-4
1398                            cursor-pointer bg-natlabLigthGreenVery border-container 
1399                             pt-5 font-medium text-natlabGreen">
1400                                            <span class="ml-6">
1401                                                Sistema Osteo-Articolare                                            </span>
1402                                        </a>
1403
1404                                        
1405                                    </li>
1406                                                                    <li>
1407                                        <a href="https://www.naturelab.it/sistema-respiratorio/" title="Sistema&#x20;Respiratorio" class="flex items-center w-full px-4
1408                            cursor-pointer bg-natlabLigthGreenVery border-container 
1409                             pt-5 font-medium text-natlabGreen">
1410                                            <span class="ml-6">
1411                                                Sistema Respiratorio                                            </span>
1412                                        </a>
1413
1414                                        
1415                                    </li>
1416                                                                    <li>
1417                                        <a href="https://www.naturelab.it/sistema-uro-genitale/" title="Sistema&#x20;Uro-Genitale" class="flex items-center w-full px-4
1418                            cursor-pointer bg-natlabLigthGreenVery border-container 
1419                             pt-5 font-medium text-natlabGreen">
1420                                            <span class="ml-6">
1421                                                Sistema Uro-Genitale                                            </span>
1422                                        </a>
1423
1424                                        
1425                                    </li>
1426                                                            </ul>
1427
1428                        </div>
1429                                    </li>
1430                            <li data-child-id="category-node-19-main" class="level-0">
1431                    <div class="flex items-center transition-transform duration-150 ease-in-out transform" :class="{
1432                            '-translate-x-full' : mobilePanelActiveId,
1433                            'translate-x-0' : !mobilePanelActiveId
1434                        }">
1435                        <a class="flex items-center w-full px-4 py-4 
1436                            border-b cursor-pointer bg-container-lighter border-container 
1437                            text-sm uppercase font-medium text-natlabGreen level-0
1438                            " href="https://www.naturelab.it/rimedi-floreali/" title="Rimedi&#x20;Floreali">
1439                            Rimedi Floreali                        </a>
1440                                                    <button @click="openSubcategory('category-node-19')" class="absolute right-0 flex items-center justify-center w-11 h-11 mr-2 cursor-pointer
1441                                    " aria-label="Aprire&#x20;Rimedi&#x20;Floreali&#x20;sottocategorie" aria-haspopup="true" :aria-expanded="mobilePanelActiveId === 'category-node-19'">
1442                                <div class="w-6 h-6 rounded">
1443                                    <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-full h-full p-1" width="24" height="24" aria-hidden="true">
1444  <path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"/>
1445</svg>
1446                                </div>
1447                            </button>
1448                                            </div>
1449                                            <div data-child-id="category-node-19" class="absolute top-0 right-0 z-10 flex flex-col gap-1 w-full h-full p-1 bg-container-lighter" :class="{
1450                                'hidden': mobilePanelActiveId !== 'category-node-19'
1451                            }">
1452                            <ul class="transition-transform duration-200 ease-in-out translate-x-full transform pb-48" :class="{
1453                                    'translate-x-full' : mobilePanelActiveId !== 'category-node-19',
1454                                    'translate-x-0' : mobilePanelActiveId === 'category-node-19',
1455                                }" aria-label="Sottocategorie">
1456                                <li>
1457                                    <button type="button" class="flex items-center px-2 py-4 border-b cursor-pointer bg-container border-container w-full border-t" @click="backToMainCategories('category-node-19-main')" aria-label="Torna&#x20;alle&#x20;categorie&#x20;principali">
1458                                        <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" width="16" height="16" aria-hidden="true">
1459  <path stroke-linecap="round" stroke-linejoin="round" d="M15 19l-7-7 7-7"/>
1460</svg>
1461                                        <span class="ml-4 text-sm uppercase font-medium">
1462                                            Rimedi Floreali                                        </span>
1463                                    </button>
1464                                </li>
1465                                                                    <li>
1466                                        <a href="https://www.naturelab.it/fiori-per-problemi-emozionali/" title="Rimedi&#x20;floreali&#x20;per&#x20;l&#x27;equilibrio&#x20;emotivo" class="flex items-center w-full px-4
1467                            cursor-pointer bg-natlabLigthGreenVery border-container 
1468                             pt-5 font-medium text-natlabGreen">
1469                                            <span class="ml-6">
1470                                                Rimedi floreali per l&#039;equilibrio emotivo                                            </span>
1471                                        </a>
1472
1473                                        
1474                                    </li>
1475                                                                    <li>
1476                                        <a href="https://www.naturelab.it/fiori-per-stati-d-animo-negativi/" title="Rimedi&#x20;floreali&#x20;per&#x20;stati&#x20;d&#x27;animo&#x20;e&#x20;momenti&#x20;difficili" class="flex items-center w-full px-4
1477                            cursor-pointer bg-natlabLigthGreenVery border-container 
1478                             pt-5 font-medium text-natlabGreen">
1479                                            <span class="ml-6">
1480                                                Rimedi floreali per stati d&#039;animo e momenti difficili                                            </span>
1481                                        </a>
1482
1483                                        
1484                                    </li>
1485                                                                    <li>
1486                                        <a href="https://www.naturelab.it/fiori-per-disarmonie-del-carattere/" title="Rimedi&#x20;floreali&#x20;per&#x20;equilibrio&#x20;e&#x20;consapevolezza&#x20;personale" class="flex items-center w-full px-4
1487                            cursor-pointer bg-natlabLigthGreenVery border-container 
1488                             pt-5 font-medium text-natlabGreen">
1489                                            <span class="ml-6">
1490                                                Rimedi floreali per equilibrio e consapevolezza personale                                            </span>
1491                                        </a>
1492
1493                                        
1494                                    </li>
1495                                                                    <li>
1496                                        <a href="https://www.naturelab.it/fiori-per-conflitti-e-difficolta-relazionali/" title="Rimedi&#x20;floreali&#x20;per&#x20;relazioni&#x20;e&#x20;sfera&#x20;affettiva" class="flex items-center w-full px-4
1497                            cursor-pointer bg-natlabLigthGreenVery border-container 
1498                             pt-5 font-medium text-natlabGreen">
1499                                            <span class="ml-6">
1500                                                Rimedi floreali per relazioni e sfera affettiva                                            </span>
1501                                        </a>
1502
1503                                        
1504                                    </li>
1505                                                                    <li>
1506                                        <a href="https://www.naturelab.it/fiori-per-disagi-psicologici/" title="Rimedi&#x20;floreali&#x20;per&#x20;paure,&#x20;tensioni&#x20;e&#x20;insicurezze" class="flex items-center w-full px-4
1507                            cursor-pointer bg-natlabLigthGreenVery border-container 
1508                             pt-5 font-medium text-natlabGreen">
1509                                            <span class="ml-6">
1510                                                Rimedi floreali per paure, tensioni e insicurezze                                            </span>
1511                                        </a>
1512
1513                                        
1514                                    </li>
1515                                                                    <li>
1516                                        <a href="https://www.naturelab.it/fiori-per-disturbi-fisici/" title="Rimedi&#x20;floreali&#x20;e&#x20;benessere&#x20;psicofisico" class="flex items-center w-full px-4
1517                            cursor-pointer bg-natlabLigthGreenVery border-container 
1518                             pt-5 font-medium text-natlabGreen">
1519                                            <span class="ml-6">
1520                                                Rimedi floreali e benessere psicofisico                                            </span>
1521                                        </a>
1522
1523                                        
1524                                    </li>
1525                                                                    <li>
1526                                        <a href="https://www.naturelab.it/fiori-per-malattie-di-origine-psicosomatica/" title="Rimedi&#x20;floreali&#x20;per&#x20;stress&#x20;e&#x20;somatizzazione" class="flex items-center w-full px-4
1527                            cursor-pointer bg-natlabLigthGreenVery border-container 
1528                             pt-5 font-medium text-natlabGreen">
1529                                            <span class="ml-6">
1530                                                Rimedi floreali per stress e somatizzazione                                            </span>
1531                                        </a>
1532
1533                                        
1534                                    </li>
1535                                                            </ul>
1536
1537                        </div>
1538                                    </li>
1539                        <li class="level-0">
1540                    <div class="flex items-center transition-transform duration-150 ease-in-out transform translate-x-0" :class="{
1541                            '-translate-x-full' : mobilePanelActiveId,
1542                            'translate-x-0' : !mobilePanelActiveId
1543                        }">
1544                        <a class="flex items-center w-full px-4 py-4 
1545                            border-b cursor-pointer bg-natlabGreen border-container 
1546                            text-sm uppercase font-medium text-white level-0
1547                            " href="/blog/" title="Blog Lab>">
1548                            Blog Lab<Label></Label></a>
1549                     </div>
1550            </li>
1551            <li class="level-0">
1552                    <div class="flex items-center transition-transform duration-150 ease-in-out transform translate-x-0" :class="{
1553                            '-translate-x-full' : mobilePanelActiveId,
1554                            'translate-x-0' : !mobilePanelActiveId
1555                        }">
1556                        <a class="flex items-center w-full px-4 py-4 
1557                            border-b cursor-pointer bg-natlabGreen border-container 
1558                            text-sm uppercase font-medium text-white level-0
1559                            " href="/chi-siamo/" title="Chi siamo>">
1560                            Chi siamo<Label></Label></a>
1561                     </div>
1562            </li>
1563        </ul>
1564    </div>
1565    </nav>
1566<script>
1567    'use strict';
1568
1569    const initMenuMobile_6ac2bbece5921 = () => {
1570        return {
1571            mobilePanelActiveId: null,
1572            open: false,
1573            setActiveMenu(menuNode) {
1574                Array.from(menuNode.querySelectorAll('a')).filter(link => {
1575                    return link.href === window.location.href.split('?')[0];
1576                }).map(item => {
1577                    item.classList.remove('text-natlabGreen');
1578                    item.closest('li.level-0') &&
1579                        item.closest('li.level-0').querySelector('a.level-0').classList.add('bg-natlabLigthGreen');
1580                });
1581            },
1582            openMenu() {
1583                this.open = true;
1584                this.$dispatch('menu-mobile-opened');
1585                this.$nextTick(() => hyva.trapFocus(this.$refs['mobileMenuNavLinks']));
1586                // Prevent from body scrolling while mobile menu opened
1587                //document.body.style.position = 'fixed';
1588            },
1589            closeMenu() {
1590                document.body.style.position = '';
1591
1592                if (this.open) {
1593                    this.$nextTick(() => this.$refs['mobileMenuTrigger'].focus() || hyva.releaseFocus());
1594                };
1595
1596                this.open = false;
1597                this.$dispatch('menu-mobile-closed');
1598                this.mobilePanelActiveId = null;
1599            },
1600            openSubcategory(index) {
1601                const menuNodeRef = document.querySelector('[data-child-id=' + index + ']')
1602                this.mobilePanelActiveId = this.mobilePanelActiveId === index ? 0 : index
1603                this.$nextTick(() => hyva.trapFocus(menuNodeRef))
1604            },
1605            backToMainCategories(index) {
1606                const menuNodeRef = document.querySelector('[data-child-id=' + index + ']')
1607                this.mobilePanelActiveId = 0
1608                this.$nextTick(() => {
1609                    hyva.trapFocus(this.$refs['mobileMenuNavLinks'])
1610                    menuNodeRef.querySelector('a').focus()
1611                })
1612            }
1613        }
1614    }
1615</script>
1615                <!--Search Icon-->
1616        <button
1617                x-show="showSearchButton"
1618                id="menu-search-icon"
1619                class="no-underline hover:text-natlabLigthBlue flex items-center justify-center text-sm cursor-pointer"
1620                @click.prevent="
1621                    searchOpen = !searchOpen;
1622                    $dispatch('search-open');
1623                "
1624                aria-label="Attiva&#x2F;disattiva&#x20;il&#x20;modulo&#x20;di&#x20;ricerca"
1625                aria-haspopup="true"
1626                :aria-expanded="searchOpen"
1627                x-ref="searchButton"
1628            >
1629            <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-6 h-6" width="14" height="14" aria-hidden="true">
1630  <path stroke-linecap="round" stroke-linejoin="round" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"/>
1631</svg>
1632            <span class="text-gray-600 hover:text-natlabLigthBlue text-xs uppercase hidden lg:block ml-2">Cerca</span>
1633        </button>
1634                
1635        </div>      
1636        
1637        <!--Logo-->
1638        <div class="absolute transform -translate-x-1/2 left-1/2">
1639
1640    <a
1641        class="flex items-center justify-center text-xl font-medium tracking-wide text-gray-800
1642            no-underline hover:no-underline font-title mt-1 lg:mt-0"
1643        href="https://www.naturelab.it/"
1644        aria-label="Vai&#x20;alla&#x20;pagina&#x20;iniziale"
1645    >
1646        <img
1647            class="h-9 lg:h-auto" 
1648            src="https://www.naturelab.it/media/logo/default/naturelab-shop.svg"
1649            alt="NatureLab"
1650            width="213"            height="48"        />
1651            </a>
1652</div>
1653        <div 
1654            
1655            class="flex justify-between items-center mr-2 lg:mr-0">
1656            <!--Customer Icon & Dropdown-->
1657            
1658<div class="hidden lg:block mr-10">  
1659    <nav class="flex uppercase text-xs" aria-labelledby="customer-menu">
1660                    <a class="block text-gray-600 hover:text-black tracking-normal
1661            relative before:content-[''] before:absolute before:block before:w-full before:h-[1px] 
1662              before:bottom-0 before:left-0 before:bg-black
1663              before:hover:scale-x-100 before:scale-x-0 before:origin-top-center
1664              before:transition before:ease-in-out before:duration-300"
1665               onclick="hyva.setCookie && hyva.setCookie(
1666                   'login_redirect',
1667                   window.location.href,
1668                   1
1669                   )"
1670               href="https://www.naturelab.it/customer/account/login/">
1671                Accedi            </a> 
1672            <span class="mx-2 inline-bloc text-gray-600 normal-case">o</span>
1673                            <a class="block text-gray-600 hover:text-black tracking-normal
1674            relative before:content-[''] before:absolute before:block before:w-full before:h-[1px] 
1675              before:bottom-0 before:left-0 before:bg-black
1676              before:hover:scale-x-100 before:scale-x-0 before:origin-top-center
1677              before:transition before:ease-in-out before:duration-300"
1678                   href="https://www.naturelab.it/customer/account/create/"
1679                >
1680                    Crea un Account                </a>
1681                        </nav>
1682</div>
1683
1684
1685
1686<div class="lg:hidden relative inline-block" x-data="{ open: false }" @keyup.escape="open = false">
1687    <button type="button" href="https&#x3A;&#x2F;&#x2F;www.naturelab.it&#x2F;customer&#x2F;account&#x2F;" id="customer-menu" class="block hover:text-black" @click="open = !open" @click.outside="open = false" :aria-expanded="open ? 'true' : 'false'" aria-label="Il&#x20;mio&#x20;Account" aria-haspopup="true">
1688        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#08484E"  stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round" class="h-7 w-7" aria-hidden="true">
1689        <circle cx="12" cy="8" r="5"/><path d="M20 21a8 8 0 0 0-16 0"/></svg>    
1690    </button>
1691    <nav
1692        class="
1693            absolute right-0 z-20 w-40 py-2 mt-2 -mr-4 px-1 overflow-auto origin-top-right rounded-sm
1694            shadow-lg sm:w-48 lg:mt-3 bg-container-lighter
1695        "
1696        x-cloak
1697        x-show="open"
1698        aria-labelledby="customer-menu"
1699        @click.outside="open = false"
1700      >
1701                    <a class="block px-4 text-sm py-1 text-gray-600 hover:text-black hover:bg-natlabLigthGreen"
1702               onclick="hyva.setCookie && hyva.setCookie(
1703                   'login_redirect',
1704                   window.location.href,
1705                   1
1706                   )"
1707               href="https://www.naturelab.it/customer/account/login/">
1708                Accedi            </a>
1709                            <a class="block px-4 text-sm py-1 text-gray-600 hover:text-black hover:bg-natlabLigthGreen"
1710                   href="https://www.naturelab.it/customer/account/create/"
1711                >
1712                    Crea un Account                </a>
1713                        </nav>
1714</div>            <div class="relative pt-1 ml-4 mr-2 lg:ml-0">
1715                <!--Cart Icon-->
1716                <!-- <php if ($showMiniCart): ?>@click.prevent.stop="$dispatch('toggle-cart',{});"<php endif ?> -->
1717                <a id="menu-cart-icon" @click.prevent.stop="$dispatch('toggle-cart',{});" class="relative inline-block mt-1 lg:mt-0 no-underline hover:text-black" x-ref="cartButton" :aria-disabled="isCartEmpty()" title="Carrello" href="https://www.naturelab.it/checkout/cart/index/">
1718                    <span class="sr-only label" x-text="`
1719                            Attiva/disattiva il minicarrello,
1720                            ${isCartEmpty() ?
1721                            '255 255 255' :
1722                            hyva.str(
1723                                'You have %1 product%2 in your cart.',
1724                                cart.summary_count,
1725                                cart.summary_count === 1 ? '' : 's'
1726                            )}`
1727                        "></span>
1728                    <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6 fill-natlabGreen text-natlabGreen hover:fill-natlabLigthBlue hover:text-natlabLigthBlue" viewBox="0 0 24 24">
1729                        <path fill-rule="nonzero" d="M19 7a1 1 0 0 1 1 1v13a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V8a1 1 0 0 1 1-1l3.014.002A31.37 31.37 0 0 1 4 6a6 6 0 0 1 11.996-.225L16 6v1h3zM4 8.5H1.5V21a1.5 1.5 0 0 0 1.356 1.493L3 22.5h14a1.5 1.5 0 0 0 1.493-1.356L18.5 21V8.5H16V12h-1.5V8.5h-9V12H4V8.5zm6-7A4.5 4.5 0 0 0 5.5 6c0 .253.002.485.007.696L5.515 7H14.5V6a4.5 4.5 0 0 0-4.288-4.495L10 1.5z"></path>
1730                    </svg>
1731                    <span x-text="cart.summary_count" x-show="!isCartEmpty()" x-cloak class="absolute top-0 right-0 hidden h-5 w-5 -mt-3 -mr-3 text-tiny leading-5 text-center text-xs 
1732                            text-white uppercase transform -translate-x-1 translate-y-1/2 rounded-full bg-natlabLigthBlue" :class="{
1733                            'hidden': !cart.summary_count,
1734                            'block': cart.summary_count }" aria-hidden="true">0</span>
1735                </a>
1736                <!--Cart Drawer-->
1737                
1737<script>
1738    console.log('init cart drawer');
1739    function initCartDrawer() {
1740        return {
1741            open: false,
1742            isLoading: false,
1743            cart: {},
1744            maxItemsToDisplay: 10,
1745            itemsCount: 0,
1746            totalCartAmount: 0,
1747            getData(data) {
1748                if (data.cart) {
1749                    this.cart = data.cart;
1750                    this.itemsCount = data.cart.items && data.cart.items.length || 0;
1751                    this.totalCartAmount = this.cart.summary_count;
1752                    this.setCartItems();
1753                }
1754                this.isLoading = false;
1755            },
1756            cartItems: [],
1757            getItemCountTitle() {
1758                return hyva.strf('Visualizzati\u0020\u00250\u0020di\u0020\u00251\u0020prodotti\u0020nel\u0020carrello', this.maxItemsToDisplay, this.totalCartAmount)
1759            },
1760            setCartItems() {
1761                this.cartItems = this.cart.items && this.cart.items.sort((a, b) => b.item_id - a.item_id) || [];
1762                if (this.maxItemsToDisplay > 0) {
1763                    this.cartItems = this.cartItems.slice(0, parseInt(this.maxItemsToDisplay, 10));
1764                }
1765            },
1766            deleteItemFromCart(itemId) {
1767                this.isLoading = true;
1768                const formKey = hyva.getFormKey();
1769                const postUrl = BASE_URL + 'checkout/sidebar/removeItem/';
1770                fetch(postUrl, {
1771                    "headers": {
1772                        "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
1773                    },
1774                    "body": "form_key=" + formKey + "&item_id=" + itemId,
1775                    "method": "POST",
1776                    "mode": "cors",
1777                    "credentials": "include"
1778                }).then(response => {
1779                    if (response.redirected) {
1780                        window.location.href = response.url;
1781                    } else if (response.ok) {
1782                        return response.json();
1783                    } else {
1784                        window.dispatchMessages && window.dispatchMessages([{
1785                            type: 'warning',
1786                            text: 'Impossibile\u0020rimuovere\u0020l\u0027articolo\u0020dal\u0020carrello.'
1787                        }]);
1788                        this.isLoading = false;
1789                    }
1790                }).then(result => {
1791                    window.dispatchMessages && window.dispatchMessages([{
1792                        type: result.success ? 'success' : 'error',
1793                        text: result.success ?
1794                            'Hai\u0020rimosso\u0020l\u0027articolo.' :
1795                            result.error_message
1796                    }], result.success ? 5000 : 0)
1797                    window.dispatchEvent(new CustomEvent('reload-customer-section-data'));
1798                });
1799            },
1800            setItemQty(item, item_qty) {
1801                if (item && 1 <= item_qty && item_qty <= 999) {
1802                    item.qty = item_qty;
1803                    this.updateItemQtyCart(item.item_id, item_qty);
1804                }
1805            },
1806            updateItemQtyCart(itemId, itemQty) {
1807                var formKey = document.querySelector('input[name=form_key]').value;
1808                this.isLoading = true;
1809
1810                fetch(BASE_URL + "checkout/sidebar/updateItemQty/", {
1811                    "headers": {
1812                        "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
1813                    },
1814                    "body": new URLSearchParams({
1815                        "form_key": formKey,
1816                        "item_id": itemId,
1817                        "item_qty": itemQty
1818                    }).toString(),
1819                    "method": "POST",
1820                    "mode": "cors",
1821                    "credentials": "include"
1822                }).then(function(response) {
1823                    if (response.redirected) {
1824                        window.location.href = response.url;
1825                    } else if (response.ok) {
1826                        return response.json();
1827                    } else {
1828                        typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
1829                            [{
1830                                type: "warning",
1831                                text: 'Could\u0020not\u0020update\u0020items.'
1832                            }], 5000
1833                        );
1834                    }
1835                }).then(function(response) {
1836                    if (response.success) {
1837                        // Success, add to cart
1838                        document.querySelector(`[data-error-prod-id="${itemId}"]`).innerText = '';
1839                        var reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
1840                        window.dispatchEvent(reloadCustomerDataEvent);
1841                    } else {
1842                        // Error, set an error in the cart item
1843                        document.querySelector(`[data-error-prod-id="${itemId}"]`).innerText = response.error_message;
1844                        var reloadCustomerDataEvent = new CustomEvent("reload-customer-section-data");
1845                        window.dispatchEvent(reloadCustomerDataEvent);
1846                    }
1847                });
1848            },
1849            toggleCartDrawer(event) {
1850                if (event.detail && event.detail.isOpen !== undefined) {
1851                    if (event.detail.isOpen) {
1852                        this.openCartDrawer()
1853                    } else {
1854                        this.open = false
1855                        this.$refs && this.$refs.cartDialogContent && hyva.releaseFocus(this.$refs.cartDialogContent)
1856                    }
1857                } else {
1858                                        this.openCartDrawer()
1859                }
1860            },
1861            openCartDrawer() {
1862                this.open = true;
1863                this.$nextTick(() => {
1864                    this.$refs && this.$refs.cartDialogContent && hyva.trapFocus(this.$refs.cartDialogContent)
1865                })
1866            },
1867            closeCartDrawer() {
1868                this.$dispatch('toggle-cart', {
1869                    isOpen: false
1870                })
1871            }
1872        }
1873    }
1874</script>
1874
1875<section x-cloak
1876         x-show="cart"
1877         id="cart-drawer"
1878         x-data="initCartDrawer()"
1879         @private-content-loaded.window="getData($event.detail.data)"
1880         @toggle-cart.window="toggleCartDrawer($event)"
1881         @keydown.window.escape="closeCartDrawer"
1882>
1883<div role="dialog"
1884         aria-labelledby="cart-drawer-title"
1885         aria-modal="true"
1886         :aria-hidden="!open"
1887         class="fixed inset-y-0 right-0 z-30 flex max-w-full">
1888        <div class="backdrop"
1889             x-show="open"
1890             x-transition:enter="ease-in-out duration-500"
1891             x-transition:enter-start="opacity-0"
1892             x-transition:enter-end="opacity-100"
1893             x-transition:leave="ease-in-out duration-500"
1894             x-transition:leave-start="opacity-100"
1895             x-transition:leave-end="opacity-0"
1896             role="button"
1897             @click="closeCartDrawer"
1898             aria-label="Chiudi&#x20;il&#x20;minicarrello"></div>
1899        <div class="relative w-screen max-w-md shadow-2xl"
1900             x-show="open"
1901             x-transition:enter="transform transition ease-in-out duration-500 sm:duration-700"
1902             x-transition:enter-start="translate-x-full"
1903             x-transition:enter-end="translate-x-0"
1904             x-transition:leave="transform transition ease-in-out duration-500 sm:duration-700"
1905             x-transition:leave-start="translate-x-0"
1906             x-transition:leave-end="translate-x-full"
1907             x-ref="cartDialogContent"
1908             role="region"
1909             :tabindex="open ? 0 : -1"
1910             aria-label="Il&#x20;mio&#x20;carrello"
1911
1912        >
1913            <div class="flex flex-col h-full py-6 space-y-6 bg-white shadow-xl">
1914                                <header class="px-4">
1915                    <div class="text-primary text-base lg:text-lg font-medium">Il&#x20;mio&#x20;carrello                    </div>
1916                </header>
1917
1918                
1919                <template x-if="!itemsCount">
1920                    <div class="relative px-4 py-6 bg-white border-bs sm:px-6 border-container">
1921                        Il carrello è vuoto.                    </div>
1922                </template>
1923
1924                <template x-if="itemsCount">
1925                    <div class="overflow-y-auto">
1926                        <div class="relative grid gap-6 px-4 py-6 overflow-x-hidden bg-white border-b
1927                                    sm:gap-8 sm:px-6 border-container"
1928                        >
1929
1930                            <template x-for="item in cartItems">
1931                                <div class="flex items-start p-4 -m-4 border-b border-natlabLigthGreen last:border-0 space-x-4 transition duration-150 ease-in-out">
1932                                    <a :href="item.product_url"
1933                                       class="w-1/4"
1934                                       :aria-label="hyva.strf('Prodotto\u0020\u0022\u00250\u0022', item.product_name)"
1935                                    >
1936                                        <img
1937                                            :src="item.product_image.src"
1938                                            :width="item.product_image.width"
1939                                            :height="item.product_image.height"
1940                                            loading="lazy"
1941                                            alt=""
1942                                        />
1943                                    </a>
1944                                    <div class="w-3/4 space-y-1">
1945                                        <div>
1946                                             <p class="p-0">
1947                                                <span x-html="item.product_name"></span>
1948                                             </p>
1949                                        </div>
1950                                        <template x-for="option in item.options">
1951                                            <div class="pt-2">
1952                                                <p class="" x-text="option.label + ':'"></p>
1953                                                <p class="" x-html="option.value"></p>
1954                                             </div>
1955                                        </template>
1956                                        <p class="text-sm p-0"><span x-html="item.product_price"></span></p>
1957                                        <div class="flex justify-between pt-2">
1958                                            <div class="inline-flex border border-gray-300">
1959                                                <button class="px-3" data-action="decrement" @click="setItemQty(item, item.qty - 1)">
1960                                                    <span class="m-auto text-lg">−</span>
1961                                                </button>
1962                                                <input class="remove-arrow border-0 py-3 px-0 text-center text-sm focus:ring-0" type="number" min="1" max="999" name="custom-input-number" :value="item.qty" @input="if($event.target.value) setItemQty(item, $event.target.value)" rel="no-arrows">
1963                                                <button class="px-3" data-action="increment" @click="setItemQty(item, item.qty + 1)">
1964                                                    <span class="m-auto text-lg">+</span>
1965                                                </button>
1966                                            </div>
1967
1968                                            <div class="cursor-pointer flex items-center text-natlabLigthBlue hover:cursor-pointer" @click="deleteItemFromCart(item.item_id)">
1969                                             <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="h-7 w-7" width="20" height="20" aria-hidden="true">
1970  <path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z" clip-rule="evenodd"/>
1971</svg>
1972                                            </div>
1973                                        </div>
1974                                    </div>
1975                                    <div class="text-sm text-error" x-bind:data-error-prod-id="item.item_id"></div>
1976                               
1977                                </div>
1978                            </template>
1979                        </div>
1980
1981                        
1982                        <div class="relative grid gap-4 bg-white !mt-4" x-show="cart.summary_count > 0">
1983                            <div class="w-full px-4">
1984                                <p>Importo: <span x-html="cart.subtotal"></span></p>
1985                            </div>
1986                            <div class="w-full px-4 mb-4">
1987                                <a @click.prevent.stop="$dispatch('toggle-authentication',
1988    {url: 'https://www.naturelab.it/checkout/index/index/'});"
1989   href="https://www.naturelab.it/checkout/index/index/"
1990   class="inline-flex btn btn-primary icon-padlock w-full justify-center uppercase tracking-wider"
1991>
1992    <span></span>
1993    Checkout</a>
1994                                <span></span>
1995                                <a href="https://www.naturelab.it/checkout/cart/"
1996                                   class="text-gray-600 underline hover:text-black hover:no-underline text-sm w-full inline-block text-center mt-3"
1997                                >
1998                                    Visualizza e modifica il carrello                                </a>
1999                            </div>
2000                            
2001
2002
2003
2004
2005                        </div>
2006                    </div>
2007                </template>
2008
2009                            </div>
2010
2011            <button
2012                type="button"
2013                @click="closeCartDrawer"
2014                aria-label="Chiudi&#x20;il&#x20;minicarrello"
2015                class="absolute top-0 right-0 p-4 mt-2 text-gray-500 transition-colors hover:text-black"
2016            >
2017                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" width="24" height="24" aria-hidden="true">
2018  <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"/>
2019</svg>
2020            </button>
2021        </div>
2022        <div
2023    class="z-50 fixed inset-0 flex justify-center items-center bg-white/70 select-none"
2024    x-show="isLoading"
2025    x-cloak
2026    x-transition.opacity.duration.200ms
2027>
2028    <div class="flex text-primary items-center">
2029        <svg height="40" width="40" viewBox="0 0 24 24" stroke="currentColor" fill="none" stroke-width="2" stroke-linecap="round" class="animate-spin" aria-hidden="true">
2030    <circle style="opacity: .3;" cx="12" cy="12" r="10"/>
2031    <path fill="none" stroke-width="2" d="M12,2 a10,10 0 0,1 10,10"/>
2032</svg>
2033    </div>
2034</div>
2035    </div>
2036</section>                <!--Authentication Pop-Up-->
2037                
2037<script>
2038    function initAuthentication() {
2039        return {
2040            open: false,
2041            forceAuthentication: false,
2042            checkoutUrl: 'https://www.naturelab.it/checkout/index/',
2043            errors: 0,
2044            hasCaptchaToken: 0,
2045            displayErrorMessage: false,
2046            errorMessages: [],
2047            setErrorMessages: function setErrorMessages(messages) {
2048                this.errorMessages = [messages];
2049                this.displayErrorMessage = this.errorMessages.length;
2050            },
2051            submitForm: function () {
2052                // Do not rename $form, the variable is expected to be declared in the recaptcha output
2053                const $form = document.querySelector('#login-form');
2054                
2055                if (this.errors === 0) {
2056                    this.dispatchLoginRequest($form);
2057                }
2058            },
2059            onPrivateContentLoaded: function (data) {
2060                const isLoggedIn = data.customer && data.customer.firstname;
2061                if (data.cart && !isLoggedIn) {
2062                    this.forceAuthentication = !data.cart.isGuestCheckoutAllowed;
2063                }
2064            },
2065            redirectIfAuthenticated: function (event) {
2066                if (event.detail && event.detail.url) {
2067                    this.checkoutUrl = event.detail.url;
2068                }
2069                if (!this.forceAuthentication) {
2070                    window.location.href = this.checkoutUrl;
2071                }
2072            },
2073            dispatchLoginRequest: function(form) {
2074                this.isLoading = true;
2075                const username = this.$refs['customer-email'].value;
2076                const password = this.$refs['customer-password'].value;
2077                const formKey = hyva.getFormKey();
2078                const bodyFields = {
2079                    'username': username,
2080                    'password': password,
2081                    'formKey': formKey
2082                };
2083                                const fieldName = 'g\u002Drecaptcha\u002Dresponse';
2084                const recaptchaField = fieldName && form[fieldName];
2085                if (recaptchaField) {
2086                    bodyFields[fieldName] = recaptchaField.value;
2087                }
2088                fetch('https://www.naturelab.it/customer/ajax/login/', {
2089                        method: 'POST',
2090                        headers: {
2091                            'Content-Type': 'application/json',
2092                            'X-Requested-With': 'XMLHttpRequest'
2093                        },
2094                        body: JSON.stringify(bodyFields)
2095                    }
2096                ).then(response => {
2097                        return response.json()
2098                    }
2099                ).then(data=> {
2100                    this.isLoading = false;
2101                    if (data.errors) {
2102                        dispatchMessages([{
2103                            type: 'error',
2104                            text: data.message
2105                        }], 5000);
2106                        this.errors = 1;
2107                        this.hasCaptchaToken = 0;
2108                    } else {
2109                        window.location.href = this.checkoutUrl;
2110                    }
2111                });
2112            }
2113        }
2114    }
2115</script>
2115
2116<section id="authentication-popup"
2117         x-data="initAuthentication()"
2118         @private-content-loaded.window="onPrivateContentLoaded($event.detail.data)"
2119         @toggle-authentication.window="open = forceAuthentication; redirectIfAuthenticated(event)"
2120         @keydown.window.escape="open = false"
2121>
2122        <div role="dialog"
2123             aria-modal="true"
2124             @click.outside="open = false"
2125             class="inset-y-0 right-0 z-30 flex max-w-full"
2126             :class="{'fixed': open }" x-cloak x-show="open"
2127        >
2128            <div class="relative w-screen max-w-md pt-16 bg-container-lighter"
2129                 x-show="open"
2130                 x-cloak=""
2131                 x-transition:enter="transform transition ease-in-out duration-500 sm:duration-700"
2132                 x-transition:enter-start="translate-x-full"
2133                 x-transition:enter-end="translate-x-0"
2134                 x-transition:leave="transform transition ease-in-out duration-500 sm:duration-700"
2135                 x-transition:leave-start="translate-x-0"
2136                 x-transition:leave-end="translate-x-full"
2137            >
2138                <div
2139                    x-show="open"
2140                    x-cloak=""
2141                    x-transition:enter="ease-in-out duration-500"
2142                    x-transition:enter-start="opacity-0"
2143                    x-transition:enter-end="opacity-100"
2144                    x-transition:leave="ease-in-out duration-500"
2145                    x-transition:leave-start="opacity-100"
2146                    x-transition:leave-end="opacity-0" class="absolute top-0 right-0 flex p-2 mt-2">
2147                    <button @click="open = false;" aria-label="Close panel"
2148                            class="p-2 text-gray-300 transition duration-150 ease-in-out hover:text-black">
2149                       <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" width="24" height="24" role="img">
2150  <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"></path></svg>
2151                    </button>
2152                </div>
2153                <div class="flex flex-col h-full py-6 space-y-6 bg-white shadow-xl overflow-y-auto">
2154                    <div class="block-customer-login bg-container border border-container mx-4 p-4 shadow-sm">
2155                        <p id="authenticate-customer-login" class="text-lg leading-7 text-gray-900">
2156                            <strong class="font-medium">Checkout using your account</strong>
2157                        </p>
2158
2159                        <form class="form form-login"
2160                              method="post"
2161                              @submit.prevent="submitForm();"
2162                              id="login-form"
2163                        >
2164                                                        <div class="fieldset login">
2165                                <div class="field email required">
2166                                    <label class="label" for="form-login-username" form="login-form" >
2167                                        <span>Indirizzo email</span>
2168                                    </label>
2169                                    <div class="control">
2170                                        <input name="username"
2171                                               id="form-login-username"
2172                                               x-ref="customer-email"
2173                                               @change="errors = 0"
2174                                               type="email"
2175                                               required
2176                                               class="form-input input-text"
2177                                        >
2178                                    </div>
2179                                </div>
2180                                <div class="field password required">
2181                                    <label for="form-login-password" class="label" form="login-form">
2182                                        <span>Password</span>
2183                                    </label>
2184                                    <div class="control">
2185                                        <input name="password"
2186                                               id="form-login-password"
2187                                               type="password"
2188                                               class="form-input input-text"
2189                                               required
2190                                               x-ref="customer-password"
2191                                               @change="errors = 0"
2192                                        >
2193                                    </div>
2194                                </div>
2195
2196                                <input name="context" type="hidden" value="checkout" />
2197                                <div class="actions-toolbar flex justify-between pt-6 pb-2 items-center">
2198                                    <button type="submit"                                            class="inline-flex btn btn-primary disabled:opacity-75"
2199                                    >
2200                                        Accedi                                    </button>
2201                                    <a href="https://www.naturelab.it/customer/account/forgotpassword/"
2202                                    >
2203                                        Hai dimenticato la password?                                    </a>
2204                                </div>
2205
2206                            </div>
2207                        </form>
2208                    </div>
2209                    <div class="mx-4">
2210                                            </div>
2211                    <div class="block-new-customer bg-container border border-container mx-4 p-4 shadow-sm">
2212                        <p id="authenticate-new-customer" class="text-lg mb-2 leading-7 text-gray-900">
2213                            <strong class="font-medium">Checkout as a new customer</strong>
2214                        </p>
2215
2216                        <div class="block-content">
2217                            <p class="mb-1">
2218                                La creazione di un account ha molti vantaggi:                            </p>
2219                            <ul class="list-disc pl-5">
2220                                <li> Vedere lo stato dell&#039;ordine e della spedizione</li>
2221                                <li> Cronologia ordini</li>
2222                                <li> Checkout più veloce</li>
2223                            </ul>
2224                            <div class="actions-toolbar flex justify-between mt-6 mb-2 items-center">
2225                                <a href="https://www.naturelab.it/customer/account/create/"
2226                                   class="inline-flex btn btn-primary">
2227                                    Crea un Account                                </a>
2228                            </div>
2229                        </div>
2230                    </div>
2231                </div>
2232            </div>
2233        </div>
2234</section>
2235            </div>
2236        </div>
2237    </div>
2238    <!--Main Navigation-->
2239    <div x-data="initMenuDesktop_6ac2bbed0b008()" class="z-20 order-2 sm:order-1 lg:order-2 navigation hidden lg:flex pt-2">
2240    <!-- desktop -->
2241    <div x-ref="nav-desktop" @load.window="setActiveMenu($root)" class="hidden lg:block lg:relative lg:min-h-0 lg:px-0 lg:pt-0 w-full text-center container">
2242        <nav class="w-full duration-150 ease-in-out transform flex justify-center relative min-h-0 transition-display" aria-label="Menu&#x20;principale">
2243            <ul class="flex justify-start">
2244                                    <li class="relative level-0" @mouseenter="hoverPanelActiveId = 'category-node-36'; searchOpen = false" @mouseleave="hoverPanelActiveId = 0" @keyup.escape="hoverPanelActiveId = 0">
2245                        <span class="flex items-center  mx-4 xl:mx-6 mb-3">
2246                            <a class="w-full py-4.5 pb-1 uppercase tracking-normal relative 
2247                                before:content-[''] before:absolute before:block before:w-full before:h-[2px] 
2248                                before:bottom-0 before:left-0 before:bg-black
2249                                before:hover:scale-x-100 before:scale-x-0 before:origin-top-center
2250                                before:transition before:ease-in-out before:duration-300 level-0 main-menu-item" href="https://www.naturelab.it/integratori-naturali/" title="Integratori&#x20;Naturali" @focus="hoverPanelActiveId = 0">
2251                                Integratori Naturali                            </a>
2252                        </span>
2253                                                                                                                                                                                                                                                                                                                                                                            <ul class="absolute z-20 px-10 py-4 -ml-16 border bg-white text-left min-w-[230px] transition ease-in-out duration-200 left-1/4 
2254                                    transform opacity-0 pointer-events-none -translate-x-1/4
2255                                    grid flex-1 grid-cols-2 gap-y-4 gap-x-8 p-4 min-w-[550px]" :class="{
2256                                    'opacity-0 pointer-events-none -translate-x-1/4' : hoverPanelActiveId !== 'category-node-36',
2257                                    'opacity-100 pointer-events-auto translate-x-0' : hoverPanelActiveId === 'category-node-36'
2258                                }">
2259                                                                    <li>
2260                                        <a href="https://www.naturelab.it/integratori-per-l-organismo/" title="Per&#x20;il&#x20;tuo&#x20;Benessere" class="block w-full py-1 mt-1 mb-2 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D36]').focus())">
2261                                            <span class="pb-0.5 tracking-normal
2262                                            relative before:content-[''] before:absolute before:block before:w-full before:h-[1px] 
2263                                            before:bottom-0 before:left-0 before:bg-black
2264                                            before:hover:scale-x-100 before:scale-x-0 before:origin-top-left
2265                                            before:transition before:ease-in-out before:duration-300 main-menu-item
2266                                            uppercase before:h-[2px] ">
2267                                                Per il tuo Benessere                                            </span>
2268                                        </a>
2269                                                                                    <ul>
2270                                                                                                    <li>
2271                                                        <a href="https://www.naturelab.it/integratori-antiossidanti/" title="Antiossidanti" class="block w-full py-1 mt-1 mb-2 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D36]').focus())">
2272                                                            <span class="pb-0.5 tracking-normal
2273                                                            relative before:content-[''] before:absolute before:block before:w-full before:h-[1px] 
2274                                                            before:bottom-0 before:left-0 before:bg-black
2275                                                            before:hover:scale-x-100 before:scale-x-0 before:origin-top-left
2276                                                            before:transition before:ease-in-out before:duration-300 main-menu-item">Antiossidanti                                                        </a>
2277                                                    </li>
2278                                                                                                    <li>
2279                                                        <a href="https://www.naturelab.it/integratori-articolazioni-ossa-muscoli/" title="Articolazioni,&#x20;Ossa&#x20;e&#x20;Muscoli" class="block w-full py-1 mt-1 mb-2 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D36]').focus())">
2280                                                            <span class="pb-0.5 tracking-normal
2281                                                            relative before:content-[''] before:absolute before:block before:w-full before:h-[1px] 
2282                                                            before:bottom-0 before:left-0 before:bg-black
2283                                                            before:hover:scale-x-100 before:scale-x-0 before:origin-top-left
2284                                                            before:transition before:ease-in-out before:duration-300 main-menu-item">Articolazioni, Ossa e Muscoli                                                        </a>
2285                                                    </li>
2286                                                                                                    <li>
2287                                                        <a href="https://www.naturelab.it/integratori-microcircolo-e-gambe-pesanti/" title="Microcircolo&#x20;e&#x20;Gambe&#x20;Pesanti" class="block w-full py-1 mt-1 mb-2 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D36]').focus())">
2288                                                            <span class="pb-0.5 tracking-normal
2289                                                            relative before:content-[''] before:absolute before:block before:w-full before:h-[1px] 
2290                                                            before:bottom-0 before:left-0 before:bg-black
2291                                                            before:hover:scale-x-100 before:scale-x-0 before:origin-top-left
2292                                                            before:transition before:ease-in-out before:duration-300 main-menu-item">Microcircolo e Gambe Pesanti                                                        </a>
2293                                                    </li>
2294                                                                                                    <li>
2295                                                        <a href="https://www.naturelab.it/integratori-colesterolo/" title="Colesterolo" class="block w-full py-1 mt-1 mb-2 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D36]').focus())">
2296                                                            <span class="pb-0.5 tracking-normal
2297                                                            relative before:content-[''] before:absolute before:block before:w-full before:h-[1px] 
2298                                                            before:bottom-0 before:left-0 before:bg-black
2299                                                            before:hover:scale-x-100 before:scale-x-0 before:origin-top-left
2300                                                            before:transition before:ease-in-out before:duration-300 main-menu-item">Colesterolo                                                        </a>
2301                                                    </li>
2302                                                                                                    <li>
2303                                                        <a href="https://www.naturelab.it/integratori-cuore-e-pressione/" title="Cuore&#x20;e&#x20;Pressione" class="block w-full py-1 mt-1 mb-2 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D36]').focus())">
2304                                                            <span class="pb-0.5 tracking-normal
2305                                                            relative before:content-[''] before:absolute before:block before:w-full before:h-[1px] 
2306                                                            before:bottom-0 before:left-0 before:bg-black
2307                                                            before:hover:scale-x-100 before:scale-x-0 before:origin-top-left
2308                                                            before:transition before:ease-in-out before:duration-300 main-menu-item">Cuore e Pressione                                                        </a>
2309                                                    </li>
2310                                                                                                    <li>
2311                                                        <a href="https://www.naturelab.it/integratori-depurativi-e-drenanti/" title="Depurativi&#x20;e&#x20;Drenanti" class="block w-full py-1 mt-1 mb-2 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D36]').focus())">
2312                                                            <span class="pb-0.5 tracking-normal
2313                                                            relative before:content-[''] before:absolute before:block before:w-full before:h-[1px] 
2314                                                            before:bottom-0 before:left-0 before:bg-black
2315                                                            before:hover:scale-x-100 before:scale-x-0 before:origin-top-left
2316                                                            before:transition before:ease-in-out before:duration-300 main-menu-item">Depurativi e Drenanti                                                        </a>
2317                                                    </li>
2318                                                                                                    <li>
2319                                                        <a href="https://www.naturelab.it/integratori-difese-immunitarie-raffreddore-e-tosse/" title="Difese&#x20;Immunitarie" class="block w-full py-1 mt-1 mb-2 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D36]').focus())">
2320                                                            <span class="pb-0.5 tracking-normal
2321                                                            relative before:content-[''] before:absolute before:block before:w-full before:h-[1px] 
2322                                                            before:bottom-0 before:left-0 before:bg-black
2323                                                            before:hover:scale-x-100 before:scale-x-0 before:origin-top-left
2324                                                            before:transition before:ease-in-out before:duration-300 main-menu-item">Difese Immunitarie                                                        </a>
2325                                                    </li>
2326                                                                                                    <li>
2327                                                        <a href="https://www.naturelab.it/integratori-naturali-donna-menopausa/" title="Donna&#x20;e&#x20;Menopausa" class="block w-full py-1 mt-1 mb-2 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D36]').focus())">
2328                                                            <span class="pb-0.5 tracking-normal
2329                                                            relative before:content-[''] before:absolute before:block before:w-full before:h-[1px] 
2330                                                            before:bottom-0 before:left-0 before:bg-black
2331                                                            before:hover:scale-x-100 before:scale-x-0 before:origin-top-left
2332                                                            before:transition before:ease-in-out before:duration-300 main-menu-item">Donna e Menopausa                                                        </a>
2333                                                    </li>
2334                                                                                                    <li>
2335                                                        <a href="https://www.naturelab.it/integratori-intestino-sano-digestione-transito/" title="Intestino&#x20;Sano&#x20;e&#x20;Digestione" class="block w-full py-1 mt-1 mb-2 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D36]').focus())">
2336                                                            <span class="pb-0.5 tracking-normal
2337                                                            relative before:content-[''] before:absolute before:block before:w-full before:h-[1px] 
2338                                                            before:bottom-0 before:left-0 before:bg-black
2339                                                            before:hover:scale-x-100 before:scale-x-0 before:origin-top-left
2340                                                            before:transition before:ease-in-out before:duration-300 main-menu-item">Intestino Sano e Digestione                                                        </a>
2341                                                    </li>
2342                                                                                                    <li>
2343                                                        <a href="https://www.naturelab.it/integratori-memoria-e-concentrazione/" title="Memoria&#x20;e&#x20;Concentrazione" class="block w-full py-1 mt-1 mb-2 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D36]').focus())">
2344                                                            <span class="pb-0.5 tracking-normal
2345                                                            relative before:content-[''] before:absolute before:block before:w-full before:h-[1px] 
2346                                                            before:bottom-0 before:left-0 before:bg-black
2347                                                            before:hover:scale-x-100 before:scale-x-0 before:origin-top-left
2348                                                            before:transition before:ease-in-out before:duration-300 main-menu-item">Memoria e Concentrazione                                                        </a>
2349                                                    </li>
2350                                                                                                    <li>
2351                                                        <a href="https://www.naturelab.it/integratori-sistema-nervoso-ansia-stress-e-insonnia/" title="Sistema&#x20;Nervoso,&#x20;Stress&#x20;e&#x20;Insonnia" class="block w-full py-1 mt-1 mb-2 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D36]').focus())">
2352                                                            <span class="pb-0.5 tracking-normal
2353                                                            relative before:content-[''] before:absolute before:block before:w-full before:h-[1px] 
2354                                                            before:bottom-0 before:left-0 before:bg-black
2355                                                            before:hover:scale-x-100 before:scale-x-0 before:origin-top-left
2356                                                            before:transition before:ease-in-out before:duration-300 main-menu-item">Sistema Nervoso, Stress e Insonnia                                                        </a>
2357                                                    </li>
2358                                                                                                    <li>
2359                                                        <a href="https://www.naturelab.it/integratori-a-supporto-per-l-oncologia/" title="Supporto&#x20;per&#x20;l&#x27;Oncologia" class="block w-full py-1 mt-1 mb-2 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D36]').focus())">
2360                                                            <span class="pb-0.5 tracking-normal
2361                                                            relative before:content-[''] before:absolute before:block before:w-full before:h-[1px] 
2362                                                            before:bottom-0 before:left-0 before:bg-black
2363                                                            before:hover:scale-x-100 before:scale-x-0 before:origin-top-left
2364                                                            before:transition before:ease-in-out before:duration-300 main-menu-item">Supporto per l&#039;Oncologia                                                        </a>
2365                                                    </li>
2366                                                                                                    <li>
2367                                                        <a href="https://www.naturelab.it/integratori-tonici-adattogeni-vitalita/" title="Tonici,&#x20;Adattogeni,&#x20;Vitalit&#xE0;" class="block w-full py-1 mt-1 mb-2 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D36]').focus())">
2368                                                            <span class="pb-0.5 tracking-normal
2369                                                            relative before:content-[''] before:absolute before:block before:w-full before:h-[1px] 
2370                                                            before:bottom-0 before:left-0 before:bg-black
2371                                                            before:hover:scale-x-100 before:scale-x-0 before:origin-top-left
2372                                                            before:transition before:ease-in-out before:duration-300 main-menu-item">Tonici, Adattogeni, Vitalità                                                        </a>
2373                                                    </li>
2374                                                                                                    <li>
2375                                                        <a href="https://www.naturelab.it/integratori-vie-urinarie/" title="Vie&#x20;Urinarie" class="block w-full py-1 mt-1 mb-2 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D36]').focus())">
2376                                                            <span class="pb-0.5 tracking-normal
2377                                                            relative before:content-[''] before:absolute before:block before:w-full before:h-[1px] 
2378                                                            before:bottom-0 before:left-0 before:bg-black
2379                                                            before:hover:scale-x-100 before:scale-x-0 before:origin-top-left
2380                                                            before:transition before:ease-in-out before:duration-300 main-menu-item">Vie Urinarie                                                        </a>
2381                                                    </li>
2382                                                                                            </ul>
2383                                                                            </li>
2384                                                                    <li>
2385                                        <a href="https://www.naturelab.it/integratori-per-il-corpo/" title="Per&#x20;il&#x20;tuo&#x20;Equilibrio" class="block w-full py-1 mt-1 mb-2 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D36]').focus())">
2386                                            <span class="pb-0.5 tracking-normal
2387                                            relative before:content-[''] before:absolute before:block before:w-full before:h-[1px] 
2388                                            before:bottom-0 before:left-0 before:bg-black
2389                                            before:hover:scale-x-100 before:scale-x-0 before:origin-top-left
2390                                            before:transition before:ease-in-out before:duration-300 main-menu-item
2391                                            uppercase before:h-[2px] ">
2392                                                Per il tuo Equilibrio                                            </span>
2393                                        </a>
2394                                                                                    <ul>
2395                                                                                                    <li>
2396                                                        <a href="https://www.naturelab.it/integratori-per-capelli-e-unghie/" title="Capelli&#x20;e&#x20;Unghie" class="block w-full py-1 mt-1 mb-2 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D36]').focus())">
2397                                                            <span class="pb-0.5 tracking-normal
2398                                                            relative before:content-[''] before:absolute before:block before:w-full before:h-[1px] 
2399                                                            before:bottom-0 before:left-0 before:bg-black
2400                                                            before:hover:scale-x-100 before:scale-x-0 before:origin-top-left
2401                                                            before:transition before:ease-in-out before:duration-300 main-menu-item">Capelli e Unghie                                                        </a>
2402                                                    </li>
2403                                                                                                    <li>
2404                                                        <a href="https://www.naturelab.it/integratori-controllo-del-peso-e-metabolismo/" title="Controllo&#x20;del&#x20;Peso&#x20;e&#x20;Metabolismo" class="block w-full py-1 mt-1 mb-2 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D36]').focus())">
2405                                                            <span class="pb-0.5 tracking-normal
2406                                                            relative before:content-[''] before:absolute before:block before:w-full before:h-[1px] 
2407                                                            before:bottom-0 before:left-0 before:bg-black
2408                                                            before:hover:scale-x-100 before:scale-x-0 before:origin-top-left
2409                                                            before:transition before:ease-in-out before:duration-300 main-menu-item">Controllo del Peso e Metabolismo                                                        </a>
2410                                                    </li>
2411                                                                                                    <li>
2412                                                        <a href="https://www.naturelab.it/integratori-per-la-pelle-anti-aging/" title="Pelle&#x20;e&#x20;Anti&#x20;Aging" class="block w-full py-1 mt-1 mb-2 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D36]').focus())">
2413                                                            <span class="pb-0.5 tracking-normal
2414                                                            relative before:content-[''] before:absolute before:block before:w-full before:h-[1px] 
2415                                                            before:bottom-0 before:left-0 before:bg-black
2416                                                            before:hover:scale-x-100 before:scale-x-0 before:origin-top-left
2417                                                            before:transition before:ease-in-out before:duration-300 main-menu-item">Pelle e Anti Aging                                                        </a>
2418                                                    </li>
2419                                                                                                    <li>
2420                                                        <a href="https://www.naturelab.it/integratori-per-l-esposizione-al-sole-e-preparazione-all-abbronzatura/" title="Esposizione&#x20;al&#x20;Sole&#x20;e&#x20;Abbronzatura" class="block w-full py-1 mt-1 mb-2 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D36]').focus())">
2421                                                            <span class="pb-0.5 tracking-normal
2422                                                            relative before:content-[''] before:absolute before:block before:w-full before:h-[1px] 
2423                                                            before:bottom-0 before:left-0 before:bg-black
2424                                                            before:hover:scale-x-100 before:scale-x-0 before:origin-top-left
2425                                                            before:transition before:ease-in-out before:duration-300 main-menu-item">Esposizione al Sole e Abbronzatura                                                        </a>
2426                                                    </li>
2427                                                                                                    <li>
2428                                                        <a href="https://www.naturelab.it/inestetismi-della-cellulite/" title="Inestetismi&#x20;della&#x20;cellulite" class="block w-full py-1 mt-1 mb-2 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D36]').focus())">
2429                                                            <span class="pb-0.5 tracking-normal
2430                                                            relative before:content-[''] before:absolute before:block before:w-full before:h-[1px] 
2431                                                            before:bottom-0 before:left-0 before:bg-black
2432                                                            before:hover:scale-x-100 before:scale-x-0 before:origin-top-left
2433                                                            before:transition before:ease-in-out before:duration-300 main-menu-item">Inestetismi della cellulite                                                        </a>
2434                                                    </li>
2435                                                                                            </ul>
2436                                                                            </li>
2437                                                            </ul>
2438                                            </li>
2439                                    <li class="relative level-0" @mouseenter="hoverPanelActiveId = 'category-node-4'; searchOpen = false" @mouseleave="hoverPanelActiveId = 0" @keyup.escape="hoverPanelActiveId = 0">
2440                        <span class="flex items-center  mx-4 xl:mx-6 mb-3">
2441                            <a class="w-full py-4.5 pb-1 uppercase tracking-normal relative 
2442                                before:content-[''] before:absolute before:block before:w-full before:h-[2px] 
2443                                before:bottom-0 before:left-0 before:bg-black
2444                                before:hover:scale-x-100 before:scale-x-0 before:origin-top-center
2445                                before:transition before:ease-in-out before:duration-300 level-0 main-menu-item" href="https://www.naturelab.it/silicio-organico/" title="Silicio&#x20;Organico" @focus="hoverPanelActiveId = 0">
2446                                Silicio Organico                            </a>
2447                        </span>
2448                                            </li>
2449                                    <li class="relative level-0" @mouseenter="hoverPanelActiveId = 'category-node-147'; searchOpen = false" @mouseleave="hoverPanelActiveId = 0" @keyup.escape="hoverPanelActiveId = 0">
2450                        <span class="flex items-center  mx-4 xl:mx-6 mb-3">
2451                            <a class="w-full py-4.5 pb-1 uppercase tracking-normal relative 
2452                                before:content-[''] before:absolute before:block before:w-full before:h-[2px] 
2453                                before:bottom-0 before:left-0 before:bg-black
2454                                before:hover:scale-x-100 before:scale-x-0 before:origin-top-center
2455                                before:transition before:ease-in-out before:duration-300 level-0 main-menu-item" href="https://www.naturelab.it/vitamine-e-minerali/" title="Vitamine&#x20;e&#x20;Minerali" @focus="hoverPanelActiveId = 0">
2456                                Vitamine e Minerali                            </a>
2457                        </span>
2458                                                                                                                                                                                                                                                                                                                                                                                                                        <ul class="absolute z-20 px-10 py-4 -ml-16 border bg-white text-left min-w-[230px] transition ease-in-out duration-200 left-1/4 
2459                                    transform opacity-0 pointer-events-none -translate-x-1/4
2460                                    " :class="{
2461                                    'opacity-0 pointer-events-none -translate-x-1/4' : hoverPanelActiveId !== 'category-node-147',
2462                                    'opacity-100 pointer-events-auto translate-x-0' : hoverPanelActiveId === 'category-node-147'
2463                                }">
2464                                                                    <li>
2465                                        <a href="https://www.naturelab.it/integratori-vitamine-naturali/" title="Vitamine&#x20;Naturali" class="block w-full py-1 mt-1 mb-2 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D147]').focus())">
2466                                            <span class="pb-0.5 tracking-normal
2467                                            relative before:content-[''] before:absolute before:block before:w-full before:h-[1px] 
2468                                            before:bottom-0 before:left-0 before:bg-black
2469                                            before:hover:scale-x-100 before:scale-x-0 before:origin-top-left
2470                                            before:transition before:ease-in-out before:duration-300 main-menu-item
2471                                             ">
2472                                                Vitamine Naturali                                            </span>
2473                                        </a>
2474                                                                            </li>
2475                                                                    <li>
2476                                        <a href="https://www.naturelab.it/biocean-plasma-di-quinton/" title="Acqua&#x20;di&#x20;Mare&#x20;Plasma&#x20;di&#x20;Quinton" class="block w-full py-1 mt-1 mb-2 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D147]').focus())">
2477                                            <span class="pb-0.5 tracking-normal
2478                                            relative before:content-[''] before:absolute before:block before:w-full before:h-[1px] 
2479                                            before:bottom-0 before:left-0 before:bg-black
2480                                            before:hover:scale-x-100 before:scale-x-0 before:origin-top-left
2481                                            before:transition before:ease-in-out before:duration-300 main-menu-item
2482                                             ">
2483                                                Acqua di Mare Plasma di Quinton                                            </span>
2484                                        </a>
2485                                                                            </li>
2486                                                                    <li>
2487                                        <a href="https://www.naturelab.it/integratori-remineralizzanti/" title="Remineralizzanti" class="block w-full py-1 mt-1 mb-2 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D147]').focus())">
2488                                            <span class="pb-0.5 tracking-normal
2489                                            relative before:content-[''] before:absolute before:block before:w-full before:h-[1px] 
2490                                            before:bottom-0 before:left-0 before:bg-black
2491                                            before:hover:scale-x-100 before:scale-x-0 before:origin-top-left
2492                                            before:transition before:ease-in-out before:duration-300 main-menu-item
2493                                             ">
2494                                                Remineralizzanti                                            </span>
2495                                        </a>
2496                                                                            </li>
2497                                                                    <li>
2498                                        <a href="https://www.naturelab.it/oligoelementi-integratori-oligotracce/" title="Oligoelementi&#x20;e&#x20;Oligotracce" class="block w-full py-1 mt-1 mb-2 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D147]').focus())">
2499                                            <span class="pb-0.5 tracking-normal
2500                                            relative before:content-[''] before:absolute before:block before:w-full before:h-[1px] 
2501                                            before:bottom-0 before:left-0 before:bg-black
2502                                            before:hover:scale-x-100 before:scale-x-0 before:origin-top-left
2503                                            before:transition before:ease-in-out before:duration-300 main-menu-item
2504                                             ">
2505                                                Oligoelementi e Oligotracce                                            </span>
2506                                        </a>
2507                                                                            </li>
2508                                                                    <li>
2509                                        <a href="https://www.naturelab.it/argento-colloidale/" title="Argento&#x20;Colloidale" class="block w-full py-1 mt-1 mb-2 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D147]').focus())">
2510                                            <span class="pb-0.5 tracking-normal
2511                                            relative before:content-[''] before:absolute before:block before:w-full before:h-[1px] 
2512                                            before:bottom-0 before:left-0 before:bg-black
2513                                            before:hover:scale-x-100 before:scale-x-0 before:origin-top-left
2514                                            before:transition before:ease-in-out before:duration-300 main-menu-item
2515                                             ">
2516                                                Argento Colloidale                                            </span>
2517                                        </a>
2518                                                                            </li>
2519                                                            </ul>
2520                                            </li>
2521                                    <li class="relative level-0" @mouseenter="hoverPanelActiveId = 'category-node-126'; searchOpen = false" @mouseleave="hoverPanelActiveId = 0" @keyup.escape="hoverPanelActiveId = 0">
2522                        <span class="flex items-center  mx-4 xl:mx-6 mb-3">
2523                            <a class="w-full py-4.5 pb-1 uppercase tracking-normal relative 
2524                                before:content-[''] before:absolute before:block before:w-full before:h-[2px] 
2525                                before:bottom-0 before:left-0 before:bg-black
2526                                before:hover:scale-x-100 before:scale-x-0 before:origin-top-center
2527                                before:transition before:ease-in-out before:duration-300 level-0 main-menu-item" href="https://www.naturelab.it/gemmoderivati/" title="Gemmoderivati" @focus="hoverPanelActiveId = 0">
2528                                Gemmoderivati                            </a>
2529                        </span>
2530                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <ul class="absolute z-20 px-10 py-4 -ml-16 border bg-white text-left min-w-[230px] transition ease-in-out duration-200 left-1/4 
2531                                    transform opacity-0 pointer-events-none -translate-x-1/4
2532                                    " :class="{
2533                                    'opacity-0 pointer-events-none -translate-x-1/4' : hoverPanelActiveId !== 'category-node-126',
2534                                    'opacity-100 pointer-events-auto translate-x-0' : hoverPanelActiveId === 'category-node-126'
2535                                }">
2536                                                                    <li>
2537                                        <a href="https://www.naturelab.it/sistema-cardiovascolare/" title="Sistema&#x20;Cardiovascolare" class="block w-full py-1 mt-1 mb-2 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D126]').focus())">
2538                                            <span class="pb-0.5 tracking-normal
2539                                            relative before:content-[''] before:absolute before:block before:w-full before:h-[1px] 
2540                                            before:bottom-0 before:left-0 before:bg-black
2541                                            before:hover:scale-x-100 before:scale-x-0 before:origin-top-left
2542                                            before:transition before:ease-in-out before:duration-300 main-menu-item
2543                                             ">
2544                                                Sistema Cardiovascolare                                            </span>
2545                                        </a>
2546                                                                            </li>
2547                                                                    <li>
2548                                        <a href="https://www.naturelab.it/sistema-circolatorio/" title="Sistema&#x20;Circolatorio" class="block w-full py-1 mt-1 mb-2 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D126]').focus())">
2549                                            <span class="pb-0.5 tracking-normal
2550                                            relative before:content-[''] before:absolute before:block before:w-full before:h-[1px] 
2551                                            before:bottom-0 before:left-0 before:bg-black
2552                                            before:hover:scale-x-100 before:scale-x-0 before:origin-top-left
2553                                            before:transition before:ease-in-out before:duration-300 main-menu-item
2554                                             ">
2555                                                Sistema Circolatorio                                            </span>
2556                                        </a>
2557                                                                            </li>
2558                                                                    <li>
2559                                        <a href="https://www.naturelab.it/sistema-digestivo/" title="Sistema&#x20;Digestivo" class="block w-full py-1 mt-1 mb-2 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D126]').focus())">
2560                                            <span class="pb-0.5 tracking-normal
2561                                            relative before:content-[''] before:absolute before:block before:w-full before:h-[1px] 
2562                                            before:bottom-0 before:left-0 before:bg-black
2563                                            before:hover:scale-x-100 before:scale-x-0 before:origin-top-left
2564                                            before:transition before:ease-in-out before:duration-300 main-menu-item
2565                                             ">
2566                                                Sistema Digestivo                                            </span>
2567                                        </a>
2568                                                                            </li>
2569                                                                    <li>
2570                                        <a href="https://www.naturelab.it/sistema-immunitario/" title="Sistema&#x20;Immunitario" class="block w-full py-1 mt-1 mb-2 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D126]').focus())">
2571                                            <span class="pb-0.5 tracking-normal
2572                                            relative before:content-[''] before:absolute before:block before:w-full before:h-[1px] 
2573                                            before:bottom-0 before:left-0 before:bg-black
2574                                            before:hover:scale-x-100 before:scale-x-0 before:origin-top-left
2575                                            before:transition before:ease-in-out before:duration-300 main-menu-item
2576                                             ">
2577                                                Sistema Immunitario                                            </span>
2578                                        </a>
2579                                                                            </li>
2580                                                                    <li>
2581                                        <a href="https://www.naturelab.it/sistema-nervoso/" title="Sistema&#x20;Nervoso" class="block w-full py-1 mt-1 mb-2 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D126]').focus())">
2582                                            <span class="pb-0.5 tracking-normal
2583                                            relative before:content-[''] before:absolute before:block before:w-full before:h-[1px] 
2584                                            before:bottom-0 before:left-0 before:bg-black
2585                                            before:hover:scale-x-100 before:scale-x-0 before:origin-top-left
2586                                            before:transition before:ease-in-out before:duration-300 main-menu-item
2587                                             ">
2588                                                Sistema Nervoso                                            </span>
2589                                        </a>
2590                                                                            </li>
2591                                                                    <li>
2592                                        <a href="https://www.naturelab.it/sistema-osteo-articolare/" title="Sistema&#x20;Osteo-Articolare" class="block w-full py-1 mt-1 mb-2 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D126]').focus())">
2593                                            <span class="pb-0.5 tracking-normal
2594                                            relative before:content-[''] before:absolute before:block before:w-full before:h-[1px] 
2595                                            before:bottom-0 before:left-0 before:bg-black
2596                                            before:hover:scale-x-100 before:scale-x-0 before:origin-top-left
2597                                            before:transition before:ease-in-out before:duration-300 main-menu-item
2598                                             ">
2599                                                Sistema Osteo-Articolare                                            </span>
2600                                        </a>
2601                                                                            </li>
2602                                                                    <li>
2603                                        <a href="https://www.naturelab.it/sistema-respiratorio/" title="Sistema&#x20;Respiratorio" class="block w-full py-1 mt-1 mb-2 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D126]').focus())">
2604                                            <span class="pb-0.5 tracking-normal
2605                                            relative before:content-[''] before:absolute before:block before:w-full before:h-[1px] 
2606                                            before:bottom-0 before:left-0 before:bg-black
2607                                            before:hover:scale-x-100 before:scale-x-0 before:origin-top-left
2608                                            before:transition before:ease-in-out before:duration-300 main-menu-item
2609                                             ">
2610                                                Sistema Respiratorio                                            </span>
2611                                        </a>
2612                                                                            </li>
2613                                                                    <li>
2614                                        <a href="https://www.naturelab.it/sistema-uro-genitale/" title="Sistema&#x20;Uro-Genitale" class="block w-full py-1 mt-1 mb-2 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D126]').focus())">
2615                                            <span class="pb-0.5 tracking-normal
2616                                            relative before:content-[''] before:absolute before:block before:w-full before:h-[1px] 
2617                                            before:bottom-0 before:left-0 before:bg-black
2618                                            before:hover:scale-x-100 before:scale-x-0 before:origin-top-left
2619                                            before:transition before:ease-in-out before:duration-300 main-menu-item
2620                                             ">
2621                                                Sistema Uro-Genitale                                            </span>
2622                                        </a>
2623                                                                            </li>
2624                                                            </ul>
2625                                            </li>
2626                                    <li class="relative level-0" @mouseenter="hoverPanelActiveId = 'category-node-19'; searchOpen = false" @mouseleave="hoverPanelActiveId = 0" @keyup.escape="hoverPanelActiveId = 0">
2627                        <span class="flex items-center  mx-4 xl:mx-6 mb-3">
2628                            <a class="w-full py-4.5 pb-1 uppercase tracking-normal relative 
2629                                before:content-[''] before:absolute before:block before:w-full before:h-[2px] 
2630                                before:bottom-0 before:left-0 before:bg-black
2631                                before:hover:scale-x-100 before:scale-x-0 before:origin-top-center
2632                                before:transition before:ease-in-out before:duration-300 level-0 main-menu-item" href="https://www.naturelab.it/rimedi-floreali/" title="Rimedi&#x20;Floreali" @focus="hoverPanelActiveId = 0">
2633                                Rimedi Floreali                            </a>
2634                        </span>
2635                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <ul class="absolute z-20 px-10 py-4 -ml-16 border bg-white text-left min-w-[230px] transition ease-in-out duration-200 left-1/4 
2636                                    transform opacity-0 pointer-events-none -translate-x-1/4
2637                                    " :class="{
2638                                    'opacity-0 pointer-events-none -translate-x-1/4' : hoverPanelActiveId !== 'category-node-19',
2639                                    'opacity-100 pointer-events-auto translate-x-0' : hoverPanelActiveId === 'category-node-19'
2640                                }">
2641                                                                    <li>
2642                                        <a href="https://www.naturelab.it/fiori-per-problemi-emozionali/" title="Rimedi&#x20;floreali&#x20;per&#x20;l&#x27;equilibrio&#x20;emotivo" class="block w-full py-1 mt-1 mb-2 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D19]').focus())">
2643                                            <span class="pb-0.5 tracking-normal
2644                                            relative before:content-[''] before:absolute before:block before:w-full before:h-[1px] 
2645                                            before:bottom-0 before:left-0 before:bg-black
2646                                            before:hover:scale-x-100 before:scale-x-0 before:origin-top-left
2647                                            before:transition before:ease-in-out before:duration-300 main-menu-item
2648                                             ">
2649                                                Rimedi floreali per l&#039;equilibrio emotivo                                            </span>
2650                                        </a>
2651                                                                            </li>
2652                                                                    <li>
2653                                        <a href="https://www.naturelab.it/fiori-per-stati-d-animo-negativi/" title="Rimedi&#x20;floreali&#x20;per&#x20;stati&#x20;d&#x27;animo&#x20;e&#x20;momenti&#x20;difficili" class="block w-full py-1 mt-1 mb-2 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D19]').focus())">
2654                                            <span class="pb-0.5 tracking-normal
2655                                            relative before:content-[''] before:absolute before:block before:w-full before:h-[1px] 
2656                                            before:bottom-0 before:left-0 before:bg-black
2657                                            before:hover:scale-x-100 before:scale-x-0 before:origin-top-left
2658                                            before:transition before:ease-in-out before:duration-300 main-menu-item
2659                                             ">
2660                                                Rimedi floreali per stati d&#039;animo e momenti difficili                                            </span>
2661                                        </a>
2662                                                                            </li>
2663                                                                    <li>
2664                                        <a href="https://www.naturelab.it/fiori-per-disarmonie-del-carattere/" title="Rimedi&#x20;floreali&#x20;per&#x20;equilibrio&#x20;e&#x20;consapevolezza&#x20;personale" class="block w-full py-1 mt-1 mb-2 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D19]').focus())">
2665                                            <span class="pb-0.5 tracking-normal
2666                                            relative before:content-[''] before:absolute before:block before:w-full before:h-[1px] 
2667                                            before:bottom-0 before:left-0 before:bg-black
2668                                            before:hover:scale-x-100 before:scale-x-0 before:origin-top-left
2669                                            before:transition before:ease-in-out before:duration-300 main-menu-item
2670                                             ">
2671                                                Rimedi floreali per equilibrio e consapevolezza personale                                            </span>
2672                                        </a>
2673                                                                            </li>
2674                                                                    <li>
2675                                        <a href="https://www.naturelab.it/fiori-per-conflitti-e-difficolta-relazionali/" title="Rimedi&#x20;floreali&#x20;per&#x20;relazioni&#x20;e&#x20;sfera&#x20;affettiva" class="block w-full py-1 mt-1 mb-2 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D19]').focus())">
2676                                            <span class="pb-0.5 tracking-normal
2677                                            relative before:content-[''] before:absolute before:block before:w-full before:h-[1px] 
2678                                            before:bottom-0 before:left-0 before:bg-black
2679                                            before:hover:scale-x-100 before:scale-x-0 before:origin-top-left
2680                                            before:transition before:ease-in-out before:duration-300 main-menu-item
2681                                             ">
2682                                                Rimedi floreali per relazioni e sfera affettiva                                            </span>
2683                                        </a>
2684                                                                            </li>
2685                                                                    <li>
2686                                        <a href="https://www.naturelab.it/fiori-per-disagi-psicologici/" title="Rimedi&#x20;floreali&#x20;per&#x20;paure,&#x20;tensioni&#x20;e&#x20;insicurezze" class="block w-full py-1 mt-1 mb-2 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D19]').focus())">
2687                                            <span class="pb-0.5 tracking-normal
2688                                            relative before:content-[''] before:absolute before:block before:w-full before:h-[1px] 
2689                                            before:bottom-0 before:left-0 before:bg-black
2690                                            before:hover:scale-x-100 before:scale-x-0 before:origin-top-left
2691                                            before:transition before:ease-in-out before:duration-300 main-menu-item
2692                                             ">
2693                                                Rimedi floreali per paure, tensioni e insicurezze                                            </span>
2694                                        </a>
2695                                                                            </li>
2696                                                                    <li>
2697                                        <a href="https://www.naturelab.it/fiori-per-disturbi-fisici/" title="Rimedi&#x20;floreali&#x20;e&#x20;benessere&#x20;psicofisico" class="block w-full py-1 mt-1 mb-2 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D19]').focus())">
2698                                            <span class="pb-0.5 tracking-normal
2699                                            relative before:content-[''] before:absolute before:block before:w-full before:h-[1px] 
2700                                            before:bottom-0 before:left-0 before:bg-black
2701                                            before:hover:scale-x-100 before:scale-x-0 before:origin-top-left
2702                                            before:transition before:ease-in-out before:duration-300 main-menu-item
2703                                             ">
2704                                                Rimedi floreali e benessere psicofisico                                            </span>
2705                                        </a>
2706                                                                            </li>
2707                                                                    <li>
2708                                        <a href="https://www.naturelab.it/fiori-per-malattie-di-origine-psicosomatica/" title="Rimedi&#x20;floreali&#x20;per&#x20;stress&#x20;e&#x20;somatizzazione" class="block w-full py-1 mt-1 mb-2 whitespace-nowrap first:mt-0 last:mb-0" @keyup.escape="$nextTick(() => document.querySelector('[data-sr-button-id=category\u002Dnode\u002D19]').focus())">
2709                                            <span class="pb-0.5 tracking-normal
2710                                            relative before:content-[''] before:absolute before:block before:w-full before:h-[1px] 
2711                                            before:bottom-0 before:left-0 before:bg-black
2712                                            before:hover:scale-x-100 before:scale-x-0 before:origin-top-left
2713                                            before:transition before:ease-in-out before:duration-300 main-menu-item
2714                                             ">
2715                                                Rimedi floreali per stress e somatizzazione                                            </span>
2716                                        </a>
2717                                                                            </li>
2718                                                            </ul>
2719                                            </li>
2720                                <li class="relative level-0">
2721                        <span class="flex items-center  mx-4 xl:mx-6 mb-3">
2722                            <a class="w-full py-4.5 pb-1 uppercase tracking-normal relative 
2723                                before:content-[''] before:absolute before:block before:w-full before:h-[2px] 
2724                                before:bottom-0 before:left-0 before:bg-black
2725                                before:hover:scale-x-100 before:scale-x-0 before:origin-top-center
2726                                before:transition before:ease-in-out before:duration-300 level-0 main-menu-item" href="/blog/" title="Blog Lab>">
2727                                Blog Lab
2728                            </a>
2729                </li>
2730                <li class="relative level-0">
2731                        <span class="flex items-center  mx-4 xl:mx-6 mb-3">
2732                            <a class="w-full py-4.5 pb-1 uppercase tracking-normal relative 
2733                                before:content-[''] before:absolute before:block before:w-full before:h-[2px] 
2734                                before:bottom-0 before:left-0 before:bg-black
2735                                before:hover:scale-x-100 before:scale-x-0 before:origin-top-center
2736                                before:transition before:ease-in-out before:duration-300 level-0 main-menu-item" href="/chi-siamo/" title="Chi siamo>">
2737                                Chi siamo
2738                            </a>
2739                </li>
2740            </ul>
2741        </nav>
2742    </div>
2743</div>
2744<script>
2745    'use strict';
2746    const initMenuDesktop_6ac2bbed0b008 = () => {
2747        return {
2748            hoverPanelActiveId: null,
2749            setActiveMenu(menuNode) {
2750                Array.from(menuNode.querySelectorAll('a')).filter(link => {
2751                    return link.href === window.location.href.split('?')[0];
2752                }).forEach(item => {
2753                    // Aggiunge 'underline' solo se l'elemento non è un link di livello 0
2754                    if (!item.closest('li').classList.contains('level-0')) {
2755                        item.classList.add('underline');
2756                        item.classList.add('underline-offset-4');
2757                    }
2758                    item.closest('li.level-0') &&
2759                        item.closest('li.level-0').querySelector('a.level-0').classList.add('before:scale-x-100');
2760                });
2761            },
2762            openMenuOnClick(menuNode) {
2763                if (menuNode === this.hoverPanelActiveId) {
2764                    this.hoverPanelActiveId = 0;
2765                } else {
2766                    this.hoverPanelActiveId = menuNode
2767                }
2768            }
2769        }
2770    }
2771</script>
2771     <!--Search-->
2772     <div class="absolute z-10 w-full border-t shadow-sm bg-container-lighter border-container-lighter"
2773         id="search-content"
2774         x-cloak x-show="searchOpen"
2775         @click.outside="searchOpen = false"
2776         @keydown.escape="
2777            searchOpen = false;
2778            $refs.searchButton.focus();
2779         "
2780    >
2781        
2782<script>
2783    'use strict';
2784
2785    function amXsearchProductsComponent() {
2786        const postFormRequest = (postUrl, id) => {
2787            const req = fetch(BASE_URL + postUrl, {
2788                "headers": {
2789                    "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
2790                },
2791                "body": "form_key=" + hyva.getFormKey() + "&product=" + id + "&uenc=" + hyva.getUenc(),
2792                "method": "POST",
2793                "mode": "cors",
2794                "credentials": "include"
2795            });
2796
2797            req.finally(() => this.isLoading = false);
2798
2799            return req;
2800        }
2801
2802        return {
2803            mutationAddToCartQuery: "mutation addProductsToCart($cartId: String!, $cartItems: [CartItemInput!]!) {addProductsToCart(\n                cartId: $cartId,\n                cartItems: $cartItems\n                ) {\n                    cart {\n                        items {\n                            product {\n                                name\n                            }\n                        }\n                        total_quantity\n                    }\n                    user_errors {\n                        code\n                        message\n                    }\n                }}",
2804            mutationAddToWishlistQuery: "mutation addProductsToWishlist($wishlistId: ID!, $wishlistItems: [WishlistItemInput!]!) {addProductsToWishlist(\n                wishlistId: $wishlistId,\n                wishlistItems: $wishlistItems\n                ) {\n                    wishlist {\n                        items {\n                            id\n                            product {\n                                name\n                            }\n                        }\n                        items_count\n                    }\n                    user_errors {\n                        code\n                        message\n                    }\n                }}",
2805            mutationAddToCompareListQuery: "mutation addProductsToCompareList($uid: ID!, $products: [ID!]!) {addProductsToCompareList(input: {\n                uid: $uid,\n                products: $products\n            }) {\n                items {\n                    product {\n                        name\n                    }\n                }\n                item_count\n            }}",
2806
2807            sliderInitialization(event) {
2808                this[event.detail.key] = event.detail.value;
2809            },
2810
2811            getResultProductsCount() {
2812                const suggestions = this.sections.products;
2813                const totalCount = suggestions?.total_count ?? 0;
2814                const itemsCount = suggestions?.items?.length ?? 0;
2815
2816                return totalCount > 0 ? totalCount - itemsCount : 0;
2817            },
2818
2819            processProductName(value) {
2820                if (value.items) {
2821                    value.items = value.items.map(item => {
2822                        item.name = this.addHighlight(item, 'name');
2823                        item.sku = this.addHighlight(item, 'sku');
2824                        item.name = this.truncateWithDots(item.name, this.productNameMaxLength, true);
2825
2826                        return item;
2827                    });
2828                }
2829                return value;
2830            },
2831
2832            addHighlight(product, key = 'name') {
2833                const name = product[key];
2834                const { latestQuery } = this;
2835                const queries = latestQuery.toLowerCase().split(" ");
2836
2837                let highlightedName = name;
2838
2839                for (const query of queries) {
2840                    const regex = new RegExp(`(?!<[^>]*)(${query})(?![^<]*>)`, "gi");
2841                    highlightedName = highlightedName.replace(regex, match => `<span class="amsearch-highlight">${match}</span>`);
2842                }
2843
2844                return highlightedName;
2845            },
2846
2847            truncateWithDots(str, maxLength, returnOriginal = false) {
2848                if (maxLength === '' || maxLength < 1) {
2849                    return returnOriginal ? str : "";
2850                }
2851
2852                let output = [];
2853                let tagBuffer = [];
2854                let count = 0;
2855                let inTag = false;
2856
2857                for (const char of str) {
2858                    if (char === "<") {
2859                        inTag = true;
2860                    }
2861
2862                    if (inTag) {
2863                        tagBuffer.push(char);
2864                    } else {
2865                        count++;
2866                    }
2867
2868                    if (char === ">") {
2869                        inTag = false;
2870                        output.push(tagBuffer.join(""));
2871                        tagBuffer = [];
2872                    } else if (!inTag) {
2873                        output.push(char);
2874                    }
2875
2876                    if (count >= maxLength) {
2877                        break;
2878                    }
2879                }
2880
2881                if (count >= maxLength) {
2882                    output.push("...");
2883                }
2884
2885                // Close any unclosed tags
2886                while (tagBuffer.length > 0) {
2887                    const closingTagPos = str.indexOf(">", str.indexOf(tagBuffer.join("")) + tagBuffer.length);
2888                    if (closingTagPos !== -1) {
2889                        output.push(str.slice(str.indexOf(tagBuffer.join("")) + tagBuffer.length, closingTagPos + 1));
2890                        tagBuffer = [];
2891                    } else {
2892                        break;
2893                    }
2894                }
2895
2896                return output.join("");
2897            },
2898
2899            getProductUrl(product) {
2900                return window.BASE_URL + product.url_key + (product.url_suffix || '');
2901            },
2902
2903            getProductImageUrl(product) {
2904                const imageUrl = product.image.url;
2905                let mediaURL = this.config.customMediaUrl || imageUrl;
2906
2907                if (mediaURL.includes('/media') && imageUrl.startsWith('media/')) {
2908                    mediaURL = mediaURL.replace('/media', '');
2909                }
2910
2911                return (imageUrl.includes('://') ? '' : mediaURL) + imageUrl;
2912            },
2913
2914            /**
2915             * @param Product {id: string}
2916             */
2917            addToWishlist({id}) {
2918                postFormRequest('wishlist/index/add/', id).then(response => {
2919                    if (response.redirected) {
2920                        window.location.href = response.url;
2921                    } else if (response.ok) {
2922                        return response.json();
2923                    } else {
2924                        typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
2925                            [{
2926                                type: "warning",
2927                                text: "Impossibile aggiungere l&#039;articolo alla lista desideri."
2928                            }], 5000
2929                        );
2930                    }
2931                }).then(response => {
2932                    if (!response) { return }
2933                    typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
2934                        [{
2935                            type: response.success ? "success" : "error",
2936                            text: response.success
2937                                ? "Prodotto has been added to your Wish List." : response.error_message
2938                        }], 5000
2939                    );
2940                    window.dispatchEvent(new CustomEvent("reload-customer-section-data"));
2941                }).catch(function (error) {
2942                    typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
2943                        [{
2944                            type: "error",
2945                            text: error
2946                        }], 5000
2947                    );
2948                });
2949            },
2950
2951            /**
2952             * @param Product {id: string}
2953             */
2954            addToCompare({id}) {
2955                postFormRequest('catalog/product_compare/add', id)
2956                    .then(response => {
2957                        if (response.redirected) {
2958                            window.location.href = response.url;
2959                        }
2960                        this.isLoading = false;
2961                    }).catch(error => {
2962                        this.isLoading = false;
2963                        typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
2964                            [{
2965                                type: "error",
2966                                text: error
2967                            }], 5000
2968                        );
2969                    });
2970            },
2971
2972            /**
2973             *
2974             * @param product
2975             */
2976            getRating(product) {
2977                const { rating_summary } = product;
2978                product.ratingData = {
2979                    ratingSteps: 5,
2980                    starsFilled: Math.floor(+rating_summary / 100 * 5),
2981                    starFragment: rating_summary / 100 * 5 % 1,
2982                    starsEmpty: Math.floor(5 - (+rating_summary / 100 * 5)),
2983                    yellowHex: '#f6e05e',
2984                    greyHex: '#cbd5e0'
2985                };
2986                return product;
2987            },
2988
2989
2990            /**
2991             * Compatibility function for Amasty_AjaxCart module
2992             *
2993             * @param id
2994             * @param $event
2995             */
2996            addToCart({id}, $event) {
2997                                this.isLoading = true;
2998
2999                const action = 'https://www.naturelab.it/checkout/cart/add/';
3000                const data = { product: id, qty: 1 };
3001
3002                hyva.postForm({ action, data });
3003                            }
3004        }
3005    }
3006</script>
vendor: 1 bytes, line 3006
3006
3007<script>
3008    'use strict';
3009
3010    (()=> {
3011        const browserCache = {
3012            set(key, value) {
3013                const now = new Date();
3014                const item = {
3015                    value: value,
3016                    expiry: now.getTime() + 5 * 60 * 1000, // 5 minutes from now
3017                };
3018                localStorage.setItem(key, JSON.stringify(item));
3019            },
3020            get(key) {
3021                const itemStr = localStorage.getItem(key);
3022                if (!itemStr) {
3023                    return null;
3024                }
3025                const item = JSON.parse(itemStr);
3026                const now = new Date();
3027                if (now.getTime() > item.expiry) {
3028                    localStorage.removeItem(key);
3029                    return null;
3030                }
3031                return item.value;
3032            }
3033        };
3034
3035        window._amXSearchConfigFetcher = null;
3036
3037        window.amXsearchAutocompleteComponent = () => {
3038            const INITIAL_QUERY_CACHE_KEY = 'x.InitialQuery';
3039            const CONFIG_QUERY_CACHE_KEY = 'x.ConfigQuery';
3040            const PREV_QUERY_CACHE_KEY = 'x.PrevQuery';
3041            // TODO: Possible it will needs to change after the configurations are added to Admin
3042            const HEADER_TYPE = 'a';
3043
3044            const cache = {};
3045            const dataSections = {
3046                products: false,
3047                category: false,
3048                page: false,
3049                faq: false,
3050                landingPage: false,
3051                browsingHistory: false,
3052                popularSearches: false,
3053                bestsellers: false,
3054                recentSearches: false,
3055                recentlyViewed: false,
3056                brand: false,
3057                blog: false
3058            };
3059
3060            return {
3061                isLoading: false,
3062                searchInitialized: false,
3063                latestQuery: '',
3064                productNameMaxLength: 50,
3065                resultPageUrl: 'https://www.naturelab.it/ricerca/',
3066                minSearchLength: 3,
3067                maxSearchLength: 128,
3068                isDefaultSearchInput: true,
3069                isFullWidthSearch: false,
3070                searchPopupWidth: 900,
3071                showOverlay: false,
3072                config: {},
3073                slider: {
3074                    bestsellers: false,
3075                    recentlyViewed: false
3076                },
3077                isHorizontalView: true,
3078                noResultsFound: false,
3079                errorMessage: null,
3080                // sections
3081                sections: Object.create(dataSections),
3082
3083                isHyvaUiHeader() {
3084                  return HEADER_TYPE.length && HEADER_TYPE !== 'default';
3085                },
3086
3087                checkHyvaUiHeaderVariant(needle) {
3088                    return this.isHyvaUiHeader() && needle === HEADER_TYPE;
3089                },
3090
3091                dynamicLayout($el) {
3092                    const matchMedia = window.matchMedia('(max-width: 768px)');
3093                    const isHorizontalViewPopupWidth = this.searchPopupWidth < 700 && !this.isDefaultSearchInput && !this.isFullWidthSearch;
3094
3095                    this.isHorizontalView = !matchMedia.matches ? isHorizontalViewPopupWidth  : true;
3096                    matchMedia.addEventListener('change', event => {
3097                        this.isHorizontalView = !matchMedia.matches ? isHorizontalViewPopupWidth : true;
3098                    })
3099
3100                    if (!window._amXSearchConfigFetcher) {
3101                        window._amXSearchConfigFetcher = new Promise(async resolve => {
3102                            const cachedData = browserCache.get(CONFIG_QUERY_CACHE_KEY);
3103
3104                            if (cachedData) {
3105                                return resolve(cachedData);
3106                            }
3107
3108                            const query = `query {config: storeConfig {
3109            isProductReviewsBlockEnabled: amasty_xsearch_product_reviews
3110            isProductAddToCartBlockEnabled: amasty_xsearch_product_add_to_cart
3111            isRedirectToSingleProductEnabled: amasty_xsearch_product_redirect_single_product
3112            isFullScreenMode: amasty_xsearch_general_full_screen
3113            isGridView: amasty_xsearch_product_popup_display
3114            isShowSku: amasty_xsearch_product_show_sku
3115            shortDescriptionLength: amasty_xsearch_product_desc_length
3116
3117            customMediaUrl: secure_base_media_url
3118
3119            amasty_xsearch_products_title: amasty_xsearch_product_title
3120            amasty_xsearch_popularSearches_title: amasty_xsearch_popular_searches_title
3121            amasty_xsearch_browsingHistory_title: amasty_xsearch_browsing_history_title
3122            amasty_xsearch_recentSearches_title: amasty_xsearch_recent_searches_title
3123            amasty_xsearch_recentlyViewed_title: amasty_xsearch_recently_viewed_title
3124            amasty_xsearch_landingPage_title: amasty_xsearch_landing_page_title
3125            amasty_xsearch_bestsellers_position
3126
3127            amasty_xsearch_faq_title
3128            amasty_xsearch_brand_title
3129            amasty_xsearch_blog_title
3130            amasty_xsearch_category_title
3131            amasty_xsearch_bestsellers_title
3132            amasty_xsearch_page_title
3133
3134            amasty_xsearch_popularSearches_first_click: amasty_xsearch_popular_searches_first_click
3135            amasty_xsearch_browsingHistory_first_click: amasty_xsearch_browsing_history_first_click
3136            amasty_xsearch_recentSearches_first_click: amasty_xsearch_recent_searches_first_click
3137
3138            amasty_xsearch_layout_enabled
3139            amasty_xsearch_layout_border
3140            amasty_xsearch_layout_hover
3141            amasty_xsearch_layout_highlight
3142            amasty_xsearch_layout_background
3143            amasty_xsearch_layout_text
3144            amasty_xsearch_layout_hover_text
3145            amasty_xsearch_layout_search_button
3146            amasty_xsearch_layout_search_button_text
3147        }}`;
3148                            const response = await this.fetch(query, {}, CONFIG_QUERY_CACHE_KEY);
3149                            if (response.errors && response.errors.length > 0) {
3150                                console.error(response.errors);
3151                            }
3152
3153                            browserCache.set(CONFIG_QUERY_CACHE_KEY, response);
3154                            resolve(response);
3155                        });
3156                    }
3157
3158                    _amXSearchConfigFetcher.then(response => {
3159                        if (!response?.data?.config) {
3160                            return;
3161                        }
3162
3163                        this.config = response.data.config;
3164                        this.processCustomLayoutStyles($el);
3165                    });
3166
3167                    if (typeof this.searchOpen !== "undefined") {
3168                        this.$watch('searchOpen', val => {
3169                            if (!val) {
3170                                return;
3171                            }
3172
3173                            requestAnimationFrame(() => {
3174                                const searchInput = document.querySelector('#search');
3175                                searchInput && searchInput.focus();
3176                            });
3177                        });
3178                    }
3179
3180                    if (typeof this.showOverlay !== "undefined") {
3181                        this.$watch('showOverlay', val => {
3182                            if (!val) {
3183                                return;
3184                            }
3185
3186                            this.applyHyvaUiHeaderConfig()
3187                        });
3188                    }
3189
3190                                            this.applyHeaderTypeToContainers();
3191                                    },
3192
3193                isSidebarSectionsDisabled() {
3194                    if (!this.isHorizontalView) {
3195                        return !Object.entries(this.sections).some(([key, value]) =>
3196                            key !== 'products' && key !== 'bestsellers' && key !== 'recentlyViewed' && value.total_count > 0
3197                        );
3198                    }
3199                },
3200
3201                showSideBar() {
3202                    const recentlyViewed = this.sections?.recentlyViewed;
3203                    return this.latestQuery.length >= 3
3204                        || (recentlyViewed && recentlyViewed?.items?.length);
3205                },
3206
3207
3208                showOnFirstClick(blockName) {
3209                    const sectionsToCheck = [
3210                        'popularSearches',
3211                        'browsingHistory',
3212                        'recentSearches'
3213                    ];
3214
3215                    if (!sectionsToCheck.includes(blockName)) {
3216                        return false;
3217                    }
3218
3219                    return this.latestQuery.length < this.minSearchLength
3220                        && this.config[`amasty_xsearch_${blockName}_first_click`]
3221                        && this.sections[blockName]?.items?.length;
3222                },
3223
3224                processCustomLayoutStyles() {
3225                    const conf = key => this.config[`amasty_xsearch_layout_${key}`];
3226
3227                    if (!conf("enabled")) {
3228                        return "";
3229                    }
3230
3231                    const styles = [
3232                        "border",
3233                        "hover",
3234                        "highlight",
3235                        "background",
3236                        "text",
3237                        "hover_text",
3238                        'search_button',
3239                        'search_button_text'
3240                    ];
3241
3242                    const cachedConf = styles.reduce((acc, key) => {
3243                        acc[key] = conf(key);
3244                        return acc;
3245                    }, {});
3246
3247                    const getDarken = (color, amount) => {
3248                        const hex = parseInt(color.slice(1), 16);
3249                        const r = Math.min(255, Math.max(0, ((hex >> 16) & 0xff) + amount));
3250                        const g = Math.min(255, Math.max(0, ((hex >> 8) & 0xff) + amount));
3251                        const b = Math.min(255, Math.max(0, (hex & 0xff) + amount));
3252
3253                        return `#${((r << 16) | (g << 8) | b).toString(16).padStart(6, "0")}`;
3254                    };
3255
3256                    const prefix = "--amsearch-color-";
3257                    styles.forEach((key) => {
3258                        const color = cachedConf[key];
3259
3260                        document.body.style.setProperty(prefix + key, `#${color}`);
3261                        document.body.style.setProperty(`${prefix + key}-focus`, getDarken(`#${color}`, -12));
3262                        document.body.style.setProperty(`${prefix + key}-hover`, getDarken(`#${color}`, -16));
3263                    });
3264                },
3265
3266                canShowSection(sectionData) {
3267                    return sectionData && sectionData.items && sectionData.items.length > 0;
3268                },
3269
3270                initialSectionLoad() {
3271                    const req = this.fetch(`query xSearchQuery {
3272recentlyViewed: xsearchRecentlyViewed {
3273            items {
3274                image {
3275                    label
3276                    url
3277                }
3278                id
3279                is_salable
3280                short_description {
3281                    html
3282                }
3283                name
3284                options_container
3285                rating_summary
3286                reviews_count
3287                sku
3288                url_key
3289                url_suffix
3290                price_range {
3291                    minimum_price {
3292                        regular_price {
3293                            value
3294                            currency
3295                        }
3296                        final_price {
3297                            value
3298                            currency
3299                        }
3300                    }
3301                     maximum_price {
3302                        regular_price {
3303                            value
3304                            currency
3305                        }
3306                        final_price {
3307                            value
3308                            currency
3309                        }
3310                    }
3311                }
3312            }
3313        }
3314
3315popularSearches: xsearchPopularSearches {
3316                    code
3317                    items {
3318                      name
3319                      num_results
3320                      url
3321                    }
3322                    total_count
3323                  }
3324recentSearches: xsearchRecentSearches {
3325                    code
3326                    items {
3327                      name
3328                      num_results
3329                      url
3330                    }
3331                    total_count
3332                  }
3333
3334}`, {}, INITIAL_QUERY_CACHE_KEY);
3335                    req.then(response => {
3336                        if (response.errors && response.errors.length > 0) {
3337                            console.error(response.errors);
3338                        }
3339
3340                        this.searchInitialized = true;
3341                        this.processResponse(response);
3342                    });
3343                },
3344
3345                encodeHtml(html) {
3346                    const txt = document.createElement('textarea');
3347                    txt.textContent = html;
3348                    return txt.innerHTML;
3349                },
3350
3351                sanitize(value) {
3352                    if (typeof DOMPurify === 'function') {
3353                        return DOMPurify.sanitize(value)
3354                    } else {
3355                        return this.encodeHtml(value)
3356                    }
3357                },
3358
3359                doSearch() {
3360                    const { searchInput } = this.$refs;
3361                    const { latestQuery, minSearchLength } = this;
3362                    const inputText = this.sanitize(searchInput.value);
3363
3364                    if (inputText !== latestQuery && cache[PREV_QUERY_CACHE_KEY]) {
3365                        delete cache[PREV_QUERY_CACHE_KEY];
3366                    }
3367
3368                    this.latestQuery = this.sanitize(searchInput.value);
3369
3370                    if (inputText.length < minSearchLength) {
3371                        this.initialSectionLoad();
3372                        return;
3373                    }
3374
3375                    this.noResultsFound = null;
3376                    this.errorMessage = null;
3377
3378                    const query = `query xSearchQuery($inputText: String!) {products: xsearchProducts(search: $inputText) {
3379                code
3380                items {
3381                  __typename
3382                  image {
3383                    label
3384                    url
3385                  }
3386                  
3387                  id
3388                  is_salable
3389                  short_description {
3390                    html
3391                  }
3392                  name
3393                  rating_summary
3394                  reviews_count
3395                  sku
3396                  url_key
3397                  url_suffix
3398                  
3399                  price_range {
3400                    minimum_price {
3401                        regular_price {
3402                            value
3403                            currency
3404                        }
3405                        final_price {
3406                            value
3407                            currency
3408                        }
3409                    }
3410                    maximum_price {
3411                        regular_price {
3412                            value
3413                            currency
3414                        }
3415                        final_price {
3416                            value
3417                            currency
3418                        }
3419                    }
3420                 }
3421                }
3422                total_count
3423              }
3424
3425
3426
3427recentSearches: xsearchRecentSearches {
3428                    code
3429                    items {
3430                      name
3431                      num_results
3432                      url
3433                    }
3434                    total_count
3435                  }
3436popularSearches: xsearchPopularSearches {
3437                    code
3438                    items {
3439                      name
3440                      num_results
3441                      url
3442                    }
3443                    total_count
3444                  }
3445
3446
3447terms: xsearchRelatedTerms(search: $inputText) {
3448                    items {
3449                      count
3450                      name
3451                    }
3452                  }
3453
3454}`;
3455                    const req = this.fetch(query, { inputText }, PREV_QUERY_CACHE_KEY);
3456
3457                    req.then(response => {
3458                        if (response.errors && response.errors.length > 0) {
3459                            this.errorMessage = response.errors[0].message;
3460                            console.error(this.errorMessage);
3461                        }
3462
3463                        this.searchInitialized = true;
3464                        this.processResponse(response);
3465                    });
3466                },
3467
3468                fetch(query, variables = {}, cacheKey = null, useLoading = true) {
3469                    if (cacheKey && cache[cacheKey]) {
3470                        return Promise.resolve(cache[cacheKey]);
3471                    }
3472
3473                    if (useLoading) {
3474                        this.isLoading = true;
3475                    }
3476
3477                    const req = fetch(`${BASE_URL}graphql`, {
3478                        method: 'POST',
3479                        headers: {
3480                            'Content-Type': 'application/json',
3481                            'Store': 'default'
3482                        },
3483                        credentials: 'include',
3484                        body: JSON.stringify({query, variables}),
3485                    });
3486
3487                    req.catch(reason => console.error(reason));
3488
3489                    return req.then(response => {
3490                        if (!response.ok) {
3491                            throw new Error(`HTTP error: ${response.status}`);
3492                        }
3493
3494                        const body = response.json();
3495                        if (cacheKey) {
3496                            cache[cacheKey] = body;
3497                        }
3498
3499                        return body;
3500                    });
3501                },
3502
3503                checkSearchInput() {
3504                    if (this.$refs.searchInput.value === '') {
3505                        this.clear();
3506                    }
3507                },
3508
3509                redirect() {
3510                    this.isLoading = true;
3511                    const { searchInput } = this.$refs;
3512                    const inputText = this.sanitize(searchInput.value);
3513
3514                    const products = this.sections.products;
3515                    if (products && products.items.length === 1 && this.config.isRedirectToSingleProductEnabled) {
3516                        location.href = this.getProductUrl(products.items[0]);
3517                        return;
3518                    }
3519
3520                    const url = 'https://www.naturelab.it/ricerca/';
3521                    location.href = url + inputText;
3522                },
3523
3524                focusElement(element) {
3525                    if (element && element.nodeName === "DIV") {
3526                        element.focus();
3527                        return true;
3528                    }
3529                    return false;
3530                },
3531
3532                processResponse(response) {
3533                    this.updateSections(response.data);
3534                },
3535
3536                clear() {
3537                    const initialQueryCache = cache[INITIAL_QUERY_CACHE_KEY];
3538                    if (!initialQueryCache) {
3539                        return;
3540                    }
3541
3542                    initialQueryCache.then(result => {
3543                        this.updateSections(result.data ?? {});
3544                    });
3545                },
3546
3547                closeSearch() {
3548                    if (this.searchOpen) {
3549                        this.searchOpen = false;
3550                    }
3551
3552                    this.$nextTick(() => {
3553                        this.showOverlay = false;
3554                        this.searchInitialized = false;
3555                    })
3556
3557                    if (this.checkHyvaUiHeaderVariant('c')) {
3558                        this.$refs.searchContainerDesktop.classList.remove(HEADER_TYPE + '-header-type');
3559                    }
3560                },
3561
3562                processItemsWithRating(value) {
3563                    if (value.items) {
3564                        value.items = value.items.map(this.getRating.bind(this));
3565                    }
3566                    return value;
3567                },
3568
3569                processSection(key, value) {
3570                    if (!value) {
3571                        return value;
3572                    }
3573
3574                    let processedValue;
3575
3576                    switch (key) {
3577                        case 'recentlyViewed':
3578                        case 'bestsellers':
3579                            processedValue = this.processItemsWithRating(value);
3580                            if (processedValue.items) {
3581                                processedValue.items = (processedValue.items || []).map(item => {
3582                                    item.isSliderItem = true;
3583                                    return item;
3584                                });
3585                            }
3586                            break;
3587                        case 'products':
3588                            processedValue = this.processItemsWithRating(value);
3589                            processedValue = this.processProductName(processedValue);
3590                            break;
3591                        default:
3592                            processedValue = value;
3593                    }
3594
3595                    processedValue.title = this.config[`amasty_xsearch_${key}_title`];
3596                    return processedValue;
3597                },
3598
3599                updateSections(rows) {
3600                    if (!this.showOverlay) {
3601                        this.showOverlay = true;
3602                    }
3603
3604                    this.isLoading = false;
3605
3606                    this.noResultsFound = !rows.products?.total_count && this.latestQuery.length >= this.minSearchLength;
3607                    if (!this.noResultsFound) {
3608                        this.errorMessage = null;
3609                    }
3610
3611                    for (const key in dataSections) {
3612                        const data = rows[key];
3613                        this.sections[key] = data?.items?.length > 0
3614                            ? this.processSection(key, data)
3615                            : {items: [], total_count: 0};
3616                    }
3617
3618                    if (this.latestQuery.length >= this.minSearchLength) {
3619                        return;
3620                    }
3621
3622                    for (const key in this.slider) {
3623                        const items = rows[key]?.items;
3624
3625                        if (rows.hasOwnProperty(key) && items?.length && !this.slider[key]) {
3626                            this.slider[key] = this.amXsearchCarouselComponent(key, items.length);
3627                        }
3628                    }
3629                }
3630            }
3631        }
3632    })();
3633</script>
vendor: 1 bytes, line 3633
3633
3634<script>
3635    'use strict';
3636
3637    /**
3638     * Carousel component for xsearch
3639     *
3640     * @param key
3641     * @param itemCount
3642     * @returns Object
3643     */
3644    function amXsearchCarouselComponent(key, itemCount) {
3645        return {
3646            itemCount,
3647            pageSize: 4,
3648            active: 0,
3649            slider: null,
3650            pageFillers: 0,
3651            sliderEl: false,
3652            smallWindowItemWidth: false,
3653            init($refs) {
3654                const sliderEl = $refs[`${key}Container`];
3655                if (!sliderEl || itemCount === 0) {
3656                    return this;
3657                }
3658
3659                if (sliderEl) {
3660                    if (!this.isDefaultSearchInput && !this.isFullWidthSearch) {
3661                        if (this.searchPopupWidth <= 900) {
3662                            this.smallWindowItemWidth = sliderEl.clientWidth / 3;
3663                        }
3664                        if (this.searchPopupWidth <= 700) {
3665                            this.smallWindowItemWidth = sliderEl.clientWidth / 2;
3666                        }
3667                        if (this.searchPopupWidth <= 500) {
3668                            this.smallWindowItemWidth = sliderEl.clientWidth - 30;
3669                        }
3670                    }
3671                }
3672
3673                this.sliderEl = sliderEl;
3674                this.recalculate();
3675            },
3676            getSlider() {
3677                return this.sliderEl.querySelector('.carousel-slides');
3678            },
3679            calcPageSize() {
3680                const slider = this.getSlider();
3681                if (!slider) {
3682                    return this;
3683                }
3684
3685                const slides = slider.querySelectorAll('.carousel-slide');
3686                if (this.smallWindowItemWidth) {
3687                    slides.forEach(slide => {
3688                        slide.style.width = `${this.smallWindowItemWidth}px`;
3689                    });
3690                }
3691
3692                const firstSlide = slides[0];
3693
3694                this.itemCount = slides.length;
3695                this.pageSize = Math.round(slider.clientWidth / firstSlide.clientWidth);
3696
3697                this.pageFillers = this.pageSize * Math.ceil(this.itemCount / this.pageSize) - this.itemCount;
3698            },
3699            calcActive() {
3700                const slider = this.getSlider();
3701                if (!slider) {
3702                    return this;
3703                }
3704
3705                const sliderItems = Math.round(this.itemCount) + Math.round(this.pageFillers);
3706                const calculatedActiveSlide = Math.round(
3707                        Math.round(slider.scrollLeft) / (Math.round(slider.scrollWidth) / sliderItems)
3708                );
3709
3710                this.active = Math.round(calculatedActiveSlide / Math.round(this.pageSize)) * Math.round(this.pageSize);
3711            },
3712            prev() {
3713                this.scrollTo(this.active - this.pageSize);
3714            },
3715            next() {
3716                this.scrollTo(this.active + this.pageSize);
3717            },
3718            scrollTo(index) {
3719                const slider = this.getSlider();
3720                if (!slider) {
3721                    return this;
3722                }
3723
3724                const slideWidth = slider.scrollWidth / (this.itemCount + this.pageFillers);
3725                slider.scrollLeft = Math.floor(slideWidth) * index;
3726
3727                this.calcActive();
3728            },
3729
3730            isActive(index) {
3731                return index === this.active;
3732            },
3733
3734            recalculate() {
3735                this.calcPageSize();
3736                setTimeout(() => this.calcActive(), 100);
3737            },
3738            onResize() {
3739                this.calcPageSize();
3740                setTimeout(() => this.calcActive(), 100);
3741            }
3742        };
3743    }
3744</script>
3744
3745
3746    
3746<script>
3747    'use strict';
3748
3749    function amXsearchAutocompleteHyvaUIHeaderCompat() {
3750        const HEADER_TYPE = 'a';
3751
3752        return {
3753            applyHyvaUiHeaderConfig() {
3754                const searchContent = document.getElementById('search-content');
3755
3756                if (this.isFullWidthSearch) {
3757                    if (!this.isHorizontalView) {
3758                        if (this.checkHyvaUiHeaderVariant('b')) {
3759                            searchContent.style = 'max-width:none';
3760                            searchContent.parentNode.style = 'padding-right:0; padding-left:0;';
3761                        }
3762
3763                        if (this.checkHyvaUiHeaderVariant('c')) {
3764                            this.$refs.searchContainerDesktop.classList.add(HEADER_TYPE + '-header-type');
3765                            this.$refs.searchForm.style = 'padding-right:0; padding-left:0;';
3766                        }
3767                    }
3768
3769                    if (this.checkHyvaUiHeaderVariant('a')) {
3770                        searchContent.style = 'max-width: none';
3771                    }
3772                }
3773            },
3774
3775            applyHeaderTypeToContainers() {
3776                const searchHeader = document.getElementById('header');
3777                const columnMain = document.querySelector('.column.main');
3778                const searchContent = document.getElementById('search-content');
3779                const headerTypeClass = HEADER_TYPE + '-header-type';
3780
3781                 if (searchHeader || columnMain) {
3782                    searchHeader.classList.add(headerTypeClass);
3783                    columnMain.classList.add(headerTypeClass);
3784                }
3785
3786                if (this.checkHyvaUiHeaderVariant('a')) {
3787                    searchContent.className = 'container';
3788                }
3789            }
3790        }
3791    }
3792</script>
3792
3793
3794<div :class="{
3795            'container': !config.isFullScreenMode,
3796            'relative py-2 mx-auto text-black z-20': true,
3797            'max-w-none px-0': isHyvaUiHeader() && isFullWidthSearch,
3798            'px-0': isHyvaUiHeader() && isHorizontalView
3799     }"
3800     x-data="Object.assign(
3801        {amXsearchCarouselComponent},
3802         amXsearchProductsComponent(),
3803         amXsearchAutocompleteComponent(),
3804                     amXsearchAutocompleteHyvaUIHeaderCompat(),
3805              )"
3806     x-init="dynamicLayout($el)">
3807
3808    <div
3809    class="z-50 fixed inset-0 flex justify-center items-center bg-white/70 select-none"
3810    x-show="isLoading"
3811    x-cloak
3812    x-transition.opacity.duration.200ms
3813>
3814    <div class="flex text-primary items-center">
3815        <svg height="40" width="40" viewBox="0 0 24 24" stroke="currentColor" fill="none" stroke-width="2" stroke-linecap="round" class="animate-spin" aria-hidden="true">
3816    <circle style="opacity: .3;" cx="12" cy="12" r="10"/>
3817    <path fill="none" stroke-width="2" d="M12,2 a10,10 0 0,1 10,10"/>
3818</svg>
3819    </div>
3820</div>
3821
3822    <div x-show="showOverlay"
3823         class="fixed inset-0 bg-black bg-opacity-50 z-20 w-full h-full top-0 left-0 right-0 bottom-0"
3824         @click.prevent="closeSearch()"
3825         @keydown.window.escape="closeSearch()"></div>
3826
3827    <div class="form mini-search z-20 relative p-3 bg-white"
3828         :class="{
3829         'right-0': !isHyvaUiHeader(),
3830         'md:flex md:justify-center': checkHyvaUiHeaderVariant('c') && !isDefaultSearchInput && !isFullWidthSearch
3831         }"
3832    >
3833        <form id="search_mini_form" @submit.prevent="redirect()"
3834              action="https://www.naturelab.it/ricerca/"
3835              :class="{
3836              'w-full absolute right-0': checkHyvaUiHeaderVariant('a') && !isDefaultSearchInput && !isFullWidthSearch,
3837              'justify-end': !checkHyvaUiHeaderVariant('c')
3838              }"
3839              class="flex" method="GET">
3840            <label class="hidden" for="search" data-role="mini-search-label">
3841                <span>Cerca</span>
3842            </label>
3843            <div class="w-full flex align-center justify-center"
3844                 :style="`max-width: ${!isDefaultSearchInput && !isFullWidthSearch ? searchPopupWidth + 'px' : '100%'}`">
3845                <input id="search"
3846                       x-ref="searchInput"
3847                       maxlength="128"
3848                       form="search_mini_form"
3849                       type="search"
3850                       name="q"
3851                       value=""
3852                       autocomplete="off"
3853                       placeholder="Cerca&#x20;in&#x20;NatureLab..."
3854                       class="p-2 text-lg leading-normal transition appearance-none text-grey-800 relative z-20
3855                    focus:outline-none focus:border-transparent lg:text-xl flex-am-search-sidebar rounded border-gray-300 custom-ring-input"           
3856                       @focus="doSearch()"
3857                       @search="checkSearchInput()"
3858                       @input.debounce.500="doSearch()"
3859                                            x-intersect:enter.once="applyHyvaUiHeaderConfig()"
3860                                           @keydown.arrow-down.prevent="focusElement($el.querySelector('[tabindex]'))"/>
3861                            </div>
3862        </form>
3863        <template x-if="searchInitialized">
3864            <div
3865                class="overflow-x-hidden w-full -right-position -bottom-position top-8 bg-white shadow-lg max-h-screen-75 overflow-y-auto text-sm amsearch-container"
3866                :class="{
3867                    'absolute': !config.isFullScreenMode || isHyvaUiHeader(),
3868                    'rounded-br rounded-bl': isHyvaUiHeader(),
3869                    'right-0': !checkHyvaUiHeaderVariant('c'),
3870                    'top-12': checkHyvaUiHeaderVariant('c') && !isHorizontalView,
3871                    'top-14': checkHyvaUiHeaderVariant('a') && isHorizontalView
3872                }"
3873                tabindex="-1"
3874                x-cloak
3875                :style="`${!isDefaultSearchInput && !isFullWidthSearch ? 'max-width:' + searchPopupWidth + 'px' : ''}; ${!isHorizontalView && checkHyvaUiHeaderVariant('a') ? 'top: 44px;
3875 margin-top: 1px;' : ''}`"
3876                x-show="!isLoading && showOverlay">
3877                <div
3878                    class="flex w-full content-start flex-wrap box-border relative"
3879                    :class="{
3880                            'flex-col': isHorizontalView,
3881                            'flex-col md:flex-row': !isHorizontalView,
3882                         }">
3883                         <div class="relative"
3884                         :class="{
3885                            'am-search-content p-2 pt-0 lg:pt-6': latestQuery.length >= minSearchLength || (
3886                                showOnFirstClick('recentSearches') || showOnFirstClick('popularSearches') || showOnFirstClick('browsingHistory')
3887                            ),
3888                            'w-full': latestQuery.length < minSearchLength && (
3889                                !showOnFirstClick('recentSearches') && !showOnFirstClick('popularSearches') && !showOnFirstClick('browsingHistory')
3890                            ),
3891                            'am-search-horizontal-view': isHorizontalView,
3892                            'p-2 pt-0 lg:pt-6': slider.recentlyViewed || slider.bestsellers,
3893                            'am-search-sidebar-disabled': isSidebarSectionsDisabled(),
3894                         }">
3895                        <div class="flex flex-nowrap flex-col" x-show="latestQuery.length < minSearchLength" x-cloak>
3896                            
3897                                                    </div>
3898
3899                        <template x-if="!noResultsFound && !isHorizontalView && latestQuery.length >= minSearchLength">
3900                            <div class="w-full">
3901    <div class="flex row justify-between w-full mb-2 pb-4 p-2 items-center">
3902        <h3 class="text-sm font-medium tracking-wider uppercase text-natlabGreenOpac">
3903           <span x-text="sections.products.title"></span> (<span x-text="sections.products.total_count"></span>)
3904        </h3>
3905
3906        <div x-show="getResultProductsCount() >= 1">
3907            <a :href="resultPageUrl + latestQuery" class="text-sm text-natlabGreen hover:natlabBlue">
3908                Mostra tutti <span x-show="getResultProductsCount() > 0">(+<span x-text="getResultProductsCount()"></span>)</span>
3909            </a>
3910        </div>
3911    </div>
3912
3913    <div class="relative grid grid-cols-1 md:grid-cols-2 w-full">
3914        <template x-for="(product, index) in (sections.products.items || [])" :key="index">
3915            
3916<div class="card pb-4 item product product-item flex flex-col md:flex-row mb-4 mx-2">
3917
3918    <a :href="getProductUrl(product)"
3919       class="product photo product-item-photo block mx-auto md:w-2/6 md:mr-5"
3920       tabindex="-1"
3921    >
3922        <img style="min-width: 200px;" class="object-contain product-image-photo mb-3"
3923             :src="getProductImageUrl(product)"
3924             :alt="product.image.label"
3925             width="200"
3926        />
3927    </a>
3928    <div class="product-info flex flex-col grow">
3929        <div class="items-center justify-center text-center md:text-left">
3930            <a class="product-item-link action link"
3931               :href="getProductUrl(product)"
3932            >
3933                <span x-html="product.name" class="amsearch-product-name"></span>
3934            </a>
3935            
3936        </div>
3937        <template x-if="config.isProductReviewsBlockEnabled">
3938            <div class="py-1"
3939     :class="{'mx-0 w-full': config.isGridView, 'mx-auto': !config.isGridView}">
3940    <div class="rating-summary cursor-pointer text-center inline-block"
3941         :class="{'flex items-center': config.isGridView && !product.isSliderItem}"
3942         :title="product.rating_summary === 0 ? 'Sii&#x20;il&#x20;primo&#x20;a&#x20;recensire&#x20;questo&#x20;prodotto' : ''">
3943        <div class="flex">
3944            <template x-for="starFilled in product.ratingData.starsFilled">
3945                <svg xmlns="http://www.w3.org/2000/svg" class="fill-current w-6 h-6" viewBox="3 0 20 20"
3946                     :style="`color: ${product.ratingData.yellowHex}`"
3947                     fill="currentColor">
3948                    <path
3949                        d="M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371
3950                        1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54
3951                        1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1
3952                        1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z"/>
3952
3953                </svg>
3954            </template>
3955            <template x-if="product.ratingData.starFragment > 0">
3956                <svg xmlns="http://www.w3.org/2000/svg" viewBox="3 0 20 20" fill="currentColor" class="w-6 h-6">
3957                    <defs>
3958                        <linearGradient :id="'partialFill' + product.id">
3959                            <stop offset="0%" :stop-color="product.ratingData.yellowHex"/>
3960                            <stop :offset="product.ratingData.starFragment * 100 + '%'" :stop-color="product.ratingData.yellowHex"/>
3961                            <stop :offset="product.ratingData.starFragment * 100 + '%'" :stop-color="product.ratingData.greyHex"/>
3962                            <stop offset="100%" :stop-color="product.ratingData.greyHex"/>
3963                        </linearGradient>
3964                    </defs>
3965                    <g :fill="'url(#partialFill' + product.id + ')'">
3966                        <path
3967                            d="M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969
3968                        0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54
3969                        1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1
3970                        0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z"/>
3971                    </g>
3972                </svg>
3973            </template>
3974            <template x-for="starEmpty in product.ratingData.starsEmpty">
3975                <svg xmlns="http://www.w3.org/2000/svg"
3976                     class="fill-current w-6 h-6"
3977                     :style="`color: ${product.ratingData.greyHex}`"
3978                     viewBox="3 0 20 20"
3979                     fill="currentColor">
3980                    <path
3981                        d="M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0
3982                        1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54
3983                        1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1
3984                        1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z"
3985                    />
3986                </svg>
3987            </template>
3988        </div>
3989
3990        <template x-if="product.rating_summary > 0">
3991            <a :href="`${getProductUrl(product)}`" class="inline-block reviews-link text-blue-500 hover:text-blue-800">
3992                <span class="ml-2 text-sm" x-html="product.reviews_count"></span>
3993                Recensioni            </a>
3994        </template>
3995    </div>
3996</div>
3997        </template>
3998        <!-- <div class="items-center justify-center text-primary text-base"
3999             :class="{'text-left': config.isGridView, 'text-center': !config.isGridView}"
4000             x-html="truncateWithDots(product.short_description.html, config.shortDescriptionLength)"
4001        ></div> -->
4002        <div class="items-center justify-center text-primary text-sm text-center md:text-left"
4003            x-data
4004            x-init="
4005                $nextTick(() => {
4006                    let descriptionElement = $el.querySelector('.product-description');
4007                    if (descriptionElement) {
4008                        let descriptionHtml = descriptionElement.innerHTML
4009                            .replace(/<h\d>/gi, '')
4010                            .replace(/<\/h\d>/gi, '<br>')
4011                        descriptionElement.innerHTML = descriptionHtml;
4012                    }
4013                });
4014            ">
4015            
4016            <div class="product-description"
4017                x-html="truncateWithDots(product.short_description.html, config.shortDescriptionLength)">
4018            </div>
4019        </div>
4020        <div class="md:flex md:items-center mx-auto md:mx-0 ">
4021            <div class="price-container text-center md:text-left">
4022                <div class="final-price">
4023                    <template x-if="product.price_range.minimum_price.final_price.value < product.price_range.maximum_price.final_price.value">
4024                        <span class="price-label">
4025                            A partire da                        </span>
4026                    </template>
4027
4028                    <span class="price-wrapper title-font font-medium text-2xl text-gray-900">
4029                        <span class="price" x-html="hyva.formatPrice(product.price_range.minimum_price.final_price.value)"></span>
4030                    </span>
4031
4032                    <template x-if="product.price_range.minimum_price.regular_price.value !== product.price_range.minimum_price.final_price.value">
4033                        <div class="old-price text-grey-900">
4034                            <span class="price-container">
4035                                <span class="price-label ">Prezzo normale: </span>
4036                                <span class="price-wrapper" x-html="hyva.formatPrice(product.price_range.minimum_price.regular_price.value)"></span>
4037                            </span>
4038                        </div>
4039                    </template>
4040                </div>
4041                            </div>
4042            <div class="pt-3 flex items-center mx-4">
4043                <template x-if="config.isProductAddToCartBlockEnabled && product.is_salable">
4044                    <button type="button"
4045                            x-on:click.prevent="addToCart(product, $event)"
4046                            class="btn btn-primary flex items-center justify-center text-sm"                       
4047                    >
4048                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="h-6 w-6 border-current inline ml-1" width="25" height="25" aria-hidden="true">
4049    <path fill="#ffffff" fill-rule="nonzero" d="M19 7a1 1 0 0 1 1 1v13a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V8a1 1 0 0 1 1-1l3.014.002A31.37 31.37 0 0 1 4 6a6 6 0 0 1 11.996-.225L16 6v1h3zM4 8.5H1.5V21a1.5 1.5 0 0 0 1.356 1.493L3 22.5h14a1.5 1.5 0 0 0 1.493-1.356L18.5 21V8.5H16V12h-1.5V8.5h-9V12H4V8.5zm6-7A4.5 4.5 0 0 0 5.5 6c0 .253.002.485.007.696L5.515 7H14.5V6a4.5 4.5 0 0 0-4.288-4.495L10 1.5z"/>
4050</svg>
4051                    <span class="mr-1 ml-2 hidden uppercase whitespace-nowrap lg:ml-2 lg:inline">
4052                                                    Acquista                                                </span>
4053                    </button>
4054
4055                </template>
4056                <template x-if="config.isProductAddToCartBlockEnabled && !product.is_salable">
4057                    <div class="w-auto justify-center text-sm text-left">
4058                        <span class="inline-block w-3 h-3 bg-red-500 rounded-full flex-shrink-0"></span>
4059                        <span class="text-sm text-gray-700 text-left">Non Disponibile</span>
4060                    </div>
4061                </template>
4062            </div>
4063        </div>
4064    </div>
4065</div>
4066        </template>
4067    </div>
4068</div>
4069                        </template>
4070
4071                        <div class="p-4 box-border w-full h-full flex" x-show="noResultsFound && !errorMessage" x-cloak>
4072                            <div class="flex justify-center content-center flex-row items-center flex-wrap align-center
4073                                 w-full h-full max-h-[90vh] text-center text-xl word-break"
4074                                 x-html="'😔 Non abbiamo trovato niente per&nbsp;<strong>&quot;%s&quot;</strong>'.replace('%s', latestQuery)">
4075                            </div>
4076                        </div>
4077
4078                        <div class="p-4 box-border w-full h-full flex" x-show="noResultsFound && errorMessage" x-cloak>
4079                            <div
4080                                class="text-center flex align-center w-full text-xl justify-center content-center flex-row items-center flex-wrap h-full max-h-[90vh] word-break"
4081                                x-html="errorMessage">
4082                            </div>
4083                        </div>
4084                    </div>
4085                    <div class="w-full md:border-r pt-6"
4086                         :class="{
4087                            'border-gray-600': showSideBar() && getResultProductsCount() > 0,
4088                            'hidden': latestQuery.length < minSearchLength && (
4089                                !showOnFirstClick('recentSearches') && !showOnFirstClick('popularSearches') && !showOnFirstClick('browsingHistory')
4090                            ) || isSidebarSectionsDisabled(),
4091                            'am-search-horizontal-view': isHorizontalView,
4092                         }">
4093                                                    <template
4094                                x-if="                                        sections?.blog?.items?.length">
4095                                <div
4096                                    x-show="(latestQuery.length >= minSearchLength || showOnFirstClick('blog'))"
4097                                    x-cloak>
4098                                    <div class="w-full mb-6 am-search-item-list">
4099    <h3 class="text-lg font-bold mb-2 px-4" x-text="sections.blog.title"></h3>
4100
4101    <div>
4102       <template x-for="(item, index) in sections.blog.items" :key="index">
4103           <div>
4104               <a class="w-full block hover:bg-gray-100 py-2 px-4"
4105                  :href="window.BASE_URL + item.url">
4106                   <span x-html="item.title" class="font-semibold"></span>
4107               </a>
4108               <span class="text-black block mt-1 px-4 block"
4109                     x-html="item.description"></span>
4110           </div>
4111       </template>
4112   </div>
4113</div>
4114                                </div>
4115                            </template>
4116                                                    <template
4117                                x-if="                                        sections?.faq?.items?.length">
4118                                <div
4119                                    x-show="(latestQuery.length >= minSearchLength || showOnFirstClick('faq'))"
4120                                    x-cloak>
4121                                    <div class="w-full mb-6 am-search-item-list">
4122    <h3 class="text-lg font-bold mb-2 px-4" x-text="sections.faq.title"></h3>
4123
4124    <template x-for="(item, index) in sections.faq.items" :key="index">
4125        <a class="w-full block hover:bg-gray-100 py-2 px-4"
4126           :href="window.BASE_URL + item.url"
4127           x-html="item.name">
4128        </a>
4129    </template>
4130</div>
4131                                </div>
4132                            </template>
4133                                                    <template
4134                                x-if="                                        sections?.brand?.items?.length">
4135                                <div
4136                                    x-show="(latestQuery.length >= minSearchLength || showOnFirstClick('brand'))"
4137                                    x-cloak>
4138                                    <div class="w-full mb-6 am-search-item-list">
4139    <h3 class="text-lg font-bold mb-2 px-4" x-text="sections.brand.title"></h3>
4140
4141    <template x-for="(item, index) in sections.brand.items" :key="index">
4142        <a class="w-full block hover:bg-gray-100 py-2 px-4"
4143           :href="`${BASE_URL + item.url}`"
4144           x-html="item.name">
4145        </a>
4146    </template>
4147</div>
4148                                </div>
4149                            </template>
4150                                                    <template
4151                                x-if="                                        sections?.landingPage?.items?.length">
4152                                <div
4153                                    x-show="(latestQuery.length >= minSearchLength || showOnFirstClick('landingPage'))"
4154                                    x-cloak>
4155                                    <div class="w-full mb-6 am-search-item-list">
4156    <h3 class="text-lg font-bold mb-2 px-4" x-text="sections.landingPage.title"></h3>
4157
4158    <template x-for="(item, index) in sections.landingPage.items" :key="index">
4159        <a class="w-full block hover:bg-gray-100 py-2 px-4"
4160           :href="window.BASE_URL + item.url"
4161           x-html="item.title">
4162        </a>
4163    </template>
4164</div>
4165                                </div>
4166                            </template>
4167                                                    <template
4168                                x-if="isHorizontalView &amp;&amp; !noResultsFound &amp;&amp;                                         sections?.products?.items?.length">
4169                                <div
4170                                    x-show="(latestQuery.length >= minSearchLength || showOnFirstClick('products'))"
4171                                    x-cloak>
4172                                    <div class="w-full">
4173    <div class="flex row justify-between w-full mb-2 pb-4 p-2 items-center">
4174        <h3 class="text-sm font-medium tracking-wider uppercase text-natlabGreenOpac">
4175           <span x-text="sections.products.title"></span> (<span x-text="sections.products.total_count"></span>)
4176        </h3>
4177
4178        <div x-show="getResultProductsCount() >= 1">
4179            <a :href="resultPageUrl + latestQuery" class="text-sm text-natlabGreen hover:natlabBlue">
4180                Mostra tutti <span x-show="getResultProductsCount() > 0">(+<span x-text="getResultProductsCount()"></span>)</span>
4181            </a>
4182        </div>
4183    </div>
4184
4185    <div class="relative grid grid-cols-1 md:grid-cols-2 w-full">
4186        <template x-for="(product, index) in (sections.products.items || [])" :key="index">
4187            
4188<div class="card pb-4 item product product-item flex flex-col md:flex-row mb-4 mx-2">
4189
4190    <a :href="getProductUrl(product)"
4191       class="product photo product-item-photo block mx-auto md:w-2/6 md:mr-5"
4192       tabindex="-1"
4193    >
4194        <img style="min-width: 200px;" class="object-contain product-image-photo mb-3"
4195             :src="getProductImageUrl(product)"
4196             :alt="product.image.label"
4197             width="200"
4198        />
4199    </a>
4200    <div class="product-info flex flex-col grow">
4201        <div class="items-center justify-center text-center md:text-left">
4202            <a class="product-item-link action link"
4203               :href="getProductUrl(product)"
4204            >
4205                <span x-html="product.name" class="amsearch-product-name"></span>
4206            </a>
4207            
4208        </div>
4209        <template x-if="config.isProductReviewsBlockEnabled">
4210            <div class="py-1"
4211     :class="{'mx-0 w-full': config.isGridView, 'mx-auto': !config.isGridView}">
4212    <div class="rating-summary cursor-pointer text-center inline-block"
4213         :class="{'flex items-center': config.isGridView && !product.isSliderItem}"
4214         :title="product.rating_summary === 0 ? 'Sii&#x20;il&#x20;primo&#x20;a&#x20;recensire&#x20;questo&#x20;prodotto' : ''">
4215        <div class="flex">
4216            <template x-for="starFilled in product.ratingData.starsFilled">
4217                <svg xmlns="http://www.w3.org/2000/svg" class="fill-current w-6 h-6" viewBox="3 0 20 20"
4218                     :style="`color: ${product.ratingData.yellowHex}`"
4219                     fill="currentColor">
4220                    <path
4221                        d="M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371
4222                        1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54
4223                        1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1
4224                        1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z"/>
4225                </svg>
4226            </template>
4227            <template x-if="product.ratingData.starFragment > 0">
4228                <svg xmlns="http://www.w3.org/2000/svg" viewBox="3 0 20 20" fill="currentColor" class="w-6 h-6">
4229                    <defs>
4230                        <linearGradient :id="'partialFill' + product.id">
4231                            <stop offset="0%" :stop-color="product.ratingData.yellowHex"/>
4232                            <stop :offset="product.ratingData.starFragment * 100 + '%'" :stop-color="product.ratingData.yellowHex"/>
4233                            <stop :offset="product.ratingData.starFragment * 100 + '%'" :stop-color="product.ratingData.greyHex"/>
4234                            <stop offset="100%" :stop-color="product.ratingData.greyHex"/>
4235                        </linearGradient>
4236                    </defs>
4237                    <g :fill="'url(#partialFill' + product.id + ')'">
4238                        <path
4239                            d="M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969
4240                        0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54
4241                        1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1
4242                        0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z"/>
4242
4243                    </g>
4244                </svg>
4245            </template>
4246            <template x-for="starEmpty in product.ratingData.starsEmpty">
4247                <svg xmlns="http://www.w3.org/2000/svg"
4248                     class="fill-current w-6 h-6"
4249                     :style="`color: ${product.ratingData.greyHex}`"
4250                     viewBox="3 0 20 20"
4251                     fill="currentColor">
4252                    <path
4253                        d="M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0
4254                        1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54
4255                        1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1
4256                        1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z"
4257                    />
4258                </svg>
4259            </template>
4260        </div>
4261
4262        <template x-if="product.rating_summary > 0">
4263            <a :href="`${getProductUrl(product)}`" class="inline-block reviews-link text-blue-500 hover:text-blue-800">
4264                <span class="ml-2 text-sm" x-html="product.reviews_count"></span>
4265                Recensioni            </a>
4266        </template>
4267    </div>
4268</div>
4269        </template>
4270        <!-- <div class="items-center justify-center text-primary text-base"
4271             :class="{'text-left': config.isGridView, 'text-center': !config.isGridView}"
4272             x-html="truncateWithDots(product.short_description.html, config.shortDescriptionLength)"
4273        ></div> -->
4274        <div class="items-center justify-center text-primary text-sm text-center md:text-left"
4275            x-data
4276            x-init="
4277                $nextTick(() => {
4278                    let descriptionElement = $el.querySelector('.product-description');
4279                    if (descriptionElement) {
4280                        let descriptionHtml = descriptionElement.innerHTML
4281                            .replace(/<h\d>/gi, '')
4282                            .replace(/<\/h\d>/gi, '<br>')
4283                        descriptionElement.innerHTML = descriptionHtml;
4284                    }
4285                });
4286            ">
4287            
4288            <div class="product-description"
4289                x-html="truncateWithDots(product.short_description.html, config.shortDescriptionLength)">
4290            </div>
4291        </div>
4292        <div class="md:flex md:items-center mx-auto md:mx-0 ">
4293            <div class="price-container text-center md:text-left">
4294                <div class="final-price">
4295                    <template x-if="product.price_range.minimum_price.final_price.value < product.price_range.maximum_price.final_price.value">
4296                        <span class="price-label">
4297                            A partire da                        </span>
4298                    </template>
4299
4300                    <span class="price-wrapper title-font font-medium text-2xl text-gray-900">
4301                        <span class="price" x-html="hyva.formatPrice(product.price_range.minimum_price.final_price.value)"></span>
4302                    </span>
4303
4304                    <template x-if="product.price_range.minimum_price.regular_price.value !== product.price_range.minimum_price.final_price.value">
4305                        <div class="old-price text-grey-900">
4306                            <span class="price-container">
4307                                <span class="price-label ">Prezzo normale: </span>
4308                                <span class="price-wrapper" x-html="hyva.formatPrice(product.price_range.minimum_price.regular_price.value)"></span>
4309                            </span>
4310                        </div>
4311                    </template>
4312                </div>
4313                            </div>
4314            <div class="pt-3 flex items-center mx-4">
4315                <template x-if="config.isProductAddToCartBlockEnabled && product.is_salable">
4316                    <button type="button"
4317                            x-on:click.prevent="addToCart(product, $event)"
4318                            class="btn btn-primary flex items-center justify-center text-sm"                       
4319                    >
4320                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="h-6 w-6 border-current inline ml-1" width="25" height="25" aria-hidden="true">
4321    <path fill="#ffffff" fill-rule="nonzero" d="M19 7a1 1 0 0 1 1 1v13a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V8a1 1 0 0 1 1-1l3.014.002A31.37 31.37 0 0 1 4 6a6 6 0 0 1 11.996-.225L16 6v1h3zM4 8.5H1.5V21a1.5 1.5 0 0 0 1.356 1.493L3 22.5h14a1.5 1.5 0 0 0 1.493-1.356L18.5 21V8.5H16V12h-1.5V8.5h-9V12H4V8.5zm6-7A4.5 4.5 0 0 0 5.5 6c0 .253.002.485.007.696L5.515 7H14.5V6a4.5 4.5 0 0 0-4.288-4.495L10 1.5z"/>
4322</svg>
4323                    <span class="mr-1 ml-2 hidden uppercase whitespace-nowrap lg:ml-2 lg:inline">
4324                                                    Acquista                                                </span>
4325                    </button>
4326
4327                </template>
4328                <template x-if="config.isProductAddToCartBlockEnabled && !product.is_salable">
4329                    <div class="w-auto justify-center text-sm text-left">
4330                        <span class="inline-block w-3 h-3 bg-red-500 rounded-full flex-shrink-0"></span>
4331                        <span class="text-sm text-gray-700 text-left">Non Disponibile</span>
4332                    </div>
4333                </template>
4334            </div>
4335        </div>
4336    </div>
4337</div>
4338        </template>
4339    </div>
4340</div>
4341                                </div>
4342                            </template>
4343                                                    <template
4344                                x-if="                                        sections?.category?.items?.length">
4345                                <div
4346                                    x-show="(latestQuery.length >= minSearchLength || showOnFirstClick('category'))"
4347                                    x-cloak>
4348                                    <div class="w-full mb-6 am-search-item-list">
4349<p class="text-sm font-medium tracking-wider uppercase text-natlabGreenOpac mb-2 px-4" x-text="sections.category.title"></p>
4350    <template x-for="(item, index) in sections.category.items" :key="index">
4351        <div>
4352            <a class="w-full block hover:bg-gray-100 py-2 px-4"
4353               :href="window.BASE_URL + item.url">
4354                <span x-html="item.name" class="font-semibold"></span>
4355            </a>
4356            <span class="text-black block mt-1 px-4 block"
4357                  x-html="item.description"
4358                  x-show="item.description"></span>
4359        </div>
4360    </template>
4361</div>
4362                                </div>
4363                            </template>
4364                                                    <template
4365                                x-if="                                        sections?.popularSearches?.items?.length">
4366                                <div
4367                                    x-show="(latestQuery.length >= minSearchLength || showOnFirstClick('popularSearches'))"
4368                                    x-cloak>
4369                                    <div class="w-full mb-6 am-search-item-list">
4370    <p class="text-sm font-medium tracking-wider uppercase text-natlabGreenOpac mb-2 mx-4" x-text="sections.popularSearches.title"></p>
4371    <div class="flex direction-row flex-wrap mx-4">
4372        <template x-for="(searchItem, index) in sections.popularSearches.items" :key="index">
4373            <a class="py-1 px-2 rounded-lg mr-2 mb-2 border border-slate-200 hover:border-natlabLigthBlue"
4374            :href="resultPageUrl + searchItem.name.toLowerCase().replace(/<[^>]*>?/gm, '')"
4375            x-html="searchItem.name">
4376            </a>
4377        </template>
4378    </div>
4379</div>
4380                                </div>
4381                            </template>
4382                                                    <template
4383                                x-if="                                        sections?.page?.items?.length">
4384                                <div
4385                                    x-show="(latestQuery.length >= minSearchLength || showOnFirstClick('page'))"
4386                                    x-cloak>
4387                                    <div class="w-full mb-6 am-search-item-list">
4388    <h3 class="text-lg font-bold mb-2 px-4" x-text="sections.page.title"></h3>
4389
4390    <template x-for="(item, index) in sections.page.items" :key="index">
4391        <div>
4392            <a class="w-full block hover:bg-gray-100 py-2 px-4"
4393               :href="`${BASE_URL + item.url}`">
4394                <span x-html="item.title" class="font-semibold"></span>
4395            </a>
4396            <span class="text-black block mt-1 px-4 block"
4397                  x-html="item.description"></span>
4398        </div>
4399    </template>
4400</div>
4401                                </div>
4402                            </template>
4403                                                    <template
4404                                x-if="                                        sections?.recentSearches?.items?.length">
4405                                <div
4406                                    x-show="(latestQuery.length >= minSearchLength || showOnFirstClick('recentSearches'))"
4407                                    x-cloak>
4408                                    <div class="w-full mb-6 am-search-item-list">
4409<p class="text-sm font-medium tracking-wider uppercase text-natlabGreenOpac mb-2 px-4" x-text="sections.recentSearches.title"></p>
4410
4411    <div class="flex direction-row flex-wrap mx-4">
4412        <template x-for="(searchItem, index) in sections.recentSearches.items" :key="index">
4413            <a class="py-1 px-2 rounded-lg mr-2 mb-2 bg-white border border-slate-200 hover:border-natlabLigthBlue hover:bg-white"
4414               :href="resultPageUrl + searchItem.name.toLowerCase().replace(/<[^>]*>?/gm, '')"
4415               x-html="searchItem.name">
4416            </a>
4417        </template>
4418    </div>
4419</div>
4420                                </div>
4421                            </template>
4422                                                    <template
4423                                x-if="                                        sections?.browsingHistory?.items?.length">
4424                                <div
4425                                    x-show="(latestQuery.length >= minSearchLength || showOnFirstClick('browsingHistory'))"
4426                                    x-cloak>
4427                                    <div class="w-full mb-6 am-search-item-list">
4428    <h3 class="text-lg font-bold mb-2 px-4"
4429        x-text="sections.browsingHistory.title"></h3>
4430
4431    <template x-for="(searchItem, index) in sections.browsingHistory.items" :key="index">
4432        <a class="w-full block hover:bg-gray-100 py-2 px-4"
4433           :href="resultPageUrl + searchItem.name.toLowerCase().replace(/<[^>]*>?/gm, '')"
4434           x-html="searchItem.name">
4435        </a>
4436    </template>
4437</div>
4438                                </div>
4439                            </template>
4440                                            </div>
4441                    
4442                </div>
4443            </div>
4444        </template>
4445    </div>
4446</div>
4447    </div>
4448
4449</div></header><div class="top-container"><nav class="breadcrumbs" aria-label="Breadcrumb">
4450    <div class="container">
4451        <ol class="items list-reset py-4 rounded flex flex-wrap text-grey text-sm">
4452                            <li class="item flex Home">
4453                                                    <a href="https://www.naturelab.it/"
4454                       class="no-underline hover:text-natlabLigthBlue"
4455                       title="Home"
4456                    >Home</a>
4457                                </li>
4458                            <li class="item flex Come&#x20;possiamo&#x20;aiutarti&#x3F;">
4459                                    <span aria-hidden="true" class="separator text-secondary-lighter px-2">|</span>
4460                                                    <span
4461                       class="text-primary-lighter"
4462                       aria-current="page"
4463                    >Come possiamo aiutarti?</span>
4464                                </li>
4465                    </ol>
4466    </div>
4467</nav>
4468</div><main id="maincontent" class="page-main"><div id="contentarea" tabindex="-1"></div>
4469<div id="fp.wp.marker-top"></div><div class="page messages">
4469<script>
4470            window.defaultSuccessMessageTimeout = 5000;
4471        function initMessages() {
4472        "use strict";
4473        return {
4474            messages: window.mageMessages || [],
4475            isEmpty() {
4476                return this.messages.reduce(
4477                    function (isEmpty, message) {
4478                        return isEmpty && message === undefined
4479                    }, true
4480                )
4481            },
4482            removeMessage(messageIndex) {
4483                this.messages[messageIndex] = undefined;
4484            },
4485            addMessages(messages, hideAfter) {
4486                
4487                messages.map((message) => {
4488                    // Assicurati che la variabile message sia definita prima di usarla
4489                    if (message && message.text && message.text.includes('Hai scelto')) {
4490                        return; // Ignora il messaggio
4491                    }
4492                    this.messages = this.messages.concat(message);
4493                    if (hideAfter === undefined && message.type === 'success' && window.defaultSuccessMessageTimeout) {
4494                        hideAfter = window.defaultSuccessMessageTimeout;
4495                    }
4496                    if (hideAfter) {
4497                        this.setHideTimeOut(this.messages.length -1, hideAfter);
4498                    }
4499                });
4500            },
4501            setHideTimeOut(messageIndex, hideAfter) {
4502                setTimeout((messageIndex) => {
4503                    this.removeMessage(messageIndex);
4504                }, hideAfter, messageIndex);
4505            },
4506            getIcon(messageType) {
4507                let iconHtml;
4508                switch (messageType) {
4509                                    case 'success':
4510                        iconHtml = "<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" class=\"fill-current\" width=\"56\" height=\"56\" role=\"img\">\n  <path fill-rule=\"evenodd\" d=\"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z\" clip-rule=\"evenodd\"\/><\/svg>\n";
4511                        break;
4512                    case 'error':
4513                        iconHtml = "<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" class=\"fill-current\" width=\"56\" height=\"56\" role=\"img\">\n  <path fill-rule=\"evenodd\" d=\"M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z\" clip-rule=\"evenodd\"\/><\/svg>\n";
4514                        break;
4515                    case 'warning':
4516                        iconHtml = "<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" class=\"fill-current\" width=\"56\" height=\"56\" role=\"img\">\n  <path fill-rule=\"evenodd\" d=\"M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z\" clip-rule=\"evenodd\"\/><\/svg>\n";
4517                        break;
4518                    case 'notice':
4519                        iconHtml = "<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" class=\"fill-current\" width=\"56\" height=\"56\" role=\"img\">\n  <path fill-rule=\"evenodd\" d=\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z\" clip-rule=\"evenodd\"\/><\/svg>\n";
4520                        break;
4521                    case 'info':
4522                        iconHtml = "<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" class=\"fill-current\" width=\"56\" height=\"56\" role=\"img\">\n  <path fill-rule=\"evenodd\" d=\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z\" clip-rule=\"evenodd\"\/><\/svg>\n";
4523                        break;
4524                    // phpcs:enable Generic.Files.LineLength.TooLong
4525                }
4526                return iconHtml;
4527            },
4528            getColor(messageType) {
4529                let color;
4530                switch (messageType) {
4531                    case 'success':
4532                        color = 'text-green-600';
4533                        break;
4534                    case 'error':
4535                        color = 'text-natlabRed';
4536                        break;
4537                    case 'warning':
4538                        color = 'text-bg-natlabLigthBlue';
4539                        break;
4540                    case 'notice':
4541                        color = 'text-bg-natlabLigthBlue';
4542                        break;
4543                    case 'info':
4544                        color = 'text-bg-natlabLigthBlue';
4545                        break;
4546                }
4547                return color;
4548            },
4549            eventListeners: {
4550                ['@messages-loaded.window'](event) {
4551                    this.addMessages(event.detail.messages, event.detail.hideAfter)
4552                },
4553                ['@private-content-loaded.window'](event) {
4554                    const data = event.detail.data;
4555                    if (
4556                        data.messages &&
4557                        data.messages.messages &&
4558                        data.messages.messages.length
4559                    ) {
4560                        this.addMessages(data.messages.messages);
4561                    }
4562                },
4563                ['@clear-messages.window']() {
4564                    this.messages = [];
4565                }
4566            }
4567        }
4568    }
4569</script>
4569
4570<section id="messages"
4571         x-data="initMessages()"
4572         x-bind="eventListeners"
4573         aria-live="assertive"
4574         role="alert"
4575         class="relative"
4576>
4577    <template x-if="!isEmpty()">
4578        <div class="absolute right-0 top-0">
4579            <template x-for="(message, index) in messages" :key="index">
4580                <div>
4581                    <template x-if="message">
4582                        <div class="w-full p-6 max-w-x"
4583                             :ui-id="'message-' + message.type"
4584                        >
4585                            <div class="shadow-xl rounded-xl bg-white p-6 pl-8 flex flex-col gap-4 sm:flex-row items-center">
4586                                                                    <div class="flex justify-center
4587                                                sm:block sm:w-14 sm:pt-1 sm:grow-0 sm:shrink-0"
4588                                         :class="getColor(message.type)"
4589                                         x-html="getIcon(message.type)"
4590                                    ></div>
4591                                                                <div class="text-center sm:text-left sm:pr-12">
4592                                    
4593                                    <div class="text-gray-600 mt-2 text-sm">
4594                                        <span x-html="message.text"></span>
4595                                    </div>
4596                                </div>
4597                            </div>
4598
4599                            <div class="absolute right-12 top-12">
4600                                <button
4601                                    type="button"
4602                                    class="text-gray-300 hover:text-gray-400"
4603                                    aria-label="Chiudi il messaggio"
4604                                    @click.prevent="removeMessage(index)"
4605                                >
4606                                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="fill-current" width="24" height="24" aria-hidden="true">
4607  <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"/>
4608</svg>
4609                                </button>
4610                            </div>
4611                        </div>
4612                    </template>
4613                </div>
4614            </template>
4615        </div>
4616    </template>
4617</section>
4618</div><div class="columns"><div class="column main"><style>.cmsb220-container {
4619width: 100%
4620}
4621@media (min-width: 640px) {
4622.cmsb220-container {
4623max-width: 640px
4624}
4625}
4626@media (min-width: 768px) {
4627.cmsb220-container {
4628max-width: 768px
4629}
4630}
4631@media (min-width: 1024px) {
4632.cmsb220-container {
4633max-width: 1024px
4634}
4635}
4636@media (min-width: 1280px) {
4637.cmsb220-container {
4638max-width: 1280px
4639}
4640}
4641@media (min-width: 1536px) {
4642.cmsb220-container {
4643max-width: 1536px
4644}
4645}
4646.cmsb220-mx-auto {
4647margin-left: auto;
4648margin-right: auto
4649}
4650.cmsb220-w-full {
4651width: 100%
4652}
4653.cmsb220-p-0 {
4654padding: 0px
4655}
4656.cmsb220-px-6 {
4657padding-left: 1.5rem;
4658padding-right: 1.5rem
4659}
4660.cmsb220-pb-8 {
4661padding-bottom: 2rem
4662}
4663.cmsb220-text-center {
4664text-align: center
4665}</style>
4666<div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><h1 class="page-title title-font cmsb220-w-full cmsb220-text-center"><span class="base" data-ui-id="page-title-wrapper">Come possiamo aiutarti?</span></h1>
4667<div class="cmsb220-container cmsb220-mx-auto cmsb220-px-6">
4668<h2 class="cmsb220-w-full cmsb220-text-center cmsb220-pb-8">Contattaci per prodotti, ordini e assistenza</h2>
4669<p class="cmsb220-p-0 cmsb220-w-full cmsb220-text-center">Per noi è importante accompagnarti in ogni fase della tua esperienza su NatureLab: dalla scelta dei prodotti alle informazioni su ordini, spedizioni e assistenza post-vendita.</p>
4670<p class="cmsb220-p-0 cmsb220-w-full cmsb220-text-center">Se hai una domanda o una richiesta specifica, chiamaci, scrivici o compila il modulo: ti risponderemo il prima possibile.</p>
4671</div><div class="flex flex-col md:flex-row justify-between lg:mt-10 py-2 gap-20 lg:gap-40">
4672<div class=" lg:w-1/2 w-full">
4673<style>.cmsb221-mb-6 {
4674margin-bottom: 1.5rem
4675}
4676.cmsb221-mt-1 {
4677margin-top: 0.25rem
4678}
4679.cmsb221-flex {
4680display: flex
4681}
4682.cmsb221-items-start {
4683align-items: flex-start
4684}
4685.cmsb221-gap-4 {
4686gap: 1rem
4687}
4688.cmsb221-p-0 {
4689padding: 0px
4690}
4691.cmsb221-pt-1 {
4692padding-top: 0.25rem
4693}
4694.cmsb221-text-sm {
4695font-size: 0.875rem;
4696line-height: 1.25rem
4697}
4698.cmsb221-font-semibold {
4699font-weight: 600
4700}
4701.cmsb221-uppercase {
4702text-transform: uppercase
4703}
4704.cmsb221-tracking-wider {
4705letter-spacing: 0.05em
4706}</style>
4707<div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><div class="cmsb221-flex cmsb221-gap-4 cmsb221-mb-6 cmsb221-items-start">
4708          <img src="https://www.naturelab.it/media/wysiwyg/icons/servizio-clienti-green.svg" alt="servizio-clienti" width="32" height="32" class="cmsb221-mt-1" /> 
4709        <div>
4710          <p class="cmsb221-text-sm cmsb221-uppercase text-natlabGreenOpac cmsb221-font-semibold cmsb221-tracking-wider">Chiamaci dal lunedì al venerdì</p>
4711          <p class="cmsb221-p-0">Mob +39 346 7306919<br>Tel +39 055 7478357</p>
4712          <p class="cmsb221-pt-1 cmsb221-text-sm">Se trovi occupato, lascia un messaggio e ti richiameremo.</p>
4713        </div>
4714     </div>
4715        <div class="cmsb221-flex cmsb221-gap-4 cmsb221-items-start">
4716            <img src="https://www.naturelab.it/media/wysiwyg/icons/scrivici.svg" alt="scrivici" width="32" height="32" class="cmsb221-mt-1" />  
4717            <div>
4718                <p class="cmsb221-text-sm cmsb221-uppercase text-natlabGreenOpac cmsb221-font-semibold cmsb221-tracking-wider">Scrivici</p>
4719                <p class="cmsb221-p-0"><a href="mailto:[email protected]">[email protected]</a></p>
4720                <p class="cmsb221-pt-1 cmsb221-text-sm">Ti risponderemo entro 24 ore.</p>
4721            </div>
4722        </div></div><form class="form contact" action="https://www.naturelab.it/contact/index/post/"
4723    id="contact" method="post" x-data="initContactForm()"
4724    @submit.prevent="submitForm()">
4725    <fieldset class="mt-10">
4726        <div class="flex flex-col w-full mb-6">
4727            <p class="leading-relaxed text-lg">
4728                ... oppure, compila e invia il modulo.            </p>
4729        </div>
4730        <div class="flex flex-wrap -m-2">
4731            <div class="field name required p-2 w-full md:w-1/2 text-left">
4732                <label class="sr-only" for="name"><span>
4733                        Nome                    </span></label>
4734                <input name="name" id="name" required title="Nome"
4735                    value=""
4736                    class="border-gray-300 rounded-md border p-3 w-full 
4737                            shadow-sm focus:border-natlabLigthBlue focus:ring focus:ring-natlabLigthBlue focus:ring-opacity-50" type="text"
4738                    placeholder="Nome *" />
4739            </div>
4740            <div class="field email required p-2 w-full md:w-1/2 text-left">
4741                <label class="sr-only" for="email"><span>
4742                        Email                    </span></label>
4743                <input name="email" id="email" required title="Email"
4744                    value=""
4745                    class="border-gray-300 rounded-md border p-3 w-full 
4746                            shadow-sm focus:border-natlabLigthBlue focus:ring focus:ring-natlabLigthBlue focus:ring-opacity-50"
4747                    placeholder="Email *" type="email" />
4748            </div>
4749
4750            <div class="field comment required p-2 w-full text-left">
4751                <label class="sr-only" for="comment"><span>
4752                        A che cosa stai pensando?                    </span></label>
4753                <textarea name="comment" id="comment" required
4754                    placeholder="Il&#x20;tuo&#x20;messaggio *"
4755                    title="Il&#x20;tuo&#x20;messaggio"
4756                    class="mt-2 input input-light border-gray-300 rounded-md border p-3 w-full 
4757                            shadow-sm focus:border-natlabLigthBlue focus:ring focus:ring-natlabLigthBlue focus:ring-opacity-50" cols="5"
4758                    rows="2"></textarea>
4759            </div>
4760
4761            <!-- Aggiunta del campo checkbox per la privacy policy -->
4762            <div class="field required privacy-policy-checkbox w-full flex p-2">
4763                <input type="checkbox" id="privacy-policy" name="privacy_policy" required class="checkbox">
4764                <label for="privacy-policy" class="text-sm text-gray-600">
4765                    Ho letto e accetto l'
4766                    <a href="https://www.naturelab.it/la-tua-privacy/"
4767                        title="La tua Privacy" class="underline hover:text-black">
4768                        informativa sulla privacy
4769                    </a>
4770                </label>
4771            </div>
4772
4773                        <div class="control">
4774    <input type="hidden"
4775           value=""
4776           name="g-recaptcha-response"
4777    />
4778</div>
4779        </div>
4780    </fieldset>
4781    <div class="w-full my-3 text-center">
4782        <input name="form_key" type="hidden" value="xzuVQOR9Ekj125Es" />        <button type="submit" title="Invia&#x20;messaggio"
4783            class="mx-auto px-6 py-2 btn btn-primary-blu">
4784            <span>
4785                Invia messaggio            </span>
4786        </button>
4787    </div>
4788    <div class="w-full">
4789                <p class="my-4 text-xs text-gray-500">
4790Questo form è protetto da reCAPTCHA - si applicano le <a class="underline" href="https://policies.google.com/privacy" target="_blank" rel="noopener">norme sulla privacy</a> e i <a class="underline" href="https://policies.google.com/terms" target="_blank" rel="noopener">termini di servizio</a> di <a class="underline" href="https://policies.google.com/privacy" target="_blank" rel="noopener">Google</a>.</p>
4791    </div>
4792</form>
4793<script>
4794    function initContactForm() {
4795        return {
4796            errors: 0,
4797            hasCaptchaToken: 0,
4798            submitForm() {
4799                // Do not rename $form, the variable is expected to be declared in the recaptcha output
4800                const $form = document.querySelector('#contact');
4801                    if (!this.hasCaptchaToken) {
4802        this.errors = 1;
4803
4804
4805        const executeGreCaptcha = () => {
4806            grecaptcha.ready(() => {
4807                grecaptcha.execute(
4808                    '6LfEvTcqAAAAAP4jwfTRh8tMSlXxl\u002D8VBqmwaGnN',
4809                    {action: 'submit'}
4810                ).then((token) => {
4811                    if (token && token.length > 0) {
4812                        $form['g\u002Drecaptcha\u002Dresponse'].value = token;
4813                        this.errors = 0;
4814                        this.hasCaptchaToken = 1;
4815                        (this.submitForm || $form.submit).call(this);
4816                    } else {
4817                        this.errors = 1;
4818                        const error = 'La\u0020verifica\u0020reCAPTCHA\u0020non\u0020\u00E8\u0020riuscita,\u0020riprova.';
4819                        if (this.setErrorMessages) {
4820                            this.setErrorMessages([error])
4821                            this.displayErrorMessage = true;
4822                        } else {
4823                            window.dispatchMessages && window.dispatchMessages([{type: "error", text: error}], 5000);
4824                        }
4825                    }
4826                }).catch(exception => {
4827                    console.error(exception || `An unknown error occurred during ReCaptcha validation. Are the tokens and the domain correctly set up in the Google console?`)
4828                });
4829            })
4830        }
4831
4832        if (window.grecaptcha) {
4833            executeGreCaptcha();
4834        } else {
4835            const recaptchaUrl = "https://www.google.com/recaptcha/api.js?render=6LfEvTcqAAAAAP4jwfTRh8tMSlXxl\u002D8VBqmwaGnN";
4836            const script = document.createElement('script');
4837            script.setAttribute('type', 'text/javascript');
4838            script.setAttribute('src', recaptchaUrl);
4839            document.head.appendChild(script);
4840
4841            script.addEventListener("load", executeGreCaptcha, false);
4842        }
4843    }
4844    
4845                if (this.errors === 0) {
4846                    $form.submit();
4847                }
4848            }
4849        }
4850    }
4851</script>
4851
4852</div>
4853<div class=" lg:w-1/2 w-full">
4854<style>.cmsb222-relative {
4855position: relative
4856}
4857.cmsb222-mb-6 {
4858margin-bottom: 1.5rem
4859}
4860.cmsb222-mt-1 {
4861margin-top: 0.25rem
4862}
4863.cmsb222-flex {
4864display: flex
4865}
4866.cmsb222-max-h-0 {
4867max-height: 0px
4868}
4869.cmsb222-w-full {
4870width: 100%
4871}
4872.cmsb222-rotate-180 {
4873--tw-rotate: 180deg;
4874transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
4875}
4876.cmsb222-cursor-pointer {
4877cursor: pointer
4878}
4879.cmsb222-items-start {
4880align-items: flex-start
4881}
4882.cmsb222-items-center {
4883align-items: center
4884}
4885.cmsb222-gap-2 {
4886gap: 0.5rem
4887}
4888.cmsb222-gap-4 {
4889gap: 1rem
4890}
4891.cmsb222-divide-y > :not([hidden]) ~ :not([hidden]) {
4892--tw-divide-y-reverse: 0;
4893border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
4894border-bottom-width: calc(1px * var(--tw-divide-y-reverse))
4895}
4896.cmsb222-overflow-hidden {
4897overflow: hidden
4898}
4899.cmsb222-py-3 {
4900padding-top: 0.75rem;
4901padding-bottom: 0.75rem
4902}
4903.cmsb222-pb-3 {
4904padding-bottom: 0.75rem
4905}
4906.cmsb222-text-left {
4907text-align: left
4908}
4909.cmsb222-text-sm {
4910font-size: 0.875rem;
4911line-height: 1.25rem
4912}
4913.cmsb222-font-semibold {
4914font-weight: 600
4915}
4916.cmsb222-uppercase {
4917text-transform: uppercase
4918}
4919.cmsb222-tracking-wider {
4920letter-spacing: 0.05em
4921}
4922.cmsb222-transition-all {
4923transition-property: all;
4924transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
4925transition-duration: 150ms
4926}
4927.cmsb222-transition-transform {
4928transition-property: transform;
4929transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
4930transition-duration: 150ms
4931}
4932.cmsb222-duration-700 {
4933transition-duration: 700ms
4934}</style>
4935<div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><div class="cmsb222-flex cmsb222-gap-4 cmsb222-mb-6 cmsb222-items-start">
4936            <img src="https://www.naturelab.it/media/wysiwyg/icons/faq.svg" alt="faq" width="32" height="32" class="cmsb222-mt-1" />
4937            <div>
4938                <p class="cmsb222-text-sm cmsb222-uppercase text-natlabGreenOpac cmsb222-font-semibold cmsb222-tracking-wider">Domande frequenti</p>
4939<div class="cmsb222-divide-y" x-data="{ selected: 1 }">
4940            <ul aria-label="Accordion">
4941                                    <li class="cmsb222-relative">
4942                        <button aria-controls="content-1" :aria-expanded="selected == 1 ? 'true' : 'false'" id="accordion-control-1" type="button" :class="{ 'text-natlabGreenOpac': selected == 1 }" class="cmsb222-text-left hover:text-natlabGreenOpac cmsb222-cursor-pointer group cmsb222-flex cmsb222-w-full cmsb222-items-center cmsb222-py-3 cmsb222-gap-2 text-natlabGreenOpac" @click="selected !== 1 ? selected = 1 : selected = null" aria-expanded="true">
4943                            <span>Quali sono i vostri tempi di consegna?</span>
4944                            <span :class="{ 'cmsb222-rotate-180': selected == 1 }" class="cmsb222-transition-transform cmsb222-rotate-180">
4945                                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" width="15" height="15" stroke="currentColor" stroke-width="2" aria-hidden="true">
4946                                    <path stroke-linecap="round" stroke-linejoin="round" d="M19 9l-7 7-7-7"></path>
4947                                </svg>
4948                            </span>
4949                        </button>
4950                        <div :aria-hidden="selected !== 1 ? 'true' : 'false'" id="content-1" class="cmsb222-relative cmsb222-overflow-hidden cmsb222-transition-all cmsb222-max-h-0 cmsb222-duration-700" x-ref="container1" x-bind:style="selected == 1 ? 'max-height: ' + $refs.container1.scrollHeight + 'px' : ''" aria-hidden="false" style="max-height: 366px">
4951                            <div class="cmsb222-pb-3 cmsb222-text-left">
4952                                <p>Dal lunedì al venerdì, gli ordini effettuati prima delle 12:00 saranno spediti il giorno stesso, mentre gli ordini effettuati dopo le 12:00 saranno spediti il giorno successivo (esclusi i fine settimana e i giorni festivi). Riceverai un'e-mail con le informazioni di tracciamento non appena il tuo ordine sarà stato spedito. I tempi di consegna sono generalmente tra le 24 e le 72 ore, dipende dalle zone.</p>
4953                            </div>
4954                        </div>
4955                    </li>
4956                                    <li class="cmsb222-relative">
4957                        <button aria-controls="content-2" :aria-expanded="selected == 2 ? 'true' : 'false'" id="accordion-control-2" type="button" :class="{ 'text-natlabGreenOpac': selected == 2 }" class="cmsb222-text-left hover:text-natlabGreenOpac cmsb222-cursor-pointer group cmsb222-flex cmsb222-w-full cmsb222-items-center cmsb222-py-3 cmsb222-gap-2" @click="selected !== 2 ? selected = 2 : selected = null" aria-expanded="false">
4958                            <span>Pagamento alla consegna: posso pagare con un assegno o con la carta?</span>
4959                            <span :class="{ 'cmsb222-rotate-180': selected == 2 }" class="cmsb222-transition-transform">
4960                                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" width="15" height="15" stroke="currentColor" stroke-width="2" aria-hidden="true">
4961                                    <path stroke-linecap="round" stroke-linejoin="round" d="M19 9l-7 7-7-7"></path>
4962                                </svg>
4963                            </span>
4964                        </button>
4965                        <div :aria-hidden="selected !== 2 ? 'true' : 'false'" id="content-2" class="cmsb222-relative cmsb222-overflow-hidden cmsb222-transition-all cmsb222-max-h-0 cmsb222-duration-700" x-ref="container2" x-bind:style="selected == 2 ? 'max-height: ' + $refs.container2.scrollHeight + 'px' : ''" aria-hidden="true" style="">
4966                            <div class="cmsb222-pb-3 cmsb222-text-left">
4967                                <p>No, per il pagamento in contrassegno, il corriere accetta solo contanti (pensa a preparare l'importo corretto).</p>
4968                            </div>
4969                        </div>
4970                    </li>
4971                                    <li class="cmsb222-relative">
4972                        <button aria-controls="content-3" :aria-expanded="selected == 3 ? 'true' : 'false'" id="accordion-control-3" type="button" :class="{ 'text-natlabGreenOpac': selected == 3 }" class="cmsb222-text-left hover:text-natlabGreenOpac cmsb222-cursor-pointer group cmsb222-flex cmsb222-w-full cmsb222-items-center cmsb222-py-3 cmsb222-gap-2" @click="selected !== 3 ? selected = 3 : selected = null" aria-expanded="false">
4973                            <span>Ho effettuato l'ordine ma vorrei modificarlo: cosa posso fare?</span>
4974                            <span :class="{ 'cmsb222-rotate-180': selected == 3 }" class="cmsb222-transition-transform">
4975                                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" width="15" height="15" stroke="currentColor" stroke-width="2" aria-hidden="true">
4976                                    <path stroke-linecap="round" stroke-linejoin="round" d="M19 9l-7 7-7-7"></path>
4977                                </svg>
4978                            </span>
4979                        </button>
4980                        <div :aria-hidden="selected !== 3 ? 'true' : 'false'" id="content-3" class="cmsb222-relative cmsb222-overflow-hidden cmsb222-transition-all cmsb222-max-h-0 cmsb222-duration-700" x-ref="container3" x-bind:style="selected == 3 ? 'max-height: ' + $refs.container3.scrollHeight + 'px' : ''" aria-hidden="true" style="">
4981                            <div class="cmsb222-pb-3 cmsb222-text-left">
4982                                <p>Purtroppo non è possibile modificare il contenuto di un ordine convalidato. Per modificare il contenuto dell'ordine, è necessario contattarci rapidamente per telefono o per e-mail nei fine settimana, in modo da poter annullare l'ordine e poterne effettuare uno nuovo con il contenuto desiderato.</p>
4983                            </div>
4984                        </div>
4985                    </li>
4986                                    <li class="cmsb222-relative">
4987                        <button aria-controls="content-4" :aria-expanded="selected == 4 ? 'true' : 'false'" id="accordion-control-4" type="button" :class="{ 'text-natlabGreenOpac': selected == 4 }" class="cmsb222-text-left hover:text-natlabGreenOpac cmsb222-cursor-pointer group cmsb222-flex cmsb222-w-full cmsb222-items-center cmsb222-py-3 cmsb222-gap-2" @click="selected !== 4 ? selected = 4 : selected = null" aria-expanded="false">
4988                            <span>Come posso tracciare il mio pacco?</span>
4989                            <span :class="{ 'cmsb222-rotate-180': selected == 4 }" class="cmsb222-transition-transform">
4990                                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" width="15" height="15" stroke="currentColor" stroke-width="2" aria-hidden="true">
4991                                    <path stroke-linecap="round" stroke-linejoin="round" d="M19 9l-7 7-7-7"></path>
4992                                </svg>
4993                            </span>
4994                        </button>
4995                        <div :aria-hidden="selected !== 4 ? 'true' : 'false'" id="content-4" class="cmsb222-relative cmsb222-overflow-hidden cmsb222-transition-all cmsb222-max-h-0 cmsb222-duration-700" x-ref="container4" x-bind:style="selected == 4 ? 'max-height: ' + $refs.container4.scrollHeight + 'px' : ''" aria-hidden="true" style="">
4996                            <div class="cmsb222-pb-3 cmsb222-text-left">
4997                                <p>Dopo la spedizione, riceverai un'e-mail con il numero di tracking del tuo pacco. Conserva questa e-mail per controllare lo stato della consegna.</p>
4998                            </div>
4999                        </div>
5000                    </li>
5001                                    <li class="cmsb222-relative">
5002                        <button aria-controls="content-5" :aria-expanded="selected == 5 ? 'true' : 'false'" id="accordion-control-5" type="button" :class="{ 'text-natlabGreenOpac': selected == 5 }" class="cmsb222-text-left hover:text-natlabGreenOpac cmsb222-cursor-pointer group cmsb222-flex cmsb222-w-full cmsb222-items-center cmsb222-py-3 cmsb222-gap-2" @click="selected !== 5 ? selected = 5 : selected = null" aria-expanded="false">
5003                            <span>Posso restituire un prodotto?</span>
5004                            <span :class="{ 'cmsb222-rotate-180': selected == 5 }" class="cmsb222-transition-transform">
5005                                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" width="15" height="15" stroke="currentColor" stroke-width="2" aria-hidden="true">
5006                                    <path stroke-linecap="round" stroke-linejoin="round" d="M19 9l-7 7-7-7"></path>
5007                                </svg>
5008                            </span>
5009                        </button>
5010                        <div :aria-hidden="selected !== 5 ? 'true' : 'false'" id="content-5" class="cmsb222-relative cmsb222-overflow-hidden cmsb222-transition-all cmsb222-max-h-0 cmsb222-duration-700" x-ref="container5" x-bind:style="selected == 5 ? 'max-height: ' + $refs.container5.scrollHeight + 'px' : ''" aria-hidden="true" style="">
5011                            <div class="cmsb222-pb-3 cmsb222-text-left">
5012                                <p>Se desideri restituire uno dei nostri prodotti, devi informarci della tua decisione entro 14 giorni lavorativi dalla ricezione dell'ordine contattandoci telefonicamente o via e-mail. Ricorda che è possibile restituire solo i <strong>prodotti che non sono mai stati aperti</strong>.</p>
5013                            </div>
5014                        </div>
5015                    </li>
5016                                    <li class="cmsb222-relative">
5017                        <button aria-controls="content-6" :aria-expanded="selected == 6 ? 'true' : 'false'" id="accordion-control-6" type="button" :class="{ 'text-natlabGreenOpac': selected == 6 }" class="cmsb222-text-left hover:text-natlabGreenOpac cmsb222-cursor-pointer group cmsb222-flex cmsb222-w-full cmsb222-items-center cmsb222-py-3 cmsb222-gap-2" @click="selected !== 6 ? selected = 6 : selected = null" aria-expanded="false">
5018                            <span>Ho ricevuto dei prodotti danneggiati: che cosa devo fare?</span>
5019                            <span :class="{ 'cmsb222-rotate-180': selected == 6 }" class="cmsb222-transition-transform">
5020                                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" width="15" height="15" stroke="currentColor" stroke-width="2" aria-hidden="true">
5021                                    <path stroke-linecap="round" stroke-linejoin="round" d="M19 9l-7 7-7-7"></path>
5022                                </svg>
5023                            </span>
5024                        </button>
5025                        <div :aria-hidden="selected !== 6 ? 'true' : 'false'" id="content-6" class="cmsb222-relative cmsb222-overflow-hidden cmsb222-transition-all cmsb222-max-h-0 cmsb222-duration-700" x-ref="container6" x-bind:style="selected == 6 ? 'max-height: ' + $refs.container6.scrollHeight + 'px' : ''" aria-hidden="true" style="">
5026                            <div class="cmsb222-pb-3 cmsb222-text-left">
5027                                <p>Se dovessi ricevere prodotti danneggiati, comunicacelo entro massimo 5 giorni lavorativi via email, allegando una foto. Ti contatteremo immediatamente per pianificare la sostituzione.</p>
5028                            </div>
5029                        </div>
5030                    </li>
5031                            </ul>
5032        </div>
5033               
5034            </div>
5035        </div></div></div>
5036</div>
5037</div></div><div id="fp.wp.marker-bottom"></div></main><footer class="page-footer"><div class="footer content"><div class="body-font">
5038    <div class="py-14 text-center mt-0 lg:mt-14 sm:bg-white md:bg-transparent" x-data="{ showWidget: false }" x-intersect="showWidget = true">
5039       
5040        <h2 class="text-lg leading-5 font-medium tracking-wider uppercase text-natlabGreen pb-4">
5041            Dicono di noi        </h2>
5042        <template x-if="showWidget || (window.productPage ?? false)">
5043            <div>
5044                
5044<script class="feedaty_sdk" src="https://widget.feedaty.com/v3.0.0/js/2021/10214357/feedaty.min.js" defer></script>
5044
5045                <div class="container feedaty_widget lg:block hidden" data-ver="2021" data-id="645e358e4b54b" data-type="carousel" data-variant="carosello-1" data-lang="all" data-gui="it-IT"></div>
5046                <div class="feedaty_widget lg:hidden" data-ver="2021" data-id="646646b30e237" data-type="carousel" data-variant="carosello-3" data-lang="all" data-gui="all"></div>
5047            </div>
5048        </template>
5049    </div>
5050    <div class="bg-footer-mobile-bg lg:bg-footer-bg bg-left-top bg-cover pb-4 pt-20 md:pt-32 2xl:pt-24 ">
5051                                            <div class="border-b border-b-white border-opacity-5 pb-4">
5052        <div class="container flex flex-col-reverse lg:flex-row justify-between mt-3 xl:mt-10">
5053            <div class="w-full lg:w-1/2 pb-6 pt-2">
5054                <div class="divide-gray-300 divide-opacity-10 divide-y space-y-4 lg:flex lg:divide-none lg:justify-between lg:space-y-0 w-full">           
5055                    <div x-data="{ open: false }">                
5056                    <style>.cmsb214-sr-only {
5057position: absolute;
5058width: 1px;
5059height: 1px;
5060padding: 0;
5061margin: -1px;
5062overflow: hidden;
5063clip: rect(0, 0, 0, 0);
5064white-space: nowrap;
5065border-width: 0
5066}
5067.cmsb214-mt-6 {
5068margin-top: 1.5rem
5069}
5070.cmsb214-flex {
5071display: flex
5072}
5073.cmsb214-hidden {
5074display: none
5075}
5076.cmsb214-w-full {
5077width: 100%
5078}
5079.cmsb214-rotate-180 {
5080--tw-rotate: 180deg;
5081transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
5082}
5083.cmsb214-cursor-pointer {
5084cursor: pointer
5085}
5086.cmsb214-flex-col {
5087flex-direction: column
5088}
5089.cmsb214-justify-between {
5090justify-content: space-between
5091}
5092.cmsb214-gap-4 {
5093gap: 1rem
5094}
5095.cmsb214-align-middle {
5096vertical-align: middle
5097}
5098.cmsb214-text-gray-300 {
5099--tw-text-opacity: 1;
5100color: rgb(209 213 219 / var(--tw-text-opacity))
5101}
5102.cmsb214-transition-transform {
5103transition-property: transform;
5104transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
5105transition-duration: 150ms
5106}
5107.cmsb214-hover\:text-white:hover {
5108--tw-text-opacity: 1;
5109color: rgb(255 255 255 / var(--tw-text-opacity))
5110}
5111.cmsb214-hover\:underline:hover {
5112text-decoration-line: underline
5113}
5114@media (min-width: 1024px) {
5115.cmsb214-lg\:mt-2 {
5116margin-top: 0.5rem
5117}
5118.cmsb214-lg\:flex {
5119display: flex
5120}
5121.cmsb214-lg\:hidden {
5122display: none
5123}
5124.cmsb214-lg\:cursor-default {
5125cursor: default
5126}
5127.cmsb214-lg\:gap-2 {
5128gap: 0.5rem
5129}
5130.cmsb214-lg\:pr-6 {
5131padding-right: 1.5rem
5132}
5133.cmsb214-lg\:text-sm {
5134font-size: 0.875rem;
5135line-height: 1.25rem
5136}
5137}</style>
5138<div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><h2 class="cmsb214-sr-only">Informazioni e servizi NatureLab</h2>
5139<button @click="open = ! open" class="cmsb214-flex cmsb214-justify-between cmsb214-align-middle cmsb214-cursor-pointer group cmsb214-lg:cursor-default cmsb214-w-full">
5140   <h3 class="footer-title">Scopri NatureLab</h3>
5141   <span class="cmsb214-transition-transform text-natlabGreenOpac cmsb214-lg:hidden" :class="{ 'cmsb214-rotate-180': open }">
5142     <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" width="20" height="20" stroke="currentColor" stroke-width="2" aria-hidden="true">
5143       <path stroke-linecap="round" stroke-linejoin="round" d="M19 9l-7 7-7-7" />
5144     </svg>
5145   </span>
5146</button>
5147<ul class="cmsb214-flex-col cmsb214-gap-4 cmsb214-lg:gap-2 cmsb214-mt-6 cmsb214-lg:mt-2 cmsb214-lg:flex cmsb214-lg:text-sm cmsb214-lg:pr-6" :class="{ 'cmsb214-flex': open, 'cmsb214-hidden': ! open }">
5148  <li><a href="https://www.naturelab.it/chi-siamo/" title="Chi siamo e com'è nata NatureLab" class="cmsb214-hover:underline cmsb214-text-gray-300 cmsb214-hover:text-white">Chi siamo e com'è nata NatureLab</a></li>
5149<li><a href="https://www.naturelab.it/francesco-mando-tacconi/" title="Profilo scientifico del Dottor Francesco Mandò Tacconi, consulente NatureLab" class="cmsb214-hover:underline cmsb214-text-gray-300 cmsb214-hover:text-white">Il nostro consulente scientifico</a></li>
5150  <li><a href="/blog/" title="Blog Lab: la fitoterapia secondo noi" class="cmsb214-hover:underline cmsb214-text-gray-300 cmsb214-hover:text-white">Blog Lab: la fitoterapia secondo noi</a></li>
5151<li><a href="/tutto-sul-silicio-organico/" title="Guida completa sul Silicio Organico" class="cmsb214-hover:underline cmsb214-text-gray-300 cmsb214-hover:text-white">Guida al Silicio Organico</a></li>
5152  <li><a href="https://www.naturelab.it/contact/" title="Contattaci" class="cmsb214-hover:underline cmsb214-text-gray-300 cmsb214-hover:text-white">Contattaci</a></li>
5153  <li><a href="https://www.feedaty.com/recensioni/naturelab?gui=it-IT" target="_blank" rel="noopener noreferrer" title="Dicono di noi" class="cmsb214-hover:underline cmsb214-text-gray-300 cmsb214-hover:text-white">Dicono di noi</a></li>
5154</ul></div> 
5155                    </div>
5156                    <div x-data="{ open: false }" class="pt-4 lg:p-0">         
5157                    <style>.cmsb215-mt-6 {
5158margin-top: 1.5rem
5159}
5160.cmsb215-flex {
5161display: flex
5162}
5163.cmsb215-hidden {
5164display: none
5165}
5166.cmsb215-w-full {
5167width: 100%
5168}
5169.cmsb215-rotate-180 {
5170--tw-rotate: 180deg;
5171transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
5172}
5173.cmsb215-cursor-pointer {
5174cursor: pointer
5175}
5176.cmsb215-flex-col {
5177flex-direction: column
5178}
5179.cmsb215-justify-between {
5180justify-content: space-between
5181}
5182.cmsb215-gap-4 {
5183gap: 1rem
5184}
5185.cmsb215-align-middle {
5186vertical-align: middle
5187}
5188.cmsb215-text-gray-300 {
5189--tw-text-opacity: 1;
5190color: rgb(209 213 219 / var(--tw-text-opacity))
5191}
5192.cmsb215-transition-transform {
5193transition-property: transform;
5194transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
5195transition-duration: 150ms
5196}
5197.cmsb215-hover\:text-white:hover {
5198--tw-text-opacity: 1;
5199color: rgb(255 255 255 / var(--tw-text-opacity))
5200}
5201.cmsb215-hover\:underline:hover {
5202text-decoration-line: underline
5203}
5204@media (min-width: 1024px) {
5205.cmsb215-lg\:mt-2 {
5206margin-top: 0.5rem
5207}
5208.cmsb215-lg\:flex {
5209display: flex
5210}
5211.cmsb215-lg\:hidden {
5212display: none
5213}
5214.cmsb215-lg\:cursor-default {
5215cursor: default
5216}
5217.cmsb215-lg\:gap-2 {
5218gap: 0.5rem
5219}
5220.cmsb215-lg\:pr-6 {
5221padding-right: 1.5rem
5222}
5223.cmsb215-lg\:text-sm {
5224font-size: 0.875rem;
5225line-height: 1.25rem
5226}
5227}</style>
5228<div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><button @click="open = ! open" class="cmsb215-flex cmsb215-justify-between cmsb215-align-middle cmsb215-cursor-pointer group cmsb215-lg:cursor-default cmsb215-w-full">
5229   <h3 class="footer-title">Per saperne di più</h3>
5230   <span class="cmsb215-transition-transform text-natlabGreenOpac cmsb215-lg:hidden" :class="{ 'cmsb215-rotate-180': open }">
5231     <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" width="20" height="20" stroke="currentColor" stroke-width="2" aria-hidden="true">
5232       <path stroke-linecap="round" stroke-linejoin="round" d="M19 9l-7 7-7-7" />
5233     </svg>
5234   </span>
5235</button>
5236<ul class="cmsb215-flex-col cmsb215-gap-4 cmsb215-lg:gap-2 cmsb215-mt-6 cmsb215-lg:mt-2 cmsb215-lg:flex cmsb215-lg:text-sm cmsb215-lg:pr-6" :class="{ 'cmsb215-flex': open, 'cmsb215-hidden': ! open }">
5237  <li><a href="/condizioni-di-vendita/" title="Condizioni di vendita" class="cmsb215-hover:underline cmsb215-text-gray-300 cmsb215-hover:text-white">Condizioni di vendita</a></li>
5238  <li><a href="/metodi-di-pagamento/" title="Modalità di pagamento" class="cmsb215-hover:underline cmsb215-text-gray-300 cmsb215-hover:text-white">Modalità di pagamento</a></li>
5239  <li><a href="/tempi-e-spese-di-spedizione/" title="Tempi di spedizione" class="cmsb215-hover:underline cmsb215-text-gray-300 cmsb215-hover:text-white">Tempi di spedizione</a></li>
5240  <li><a href="/diritto-di-recesso/" title="Diritto di recesso" class="cmsb215-hover:underline cmsb215-text-gray-300 cmsb215-hover:text-white">Diritto di recesso</a></li>
5241</ul></div> 
5242                    </div>
5243                    <div x-data="{ open: false }" class="pt-4 lg:p-0">               
5244                    <style>.cmsb216-mt-6 {
5245margin-top: 1.5rem
5246}
5247.cmsb216-flex {
5248display: flex
5249}
5250.cmsb216-hidden {
5251display: none
5252}
5253.cmsb216-w-full {
5254width: 100%
5255}
5256.cmsb216-rotate-180 {
5257--tw-rotate: 180deg;
5258transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
5259}
5260.cmsb216-cursor-pointer {
5261cursor: pointer
5262}
5263.cmsb216-flex-col {
5264flex-direction: column
5265}
5266.cmsb216-justify-between {
5267justify-content: space-between
5268}
5269.cmsb216-gap-4 {
5270gap: 1rem
5271}
5272.cmsb216-align-middle {
5273vertical-align: middle
5274}
5275.cmsb216-text-gray-300 {
5276--tw-text-opacity: 1;
5277color: rgb(209 213 219 / var(--tw-text-opacity))
5278}
5279.cmsb216-transition-transform {
5280transition-property: transform;
5281transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
5282transition-duration: 150ms
5283}
5284.cmsb216-hover\:text-white:hover {
5285--tw-text-opacity: 1;
5286color: rgb(255 255 255 / var(--tw-text-opacity))
5287}
5288.cmsb216-hover\:underline:hover {
5289text-decoration-line: underline
5290}
5291@media (min-width: 1024px) {
5292.cmsb216-lg\:mt-2 {
5293margin-top: 0.5rem
5294}
5295.cmsb216-lg\:flex {
5296display: flex
5297}
5298.cmsb216-lg\:hidden {
5299display: none
5300}
5301.cmsb216-lg\:cursor-default {
5302cursor: default
5303}
5304.cmsb216-lg\:gap-2 {
5305gap: 0.5rem
5306}
5307.cmsb216-lg\:pr-6 {
5308padding-right: 1.5rem
5309}
5310.cmsb216-lg\:text-sm {
5311font-size: 0.875rem;
5312line-height: 1.25rem
5313}
5314}</style>
5315<div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><button @click="open = ! open" class="cmsb216-flex cmsb216-justify-between cmsb216-align-middle cmsb216-cursor-pointer group cmsb216-lg:cursor-default cmsb216-w-full">
5316   <h3 class="footer-title">Il mio account</h3>
5317   <span class="cmsb216-transition-transform text-natlabGreenOpac cmsb216-lg:hidden" :class="{ 'cmsb216-rotate-180': open }">
5318     <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" width="20" height="20" stroke="currentColor" stroke-width="2" aria-hidden="true">
5319       <path stroke-linecap="round" stroke-linejoin="round" d="M19 9l-7 7-7-7" />
5320     </svg>
5321   </span>
5322</button>
5323<ul class="cmsb216-flex-col cmsb216-gap-4 cmsb216-lg:gap-2 cmsb216-mt-6 cmsb216-lg:mt-2 cmsb216-lg:flex cmsb216-lg:text-sm cmsb216-lg:pr-6" :class="{ 'cmsb216-flex': open, 'cmsb216-hidden': ! open }">
5324  <li><a href="/customer/account/login/" title="Accedi" class="cmsb216-hover:underline cmsb216-text-gray-300 cmsb216-hover:text-white">Accedi</a></li>
5325  <li><a href="/customer/account/create/" title="Crea un Account" class="cmsb216-hover:underline cmsb216-text-gray-300 cmsb216-hover:text-white">Crea un Account</a></li>
5326  <li><a href="/customer/account/forgotpassword/" title="Hai dimenticato la password?" class="cmsb216-hover:underline cmsb216-text-gray-300 cmsb216-hover:text-white">Hai dimenticato la password?</a></li>
5327  <li><a href="/customer/account/login/" title="Dov'è il mio pacco?" class="cmsb216-hover:underline cmsb216-text-gray-300 cmsb216-hover:text-white">Dov'è il mio pacco?</a></li>
5328</ul></div> 
5329                    </div>               
5330                </div>      
5331            </div>         
5332            <div class="w-full lg:w-1/2 lg:border-l  border-white border-opacity-5 ml-0 pl-0 lg:ml-10 lg:pl-10  mb-10 lg:mb-0 pb-6 pt-2">
5333                <style>.cmsb213-m-0 {
5334margin: 0px
5335}
5336.cmsb213-mx-auto {
5337margin-left: auto;
5338margin-right: auto
5339}
5340.cmsb213-block {
5341display: block
5342}
5343.cmsb213-flex {
5344display: flex
5345}
5346.cmsb213-h-10 {
5347height: 2.5rem
5348}
5349.cmsb213-w-10 {
5350width: 2.5rem
5351}
5352.cmsb213-w-full {
5353width: 100%
5354}
5355.cmsb213-flex-wrap {
5356flex-wrap: wrap
5357}
5358.cmsb213-justify-center {
5359justify-content: center
5360}
5361.cmsb213-gap-x-0 {
5362column-gap: 0px
5363}
5364.cmsb213-gap-x-8 {
5365column-gap: 2rem
5366}
5367.cmsb213-gap-y-2 {
5368row-gap: 0.5rem
5369}
5370.cmsb213-gap-y-6 {
5371row-gap: 1.5rem
5372}
5373.cmsb213-p-0 {
5374padding: 0px
5375}
5376.cmsb213-text-center {
5377text-align: center
5378}
5379.cmsb213-text-sm {
5380font-size: 0.875rem;
5381line-height: 1.25rem
5382}
5383.cmsb213-font-medium {
5384font-weight: 500
5385}
5386.cmsb213-uppercase {
5387text-transform: uppercase
5388}
5389.cmsb213-tracking-wider {
5390letter-spacing: 0.05em
5391}
5392.cmsb213-text-gray-400 {
5393--tw-text-opacity: 1;
5394color: rgb(156 163 175 / var(--tw-text-opacity))
5395}
5396.cmsb213-opacity-60 {
5397opacity: 0.6
5398}
5399@media (min-width: 1024px) {
5400.cmsb213-lg\:mx-0 {
5401margin-left: 0px;
5402margin-right: 0px
5403}
5404.cmsb213-lg\:mb-0 {
5405margin-bottom: 0px
5406}
5407.cmsb213-lg\:flex {
5408display: flex
5409}
5410.cmsb213-lg\:justify-between {
5411justify-content: space-between
5412}
5413.cmsb213-lg\:gap-x-4 {
5414column-gap: 1rem
5415}
5416.cmsb213-lg\:gap-y-0 {
5417row-gap: 0px
5418}
5419.cmsb213-lg\:text-start {
5420text-align: start
5421}
5422}</style>
5423<div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><div class="cmsb213-w-full cmsb213-flex cmsb213-flex-wrap cmsb213-justify-center cmsb213-lg:justify-between cmsb213-gap-x-8 cmsb213-gap-y-6">
5424   <div class="cmsb213-text-sm cmsb213-text-gray-400 cmsb213-text-center cmsb213-lg:text-start cmsb213-block cmsb213-lg:flex cmsb213-gap-y-2 cmsb213-gap-x-0 cmsb213-lg:gap-y-0 cmsb213-lg:gap-x-4">
5425   <img class="cmsb213-w-10 cmsb213-h-10 cmsb213-mx-auto cmsb213-lg:mx-0 cmsb213-lg:mb-0 cmsb213-opacity-60" alt="Servizio clienti" width="40" height="40" src="/media/wysiwyg/icons/servizio-clienti.svg" />
5426   <p class="cmsb213-p-0 cmsb213-m-0"><span class="cmsb213-uppercase cmsb213-font-medium cmsb213-tracking-wider">Servizio clienti</span><br />Mob +39 346 7306919 - Tel +39 055 7478357</p>
5427   </div>
5428   <div class="cmsb213-text-sm cmsb213-text-gray-400 cmsb213-text-center cmsb213-lg:text-start cmsb213-block cmsb213-lg:flex cmsb213-gap-y-2 cmsb213-gap-x-0 cmsb213-lg:gap-y-0 cmsb213-lg:gap-x-4">
5429   <img class="cmsb213-w-10 cmsb213-h-10 cmsb213-mx-auto cmsb213-lg:mx-0 cmsb213-lg:mb-0 cmsb213-opacity-60" alt="Pagamenti sicuri" width="40" height="40" src="/media/wysiwyg/icons/pagamento-sicuro.svg" />
5430   <p class="cmsb213-p-0 cmsb213-m-0"><span class="cmsb213-uppercase cmsb213-font-medium cmsb213-tracking-wider">Pagamenti sicuri</span><br />Transazioni con crittografia SSL</p>
5431   </div>
5432   <div class="cmsb213-text-sm cmsb213-text-gray-400 cmsb213-text-center cmsb213-lg:text-start cmsb213-block cmsb213-lg:flex cmsb213-gap-y-2 cmsb213-gap-x-0 cmsb213-lg:gap-y-0 cmsb213-lg:gap-x-4">
5433   <img class="cmsb213-w-10 cmsb213-h-10 cmsb213-mx-auto cmsb213-lg:mx-0 cmsb213-lg:mb-0 cmsb213-opacity-60" alt="Conseg
5433na gratuita" width="40" height="40" src="/media/wysiwyg/icons/consegna-gratuita.svg" />
5434   <p class="cmsb213-p-0 cmsb213-m-0"><span class="cmsb213-uppercase cmsb213-font-medium cmsb213-tracking-wider">Spedizione gratuita</span><br />In Italia da <strong>69,00 €</strong></p>
5435   </div>
5436   <div class="cmsb213-text-sm cmsb213-text-gray-400 cmsb213-text-center cmsb213-lg:text-start cmsb213-block cmsb213-lg:flex cmsb213-gap-y-2 cmsb213-gap-x-0 cmsb213-lg:gap-y-0 cmsb213-lg:gap-x-4">
5437   <img class="cmsb213-w-10 cmsb213-h-10 cmsb213-mx-auto cmsb213-lg:mx-0 cmsb213-lg:mb-0 cmsb213-opacity-60" alt="Consegna veloce" width="40" height="40" src="/media/wysiwyg/icons/consegna-veloce.svg" />
5438   <p class="cmsb213-p-0 cmsb213-m-0"><span class="cmsb213-uppercase cmsb213-font-medium cmsb213-tracking-wider">Consegna veloce</span><br />In 24-48-72 ore, secondo le zone</p>
5439   </div>
5440</div></div>  
5441            </div>
5442        </div> 
5443        <div class="container">
5444            <style>.cmsb208-mb-6 {
5445margin-bottom: 1.5rem
5446}
5447.cmsb208-ml-0 {
5448margin-left: 0px
5449}
5450.cmsb208-ml-4 {
5451margin-left: 1rem
5452}
5453.cmsb208-flex {
5454display: flex
5455}
5456.cmsb208-w-full {
5457width: 100%
5458}
5459.cmsb208-flex-col {
5460flex-direction: column
5461}
5462.cmsb208-flex-wrap {
5463flex-wrap: wrap
5464}
5465.cmsb208-items-baseline {
5466align-items: baseline
5467}
5468.cmsb208-justify-center {
5469justify-content: center
5470}
5471.cmsb208-justify-between {
5472justify-content: space-between
5473}
5474.cmsb208-gap-2 {
5475gap: 0.5rem
5476}
5477.cmsb208-gap-3 {
5478gap: 0.75rem
5479}
5480.cmsb208-gap-6 {
5481gap: 1.5rem
5482}
5483.cmsb208-border-l-0 {
5484border-left-width: 0px
5485}
5486.cmsb208-border-white {
5487--tw-border-opacity: 1;
5488border-color: rgb(255 255 255 / var(--tw-border-opacity))
5489}
5490.cmsb208-border-opacity-5 {
5491--tw-border-opacity: 0.05
5492}
5493.cmsb208-py-2 {
5494padding-top: 0.5rem;
5495padding-bottom: 0.5rem
5496}
5497.cmsb208-pb-3 {
5498padding-bottom: 0.75rem
5499}
5500.cmsb208-pb-4 {
5501padding-bottom: 1rem
5502}
5503.cmsb208-pl-0 {
5504padding-left: 0px
5505}
5506.cmsb208-pt-10 {
5507padding-top: 2.5rem
5508}
5509.cmsb208-text-center {
5510text-align: center
5511}
5512.cmsb208-opacity-60 {
5513opacity: 0.6
5514}
5515@media (min-width: 1024px) {
5516.cmsb208-lg\:mb-0 {
5517margin-bottom: 0px
5518}
5519.cmsb208-lg\:ml-10 {
5520margin-left: 2.5rem
5521}
5522.cmsb208-lg\:w-1\/2 {
5523width: 50%
5524}
5525.cmsb208-lg\:w-1\/3 {
5526width: 33.333333%
5527}
5528.cmsb208-lg\:w-2\/3 {
5529width: 66.666667%
5530}
5531.cmsb208-lg\:flex-row {
5532flex-direction: row
5533}
5534.cmsb208-lg\:flex-nowrap {
5535flex-wrap: nowrap
5536}
5537.cmsb208-lg\:justify-start {
5538justify-content: flex-start
5539}
5540.cmsb208-lg\:border-l {
5541border-left-width: 1px
5542}
5543.cmsb208-lg\:pl-10 {
5544padding-left: 2.5rem
5545}
5546.cmsb208-lg\:text-start {
5547text-align: start
5548}
5549}</style>
5550<div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><div class="cmsb208-flex cmsb208-flex-col cmsb208-lg:flex-row cmsb208-justify-between">
5551 <div class="cmsb208-w-full cmsb208-lg:w-1/2 cmsb208-pt-10">             
5552  <div class="cmsb208-w-full cmsb208-flex cmsb208-flex-wrap cmsb208-lg:flex-nowrap cmsb208-gap-2">  
5553   <div class="cmsb208-w-full cmsb208-lg:w-2/3">
5554<h3 class="footer-title cmsb208-pb-3 cmsb208-text-center">Acquista con serenità</h3>                        
5555    <div class="cmsb208-w-full cmsb208-flex cmsb208-flex-wrap cmsb208-gap-3 cmsb208-justify-center">
5556<img class="cmsb208-opacity-60" alt="Visa" width="40" height="27" src="/media/wysiwyg/icons/visa.svg" loading="lazy" />
5557<img class="cmsb208-opacity-60" alt="Mastercard" width="40" height="27" src="/media/wysiwyg/icons/mastercard.svg" loading="lazy" />
5558<img class="cmsb208-opacity-60" alt="Maestro" width="40" height="27" src="/media/wysiwyg/icons/maestro.svg" loading="lazy" />
5559<img class="cmsb208-opacity-60" alt="PostePay" width="40" height="27" src="/media/wysiwyg/icons/poste-pay.svg" loading="lazy" />
5560<img class="cmsb208-opacity-60" alt="PayPal" width="40" height="27" src="/media/wysiwyg/icons/paypal.svg" loading="lazy" />                         
5561<img class="cmsb208-opacity-60" alt="Bonifico bancario" width="77" height="20" src="/media/wysiwyg/icons/bonifico.svg" loading="lazy" />
5562<img class="cmsb208-opacity-60" alt="Contrassegno contanti" width="116" height="20" src="/media/wysiwyg/icons/contrassegno.svg" loading="lazy"/> 
5563    </div> 
5564   </div>             
5565   <div class="cmsb208-w-full cmsb208-lg:w-1/3"><h3 class="footer-title cmsb208-pb-3 cmsb208-text-center">Ricevi dove vuoi</h3>                        
5566     <div class="cmsb208-flex cmsb208-flex-wrap cmsb208-gap-3 cmsb208-justify-center">      
5567<img class="cmsb208-opacity-60 cmsb208-py-2" class="cmsb208-ml-4" alt="Corriere GLS" width="59" height="20" src="/media/wysiwyg/icons/gls.svg" loading="lazy" />        
5568<img class="cmsb208-opacity-60" alt="TNT Express" width="55" height="20" src="/media/wysiwyg/icons/tnt-express.svg" loading="lazy" />
5569<img class="cmsb208-opacity-60" alt="Fedex" width="67" height="20" src="/media/wysiwyg/icons/fedex.svg" loading="lazy" />        
5570    </div>
5571  </div>
5572 </div>
5573</div>
5574<div class="cmsb208-w-full cmsb208-lg:w-1/2 cmsb208-pt-10 cmsb208-mb-6 cmsb208-lg:mb-0 cmsb208-border-l-0 cmsb208-lg:border-l cmsb208-ml-0 cmsb208-pl-0 cmsb208-border-white cmsb208-border-opacity-5 cmsb208-lg:ml-10 cmsb208-lg:pl-10 ">
5575<h3 class="footer-title cmsb208-pb-4 cmsb208-text-center cmsb208-lg:text-start">E-commerce certificato sicuro e affidabile</h3>                           
5576<ul class="cmsb208-gap-6 cmsb208-flex cmsb208-items-baseline cmsb208-justify-center cmsb208-lg:justify-start">
5577<li><a href="https://www.aicel.org/categorie/cura-della-persona-14/naturelab-integratori-alimentari-fitoterapici-3624/" title="Aicel certificato Sono Sicuro" rel="noopener" target="_blank"><img alt="Sito certificato Aicel negozio #1989" width="200" height="70" src="/media/wysiwyg/icons/aicel-sito-certificato-1989-white.svg" class="cmsb208-opacity-60" loading="lazy" /></a> </li>
5578</ul>
5579</div>
5580</div>  </div>             
5581        </div> 
5582        <div class="container">
5583            <style>.cmsb207-mt-0 {
5584margin-top: 0px
5585}
5586.cmsb207-block {
5587display: block
5588}
5589.cmsb207-flex {
5590display: flex
5591}
5592.cmsb207-w-full {
5593width: 100%
5594}
5595.cmsb207-flex-col {
5596flex-direction: column
5597}
5598.cmsb207-flex-col-reverse {
5599flex-direction: column-reverse
5600}
5601.cmsb207-items-center {
5602align-items: center
5603}
5604.cmsb207-justify-center {
5605justify-content: center
5606}
5607.cmsb207-justify-between {
5608justify-content: space-between
5609}
5610.cmsb207-gap-6 {
5611gap: 1.5rem
5612}
5613.cmsb207-text-center {
5614text-align: center
5615}
5616.cmsb207-text-xs {
5617font-size: 0.75rem;
5618line-height: 1rem
5619}
5620.cmsb207-uppercase {
5621text-transform: uppercase
5622}
5623.cmsb207-text-gray-300 {
5624--tw-text-opacity: 1;
5625color: rgb(209 213 219 / var(--tw-text-opacity))
5626}
5627.cmsb207-hover\:text-white:hover {
5628--tw-text-opacity: 1;
5629color: rgb(255 255 255 / var(--tw-text-opacity))
5630}
5631.cmsb207-hover\:underline:hover {
5632text-decoration-line: underline
5633}
5634@media (min-width: 768px) {
5635.cmsb207-md\:justify-start {
5636justify-content: flex-start
5637}
5638}
5639@media (min-width: 1024px) {
5640.cmsb207-lg\:mt-10 {
5641margin-top: 2.5rem
5642}
5643.cmsb207-lg\:w-2\/3 {
5644width: 66.666667%
5645}
5646.cmsb207-lg\:flex-row {
5647flex-direction: row
5648}
5649}</style>
5650<div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><div class="cmsb207-flex cmsb207-flex-col-reverse cmsb207-lg:flex-row cmsb207-justify-between cmsb207-items-center cmsb207-mt-0 cmsb207-lg:mt-10">
5651<ul class="cmsb207-flex cmsb207-flex-col cmsb207-lg:flex-row cmsb207-justify-center cmsb207-md:justify-start cmsb207-gap-6  cmsb207-text-center cmsb207-w-full cmsb207-lg:w-2/3">
5652<li><a href="https://www.naturelab.it/la-tua-privacy/" title="La tua Privacy" class="cmsb207-hover:underline cmsb207-text-gray-300 cmsb207-hover:text-white cmsb207-uppercase cmsb207-text-xs">La tua Privacy</a></li>
5653<li><a href="https://www.naturelab.it/cookie-policy/" title="Informativa estesa sui Cookies" class="cmsb207-hover:underline cmsb207-text-gray-300 cmsb207-hover:text-white cmsb207-uppercase cmsb207-text-xs">Informativa estesa sui Cookies</a></li>
5654<li><a href="https://www.naturelab.it/cookie-settings/" title="Imposta Cookies" class="cmsb207-hover:underline cmsb207-text-gray-300 cmsb207-hover:text-white cmsb207-uppercase cmsb207-text-xs">Imposta Cookies</a></li>
5655<li><a href="https://www.naturelab.it/html-sitemap/" title="Mappa del sito" class="cmsb207-hover:underline cmsb207-text-gray-300 cmsb207-hover:text-white cmsb207-uppercase cmsb207-text-xs">Mappa del sito</a></li>
5656</ul>
5657
5658<ul class="flex flex-row justify-center lg:justify-end items-center gap-3 my-10 lg:my-0 w-full lg:w-1/3" aria-label="Seguici sui nostri social">
5659    <li>
5660        <a href="https://www.facebook.com/NatureLab.Srl" rel="noopener" target="_blank" aria-label="Seguici su Facebook" title="Seguici su Facebook">
5661            <svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="#000000" width="800px" height="24" viewbox="0 0 32 32" class="w-8 h-8 fill-gray-400 hover:fill-white" role="img"><path d="M21.95 5.005l-3.306-.004c-3.206 0-5.277 2.124-5.277 5.415v2.495H10.05v4.515h3.317l-.004 9.575h4.641l.004-9.575h3.806l-.003-4.514h-3.803v-2.117c0-1.018.241-1.533 1.566-1.533l2.366-.001.01-4.256z"></path></svg>
5662        </a>
5663    </li>
5664    <li>
5665        <a href="https://www.instagram.com/naturelab_/" rel="noopener" target="_blank" aria-label="Seguici su Instagram" title="Seguici su Instagram">
5666           <svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="#000000" width="800px" height="24" viewbox="0 0 32 32" class="w-8 h-8 fill-gray-400 hover:fill-white" role="img"><path d="M20.445 5h-8.891A6.559 6.559 0 0 0 5 11.554v8.891A6.559 6.559 0 0 0 11.554 27h8.891a6.56 6.56 0 0 0 6.554-6.555v-8.891A6.557 6.557 0 0 0 20.445 5zm4.342 15.445a4.343 4.343 0 0 1-4.342 4.342h-8.891a4.341 4.341 0 0 1-4.341-4.342v-8.891a4.34 4.34 0 0 1 4.341-4.341h8.891a4.342 4.342 0 0 1 4.341 4.341l.001 8.891z"></path><path d="M16 10.312c-3.138 0-5.688 2.551-5.688 5.688s2.551 5.688 5.688 5.688 5.688-2.551 5.688-5.688-2.55-5.688-5.688-5.688zm0 9.163a3.475 3.475 0 1 1-.001-6.95 3.475 3.475 0 0 1 .001 6.95zM21.7 8.991a1.363 1.363 0 1 1-1.364 1.364c0-.752.51-1.364 1.364-1.364z"></path></svg>
5667        </a>
5668    </li>
5669    <li>
5670        <a href="https://www.pinterest.com/naturelab/" rel="noopener" target="_blank" aria-label="Seguici su Pinterest" title="Seguici su Pinterest">
5671           <svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="#000000" width="800px" height="24" viewbox="0 0 32 32" class="w-8 h-8 fill-gray-400 hover:fill-white" role="img"><path d="M16.292 5C10.536 5 7.48 8.866 7.48 13.077c0 1.955 1.039 4.392 2.707 5.168.253.118.387.064.443-.18.047-.185.273-1.089.373-1.511a.402.402 0 0 0-.095-.386c-.55-.667-.988-1.896-.988-3.041 0-2.942 2.228-5.787 6.021-5.787 3.28 0 5.571 2.23 5.571 5.426 0 3.61-1.82 6.108-4.191 6.108-1.309 0-2.291-1.081-1.978-2.413.378-1.584 1.106-3.298 1.106-4.438 0-1.026-.552-1.883-1.685-1.883-1.341 0-2.415 1.385-2.415 3.241 0 1.182.4 1.978.4 1.978s-1.323 5.593-1.563 6.634c-.413 1.765.051 4.625.094 4.876.021.134.172.18.252.066.129-.175 1.725-2.565 2.174-4.292l.828-3.171c.439.829 1.707 1.531 3.061 1.531 4.021 0 6.923-3.703 6.923-8.299C24.52 8.301 20.92 5 16.292 5z"></path></svg>
5672        </a>
5673    </li>
5674</ul> 
5675</div>
5676</div>  
5677        </div>       
5678    </div>                                                                                                                                 
5679            <div class="container text-sm lg:text-xs text-gray-400 my-6 text-center lg:text-start">
5680<p>Copyright© 2014-2026  <strong>NatureLab Srl</strong> - Tutti i diritti riservati<br>NatureLab® è un marchio registrato: 302018000023751<br>Tel +39 055 7478357 - Mob +39 346 7306919 - <a href="mailto:[email protected]" class="text-white hover:underline">[email protected]</a></p>
5681    <p class="py-1">Sede Legale: Via G. Berchet 1 - 50129 Firenze (Italia)<br>Sede Operativa: c/o MOST' Str. S. Secondo, 15 - 12060 Pocapaglia CN (Italia)<br>P. Iva IT06455550480 - REA FI-629978 - Cap. Soc. € 10.200,00 (<span class="italic">interamente versato</span>)</p>
5682    <p class="italic mt-6">È vietata la riproduzione (anche parziale) dei testi, dei loghi e delle immagini dei prodotti che sono di proprietà de
5682i rispettivi marchi o dell'azienda. Le informazioni contenute in questo sito sono fornite a scopo puramente informativo ed educativo. Non intendono sostituire il parere di un professionista medico o di un dietologo qualificato. Ogni individuo è unico, e le soluzioni naturali possono variare in efficacia da persona a persona.</p>
5683
5684</div>
5685    </div>
5686</div>
5687<div x-data="{ showScript: false }" x-intersect="showScript = true">
5688    <template x-if="showScript">
5689        
5689<script type="text/javascript" async src="https://userlike-cdn-widgets.s3-eu-west-1.amazonaws.com/42165bce03a5db1d53cd3ed989845ed61738bd7aea569cabf0c5ce9a287764f1.js"></script>
5689
5690    </template>
5691</div>
5692<div id="newsletter-modal" x-data="Object.assign({}, hyva.modal(), initNewsletterFormModal())">
5693
5694    <div x-cloak    x-bind="overlay('dialog6ac2bbed30e8a')"
5695    x-spread="overlay('dialog6ac2bbed30e8a')"
5696    class="fixed inset-0 bg-black bg-opacity-50 z-50">
5697    <div class="fixed flex justify-center items-center text-left z-40 inset-0">
5698        <div x-ref="dialog6ac2bbed30e8a" role="dialog" aria-modal="true"
5699                                                     aria-labelledby="modal-title"
5700                         class="inline-block bg-white shadow-xl max-h-screen overflow-auto overscroll-y-contain relative rounded-xl flex flex-col lg:flex-row mx-8 sm:mx-16 lg:w-1/2 p-6">
5701            
5702        <button type="button"
5703                @click="closeModal()"
5704                aria-label="Chiudi"
5705                class="absolute right-4 top-4 text-gray-400"
5706        >
5707        
5708           <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="fill-current" width="28" height="28" aria-hidden="true" focusable="false">
5709  <path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path>
5710</svg>
5711        </button>
5712
5713        <div class="w-auto lg:h-auto w-full lg:w-1/2 p-2">
5714        <svg alt="Iscriviti alla nostra newsletter" id="uuid-d27a452a-42f5-48fd-9992-af10e782c332" xmlns="http://www.w3.org/2000/svg" class="w-full h-full" viewBox="0 0 3384.99 2056.75"><g id="uuid-c5b77499-a8c2-40c6-9948-3befca9eff99"><path d="m2575.17,263.13l-184.71-90.35c-14.73-7.2-11.34-29.1,4.88-31.51L3299.38,6.57c6.06-.9,8.32,7.65,2.61,9.87l-690.84,267.88c-6.43,2.49-10.66,8.68-10.66,15.57v241.03c0,14.25,16.7,21.95,27.54,12.7l152.73-130.33c5.7-4.87,13.95-5.34,20.17-1.15l215.64,145.27c7.86,5.29,18.55,2.99,23.53-5.07L3377.68,16.45c2.78-4.49-2.22-9.75-6.85-7.2l-497.18,274.51c-88.93,49.1-159.26,126.03-200.31,218.95-33.49,75.8-74.31,160.3-102.84,193-313.79,359.64-950.58,152.16-922.27,344.44,47.97,325.82,341.43-166.5-5.01-188.7-415.56-26.63-916.31,797.72-971.91,816.26-55.6,18.53-653.27-436.61-610.29-445.88,42.99-9.27,1069.04-148.27,1124.64-92.67,55.6,55.6,118.58,734.21,74.13,787.68-46.36,55.77-1062.04,185.19-1148.78,111.06C24.25,1953.77-12.92,1454.95,16.38,1324.8" style="fill:none; stroke:#0b4850; stroke-linecap:round; stroke-linejoin:round; stroke-width:13.02px;"/><circle cx="669.91" cy="1597.69" r="145.57" style="fill:#fff; stroke-width:0px;"/><path d="m703.11,1451.34c-95.61-14.18-184.61,51.82-198.79,147.43-4.61,31.05-.78,62.77,11.09,91.84-2.15-25.02,5.66-62.66,50.31-94.69,61.84-44.31,139.14-53.79,173.72-70.14,34.58-16.35,44.8-39.52,44.8-39.52,0,0,10.69,201.73-156.01,262.7-7.18,2.81-14.8,4.3-22.5,4.42-22.62,3.41-70.26-33.44-22.99-92.89,17.04-20.92,38.34-37.98,62.48-50.04,4.94-2.47,13.88-7.41,24.7-12.77,12.01-5.64,23.56-12.19,34.58-19.58,13.87-9.16,27.24-19.05,40.06-29.64,0,0-19.63,13.06-43.12,25.36-11.53,6.19-23.46,11.59-35.71,16.18-11.36,4.62-20.89,8.94-26.06,11.61-9.63,5.21-68.24,32.11-89.85,86.69-14.82,29.64-1.73,54.33.59,57.15,25.34,31.17,56.24,45.42,101.26,52.11,95.61,14.21,184.63-51.78,198.84-147.39,14.21-95.61-51.78-184.63-147.39-198.84Z" style="fill:#8ecede; stroke-width:0px;"/><path d="m785.54,1487.22s-10.27,23.24-44.83,39.52c-34.55,16.28-111.78,25.91-173.62,70.21-44.68,32.01-52.41,69.79-50.36,94.69-36.55-89.48,6.36-191.64,95.84-228.18,57.1-23.32,122.25-14.86,171.51,22.26l1.46,1.51Z" style="fill:#8ecede; stroke-width:0px;"/></g></svg>            
5715        </div>
5716        <div class="text-center bg-white lg:text-left lg:grow pt-2 lg:pl-6 lg:pt-0">
5717                <div id="modal-title" class="text-lg md:text-2xl leading-9 mb-1 lg:mb-2">
5718                    Iscriviti alla nostra newsletter
5719                </div>
5720                <div class="text-gray-600">
5721                    Unisciti a noi e approfitta di contenuti esclusivi e di offerte personalizzate.
5722                </div>
5723                <div class="text-gray-600">
5724                    Massimo un&#039;e-mail a settimana, promesso!
5725                </div>
5726                <form action="https://www.naturelab.it/newsletter/subscriber/new/"
5727                      method="post"
5728                      class="flex flex-col gap-2 mt-2 lg:gap-4 lg:mt-6 lg:items-end"
5729                      @submit.prevent="submitForm()"
5730                      id="newsletter-validate-modal"
5731                >
5732                    <label class="sr-only"
5733                           for="newsletter-subscribe-modal"
5734                           aria-label="Indirizzo&#x20;email"
5735                    >
5736                        Indirizzo email
5737                    </label>
5738                    <input  x-focus-first
5739                            type="email"
5740                            name="modal_email"
5741                            id="newsletter-subscribe-modal"
5742                            required
5743                            class="border-gray-300 rounded-md border p-3 w-full 
5744                            shadow-sm focus:border-natlabLigthBlue focus:ring focus:ring-natlabLigthBlue focus:ring-opacity-50"
5745                            placeholder="Inserisci&#x20;la&#x20;tua&#x20;email"
5746                    />
5747                    <input name="form_key" type="hidden" value="xzuVQOR9Ekj125Es" />
5748                    <!-- Aggiunta del campo checkbox per la privacy policy -->
5749                    <div class="privacy-policy-checkbox w-full flex">
5750                        <input type="checkbox" id="privacy-policy-modal" name="privacy_policy" required class="checkbox">
5751                        <label for="privacy-policy-modal" class="text-sm text-gray-600">
5752                            Ho letto e accetto la   
5753                            <a
5754                            href="https://www.naturelab.it/la-tua-privacy/"
5755                            title="La tua Privacy"
5756                            class="underline hover:text-black"
5757                            >
5758                            Privacy Policy
5759                         </a>
5760                        </label>
5761                    </div>
5762                    <button type="submit"
5763                            class="btn btn-primary-blu text-center px-8 mx-auto"
5764                    >
5765                        Iscriviti
5766                    </button>
5767                    
5768                    <template x-if="displayErrorMessage">
5769                        <p class="flex items-center">
5770                            <template x-for="errorMessage in errorMessages">
5771                                <span x-html="errorMessage"></span>
5772                            </template>
5773                        </p>
5774                    </template>
5775                </form>
5776
5777                
5778
5779            </div>        </div>
5780    </div>
5781    </div>
5782</div>
5783
5784<script>
5785    function initNewsletterFormModal() {
5786        const closedCookieName = 'newsletter-modal-closed';
5787
5788        /**
5789         * Add closedCookieName to list of first-party cookies
5790         * otherwise it would keep reappearing while cookie consent is missing
5791         */
5792        window.cookie_consent_config['necessary'] = [].concat(
5793            window.cookie_consent_config['necessary'] || [],
5794            [closedCookieName]
5795        );
5796
5797        return {
5798            closedCookieName: closedCookieName,
5799            errors: 0,
5800            hasCaptchaToken: 0,
5801            displayErrorMessage: false,
5802            errorMessages: [],
5803            init() {
5804                /**
5805                 * Customize when this modal should appear here
5806                 */
5807                this.shouldShowModal() && setTimeout(() => {
5808                    this.show('dialog6ac2bbed30e8a');
5809                }, 120000);
5810            },
5811            closeModal() {
5812                this.hide();
5813                this.setCloseCookie();
5814            },
5815            setErrorMessages(messages) {
5816                this.errorMessages = [messages]
5817                this.displayErrorMessage = this.errorMessages.length
5818            },
5819            submitForm() {
5820                const $form = document.querySelector('#newsletter-validate-modal');
5821                
5822                if (this.errors === 0) {
5823                    this.setCloseCookie();
5824                    $form.submit();
5825                }
5826            },
5827            setCloseCookie() {
5828                hyva.setCookie(this.closedCookieName, true, 365);
5829            },
5830            shouldShowModal() {
5831                return !hyva.getCookie(this.closedCookieName);
5832            }
5833        }
5834    }
5835</script>
5835
5836</div></footer>
5836<script>
5837    'use strict';
5838
5839    (function() {
5840        const allGroups = ['0'];
5841
5842        const resolveAllowEvent = {
5843            getAllowedGroups: () => allGroups
5844        }
5845
5846        const resolveAcceptEvent = {
5847            getAllowedGroups: () => hyva.amStorage.getStorage('AmastyCookieGroups').getCheckedGroupIds() ?? []
5848        }
5849
5850        function updateConsent () {
5851            if (!window.amConsentManager) {
5852                return;
5853            }
5854
5855            window.amConsentManager.updateConsent(
5856                window.amConsentManager.getConsentTypeStateByGroupIds(this.getAllowedGroups())
5857            );
5858        }
5859
5860        window.addEventListener('cookiebar-action-accept-finish', updateConsent.bind(resolveAcceptEvent));
5861        window.addEventListener('cookiebar-action-allow-finish', updateConsent.bind(resolveAllowEvent));
5862    })()
5863</script>
vendor: 1 bytes, line 5863
5863
5864<script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@id":"https:\/\/www.naturelab.it\/","name":"Home"}},{"@type":"ListItem","position":2,"item":{"@id":"https:\/\/www.naturelab.it\/contact\/","name":"Come possiamo aiutarti?"}}]}</script>
5864<div data-mage-init='{"Swissup_Firecheckout/js/prefetch": {}}'></div>
5865<script>
5866    (() => {
5867        function src_default(Alpine) {
5868            Alpine.directive("intersect", (el, { value, expression, modifiers }, { evaluateLater, cleanup }) => {
5869                let evaluate = evaluateLater(expression);
5870                let options = {
5871                    rootMargin: getRootMargin(modifiers),
5872                    threshold: getThreshhold(modifiers)
5873                };
5874                let observer = new IntersectionObserver((entries) => {
5875                    entries.forEach((entry) => {
5876                        if (entry.isIntersecting === (value === "leave"))
5877                            return;
5878                        evaluate();
5879                        modifiers.includes("once") && observer.disconnect();
5880                    });
5881                }, options);
5882                observer.observe(el);
5883                cleanup(() => {
5884                    observer.disconnect();
5885                });
5886            });
5887        }
5888        function getThreshhold(modifiers) {
5889            if (modifiers.includes("full"))
5890                return 0.99;
5891            if (modifiers.includes("half"))
5892                return 0.5;
5893            if (!modifiers.includes("threshold"))
5894                return 0;
5895            let threshold = modifiers[modifiers.indexOf("threshold") + 1];
5896            if (threshold === "100")
5897                return 1;
5898            if (threshold === "0")
5899                return 0;
5900            return Number(`.${threshold}`);
5901        }
5902        function getLengthValue(rawValue) {
5903            let match = rawValue.match(/^(-?[0-9]+)(px|%)?$/);
5904            return match ? match[1] + (match[2] || "px") : void 0;
5905        }
5906        function getRootMargin(modifiers) {
5907            const key = "margin";
5908            const fallback = "0px 0px 0px 0px";
5909            const index = modifiers.indexOf(key);
5910            if (index === -1)
5911                return fallback;
5912            let values = [];
5913            for (let i = 1; i < 5; i++) {
5914                values.push(getLengthValue(modifiers[index + i] || ""));
5915            }
5916            values = values.filter((v) => v !== void 0);
5917            return values.length ? values.join(" ").trim() : fallback;
5918        }
5919
5920        document.addEventListener("alpine:init", () => {
5921            window.Alpine.plugin(src_default);
5922        });
5923    })();
5924</script>
vendor: 1 bytes, line 5924
5924
5925<script>
5926    for (const [selector, deferUntil] of Object.entries({".product-slider section[x-data]":"intersect",".product-info [x-data]":"intersect","#filters-content [x-data]":"intersect","#review_form":"intersect","section[x-data^=initRecentlyViewedProductsComponent]":"intersect","div[x-data^=initBundleOptions]":"intersect","#product_addtocart_form [x-data]":"intersect","#notice-cookie-block":"intersect"})) {
5927        document.querySelectorAll(selector).forEach(el => el.setAttribute('x-defer', `${deferUntil}`));
5928    }
5929</script>
vendor: 1 bytes, line 5929
5929
5930<script>
5931    (function () {
5932        "use strict";
5933
5934        const hasAlpine = new Promise(resolve => {
5935            window.addEventListener('alpine:initialized', resolve, {once: true, passive: true});
5936        });
5937
5938        const hasInteract = new Promise(resolve => {
5939            (events => {
5940                const onInteract = () => {
5941                    resolve();
5942                    events.forEach(type => window.removeEventListener(type, onInteract));
5943                }
5944                events.forEach(type => window.addEventListener(type, onInteract, {once: true, passive: true}))
5945            })(['touchstart', 'mouseover', 'wheel', 'scroll', 'keydown'])
5946        });
5947
5948        const onIntersect = (el) => {
5949            return new Promise(resolve => {
5950                const observer = new IntersectionObserver(entries => {
5951                    for (const entry of entries) {
5952                        if (entry.isIntersecting) {
5953                            observer.disconnect()
5954                            resolve();
5955                        }
5956                    }
5957                }, {});
5958                observer.observe(el);
5959            });
5960        }
5961
5962        function runComponent(el) {
5963            hasAlpine.then(() => {
5964                el.removeAttribute('x-ignore');
5965                queueMicrotask(() => Alpine.initTree(el));
5966            });
5967        }
5968
5969        function initDeferredComponents() {
5970            document.querySelectorAll('[x-data][x-defer]').forEach(el => {
5971                el.setAttribute('x-ignore', '');
5972                const deferUntil = (el.getAttribute('x-defer') || '').trim();
5973                switch (deferUntil) {
5974                    case 'interact':
5975                        hasInteract.then(() => runComponent(el));
5976                        break;
5977                    case 'intersect':
5978                        onIntersect(el).then(() => runComponent(el))
5979                        break;
5980                    case 'idle':
5981                        window.requestIdleCallback
5982                            ? window.requestIdleCallback(() => runComponent(el), {timeout: 4000})
5983                            : setTimeout(() => runComponent(el), 4000);
5984                        break;
5985                    case 'eager':
5986                        runComponent(el);
5987                        break;
5988                    default:
5989                        if (deferUntil.startsWith('event:') && deferUntil.length > 6) {
5990                            window.addEventListener(deferUntil.substring(6), () => runComponent(el), {once: true, passive: true});
5991                        }
5992                }
5993            });
5994        }
5995
5996        window.addEventListener('alpine:init', initDeferredComponents, {once: true, passive: true});
5997    })()
5998</script>
5998
5999
6000<script>
6001    function createAjaxLoader() {
6002        const loader = document.createElement('div');
6003        loader.className = 'absolute inset-0 flex justify-center items-center loader';
6004        loader.innerHTML = `<svg height="24" width="24" viewBox="0 0 24 24" stroke="currentColor" fill="none" stroke-width="2" stroke-linecap="round" class="w-full h-full p-2" role="img">
6005    <circle style="opacity: .3;" cx="12" cy="12" r="10"/>
6006    <path fill="none" stroke-width="2" d="M12,2 a10,10 0 0,1 10,10"/>
6007</svg>`;
6008        return loader;
6009    }
6010
6011    function addAjaxLoader(button, loader) {
6012        button.setAttribute('data-label', button.getAttribute('aria-label'));
6013        button.removeAttribute('aria-label');
6014        button.prepend(loader);
6015        button.classList.add('relative', '[&>:not(.loader)]:invisible');
6016        button.disabled = true;
6017    }
6018
6019    function removeAjaxLoader(button, loader) {
6020        button.setAttribute('aria-label', button.getAttribute('data-label'));
6021        button.removeAttribute('data-label');
6022        loader.remove();
6023        button.classList.remove('[&>:not(.loader)]:invisible');
6024        button.disabled = false;
6025    }
6026
6027    async function addAjaxCartForm(form, extraDelay = 500) {
6028        if (!form) return;
6029        event.preventDefault();
6030
6031        if (!form.reportValidity()) {
6032            return form.submit();
6033        }
6034
6035        const formData = new FormData(form);
6036        const button = form.querySelector('button:not([type=button], [type=reset])')
6037            ? form.querySelector('button:not([type=button], [type=reset])')
6038            : document.getElementById('product-addtocart-button');
6039        const loader = createAjaxLoader(button);
6040        const formUenc = hyva.getUenc();
6041        const postUrl = event.target.action.replace('%25uenc%25', formUenc);
6042
6043        let bodyUrl = new URLSearchParams(formData);
6044        bodyUrl.append("uenc", formUenc);
6045        addAjaxLoader(button, loader);
6046
6047        try {
6048            const response = await fetch(postUrl, {
6049                method: 'POST',
6050                body: bodyUrl.toString(),
6051                mode: "cors",
6052                credentials: "include",
6053                headers: {
6054                    'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
6055                    'X-Requested-With': 'XMLHttpRequest'
6056                }
6057            });
6058
6059            if (!response.ok) {
6060                return form.submit();
6061            }
6062
6063            if (response.redirected) {
6064                return window.location.href = response.url;
6065            }
6066
6067            const responseData = await response.json();
6068            if (responseData.backUrl) {
6069                return window.location.href = data.backUrl;
6070            }
6071
6072            window.dispatchEvent(new CustomEvent("reload-customer-section-data"));
6073
6074                            const productFormData = {
6075                    productId: formData.get("product"),
6076                    options: {}
6077                }
6078
6079                for (const formEntry of formData.entries()) {
6080                    if (!formEntry[0].startsWith('super_attribute')) continue;
6081                    const formEntryOption = { [formEntry[0].match(/\[(\d+)\]/)[1]]: formEntry[1] };
6082                    productFormData.options = { ...productFormData.options, ...formEntryOption };
6083                }
6084
6085                window.dispatchEvent(new CustomEvent('open-ajax-cart', { detail: productFormData }));
6086                    } catch (err) {
6087            console.warn(err);
6088            window.dispatchEvent(new CustomEvent('product-addtocart-error'));
6089
6090            if (typeof window.dispatchMessages === "undefined") return;
6091            window.dispatchMessages([{
6092                text:'Problema per aggiungere Il prodotto al tuo carrello: contattaci.',
6093                type: 'error'
6094            }], 5000);
6095        } finally {
6096            setTimeout(() => removeAjaxLoader(button, loader), extraDelay);
6097        }
6098    }
6099
6100    function removeAjaxCartForm(form) {
6101        removeEventListener('submit', form);
6102    }
6103
6104    document.addEventListener('submit', function(event) {
6105        if (!event.target.matches('#product_addtocart_form, .product_addtocart_form')) return;
6106        addAjaxCartForm(event.target, 100);
6107    });
6108</script>
6108
6109
6110
6111    <dialog
6112        class="w-[640px] rounded-xl bg-white text-slate-800 p-0 shadow-xl backdrop:bg-black/75 backdrop:backdrop-blur-sm"
6113        x-data="initAjaxCartModal"
6114        x-show="open"
6115        x-transition.duration.500ms
6116        @keydown.window.escape="closeDialog()"
6117        @click="!onDialogBackdropClickHelper(event) && closeDialog()"
6118        @open-ajax-cart.window="setNewCartData(event)"
6119    >
6120        <template x-if="open && cartItem">
6121            <div>
6122                <div class="flex gap-6 justify-between items-center p-6">
6123                    <span class="text-base text-natlabGreenOpac uppercase font-medium tracking-wider">
6124                        Il prodotto è stato aggiunto al tuo carrello
6125                    </span>
6126                    <button
6127                        title="Chiudi la visualizzazione a schermo intero"
6128                        aria-label="Chiudi la visualizzazione a schermo intero"
6129                        @click="closeDialog()"
6130                        class="text-slate-300 hover:text-slate-500 focus:text-slate-500"
6131                    >
6132                        <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" width="32" height="32" aria-hidden="true">
6133  <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"/>
6134</svg>
6135                    </button>
6136                </div>
6137                <div class="flex gap-3 sm:gap-x-6 items-start p-6">
6138                    <div class="border p-2 rounded shrink-0 max-w-[theme(spacing.20)] sm:max-w-[theme(spacing.32)]">
6139                        <img
6140                            loading="lazy"
6141                            :src="cartItem.product_image.src"
6142                            :width="cartItem.product_image.width"
6143                            :height="cartItem.product_image.height"
6144                            :alt="hyva.str('Product\u0020\u0022\u00251\u0022', cartItem.product_name)"
6145                        >
6146                    </div>
6147                    <div class="grow flex gap-2 flex-col sm:flex-row">
6148                        <div class="grow">
6149                            <p class="text-lg">
6150                                <strong x-html="cartItem.product_name"></strong>
6151                            </p>
6152                        </div>
6153                        <div class="leading-7 shrink-0 [&_.price]:font-normal" x-html="cartItem.product_price"></div>
6154                    </div>
6155                </div>
6156                <div class="flex gap-2 justify-between items-end p-6 pt-0 text-slate-600">
6157                    <span>
6158                        <span class="font-bold">Totale carrello</span>
6159                        <span x-text="getItemCountText()"></span>
6160                    </span>
6161                    <span x-html="cart.subtotal"></span>
6162                </div>
6163                <div class="flex flex-col sm:flex-row lg:justify-end gap-4 p-6 pt-0 bg-white">
6164                    <button
6165                        @click="closeDialog()"
6166                        class="sm:w-1/2 lg:w-auto btn justify-center rounded-md py-3 px-6 text-base shadow-none hover:shadow-lg active:shadow disabled:shadow-none transition
6167                            bg-white text-natlabBlue hover:text-natlabLigthBlu border border-natlabBlue hover:border-natlabLigthBlue hover:bg-white focus:ring-natlabLigthBlue "
6168                    >Continua gli Acquisti</button>
6169                  <a
6170    href="https://www.naturelab.it/checkout/index/index/"
6171    @click.prevent.stop="closeDialog(); $dispatch('toggle-authentication', {
6172        url: 'https://www.naturelab.it/checkout/index/index/'
6173    });"
6174    class="sm:w-1/2 lg:w-auto btn btn-primary justify-center uppercase tracking-widest shadow-none hover:shadow-lg active:shadow transition"
6175>Checkout</a>
6176                </div>
6177            </div>
6178        </template>
6179    </dialog>
6180
6181    
6181<script>
6182        function initAjaxCartModal() {
6183            return {
6184                open: false,
6185                cart: {},
6186                initialTotalCartAmount: 0,
6187                totalCartAmount: 0,
6188                cartItem: null,
6189                showSku: false,
6190                init() {
6191                    window.addEventListener('private-content-loaded', (event) => {
6192                        const cartData = event.detail.data && event.detail.data.cart;
6193                        if (!cartData) return;
6194
6195                        this.cart = cartData;
6196                        this.totalCartAmount = this.cart.summary_count;
6197                        this.initialTotalCartAmount = this.cart.summary_count;
6198                    }, { once: true });
6199
6200                    this.$watch('totalCartAmount', (value, oldValue) => {
6201                        if (this.initialTotalCartAmount === this.totalCartAmount) return;
6202                                                                            this.openDialog();
6203                                                this.initialTotalCartAmount = this.totalCartAmount;
6204                    })
6205                },
6206                sortObjectByNumberKey(obj) {
6207                    let keys = Object.keys(obj).map(Number).sort((a, b) => a - b);
6208                    let sortedObj = {};
6209                    keys.forEach(key => sortedObj[key] = obj[key]);
6210                    return sortedObj;
6211                },
6212                setNewCartData(event) {
6213                    const productData = event.detail;
6214                    window.addEventListener('private-content-loaded', (event) => {
6215                        const cartData = event.detail.data && event.detail.data.cart;
6216                        if (!cartData) return;
6217                        this.cart = cartData;
6218                        this.totalCartAmount = this.cart.summary_count;
6219
6220                        if (!productData) return;
6221                        this.getCurrentProductFromCart(productData);
6222                    }, { once: true });
6223                },
6224                getCurrentProductFromCart(productData) {
6225                    if (!this.cart.items) return;
6226                    this.cartItem = this.cart.items.filter((item) => {
6227                        if (item.product_id !== productData.productId) return;
6228                        if (item.product_type !== "configurable") {
6229                            return item;
6230                        }
6231
6232                        let cartItemOptions = {};
6233                        for (const option of item.options) {
6234                            const filterOptions = { [option.option_id]: option.option_value };
6235                            cartItemOptions = { ...cartItemOptions, ...filterOptions }
6236                        }
6237
6238                        const cartItemOptionsCompare = JSON.stringify(this.sortObjectByNumberKey(cartItemOptions));
6239                        const productDataOptionsCompare = JSON.stringify(this.sortObjectByNumberKey(productData.options));
6240                        if (cartItemOptionsCompare === productDataOptionsCompare) {
6241                            return item;
6242                        }
6243                    });
6244
6245                    if (this.cartItem > 1) {
6246                        this.cartItem = this.cartItem.slice(0, 1);
6247                    }
6248
6249                    this.cartItem = this.cartItem[0];
6250                },
6251                getItemCountText() {
6252                    if (this.totalCartAmount > 1) {
6253                        return hyva.str('(\u00251\u0020prodotti)', this.totalCartAmount);
6254                    }
6255
6256                    return hyva.str('1 prodotto', this.totalCartAmount);
6257                },
6258                openDialog() {
6259                    if (!this.cartItem) return;
6260                    this.$root.showModal();
6261                    this.open = true;
6262                    this.scrollLock(this.open);
6263                },
6264                closeDialog() {
6265                    this.$root.close();
6266                    this.open = false;
6267                    this.scrollLock(this.open);
6268                },
6269                scrollLock(use = true) {
6270                    document.body.style.overflow = use ? "hidden" : "";
6271                },
6272                onDialogBackdropClickHelper(event, target = this.$root) {
6273                    const rect = target.getBoundingClientRect();
6274                    const isInDialog =
6275                        rect.top <= event.clientY &&
6276                        event.clientY <= rect.top + rect.height &&
6277                        rect.left <= event.clientX &&
6278                        event.clientX <= rect.left + rect.width;
6279                    return isInDialog;
6280                }
6281            }
6282        }
6283    </script>
6283
6284
6285<script type="module"
6286        src="https://www.naturelab.it/static/version1786556693/frontend/Nature/naturelab/it_IT/Hyva_Theme/js/alpine3.min.js"
6287        defer
6288        crossorigin
6289></script>
vendor: 1 bytes, line 6289
6289
6290<script>
6291    'use strict';
6292    function dispatchMessages(messages, hideAfter) {
6293        const messagesEvent = new CustomEvent("messages-loaded", {
6294            detail: {
6295                messages: messages,
6296                hideAfter: hideAfter
6297            }
6298        });
6299        window.dispatchEvent(messagesEvent);
6300    }
6301
6302    if (typeof hyva === 'undefined' || (!hyva.getBrowserStorage || !hyva.getCookie || !hyva.setCookie)) {
6303        console.warn("Hyvä helpers are not loaded yet. Make sure they are included before this script");
6304    }
6305
6306    (function( hyva, undefined ) {
6307
6308        hyva.initFormKey = () => {
6309            const inputSelector = 'input[name="form_key"]',
6310                formKey = hyva.getFormKey();
6311
6312            Array.from(document.querySelectorAll(inputSelector)).map(function (input) {
6313                input.value = formKey
6314            });
6315        }
6316
6317        hyva.initMessages = () => {
6318            try {
6319                const messages = hyva.getCookie('mage-messages');
6320                window.mageMessages = messages ? JSON.parse(decodeURIComponent(messages).replace(/\+/g, ' ')) : [];
6321
6322                dispatchMessages(window.mageMessages);
6323
6324                                // empty `mage-messages` cookie
6325                const skipSetDomain = true;
6326                hyva.setCookie('mage-messages','', -1, skipSetDomain);
6327
6328            } catch (error) {
6329                console.warn('Error parsing Cookie Messages:', error);
6330            }
6331        }
6332
6333        window.addEventListener('DOMContentLoaded', hyva.initFormKey);
6334        hyva.alpineInitialized(hyva.initMessages)
6335
6336    }( window.hyva = window.hyva || {} ));
6337</script>
vendor: 1 bytes, line 6337
6337
6338<script>
6339    'use strict';
6340    {
6341        const private_content_key = 'mage-cache-storage';
6342        const private_content_expire_key = 'mage-cache-timeout';
6343        const private_content_version_key = 'private_content_version';
6344        const section_data_ids_key = 'section_data_ids';
6345        const mage_cache_session_id_key = 'mage-cache-sessid';
6346        const last_visited_store_key = 'last_visited_store';
6347
6348        const ttl = 3600;
6349
6350        if (typeof hyva === 'undefined' || (!hyva.getBrowserStorage || !hyva.getCookie || !hyva.setCookie)) {
6351            console.warn("Hyvä helpers are not loaded yet. Make sure they are included before this script");
6352        }
6353
6354        function loadSectionData () {
6355            const browserStorage = hyva.getBrowserStorage();
6356            if (!browserStorage) {
6357                typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
6358                    [{
6359                        type: "warning",
6360                        text: "Abilita LocalStorage nel tuo browser."
6361                    }]
6362                );
6363                return;
6364            }
6365            try {
6366                let isInvalid = false;
6367
6368                if (hyva.getCookie(last_visited_store_key) !== CURRENT_STORE_CODE) {
6369                    isInvalid = true;
6370                }
6371                hyva.setCookie(last_visited_store_key, CURRENT_STORE_CODE, false, false);
6372
6373                if (!hyva.getCookie(mage_cache_session_id_key)) {
6374                    isInvalid = true;
6375                    browserStorage.removeItem(private_content_key);
6376                    const skipSetDomain = true;
6377                    const days = false;
6378                    hyva.setCookie(mage_cache_session_id_key, true, days, skipSetDomain)
6379                }
6380
6381                const cookieVersion = hyva.getCookie(private_content_version_key);
6382                const storageVersion = browserStorage.getItem(private_content_version_key);
6383
6384                if (cookieVersion && !storageVersion || cookieVersion !== storageVersion) {
6385                    isInvalid = true;
6386                }
6387
6388                const privateContentExpires = browserStorage.getItem(private_content_expire_key);
6389                if (privateContentExpires && new Date(privateContentExpires) < new Date()) {
6390                    browserStorage.removeItem(private_content_key);
6391                }
6392
6393                if (isInvalid && cookieVersion) {
6394                    fetchPrivateContent([]);
6395                } else if (cookieVersion && storageVersion && cookieVersion === storageVersion) {
6396                    const privateContent = JSON.parse(browserStorage.getItem(private_content_key));
6397                    if (
6398                        privateContent &&
6399                        privateContentExpires &&
6400                        privateContent.cart &&
6401                        privateContent.customer
6402                    ) {
6403                        dispatchPrivateContent(privateContent);
6404                    } else {
6405                        fetchPrivateContent([]);
6406                    }
6407                } else {
6408                    if (document.getElementById('default-section-data')) {
6409                        const privateContent = JSON.parse(document.getElementById('default-section-data').innerText.trim());
6410                        dispatchPrivateContent(privateContent);
6411                    } else {
6412                        dispatchPrivateContent({});
6413                    }
6414                }
6415
6416            } catch (error) {
6417                console.warn('Error retrieving Private Content:', error);
6418            }
6419        }
6420
6421        hyva.alpineInitialized(loadSectionData)
6422        window.addEventListener('reload-customer-section-data', loadSectionData);
6423
6424        function dispatchPrivateContent(data) {
6425            const privateContentEvent = new CustomEvent("private-content-loaded", {
6426                detail: {
6427                    data: data
6428                }
6429            });
6430            window.dispatchEvent(privateContentEvent);
6431        }
6432
6433        function fetchPrivateContent(sections) {
6434            fetch(`${BASE_URL}customer/section/load/?sections=${encodeURIComponent(sections.join(','))}`, {
6435                method: 'GET',
6436                headers: {
6437                    'Content-Type': 'application/json',
6438                    'X-Requested-With': 'XMLHttpRequest'
6439                }
6440            })
6441                .then(response => response.json())
6442                .then(
6443                    data => {
6444                        if (data) {
6445                            try {
6446                                const browserStorage = hyva.getBrowserStorage();
6447
6448                                // merge new data preserving non-invalidated sections
6449                                const oldSectionData = JSON.parse(browserStorage.getItem(private_content_key) || '{}') || {};
6450
6451                                if ((! data.cart || ! data.cart.cartId) && oldSectionData['checkout-data']) {
6452                                    delete oldSectionData['checkout-data'];
6453                                }
6454                                const newSectionData = Object.assign(oldSectionData, data);
6455
6456                                dispatchPrivateContent(newSectionData);
6457
6458                                // don't persist messages, they've been dispatched already
6459                                if (newSectionData.messages && newSectionData.messages.messages ) {
6460                                    newSectionData.messages.messages = [];
6461                                }
6462
6463                                browserStorage.setItem(private_content_key, JSON.stringify(newSectionData));
6464
6465                                const expiresAt = new Date(Date.now() + (ttl * 1000)).toISOString();
6466                                browserStorage.setItem(private_content_expire_key, expiresAt);
6467
6468                                const newCookieVersion = hyva.getCookie(private_content_version_key);
6469                                browserStorage.setItem(private_content_version_key, newCookieVersion);
6470
6471                                // We don't need the section_data_ids in Hyvä, but we store them for compatibility
6472                                // with Luma Fallback. Otherwise, not all sections are loaded in Luma Checkout
6473                                hyva.setCookie(
6474                                    section_data_ids_key,
6475                                    JSON.stringify(
6476                                        Object.keys(data).reduce((sectionDataIds, sectionKey) => {
6477                                            sectionDataIds[sectionKey] = data[sectionKey]['data_id'];
6478                                            return sectionDataIds;
6479                                        }, {})
6480                                    ),
6481                                    false,
6482                                    true
6483                                );
6484                            } catch (error) {
6485                                console.warn("Couldn't store privateContent", error);
6486                            }
6487                        }
6488                    }
6489                );
6490        }
6491    }
6492</script>
vendor: 1 bytes, line 6492
6492
6493<script>
6494    (() => {
6495        document.addEventListener('submit', event => event.target.action = event.target.action.replace('%25uenc%25', hyva.getUenc()));
6496    })()
6497</script>
vendor: 1 bytes, line 6497
6497
6498<script>
6499    (events => {
6500        const dispatchUserInteractionEvent = () => {
6501            events.forEach(type => window.removeEventListener(type, dispatchUserInteractionEvent))
6502            window.dispatchEvent(new Event('init-external-scripts'))
6503        };
6504        events.forEach(type => window.addEventListener(type, dispatchUserInteractionEvent, {once: true, passive: true}))
6505    })(['touchstart', 'mouseover', 'wheel', 'scroll', 'keydown'])
6506</script>
vendor: 1 bytes, line 6506
6506
6507<script>
6508    function initConfigurableOptions(productId, optionConfig) {
6509
6510        function findPathParam(key) {
6511                        const baseUrl = (BASE_URL.substring(0, 2) === '//' ? 'http:' : '') + BASE_URL;
6512            const baseUrlParts = (new URL(baseUrl)).pathname.replace(/\/$/, '').split('/');
6513            const pathParts = window.location.pathname.split('/').slice(baseUrlParts.length + 3);
6514            for (let i = 0; i < pathParts.length; i += 2) {
6515                if (pathParts[i] === key && pathParts.length > i) {
6516                    return pathParts[i + 1];
6517                }
6518            }
6519        }
6520
6521        return {
6522            optionConfig,
6523            productId,
6524            itemId: (new URLSearchParams(window.location.search)).get('id') || findPathParam('id'),
6525            allowedAttributeOptions: [],
6526            selectedValues: [],
6527            init() {
6528                this.findAllowedAttributeOptions();
6529                this.$nextTick(() => {
6530                    if (typeof this.optionConfig.defaultValues === 'object') {
6531                        for (const [attributeId, value] of Object.entries(this.optionConfig.defaultValues)) {
6532                            this.changeOption(attributeId, value + '');
6533                        }
6534                    }
6535                });
6536            },
6537            findSimpleIndex() {
6538                                this.productIndex = this.calculateSimpleIndexForPartialSelection(this.selectedValues);
6539            },
6540            calculateSimpleIndexForPartialSelection(selectedValues) {
6541                if (selectedValues.length === 0) return 0;
6542                let productIndexIds = Object.keys(this.optionConfig.index);
6543                Object.keys(this.optionConfig.attributes).forEach((attribute) => {
6544                                        const productsWithAttributeMatch = selectedValues[attribute]
6545                        ? productIndexIds.filter((productIndex) => {
6546                            return this.optionConfig.index[productIndex][attribute] === this.selectedValues[attribute]
6547                        })
6548                        : [];
6549
6550                                        productIndexIds = productsWithAttributeMatch.length ? productsWithAttributeMatch : productIndexIds
6551                })
6552                return productIndexIds[0];
6553            },
6554            calculateSimpleIndexForFullSelection(selectedValues) {
6555                const productIndexes = this.optionConfig.index;
6556                return Object.keys(productIndexes).find(productIndex => {
6557                    const productCandidateOptions = productIndexes[productIndex];
6558
6559                    for (const productOption in productCandidateOptions) {
6560                        if (
6561                            ! selectedValues[productOption] ||
6562                            selectedValues[productOption] !== productCandidateOptions[productOption]
6563                        ) {
6564                            return false;
6565                        }
6566                    }
6567                    return productIndex;
6568                });
6569            },
6570            productIndex: 0,
6571            findAllowedAttributeOptions() {
6572                                this.allowedAttributeOptions = this.calculateAllowedAttributeOptions(this.selectedValues);
6573            },
6574            calculateAllowedAttributeOptions(selectedValues) {
6575                const allAttributes = this.optionConfig.attributes;
6576                const allAttributesSorted = Object.values(allAttributes).sort((a,b) => {
6577                    return a.position - b.position
6578                });
6579
6580                const newAllowedAttributeOptions = [];
6581
6582                allAttributesSorted.forEach(attribute => {
6583                    const selectionWithoutAttr = Object.assign({}, this.removeAttrFromSelection(selectedValues, attribute.id));
6584                    const availableIndexes = this.calculateAvailableProductIndexes(selectionWithoutAttr);
6585                    newAllowedAttributeOptions[attribute.id] = allAttributes[attribute.id].options.filter(option => {
6586                        return !!option.products.find(product => {
6587                            return availableIndexes.includes(product);
6588                        })
6589                    });
6590                });
6591                return newAllowedAttributeOptions;
6592            },
6593            calculateAvailableProductIndexes(selectedOptions) {
6594                if (Object.keys(selectedOptions).length === 0) {
6595                                        if (Object.values(this.optionConfig.salable || {}).length) {
6596                                                return [].concat.apply([], [].concat.apply([], Object.values(this.optionConfig.salable).map(Object.values))).filter((x, i, a) => a.indexOf(x) === i)
6597                    }
6598                                        return Object.keys(this.optionConfig.index);
6599                }
6600
6601                                const selectedIds = Object.keys(selectedOptions);
6602                if (Object.values(this.optionConfig.salable || {}).length) {
6603                                        const selectedOptionIndexes = selectedIds.map(attrId => {
6604                        const optionValue = selectedOptions[attrId];
6605                        return this.optionConfig.salable[attrId] && this.optionConfig.salable[attrId][optionValue] || []
6606                    })
6607                                        return selectedOptionIndexes.reduce((acc, optionIndexes) => {
6608                        return acc.filter(index => optionIndexes.includes(index));
6609                    });
6610                } else {
6611                                        const productIndexes = this.optionConfig.index;
6612                    return Object.keys(productIndexes).filter(index => {
6613                                                for (const attrId of selectedIds) {
6614                            if (productIndexes[index][attrId] !== `${selectedOptions[attrId]}`) return false
6615                        }
6616                        return true
6617                    });
6618                }
6619            },
6620            findAttributeByOptionId(optionId) {
6621                for (const attributeId in this.optionConfig.attributes) {
6622                    const attributeOptions = this.optionConfig.attributes[attributeId].options || [];
6623                    if (attributeOptions.find(option => option.id === optionId)) {
6624                        return attributeId;
6625                    }
6626                }
6627            },
6628            getAllowedAttributeOptions(attributeId) {
6629                return this.allowedAttributeOptions[attributeId] || []
6630            },
6631            getProductIdsForOption(option) {
6632                const attributeId = this.findAttributeByOptionId(option.id);
6633                const allOptions = this.optionConfig.attributes[attributeId];
6634                const opt = (allOptions && allOptions.options || []).find(o => o.id === option.id);
6635                return opt && opt.products
6636                    ? opt.products
6637                    : [];
6638            },
6639            findProductIdsForPartialSelection(optionSelection) {
6640                const candidateProducts = Object.values(optionSelection).reduce((candidates, optionId) => {
6641                    const newCandidates = this.getProductIdsForOption({id: optionId});
6642                    return candidates === null
6643                        ? newCandidates
6644                        : candidates.filter(productId => newCandidates.includes(productId));
6645                }, null);
6646                return candidateProducts || [];
6647            },
6648            findCheapestProductForPartialSelection(optionSelection) {
6649                const candidateProducts = this.findProductIdsForPartialSelection(optionSelection);
6650                return candidateProducts.reduce((cheapest, simpleIdx) => {
6651                    // in the first iteration we start with simpleIdx as the currently cheapest product
6652                    if (! this.optionConfig.optionPrices[cheapest]) return simpleIdx;
6653                    const knownCheapestPrice = this.optionConfig.optionPrices[cheapest].finalPrice.amount;
6654                    return knownCheapestPrice > this.optionConfig.optionPrices[simpleIdx].finalPrice.amount
6655                        ? simpleIdx
6656                        : cheapest;
6657                }, 0)
6658            },
6659            findProductIdToUseForOptionPrice(option) {
6660                // try to find a product for a complete selection
6661                const attributeId = this.findAttributeByOptionId(option.id);
6662                const optionSelection = Object.assign({}, this.selectedValues, {[attributeId]: option.id});
6663                const matchingSimpleIndex = this.calculateSimpleIndexForFullSelection(optionSelection);
6664                // if there is no complete selection, use the cheapest product for the option
6665                return matchingSimpleIndex || this.findCheapestProductForPartialSelection(optionSelection);
6666            },
6667            getAttributeOptionLabel(option) {
6668                const optionProduct = this.findProductIdToUseForOptionPrice(option);
6669                if ((! optionProduct) || (optionProduct === this.productIndex)) {
6670                    return option.label;
6671                }
6672
6673                const currentPrice = this.getOptionPriceAdjustmentBasePrice();
6674
6675                if (this.optionConfig.optionPrices[optionProduct]) {
6676                    const optionPrice = this.optionConfig.optionPrices[optionProduct].finalPrice.amount;
6677                    if (optionPrice !== currentPrice){
6678                        return option.label + ' ' + hyva.formatPrice(optionPrice - currentPrice, true);
6679                    }
6680                }
6681                return option.label;
6682            },
6683            getOptionPriceAdjustmentBasePrice() {
6684                if (this.optionConfig.optionPrices[this.productIndex]) {
6685                    return this.optionConfig.optionPrices[this.productIndex].finalPrice.amount
6686                }
6687                const cheapestForSelection = this.findCheapestProductForPartialSelection(this.selectedValues);
6688                return this.optionConfig.optionPrices[cheapestForSelection]
6689                    ? this.optionConfig.optionPrices[cheapestForSelection].finalPrice.amount
6690                    : this.optionConfig.prices.finalPrice.amount; // default price if no option selection
6691            },
6692            clearOptionIfActive(optionId, value) {
6693                if (this.selectedValues[optionId] === value) {
6694                    this.blurLabel()
6695                    this.changeOption(optionId, '')
6696                }
6697            },
6698            removeAttrFromSelection(selectedValues, attributeId) {
6699                                attributeId = parseInt(attributeId);
6700                return selectedValues.reduce((newSelection, val, attr) => {
6701                    if (attr !== attributeId) {
6702                        newSelection[attr] = val;
6703                    }
6704                    return newSelection;
6705                }, []);
6706            },
6707            changeOption(attributeId, value) {
6708                if (value === '') {
6709                    this.selectedValues = this.removeAttrFromSelection(this.selectedValues, attributeId)
6710                } else if (value && this.getAllowedAttributeOptions(attributeId).find(option => option.id === value)) {
6711                                        this.selectedValues[attributeId] = value;
6712                }
6713                this.findSimpleIndex();
6714                this.findAllowedAttributeOptions();
6715                this.updatePrices();
6716                this.updateGallery();
6717                window.dispatchEvent(
6718                    new CustomEvent(
6719                        'configurable-selection-changed',
6720                        {
6721                            detail: {
6722                                productId: this.productId,
6723                                optionId: attributeId,
6724                                value: value,
6725                                productIndex: this.productIndex,
6726                                selectedValues: this.selectedValues,
6727                                candidates: this.findProductIdsForPartialSelection(this.selectedValues),
6728                            }
6729                        }
6730                    )
6731                );
6732            },
6733            calculateIsMinimalPrice() {
6734                return (
6735                    this.selectedValues.filter(value => !!value).length <
6736                        Object.keys(this.optionConfig.attributes).length
6737                );
6738            },
6739            updatePrices() {
6740                const value = this.productIndex ?
6741                    this.optionConfig.optionPrices[this.productIndex] :
6742                    this.optionConfig.prices;
6743                window.dispatchEvent(
6744                    new CustomEvent(
6745                        "update-prices-" + this.productId,
6746                        {
6747                            detail: Object.assign(
6748                                value,
6749                                { isMinimalPrice: this.calculateIsMinimalPrice() }
6750                            )
6751                        }
6752                    )
6753                );
6754            },
6755            updateGallery () {
6756                if (this.productIndex) {
6757                    const images = this.optionConfig.images[this.productIndex];
6758                    images && window.dispatchEvent(new CustomEvent(
6759                        "update-gallery",
6760                        { detail: this.sortImagesByPosition(images) }
6761                    ));
6762                } else {
6763                    window.dispatchEvent(new Event("reset-gallery"));
6764                }
6765            },
6766            sortImagesByPosition(images) {
6767                return images.sort((x, y) => {
6768                    return x.position === y.position ? 0 : (parseInt(x.position) > parseInt(y.position) ? 1 : -1)
6769                });
6770            },
6771            onGetCartData(data) {
6772                            },
6773            preselectCartItems(data) {
6774                // pre-select options based on cart data for current (quote) itemId
6775                const cart = data && data.cart;
6776                if (cart && cart.items) {
6777                    const cartItem = cart.items.find((item) => {
6778                        return (
6779                            item.item_id === this.itemId
6780                            && item.product_id === this.productId
6781                        )
6782                    });
6783                    if (cartItem && cartItem.options && cartItem.options.length) {
6784                        cartItem.options.map(option => {
6785                            this.changeOption(option.option_id, option.option_value);
6786                        })
6787                    }
6788                }
6789            },
6790            preselectQuerystringItems() {
6791                // pre-select option like ?size=167
6792                const urlQueryParams = new URLSearchParams(window.location.search.replace('?',''));
6793                this.preselectItemsBasedOnLocation(attribute => urlQueryParams.get(attribute.code));
6794            },
6795            preselectLocationHashItems() {
6796                // pre-select option like #144=167
6797                const urlHashParams = new URLSearchParams(window.location.hash.replace('#',''));
6798                this.preselectItemsBasedOnLocation(attribute => urlHashParams.get(attribute.id));
6799            },
6800            preselectItemsBasedOnLocation(getLocationValue) {
6801                Object.values(this.optionConfig.attributes).map(attribute => {
6802                    this.changeOption(attribute.id, getLocationValue(attribute))
6803                });
6804            }
6805        }
6806    }
6807
6808</script>
vendor: 1 bytes, line 6808
6808
6809<script>
6810    function initSwatchOptions(swatchConfig) {
6811        return {
6812            swatchConfig,
6813            getAttributeSwatchData(attributeId) {
6814                const swatchConfig = Object.assign({}, this.swatchConfig[attributeId]);
6815                swatchConfig['details'] = JSON.parse(swatchConfig['additional_data']);
6816
6817                return swatchConfig;
6818            },
6819            getAllAttributeOptions(attributeId) {
6820                return (
6821                    this.optionConfig.attributes[attributeId] &&
6822                    this.optionConfig.attributes[attributeId].options
6823                ) || []
6824            },
6825            optionIsActive(attributeId, optionId) {
6826                // return true if a product with this option is in stock
6827                return !!this.getAllowedAttributeOptions(attributeId).find(
6828                    option => option.id === optionId
6829                )
6830            },
6831            optionIsEnabled(attributeId, optionId) {
6832                // return true if a product with this option is enabled
6833                for (const productId in this.optionConfig.index) {
6834                    if (this.optionConfig.index[productId][attributeId] === optionId) {
6835                        return true;
6836                    }
6837                }
6838                return false;
6839            },
6840            mapSwatchTypeNumberToTypeCode(typeNumber) {
6841                switch ("" + typeNumber) {
6842                    case "1":
6843                        return "color"
6844                    case "2":
6845                        return "image"
6846                    case "3":
6847                        return "empty"
6848                    case "0":
6849                    default:
6850                        return "text"
6851                }
6852            },
6853            getTypeOfFirstOption(attributeId) {
6854                for (const optionId in this.swatchConfig[attributeId]) {
6855                    const option = this.swatchConfig[attributeId][optionId];
6856                    if (typeof option.type !== 'undefined') {
6857                        return this.mapSwatchTypeNumberToTypeCode(option.type);
6858                    }
6859                }
6860            },
6861            getVisualSwatchType(attributeId, targetOptionId) {
6862                // If a type configuration is present for the given option id, use it
6863                const config = this.swatchConfig[attributeId];
6864                if (config[targetOptionId] && typeof config[targetOptionId].type !== 'undefined') {
6865                    return this.mapSwatchTypeNumberToTypeCode(config[targetOptionId].type);
6866                }
6867
6868                // Otherwise - if no config is present for the target option - use the type of the first option
6869                // with a type property from the attribute, thus assuming its the same type as the target option.
6870                // (This edge case condition can occur on single swatch products if some options are not salable)
6871                return this.getTypeOfFirstOption(attributeId);
6872            },
6873            getSwatchType(attributeId, optionId) {
6874                // Deserialize the attribute details the first time they are used
6875                if (this.swatchConfig[attributeId] && ! this.swatchConfig[attributeId].details) {
6876                    this.swatchConfig[attributeId] = this.getAttributeSwatchData(attributeId);
6877                }
6878                const type =  this.swatchConfig[attributeId] &&
6879                    this.swatchConfig[attributeId].details &&
6880                    this.swatchConfig[attributeId].details.swatch_input_type ||
6881                    "empty";
6882                return type === 'visual' ? this.getVisualSwatchType(attributeId, optionId) : type;
6883            },
6884            isTextSwatch(attributeId, optionId) {
6885                return this.getSwatchType(attributeId, optionId) === 'text';
6886            },
6887            isVisualSwatch(attributeId, optionId) {
6888                const type = this.getSwatchType(attributeId, optionId);
6889
6890                return ['image', 'color'].includes(type);
6891            },
6892            getSwatchBackgroundStyle(attributeId, optionId) {
6893                const config = this.getSwatchConfig(attributeId, optionId);
6894                const type = this.getSwatchType(attributeId, optionId);
6895
6896                if (type === "color") {
6897                        return 'background-color:' + config.value;
6898                } else if (type === "image") {
6899                        return "background: #ffffff url('" + config.value + "') no-repeat center";
6900                } else {
6901                    return '';
6902                }
6903            },
6904            getSwatchText(attributeId, optionId) {
6905                const config = this.getSwatchConfig(attributeId, optionId);
6906                return config.label || config.value || this.getOptionLabelFromOptionConfig(attributeId, optionId);
6907            },
6908            getOptionLabelFromOptionConfig(attributeId, optionId) {
6909                // Fallback if no value is present in swatchConfig data
6910                // Reference issue https://gitlab.hyva.io/hyva-themes/magento2-default-theme/-/issues/190
6911                const option = this.getAllAttributeOptions(attributeId).filter(option => option.id === optionId);
6912                return option && option[0] && option[0].label ||'';
6913            },
6914            getSwatchConfig(attributeId, optionId) {
6915                return this.swatchConfig[attributeId] && this.swatchConfig[attributeId][optionId]
6916                    ? this.swatchConfig[attributeId][optionId]
6917                    : false;
6918            },
6919            activeTooltipItem: false,
6920            tooltipPositionElement: false,
6921            isTooltipVisible() {
6922                return this.activeTooltipItem &&
6923                    this.getSwatchConfig(
6924                        this.activeTooltipItem.attribute,
6925                        this.activeTooltipItem.item
6926                    );
6927            },
6928            isFirstItemCol() {
6929                return this.activeTooltipItem.index === 0;
6930            },
6931            getTooltipImageStyle(attributeId, optionId) {
6932                const config = this.getSwatchConfig(attributeId, optionId);
6933                const type = this.getSwatchType(attributeId, optionId);
6934
6935                if (type === "color") {
6936                    return 'background-color:' + config.value + '; width: 110px; height: 90px;';
6937                } else if (type === "image") {
6938                    return "background: #ffffff url('" + config.thumb +
6939                        "') center center no-repeat; width: 110px; height: 90px;";
6940                } else {
6941                    return 'display:none';
6942                }
6943            },
6944            getTooltipPosition() {
6945                return this.tooltipPositionElement ?
6946                    `top: ${this.tooltipPositionElement.offsetTop}px;` +
6947                    `left: ${
6948                        this.tooltipPositionElement.offsetLeft - (
6949                            this.tooltipPositionElement.closest('.snap') &&
6950                            this.tooltipPositionElement.closest('.snap').scrollLeft ||
6951                            0
6952                        )
6953                    }px;` : ''
6954            },
6955            getTooltipLabel() {
6956                return this.getSwatchConfig(this.activeTooltipItem.attribute, this.activeTooltipItem.item).label
6957            },
6958            focusedLabel: false,
6959            focusLabel(optionId) {
6960                this.focusedLabel = optionId;
6961            },
6962            blurLabel() {
6963                this.focusedLabel = false;
6964            },
6965            showSwatches: false,
6966            initShowSwatchesIntersect() {
6967                if ('IntersectionObserver' in window && !window.scrollY) {
6968                    let io = new IntersectionObserver(
6969                        entries => {
6970                            entries.map(entry => {
6971                                if (entry.isIntersecting) {
6972                                    this.showSwatches = true;
6973                                    io.unobserve(this.$root);
6974                                }
6975                            })
6976                        }
6977                    );
6978                    io.observe(this.$root);
6979                } else {
6980                    this.showSwatches = true
6981                }
6982            }
6983        }
6984    }
6985</script>
vendor: 1 bytes, line 6985
6985
6986<script>
6987    'use strict';
6988
6989    (() => {
6990        const equalizeButtonWidths = (buttons) => {
6991            const buttonList = buttons.querySelectorAll('[data-element="link"], [data-element="empty_link"]');
6992            let buttonMinWidth = 0;
6993
6994            buttonList.forEach(button => {
6995                const buttonWidth = button.offsetWidth;
6996
6997                if (buttonWidth > buttonMinWidth) {
6998                    buttonMinWidth = buttonWidth;
6999                }
7000            });
7001
7002            buttonList.forEach(button => {
7003                button.style.minWidth = `${buttonMinWidth}px`;
7004            });
7005        };
7006
7007        window.addEventListener('DOMContentLoaded', () => {
7008            document.querySelectorAll('[data-content-type="buttons"][data-same-width="true"]').forEach(buttons => {
7009                equalizeButtonWidths(buttons);
7010            });
7011        });
7012    })();
7013</script>
vendor: 1 bytes, line 7013
7013
7014<script>
7015    'use strict';
7016
7017    (() => {
7018        const initCarousels = (elements) => {
7019            if (!Glider) {
7020                return;
7021            }
7022
7023            const initProductCarousel = (carousel) => {
7024                const gliderElement = carousel.querySelector('[data-role="glider-content"]');
7025
7026                if (!gliderElement) {
7027                    return;
7028                }
7029
7030                const gliderDots = carousel.querySelector('.glider-dots');
7031                const gliderPrev = carousel.querySelector('.glider-prev');
7032                const gliderNext = carousel.querySelector('.glider-next');
7033
7034                const glider = new Glider(gliderElement, {
7035                    slidesToShow: 2,
7036                    slidesToScroll: 2,
7037                    scrollLock: true,
7038                    draggable: true,
7039                    dragVelocity: 2.5,
7040                    dots: gliderDots,
7041                    arrows: {
7042                        prev: gliderPrev,
7043                        next: gliderNext,
7044                    },
7045                    responsive: [
7046                        {
7047                            breakpoint: 768,
7048                            settings: {
7049                                slidesToShow: 3,
7050                                slidesToScroll: 3,
7051                            }
7052                        },
7053                        {
7054                            breakpoint: 1024,
7055                            settings: {
7056                                slidesToShow: 4,
7057                                slidesToScroll: 4,
7058                            }
7059                        },
7060                    ],
7061                });
7062
7063                carousel.classList.remove('overflow-x-scroll');
7064                gliderPrev.classList.remove('hidden');
7065                gliderNext.classList.remove('hidden');
7066
7067                if (carousel.dataset.autoplay !== 'false') {
7068                    gliderAutoplay(
7069                        glider,
7070                        carousel.dataset.autoplaySpeed,
7071                        carousel.dataset.infiniteLoop
7072                    );
7073                }
7074            };
7075
7076            const initSliderCarousel = (slider) => {
7077                slider.innerHTML = `<div data-role="glider-content">${slider.innerHTML}</div>`;
7078                slider.classList.add('glider-contain');
7079
7080                slider.insertAdjacentHTML(
7081                    'beforeend',
7082                    '\u000A\u003Cdiv\u0020class\u003D\u0022carousel\u002Dnav\u0020flex\u0020items\u002Dcenter\u0020justify\u002Dcenter\u0020flex\u002D1\u0020p\u002D4\u0022\u003E\u000A\u0020\u0020\u0020\u0020\u003Cbutton\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020aria\u002Dlabel\u003D\u0022Precedente\u0022\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020class\u003D\u0022glider\u002Dprev\u0020w\u002D8\u0020h\u002D8\u0020mr\u002D1\u0020text\u002Dblack\u0020rounded\u002Dfull\u0020outline\u002Dnone\u0020focus\u003Aoutline\u002Dnone\u0020hidden\u0022\u003E\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u003Csvg\u0020xmlns\u003D\u0022http\u003A\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\u0022\u0020fill\u003D\u0022none\u0022\u0020viewBox\u003D\u00220\u00200\u002024\u002024\u0022\u0020stroke\u002Dwidth\u003D\u00222\u0022\u0020stroke\u003D\u0022currentColor\u0022\u0020width\u003D\u002224\u0022\u0020height\u003D\u002224\u0022\u0020role\u
7082003D\u0022img\u0022\u003E\u000A\u0020\u0020\u003Cpath\u0020stroke\u002Dlinecap\u003D\u0022round\u0022\u0020stroke\u002Dlinejoin\u003D\u0022round\u0022\u0020d\u003D\u0022M15\u002019l\u002D7\u002D7\u00207\u002D7\u0022\u002F\u003E\u000A\u003Ctitle\u003Echevron\u002Dleft\u003C\u002Ftitle\u003E\u003C\u002Fsvg\u003E\u000A\u0020\u0020\u0020\u0020\u003C\u002Fbutton\u003E\u000A\u0020\u0020\u0020\u0020\u003Cdiv\u0020role\u003D\u0022tablist\u0022\u0020class\u003D\u0022glider\u002Ddots\u0020select\u002Dnone\u0020flex\u0020flex\u002Dwrap\u0020mx\u002D1\u0020justify\u002Dcenter\u0020p\u002D0\u0020focus\u003Aoutline\u002Dnone\u0022\u003E\u003C\u002Fdiv\u003E\u000A\u0020\u0020\u0020\u0020\u003Cbutton\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020aria\u002Dlabel\u003D\u0022Successivo\u0022\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020class\u003D\u0022glider\u002Dnext\u0020w\u002D8\u0020h\u002D8\u0020ml\u002D1\u0020text\u002Dblack\u0020rounded\u002Dfull\u0020outline\u002Dnone\u0020focus\u003Aoutline\u002Dnone\u0020hidden\u0022\u003E\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u003Csvg\u0020xmlns\u003D\u0022http\u003A\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\u0022\u0020fill\u003D\u0022none\u0022\u0020viewBox\u003D\u00220\u00200\u002024\u002024\u0022\u0020stroke\u002Dwidth\u003D\u00222\u0022\u0020stroke\u003D\u0022currentColor\u0022\u0020width\u003D\u002224\u0022\u0020height\u003D\u002224\u0022\u0020role\u
7082003D\u0022img\u0022\u003E\u000A\u0020\u0020\u003Cpath\u0020stroke\u002Dlinecap\u003D\u0022round\u0022\u0020stroke\u002Dlinejoin\u003D\u0022round\u0022\u0020d\u003D\u0022M9\u00205l7\u00207\u002D7\u00207\u0022\u002F\u003E\u000A\u003Ctitle\u003Echevron\u002Dright\u003C\u002Ftitle\u003E\u003C\u002Fsvg\u003E\u000A\u0020\u0020\u0020\u0020\u003C\u002Fbutton\u003E\u000A\u003C\u002Fdiv\u003E\u000A'
7083                );
7084
7085                const gliderElement = slider.querySelector('[data-role="glider-content"]');
7086                const gliderDots = slider.querySelector('.glider-dots');
7087                const gliderPrev = slider.querySelector('.glider-prev');
7088                const gliderNext = slider.querySelector('.glider-next');
7089
7090                const glider = new Glider(gliderElement, {
7091                    slidesToShow: 1,
7092                    slidesToScroll: 1,
7093                    scrollLock: true,
7094                    scrollLockDelay: 250,
7095                    draggable: true,
7096                    dragVelocity: 2.5,
7097                    dots: gliderDots,
7098                    arrows: {
7099                        prev: gliderPrev,
7100                        next: gliderNext,
7101                    },
7102                });
7103
7104                slider.classList.add('glider-initialized');
7105                if (slider.dataset.showArrows === 'true') {
7106                    gliderPrev.classList.remove('hidden');
7107                    gliderNext.classList.remove('hidden');
7108                }
7109
7110                if (slider.dataset.autoplay !== 'false') {
7111                    gliderAutoplay(
7112                        glider,
7113                        slider.dataset.autoplaySpeed,
7114                        slider.dataset.infiniteLoop
7115                    );
7116                }
7117            };
7118
7119            const gliderAutoplay = (glider, milliseconds, loop) => {
7120                const pagesCount = glider.track.childElementCount;
7121                let slideTimeout = null;
7122                let nextIndex = 1;
7123                let paused = false;
7124
7125                const slide = () => {
7126                    slideTimeout = setTimeout(
7127                        () => {
7128                            if (loop && nextIndex >= pagesCount) {
7129                                nextIndex = 0;
7130                            }
7131                            glider.scrollItem(nextIndex);
7132                        },
7133                        parseInt(milliseconds)
7134                    );
7135                };
7136
7137                glider.ele.addEventListener('glider-animated', () => {
7138                    nextIndex = glider.slide + glider.opt.slidesToScroll;
7139                    window.clearInterval(slideTimeout);
7140                    if (!paused && (loop || nextIndex < pagesCount)) {
7141                        slide();
7142                    }
7143                });
7144
7145                const pause = () => {
7146                    if (!paused) {
7147                        clearInterval(slideTimeout);
7148                        paused = true;
7149                    }
7150                };
7151
7152                const unpause = () => {
7153                    if (paused) {
7154                        slide();
7155                        paused = false;
7156                    }
7157                };
7158
7159                glider.ele.parentElement.addEventListener('mouseover', pause, {passive: true});
7160                glider.ele.parentElement.addEventListener('touchstart', pause, {passive: true});
7161                glider.ele.parentElement.addEventListener('mouseout', unpause, {passive: true});
7162                glider.ele.parentElement.addEventListener('touchend', unpause, {passive: true});
7163
7164                slide();
7165            };
7166
7167            elements.forEach(element => {
7168                if (element.dataset.contentType === 'products') {
7169                    initProductCarousel(element);
7170                }
7171                if (element.dataset.contentType === 'slider') {
7172                    initSliderCarousel(element);
7173                }
7174            });
7175        };
7176
7177        window.addEventListener('DOMContentLoaded', () => {
7178            const carouselElements = document.querySelectorAll(
7179                `[data-content-type="products"][data-appearance="carousel"],
7180                [data-content-type="slider"]`
7181            );
7182
7183            if (carouselElements.length > 0) {
7184                const script = document.createElement('script');
7185                script.type = 'text/javascript';
7186
7187                script.addEventListener('load', () => {
7188                    initCarousels(carouselElements);
7189                });
7190
7191                script.src = 'https\u003A\u002F\u002Fwww.naturelab.it\u002Fstatic\u002Fversion1786556693\u002Ffrontend\u002FNature\u002Fnaturelab\u002Fit_IT\u002FMagento_PageBuilder\u002Fjs\u002Fglider.min.js';
7192                document.head.appendChild(script);
7193            }
7194        });
7195    })();
7196</script>
vendor: 1 bytes, line 7196
7196
7197<script>
7198    'use strict';
7199
7200    (() => {
7201        const initMaps = (elements) => {
7202            const renderMap = (element) => {
7203                const dataLocations = element.dataset.locations;
7204
7205                // Hide map if no locations set
7206                if (!dataLocations || dataLocations === '[]') {
7207                    element.classList.add('hidden');
7208                    return;
7209                }
7210
7211                const map = new google.maps.Map(
7212                    element,
7213                    getMapOptions(
7214                        element.dataset.showControls !== 'true',
7215                        element.dataset.showControls === 'true'
7216                    )
7217                );
7218                const locations = JSON.parse(dataLocations);
7219                const latitudeLongitudeBounds = new google.maps.LatLngBounds();
7220                const bounds = [];
7221
7222                locations.forEach(location => {
7223                    const position = {
7224                        lat: parseFloat(location.position.latitude),
7225                        lng: parseFloat(location.position.longitude),
7226                    };
7227                    bounds.push(position);
7228
7229                    const infowindow = new google.maps.InfoWindow({
7230                        content: getInfoWindowContent(location),
7231                    });
7232                    const marker = new google.maps.Marker({
7233                        position: position,
7234                        map,
7235                        title: location.location_name,
7236                    });
7237
7238                    marker.addListener('click', () => {
7239                        infowindow.open(map, marker);
7240                    });
7241                });
7242
7243                // Set bounds if multiple locations
7244                if (bounds.length > 1) {
7245                    bounds.forEach(function (bound) {
7246                        latitudeLongitudeBounds.extend(bound);
7247                    });
7248                    map.fitBounds(latitudeLongitudeBounds);
7249                }
7250
7251                // Center if single location
7252                if (bounds.length === 1) {
7253                    map.setCenter(bounds[0]);
7254                }
7255            };
7256
7257            const getMapOptions = (disableDefaultUI, mapTypeControl) => {
7258                const style = '';
7259                return {
7260                    zoom: 8,
7261                    scrollwheel: false,
7262                    disableDoubleClickZoom: false,
7263                    mapTypeControlOptions: {
7264                        style: google.maps.MapTypeControlStyle.DEFAULT,
7265                    },
7266                    styles: style ? JSON.parse(style) : [],
7267                    disableDefaultUI: disableDefaultUI,
7268                    mapTypeControl: mapTypeControl,
7269                };
7270            };
7271
7272            const getInfoWindowContent = (location) => {
7273                const title = location.location_name ?
7274                    `<h3 class="text-2xl font-medium text-gray-900 title-font">${location.location_name}</h3>` : '';
7275                const comment = location.comment ? `<p class="px-1 pt-3 text-primary">${location.comment}</p>` : '';
7276                const phone = location.phone ? `<p class="px-1 pt-3 text-primary">Phone: ${location.phone}</p>` : '';
7277                const street = location.address ? `${location.address}<br/>` : '';
7278                const city = location.city ? `${location.city}<br/>` : '';
7279                const state = location.state ? `${location.state}<br/>` : '';
7280                const zipCode = location.zipcode ? `${location.zipcode}<br/>` : '';
7281                const country = location.country ? location.country : '';
7282
7283                return `<div>
7284                            ${title}
7285                            ${comment}
7286                            ${phone}
7287                            <p class="px-1 pt-3 text-primary">
7288                                ${street}
7289                                ${city}
7290                                ${state}
7291                                ${zipCode}
7292                                ${country}
7293                            </p>
7294                        </div>`;
7295            };
7296
7297            const hideAllMaps = () => {
7298                document.querySelectorAll('[data-content-type="map"]').forEach(element => {
7299                    element.classList.add('hidden');
7300                });
7301            };
7302
7303            window.gm_authFailure = () => {
7304                hideAllMaps();
7305            };
7306
7307            if (typeof google.maps === 'undefined') {
7308                hideAllMaps();
7309                return;
7310            }
7311
7312            elements.forEach(element => {
7313                if (element.dataset.contentType === 'map') {
7314                    renderMap(element);
7315                }
7316            });
7317        };
7318
7319        window.addEventListener('DOMContentLoaded', () => {
7320            const mapElements = document.querySelectorAll('[data-content-type="map"]');
7321
7322            if (mapElements.length > 0) {
7323                const script = document.createElement('script');
7324                script.type = 'text/javascript';
7325
7326                script.addEventListener('load', () => {
7327                    initMaps(mapElements);
7328                });
7329
7330                script.src = 'https\u003A\u002F\u002Fmaps.googleapis.com\u002Fmaps\u002Fapi\u002Fjs\u003Fv\u003D3.53\u0026key\u003D';
7331                document.head.appendChild(script);
7332            }
7333        });
7334    })();
7335</script>
vendor: 1 bytes, line 7335
7335
7336<script>
7337    'use strict';
7338
7339    (() => {
7340        const initParallaxImage = (element) => {
7341            if (!window.jarallax) {
7342                return;
7343            }
7344
7345            element.classList.add('jarallax');
7346            element.dataset.jarallax = '';
7347            const parallaxSpeed = parseFloat(element.dataset.parallaxSpeed) || 0.5;
7348            const elementStyle = window.getComputedStyle(element);
7349
7350            window.jarallax(element, {
7351                imgPosition: elementStyle.backgroundPosition || '50% 50%',
7352                imgRepeat: elementStyle.backgroundRepeat || 'no-repeat',
7353                imgSize: elementStyle.backgroundSize || 'cover',
7354                speed: parallaxSpeed,
7355            });
7356        };
7357
7358        const initVideoBackground = (element) => {
7359            if (!window.jarallax) {
7360                return;
7361            }
7362
7363            let slider = null;
7364
7365            if (element.classList.contains('pagebuilder-slide-wrapper')) {
7366                const viewportElement = document.createElement('div');
7367                slider = element.closest('[data-content-type=slider]');
7368                viewportElement.classList.add('jarallax-viewport-element');
7369                element.dataset.elementInViewport = '.jarallax-viewport-element';
7370                element.appendChild(viewportElement);
7371            }
7372
7373            element.classList.add('jarallax');
7374            element.dataset.jarallax = '';
7375            const parallaxSpeed = parseFloat(element.dataset.parallaxSpeed) || 0.5;
7376
7377            window.jarallax(element, {
7378                imgSrc: element.dataset.videoFallbackSrc,
7379                speed: parallaxSpeed,
7380                videoLoop: element.dataset.videoLoop,
7381                videoPlayOnlyVisible: element.dataset.videoPlayOnlyVisible,
7382                videoLazyLoading: element.dataset.videoLazyLoad,
7383                disableVideo: false,
7384                elementInViewport: element.dataset.elementInViewport &&
7385                    element.querySelector(element.dataset.elementInViewport),
7386            });
7387
7388            if (slider) {
7389                if (slider.dataset.afterChangeIsSet) {
7390                    return;
7391                }
7392
7393                slider.addEventListener('glider-loaded', () => {
7394                    slider.querySelectorAll('.jarallax').forEach(videoSlide => {
7395                        videoSlide.jarallax && videoSlide.jarallax.onScroll();
7396                    });
7397                });
7398
7399                slider.addEventListener('glider-animated', () => {
7400                    slider.querySelectorAll('.jarallax').forEach(videoSlide => {
7401                        videoSlide.jarallax && videoSlide.jarallax.onScroll();
7402                    });
7403                });
7404
7405                slider.dataset.afterChangeIsSet = true;
7406            }
7407        };
7408
7409        window.addEventListener('DOMContentLoaded', () => {
7410            const parallaxImageElements = document.querySelectorAll(
7411                `[data-content-type="row"][data-background-type="image"][data-enable-parallax="1"],
7412                [data-content-type="row"] > [data-background-type="image"][data-enable-parallax="1"]`
7413            );
7414
7415            const videoBackgroundsElements = document.querySelectorAll(
7416                `[data-content-type="row"][data-background-type="video"][data-enable-parallax="1"],
7417                [data-content-type="row"] > [data-background-type="video"][data-enable-parallax="1"],
7418                [data-content-type="banner"] [data-background-type="video"],
7419                [data-content-type="slide"] [data-background-type="video"]`
7420            );
7421
7422            if (parallaxImageElements.length > 0 || videoBackgroundsElements.length > 0) {
7423                const jarallaxScript = document.createElement('script');
7424                jarallaxScript.type = 'text/javascript';
7425
7426                jarallaxScript.addEventListener('load', () => {
7427                    parallaxImageElements.forEach(row => {
7428                        initParallaxImage(row);
7429                    });
7430
7431                    const jarallaxVideoScript = document.createElement('script');
7432                    jarallaxVideoScript.type = 'text/javascript';
7433
7434                    jarallaxVideoScript.addEventListener('load', () => {
7435                        videoBackgroundsElements.forEach(element => {
7436                            initVideoBackground(element);
7437                        });
7438                    });
7439
7440                    jarallaxVideoScript.src = 'https\u003A\u002F\u002Fwww.naturelab.it\u002Fstatic\u002Fversion1786556693\u002Ffrontend\u002FNature\u002Fnaturelab\u002Fit_IT\u002FMagento_PageBuilder\u002Fjs\u002Fjarallax\u002Dvideo.min.js';
7441                    document.head.appendChild(jarallaxVideoScript);
7442                });
7443
7444                jarallaxScript.src = 'https\u003A\u002F\u002Fwww.naturelab.it\u002Fstatic\u002Fversion1786556693\u002Ffrontend\u002FNature\u002Fnaturelab\u002Fit_IT\u002FMagento_PageBuilder\u002Fjs\u002Fjarallax.min.js';
7445                document.head.appendChild(jarallaxScript);
7446            }
7447        });
7448    })();
7449</script>
vendor: 1 bytes, line 7449
7449
7450<script>
7451    'use strict';
7452
7453    (() => {
7454        const applyShowOnHover = (element) => {
7455            const showOverlayOnHover = (element) => {
7456                const overlay = element.querySelector('.pagebuilder-overlay');
7457                const color = overlay.dataset.overlayColor;
7458
7459                element.addEventListener('mouseover', () => {
7460                    overlay.style.backgroundColor = color;
7461                });
7462                element.addEventListener('mouseout', () => {
7463                    overlay.style.backgroundColor = 'transparent';
7464                });
7465            };
7466
7467            const showButtonOnHover = (element) => {
7468                const button = element.querySelector('.pagebuilder-banner-button');
7469
7470                element.addEventListener('mouseover', () => {
7471                    button.style.opacity = '1';
7472                    button.style.visibility = 'visible';
7473                });
7474                element.addEventListener('mouseout', () => {
7475                    button.style.opacity = '0';
7476                    button.style.visibility = 'hidden';
7477                });
7478            };
7479
7480            if (element.dataset.showOverlay === 'hover') {
7481                showOverlayOnHover(element);
7482            }
7483            if (element.dataset.showButton === 'hover') {
7484                showButtonOnHover(element);
7485            }
7486        };
7487
7488        window.addEventListener('DOMContentLoaded', () => {
7489            document.querySelectorAll('[data-content-type="banner"],[data-content-type="slider"]').forEach(element => {
7490                applyShowOnHover(element);
7491            });
7492        });
7493    })();
7494</script>
vendor: 1 bytes, line 7494
7494
7495<script>
7496    'use strict';
7497
7498    (() => {
7499        document.querySelectorAll('[data-content-type="tab-item"]').forEach(tabItem => {
7500            tabItem.setAttribute('x-show', `tab === '${tabItem.id}'`);
7501        });
7502
7503        document.querySelectorAll('[data-content-type="tabs"]').forEach(tab => {
7504            const defaultActiveTab = parseInt(tab.dataset.activeTab) || 0;
7505
7506            tab.querySelectorAll('.tab-header').forEach((tabHeader, index) => {
7507                const tabLink = tabHeader.querySelector('a');
7508                const tabId = tabLink.getAttribute('href').replace('#', '');
7509
7510                tabHeader.setAttribute(':class', `{ 'active': tab === '${tabId}' }`);
7511                tabLink.setAttribute('x-on:click.prevent', `tab = '${tabId}'`);
7512
7513                if (index === defaultActiveTab) {
7514                    tab.setAttribute('x-data', `{ tab: '${tabId}' }`);
7515                }
7516            });
7517        });
7518    })();
7519</script>
vendor: 1 bytes, line 7519
7519
7520<script>
7521    'use strict';
7522
7523    const grecaptchaV2LoadCallbacks = [];
7524
7525    function executeRecaptchaLoadCallbacks () {
7526        while (window.grecaptcha && grecaptchaV2LoadCallbacks.length > 0) {
7527            const callback = grecaptchaV2LoadCallbacks.pop();
7528            typeof callback === 'string' ? window[callback]() : callback();
7529        }
7530    }
7531
7532    (function() {
7533        const loadRecaptchaScript = (event) => {
7534
7535            if (window.grecaptcha || !event.target.form) {
7536                return;
7537            }
7538
7539            const url = 'https://www.google.com/recaptcha/api.js?onload=executeRecaptchaLoadCallbacks';
7540            const siteKey = '6LfEvTcqAAAAAP4jwfTRh8tMSlXxl\u002D8VBqmwaGnN';
7541            const script = document.createElement('script');
7542            script.type = 'text/javascript';
7543            script.src = siteKey ? `${url}&render=${siteKey}` : `${url}&render=explicit`;
7544            script.async = true;
7545            document.head.appendChild(script);
7546
7547            script.addEventListener('load', () => {
7548                Array.from(document.querySelectorAll('button[data-recaptcha-btn]:disabled')).forEach(btn => btn.removeAttribute('disabled'));
7549            });
7550        }
7551
7552        window.forceLoadRecaptchaScript = (form) => {
7553            loadRecaptchaScript({target: {form: form || 'dummy'}});
7554            executeRecaptchaLoadCallbacks();
7555        };
7556
7557        document.body.addEventListener('input', loadRecaptchaScript, { once: true });
7558        document.body.addEventListener('focus', loadRecaptchaScript, { once: true });
7559
7560    }());
7561
7562</script>
vendor: 1 bytes, line 7562
7562
7563<script>
7564    'use strict';
7565
7566    (function () {
7567        const modals = [];
7568        const excludedFromFocusTrapping = new Set();
7569
7570        function trapFocusInNextModalWithOverlay() {
7571            for (let idx = modals.length -1; idx >= 0; idx--) {
7572                const nextOnStack = modals[idx];
7573                const nextDialogElement = nextOnStack.instance.$refs[nextOnStack.name];
7574                if (! isOverlayDisabled(nextDialogElement)) {
7575                    hyva.trapFocus(nextDialogElement);
7576                    break;
7577                }
7578            }
7579        }
7580
7581        function focusables(dialogElement) {
7582            const selector = 'button, [href], input, textarea, select, details, [tabindex]:not([tabindex="-1"])';
7583            return Array.from(dialogElement.querySelectorAll(selector))
7584                .filter(el => !el.hasAttribute('disabled'));
7585        }
7586
7587        function firstVisible(elements) {
7588            const a = Array.from(elements);
7589            for (let i = 0; i < a.length; i++) {
7590                if (a[i].offsetWidth || a[i].offsetHeight || a[i].getClientRects().length) return a[i];
7591            }
7592            return null;
7593        }
7594
7595        function isInViewport(element) {
7596            const rect = element && element.getBoundingClientRect();
7597            return rect &&
7598                rect.top >= 0 &&
7599                rect.left >= 0 &&
7600                rect.right <= window.innerWidth &&
7601                rect.bottom <= window.innerHeight;
7602        }
7603
7604        function setFocusAfterTransition(dialogElement, duration) {
7605                        const nested = Array.from(dialogElement.querySelectorAll('[role="dialog"]'));
7606            const candidates = Array.from(dialogElement.querySelectorAll('[x-focus-first]'));
7607            next: for (let candidate of candidates) {
7608                for (let child of nested) {
7609                    if (child.contains(candidate)) continue next;
7610                }
7611                setTimeout(() => candidate.focus(), 50);
7612                break;
7613            }
7614            window.setTimeout(() => {
7615                const focusElement = firstVisible(dialogElement.querySelectorAll('[x-focus-first]')) ||
7616                    focusables(dialogElement)[0] ||
7617                    null;
7618                focusElement && isInViewport(focusElement) && focusElement.focus();
7619            }, Math.max(1, duration));
7620        }
7621
7622        function determineTrigger($refs, dialog, trigger) {
7623                        if (typeof trigger === 'undefined' && typeof dialog === 'object' && dialog.target instanceof HTMLElement) {
7624                return dialog.target;
7625            }
7626                        if (typeof dialog === 'string' && typeof trigger === 'object' && trigger.target instanceof HTMLElement) {
7627                return trigger.target;
7628            }
7629                        if (typeof trigger === 'string') {
7630                try {
7631                    return $refs[trigger] || document.querySelector(trigger)
7632                } catch (e) {}
7633            }
7634                        if (trigger instanceof Element) {
7635                return trigger;
7636            }
7637
7638                        return null;
7639        }
7640
7641        function isOverlayDisabled(dialog) {
7642            return dialog && dialog.hasAttribute('x-no-overlay')
7643        }
7644
7645        function areRemainingModalsWithoutOverlay(modals)
7646        {
7647            const overflowDisabled = modals.map(modal => modal.instance.$refs[modal.name]).filter(isOverlayDisabled);
7648
7649            return overflowDisabled.length === modals.length;
7650        }
7651
7652        window.hyva.modal = function(options) {
7653
7654            const config = Object.assign({
7655                dialog: 'dialog',                 duration: 300,                 transitionEnter: 'transition ease-out duration-300',
7656                transitionEnterStart: 'opacity-0',
7657                transitionEnterEnd: 'opacity-100',
7658                transitionLeave: 'transition ease-in duration-300',
7659                transitionLeaveStart: 'opacity-100',
7660                transitionLeaveEnd: 'opacity-0',
7661            }, options);
7662            let lastHide = 0;
7663
7664            return {
7665                opened: {},
7666                show(dialog, trigger) {
7667                    const focusTargetAfterHide = determineTrigger(this.$refs, dialog, trigger);
7668                    const name = typeof dialog === 'string' ? dialog : config.dialog;
7669                    const dialogElement = this.$refs[name];
7670                    if (! dialogElement) {
7671                                                return;
7672                    }
7673                    const useOverlay = ! dialogElement.hasAttribute('x-no-overlay');
7674
7675                    dialogElement.scrollTop = 0;
7676
7677                                        if (this.opened[name]) {
7678                        return;
7679                    }
7680
7681                    if (focusTargetAfterHide) {
7682                        focusTargetAfterHide.setAttribute('aria-expanded', 'true');
7683                    }
7684
7685                    this.opened[name] = true;
7686                    useOverlay && this.$nextTick(() => hyva.trapFocus(dialogElement));
7687                    setFocusAfterTransition(dialogElement, config.duration);
7688
7689                    const frame = {name, instance: this, focusTarget: focu
7689sTargetAfterHide, time: Date.now()};
7690
7691                    modals.push(frame);
7692                    if (useOverlay) {
7693                        document.body.classList.add('overflow-hidden');
7694                    }
7695                    return new Promise(resolve => frame.resolve = resolve);
7696                },
7697                cancel() {
7698                    this.hide(false);
7699                },
7700                ok() {
7701                    this.hide(true);
7702                },
7703                hide(value) {
7704                                        if (Date.now() - lastHide < config.duration) {
7705                        return;
7706                    }
7707                    lastHide = Date.now();
7708
7709                    const modal = modals.pop() || {};
7710                    const name = modal.name;
7711                    this.opened[name] = false;
7712                    hyva.releaseFocus(modal.instance.$refs[modal.name])
7713                    trapFocusInNextModalWithOverlay();
7714
7715                    const nextFocusAfterHide = modal.focusTarget;
7716                    nextFocusAfterHide && setTimeout(() => {
7717                        nextFocusAfterHide.setAttribute('aria-expanded', 'false');
7718                        nextFocusAfterHide.focus()
7719                    }, config.duration);
7720
7721                    if (modals.length === 0 || areRemainingModalsWithoutOverlay(modals)) {
7722                        document.body.classList.remove('overflow-hidden');
7723                    }
7724
7725                    modal.resolve(value);
7726                },
7727                overlay(dialog) {
7728                    const name = typeof dialog === 'string' ? dialog : config.dialog;
7729                    return {
7730                        ['x-show']() {
7731                            return this.opened[name]
7732                        },
7733                        ['x-transition:enter']: config.transitionEnter,
7734                        ['x-transition:enter-start']: config.transitionEnterStart,
7735                        ['x-transition:enter-end']: config.transitionEnterEnd,
7736                        ['x-transition:leave']: config.transitionLeave,
7737                        ['x-transition:leave-start']: config.transitionLeaveStart,
7738                        ['x-transition:leave-end']: config.transitionLeaveEnd,
7739                        ['@hyva-modal-show.window'](event) {
7740                            event.detail && event.detail.dialog === name && this.show(name, event.detail.focusAfterHide)
7741                        }
7742                    };
7743                }
7744            };
7745        }
7746
7747        window.hyva.modal.peek = () => modals.length > 0 && modals[modals.length -1]
7748
7749        window.hyva.modal.pop = function () {
7750            if (modals.length > 0) {
7751                const modal = modals[modals.length -1];
7752                modal.instance.hide();
7753            }
7754        }
7755
7756        window.hyva.modal.excludeSelectorsFromFocusTrap = function (selectors) {
7757            typeof selectors === 'string' || selectors instanceof String
7758                ? excludedFromFocusTrapping.add(selectors)
7759                : selectors.map(selector => excludedFromFocusTrapping.add(selector));
7760        }
7761
7762        window.hyva.modal.eventListeners = {
7763            keydown: event => {
7764                if (event.key === 'Escape') {
7765                    window.hyva.modal.pop();
7766                }
7767            },
7768                        click: event => {
7769                if (modals.length > 0) {
7770                    const modal = modals[modals.length -1];
7771                    const dialog = modal.instance.$refs[modal.name];
7772                    if (modal.time + 50 < Date.now() && // if last click processing is more than 50ms ago
7773                        ! isOverlayDisabled(dialog) && // if dialog has overlay
7774                        ! dialog.contains(event.target)) { // if click is outside of dialog
7775                        modal.instance.hide();
7776                    }
7777                }
7778            }
7779        };
7780
7781        document.addEventListener('keydown', window.hyva.modal.eventListeners.keydown);
7782
7783        document.addEventListener('click', window.hyva.modal.eventListeners.click);
7784    })();
7785</script>
7785
7786
7787<script>
7788    (function () {
7789        'use strict';
7790
7791        const storageName = 'AmastyCookieGroups';
7792
7793        !!hyva.amStorage && hyva.amStorage.create(storageName, {
7794            /**
7795             * @type {{
7796             * checked: boolean,
7797             * cookies: {description: string, lifetime: number|null, name: string, provider: string, type: string}[],
7798             * description: string,
7799             * groupId: string|number,
7800             * isEssential: boolean,
7801             * name: string
7802             * }[]} name
7803             */
7804            groupData: [],
7805            cookiePolicy: undefined,
7806            lastUpdate: undefined,
7807
7808            /**
7809             * @returns {string|number[]}
7810             */
7811            getEssentialGroupIds: function () {
7812                return this.groupData.reduce(function (essentialGroupIds, group) {
7813                        if (group.isEssential) {
7814                            essentialGroupIds.push(group.groupId)
7815                        }
7816
7817                        return essentialGroupIds;
7818                    }, []);
7819            },
7820
7821            /**
7822             * @returns {string|number[]}
7823             */
7824            getCheckedGroupIds: function () {
7825                return this.groupData.reduce(function (checkedGroupIds, group) {
7826                    if (group.checked) {
7827                        checkedGroupIds.push(group.groupId);
7828                    }
7829
7830                    return checkedGroupIds;
7831                }, []);
7832            },
7833
7834            /**
7835             * @param {string} cookieName
7836             * @returns {boolean}
7837             */
7838            isCookieEssential: function (cookieName) {
7839                const allEssentialCookies = this.getEssentialCookies();
7840
7841                return !!allEssentialCookies.find(cookie => cookie.name === cookieName);
7842            },
7843
7844            /**
7845             * @returns {array}
7846             */
7847            getEssentialCookies: function () {
7848                return this.groupData
7849                    .filter(group => group.isEssential)
7850                    .map(group => group.cookies)
7851                    .flat();
7852            },
7853
7854            /**
7855             * @returns {boolean}
7856             */
7857            hasGroupData: function () {
7858                return !!this.groupData.length;
7859            },
7860
7861            /**
7862             * @param {string} cookieName
7863             * @param {string} pattern
7864             * @returns {boolean}
7865             */
7866            isEssentialByPattern: function (cookieName, pattern) {
7867                const essentialCookiePatterns = this.getEssentialCookiesPattern(pattern);
7868
7869                return essentialCookiePatterns.some((pattern) => !!cookieName.match(this.getCookiePattern(pattern)));
7870            },
7871
7872            /**
7873             * @param {string} pattern
7874             * @return {Array}
7875             */
7876            getEssentialCookiesPattern: function (pattern) {
7877                return this.getCookiesByPattern(pattern, this.getEssentialCookies());
7878            },
7879
7880            /**
7881             * @param {string} pattern
7882             * @param {Array|undefined} cookies
7883             * @return {Array}
7884             */
7885            getCookiesByPattern: function (pattern, cookies) {
7886                if (typeof cookie === 'undefined') {
7887                    cookies = this.getAllCookies();
7888                }
7889
7890                return cookies
7891                    .map((cookie) => typeof cookie === 'object' ? cookie.name : cookie.split('=')[0].trim())
7892                    .filter((cookie) => cookie.match(pattern) !== null);
7893            },
7894
7895            /**
7896             * @returns {array}
7897             */
7898            getDisallowedCookies: function () {
7899                const disallowedCookie = decodeURIComponent(hyva.getCookie('amcookie_disallowed') ?? '');
7900                if (!disallowedCookie) {
7901                    return [];
7902                }
7903
7904                return disallowedCookie.split(',');
7905            },
7906
7907            /**
7908             * @returns {string}
7909             */
7910            getCookiePattern: function (pattern) {
7911                return `^${pattern.replaceAll('*', '.*')}$`;
7912            },
7913
7914            /**
7915             * @returns {array}
7916             */
7917            getAllCookies: function () {
7918                return document.cookie.split(';');
7919            },
7920
7921            /**
7922             * @param {boolean} setAcceptance
7923             * @returns {Promise}
7924             */
7925            updateGroupData: function (setAcceptance = false) {
7926                const cookieFetchUrl = `${BASE_URL}amcookie/cookie/cookies`;
7927                return fetch(cookieFetchUrl, {
7928                    method: "POST",
7929                    headers: {
7930                        'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
7931                        'X-Requested-With': 'XMLHttpRequest'
7932                    },
7933                    body: new URLSearchParams({
7934                        allowed: hyva.getCookie('amcookie_allowed'),
7935                        restriction: hyva.getCookie('amcookie_policy_restriction')
7936                    })
7937                }).then(response => {
7938                    if (response.ok) {
7939                        return response.json();
7940                    }
7941
7942                    return Promise.reject(`${response.status} ${response.statusText}`);
7943                }).then(data => {
7944                    this.cookiePolicy = data.cookiePolicy ?? 'allowed';
7945                    this.lastUpdate = data.lastUpdate ?? 0;
7946                    this.groupData = [...data.groupData];
7947
7948                    hyva.setCookie('amcookie_policy_restriction', this.cookiePolicy, 10);
7949                    if (setAcceptance) {
7950                        amastyCookieManager.setLastCookieAcceptance(this.lastUpdate);
7951                    }
7952
7953                    return data;
7954                }).catch(error => {
7955                    typeof window.dispatchMessages !== "undefined" && window.dispatchMessages([
7956                        {
7957                            type: "error",
7958                            text: error
7959                        }
7960                    ]);
7961                }).finally(() => window.dispatchEvent(new CustomEvent('amasty-cookie-group-updated')));
7962            }
7963        });
7964    })();
7965</script>
vendor: 1 bytes, line 7965
7965
7966<script>
7967    (function (amastyCookieManager) {
7968        'use strict';
7969
7970        amastyCookieManager.pattern = '{(?<cookiePattern>.*)}';
7971
7972        amastyCookieManager.getAmastyCookieGroupStorage = function () {
7973            return hyva?.amStorage?.getStorage('AmastyCookieGroups') ?? {};
7974        };
7975
7976        amastyCookieManager.deleteDisallowedCookie = function () {
7977            const amastyCookieGroupStorage = this.getAmastyCookieGroupStorage();
7978            const disallowedCookies = amastyCookieGroupStorage?.getDisallowedCookies() ?? [];
7979
7980            disallowedCookies.forEach((name) => {
7981                const pattern = name.match(this.pattern);
7982                if (!!pattern && !!amastyCookieGroupStorage) {
7983                    const cookiePattern = amastyCookieGroupStorage.getCookiePattern(pattern.groups.cookiePattern) ?? '';
7984
7985                    amastyCookieGroupStorage.getCookiesByPattern(cookiePattern).forEach((cookieName) => {
7986                        this.deleteNotEssentialCookie(cookieName);
7987                    });
7988                } else {
7989                    this.deleteNotEssentialCookie(name);
7990                }
7991            });
7992        };
7993
7994        amastyCookieManager.isCookieAllowed = function (cookieName) {
7995            const allowedGroups = hyva.getCookie('amcookie_allowed');
7996            const disallowedCookie = this.getAmastyCookieGroupStorage()?.getDisallowedCookies() ?? [];
7997            const isCookiePolicyAllowed = hyva.getCookie('amcookie_policy_restriction') === 'allowed';
7998            const isCookieEssential = this.getAmastyCookieGroupStorage()?.isCookieEssential(cookieName);
7999            const isCookieEssentialByPattern = this.getAmastyCookieGroupStorage()?.isEssentialByPattern(cookieName, this.pattern);
8000
8001            if (!isCookiePolicyAllowed || isCookieEssential || isCookieEssentialByPattern) {
8002                return true;
8003            }
8004
8005            return !((!allowedGroups && !disallowedCookie) || this.isCookieDisallowed(cookieName));
8006        };
8007
8008        amastyCookieManager.isCookieDisallowed = function (cookieName) {
8009            const amastyCookieGroupStorage = this.getAmastyCookieGroupStorage();
8010            const disallowedCookies = amastyCookieGroupStorage?.getDisallowedCookies() ?? [];
8011
8012            return disallowedCookies.some((cookie) => {
8013                const pattern = cookie.match(this.pattern);
8014
8015                return !!pattern && !!cookieName.match(amastyCookieGroupStorage?.getCookiePattern(pattern.groups.cookiePattern));
8016            }) || disallowedCookies.indexOf(cookieName) !== -1;
8017        };
8018
8019        amastyCookieManager.processManageableCookies = function () {
8020            let cookieScripts = document.querySelectorAll('script[data-amcookie-groupid][type="text/plain"]');
8021
8022            cookieScripts.forEach((elem) => {
8023                if (this.isChecked(elem.dataset['amcookie-groupid'])) {
8024                    let elClone = elem.cloneNode(true).setAttribute('type', 'text/javascript');
8025
8026                    elem.remove();
8027                    document.body.appendChild(elClone);
8028                }
8029            });
8030        };
8031
8032        amastyCookieManager.deleteNotEssentialCookie = function (cookieName) {
8033            if (!this.getAmastyCookieGroupStorage()?.isCookieEssential(cookieName)) {
8034                hyva.setCookie(cookieName, '', -1, true);
8035            }
8036        };
8037
8038        amastyCookieManager.setLastCookieAcceptance = function (lastUpdate) {
8039            localStorage.setItem('am-last-cookie-acceptance', lastUpdate);
8040        };
8041
8042        window.addEventListener('amasty-cookie-group-updated', () => {
8043            amastyCookieManager.deleteDisallowedCookie();
8044        });
8045
8046        window.addEventListener('private-content-loaded', () => {
8047            amastyCookieManager.getAmastyCookieGroupStorage()?.hasGroupData() && amastyCookieManager.deleteDisallowedCookie();
8048        });
8049    }(window.amastyCookieManager = window.amastyCookieManager || {}));
8050</script>
vendor: 1 bytes, line 8050
8050
8051<script>
8052    (function () {
8053        'use strict';
8054
8055        window.addEventListener('cookiebar-action-accept', (event) => {
8056            const groups = event.detail;
8057            const url = `${BASE_URL}amcookie/cookie/savegroups`;
8058            const contentType = 'application/x-www-form-urlencoded; charset=UTF-8';
8059            const body = new URLSearchParams({
8060                form_key: hyva.getFormKey()
8061            });
8062            groups.length && groups.map(groupId => body.append('groups[]', groupId));
8063
8064            fetch(url, {method: 'POST', body, headers: {'Content-Type': contentType}})
8065                .then(response => {
8066                    if (response.ok) {
8067                        return response.json();
8068                    }
8069
8070                    return Promise.reject(`${response.status} ${response.statusText}`);
8071                })
8072                .then(data => {
8073                    if (data.success) {
8074                        !!hyva.amStorage && hyva.amStorage.getStorage('AmastyCookieGroups').updateGroupData(true);
8075                    }
8076                })
8077                .catch(error => {
8078                    typeof window.dispatchMessages !== "undefined" && window.dispatchMessages([
8079                        {
8080                            type: "error",
8081                            text: error
8082                        }
8083                    ]);
8084                })
8085                .finally(() => {
8086                    amastyCookieManager.processManageableCookies();
8087                    window.dispatchEvent(new CustomEvent('cookiebar-action-accept-finish'));
8088                    window.dispatchEvent(new CustomEvent('amasty-cookie-group-updated'));
8089                    // Wait cookiebar close animation
8090                    setTimeout(() => {
8091                        window.dispatchEvent(new CustomEvent('reload-customer-section-data'));
8092                    }, 100);
8093                });
8094        });
8095    })();
8096</script>
vendor: 1 bytes, line 8096
8096
8097<script>
8098    (function () {
8099        'use strict';
8100
8101        window.addEventListener('cookiebar-action-allow', () => {
8102            const url = `${BASE_URL}amcookie/cookie/allow`;
8103            const contentType = 'application/x-www-form-urlencoded; charset=UTF-8';
8104            const body = new URLSearchParams({
8105                form_key: hyva.getFormKey()
8106            });
8107            fetch(url, {method: 'POST', body, headers: {'Content-Type': contentType}})
8108                .then(response => {
8109                    if (response.ok) {
8110                        return response;
8111                    }
8112
8113                    return Promise.reject(`${response.status} ${response.statusText}`);
8114                })
8115                .then(() => {
8116                    !!hyva.amStorage && hyva.amStorage.getStorage('AmastyCookieGroups').updateGroupData(true);
8117                })
8118                .catch(error => {
8119                    typeof window.dispatchMessages !== "undefined" && window.dispatchMessages([
8120                        {
8121                            type: "error",
8122                            text: error
8123                        }
8124                    ]);
8125                })
8126                .finally(() => {
8127                    amastyCookieManager.processManageableCookies();
8128                    window.dispatchEvent(new CustomEvent('cookiebar-action-allow-finish'));
8129                    // Wait cookiebar close animation
8130                    setTimeout(() => {
8131                        window.dispatchEvent(new CustomEvent('reload-customer-section-data'));
8132                    }, 100);
8133                });
8134        });
8135    })();
8136</script>
8136
8137
8138<script>
8139    (function () {
8140        'use strict';
8141
8142        window.addEventListener('cookiebar-action-settings', () => {
8143            window.dispatchEvent(new Event('open-am-cookie-bar-settings'));
8144        });
8145    })();
8146</script>
8146
8147
8148<style>
8149    :root {
8150        /* Bar Color Settings */
8151        --ambar-background: #fff;
8152        --ambar-links-color: #326ed1;
8153        --ambar-policy-text: #374151;
8154
8155        /* Buttons Color Settings */
8156        --ambar-button-accept-color: #337ab7;
8157        --ambar-button-accept-hover-color: #337ab7;
8158        --ambar-button-accept-text: #fff;
8159        --ambar-button-accept-hover-text: #fff;
8160
8161        --ambar-button-allow-color: #337ab7;
8162        --ambar-button-allow-hover-color: #337ab7;
8163        --ambar-button-allow-text: #fff;
8164        --ambar-button-allow-hover-text: #fff;
8165
8166        --ambar-button-decline-color: #337ab7;
8167        --ambar-button-decline-hover-color: #337ab7;
8168        --ambar-button-decline-text: #fff;
8169        --ambar-button-decline-hover-text: #fff;
8170
8171        --ambar-button-settings-color: #337ab7;
8172        --ambar-button-settings-hover-color: #337ab7;
8173        --ambar-button-settings-text: #fff;
8174        --ambar-button-settings-hover-text: #fff;
8175
8176        /* Buttons Order Settings */
8177        --ambar-button-accept-order: 0;
8178        --ambar-button-allow-order: 0;
8179        --ambar-button-settings-order: 0;
8180        --ambar-button-decline-order: 0;
8181    }
8182</style>
8183
8184<div x-data="{...hyva.modal(), ...initCookieBarSettings()}" x-spread="eventListeners" x-bind="eventListeners">
8185    <div x-cloak x-spread="overlay('am-cookie-bar-settings')"
8186         x-bind="overlay('am-cookie-bar-settings')"
8187         class="fixed inset-0 flex flex-col items-center justify-center text-left bg-gray-500/50 z-50">
8188        <div x-ref="am-cookie-bar-settings" role="dialog" aria-labelledby="cookiebar-groups"
8189             class="relative inline-block max-h-screen overflow-auto
8190                max-w-[90vw] bg-white shadow-xl rounded-lg p-10 text-gray-700">
8191            <div tabindex="0" @focusin="focusDoneButton()"></div>
8192            <button @click="$dispatch(hide('close-am-cookie-bar-settings'))"
8193                    aria-label="Chiudi"
8194                    x-ref="ambar-settings-close"
8195                    class="absolute right-2 top-2 text-gray-300 transition
8196                        hover:text-black focus:drop-shadow-md hover:drop-shadow-md">
8197                <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="none" viewBox="0 0 24 24"
8198                     stroke="currentColor"
8199                     stroke-width="2">
8200                    <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"/>
8201                </svg>
8202            </button>
8203            <div id="cookiebar-groups">
8204                
8205<div class="w-full flex flex-col">
8206    <template x-for="group in $store.AmastyCookieGroups.groupData" :key="group.groupId">
8207        <div class="mb-2">
8208            <div class="header flex justify-between items-start">
8209                <p class="text-lg font-semibold pr-6 ambar-group-title" x-text="group.name"></p>
8210                <div>
8211                    <label :for="`amcookie-classic-group-${group.groupId}`">
8212                        <input type="checkbox"
8213                               name="groups[]"
8214                               x-model="group.checked"
8215                               :id="`amcookie-classic-group-${group.groupId}`"
8216                               :disabled="group.isEssential"
8217                               :value="group.groupId"
8218                               :aria-label="group.name">
8219                    </label>
8220                </div>
8221            </div>
8222            <p class="pb-2 pt-0 -mt-2 text-sm ambar-group-description" x-html="group.description"></p>
8223            <button class="btn btn-secondary px-4 text-xs mb-4 rounded-sm before:content-none after:content-none"
8224                    type="button"
8225                    title="Maggiori Informazioni"
8226                    aria-label="Maggiori Informazioni"
8227                    @click="$dispatch('classic\u002Dopen\u002Dam\u002Dcookie\u002Dgroup\u002Dinfo', group)">
8228                Maggiori Informazioni            </button>
8229        </div>
8230    </template>
8231</div>
8232
8233
8234<div x-data="{...hyva.modal(), ...initCookieGroupInfo_6ac2bbed3ec01()}"
8235     x-spread="eventListeners" x-bind="eventListeners">
8236    <div x-cloak x-spread="overlay('classic-am-cookie-group-info')"
8237         x-bind="overlay('classic-am-cookie-group-info')"
8238         class="fixed inset-0 flex items-center justify-center text-left bg-gray-500/50 z-50">
8239        <div x-ref="classic-am-cookie-group-info" role="dialog" aria-labelledby="the-label"
8240             class="inline-block max-h-[92vh] max-w-[90vw] overflow-auto
8241                bg-white shadow-xl rounded-lg p-8 text-gray-700 relative">
8242            <template x-if="group">
8243                <div>
8244                    <button @click="$dispatch('classic-close-am-cookie-group-info')"
8245                            aria-label="Chiudi"
8246                            class="absolute right-2 top-2 text-gray-300 transition
8247                                hover:text-black focus:drop-shadow-md hover:drop-shadow-md">
8248                        <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="none" viewBox="0 0 24 24"
8249                             stroke="currentColor"
8250                             stroke-width="2">
8251                            <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"/>
8252                        </svg>
8253                    </button>
8254                    <div class="md:flex md:justify-start pb-4">
8255                        <p class="text-lg font-semibold" x-text="group.name"></p>
8256                    </div>
8257                    <div class="overflow-x-scroll md:overflow-x-auto">
8258                        <table class="table-auto w-full mb-4 text-left">
8259                            <thead>
8260                            <tr>
8261                                <th class="pr-4 text-xs font-medium">NOME</th>
8262                                <th class="pr-4 text-xs font-medium">PROVIDER</th>
8263                                <th class="min-w-[30%] pr-4 text-xs font-medium">DESCRIZIONE</th>
8264                                <th class="pr-4 text-xs font-medium">TIPO</th>
8265                            </tr>
8266                            </thead>
8267                            <tbody>
8268                            <template x-for="(item, index) in group.cookies" :key="index">
8269                                <tr>
8270                                    <td x-text="item.name" class="font-semibold pr-4 text-xs"></td>
8271                                    <td x-text="item.provider" class="pr-4 text-xs"></td>
8272                                    <td x-html="item.description" class="min-w-[30%] pr-4 text-xs"></td>
8273                                    <td x-text="item.type" class="pr-4 text-xs"></td>
8274                                </tr>
8275                            </template>
8276                            </tbody>
8277                        </table>
8278                    </div>
8279                </div>
8280            </template>
8281            <button
8282                @click="$dispatch('classic-close-am-cookie-group-info')" aria-label="Fatto"
8283                class="mx-auto ambar-action-btn font-semibold text-white uppercase bg-primary tracking-wider px-6">
8284                LETTO
8285            </button>
8286        </div>
8287    </div>
8288
8289</div>
8290<script>
8291    'use strict';
8292
8293    function initCookieGroupInfo_6ac2bbed3ec01() {
8294        return {
8295            group: null,
8296            eventListeners: {
8297                ['@classic-close-am-cookie-group-info.window']() {
8298                    this.hide('classic-am-cookie-group-info');
8299                },
8300                ['@classic-open-am-cookie-group-info.window'](event) {
8301                    this.group = event.detail;
8302
8303                    if (!!this.group) {
8304                        /*
8305                         If modal have big cookies list this can lead to
8306                         trigger hide event in hyva.modal.eventListeners.click,
8307                         so we should wait till this.group is reassigned
8308                         */
8309                        this.$nextTick(() => this.show('classic-am-cookie-group-info'));
8310                    }
8311                }
8312            }
8313        }
8314    }
8315</script>
8315
8316            </div>
8317            <div class="w-full flex">
8318                <button class="mx-auto ambar-action-btn font-semibold text-white uppercase bg-primary tracking-wider px-6 hover:bg-natlabLigthBlue"
8319                        x-ref="ambar-settings-done"
8320                        x-focus-first
8321                        @click="$dispatch('cookiebar-action-accept', $store.AmastyCookieGroups.getCheckedGroupIds())">
8322                    Fatto                </button>
8323            </div>
8324            <div tabindex="0" @focusin="focusCloseButton()"></div>
8325        </div>
8326    </div>
8327</div>
8328
8329<script>
8330    'use strict';
8331
8332    function initCookieBarSettings() {
8333        return {
8334            eventListeners: {
8335                ['@close-am-cookie-bar-settings.window']() {
8336                    !!this.opened['am-cookie-bar-settings'] &&
8337                    this.hide('am-cookie-bar-settings');
8338                },
8339                ['@open-am-cookie-bar-settings.window']() {
8340                    !this.opened['am-cookie-bar-settings'] &&
8341                    this.show('am-cookie-bar-settings');
8342                },
8343                ['@cookiebar-action-accept-finish.window']() {
8344                    !!this.opened['am-cookie-bar-settings'] &&
8345                    this.hide('am-cookie-bar-settings');
8346                }
8347            },
8348            focusDoneButton: function () {
8349                this.$refs['ambar-settings-done']?.focus();
8350            },
8351            focusCloseButton: function () {
8352                this.$refs['ambar-settings-close']?.focus();
8353            }
8354        }
8355    }
8356</script>
vendor: 1 bytes, line 8356
8356
8357<script type="application/json" id="default-section-data">
8358    {"messages":[],"customer":[],"compare-products":[],"last-ordered-items":[],"cart":[],"directory-data":{"AT":{"name":"Austria","regions":{"102":{"code":"BL","name":"Burgenland"},"99":{"code":"KN","name":"K\u00e4rnten"},"96":{"code":"NO","name":"Nieder\u00f6sterreich"},"97":{"code":"OO","name":"Ober\u00f6sterreich"},"98":{"code":"SB","name":"Salzburg"},"100":{"code":"ST","name":"Steiermark"},"101":{"code":"TI","name":"Tirol"},"103":{"code":"VB","name":"Vorarlberg"},"95":{"code":"WI","name":"Wien"}}},"BE":{"name":"Belgio"},"CH":{"name":"Svizzera","regions":{"104":{"code":"AG","name":"Aargau"},"106":{"code":"AR","name":"Appenzell Ausserrhoden"},"105":{"code":"AI","name":"Appenzell Innerrhoden"},"108":{"code":"BL","name":"Basel-Landschaft"},"109":{"code":"BS","name":"Basel-Stadt"},"107":{"code":"BE","name":"Bern"},"110":{"code":"FR","name":"Freiburg"},"111":{"code":"GE","name":"Genf"},"112":{"code":"GL","name":"Glarus"},"113":{"code":"GR","name":"Graub\u00fcnden"},"114":{"code":"JU","name":"Jura"},"115":{"code":"LU","name":"Luzern"},"116":{"code":"NE","name":"Neuenburg"},"117":{"code":"NW","name":"Nidwalden"},"118":{"code":"OW","name":"Obwalden"},"120":{"code":"SH","name":"Schaffhausen"},"122":{"code":"SZ","name":"Schwyz"},"121":{"code":"SO","name":"Solothurn"},"119":{"code":"SG","name":"St. Gallen"},"124":{"code":"TI","name":"Tessin"},"123":{"code":"TG","name":"Thurgau"},"125":{"code":"UR","name":"Uri"},"126":{"code":"VD","name":"Waadt"},"127":{"code":"VS","name":"Wallis"},"128":{"code":"ZG","name":"Zug"},"129":{"code":"ZH","name":"Z\u00fcrich"}}},"DE":{"name":"Germania","regions":{"80":{"code":"BAW","name":"Baden-W\u00fcrttemberg"},"81":{"code":"BAY","name":"Bayern"},"82":{"code":"BER","name":"Berlin"},"83":{"code":"BRG","name":"Brandenburg"},"84":{"code":"BRE","name":"Bremen"},"85":{"code":"HAM","name":"Hamburg"},"86":{"code":"HES","name":"Hessen"},"87":{"code":"MEC","name":"Mecklenburg-Vorpommern"},"79":{"code":"NDS","name":"Niedersachsen"},"88":{"code":"NRW","name":"Nordrhein-Westfalen"},"89":{"code":"RHE","name":"Rheinland-Pfalz"},"90":{"code":"SAR","name":"Saarland"},"91":{"code":"SAS","name":"Sachsen"},"92":{"code":"SAC","name":"Sachsen-Anhalt"},"93":{"code":"SCN","name":"Schleswig-Holstein"},"94":{"code":"THE","name":"Th\u00fcringen"}}},"DK":{"name":"Danimarca"},"ES":{"name":"Spagna","regions":{"130":{"code":"A Coru\u0441a","name":"A Coru\u00f1a"},"131":{"code":"Alava","name":"Alava"},"132":{"code":"Albacete","name":"Albacete"},"133":{"code":"Alicante","name":"Alicante"},"134":{"code":"Almeria","name":"Almeria"},"135":{"code":"Asturias","name":"Asturias"},"136":{"code":"Avila","name":"Avila"},"137":{"code":"Badajoz","name":"Badajoz"},"138":{"code":"Baleares","name":"Baleares"},"139":{"code":"Barcelona","name":"Barcelona"},"140":{"code":"Burgos","name":"Burgos"},"141":{"code":"Caceres","name":"Caceres"},"142":{"code":"Cadiz","name":"Cadiz"},"143":{"code":"Cantabria","name":"Cantabria"},"144":{"code":"Castellon","name":"Castellon"},"145":{"code":"Ceuta","name":"Ceuta"},"146":{"code":"Ciudad Real","name":"Ciudad Real"},"147":{"code":"Cordoba","name":"Cordoba"},"148":{"code":"Cuenca","name":"Cuenca"},"149":{"code":"Girona","name":"Girona"},"150":{"code":"Granada","name":"Granada"},"151":{"code":"Guadalajara","name":"Guadalajara"},"152":{"code":"Guipuzcoa","name":"Guipuzcoa"},"153":{"code":"Huelva","name":"Huelva"},"154":{"code":"Huesca","name":"Huesca"},"155":{"code":"Jaen","name":"Jaen"},"156":{"code":"La Rioja","name":"La Rioja"},"157":{"code":"Las Palmas","name":"Las Palmas"},"158":{"code":"Leon","name":"Leon"},"159":{"code":"Lleida","name":"Lleida"},"160":{"code":"Lugo","name":"Lugo"},"161":{"code":"Madrid","name":"Madrid"},"162":{"code":"Malaga","name":"Malaga"},"163":{"code":"Melilla","name":"Melilla"},"164":{"code":"Murcia","name":"Murcia"},"165":{"code":"Navarra","name":"Navarra"},"166":{"code":"Ourense","name":"Ourense"},"167":{"code":"Palencia","name":"Palencia"},"168":{"code":"Pontevedra","name":"Pontevedra"},"169":{"code":"Salamanca","name":"Salamanca"},"170":{"code":"Santa Cruz de Tenerife","name":"Santa Cruz de Tenerife"},"171":{"code":"Segovia","name":"Segovia"},"172":{"code":"Sevilla","name":"Sevilla"},"173":{"code":"Soria","name":"Soria"},"174":{"code":"Tarragona","name":"Tarragona"},"175":{"code":"Teruel","name":"Teruel"},"176":{"code":"Toledo","name":"Toledo"},"177":{"code":"Valencia","name":"Valencia"},"178":{"code":"Valladolid","name":"Valladolid"}
8358,"179":{"code":"Vizcaya","name":"Vizcaya"},"180":{"code":"Zamora","name":"Zamora"},"181":{"code":"Zaragoza","name":"Zaragoza"}}},"FR":{"name":"Francia","regions":{"182":{"code":"1","name":"Ain"},"183":{"code":"2","name":"Aisne"},"184":{"code":"3","name":"Allier"},"185":{"code":"4","name":"Alpes-de-Haute-Provence"},"187":{"code":"6","name":"Alpes-Maritimes"},"188":{"code":"7","name":"Ard\u00e8che"},"189":{"code":"8","name":"Ardennes"},"190":{"code":"9","name":"Ari\u00e8ge"},"191":{"code":"10","name":"Aube"},"192":{"code":"11","name":"Aude"},"193":{"code":"12","name":"Aveyron"},"249":{"code":"67","name":"Bas-Rhin"},"194":{"code":"13","name":"Bouches-du-Rh\u00f4ne"},"195":{"code":"14","name":"Calvados"},"196":{"code":"15","name":"Cantal"},"197":{"code":"16","name":"Charente"},"198":{"code":"17","name":"Charente-Maritime"},"199":{"code":"18","name":"Cher"},"200":{"code":"19","name":"Corr\u00e8ze"},"201":{"code":"2A","name":"Corse-du-Sud"},"203":{"code":"21","name":"C\u00f4te-d'Or"},"204":{"code":"22","name":"C\u00f4tes-d'Armor"},"205":{"code":"23","name":"Creuse"},"261":{"code":"79","name":"Deux-S\u00e8vres"},"206":{"code":"24","name":"Dordogne"},"207":{"code":"25","name":"Doubs"},"208":{"code":"26","name":"Dr\u00f4me"},"273":{"code":"91","name":"Essonne"},"209":{"code":"27","name":"Eure"},"210":{"code":"28","name":"Eure-et-Loir"},"211":{"code":"29","name":"Finist\u00e8re"},"212":{"code":"30","name":"Gard"},"214":{"code":"32","name":"Gers"},"215":{"code":"33","name":"Gironde"},"250":{"code":"68","name":"Haut-Rhin"},"202":{"code":"2B","name":"Haute-Corse"},"213":{"code":"31","name":"Haute-Garonne"},"225":{"code":"43","name":"Haute-Loire"},"234":{"code":"52","name":"Haute-Marne"},"252":{"code":"70","name":"Haute-Sa\u00f4ne"},"256":{"code":"74","name":"Haute-Savoie"},"269":{"code":"87","name":"Haute-Vienne"},"186":{"code":"5","name":"Hautes-Alpes"},"247":{"code":"65","name":"Hautes-Pyr\u00e9n\u00e9es"},"274":{"code":"92","name":"Hauts-de-Seine"},"216":{"code":"34","name":"H\u00e9rault"},"217":{"code":"35","name":"Ille-et-Vilaine"},"218":{"code":"36","name":"Indre"},"219":{"code":"37","name":"Indre-et-Loire"},"220":{"code":"38","name":"Is\u00e8re"},"221":{"code":"39","name":"Jura"},"222":{"code":"40","name":"Landes"},"223":{"code":"41","name":"Loir-et-Cher"},"224":{"code":"42","name":"Loire"},"226":{"code":"44","name":"Loire-Atlantique"},"227":{"code":"45","name":"Loiret"},"228":{"code":"46","name":"Lot"},"229":{"code":"47","name":"Lot-et-Garonne"},"230":{"code":"48","name":"Loz\u00e8re"},"231":{"code":"49","name":"Maine-et-Loire"},"232":{"code":"50","name":"Manche"},"233":{"code":"51","name":"Marne"},"235":{"code":"53","name":"Mayenne"},"236":{"code":"54","name":"Meurthe-et-Moselle"},"237":{"code":"55","name":"Meuse"},"238":{"code":"56","name":"Morbihan"},"239":{"code":"57","name":"Moselle"},"240":{"code":"58","name":"Ni\u00e8vre"},"241":{"code":"59","name":"Nord"},"242":{"code":"60","name":"Oise"},"243":{"code":"61","name":"Orne"},"257":{"code":"75","name":"Paris"},"244":{"code":"62","name":"Pas-de-Calais"},"245":{"code":"63","name":"Puy-de-D\u00f4me"},"246":{"code":"64","name":"Pyr\u00e9n\u00e9es-Atlantiques"},"248":{"code":"66","name":"Pyr\u00e9n\u00e9es-Orientales"},"251":{"code":"69","name":"Rh\u00f4ne"},"253":{"code":"71","name":"Sa\u00f4ne-et-Loire"},"254":{"code":"72","name":"Sarthe"},"255":{"code":"73","name":"Savoie"},"259":{"code":"77","name":"Seine-et-Marne"},"258":{"code":"76","name":"Seine-Maritime"},"275":{"code":"93","name":"Seine-Saint-Denis"},"262":{"code":"80","name":"Somme"},"263":{"code":"81","name":"Tarn"},"264":{"code":"82","name":"Tarn-et-Garonne"},"272":{"code":"90","name":"Territoire-de-Belfort"},"277":{"code":"95","name":"Val-d'Oise"},"276":{"code":"94","name":"Val-de-Marne"},"265":{"code":"83","name":"Var"},"266":{"code":"84","name":"Vaucluse"},"267":{"code":"85","name":"Vend\u00e9e"},"268":{"code":"86","name":"Vienne"},"270":{"code":"88","name":"Vosges"},"271":{"code":"89","name":"Yonne"},"260":{"code":"78","name":"Yvelines"}}},"GB":{"name":"Regno Unito"},"GR":{"name":"Grecia"},"IE":{"name":"Irlanda"},"IT":{"name":"Italia"},"LU":{"name":"Lussemburgo"},"NL":{"name":"Paesi Bassi"},"PT":{"name":"Portogallo"},"SI":{"name":"Slovenia"},"SM":{"name":"San Marino"},"VA":{"name":"Citt\u00e0 del Vaticano"},"data_id":1791146989},"captcha":[],"instant-purchase":[],"loggedAsCustomer":[],"persistent":[],"review":[],"payments":[],"wishlist":{"items":[]},"recently_viewed_product":[],"recently_compared_product":[],"product_data_storage":[],"paypal-billing-agreement":[]}</script>
8358
8359</div></body>
8360</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.