PageSourceSearch

https://fera.pl/blog

html fera.pl collected 2026-09-24 10:12:22 UTC 1,162,499 bytes, 25,260 lines download raw bytes

1<!doctype html>
2<html lang="pl">
3<head >
4    <meta charset="utf-8"/>
5<meta name="title" content="Blog"/>
6<meta name="robots" content="INDEX,FOLLOW"/>
7<meta name="viewport" content="width=device-width, initial-scale=1"/>
8<title>Blog</title>
9<script type="text&#x2F;javascript">    window.dataLayer = window.dataLayer || [];
10    function gtag() { dataLayer.push(arguments) }
11
12    window.amConsentManager = window.amConsentManager || {
13        consentStates: {
14            denied: 'denied',
15            granted: 'granted'
16        },
17        storageName: 'amConsentMode',
18        gdprCookie: {
19            cookieGroupName: 'amcookie_allowed',
20            allCookiesAllowed: '0'
21        },
22        defaultConsentTypesData: {"ad_storage":{"default":"0","group":"1"},"analytics_storage":{"default":"0","group":"3"},"ad_user_data":{"default":"0","group":"2"},"ad_personalization":{"default":"0","group":"2"}},
23        currentStoreId: 1,
24        init: function () {
25            this.setDefaultConsent();
26
27            if (this.shouldResetConsentState()) {
28                this.resetAllowedCookiesGroups();
29                this.removeCurrentConsentState();
30            } else {
31                this.sendUpdateConsent();
32            }
33        },
34        setDefaultConsent: function () {
35            let consentState = {};
36            for (const [type, data] of Object.entries(this.defaultConsentTypesData)) {
37                consentState[type] = data.default === '1' ? this.consentStates.granted : this.consentStates.denied;
38            }
39
40            gtag('consent', 'default', consentState);
41        },
42        updateConsent: function (consent) {
43            const storageConsent = this.getPersistedConsentTypeState();
44            const consentState = {...storageConsent, ...consent};
45
46            this.persistConsentTypeState(consentState);
47            this.sendUpdateConsent();
48        },
49        sendUpdateConsent: function () {
50            gtag('consent', 'update', this.getPersistedConsentTypeStateForGtag());
51        },
52        removeCurrentConsentState: function () {
53            this.persistConsentTypeState({});
54        },
55        getConsentTypeStateByGroupIds: function (groups) {
56            let consentTypeState = {};
57
58            for (const [type, data] of Object.entries(this.defaultConsentTypesData)) {
59                consentTypeState[type] = {
60                    group: data.group,
61                    status: (groups.includes(data.group) || groups.includes(this.gdprCookie.allCookiesAllowed))
62                        ? this.consentStates.granted
63                        : this.consentStates.denied
64                }
65            }
66
67            return consentTypeState;
68        },
69        persistConsentTypeState: function (consentTypeState) {
70            let persistedState = this.getPersistedConsentTypeState(false);
71            persistedState[this.currentStoreId] = consentTypeState;
72            localStorage.setItem(this.storageName, JSON.stringify(persistedState));
73        },
74        getPersistedConsentTypeState: function (forCurrentStore = true) {
75            let persistedStates = JSON.parse(localStorage.getItem(this.storageName)) ?? {};
76
77            if (forCurrentStore) {
78                return persistedStates?.[this.currentStoreId] ?? {};
79            }
80
81            return persistedStates;
82        },
83        getPersistedConsentTypeStateForGtag: function () {
84            let consentTypeState = {};
85            let persistedState = this.getPersistedConsentTypeState();
86
87            for (const [type, data] of Object.entries(persistedState)) {
88                consentTypeState[type] = data.status;
89            }
90
91            return consentTypeState;
92        },
93        shouldResetConsentState: function () {
94            const persistedConsentTypes = this.getPersistedConsentTypeState();
95
96            if (Object.keys(persistedConsentTypes).length === 0
97                || Object.keys(persistedConsentTypes).length !== Object.keys(this.defaultConsentTypesData).length
98                || !document.cookie.includes(this.gdprCookie.cookieGroupName)
99            ) {
100                return true;
101            }
102
103            for (const [type, data] of Object.entries(persistedConsentTypes)) {
104                if (data.group !== this.defaultConsentTypesData[type].group) {
105                    return true;
106                }
107            }
108
109            return false;
110        },
111        resetAllowedCookiesGroups: function () {
112            document.cookie = this.gdprCookie.cookieGroupName + '=0;max-age=-1;domain=' + location.hostname;
113        }
114    };
115
116    window.amConsentManager.init();</script>
116<script type="text&#x2F;javascript">    window.amMicrosoftConsentManager = window.amMicrosoftConsentManager || {
117        microsoftPixels: [],
118        consentStates: {
119            denied: 'denied',
120            granted: 'granted'
121        },
122        storageName: 'amMicrosoftConsentMode',
123        gdprCookie: {
124            cookieGroupName: 'amcookie_allowed',
125            allCookiesAllowed: '0'
126        },
127        defaultConsentTypesData: {"ad_storage":{"default":"0","group":"1"}},
128        currentStoreId: 1,
129        init: function () {
130            this.microsoftPixels = window.amPixelManager?.getActivePixels('bing') ?? [];
131            this.initStorage();
132            this.setDefaultConsent();
133        },
134        initStorage: function () {
135            const persistedConsentTypes = this.getPersistedConsentTypeState();
136
137            if (Object.keys(persistedConsentTypes).length !== 0 && !this.shouldResetConsentState(persistedConsentTypes)) {
138                return;
139            }
140
141            let consentState = {};
142            for (const [type, data] of Object.entries(this.defaultConsentTypesData)) {
143                consentState[type] = {
144                    group: data.group,
145                    status: data.default === '1' ? this.consentStates.granted : this.consentStates.denied
146                };
147            }
148
149            this.resetAllowedCookiesGroups();
150            this.persistConsentTypeState(consentState);
151        },
152        setDefaultConsent: function () {
153            this.microsoftPixels.forEach(pixel => {
154                window[pixel.globalEventVariable]?.push('consent', 'default', this.getPersistedConsentTypeStateForUETtag());
155            });
156        },
157        updateConsent: function (consent) {
158            const storageConsent = this.getPersistedConsentTypeState();
159            const consentState = {...storageConsent, ...consent};
160
161            this.persistConsentTypeState(consentState);
162
163            this.microsoftPixels.forEach(pixel => {
164                window[pixel.globalEventVariable]?.push('consent', 'default', this.getPersistedConsentTypeStateForUETtag());
165            });
166        },
167        getConsentTypeStateByGroupIds: function (groups) {
168            let consentTypeState = {};
169
170            for (const [type, data] of Object.entries(this.defaultConsentTypesData)) {
171                consentTypeState[type] = {
172                    group: data.group,
173                    status: (groups.includes(data.group) || groups.includes(this.gdprCookie.allCookiesAllowed))
174                        ? this.consentStates.granted
175                        : this.consentStates.denied
176                }
177            }
178
179            return consentTypeState;
180        },
181        persistConsentTypeState: function (consentTypeState) {
182            let persistedState = this.getPersistedConsentTypeState(false);
183            persistedState[this.currentStoreId] = consentTypeState;
184            localStorage.setItem(this.storageName, JSON.stringify(persistedState));
185        },
186        getPersistedConsentTypeState: function (forCurrentStore = true) {
187            let persistedStates = JSON.parse(localStorage.getItem(this.storageName)) ?? {};
188
189            if (forCurrentStore) {
190                return persistedStates?.[this.currentStoreId] ?? {};
191            }
192
193            return persistedStates;
194        },
195        getPersistedConsentTypeStateForUETtag: function () {
196            let consentTypeState = {};
197            let persistedState = this.getPersistedConsentTypeState();
198
199            for (const [type, data] of Object.entries(persistedState)) {
200                consentTypeState[type] = data.status;
201            }
202
203            return consentTypeState;
204        },
205        shouldResetConsentState: function (persistedConsentTypes) {
206            if (Object.keys(persistedConsentTypes).length != Object.keys(this.defaultConsentTypesData).length
207                || !document.cookie.includes(this.gdprCookie.cookieGroupName)
208            ) {
209                return true;
210            }
211
212            for (const [type, data] of Object.entries(persistedConsentTypes)) {
213                if (data.group !== this.defaultConsentTypesData[type].group) {
214                    return true;
215                }
216            }
217
218            return false;
219        },
220        resetAllowedCookiesGroups: function () {
221            document.cookie = this.gdprCookie.cookieGroupName + '=0;max-age=-1;domain=' + location.hostname;
222        }
223    };
224
225    window.addEventListener('am-pixel-bing-init', () => {
226        window.amMicrosoftConsentManager?.init();
227    });</script>
227        <link rel="stylesheet" type="text/css" media="all" href="https://static.fera.pl/version1790219430/frontend/Tooks/default/pl_PL/css/styles.css" />
228<link rel="stylesheet" type="text/css" media="all" href="https://static.fera.pl/version1790219430/frontend/Tooks/default/pl_PL/StripeIntegration_Payments/css/wallets.css" />
229<link rel="stylesheet" type="text/css" media="all" href="https://static.fera.pl/version1790219430/frontend/Tooks/default/pl_PL/Magefan_Blog/css/design_valor/style-blog-post-list.css" />
230<script type="text/javascript" defer="defer" src="https://static.fera.pl/version1790219430/frontend/Tooks/default/pl_PL/Smile_ElasticsuiteTracker/js/tracking.js"></script>
vendor: 1 bytes, line 230
230
231<script type="text/javascript" defer="true" src="https://static.fera.pl/version1790219430/frontend/Tooks/default/pl_PL/Tooks_Customer/js/libphonenumber.js"></script>
vendor: 1 bytes, line 231
231
232<script type="text/javascript" defer="true" src="https://static.fera.pl/version1790219430/frontend/Tooks/default/pl_PL/Hyva_CheckoutStripe/js/load-stripe.js"></script>
232
233<link rel="canonical" href="https://fera.pl/blog" />
234<link rel="next" href="https://fera.pl/blog?page=2" />
235<link rel="icon" type="image/x-icon" href="https://media.fera.pl/favicon/stores/1/favicon-fera.png" />
236<link rel="shortcut icon" type="image/x-icon" href="https://media.fera.pl/favicon/stores/1/favicon-fera.png" />
237<meta name="google-site-verification" content="c4qx6WUqrAllRtAtSIZbdlg6mqEn3DK2Q1SgaSUPVUY" />    
237<script>
238    (() => {
239        const loadWebfonts = () => {
240            const link = document.createElement('link');
241            link.rel = 'stylesheet';
242            link.href = 'https\u003A\u002F\u002Fstatic.fera.pl\u002Fversion1790219430\u002Ffrontend\u002FTooks\u002Fdefault\u002Fpl_PL\u002Fcss\u002Fwebfonts.css';
243            document.head.appendChild(link);
244        };
245
246        if (document.readyState === 'loading') {
247            document.addEventListener('DOMContentLoaded', () => requestAnimationFrame(loadWebfonts));
248        } else {
249            requestAnimationFrame(loadWebfonts);
250        }
251    })();
252</script>
252
253<noscript><link rel="stylesheet" type="text/css" media="all" href="https://static.fera.pl/version1790219430/frontend/Tooks/default/pl_PL/css/webfonts.css"></noscript>
254<script type="text&#x2F;javascript">window.amga4PageType = 'other';</script>
vendor: 1 bytes, line 254
254
255<script type="text&#x2F;javascript">window.dataLayer = window.dataLayer || [];
256window.getAmGa4Cookie = function () {
257    let cookies = {};
258    document.cookie.split(';').forEach(function (el) {
259        let [key, value] = el.split('=');
260        cookies[key.trim()] = value;
261    });
262
263    return cookies['amga4_customer']
264        ? decodeURIComponent(cookies['amga4_customer'])
265        : '{}';
266};
267
268(function () {
269        /**
270     * @var {[Object]}
271     */
272    const userProperties = JSON.parse(window.getAmGa4Cookie());
273
274    if (userProperties.customerGroup) {
275        window.dataLayer.push({'customerGroup': userProperties.customerGroup});
276    }
277    if (userProperties.customerId) {
278        window.dataLayer.push({'customerId': userProperties.customerId});
279    }
280        /**
281     * @var {[Object]}
282     */
283    const dataToPush = JSON.parse('[]');
284
285    dataToPush.forEach((dataObject) => {
286        window.dataLayer.push(dataObject);
287    });
288})();
289</script>
289
290<!-- Google Tag Manager -->
291<script>
292    // Use window property instead of let to survive duplicate template renders (SyntaxError-safe)
293    window.dataLayer = window.dataLayer || [];
294    window.amGtmLoaded = window.amGtmLoaded || false;
295    function callAmGA4GTM () {
296        if (window.amGtmLoaded) return;
297        window.amGtmLoaded = true;
298        (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
299                new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
300            j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
301            'https://www.googletagmanager.com/gtm.js?id='+i+dl;var n=d.querySelector('[nonce]');
302            n&&j.setAttribute('nonce',n.nonce||n.getAttribute('nonce'));f.parentNode.insertBefore(j,f);
303        })(window,document,'script','dataLayer', 'GTM\u002DWVCP8K59');
304    }
305
306    // Both consent modes route through here so the container never lands in the critical path:
307    // gtm.js pulls gtag.js and analytics.js after it, ~340 KB that otherwise competes with the
308    // hero image for bandwidth and pushes LCP out. Arming is idempotent — the consent branch may
309    // call it from several triggers.
310    window.armAmGA4GTM = window.armAmGA4GTM || (function () {
311        const events = ['touchstart', 'mouseover', 'wheel', 'scroll', 'keydown', 'click'];
312        let armed = false;
313        let idleCallbackId;
314        let timeoutId;
315
316        function clearFallback() {
317            if (idleCallbackId !== undefined && 'cancelIdleCallback' in window) {
318                window.cancelIdleCallback(idleCallbackId);
319            }
320            if (timeoutId !== undefined) {
321                window.clearTimeout(timeoutId);
322            }
323        }
324
325        function loadGTM() {
326            events.forEach(type => window.removeEventListener(type, loadGTM));
327            window.removeEventListener('load', scheduleFallback);
328            clearFallback();
329            callAmGA4GTM();
330        }
331
332        function scheduleFallback() {
333            if (window.amGtmLoaded) {
334                return;
335            }
336            if ('requestIdleCallback' in window) {
337                idleCallbackId = window.requestIdleCallback(loadGTM, {timeout: 4000});
338            } else {
339                timeoutId = window.setTimeout(loadGTM, 2000);
340            }
341        }
342
343        return function arm() {
344            if (armed || window.amGtmLoaded) {
345                return;
346            }
347            armed = true;
348            events.forEach(type => window.addEventListener(type, loadGTM, {once: true, passive: true}));
349            if (document.readyState === 'complete') {
350                scheduleFallback();
351            } else {
352                window.addEventListener('load', scheduleFallback, {once: true});
353            }
354        };
355    })();
356</script>
356
357<!-- End Google Tag Manager -->
358    
358<script>
359        window.armAmGA4GTM();
360    </script>
360
361    
361<script type="text&#x2F;javascript">    window.amMicrosoftConsentManager = window.amMicrosoftConsentManager || {
362        microsoftPixels: [],
363        consentStates: {
364            denied: 'denied',
365            granted: 'granted'
366        },
367        storageName: 'amMicrosoftConsentMode',
368        gdprCookie: {
369            cookieGroupName: 'amcookie_allowed',
370            allCookiesAllowed: '0'
371        },
372        defaultConsentTypesData: {"ad_storage":{"default":"0","group":"1"}},
373        currentStoreId: 1,
374        init: function () {
375            this.microsoftPixels = window.amPixelManager?.getActivePixels('bing') ?? [];
376            this.initStorage();
377            this.setDefaultConsent();
378        },
379        initStorage: function () {
380            const persistedConsentTypes = this.getPersistedConsentTypeState();
381
382            if (Object.keys(persistedConsentTypes).length !== 0 && !this.shouldResetConsentState(persistedConsentTypes)) {
383                return;
384            }
385
386            let consentState = {};
387            for (const [type, data] of Object.entries(this.defaultConsentTypesData)) {
388                consentState[type] = {
389                    group: data.group,
390                    status: data.default === '1' ? this.consentStates.granted : this.consentStates.denied
391                };
392            }
393
394            this.resetAllowedCookiesGroups();
395            this.persistConsentTypeState(consentState);
396        },
397        setDefaultConsent: function () {
398            this.microsoftPixels.forEach(pixel => {
399                window[pixel.globalEventVariable]?.push('consent', 'default', this.getPersistedConsentTypeStateForUETtag());
400            });
401        },
402        updateConsent: function (consent) {
403            const storageConsent = this.getPersistedConsentTypeState();
404            const consentState = {...storageConsent, ...consent};
405
406            this.persistConsentTypeState(consentState);
407
408            this.microsoftPixels.forEach(pixel => {
409                window[pixel.globalEventVariable]?.push('consent', 'default', this.getPersistedConsentTypeStateForUETtag());
410            });
411        },
412        getConsentTypeStateByGroupIds: function (groups) {
413            let consentTypeState = {};
414
415            for (const [type, data] of Object.entries(this.defaultConsentTypesData)) {
416                consentTypeState[type] = {
417                    group: data.group,
418                    status: (groups.includes(data.group) || groups.includes(this.gdprCookie.allCookiesAllowed))
419                        ? this.consentStates.granted
420                        : this.consentStates.denied
421                }
422            }
423
424            return consentTypeState;
425        },
426        persistConsentTypeState: function (consentTypeState) {
427            let persistedState = this.getPersistedConsentTypeState(false);
428            persistedState[this.currentStoreId] = consentTypeState;
429            localStorage.setItem(this.storageName, JSON.stringify(persistedState));
430        },
431        getPersistedConsentTypeState: function (forCurrentStore = true) {
432            let persistedStates = JSON.parse(localStorage.getItem(this.storageName)) ?? {};
433
434            if (forCurrentStore) {
435                return persistedStates?.[this.currentStoreId] ?? {};
436            }
437
438            return persistedStates;
439        },
440        getPersistedConsentTypeStateForUETtag: function () {
441            let consentTypeState = {};
442            let persistedState = this.getPersistedConsentTypeState();
443
444            for (const [type, data] of Object.entries(persistedState)) {
445                consentTypeState[type] = data.status;
446            }
447
448            return consentTypeState;
449        },
450        shouldResetConsentState: function (persistedConsentTypes) {
451            if (Object.keys(persistedConsentTypes).length != Object.keys(this.defaultConsentTypesData).length
452                || !document.cookie.includes(this.gdprCookie.cookieGroupName)
453            ) {
454                return true;
455            }
456
457            for (const [type, data] of Object.entries(persistedConsentTypes)) {
458                if (data.group !== this.defaultConsentTypesData[type].group) {
459                    return true;
460                }
461            }
462
463            return false;
464        },
465        resetAllowedCookiesGroups: function () {
466            document.cookie = this.gdprCookie.cookieGroupName + '=0;max-age=-1;domain=' + location.hostname;
467        }
468    };
469
470    window.addEventListener('am-pixel-bing-init', () => {
471        window.amMicrosoftConsentManager?.init();
472    });</script>
472<script>
473    (function(w,d,s,i,dl){w._ceneo = w._ceneo || function () {
474        w._ceneo.e = w._ceneo.e || []; w._ceneo.e.push(arguments); };
475        w._ceneo.e = w._ceneo.e || [];dl=dl===undefined?"dataLayer":dl;
476        const f = d.getElementsByTagName(s)[0], j = d.createElement(s); j.defer = true;
477        j.src = "https://ssl.ceneo.pl/ct/v5/script.js?accountGuid=" + i + "&t=" + Date.now() + (dl ? "&dl=" + dl : '');
478        f.parentNode.insertBefore(j, f);
479    })(window, document, "script", "efb91ff1-0cf9-4616-af52-3bfcbd45f3d7");
480</script>
480
481        
481<script>(function () {
482    'use strict';
483
484    const consentConfig = {"cookieRestrictionEnabled":"0","cookieRestrictionName":"user_allowed_save_cookie"};
485    const trackerConfig = {"beaconUrl":"https:\/\/fera.pl\/elasticsuite\/tracker\/hit\/image\/h.png","telemetryUrl":"https:\/\/t.elasticsuite.io\/track","telemetryEnabled":false,"sessionConfig":{"visit_cookie_name":"STUID","visit_cookie_lifetime":"3600","visitor_cookie_lifetime":"365","visitor_cookie_name":"STVID","domain":"fera.pl","path":"\/"},"endpointUrl":"https:\/\/fera.pl\/rest\/V1\/elasticsuite-tracker\/hit"};
486    const storeId = '1';
487    // amasty-cookie-group-updated: Amasty fetches the cookie groups asynchronously, so on every
488    // page after the one where consent was given the first check sees no group data and fails
489    // closed. Without re-checking when the groups arrive the tracker only ever sent hits on the
490    // page the visitor clicked "accept" on (FERA-2778). Same event list as the Synerise gate.
491    const consentEvents = [
492        'user-allowed-save-cookie',
493        'cookiebar-action-accept-finish',
494        'cookiebar-action-allow-finish',
495        'amasty-cookie-group-updated'
496    ];
497
498    const state = (function initState() {
499        if (!window.__tooksEsTrackerState || typeof window.__tooksEsTrackerState !== 'object') {
500            window.__tooksEsTrackerState = {
501                initialized: false,
502                listenersBound: false,
503                consentHandler: null,
504                bindingAttempts: 0
505            };
506        }
507        return window.__tooksEsTrackerState;
508    }());
509
510    function hasTrackerApi(candidate) {
511        try {
512            return !!candidate
513                && typeof candidate.setConfig === 'function'
514                && typeof candidate.addPageVar === 'function'
515                && typeof candidate.addCustomerVar === 'function'
516                && typeof candidate.addSessionVar === 'function'
517                && typeof candidate.sendTag === 'function';
518        } catch (error) {
519            return false;
520        }
521    }
522
523    function createQueueingTrackerStub() {
524        return {
525            __queue: [],
526            addPageVar: function (name, value) {
527                this.__queue.push({ method: 'addPageVar', args: [name, value] });
528                return this;
529            },
530            addCustomerVar: function (name, value) {
531                this.__queue.push({ method: 'addCustomerVar', args: [name, value] });
532                return this;
533            },
534            addSessionVar: function (name, value) {
535                this.__queue.push({ method: 'addSessionVar', args: [name, value] });
536                return this;
537            },
538            setConfig: function (config) {
539                this.__queue.push({ method: 'setConfig', args: [config] });
540                return this;
541            },
542            sendTag: function (forceCollect) {
543                const args = typeof forceCollect === 'undefined' ? [] : [forceCollect];
544                this.__queue.push({ method: 'sendTag', args: args });
545                return this;
546            }
547        };
548    }
549
550    // Defensive JSON-based deep clone for queued command structures with strict manual sanitization fallback and DoS limits
551    function deepCloneQueue(queue) {
552        if (!Array.isArray(queue)) {
553            return [];
554        }
555
556        const allowedMethods = ['addPageVar', 'addCustomerVar', 'addSessionVar', 'setConfig', 'sendTag'];
557        const maxDepth = 5;
558        const maxQueueLength = 500;
559
560        function sanitizeValue(val, depth) {
561            const currentDepth = depth || 0;
562            if (currentDepth > maxDepth) {
563                return undefined;
564            }
565
566            try {
567                if (val === null) {
568                    return null;
569                }
570
571                const type = typeof val;
572                if (type !== 'object') {
573                    if (type === 'string' || type === 'boolean') {
574                        return val;
575                    }
576                    if (type === 'number') {
577                        return Number.isFinite(val) ? val : undefined;
578                    }
579                    return undefined;
580                }
581
582                if (Array.isArray(val)) {
583                    const out = [];
584                    for (let i = 0; i < val.length; i += 1) {
585                        const sanitized = sanitizeValue(val[i], currentDepth + 1);
586                        if (typeof sanitized !== 'undefined') {
587                            out.push(sanitized);
588                        }
589                    }
590                    return out;
591                }
592
593                let proto;
594                try {
595                    proto = Object.getPrototypeOf(val);
596                } catch (protoError) {
597                    return undefined;
598                }
599
600                if (proto !== Object.prototype && proto !== null) {
601                    return undefined;
602                }
603
604                const cleanObj = {};
605                let keys;
606                try {
607                    keys = Object.keys(val);
608                } catch (keysError) {
609                    return undefined;
610                }
611
612                keys.forEach(function (key) {
613                    let sanitizedProp;
614                    try {
615                        sanitizedProp = sanitizeValue(val[key], currentDepth + 1);
616                    } catch (propError) {
617                        sanitizedProp = undefined;
618                    }
619                    if (typeof sanitizedProp !== 'undefined') {
620                        cleanObj[key] = sanitizedProp;
621                    }
622                });
623                return cleanObj;
624            } catch (error) {
625                return undefined;
626            }
627        }
628
629        let rawClone = [];
630        const input = queue.slice(0, maxQueueLength);
631        try {
632            rawClone = JSON.parse(JSON.stringify(input));
633        } catch (e) {
634            rawClone = input;
635        }
636
637        const sanitized = [];
638        try {
639            rawClone.forEach(function (cmd) {
640                try {
641                    if (!cmd || typeof cmd !== 'object' || typeof cmd.method !== 'string') {
642                        return;
643                    }
644                    if (allowedMethods.indexOf(cmd.method) === -1) {
645                        return;
646                    }
647
648                    const safeArgs = Array.isArray(cmd.args)
649                        ? cmd.args.map(function (arg) { return sanitizeValue(arg, 0); })
650                        : [];
651
652                    if (cmd.method === 'addPageVar' || cmd.method === 'addCustomerVar' || cmd.method === 'addSessionVar') {
653                        if (typeof safeArgs[0] !== 'string' || safeArgs[0].length === 0) {
654                            return;
655                        }
656                    }
657
658                    if (cmd.method === 'setConfig' && (safeArgs.length === 0 || typeof safeArgs[0] !== 'object' || safeArgs[0] === null || Array.isArray(safeArgs[0]))) {
659                        return;
660                    }
661
662                    if (cmd.method === 'sendTag' && safeArgs.length > 0 && typeof safeArgs[0] !== 'boolean' && safeArgs[0] !== null) {
663                        return;
664                    }
665
666                    sanitized.push({
667                        method: cmd.method,
668                        args: safeArgs
669                    });
670                } catch (cmdError) {
671                    console.warn('Skipping toxic command in queue:', cmdError);
672                }
673            });
674        } catch (queueError) {
675            console.warn('Failed to sanitize queue, falling back to empty queue:', queueError);
676        }
677
678        return sanitized;
679    }
680
681    // In-place upgrade of any existing tracker stub to preserve original object reference and other custom properties
682    function ensureTrackerAvailable() {
683        const existingTracker = window.smileTracker;
684
685        if (hasTrackerApi(existingTracker)) {
686            return existingTracker;
687        }
688
689        if (existingTracker && typeof existingTracker === 'object') {
690            try {
691                if (Object.isExtensible(existingTracker)) {
692                    const cleanStub = createQueueingTrackerStub();
693
694                    // Sanitize and deep clone the existing queue in-place to prevent toxic property propagation
695                    existingTracker.__queue = deepCloneQueue(existingTracker.__queue);
696
697                    existingTracker.addPageVar = cleanStub.addPageVar;
698                    existingTracker.addCustomerVar = cleanStub.addCustomerVar;
699                    existingTracker.addSessionVar = cleanStub.addSessionVar;
700                    existingTracker.setConfig = cleanStub.setConfig;
701                    existingTracker.sendTag = cleanStub.sendTag;
702
703                    return existingTracker;
704                }
705            } catch (e) {
706                console.warn('ElasticSuite in-place stub upgrade failed, executing fallback:', e);
707            }
708
709            // Fallback replacement when the object is non-extensible (frozen/sealed) or upgrade fails.
710            // Wrap queue copy in nested try-catch to protect against "toxic" getters throwing on access.
711            const replacement = createQueueingTrackerStub();
712            try {
713                if (Array.isArray(existingTracker.__queue)) {
714                    replacement.__queue = deepCloneQueue(existingTracker.__queue);
715                }
716            } catch (fallbackError) {
717                console.warn('Failed to extract and clone queue from existing tracker during fallback:', fallbackError);
718            }
719            window.smileTracker = replacement;
720            return replacement;
721        }
722
723        window.smileTracker = createQueueingTrackerStub();
724        return window.smileTracker;
725    }
726
727    function removeConsentListeners() {
728        if (!state.consentHandler) {
729            state.listenersBound = false;
730            return;
731        }
732
733        consentEvents.forEach(function (eventName) {
734            window.removeEventListener(eventName, state.consentHandler);
735        });
736
737        state.consentHandler = null;
738        state.listenersBound = false;
739    }
740
741    // A cookie decision on record: amcookie_allowed is written only by Amasty's
742    // accept/allow controllers, unlike amcookie_policy_restriction, which the cookiebar
743    // writes during its own initialisation.
744    function hasAmastyConsentDecision() {
745        try {
746            return typeof window.hyva !== 'undefined'
747                && window.hyva
748                && typeof window.hyva.getCookie === 'function'
749                && !!window.hyva.getCookie('amcookie_allowed');
750        } catch (error) {
751            return false;
752        }
753    }
754
755    // Whether the cookie is declared in a NON-essential group of the admin cookie-group grid.
756    //
757    // `isCookieAllowed()` waves through any cookie the grid does not declare, so asking it
758    // alone is fail-open: STUID/STVID are undeclared, so it answers true even after the
759    // visitor refused everything. Essential groups are skipped because a cookie declared
760    // there is allowed unconditionally, which would reopen the same hole.
761    //
762    // Mirrors `isSyneriseCookieDeclared()` in
763    // Tooks\Synerise\Plugin\Synerise\Integration\Block\Tracking\CodePlugin. Kept as a local
764    // copy rather than a shared asset: the two are emitted by different mechanisms (PHP
765    // heredoc vs theme template) and neither is guaranteed to load before the other.
766    function isEsTrackerCookieDeclared(cookieGroups, cookieName) {
767        return (cookieGroups.groupData || []).some(function (group) {
768            if (group.isEssential) {
769                return false;
770            }
771
772            return (group.cookies || []).some(function (cookie) {
773                const wildcard = String(cookie.name).match(/^\{(.*)\}$/);
774
775                return wildcard
776                    ? new RegExp(cookieGroups.getCookiePattern(wildcard[1])).test(cookieName)
777                    : cookie.name === cookieName;
778            });
779        });
780    }
781
782    // Checking of GDPR cookies supporting standard Magento notice + Amasty GDPR module
783    function userConsentEsTracking() {
784        if (!hasAmastyConsentDecision()) {
785            return false;
786        }
787
788        try {
789            if (
790                typeof window.amastyCookieManager !== 'undefined'
791                && window.amastyCookieManager
792                && typeof window.amastyCookieManager.isCookieAllowed === 'function'
793            ) {
794                const sessionConf = (trackerConfig && trackerConfig.sessionConfig) || {};
795                const visitCookie = sessionConf.visit_cookie_name || 'STUID';
796                const visitorCookie = sessionConf.visitor_cookie_name || 'STVID';
797
798                const cookieGroups = typeof window.amastyCookieManager.getAmastyCookieGroupStorage === 'function'
799                    ? window.amastyCookieManager.getAmastyCookieGroupStorage()
800                    : null;
801
802                // No grid to check against means no way to tell consent from silence, so stay closed.
803                if (!cookieGroups
804                    || typeof cookieGroups.hasGroupData !== 'function'
805                    || !cookieGroups.hasGroupData()
806                ) {
807                    return false;
808                }
809
810                return isEsTrackerCookieDeclared(cookieGroups, visitCookie)
811                    && window.amastyCookieManager.isCookieAllowed(visitCookie) === true
812                    && isEsTrackerCookieDeclared(cookieGroups, visitorCookie)
813                    && window.amastyCookieManager.isCookieAllowed(visitorCookie) === true;
814            }
815        } catch (error) {
816            console.warn('Amasty GDPR check failed, falling back to cookie checks.', error);
817        }
818
819        const hasHyvaCookieGetter = typeof window.hyva !== 'undefined'
820            && window.hyva
821            && typeof window.hyva.getCookie === 'function';
822
823        const safeConsentConfig = (consentConfig && typeof consentConfig === 'object') ? consentConfig : {};
824
825        if (safeConsentConfig.cookieRestrictionEnabled === false) {
826            return true;
827        }
828
829        if (!hasHyvaCookieGetter) {
830            return false;
831        }
832
833        if (
834            typeof safeConsentConfig.cookieRestrictionName !== 'string'
835            || safeConsentConfig.cookieRestrictionName.length === 0
836        ) {
837            return false;
838        }
839
840        return window.hyva.getCookie(safeConsentConfig.cookieRestrictionName) !== null;
841    }
842
843    function bindConsentListeners() {
844        if (state.listenersBound || state.initialized) {
845            return;
846        }
847
848        if (!state.consentHandler) {
849            state.consentHandler = function () {
850                initEsTracker();
851            };
852        }
853
854        const boundEvents = [];
855
856        try {
857            consentEvents.forEach(function (eventName) {
858                window.addEventListener(eventName, state.consentHandler, { passive: true });
859                boundEvents.push(eventName);
860            });
861            state.listenersBound = true;
862            state.bindingAttempts = 0; // reset attempts on success
863        } catch (error) {
864            boundEvents.forEach(function (eventName) {
865                window.removeEventListener(eventName, state.consentHandler);
866            });
867            state.consentHandler = null;
868            state.listenersBound = false;
869            console.warn('ElasticSuite consent listener binding failed, rollback executed.', error);
870
871            // Fail-safe poll fallback up to 3 times to prevent infinite loops
872            state.bindingAttempts = (state.bindingAttempts || 0) + 1;
873            if (state.bindingAttempts <= 3) {
874                setTimeout(initEsTracker, 1000);
875            } else {
876                console.error('ElasticSuite listener binding failed persistently. Tracking disabled.');
877            }
878        }
879    }
880
881    // Initialize the tracker or bind listeners to wait for dynamic consent
882    function initEsTracker() {
883        if (state.initialized) {
884            removeConsentListeners();
885            return;
886        }
887
888        const tracker = ensureTrackerAvailable();
889
890        if (!userConsentEsTracking()) {
891            bindConsentListeners();
892            return;
893        }
894
895        if (!hasTrackerApi(tracker)) {
896            console.error('ElasticSuite tracker API is not available.');
897            return;
898        }
899
900        try {
901            tracker.setConfig(trackerConfig);
902            tracker.addPageVar('store_id', storeId);
903            tracker.sendTag();
904
905            state.initialized = true;
906            removeConsentListeners();
907        } catch (error) {
908            console.error('ElasticSuite tracker initialization failed.', error);
909        }
910    }
911
912    ensureTrackerAvailable();
913
914    if (document.readyState !== 'loading') {
915        initEsTracker();
916    } else {
917        document.addEventListener('DOMContentLoaded', initEsTracker, { once: true });
918    }
919}());</script>
919<script>
920    var BASE_URL = 'https://fera.pl/';
921    var THEME_PATH = 'https://static.fera.pl/version1790219430/frontend/Tooks/default/pl_PL';
922    var COOKIE_CONFIG = {
923        "expires": null,
924        "path": "\u002F",
925        "domain": ".fera.pl",
926        "secure": true,
927        "lifetime": "3600",
928        "cookie_restriction_enabled": false    };
929    var CURRENT_STORE_CODE = 'PL_pl';
930    var CURRENT_WEBSITE_ID = '1';
931
932    window.hyva = window.hyva || {}
933
934    window.cookie_consent_groups = window.cookie_consent_groups || {}
935    window.cookie_consent_groups['necessary'] = true;
936
937    window.cookie_consent_config = window.cookie_consent_config || {};
938    window.cookie_consent_config['necessary'] = [].concat(
939        window.cookie_consent_config['necessary'] || [],
940        [
941            'user_allowed_save_cookie',
942            'form_key',
943            'mage-messages',
944            'private_content_version',
945            'mage-cache-sessid',
946            'last_visited_store',
947            'section_data_ids'
948        ]
949    );
950</script>
vendor: 1 bytes, line 950
950
951<script>
952    'use strict';
953    (function( hyva, undefined ) {
954
955        function lifetimeToExpires(options, defaults) {
956
957            const lifetime = options.lifetime || defaults.lifetime;
958
959            if (lifetime) {
960                const date = new Date;
961                date.setTime(date.getTime() + lifetime * 1000);
962                return date;
963            }
964
965            return null;
966        }
967
968        function generateRandomString() {
969
970            const allowedCharacters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',
971                length = 16;
972
973            let formKey = '',
974                charactersLength = allowedCharacters.length;
975
976            for (let i = 0; i < length; i++) {
977                formKey += allowedCharacters[Math.round(Math.random() * (charactersLength - 1))]
978            }
979
980            return formKey;
981        }
982
983        const sessionCookieMarker = {noLifetime: true}
984
985        const cookieTempStorage = {};
986
987        const internalCookie = {
988            get(name) {
989                const v = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)');
990                return v ? v[2] : null;
991            },
992            set(name, value, days, skipSetDomain) {
993                let expires,
994                    path,
995                    domain,
996                    secure,
997                    samesite;
998
999                const defaultCookieConfig = {
1000                    expires: null,
1001                    path: '/',
1002                    domain: null,
1003                    secure: false,
1004                    lifetime: null,
1005                    samesite: 'lax'
1006                };
1007
1008                const cookieConfig = window.COOKIE_CONFIG || {};
1009
1010                expires = days && days !== sessionCookieMarker
1011                    ? lifetimeToExpires({lifetime: 24 * 60 * 60 * days, expires: null}, defaultCookieConfig)
1012                    : lifetimeToExpires(window.COOKIE_CONFIG, defaultCookieConfig) || defaultCookieConfig.expires;
1013
1014                path = cookieConfig.path || defaultCookieConfig.path;
1015                domain = !skipSetDomain && (cookieConfig.domain || defaultCookieConfig.domain);
1016                secure = cookieConfig.secure || defaultCookieConfig.secure;
1017                samesite = cookieConfig.samesite || defaultCookieConfig.samesite;
1018
1019                document.cookie = name + "=" + encodeURIComponent(value) +
1020                    (expires && days !== sessionCookieMarker ? '; expires=' + expires.toGMTString() : '') +
1021                    (path ? '; path=' + path : '') +
1022                    (domain ? '; domain=' + domain : '') +
1023                    (secure ? '; secure' : '') +
1024                    (samesite ? '; samesite=' + samesite : 'lax');
1025            },
1026            isWebsiteAllowedToSaveCookie() {
1027                const allowedCookies = this.get('user_allowed_save_cookie');
1028                if (allowedCookies) {
1029                    const allowedWebsites = JSON.parse(unescape(allowedCookies));
1030
1031                    return allowedWebsites[CURRENT_WEBSITE_ID] === 1;
1032                }
1033                return false;
1034            },
1035            getGroupByCookieName(name) {
1036                const cookieConsentConfig = window.cookie_consent_config || {};
1037                let group = null;
1038                for (let prop in cookieConsentConfig) {
1039                    if (!cookieConsentConfig.hasOwnProperty(prop)) continue;
1040                    if (cookieConsentConfig[prop].includes(name)) {
1041                        group = prop;
1042                        break;
1043                    }
1044                }
1045                return group;
1046            },
1047            isCookieAllowed(name) {
1048                const cookieGroup = this.getGroupByCookieName(name);
1049                return cookieGroup
1050                    ? window.cookie_consent_groups[cookieGroup]
1051                    : this.isWebsiteAllowedToSaveCookie();
1052            },
1053            saveTempStorageCookies() {
1054                for (const [name, data] of Object.entries(cookieTempStorage)) {
1055                    if (this.isCookieAllowed(name)) {
1056                        this.set(name, data['value'], data['days'], data['skipSetDomain']);
1057                        delete cookieTempStorage[name];
1058                    }
1059                }
1060            }
1061        };
1062
1063        hyva.getCookie = (name) => {
1064            const cookieConfig = window.COOKIE_CONFIG || {};
1065
1066            if (cookieConfig.cookie_restriction_enabled && ! internalCookie.isCookieAllowed(name)) {
1067                return cookieTempStorage[name] ? cookieTempStorage[name]['value'] : null;
1068            }
1069
1070            return internalCookie.get(name);
1071        }
1072
1073        hyva.setCookie = (name, value, days, skipSetDomain) => {
1074            const cookieConfig = window.COOKIE_CONFIG || {};
1075
1076            if (cookieConfig.cookie_restriction_enabled && ! internalCookie.isCookieAllowed(name)) {
1077                cookieTempStorage[name] = {value, days, skipSetDomain};
1078                return;
1079            }
1080            return internalCookie.set(name, value, days, skipSetDomain);
1081        }
1082
1083
1084        hyva.setSessionCookie = (name, value, skipSetDomain) => {
1085            return hyva.setCookie(name, value, sessionCookieMarker, skipSetDomain)
1086        }
1087
1088        hyva.getBrowserStorage = () => {
1089            const browserStorage = window.localStorage || window.sessionStorage;
1090            if (!browserStorage) {
1091                console.warn('Browser Storage is unavailable');
1092                return false;
1093            }
1094            try {
1095                browserStorage.setItem('storage_test', '1');
1096                browserStorage.removeItem('storage_test');
1097            } catch (error) {
1098                console.warn('Browser Storage is not accessible', error);
1099                return false;
1100            }
1101            return browserStorage;
1102        }
1103
1104        hyva.postForm = (postParams) => {
1105            const form = document.createElement("form");
1106
1107            let data = postParams.data;
1108
1109            if (! postParams.skipUenc && ! data.uenc) {
1110                data.uenc = btoa(window.location.href);
1111            }
1112            form.method = "POST";
1113            form.action = postParams.action;
1114
1115            Object.keys(postParams.data).map(key => {
1116                const field = document.createElement("input");
1117                field.type = 'hidden'
1118                field.value = postParams.data[key];
1119                field.name = key;
1120                form.appendChild(field);
1121            });
1122
1123            const form_key = document.createElement("input");
1124            form_key.type = 'hidden';
1125            form_key.value = hyva.getFormKey();
1126            form_key.name="form_key";
1127            form.appendChild(form_key);
1128
1129            document.body.appendChild(form);
1130
1131            form.submit();
1132        }
1133
1134        hyva.getFormKey = function () {
1135            let formKey = hyva.getCookie('form_key');
1136
1137            if (!formKey) {
1138                formKey = generateRandomString();
1139                hyva.setCookie('form_key', formKey);
1140            }
1141
1142            return formKey;
1143        }
1144
1145        hyva.formatPrice = (value, showSign, options = {}) => {
1146            const groupSeparator = options.groupSeparator;
1147            const decimalSeparator = options.decimalSeparator
1148            delete options.groupSeparator;
1149            delete options.decimalSeparator;
1150            const formatter = new Intl.NumberFormat(
1151                'pl\u002DPL',
1152                Object.assign({
1153                    style: 'currency',
1154                    currency: 'PLN',
1155                    signDisplay: showSign ? 'always' : 'auto'
1156                }, options)
1157            );
1158            return (typeof Intl.NumberFormat.prototype.formatToParts === 'function') ?
1159                formatter.formatToParts(value).map(({type, value}) => {
1160                    switch (type) {
1161                        case 'currency':
1162                            return 'z\u0142' || value;
1163                        case 'minusSign':
1164                            return '- ';
1165                        case 'plusSign':
1166                            return '+ ';
1167                        case 'group':
1168                            return groupSeparator !== undefined ? groupSeparator : value;
1169                        case 'decimal':
1170                            return decimalSeparator !== undefined ? decimalSeparator : value;
1171                        default :
1172                            return value;
1173                    }
1174                }).reduce((string, part) => string + part) :
1175                formatter.format(value);
1176        }
1177
1178        const formatStr = function (str, nStart) {
1179            const args = Array.from(arguments).slice(2);
1180
1181            return str.replace(/(%+)([0-9]+)/g, (m, p, n) => {
1182                const idx = parseInt(n) - nStart;
1183
1184                if (args[idx] === null || args[idx] === void 0) {
1185                    return m;
1186                }
1187                return p.length % 2
1188                    ? p.slice(0, -1).replace('%%', '%') + args[idx]
1189                    : p.replace('%%', '%') + n;
1190            })
1191        }
1192
1193        hyva.str = function (string) {
1194            const args = Array.from(arguments);
1195            args.splice(1, 0, 1);
1196
1197            return formatStr.apply(undefined, args);
1198        }
1199
1200        hyva.strf = function () {
1201            const args = Array.from(arguments);
1202            args.splice(1, 0, 0);
1203
1204            return formatStr.apply(undefined, args);
1205        }
1206
1207        /**
1208         * Take a html string as `content` parameter and
1209         * extract an element from the DOM to replace in
1210         * the current page under the same selector,
1211         * defined by `targetSelector`
1212         */
1213        hyva.replaceDomElement = (targetSelector, content) => {
1214            // Parse the content and extract the DOM node using the `targetSelector`
1215            const parser = new DOMParser();
1216            const doc = parser.parseFromString(content, 'text/html');
1217            const contentNode = doc.querySelector(targetSelector);
1218
1219            // Bail if content or target can't be found
1220            if (!contentNode || !document.querySelector(targetSelector)) {
1221                return;
1222            }
1223
1224                        hyva.activateScripts(contentNode);
1225            
1226            // Replace the old DOM node with the new content
1227            document.querySelector(targetSelector).replaceWith(contentNode);
1228
1229            // Reload customerSectionData and display cookie-messages if present
1230            window.dispatchEvent(new CustomEvent("reload-customer-section-data"));
1231            hyva.initMessages();
1232        }
1233
1234        hyva.removeScripts = (contentNode) => {
1235            const scripts = contentNode.getElementsByTagName('script');
1236            for (let i = 0; i < scripts.length; i++) {
1237                scripts[i].parentNode.removeChild(scripts[i]);
1238            }
1239            const templates = contentNode.getElementsByTagName('template');
1240            for (let i = 0; i < templates.length; i++) {
1241                const container = document.createElement('div');
1242                container.innerHTML = templates[i].innerHTML;
1243                hyva.removeScripts(container);
1244                templates[i].innerHTML = container.innerHTML;
1245            }
1246        }
1247
1248        hyva.activateScripts = (contentNode) => {
1249            // Create new array from HTMLCollection to avoid mutation of collection while manipulating the DOM.
1250            const scripts = Array.from(contentNode.getElementsByTagName('script'));
1251
1252            // Iterate over all script tags to duplicate+inject each into the head
1253            for (const original of scripts) {
1254                const script = document.createElement('script');
1255                original.type && (script.type = original.type);
1256                script.innerHTML = original.innerHTML;
1257
1258                // Remove the original (non-executing) script from the contentNode
1259                original.parentNode.removeChild(original)
1260
1261                // Add script to head
1262                document.head.appendChild(script);
1263            }
1264
1265            return contentNode;
1266        }
1267
1268        const replace = {['+']: '-', ['/']: '_', ['=']: ','};
1269        hyva.getUenc = () => btoa(window.location.href).replace(/[+/=]/g, match => replace[match]);
1270
1271        let currentTrap;
1272
1273        const focusableElements = (rootElement) => {
1274            const selector = 'button, [href], input, select, textarea, details, [tabindex]:not([tabindex="-1"]';
1275            return Array.from(rootElement.querySelectorAll(selector))
1276                .filter(el => {
1277                    return el.style.display !== 'none'
1278                        && !el.disabled
1279                        && el.tabIndex !== -1
1280                        && (el.offsetWidth || el.offsetHeight || el.getClientRects().length)
1281                })
1282        }
1283
1284        const focusTrap = (e) => {
1285            const isTabPressed = e.key === 'Tab' || e.keyCode === 9;
1286            if (!isTabPressed) return;
1287
1288            const focusable = focusableElements(currentTrap)
1289            const firstFocusableElement = focusable[0]
1290            const lastFocusableElement = focusable[focusable.length - 1]
1291
1292            e.shiftKey
1293                ? document.activeElement === firstFocusableElement && (lastFocusableElement.focus(), e.preventDefault())
1294                : document.activeElement === lastFocusableElement && (firstFocusableElement.focus(), e.preventDefault())
1295        };
1296
1297        hyva.releaseFocus = (rootElement) => {
1298            if (currentTrap && (!rootElement || rootElement === currentTrap)) {
1299                currentTrap.removeEventListener('keydown', focusTrap)
1300                currentTrap = null
1301            }
1302        }
1303        hyva.trapFocus = (rootElement) => {
1304            if (!rootElement) return;
1305            hyva.releaseFocus()
1306            currentTrap = rootElement
1307            rootElement.addEventListener('keydown', focusTrap)
1308            const firstElement = focusableElements(rootElement)[0]
1309            firstElement && firstElement.focus()
1310        }
1311
1312        hyva.safeParseNumber = (rawValue) => {
1313            const number = rawValue ? parseFloat(rawValue) : null;
1314
1315            return Array.isArray(number) || isNaN(number) ? rawValue : number;
1316        }
1317
1318        const toCamelCase = s => s.split('_').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join('');
1319        hyva.createBooleanObject = (name, value = false, additionalMethods = {}) => {
1320
1321            const camelCase = toCamelCase(name);
1322            const key = '__hyva_bool_' + name
1323
1324            return new Proxy(Object.assign(
1325                additionalMethods,
1326                {
1327                    [key]: !!value,
1328                    [name]() {return !!this[key]},
1329                    ['!' + name]() {return !this[key]}, // @deprecated This does not work with non-CSP Alpine
1330                    ['not' + camelCase]() {return !this[key]},
1331                    ['toggle' + camelCase]() {this[key] = !this[key]},
1332                    [`set${camelCase}True`]() {this[key] = true},
1333                    [`set${camelCase}False`]() {this[key] = false},
1334                }
1335            ), {
1336                set(target, prop, value) {
1337                    return prop === name
1338                        ? (target[key] = !!value)
1339                        : Reflect.set(...arguments);
1340                }
1341            })
1342        }
1343
1344                hyva.alpineInitialized = (fn) => window.addEventListener('alpine:initialized', fn, {once: true})
1345        window.addEventListener('alpine:init', () => Alpine.data('{}', () => ({})), {once: true});
1346                window.addEventListener('user-allowed-save-cookie', () => internalCookie.saveTempStorageCookies())
1347
1348    }( window.hyva = window.hyva || {} ));
1349</script>
vendor: 1 bytes, line 1349
1349
1350<script>
1351    if (!window.IntersectionObserver) {
1352        window.IntersectionObserver = function (callback) {
1353            this.observe = el => el && callback(this.takeRecords());
1354            this.takeRecords = () => [{isIntersecting: true, intersectionRatio: 1}];
1355            this.disconnect = () => {};
1356            this.unobserve = () => {};
1357        }
1358    }
1359</script>
1359
1360</head>
1361<body id="html-body" class="blog-page blog-page-list page-layout-1column blog-index-index page-layout-cms-full-width">
1362<div class="flex md:hidden items-center gap-2 px-4 py-2 bg-primary text-brandSecondary-900">
1363    <svg xmlns="http://www.w3.org/2000/svg" width="37" height="37" viewBox="0 0 38 38" fill="none" class="shrink-0" aria-hidden="true">
1364    <rect width="37.79" height="37.79" rx="7.63847" fill="white"/>
1365    <path fill-rule="evenodd" clip-rule="evenodd" d="M20.3313 5.52805C20.6709 5.53924 21.1412 5.56907 21.3764 5.59889C21.6115 5.62872 21.9736 5.6921 22.1789 5.73312C22.3841 5.77786 22.7686 5.88971 23.0373 5.98665C23.3061 6.08358 23.6644 6.23645 23.8398 6.3222C24.0153 6.41168 24.2989 6.57946 24.4706 6.69504C24.646 6.81062 24.9334 7.03805 25.1163 7.2021C25.2992 7.36615 25.5568 7.6346 25.6874 7.79865C25.8218 7.9627 26.0121 8.24606 26.1167 8.43248C26.2174 8.61517 26.3443 8.8948 26.3966 9.04766C26.4489 9.20053 26.531 9.46151 26.5758 9.62556C26.6429 9.87909 26.6541 10.017 26.6541 10.5204C26.6504 11.1169 26.6504 11.1169 26.4974 11.583C26.4115 11.8402 26.2809 12.1571 26.2025 12.2876C26.1241 12.4181 25.9599 12.6344 25.8367 12.7686C25.7135 12.9028 25.5195 13.0818 25.4075 13.1675C25.2955 13.2533 25.1275 13.3614 25.0342 13.4099C24.9409 13.4546 24.7394 13.5441 24.5863 13.6038C24.4333 13.6597 24.1646 13.7343 23.9891 13.7641C23.8137 13.7976 23.5039 13.82 23.2986 13.82C23.0933 13.82 22.7686 13.7939 22.5782 13.7641C22.3543 13.7268 22.0855 13.6448 21.8019 13.5292C21.4771 13.3987 21.2942 13.2943 21.0815 13.1303C20.9247 13.0072 20.7082 12.7947 20.6 12.6642C20.4918 12.53 20.3462 12.3137 20.279 12.1795C20.2081 12.0453 20.111 11.8029 20.0625 11.6389C19.9916 11.3854 19.9767 11.2549 19.9767 10.7814C19.9767 10.3079 19.9879 10.1811 20.0588 9.96112C20.1036 9.81571 20.2043 9.59574 20.2827 9.46524C20.3611 9.33475 20.6075 9.02529 20.8277 8.77549C21.0927 8.47349 21.2756 8.23114 21.3614 8.05964C21.4771 7.82475 21.4883 7.76882 21.4883 7.50038C21.4883 7.29904 21.4659 7.15364 21.4211 7.05297C21.3838 6.97094 21.2868 6.85163 21.2084 6.79198C21.0852 6.69504 21.0255 6.68013 20.8015 6.66894C20.656 6.66149 20.4656 6.67267 20.3798 6.69504C20.2902 6.71741 20.0924 6.80689 19.9356 6.89265C19.7788 6.98213 19.5437 7.14618 19.4131 7.25803C19.2824 7.36988 19.0958 7.56376 19.0025 7.6868C18.9054 7.80983 18.7225 8.13048 18.5919 8.39519C18.4538 8.68601 18.3269 9.00665 18.2821 9.1968C18.241 9.37203 18.1888 9.66285 18.1627 9.84927C18.1291 10.1028 18.1291 10.3041 18.1627 10.6882C18.1888 10.9641 18.241 11.3593 18.2821 11.5643C18.3306 11.8104 18.4202 12.0751 18.5434 12.3473C18.6442 12.571 18.827 12.8879 18.9428 13.052C19.0585 13.2123 19.2488 13.4323 19.3608 13.5367C19.4765 13.641 19.6781 13.8051 19.8087 13.8983C19.9431 13.9915 20.2193 14.1556 20.7978 14.4538H21.3129C21.716 14.4538 21.8355 14.465 21.8802 14.5098C21.9288 14.5582 21.9362 14.9497 21.9362 17.5857C21.9362 20.2813 21.9288 20.6132 21.8765 20.6616C21.828 20.7064 21.6824 20.7175 20.2566 20.7175V26.422C20.2566 29.5576 20.2491 32.1525 20.2379 32.1824C20.223 32.2308 19.8012 32.2383 16.748 32.2383C14.0046 32.2383 13.2731 32.2271 13.2619 32.1898C13.2507 32.1675 13.3402 31.9363 13.4597 31.679C13.5754 31.4218 13.7583 31.0639 13.8628 30.8774C13.9673 30.691 14.1203 30.4673 14.1987 30.3741C14.2771 30.2809 14.404 30.1206 14.4749 30.0199C14.5458 29.9155 14.7175 29.6247 14.8519 29.3674C14.9863 29.1102 15.1878 28.659 15.3035 28.3608C15.4155 28.0625 15.5312 27.712 15.5574 27.5778C15.5835 27.4361 15.5947 27.2124 15.5798 27.0372C15.5686 26.8731 15.5275 26.6382 15.4864 26.5152C15.4454 26.3922 15.3409 26.0902 15.255 25.8441C15.0983 25.4041 15.0983 25.3855 15.0945 24.8934C15.0945 24.4683 15.1057 24.3565 15.1766 24.1738C15.2252 24.0433 15.2924 23.9352 15.3595 23.8904C15.4155 23.8531 15.6693 23.7562 15.9269 23.6816C16.1844 23.6071 16.4644 23.5213 16.5539 23.4915C16.6398 23.4617 16.7443 23.3945 16.7854 23.3349C16.8301 23.279 16.8787 23.1783 16.8973 23.1112C16.9197 23.0478 16.9944 22.9359 17.0653 22.8688C17.1549 22.7868 17.1922 22.716 17.1959 22.6377C17.1959 22.578 17.237 22.4587 17.2892 22.3767C17.3415 22.2909 17.3826 22.1679 17.3826 22.0859C17.3826 22.0113 17.3564 21.892 17.3228 21.8249C17.2855 21.7615 17.1698 21.6049 17.0578 21.4819C16.8861 21.288 16.8413 21.206 16.7256 20.848C16.651 20.6243 16.5502 20.3522 16.498 20.2515C16.4457 20.1471 16.3263 19.9756 16.2292 19.8637C16.1359 19.7519 15.9493 19.5692 15.8149 19.4574C15.6805 19.3492 15.5051 19.2187 15.423 19.1665C15.3409 19.1181 15.1393 19.0398 14.9751 18.9913C14.7474 18.9279 14.6653 
136518.8832 14.6242 18.8161C14.5794 18.7303 14.5869 18.6707 14.7287 18.2083C14.8109 17.9287 14.8818 17.664 14.8818 17.623C14.8818 17.5782 14.8556 17.5484 14.8183 17.5484C14.781 17.5484 14.6541 17.6304 14.5384 17.7348C14.4189 17.8355 14.2995 17.9213 14.2771 17.9213C14.251 17.9213 14.2062 17.8802 14.1838 17.828C14.1577 17.7758 14.1129 17.7348 14.0905 17.7348C14.0644 17.7348 13.8927 17.8318 13.706 17.9548C13.5194 18.0778 13.1424 18.3575 12.8662 18.5812C12.5863 18.8012 12.228 19.0845 12.0637 19.2075C11.8995 19.3306 11.6867 19.5021 11.5897 19.5878C11.4926 19.6773 11.3993 19.7482 11.3844 19.7482C11.3657 19.7482 11.3321 19.7295 11.306 19.7034C11.2687 19.6661 11.2612 19.1143 11.2612 17.1085C11.2612 14.8453 11.2687 14.5582 11.3209 14.5098C11.3695 14.465 11.5113 14.4538 12.8289 14.4538V13.958C12.8289 13.6895 12.8476 13.2235 12.8662 12.9252C12.8886 12.6269 12.9185 12.2914 12.9409 12.1795C12.9595 12.0677 13.0118 11.7321 13.0528 11.4338C13.0902 11.1356 13.1685 10.7329 13.2171 10.539C13.2693 10.3451 13.3776 9.9984 13.4634 9.7747C13.5493 9.54727 13.6874 9.23035 13.7695 9.0663C13.8516 8.90225 14.0196 8.61517 14.1427 8.43248C14.2696 8.24606 14.4451 8.00371 14.5384 7.89186C14.6354 7.78001 14.8295 7.57122 14.9751 7.42954C15.1169 7.28786 15.3446 7.08652 15.479 6.9784C15.6133 6.87028 15.841 6.70996 15.9829 6.61675C16.1247 6.52354 16.386 6.3744 16.5614 6.28865C16.7368 6.19917 17.0541 6.06494 17.2706 5.98292C17.4871 5.90089 17.8305 5.7965 18.0358 5.74803C18.241 5.69583 18.618 5.62872 18.8756 5.59889C19.1331 5.56907 19.428 5.53551 19.5288 5.52805C19.6333 5.5206 19.9916 5.5206 20.3313 5.52805Z" fill="#FF7D23"/>
1366</svg>
1367    <span class="font-medium text-sm">Pobierz aplikację i skorzystaj ze zniżek</span>
1368    <a
1369        href="https://fera.pl/install-fera-app/"
1370        target="_blank"
1371        class="btn btn-app ml-auto"
1372    >
1373        Pobierz    </a>
1374</div>
1375
1376<!-- Google Tag Manager (noscript) -->
vendor: 73 bytes, lines 1376-1378
1376
1377<noscript>
1378    <iframe src="https://www.googletagmanager.com/ns.html?id=
1378GTM-WVCP8K59
vendor: 96 bytes, lines 1378-1380
1378"
1379            height="0" width="0" style="display:none;visibility:hidden"></iframe>
1380</noscript>
1381<!-- End Google Tag Manager (noscript) -->
1382
1383<input name="form_key" type="hidden" value="6aqf5MmWWJaNsQwZ" />
1384    <noscript>
1385        <section class="message global noscript border-b-2 border-blue-500 bg-blue-50 shadow-none m-0 px-0 rounded-none font-normal">
1386            <div class="container text-center">
1387                <p>
1388                    <strong>Wygląda na to, że JavaScript jest wyłączony w twojej przeglądarce.</strong>
1389                    <span>
1390                        By w pełni cieszyć się naszą stroną, upewnij się, że włączyłeś JavaScript w swojej przeglądarce.                    </span>
1391                </p>
1392            </div>
1393        </section>
1394    </noscript>
1395
1396
1397<script>
1398    document.body.addEventListener('touchstart', () => {}, {passive: true})
1399</script>
1399
1400<div class="widget block block-static-block">
1401    </div>
1402
1403<script data-cfasync="false">
1404    window.amastyCookieManager = window.amastyCookieManager || {};
1405</script>
vendor: 1 bytes, line 1405
1405
1406<script>
1407    'use strict';
1408
1409    (() => {
1410        window.addEventListener(
1411            'ga-initialized',
1412            () => {
1413                window.addEventListener('cart-item-added', (event) => {
1414                    let products = [];
1415
1416                    event.detail.forEach((item) => {
1417                        products.push({
1418                            id: item['product_sku'],
1419                            name: item['product_name'],
1420                            price: item['product_price_value'],
1421                            quantity: item['qty'],
1422                        });
1423                    });
1424
1425                    dataLayer.push({
1426                        event: 'addToCart',
1427                        ecommerce: {
1428                            currencyCode: 'PLN',
1429                            add: {
1430                                products: products,
1431                            },
1432                        },
1433                    });
1434                });
1435            },
1436            { once: true }
1437        );
1438    })();
1439</script>
vendor: 1 bytes, line 1439
1439
1440<script>
1441    'use strict';
1442
1443    (() => {
1444        window.addEventListener(
1445            'ga-initialized',
1446            () => {
1447                window.addEventListener('cart-item-removed', (event) => {
1448                    let products = [];
1449
1450                    event.detail.forEach((item) => {
1451                        products.push({
1452                            id: item['product_sku'],
1453                            name: item['product_name'],
1454                            price: item['product_price_value'],
1455                            quantity: item['qty'],
1456                        });
1457                    });
1458
1459                    dataLayer.push({
1460                        event: 'removeFromCart',
1461                        ecommerce: {
1462                            currencyCode: 'PLN',
1463                            remove: {
1464                                products: products,
1465                            },
1466                        },
1467                    });
1468                });
1469            },
1470            { once: true }
1471        );
1472    })();
1473</script>
vendor: 1 bytes, line 1473
1473
1474<script>
1475    'use strict';
1476
1477    (() => {
1478        window.addEventListener(
1479            'ga-initialized',
1480            () => {
1481                const banners = document.querySelectorAll('\u005Bdata\u002Dbanner\u002Did\u005D');
1482                let promotions = [];
1483
1484                banners.forEach((banner) => {
1485                    banner.addEventListener('click', () => {
1486                        window.dataLayer.push({
1487                            event: 'promotionClick',
1488                            ecommerce: {
1489                                promoClick: {
1490                                    promotions: [{
1491                                        id: banner.dataset.bannerId,
1492                                        name: banner.dataset.bannerName,
1493                                        creative: '',
1494                                        position: 'blog_index_index',
1495                                    }],
1496                                },
1497                            },
1498                        });
1499                    });
1500
1501                    promotions.push({
1502                        id: banner.dataset.bannerId,
1503                        name: banner.dataset.bannerName,
1504                        creative: '',
1505                        position: 'blog_index_index',
1506                    });
1507                });
1508
1509                if (promotions.length) {
1510                    window.dataLayer.push({
1511                        event: 'promotionView',
1512                        ecommerce: {
1513                            promoView: {
1514                                promotions: promotions,
1515                            },
1516                        },
1517                    });
1518                }
1519            },
1520            { once: true }
1521        );
1522    })();
1523</script>
1523
1524
1525<script>
1526    'use strict';
1527    (function(hyva) {
1528                const formValidationRules = {
1529            required(value, options, field, context) {
1530                const el = field.element.type === 'hidden' ? createTextInputFrom(field.element) : field.element,
1531                    msg = 'To\u0020jest\u0020wymagane\u0020pole.';
1532
1533                if (el.type === 'radio' || el.type === 'checkbox') {
1534                    return (value === undefined || value.length === 0) ? msg : true;
1535                }
1536
1537                el.setAttribute('required', '');
1538                el.checkValidity();
1539
1540                return el.validity.valueMissing ? msg : true;
1541            },
1542            maxlength(value, options, field, context) {
1543                const n = Number(options)
1544                if (value.length > n) {
1545                    return n === 1
1546                        ? hyva.strf('Wprowad\u017A\u0020nie\u0020wi\u0119cej\u0020ni\u017C\u00201\u0020znak.')
1547                        : hyva.strf('Wprowad\u017A\u0020nie\u0020wi\u0119cej\u0020ni\u017C\u0020\u00250\u0020znak\u00F3w.', options)
1548                }
1549                return true;
1550            },
1551            minlength(value, options, field, context) {
1552                const n = Number(options)
1553                if (value.length > 0 && value.length < n) {
1554                    return n === 1
1555                        ? hyva.strf('Wprowad\u017A\u0020co\u0020najmniej\u00201\u0020znak.')
1556                        : hyva.strf('Wprowad\u017A\u0020co\u0020najmniej\u0020\u00250\u0020znak\u00F3w.', options)
1557                }
1558                return true;
1559            },
1560            max(value, options, field, context) {
1561                field.element.setAttribute('max', options);
1562                field.element.checkValidity();
1563                if (field.element.validity.rangeOverflow) {
1564                    return hyva.strf('Wprowad\u017A\u0020warto\u015B\u0107\u0020mniejsz\u0105\u0020lub\u0020r\u00F3wn\u0105\u0020\u0022\u00250\u0022.', options);
1565                }
1566                return true;
1567            },
1568            min(value, options, field, context) {
1569                field.element.setAttribute('min', options);
1570                field.element.checkValidity();
1571                if (field.element.validity.rangeUnderflow) {
1572                    return hyva.strf('Wprowad\u017A\u0020warto\u015B\u0107\u0020wi\u0119ksz\u0105\u0020lub\u0020r\u00F3wn\u0105\u0020\u0022\u00250\u0022.', options);
1573                }
1574                return true;
1575            },
1576            step(value, options, field, context) {
1577                field.element.setAttribute('step', options);
1578                field.element.checkValidity();
1579                if (field.element.validity.stepMismatch) {
1580                    const val = Number(value);
1581                    const step = Number(options);
1582                    const msg = 'Wprowad\u017A\u0020prawid\u0142ow\u0105\u0020warto\u015B\u0107.\u0020Dwie\u0020najbli\u017Csze\u0020prawid\u0142owe\u0020warto\u015Bci\u0020to\u0020\u0022\u00250\u0022\u0020i\u0020\u0022\u00251\u0022.';
1583                    return hyva.strf(msg, Math.floor(val / step) * step, Math.ceil(val / step) * step);
1584                }
1585                return true;
1586            },
1587            pattern(value, options, field, context) {
1588                field.element.setAttribute('pattern', options);
1589                field.element.checkValidity();
1590                if (field.element.validity.patternMismatch) {
1591                    return field.element.title
1592                        ? hyva.strf('Nale\u017Cy\u0020dopasowa\u0107\u0020\u017C\u0105dany\u0020format\u003A\u0020\u00250.', field.element.title)
1593                        : 'Prosimy\u0020o\u0020zgodno\u015B\u0107\u0020z\u0020wymaganym\u0020formatem.'
1594                }
1595                return true;
1596            },
1597            email(value, options, field, context) {
1598                                const rule = /^([a-z0-9,!\#\$%&'\*\+\/=\?\^_`\{\|\}~-]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z0-9,!\#\$%&'\*\+\/=\?\^_`\{\|\}~-]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*@([a-z0-9-]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z0-9-]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*\.(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]){2,})$/i;
1599                if (value.length > 0 && !rule.test(value)) {
1600                    return 'Prosimy\u0020wpisa\u0107\u0020poprawny\u0020adres\u0020e\u002Dmail';
1601                }
1602                return true;
1603            },
1604            password(value, options, field, context) {
1605                const rule = /^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$/;
1606                if (value.length > 0 && !rule.test(value)) {
1607                    return 'Podaj\u0020co\u0020najmniej\u0020jedn\u0105\u0020wielk\u0105\u0020liter\u0119,\u0020jedn\u0105\u0020ma\u0142\u0105\u0020liter\u0119,\u0020jedn\u0105\u0020cyfr\u0119\u0020i\u0020jeden\u0020znak\u0020specjalny\u0020\u0028\u0023\u003F\u0021\u0040\u0024\u0025\u005E\u0026amp\u003B\u002A\u002D\u0029.';
1608                }
1609                return true;
1610            },
1611            equalTo(value, options, field, context) {
1612                const dependencyField = context.fields[options].element;
1613                if (value !== dependencyField.value) {
1614                    const dependencyFieldName =
1615                        dependencyField.label ||
1616                        dependencyField.title ||
1617                        (dependencyField.labels && dependencyField.labels[0] && dependencyField.labels[0].innerText) ||
1618                        dependencyField.name;
1619                    return hyva.strf('Warto\u015B\u0107\u0020tego\u0020pola\u0020musi\u0020by\u0107\u0020taka\u0020sama\u0020jak\u0020\u0022\u00250\u0022.', dependencyFieldName);
1620                }
1621                return true;
1622            }
1623        };
1624
1625                function raceSome(promises, pred) {
1626            return new Promise((resolve, reject) => {
1627
1628                if (promises.length === 0) {
1629                    return resolve();
1630                }
1631
1632                let settled = false, nDone = 0;
1633
1634                const resolveIf = v => {
1635                    if (!settled && (pred(v) || ++nDone === promises.length)) {
1636                        settled = true;
1637                        resolve(v);
1638                    }
1639                    return v;
1640                }
1641
1642                promises.map(promise => {
1643                    promise.then(resolveIf).catch(reason => {
1644                        settled = true;
1645                        reject(reason)
1646                    });
1647                    return promise;
1648                });
1649            });
1650        }
1651
1652        const INPUT_ATTRIBUTE_RULES = {min: 'min', max: 'max', required: 'required', minlength: 'minlength', maxlength: 'maxlength', step: 'step', pattern: 'pattern'}
1653        const INPUT_TYPE_RULES = {email: 'email'}
1654
1655        function getRules(element) {
1656            let rules = {};
1657            Object.keys(INPUT_ATTRIBUTE_RULES).forEach(attrName => {
1658                if (element.hasAttribute(attrName)) {
1659                    rules[INPUT_ATTRIBUTE_RULES[attrName]] = element.getAttribute(attrName);
1660                }
1661            })
1662            if (INPUT_TYPE_RULES[element.type]) {
1663                rules[INPUT_TYPE_RULES[element.type]] = true;
1664            }
1665
1666            if (element.dataset.validate) {
1667                try {
1668                    Object.assign(rules, JSON.parse(element.dataset.validate));
1669                } catch (error) {
1670                    console.error('Validator error. Cannot parse data-validate attribute of element:\n', element);
1671                }
1672            }
1673
1674            return rules;
1675        }
1676
1677        function isInvalidRuleResult(ruleState) {
1678            return typeof ruleState === 'string' || !ruleState || (ruleState.type && ruleState.content);
1679        }
1680
1681        async function runValidateFn(rule, options, value, field) {
1682            return formValidationRules[rule](value, options, field, this);
1683        }
1684
1685        function generateId() {
1686            let id;
1687            do {
1688                id = `${this.idPrefix}-${++this.idSeq}`;
1689            } while (document.getElementById(id));
1690            return id;
1691        }
1692
1693        function isVisible(element) {
1694            const el = element.type !== 'hidden' ? element : (element.parentElement || {});
1695            return !!(el.offsetWidth || el.offsetHeight || el.getClientRects().length)
1696        }
1697
1698        function elementWillValidate(element) {
1699            return (element.willValidate || element.type === 'hidden')
1700                && element.tagName !== 'BUTTON'
1701                && element.disabled === false
1702                && !(element.tagName === 'INPUT' && element.type === 'submit')
1703                && (element.hasAttribute('data-validate-hidden') || isVisible(element))
1704        }
1705
1706        function createMessageContainer(el, fieldWrapperClassName) {
1707            if (! el.parentElement) {
1708                return;
1709            }
1710            const refocus = document.activeElement === el;
1711            const wrapper = document.createElement('div');
1712            wrapper.classList.add.apply(wrapper.classList, fieldWrapperClassName.split(' '));
1713            el.parentElement.insertBefore(wrapper, el);
1714            wrapper.appendChild(el);
1715            refocus && document.activeElement !== el && el.focus();
1716            return wrapper;
1717        }
1718
1719        function containerNotFound(selector, el) {
1720            const msg = `Cannot find message container element ${selector} of ${el.name}`;
1721            console.error(msg, el);
1722            throw msg;
1723        }
1724
1725        function createTextInputFrom(el) {
1726            const text = document.createElement('INPUT');
1727            text.type = 'text';
1728            text.value = el.value;
1729            return text;
1730        }
1731
1732        function classNamesToSelector(classNames) {
1733            return classNames.split(' ')
1734                .filter(className => className.length > 0)
1735                .map(className => `.${className}`)
1736                .join('')
1737        }
1738
1739        function hasMessagesWrapper(field, messagesWrapperClassName) {
1740            return this.getMessageContainer(field).querySelector(classNamesToSelector(messagesWrapperClassName));
1741        }
1742
1743        function getMessagesWrapper(field, messagesWrapperClassName) {
1744            if (hasMessagesWrapper.call(this, field, messagesWrapperClassName)) {
1745                return this.getMessageContainer(field).querySelector(classNamesToSelector(messagesWrapperClassName));
1746            }
1747
1748            const msgWrapper = document.createElement('ul');
1749            const msgId = generateId.call(this);
1750            msgWrapper.id = msgId;
1751            field.element.setAttribute('aria-errormessage', msgId);
1752            field.element.setAttribute('aria-describedby', msgId);
1753            msgWrapper.classList.add.apply(msgWrapper.classList, messagesWrapperClassName.split(' '));
1754            if (field.validateOnChange) {
1755                msgWrapper.setAttribute('aria-live', 'polite');
1756            }
1757            this.getMessageContainer(field).appendChild(msgWrapper);
1758
1759            return msgWrapper;
1760        }
1761
1762        function getCheckedValues(field) {
1763            const name = field.element.name.replace(/([\\"])/g, '\\$1');
1764            const elements = field.element.form.querySelectorAll('input[name="' + name + '"]:checked');
1765            return Array.from(elements).map(el => el.value);
1766        }
1767
1768        function escapeHtml(s) {
1769            const div = document.createElement('div')
1770            div.innerText = s;
1771            return div.innerHTML;
1772        }
1773
1774        
1775        function formValidation(form, options = {}) {
1776            const formElement = form || this.$el;
1777
1778            if (formElement.dataset && formElement.dataset.options) {
1779                try {
1780                    options = Object.assign(options, JSON.parse(formElement.dataset.options || '{}'));
1781                } catch (e) {
1782                    throw new Error('Cannot read the form options from the data-options attribute: not val
1782id JSON');
1783                }
1784            }
1785
1786            // Disable browser default validation
1787            if (formElement.tagName === 'FORM') {
1788                formElement.setAttribute('novalidate', '');
1789            } else {
1790                console.error('formValidation can be initialized only on FORM element', formElement);
1791                return;
1792            }
1793
1794            options = Object.assign({
1795                fieldWrapperClassName: 'field field-reserved',
1796                messagesWrapperClassName: 'messages',
1797                validClassName: 'field-success',
1798                invalidClassName: 'field-error',
1799                pageMessagesWrapperSelector: null,
1800                scrollToFirstError: true,
1801            }, options || {});
1802
1803            return {
1804                state: {
1805                    valid: false,
1806                },
1807                fields: {},
1808                idSeq: 0,
1809                idPrefix: formElement.id || 'vld-msg',
1810                setupFields(elements) {
1811                    this.fields = {};
1812                    Array.from(elements).forEach(element => {
1813                        if (elementWillValidate(element)) {
1814                            this.setupField(element);
1815                        }
1816                    });
1817                },
1818                setupField(element) {
1819                    if (! element) return;
1820                    const onChange = !!element.dataset.onChange;
1821                    if (elementWillValidate(element)) {
1822                        const rules = getRules(element);
1823                        if (Object.keys(rules).length > 0) {
1824                            if (this.fields[element.name]) {
1825                                Object.assign(this.fields[element.name].rules, rules);
1826                            } else {
1827                                this.fields[element.name] = {
1828                                    element,
1829                                    rules: rules,
1830                                    validateOnChange: onChange,
1831                                    state: {
1832                                        valid: null,
1833                                        rules: {}
1834                                    }
1835                                }
1836                            }
1837                        }
1838                    } else {
1839                        console.error('Element will not validate', element);
1840                    }
1841                },
1842                onSubmit(event) {
1843                    if (event.target.tagName === 'FORM') {
1844                        event.preventDefault();
1845
1846                        this.validate()
1847                            .then(() => event.target.submit())
1848                            .catch(invalidElements => {});
1849                    }
1850                },
1851                onChange(event) {
1852                    event.target.dataset.onChange = 'true';
1853                    if (!Object.keys(this.fields).length) {
1854                        this.setupFields(formElement.elements);
1855                    }
1856                    if (!Object.keys(this.fields).includes(event.target.name)) {
1857                        this.setupField(event.target);
1858                    }
1859                    const field = this.fields[event.target.name];
1860
1861                    this.validateField(field);
1862                    field && field.element.removeAttribute('data-on-change')
1863                },
1864                validateSafe() {
1865                    return new Promise(resolve => this.validate().then(() => resolve(true)).catch(() => {}))
1866                },
1867                validate() {
1868                    if (!Object.keys(this.fields).length || !Object.keys(this.fields).length !== formElement.elements.length) {
1869                        this.setupFields(formElement.elements);
1870                    }
1871                    return new Promise(async (resolve, reject) => {
1872                        if (formElement.elements) {
1873                                                        await raceSome(this.validateFields(), result => result !== true)
1874                            const invalidFields = Object.values(this.fields).filter(field => !field.state.valid);
1875                            this.state.valid = invalidFields.length === 0;
1876                            if (this.state.valid) {
1877                                resolve();
1878                            } else {
1879                                if (options.scrollToFirstError && invalidFields.length > 0) {
1880                                    invalidFields[0].element.focus()
1881                                    invalidFields[0].element.select && invalidFields[0].element.select();
1882                                }
1883                                reject(invalidFields.map(field => field.element));
1884                            }
1885                        }
1886                    });
1887                },
1888                                validateFields() {
1889                    const fields = Object.values(this.fields);
1890
1891                                        fields.forEach(field => {
1892                        this.getMessageContainer(field).classList.remove(options.validClassName, options.invalidClassName)
1893                    });
1894                                        return fields.map(field => this.validateField(field))
1895                },
1896                                validateField(field) {
1897                                        if (! field || ! elementWillValidate(field.element)) {
1898                        return new Promise(resolve => resolve(true))
1899                    }
1900
1901                    let value;
1902                    if (field.element.type === 'checkbox') {
1903                        value = getCheckedValues(field);
1904                    } else if (field.element.type === 'radio') {
1905                        value = getCheckedValues(field)[0] || undefined;
1906                    } else if (field.element.tagName === 'SELECT' && field.element.multiple) {
1907                        value = Array.from(field.element.selectedOptions).map(opt => opt.value);
1908                    } else {
1909                        value = field.element.value;
1910                    }
1911
1912                    const rules = field.rules || {};
1913
1914                                        field.state.valid = true;
1915                    this.showFieldState(field);
1916
1917                
1918                                        const fieldValidations = Object.keys(rules).filter(rule => formValidationRules[rule]).map(async rule => {
1919                        return runValidateFn.call(this, rule, rules[rule], value, field).then(result => {
1920                            field.state.rules[rule] = result;
1921                            return result;
1922                        })
1923                    });
1924
1925                    return new Promise(resolve => {
1926                                                Promise.all(fieldValidations).then(results => {
1927                                                                                    field.state.valid = !elementWillValidate(field.element) || rules.length === 0 || !results.some(isInvalidRuleResult)
1928                            this.showFieldState(field);
1929                            resolve(field.state.valid);
1930                        })
1931                    });
1932                },
1933                                getMessagesByField(field) {
1934                    const messages = [];
1935                    const invalidRules = Object.keys(field.state.rules).filter(rule => isInvalidRuleResult(field.state.rules[rule]));
1936
1937                    field.rules && Object.keys(field.rules).forEach((rule) => {
1938                        if (invalidRules.includes(rule)) {
1939                            const customMessage = field.element.getAttribute('data-msg-' + rule);
1940                            const message = customMessage ? customMessage : field.state.rules[rule];
1941                            const ruleOptions = JSON.parse(JSON.stringify(field.rules[rule]));
1942
1943                            if (typeof message === 'undefined' || message === null || (typeof message !== 'string' && ! message.type)) {
1944                                messages.push(hyva.strf('Validation rule "%0" failed.', rule));
1945                            } else if (Array.isArray(ruleOptions)) {
1946                                ruleOptions.unshift(message.type ? message.content : message);
1947                                const content = hyva.strf.apply(null, ruleOptions);
1948                                messages.push(message.type ? {type: message.type, content} : content);
1949                            } else {
1950                                const content = hyva.strf(message.type ? message.content : message, ruleOptions)
1951                                messages.push(message.type ? {type: message.type, content} : content);
1952                            }
1953                        }
1954                    });
1955                    return messages;
1956                },
1957                /** @deprecated */
1958                getFieldWrapper(field) {
1959                                        return this.getMessageContainer(field)
1960                },
1961                getMessageContainer(field) {
1962                    let container;
1963                    const pageSelector = field.element.getAttribute('data-validation-container') || options.pageMessagesContainerSelector;
1964                    if (pageSelector) {
1965                        container = document.querySelector(pageSelector)
1966                            || containerNotFound(pageSelector, field.element)
1967                    } else {
1968                        const containerSelector = classNamesToSelector(options.fieldWrapperClassName);
1969                        container = field.element.closest(containerSelector)
1970                            || createMessageContainer(field.element, options.fieldWrapperClassName)
1971                            || containerNotFound(containerSelector, field.element);
1972                    }
1973
1974                    return container;
1975                },
1976                showFieldState(field) {
1977                    const container = this.getMessageContainer(field),
1978                        hasErrorMessages = hasMessagesWrapper.call(this, field, options.messagesWrapperClassName),
1979                        messages = this.getMessagesByField(field).map(m => {
1980                            return m.type !== 'html' ? escapeHtml(m.type ? m.content : m) : m.content;
1981                        });
1982                    container.classList.toggle(options.validClassName, field.state.valid && ! hasErrorMessages);
1983                    container.classList.toggle(options.invalidClassName, !field.state.valid || hasErrorMessages);
1984                    this.createHtmlErrorMessage(field, messages);
1985
1986                    if (field.state.valid) {
1987                        field.element.removeAttribute('aria-invalid');
1988                    } else {
1989                        field.element.setAttribute('aria-invalid', 'true');
1990                        if (! document.activeElement) {
1991                            field.element.focus();
1992                        }
1993                    }
1994                },
1995                removeMessages(field, messagesClass) {
1996                    if (! hasMessagesWrapper.call(this, field, messagesClass || options.messagesWrapperClassName)) {
1997                        return;
1998                    }
1999
2000                    const msgWrapper = getMessagesWrapper.call(this, field, messagesClass || options.messagesWrapperClassName);
2001                    const messages = msgWrapper.querySelectorAll(`[data-msg-field='${field.element.name}']`);
2002                    Array.from(messages).forEach(msg => msg.remove());
2003                    if (msgWrapper && msgWrapper.childElementCount === 0) {
2004                        field.element.removeAttribute('aria-errormessage');
2005                        field.element.removeAttribute('aria-describedby');
2006                        msgWrapper.remove();
2007                    }
2008                },
2009                createErrorMessage(field, messages) {
2010                    const htmlMessages = (Array.isArray(messages) ? messages : [messages]).map(escapeHtml)
2011                    this.createHtmlErrorMessage(field, htmlMessages);
2012                },
2013                createHtmlErrorMessage(field, messages) {
2014                    this.removeMessages(field, options.messagesWrapperClassName);
2015                    field.element.removeAttribute('aria-errormessage');
2016                    field.element.removeAttribute('aria-describedby');
2017
2018                    if (!field.state.valid) {
2019                        const msgWrapper = this.addHtmlMessages(field, options.messagesWrapperClassName, messages);
2020                        field.element.setAttribute('aria-errormessage', msgWrapper.id);
2021                        field.element.setAttribute('aria-describedby', msgWrapper.id);
2022                    }
2023                },
2024                /** @deprecated */
2025                createMessage(field, message) {
2026                                        return this.addMessages(field, options.messagesWrapperClassName, message);
2027                },
2028                addMessages(field, messagesClass, messages) {
2029                    const htmlMessages = (Array.isArray(messages) ? messages : [messages]).map(escapeHtml)
2030                    return this.addHtmlMessages(field, messagesClass, htmlMessages);
2031                },
2032                addHtmlMessages(field, messagesClass, htmlMessages) {
2033                    const msgWrapper = getMessagesWrapper.call(this, field, messagesClass);
2034
2035                    (Array.isArray(htmlMessages) ? htmlMessages : [htmlMessages]).forEach((htmlMessage) => {
2036                        const li = document.createElement('li');
2037                        li.innerHTML = htmlMessage;
2038                        li.setAttribute('data-msg-field', field.element.name);
2039                        msgWrapper.appendChild(li);
2040                    });
2041
2042                    return msgWrapper;
2043                },
2044                setField(name, value) {
2045                    this.fields[name].element.value = value;
2046                    this.fields[name].element.dispatchEvent((new Event('input')));
2047                    this.validateField(this.fields[name]);
2048                }
2049            }
2050        }
2051
2052        hyva.formValidation = formValidation;
2053        hyva.formValidation.rules = formValidationRules;
2054        hyva.formValidation.setInputAttributeRuleName = (attrName, ruleName) => INPUT_ATTRIBUTE_RULES[attrName] = ruleName || attrName;
2055        hyva.formValidation.setInputTypeRuleName = (typeName, ruleName) => INPUT_TYPE_RULES[typeName] = ruleName || typeName;
2056        hyva.formValidation.addRule = (name, validator) => formValidationRules[name] = validator;
2057    }(window.hyva = window.hyva || {}));
2058
2059    window.addEventListener('alpine:init', () => {
2060        Alpine.data('hyva.formValidation', hyva.formValidation);
2061        Alpine.data('hyva.formValidation($el)', hyva.formValidation);
2062    }, {once: true});
2063</script>
vendor: 1 bytes, line 2063
2063
2064<script>
2065    {
2066        // libphonenumber, the same library the server validates with, and the same country list —
2067        // rendered from customer/address/allowed_phone_countries. Hand-written approximations were
2068        // tried first (a shape check, then per-country lengths) and each passed numbers the server
2069        // then rejected. See web/js/README.md for the version and the parity check.
2070        const phoneCountries = {"accepted":["PL"],"candidates":["PL"]};
2071        const invalidPhoneNumber = 'Nieprawid\u0142owy\u0020numer\u0020telefonu.';
2072
2073        // Regions to read a number typed without a "+" against, most likely first: the country
2074        // picked on this form when it has such a field, then the rest. Deliberately not the
2075        // "accepted" list — that one may be empty, meaning no restriction, while a bare number
2076        // still needs some country to be interpreted as.
2077        const candidateRegions = (context) => {
2078            const selected = context && context.fields && context.fields['country_id']
2079                && context.fields['country_id'].element.value;
2080
2081            return selected && phoneCountries.candidates.includes(selected)
2082                ? [selected].concat(phoneCountries.candidates.filter((country) => country !== selected))
2083                : phoneCountries.candidates;
2084        };
2085
2086        const accepted = (parsed) => Boolean(parsed) && parsed.isValid()
2087            && (phoneCountries.accepted.length === 0 || phoneCountries.accepted.includes(parsed.country));
2088
2089        const validatePhoneNumber = (value, options, field, context) => {
2090            const phone = value.trim().replace(/[\s\-()]/g, '');
2091
2092            // An empty value belongs to the 'required' rule, which the field already carries.
2093            if (!phone) {
2094                return true;
2095            }
2096
2097            // The bundle may not have parsed yet; treating that as valid leaves the decision to the
2098            // server rather than blocking a real number.
2099            if (typeof libphonenumber === 'undefined') {
2100                return true;
2101            }
2102
2103            // Same character set the server accepts. libphonenumber reads letters as the digits
2104            // they sit on, so '123abc456' would otherwise be judged a real number.
2105            if (!/^\+?\d+$/.test(phone)) {
2106                return invalidPhoneNumber;
2107            }
2108
2109            const parse = (region) => {
2110                try {
2111                    return libphonenumber.parsePhoneNumberFromString(phone, region);
2112                } catch (error) {
2113                    return undefined;
2114                }
2115            };
2116
2117            if (phone[0] === '+') {
2118                const parsed = parse(undefined);
2119
2120                // No verdict means the country is not in this bundle — the server has the full
2121                // metadata and decides, rather than the browser refusing a number it cannot judge.
2122                return !parsed || accepted(parsed) || invalidPhoneNumber;
2123            }
2124
2125            const regions = candidateRegions(context);
2126            const known = libphonenumber.knownCountries();
2127
2128            // A country configured in the admin but missing from the bundle: same deferral, so a
2129            // configuration change never turns into a wrongly refused number.
2130            if (regions.some((region) => !known.includes(region))) {
2131                return true;
2132            }
2133
2134            return regions.some((region) => accepted(parse(region))) || invalidPhoneNumber;
2135        };
2136
2137        hyva.formValidation.addRule('telephone', validatePhoneNumber);
2138        hyva.formValidation.addRule('international-telephone', validatePhoneNumber);
2139    }
2140</script>
2140
2141
2142<div x-data="initAmastyCookieBar"
2143     x-bind="eventListeners"
2144     x-cloak
2145     id="am-cookie-bar"
2146    >
2147    <div x-cloak    data-dialog-ref-name="am-cookie-bar"
2148    x-bind="overlay"
2149    class="">
2150    <div class="fixed flex justify-center items-center text-left z-60 inset-0 bg-black/25 backdrop-blur-sm inset-0">
2151        <div x-ref="am-cookie-bar" role="dialog" aria-modal="true"
2152             x-no-overlay                            aria-label="Cookie&#x20;Bar"
2153                                     class="fixed card max-w-3xl max-md:rounded-none md:right-5 bottom-0 md:bottom-5">
2154            <span tabindex="0"></span>
2155<div class="grid gap-4">
2156            <div>
2157            <p class="mb-2 text-lg font-bold">
2158                Używamy plików cookie            </p>
2159            <p id="amcookie-bar-content" class="font-medium [&_a]:text-brandPrimary-800 [&_a]:font-bold [&_a]:underline">
2160                Wykorzystujemy pliki cookie do spersonalizowania treści i reklam, aby oferować funkcje społecznościowe i analizować ruch w naszej witrynie. Informacje o tym, jak korzystasz z naszej witryny, udostępniamy partnerom społecznościowym, reklamowym i analitycznym. Partnerzy mogą połączyć te informacje z innymi danymi otrzymanymi od Ciebie lub uzyskanymi podczas korzystania z ich usług. Przeczytaj <a href="https://fera.pl/polityka-prywatnosci-i-cookies" title="Polityka prywatności" target="_blank">politykę prywatności</a>.            </p>
2161        </div>
2162    
2163    <div>
2164    <div x-data="initAmCookieGroups" class="flex flex-wrap gap-y-4 gap-x-6">
2165        <template x-for="group in $store.AmastyCookieGroups.groupData" :key="group.groupId">
2166            <div class="flex gap-4">
2167                <label class="toggles"
2168                       data-group-prefix="classic-"
2169                       :for="getInputGroupId"
2170                >
2171                    <input type="checkbox"
2172                           :name="getInputGroupId"
2173                           data-group-prefix="classic-"
2174                           @change="toggleGroup"
2175                           :checked="group.checked"
2176                           :aria-checked="group.checked"
2177                           :id="getInputGroupId"
2178                           :disabled="group.isEssential"
2179                           :value="group.groupId"
2180                           class="amsettings-bar-input-toggle"
2181                           :class="getInputStyles"
2182                    >
2183                    <span></span>
2184                    <span class="label" x-text="group.name"></span>
2185                </label>
2186                <button class="btn btn-link underline"
2187                        type="button"
2188                        data-dispatch-action="classic-open-am-cookie-group-info"
2189                        @click="moreInfoClickHandler">
2190                    <span>więcej</span>
2191                    <span class="sr-only" x-text="moreInformationAboutCookieGroup"></span>
2192                </button>
2193            </div>
2194        </template>
2195    </div>
2196    
2197<div x-data="initCookieGroupInfo_6ab4f785a6c5c" x-bind="eventListeners">
2198    <div x-cloak
2199         x-bind="overlay"
2200         class="fixed inset-0 flex items-center justify-center text-left bg-gray-500/50 z-50"
2201    >
2202        <div x-ref="classic-am-cookie-group-info"
2203             role="dialog"
2204             aria-labelledby="amcookie-group-info"
2205             class="inline-block max-h-[92vh] max-w-[90vw] overflow-auto
2206                bg-ambar-info-bar-background shadow-xl rounded-lg p-8 text-gray-700 relative"
2207        >
2208            <template x-if="group">
2209                <div id="amcookie-group-info">
2210                    <div class="flex gap-2 justify-between items-center">
2211                        <p class="text-lg font-semibold text-black">
2212                            <strong x-text="group.name"></strong>
2213                        </p>
2214                        <button
2215                            type="button"
2216                            class="btn btn-icon-size-s"
2217                            @click="closeHandler"
2218                            aria-label="Zamknij"
2219                        >
2220                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" width="20" height="20" aria-hidden="true">
2221  <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"/>
2222</svg>
2223                        </button>
2224                    </div>
2225
2226                    <template x-if="group.description">
2227                        <p class="mb-4 text-ambar-info-bar-description" x-html="group.description"></p>
2228                    </template>
2229                    <div class="overflow-x-scroll md:overflow-x-auto">
2230                        <table class="table-auto w-full mb-4 text-left">
2231                            <thead class="text-ambar-info-bar-table-header">
2232                            <tr>
2233                                <th class="pr-4">Nazwa pliku cookie</th>
2234                                <th class="pr-4">Dostawca pliku cookie</th>
2235                                <th class="min-w-[30%] pr-4">Opis pliku cookie</th>
2236                                <th class="pr-4">Czas życia pliku cookie</th>
2237                                <th class="pr-4">Typ pliku cookie</th>
2238                            </tr>
2239                            </thead>
2240                            <tbody class="text-ambar-info-bar-table-content">
2241                            <template x-for="(item, index) in group.cookies" :key="index">
2242                                <tr>
2243                                    <td x-text="item.name" class="font-semibold pr-4"></td>
2244                                    <td x-text="item.provider" class="pr-4"></td>
2245                                    <td x-html="item.description" class="min-w-[30%] pr-4"></td>
2246                                    <td x-text="item.lifetime" class="pr-4"></td>
2247                                    <td x-text="item.type" class="pr-4"></td>
2248                                </tr>
2249                            </template>
2250                            </tbody>
2251                        </table>
2252                    </div>
2253                </div>
2254            </template>
2255            <button
2256                @click="closeHandler"
2257                aria-label="Gotowe"
2258                class="btn btn-primary ml-auto"
2259            >
2260                Gotowe            </button>
2261        </div>
2262    </div>
2263
2264</div>
2265<script data-cfasync="false">
2266    'use strict';
2267
2268    function initCookieGroupInfo_6ab4f785a6c5c() {
2269        return {
2270            ...hyva.modal({
2271                dialog: 'classic-am-cookie-group-info'
2272            }),
2273            group: null,
2274            eventListeners: {
2275                ['@classic-close-am-cookie-group-info.window']() {
2276                    this.closeHandler();
2277                },
2278                ['@classic-open-am-cookie-group-info.window'](event) {
2279                    this.group = event.detail;
2280
2281                    if (!!this.group) {
2282                        /*
2283                         If modal have big cookies list this can lead to
2284                         trigger hide event in hyva.modal.eventListeners.click,
2285                         so we should wait till this.group is reassigned
2286                         */
2287                        this.$nextTick(() => this.show('classic-am-cookie-group-info'));
2288                    }
2289                }
2290            },
2291            closeHandler: function () {
2292                this.hide('classic-am-cookie-group-info');
2293            }
2294        }
2295    }
2296
2297    window.addEventListener(
2298        'alpine:init',
2299        () => Alpine.data(
2300            'initCookieGroupInfo_6ab4f785a6c5c',
2301            initCookieGroupInfo_6ab4f785a6c5c        ),
2302        {once: true}
2303    );
2304</script>
2304
2305</div>
2306
2307
2308    <div class="flex flex-wrap items-center justify-end gap-4">
2309        
2310            
2311<button
2312    type="button"
2313    x-data="initAmCookieActionDispatcherBtn"
2314    data-dispatch-action="cookiebar-action-accept"
2315            data-dispatch-payload='&#x7B;&quot;include_checked_groups&quot;&#x3A;true&#x7D;'
2316        @click.prevent="actiondispatchHandler"
2317    class="btn&#x20;btn-size-s"
2318>
2319    Zaakceptuj wybrane    </button>
2320                    
2321<button
2322    type="button"
2323    x-data="initAmCookieActionDispatcherBtn"
2324    data-dispatch-action="cookiebar-action-allow"
2325        @click.prevent="actiondispatchHandler"
2326    class="btn&#x20;btn-primary&#x20;btn-size-s"
2327>
2328    Zaakceptuj wszystkie            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" width="20" height="20" aria-hidden="true">
2329  <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"/>
2330</svg>
2331    </button>
2332        </div>
2333</div>
2334
2335        </div>
2336    </div>
2337    </div>
2338</div>
2339
2340<script data-cfasync="false">
2341    'use strict';
2342
2343    function initAmastyCookieBar() {
2344        return {
2345            ...hyva.modal({
2346                duration: 150,
2347                transitionEnter: 'transform duration-150',
2348                transitionLeave: 'transform duration-150'
2349            }),
2350            eventListeners: {
2351                ['@close-cookie-bar']() {
2352                    this.hide('am-cookie-bar');
2353                },
2354                ['@open-cookie-bar']() {
2355                    this.show('am-cookie-bar');
2356                    this.$nextTick(() => hyva.trapFocus(this.modalElement));
2357                },
2358                ['@amasty-cookie-group-updated.window']() {
2359                    const lastUpdate = Alpine.store('AmastyCookieGroups').lastUpdate;
2360                    if (this.isShowNotificationBar(this.firstShowProcess, lastUpdate)) {
2361                        !this.opened['am-cookie-bar'] &&
2362                        this.show('am-cookie-bar');
2363                        this.$nextTick(() => hyva.trapFocus(this.modalElement));
2364                    } else {
2365                        !!this.opened['am-cookie-bar'] &&
2366                        this.hide('am-cookie-bar');
2367                    }
2368                }
2369            },
2370
2371            firstShowProcess: '0',
2372
2373            /**
2374             * @returns {void}
2375             */
2376            init: function () {
2377                window.isGdprCookieEnabled = true;
2378                Alpine.store('AmastyCookieGroups').updateGroupData();
2379                this.modalElement = this.$refs['am-cookie-bar'];
2380                this.modalElement.setAttribute('aria-describedby', 'amcookie-bar-content');
2381            },
2382
2383            /**
2384             * @param {string|number} firstShowProcess
2385             * @param {number} lastUpdate
2386             * @returns {boolean}
2387             */
2388            isShowNotificationBar: function (firstShowProcess, lastUpdate) {
2389                return (this.isNeedFirstShow(firstShowProcess, lastUpdate) && !hyva.getCookie('amcookie_allowed')
2390                    || this.isNeedShowOnUpdate(lastUpdate));
2391            },
2392
2393            /**
2394             * @param {string|number} firstShowProcess
2395             * @param {number} lastUpdate
2396             * @returns {boolean}
2397             */
2398            isNeedFirstShow: function (firstShowProcess, lastUpdate) {
2399                hyva.getBrowserStorage().setItem('amCookieBarFirstShowTime', lastUpdate);
2400
2401                if (firstShowProcess === '0') {
2402                    return true;
2403                }
2404
2405                if (hyva.getBrowserStorage().getItem('amCookieBarFirstShow') !== '1') {
2406                    hyva.getBrowserStorage().setItem('amCookieBarFirstShow', '1');
2407
2408                    return true;
2409                }
2410
2411                return false;
2412            },
2413
2414            /**
2415             * @param {number} lastUpdate
2416             * @returns {boolean}
2417             */
2418            isNeedShowOnUpdate: function (lastUpdate) {
2419                if (!lastUpdate) {
2420                    return false;
2421                }
2422
2423                return this.isNeedShowAfterLastVisit(lastUpdate) || this.isNeedShowAfterLastAccept(lastUpdate);
2424            },
2425
2426            /**
2427             * @param {number} lastUpdate
2428             * @returns {boolean}
2429             */
2430            isNeedShowAfterLastVisit: function (lastUpdate) {
2431                let needToShowAfterLastVisit =
2432                    lastUpdate > hyva.getBrowserStorage().getItem('amCookieBarFirstShowTime');
2433
2434                if (needToShowAfterLastVisit) {
2435                    hyva.getBrowserStorage().setItem('amCookieBarFirstShow', null);
2436                    hyva.setCookie('amcookie_allowed', '', -1, true);
2437                }
2438
2439                return needToShowAfterLastVisit;
2440            },
2441
2442            /**
2443             * @param {number} lastUpdate
2444             * @returns {boolean}
2445             */
2446            isNeedShowAfterLastAccept: function (lastUpdate) {
2447                let needToShowAfterLastAccept = false;
2448
2449                if (hyva.getBrowserStorage().getItem('am-last-cookie-acceptance')) {
2450                    needToShowAfterLastAccept =
2451                        lastUpdate > hyva.getBrowserStorage().getItem('am-last-cookie-acceptance');
2452                }
2453
2454                return needToShowAfterLastAccept;
2455            },
2456
2457            /**
2458             * @returns {void}
2459             */
2460            closeCookieBarHandler: function () {
2461                this.$dispatch('close-cookie-bar');
2462            }
2463        };
2464    }
2465
2466    window.addEventListener('alpine:init', () => Alpine.data('initAmastyCookieBar', initAmastyCookieBar), {once: true});
2467</script>
2467
2468<div class="before-page-wrapper hidden bg-tertiary text-white text-sm font-medium xl:block"><div class="container flex flex-wrap item-center justify-between gap-4 py-2.5">
2469<section aria-label="Nasze&#x20;korzy&#x015B;ci">
2470    <ul class="flex flex-wrap gap-x-12 items-center text-xs">
2471                    <li>
2472                
2473                <span class="flex gap-x-1 items-center">                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" width="24" height="24" aria-hidden="true">
2474  <path d="M9 17a2 2 0 11-4 0 2 2 0 014 0zM19 17a2 2 0 11-4 0 2 2 0 014 0z"/>
2475  <path stroke-linecap="round" stroke-linejoin="round" d="M13 16V6a1 1 0 00-1-1H4a1 1 0 00-1 1v10a1 1 0 001 1h1m8-1a1 1 0 01-1 1H9m4-1V8a1 1 0 011-1h2.586a1 1 0 01.707.293l3.414 3.414a1 1 0 01.293.707V16a1 1 0 01-1 1h-1m-6-1a1 1 0 001 1h1M5 17a2 2 0 104 0m-4 0a2 2 0 114 0m6 0a2 2 0 104 0m-4 0a2 2 0 114 0"/>
2476</svg>
2477                Darmowa dostawa od 99 zł                </span>            </li>
2478                    <li>
2479                
2480                <span class="flex gap-x-1 items-center">                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" width="24" height="24" aria-hidden="true">
2481  <path stroke-linecap="round" stroke-linejoin="round" d="M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"/>
2482</svg>
2483                40 dni na zwrot                </span>            </li>
2484                <li>
2485            
2486<div class="inline-flex items-center gap-1 leading-5"
2487     x-data="{
2488         isLoggedIn: false,
2489         targetUrl: 'https://fera.pl/poznaj-korzysci-family/',
2490         accountUrl: 'https://fera.pl/reward/customer/',
2491         promoUrl: 'https://fera.pl/poznaj-korzysci-family/',
2492         init() {
2493             /* Metoda bezpieczna: nasłuchuj zmian w mage-cache-storage */
2494             this.checkLoginStatus();
2495
2496             window.addEventListener('private-content-loaded', () => {
2497                this.checkLoginStatus();
2498             });
2499
2500             /* Fallback dla zdarzeń Magento */
2501             window.addEventListener('customer-data-reload', () => {
2502                 this.checkLoginStatus();
2503             });
2504         },
2505         checkLoginStatus() {
2506             const storage = hyva.getBrowserStorage();
2507             if (!storage) return;
2508
2509             const customerData = storage.getItem('mage-cache-storage');
2510             if (customerData) {
2511                 try {
2512                     const data = JSON.parse(customerData);
2513                     if (data.customer && data.customer.firstname) {
2514                         this.isLoggedIn = true;
2515                         this.targetUrl = this.accountUrl;
2516                         return;
2517                     }
2518                 } catch (e) {
2519                     console.warn('Error parsing customer data', e);
2520                 }
2521             }
2522
2523             this.isLoggedIn = false;
2524             this.targetUrl = this.promoUrl;
2525         }
2526     }">
2527
2528    <span class="text-white text-xs font-medium font-sans">
2529        Dołącz do Fera    </span>
2530
2531    <a :href="targetUrl"
2532       href="https://fera.pl/poznaj-korzysci-family/"
2533       class="px-1.5 py-0.5 bg-brandPrimary-700 italic rounded-sm flex justify-center items-center text-white text-sm font-bold font-heading leading-5 hover:opacity-90 transition-opacity">
2534        family
2535    </a>
2536
2537    <span class="text-white text-xs font-medium font-sans">
2538        i pozwól nam dać Ci jeszcze więcej korzyści    </span>
2539
2540    <a :href="targetUrl"
2541       href="https://fera.pl/poznaj-korzysci-family/"
2542       class="text-white text-xs font-medium font-sans underline hover:no-underline transition-all">
2543        Zobacz więcej    </a>
2544
2545</div>        </li>
2546    </ul>
2547</section>
2548<ul><li><a href="https://fera.pl/centrum-pomocy/" id="idY4T6EZgV" class="font-bold" >Pomoc i kontakt</a></li></ul></div></div><div class="page-wrapper"><header class="page-header"><a class="action skip sr-only focus:not-sr-only focus:absolute focus:z-40 focu
2548s:bg-white
2549   contentarea"
2550   href="#contentarea">
2551    <span>
2552        Przejdź do treści    </span>
2553</a>
2554<script>
2555    function initHeader () {
2556        return {
2557            observer: null,
2558            sticky: false,
2559            searchOpen: false,
2560            scrollRafPending: false,
2561            pageHeader: document.querySelector('.page-header'),
2562            init() {
2563                this.checkHeaderSize();
2564                this.initStickyObserver();
2565                this.initScrollFallback();
2566                this.initVisibilityHandler();
2567            },
2568            checkHeaderSize() {
2569                if (!this.pageHeader) return;
2570                document.documentElement.style.setProperty("--page-header-height", `${this.pageHeader.offsetHeight}px`);
2571            },
2572            initStickyObserver() {
2573                if (!this.pageHeader) return;
2574
2575                this.observer = new IntersectionObserver(([e]) => {
2576                    this.sticky = e.intersectionRatio < 1;
2577                    e.target.dataset.sticky = this.sticky;
2578                }, { threshold: 1 });
2579
2580                this.observer.observe(this.pageHeader);
2581            },
2582            recalculateSticky() {
2583                if (!this.pageHeader) return;
2584                const rect = this.pageHeader.getBoundingClientRect();
2585                this.sticky = rect.top < 0;
2586                this.pageHeader.dataset.sticky = this.sticky;
2587            },
2588            resetStickyObserver() {
2589                this.recalculateSticky();
2590                if (this.observer) {
2591                    this.observer.disconnect();
2592                    this.observer = null;
2593                }
2594                this.initStickyObserver();
2595            },
2596            initScrollFallback() {
2597                if (!this.pageHeader) return;
2598
2599                window.addEventListener('scroll', () => {
2600                    if (this.scrollRafPending) return;
2601                    this.scrollRafPending = true;
2602                    requestAnimationFrame(() => {
2603                        this.scrollRafPending = false;
2604                        const isSticky = this.pageHeader.getBoundingClientRect().top < 0;
2605                        if (isSticky !== this.sticky) {
2606                            this.sticky = isSticky;
2607                            this.pageHeader.dataset.sticky = isSticky;
2608                        }
2609                    });
2610                }, { passive: true });
2611            },
2612            resetMenuVisibility() {
2613                const desktopNav = this.$refs.desktopNavigation;
2614                if (desktopNav) {
2615                    desktopNav.style.display = '';
2616                }
2617            },
2618            initVisibilityHandler() {
2619                document.addEventListener('visibilitychange', () => {
2620                    if (document.visibilityState === 'visible') {
2621                        this.resetStickyObserver();
2622                        this.resetMenuVisibility();
2623                    }
2624                });
2625                window.addEventListener('pageshow', (event) => {
2626                    if (event.persisted) {
2627                        this.resetStickyObserver();
2628                        this.resetMenuVisibility();
2629                        // A page restored from the back/forward cache still shows the customer and
2630                        // cart it was left with - after logout or a placed order that is stale data.
2631                        // Storefront documents are no longer sent with no-store, so bfcache applies.
2632                        window.dispatchEvent(new CustomEvent('reload-customer-section-data'));
2633                    }
2634                });
2635                window.addEventListener('focus', () => {
2636                    this.recalculateSticky();
2637                });
2638            },
2639            searchClosed() {
2640                return !this.searchOpen;
2641            },
2642            toggleSearchForm() {
2643                this.searchOpen = !this.searchOpen;
2644                this.$dispatch('search-open');
2645            },
2646            searchClose() {
2647                this.searchOpen = false;
2648            },
2649            searchEscape() {
2650                this.searchOpen = false;
2651                this.$refs.searchButton.focus();
2652            }
2653        }
2654    }
2655
2656    function initCompareHeader() {
2657        return {
2658            compareProducts: null,
2659            itemCount: 0,
2660            hiddenIfEmpty() {
2661                return {
2662                    'hidden': this.itemCount < 1
2663                }
2664            },
2665            linkAriaLabel() {
2666                const countLabel = this.itemCount > 1
2667                    ? hyva.str('Produkty\u0020\u00251', this.itemCount)
2668                    : hyva.str('\u00251\u0020element', this.itemCount);
2669                return `Por\u00F3wnaj\u0020produkty (${countLabel})`;
2670            },
2671            receiveCompareData() {
2672                const data = this.$event.detail.data;
2673                if (data['compare-products'] && data['compare-products'].count) {
2674                    this.compareProducts = data['compare-products'];
2675                    this.itemCount = this.compareProducts.count;
2676                }
2677            },
2678            itemCountLabel() {
2679                return `(${this.itemCount})`;
2680            }
2681        }
2682    }
2683
2684    window.addEventListener('alpine:init', () => {
2685        Alpine.data('initHeader', initHeader);
2686        Alpine.data('initCompareHeader', initCompareHeader);
2687    }, { once: true })
2688</script>
2688
2689<div
2690    id="header"
2691    class="z-30 relative bg-tertiary-lighter shadow-lg"
2692    x-data="initHeader"
2693    @resize.window.debounce="checkHeaderSize"
2694>
2695    <div class="header-main container py-4 flex flex-wrap gap-y-3.5 gap-x-4 items-center relative bg-tertiary-lighter z-10 xl:gap-y-0">
2696        
2697<button
2698    type="button"
2699    class="menu-button btn btn-primary btn-icon-size-l hidden xl:block xl:absolute"
2700    aria-label="Otw&#xF3;rz&#x20;menu"
2701    aria-haspopup="dialog"
2702    x-data="initMenuButton"
2703    x-ref="menuButton"
2704    @click.prevent="openMenu"
2705    @toggle-menu.window="toggleMenu"
2706    :aria-expanded="isMenuOpen"
2707>
2708    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" width="24" height="24" aria-hidden="true">
2709  <path fill-rule="evenodd" d="M3 5a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 10a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 15a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z" clip-rule="evenodd"/>
2710</svg>
2711    </button>
2712
2713<script>
2714    function initMenuButton() {
2715        return {
2716            isMenuOpen: false,
2717            openMenu() {
2718                this.$dispatch('toggle-menu', {
2719                    isOpen: true
2720                })
2721            },
2722            toggleMenu() {
2723                const event = this.$event;
2724                if (event.detail && event.detail.isOpen !== undefined) {
2725                    this.isMenuOpen = event.detail.isOpen
2726                    if (!this.isMenuOpen && this.$refs && this.$refs.menuButton) {
2727                        this.$refs.menuButton.focus()
2728                    }
2729                } else {
2730                                        this.isMenuOpen = true
2731                }
2732            },
2733            hasActiveSubMenu() {
2734                this.isSubMenuOpen = !!this.$root.querySelector('[data-open]');
2735            },
2736        }
2737    }
2738
2739    document.addEventListener('alpine:init', () => {
2740        Alpine.data('initMenuButton', initMenuButton);
2741    });
2742</script>
2742
2743        
2744<a
2745    class="logo align-middle justify-self-center flex-shrink-0"
2746    href="https://fera.pl/"
2747    title="Przejd&#x017A;&#x20;do&#x20;strony&#x20;g&#x0142;&#xF3;wnej"
2748>
2749            <img
2750            src="https://fera.pl/media/logo/default/Path_0.png"
2751            srcset="https://fera.pl/media/logo/default/Path_0.png 95w"
2752            sizes="95px"
2753            alt="Fera.pl&#x20;-&#x20;sklep&#x20;zoologiczny"
2754            width="95"
2755            height="44"
2756            loading="eager"
2757            fetchpriority="high"
2758        >
2759    </a>
2760
2761        <div class="grow">
2762            
2763<script>
2764    function getCachedSectionData() {
2765        try {
2766            return JSON.parse(window.localStorage.getItem('mage-cache-storage') || '{}');
2767        } catch (error) {
2768            return {};
2769        }
2770    }
2771
2772    /*
2773     * Suggestions are deliberately not gated behind cookie consent (decision of 23.09.2026, FERA-2778).
2774     * /search/ajax/suggest/ is a first-party, functional endpoint that sets no tracking cookie, so
2775     * waiting for a click on the cookie bar only broke search for visitors who never saw the bar
2776     * (a country outside its list, an empty GeoIP answer). The ElasticSuite tracker and Synerise keep
2777     * their own consent gates.
2778     */
2779    function initMiniSearchComponent() {
2780        return {
2781            show:false,
2782            formSelector: "#search_mini_form",
2783            url: "https://fera.pl/search/ajax/suggest/",
2784            destinationSelector: "#search_autocomplete",
2785            templates: {"term":{"sectionClasses":"term px-4 py-3 border-b border-secondary-lighter","contentClasses":"flex flex-wrap gap-x-6 gap-y-2","template":"Hyva_SmileElasticsuite::core\/autocomplete\/term.phtml"},"product":{"titleSize":"text-sm","sectionClasses":"product px-4 pt-3 pb-4","contentClasses":"grid grid-cols-1 gap-2 md:grid-cols-2","title":"Polecane produkty","template":"Hyva_SmileElasticsuite::catalog\/autocomplete\/product.phtml"},"category":{"titleSize":"text-xs","sectionClasses":"category px-4 py-3 border-b border-secondary-lighter bg-container","contentClasses":"flex flex-wrap gap-x-6 gap-y-1.5","title":"Polecane kategorie","template":"Hyva_SmileElasticsuite::catalog\/autocomplete\/category.phtml"},"product_attribute":{"titleSize":"text-xs","sectionClasses":"product-attribute px-4 py-3 border-t border-secondary-lighter bg-container","contentClasses":"flex flex-wrap gap-x-6 gap-y-2","title":"Cechy","template":"Hyva_SmileElasticsuite::catalog\/autocomplete\/product_attribute.phtml","titleRenderer":"renderEsAutocompleteTitleAttribute"},"cms_page":{"title":"Cms page","template":"Hyva_SmileElasticsuite::cms-search\/autocomplete\/cms.phtml"}},
2786            priceFormat: {"pattern":"%s\u00a0z\u0142","precision":2,"requiredPrecision":2,"decimalSymbol":",","groupSymbol":"\u00a0","groupLength":3,"integerRequired":false},
2787            minSearchLength: 2,
2788            searchResultsByType: {},
2789            currentRequest: null,
2790
2791            /**
2792             * Get search results.
2793             */
2794            getSearchResults: function () {
2795                let value = document.querySelector('#search').value.trim();
2796
2797                if (value.length < parseInt(this.minSearchLength, 10)) {
2798                    this.searchResultsByType = [];
2799
2800                    return false;
2801                }
2802
2803                let url = this.url + '?' + new URLSearchParams({
2804                    q: document.querySelector('#search').value
2805                }).toString();
2806
2807                if (this.currentRequest !== null) {
2808                    this.currentRequest.abort();
2809                }
2810                this.currentRequest = new AbortController();
2811
2812                fetch(url, {
2813                    method: 'GET',
2814                    signal: this.currentRequest.signal,
2815                }).then((response) => {
2816                    if (response.ok) {
2817                        return response.json();
2818                    }
2819                }).then((data)  => {
2820                    this.show = data.length > 0;
2821
2822                    this.searchResultsByType = data.reduce((acc, result) => {
2823                        if (! acc[result.type]) acc[result.type] = [];
2824                        acc[result.type].push(result);
2825                        return acc;
2826                    }, {});
2827                }).catch((error) => {
2828                    ;
2829                });
2830            },
2831        }
2832    }
2833</script>
2833
2834<search
2835    id="elasticsuite-search-container"
2836    class="px-0 xl:max-w-2xl xl:mx-auto 2xl:max-w-3xl"
2837    x-data="initMiniSearchComponent()"
2838    @click.away="show = false"
2839>
2840    <form class="form minisearch container px-0" id="search_mini_form" action="https://fera.pl/catalogsearch/result/" method="get">
2841        <div class="flex">
2842            <label class="sr-only" for="search" data-role="minisearch-label">
2843                <span>Szukaj</span>
2844            </label>
2845            <input
2846                id="search"
2847                x-ref="searchInput"
2848                type="search"
2849                autocapitalize="off"
2850                autocomplete="off"
2851                autocorrect="off"
2852                name="q"
2853                value=""
2854                placeholder="Czego&#x20;szukasz&#x3F;"
2855                maxlength="128"
2856                class="w-full form-input !rounded-l-2xl !rounded-r-none"
2857                @input.debounce.300="getSearchResults()"
2858                @search-open.window.debounce.10="$el.focus(); $el.select()"
2859            >
2860            <button
2861                type="submit"
2862                title="Szukaj"
2863                class="action search btn btn-primary justify-center rounded-2xl text-base hover:shadow-lg active:shadow disabled:shadow-none transition rounded-l-none rounded-r-2xl shadow-none px-3"
2864                aria-label="Szukaj"
2865            >
2866                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" width="24" height="24" aria-hidden="true">
2867  <path stroke-linecap="round" stroke-linejoin="round" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"/>
2868</svg>
2869            </button>
2870        </div>
2871            </form>
2872    <div id="search_autocomplete" class="search-autocomplete w-full" x-show="show" x-cloak>
2873            <div class="card absolute inset-x-0 w-full max-w-7xl mt-4 mx-auto p-0 overflow-y-auto overscroll-contain max-h-[calc(100vh_-_10rem)] z-10 max-xs:rounded-none xs:mt-2.5">
2874                <template x-for="searchResultByType in Object.values(searchResultsByType)">
2875                    <div :class="searchResultByType.hasOwnProperty(0) && templates[searchResultByType[0].type].sectionClasses">
2876                        <template x-if="searchResultByType.hasOwnProperty(0) && templates[searchResultByType[0].type].title && templates[searchResultByType[0].type].titleRenderer === undefined">
2877                            <div class="mb-1.5 text-brandSecondary-900 font-semibold"
2878                                 :class="searchResultByType.hasOwnProperty(0) && templates[searchResultByType[0].type].titleSize"
2879                                 x-text="templates[searchResultByType[0].type].title"></div>
2880                        </template>
2881                        <template x-if="searchResultByType.hasOwnProperty(0) && templates[searchResultByType[0].type].titleRenderer !== undefined">
2882                            <div class="mb-1.5 text-brandSecondary-900 font-semibold"
2883                                 :class="searchResultByType.hasOwnProperty(0) && templates[searchResultByType[0].type].titleSize"
2884                                 x-text="window[templates[searchResultByType[0].type].titleRenderer](searchResultByType)"></div>
2885                        </template>
2886
2887                        <div :class="searchResultByType.hasOwnProperty(0) && templates[searchResultByType[0].type].contentClasses">
2888                            <template x-for="(searchResult, index) in searchResultByType"
2889                                      :key="searchResult.type + ':' + (searchResult.id || searchResult.url || index)">
2890                                <div>
2891                                                                            
2892<template x-if="searchResult.type == 'term'">
2893    <a class="block text-sm text-brandSecondary-700 hover:text-brandSecondary-900"
2894       x-bind:href="'https://fera.pl/catalogsearch/result/?q=' + encodeURIComponent(searchResult.title)"
2895       :title="searchResult.title">
2896        <template x-if="searchResult.highlighted_title">
2897            <span x-html="searchResult.highlighted_title"></span>
2898        </template>
2899        <template x-if="!searchResult.highlighted_title">
2900            <span x-text="searchResult.title"></span>
2901        </template>
2902    </a>
2903</template>
2904                                                                            
2905<template x-if="searchResult.type == 'product'">
2906    <div class="product-item flex gap-3 p-2 rounded-lg border border-transparent transition-colors hover:bg-brandPrimary-50 hover:border-brandPrimary-400">
2907        <a class="shrink-0" :href="searchResult.url" :title="searchResult.title" tabindex="-1">
2908            <img class="w-[68px] h-[60px] object-contain bg-white rounded"
2909                 :src="searchResult.image"
2910                 :alt="searchResult.title"
2911                 width="68"
2912                 height="60"
2913                 loading="lazy" />
2914        </a>
2915        <div class="flex flex-col flex-1 gap-1 min-w-0">
2916            <div class="flex flex-wrap items-center gap-x-4 gap-y-2">
2917                <div class="flex flex-col flex-1 basis-full lg:basis-0 gap-0.5 min-w-0">
2918                    <template x-if="searchResult.badges">
2919                        <div x-html="searchResult.badges"></div>
2920                    </template>
2921                    <a class="font-bold text-base leading-6 text-secondary line-clamp-2"
2922                       :href="searchResult.url"
2923                       :title="searchResult.title"
2924                       x-text="searchResult.title"></a>
2925                </div>
2926                <div class="flex flex-col shrink-0 items-center justify-center gap-1.5 text-center">
2927                    <div x-html="searchResult.price"></div>
2928                    <template x-if="searchResult.capacity_per_price">
2929                        <span class="text-xs font-medium text-brandSecondary-600"
2930                              x-text="searchResult.capacity_per_price"></span>
2931                    </template>
2932                </div>
2933                <template x-if="searchResult.add_to_cart_url">
2934                    <form method="post"
2935                          class="product_addtocart_form shrink-0"
2936                          :action="searchResult.add_to_cart_url">
2937                        <input type="hidden" name="form_key" :value="hyva.getFormKey()">
2938                        <input type="hidden" name="product" :value="searchResult.id">
2939                        <div x-data="initAddToCart(searchResult.qty_config || {})"
2940                             x-effect="productId = Number(searchResult.id); onGetCartData(getCachedSectionData())"
2941                             @private-content-loaded.window="onGetCartData($event.detail.data)"
2942                        >
2943                            <input type="hidden" name="qty" :value="itemQty">
2944                            <button
2945                                type="button"
2946                                class="btn btn-primary btn-icon-size-l"
2947                                @click="increment"
2948                                x-ref="addToButton"
2949                            >
2950                                <template x-if="itemQty">
2951                                    <span class="leading-none font-semibold" x-text="itemQty"></span>
2952                                </template>
2953                                <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true">
2954                                    <use href="#tk-icon-plus-solid"/>
2955                                </svg>
2956                                <span class="sr-only">Dodaj do koszyka</span>
2957                            </button>
2958                        </div>
2959                    </form>
2960                </template>
2961                <template x-if="!searchResult.add_to_cart_url && searchResult.is_salable !== false">
2962                    <a class="btn btn-primary btn-icon-size-l shrink-0"
2963                       :href="searchResult.url"
2964                       :title="searchResult.title"
2965                    >
2966                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" width="20" height="20" aria-hidden="true">
2967  <path d="M17.414 2.586a2 2 0 00-2.828 0L7 10.172V13h2.828l7.586-7.586a2 2 0 000-2.828z"/>
2968  <path fill-rule="evenodd" d="M2 6a2 2 0 012-2h4a1 1 0 010 2H4v10h10v-4a1 1 0 112 0v4a2 2 0 01-2 2H4a2 2 0 01-2-2V6z" clip-rule="evenodd"/>
2969</svg>
2970                        <span class="sr-only">Konfiguruj</span>
2971                    </a>
2972                </template>
2973            </div>
2974            <template x-if="searchResult.lowest_price">
2975                <span class="block text-xs leading-[18px] text-brandSecondary-600"
2976                      x-html="searchResult.lowest_price"></span>
2977            </template>
2978        </div>
2979    </div>
2980</template>
2981                                                                            
2982<template x-if="searchResult.type == 'category'">
2983    <a class="block text-sm text-brandSecondary-700 hover:text-brandSecondary-900"
2984       :href="searchResult.url"
2985       :title="searchResult.title">
2986        <template x-if="searchResult.highlighted_title">
2987            <span x-html="searchResult.highlighted_title"></span>
2988        </template>
2989        <template x-if="!searchResult.highlighted_title">
2990            <span x-text="searchResult.title"></span>
2991        </template>
2992    </a>
2993</template>
2994                                                                            
2995<template x-if="searchResult.type == 'product_attribute'">
2996    <a class="text-brandSecondary-900 text-sm" :href="searchResult.url" :title="searchResult.title">
2997        <span x-text="searchResult.title"></span>
2998        <template x-if="searchResultByType.some(item => item.attribute_label !== searchResult.attribute_label)">
2999            <span class="text-xs uppercase text-brandSecondary-600" x-text="searchResult.attribute_label"></span>
3000        </template>
3001    </a>
3002</template>
3003
3004<script>
3005    function renderEsAutocompleteTitleAttribute(data)
3006    {
3007        data = data.filter(function(item) {
3008            return item.type === 'product_attribute';
3009        }).map(function(item) {
3010            return item['attribute_label']
3011        }).reduce(function(prev, item) {
3012            if (item in prev) {
3013                prev[item]++;
3014            } else {
3015                prev[item] = 1;
3016            }
3017            return prev;
3018        }, {});
3019
3020        data = Object.entries(data).sort(function(item1, item2) {
3021            return item2[1] - item1[1]
3022        }).map(function(item) {return item[0]});
3023
3024        if (data.length > 2) {
3025            data = data.slice(0, 2);
3026            data.push('...');
3027        }
3028
3029        return data.join(', ');
3030    }
3031</script>
3031
3032                                                                            
3033<template x-if="searchResult.type == 'cms_page'">
3034    <a class="w-full block p-2" :href="searchResult.url" :title="searchResult.title">
3035        <span class="text-sm" x-text="searchResult.title"></span>
3036    </a>
3037</template>
3038                                                                    </div>
3039                            </template>
3040                        </div>
3041
3042                        <template x-if="searchResultByType.hasOwnProperty(0) && searchResultByType[0].type === 'product'">
3043                            <div class="flex justify-center pt-4">
3044                                <button
3045                                    type="submit"
3046                                    form="search_mini_form"
3047                                    class="btn btn-size-s"
3048                                    title="Pokaż wszystkie"
3049                                    aria-label="Pokaż wszystkie"
3050                                >
3051                                    Pokaż wszystkie                                </button>
3052                            </div>
3053                        </template>
3054                    </div>
3055                </template>
3056            </div>
3057    </div>
3058</search>
3059        </div>
3060
3061        <div class="hidden xl:flex xl:ml-auto gap-3 items-center">
3062            
3063            
3064            
3065                            
3065<script>
3066    function initWishlistLink() {
3067        return {
3068            wishlistProducts: null,
3069            itemCount: 0,
3070            linkAriaLabel() {
3071                const countLabel = this.itemCount > 1
3072                    ? hyva.str('Produkty\u0020\u00251', this.itemCount)
3073                    : hyva.str('\u00251\u0020element', this.itemCount);
3074                return `Ulubione (${countLabel})`;
3075            },
3076            receiveWishlistData() {
3077                const data = this.$event.detail.data;
3078
3079                if (data.wishlist && data.wishlist.wishlist_item_count !== undefined) {
3080                    this.itemCount = data.wishlist.wishlist_item_count;
3081                } else {
3082                    this.itemCount = data.wishlist && data.wishlist.items
3083                        ? data.wishlist.items.length
3084                        : 0;
3085                }
3086            }
3087        }
3088    }
3089
3090    window.addEventListener('alpine:init', () => {
3091        Alpine.data('initWishlistLink', initWishlistLink);
3092    }, {once: true})
3093</script>
3093
3094<a
3095    href="https://fera.pl/wishlist/"
3096    class="relative btn btn-icon btn-icon-size-l hidden xl:inline-block"
3097    x-data="initWishlistLink"
3098    @private-content-loaded.window="receiveWishlistData"
3099    aria-label="Ulubione"
3100    :aria-label="linkAriaLabel"
3101>
3102    <span class="relative">
3103        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" width="24" height="24" aria-hidden="true">
3104  <path fill-rule="evenodd" d="M3.172 5.172a4 4 0 015.656 0L10 6.343l1.172-1.171a4 4 0 115.656 5.656L10 17.657l-6.828-6.829a4 4 0 010-5.656z" clip-rule="evenodd"/>
3105</svg>
3106        <template x-if="itemCount">
3107            <span
3108                x-text="itemCount"
3109                class="absolute -top-3.5 -right-3.5 p-0.5 min-w-4 rounded-full bg-red-600 text-white
3110                            text-xs font-medium leading-none text-center uppercase tabular-nums"
3111                aria-hidden="true"
3112            ></span>
3113    </template>
3114    </span>
3115    </a>
3116            
3117            
3118<script>
3119    function initCart() {
3120        return {
3121            cart: {},
3122            summaryCount() {
3123                return this.cart.summary_count || 0;
3124            },
3125            isCartOpen: false,
3126            getData() {
3127                const data = this.$event.detail.data;
3128                if (data.cart) {
3129                    this.cart = data.cart
3130                }
3131            },
3132            ariaLabel() {
3133                return 'Poka\u017C\u002Fukryj\u0020koszyk, ' +
3134                    (this.isCartEmpty() ? 'Koszyk\u0020jest\u0020pusty' : (
3135                        Math.abs(this.summaryCount()) > 1 ?
3136                            hyva.str('\u00251\u0020element\u00F3w', this.summaryCount()) :
3137                            hyva.str('\u00251\u0020pozycja', this.summaryCount())
3138                    ))
3139            },
3140            isCartEmpty() {
3141                return !this.summaryCount()
3142            },
3143            openCart() {
3144                this.$dispatch('toggle-cart', {
3145                    isOpen: true
3146                })
3147            },
3148            toggleCart() {
3149                const event = this.$event;
3150                if (event.detail && event.detail.isOpen !== undefined) {
3151                    this.isCartOpen = event.detail.isOpen
3152                    if (!this.isCartOpen && this.$refs && this.$refs.cartButton) {
3153                        this.$refs.cartButton.focus()
3154                    }
3155                } else {
3156                                        this.isCartOpen = true
3157                }
3158            },
3159        }
3160    }
3161
3162    window.addEventListener('alpine:init', () => {
3163        Alpine.data('initCart', initCart);
3164    }, {once: true})
3165</script>
3165
3166
3167    <button
3168    class="relative btn btn-icon btn-icon-size-l hidden xl:inline-block"
3169    x-data="initCart"
3170    x-ref="cartButton"
3171    @private-content-loaded.window="getData"
3172    :aria-disabled="isCartEmpty"
3173    :aria-label="ariaLabel"
3174            @click.prevent="openCart"
3175        @toggle-cart.window="toggleCart"
3176        :aria-expanded="isCartOpen"
3177        aria-haspopup="dialog"
3178    >
3179    <span class="relative">
3180        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" width="24" height="24" aria-hidden="true">
3181  <path d="M3 1a1 1 0 000 2h1.22l.305 1.222a.997.997 0 00.01.042l1.358 5.43-.893.892C3.74 11.846 4.632 14 6.414 14H15a1 1 0 000-2H6.414l1-1H14a1 1 0 00.894-.553l3-6A1 1 0 0017 3H6.28l-.31-1.243A1 1 0 005 1H3zM16 16.5a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zM6.5 18a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"/>
3182</svg>
3183        <span
3184            x-text="summaryCount"
3185            x-show="summaryCount"
3186            x-cloak
3187            class="absolute -top-3.5 -right-3.5 p-0.5 min-w-4 rounded-full bg-red-600 text-white
3188                            text-xs font-medium leading-none text-center uppercase tabular-nums"
3189            aria-hidden="true"
3190        ></span>
3191    </span>
3192                </button>
3193    
3194            <!-- BLOCK header.customer -->
3195    <a class="hidden xl:flex btn btn-primary"
3196       onclick="hyva.setCookie && hyva.setCookie(
3197           'login_redirect',
3198           window.location.href,
3199           1
3200           )"
3201       href="https://fera.pl/customer/account/index/"
3202    >
3203        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" width="20" height="20" aria-hidden="true">
3204  <path fill-rule="evenodd" d="M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z" clip-rule="evenodd"/>
3205</svg>
3206        Zaloguj się    </a>
3207<!-- /BLOCK header.customer -->        </div>
3208    </div>
3209
3210    <div
3211        class="dektop-navigation bg-tertiary-lighter hidden shadow-lg xl:block xl:absolute xl:left-0 xl:right-0"
3212        x-ref="desktopNavigation"
3213    >
3214        <div class="container relative flex items-center justify-between gap-4 py-2 ">
3215            
3216<nav
3217    id="desktop-menu"
3218    class="navigation grow hidden xl:block overflow-x-auto scrollbar-custom"
3219    aria-label="Menu&#x20;g&#x0142;&#xF3;wne"
3220    x-data="initMenuDesktop"
3221>
3222    <ul class="flex gap-x-1">
3223                                                <li
3224                    class="level-0 flex gap-y-1 flex-shrink-0 whitespace-nowrap"
3225                    data-id="category-5"
3226                    @click.outside="close(false)"
3227                    @keydown.escape="close"
3228                    @mouseenter="canHoverOpen"
3229                    @mouseleave="canHoverClose"
3230                >
3231                    <a
3232                        href="https://fera.pl/pies.html"
3233                        class="btn btn-nav"
3234                                            >
3235                        Pies                    </a>
3236                    <button
3237                        data-id="category-5"
3238                        type="button"
3239                        class="group btn btn-flat btn-icon-size-s sr-only focus:not-sr-only"
3240                        @click="toggle"
3241                        aria-expanded="false"
3242                        :aria-expanded="openDropdownId === 'category-5'"
3243                        aria-controls="desktop-menu-category-5"
3244                        x-ref="btn_category-5"
3245                    >
3246                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="transition group-aria-expanded:rotate-180 text-slate-400 group-aria-expanded:text-inherit" width="24" height="24" aria-hidden="true">
3247  <path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd"/>
3248</svg>
3249                    </button>
3250                    <template x-if="openDropdownId === 'category-5'">
3251                        <div
3252                            id="desktop-menu-category-5"
3253                            class="menu-dropdown grid absolute top-full inset-x-0 mt-4 border-t-2 border-primary rounded-3xl bg-white shadow-xl max-h-[70vh] overflow-y-auto"
3254                            :class="{ 'grid-cols-3': $store.banners.activeBanners.length }"
3255                            x-ref="childmenu_category-5"
3256                            x-transition
3257                        >
3258                            <div
3259                                class="flex overflow-x-auto"
3260                                :class="{ 'col-span-2': $store.banners.activeBanners.length }"
3261                            >
3262                                <ul class="relative flex flex-col gap-1 py-2.5 px-2 min-w-72">
3263                                                                            
3264    <li
3265        class="level-1"
3266        data-id="category-node-6"
3267        x-data="initSubMenuDesktopItem"
3268        @click.outside="close"
3269    >
3270        <button
3271            type="button"
3272            class="dropdown-list-item"
3273            x-ref="childmenuToggle"
3274            @click="toggle"
3275            aria-expanded="false"
3276            :aria-expanded="open"
3277            aria-controls="category-6-desktop-menu-panel"
3278        >
3279            Karma dla psa            <svg xmlns="http://www.w3.org/2000/svg"
3280                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
3281                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
3282        </button>
3283        <template x-if="open">
3284            <ul
3285                id="category-6-desktop-menu-panel"
3286                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
3287                x-ref="childMenuWrapper"
3288                @keydown.escape.stop="closeEscape"
3289            >
3290                <li>
3291                    <a
3292                        href="https://fera.pl/pies/karma-dla-psa.html"
3293                        class="dropdown-list-item font-bold"
3294                    >Karma dla psa - zobacz wszystko</a>
3295                </li>
3296                                    
3297    <li class="level-2">
3298        <a
3299            href="https://fera.pl/pies/karma-dla-psa/karma-sucha-dla-psa.html"
3300            class="dropdown-list-item"
3301        >Karma sucha dla psa</a>
3302    </li>
3303                                    
3304    <li class="level-2">
3305        <a
3306            href="https://fera.pl/pies/karma-dla-psa/karma-mokra-dla-psa.html"
3307            class="dropdown-list-item"
3308        >Karma mokra dla psa</a>
3309    </li>
3310                                    
3311    <li class="level-2">
3312        <a
3313            href="https://fera.pl/pies/karma-dla-psa/karma-liofilizowana-dla-psa.html"
3314            class="dropdown-list-item"
3315        >Karma liofilizowana dla psa</a>
3316    </li>
3317                                    
3318    <li class="level-2">
3319        <a
3320            href="https://fera.pl/pies/karma-dla-psa/mleko-zastepcze-dla-psa.html"
3321            class="dropdown-list-item"
3322        >Mleko zastępcze dla psa</a>
3323    </li>
3324                                    
3325    <li class="level-2">
3326        <a
3327            href="https://fera.pl/pies/karma-dla-psa/zywienie-oparte-na-nauce.html"
3328            class="dropdown-list-item"
3329        >Żywienie oparte na nauce </a>
3330    </li>
3331                                    
3332    <li class="level-2">
3333        <a
3334            href="https://fera.pl/pies/karma-dla-psa/karma-dla-szczeniaka.html"
3335            class="dropdown-list-item"
3336        >Karma dla szczeniaka</a>
3337    </li>
3338                                    
3339    <li class="level-2">
3340        <a
3341            href="https://fera.pl/pies/karma-dla-psa/karma-dla-doroslego-psa.html"
3342            class="dropdown-list-item"
3343        >Karma dla dorosłego psa</a>
3344    </li>
3345                                    
3346    <li class="level-2">
3347        <a
3348            href="https://fera.pl/pies/karma-dla-psa/karma-dla-psa-seniora.html"
3349            class="dropdown-list-item"
3350        >Karma dla psa seniora</a>
3351    </li>
3352                                    
3353    <li class="level-2">
3354        <a
3355            href="https://fera.pl/pies/karma-dla-psa/karma-bezzbozowa-dla-psa.html"
3356            class="dropdown-list-item"
3357        >Karma bezzbożowa dla psa</a>
3358    </li>
3359                            </ul>
3360        </template>
3361    </li>
3362                                                                            
3363    <li
3364        class="level-1"
3365        data-id="category-node-9"
3366        x-data="initSubMenuDesktopItem"
3367        @click.outside="close"
3368    >
3369        <button
3370            type="button"
3371            class="dropdown-list-item"
3372            x-ref="childmenuToggle"
3373            @click="toggle"
3374            aria-expanded="false"
3375            :aria-expanded="open"
3376            aria-controls="category-9-desktop-menu-panel"
3377        >
3378            Karma weterynaryjna dla psa            <svg xmlns="http://www.w3.org/2000/svg"
3379                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
3380                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
3381        </button>
3382        <template x-if="open">
3383            <ul
3384                id="category-9-desktop-menu-panel"
3385                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
3386                x-ref="childMenuWrapper"
3387                @keydown.escape.stop="closeEscape"
3388            >
3389                <li>
3390                    <a
3391                        href="https://fera.pl/pies/karma-weterynaryjna-dla-psa.html"
3392                        class="dropdown-list-item font-bold"
3393                    >Karma weterynaryjna dla psa - zobacz wszystko</a>
3394                </li>
3395                                    
3396    <li class="level-2">
3397        <a
3398            href="https://fera.pl/pies/karma-weterynaryjna-dla-psa/karma-hipoalergiczna-dla-psa.html"
3399            class="dropdown-list-item"
3400        >Karma hipoalergiczna dla psa</a>
3401    </li>
3402                                    
3403    <li class="level-2">
3404        <a
3405            href="https://fera.pl/pies/karma-weterynaryjna-dla-psa/karma-dla-psa-z-cukrzyca.html"
3406            class="dropdown-list-item"
3407        >
3407Karma dla psa z cukrzycą</a>
3408    </li>
3409                                    
3410    <li class="level-2">
3411        <a
3412            href="https://fera.pl/pies/karma-weterynaryjna-dla-psa/karma-dietetyczna-dla-psa.html"
3413            class="dropdown-list-item"
3414        >Karma dietetyczna dla psa</a>
3415    </li>
3416                                    
3417    <li class="level-2">
3418        <a
3419            href="https://fera.pl/pies/karma-weterynaryjna-dla-psa/karma-dla-psa-z-problemami-skornymi.html"
3420            class="dropdown-list-item"
3421        >Karma dla psa z problemami skórnymi</a>
3422    </li>
3423                                    
3424    <li class="level-2">
3425        <a
3426            href="https://fera.pl/pies/karma-weterynaryjna-dla-psa/karma-dla-psa-na-problemy-z-zebami.html"
3427            class="dropdown-list-item"
3428        >Karma dla psa na problemy z zębami</a>
3429    </li>
3430                                    
3431    <li class="level-2">
3432        <a
3433            href="https://fera.pl/pies/karma-weterynaryjna-dla-psa/karma-dla-psa-na-rekonwalescencje.html"
3434            class="dropdown-list-item"
3435        >Karma dla psa na rekonwalescencję</a>
3436    </li>
3437                                    
3438    <li class="level-2">
3439        <a
3440            href="https://fera.pl/pies/karma-weterynaryjna-dla-psa/karma-urinary-dla-psa.html"
3441            class="dropdown-list-item"
3442        >Karma urinary dla psa</a>
3443    </li>
3444                                    
3445    <li class="level-2">
3446        <a
3447            href="https://fera.pl/pies/karma-weterynaryjna-dla-psa/karma-renal-dla-psa.html"
3448            class="dropdown-list-item"
3449        >Karma renal dla psa</a>
3450    </li>
3451                                    
3452    <li class="level-2">
3453        <a
3454            href="https://fera.pl/pies/karma-weterynaryjna-dla-psa/karma-dla-psa-na-problemy-z-sercem.html"
3455            class="dropdown-list-item"
3456        >Karma dla psa na problemy z sercem</a>
3457    </li>
3458                                    
3459    <li class="level-2">
3460        <a
3461            href="https://fera.pl/pies/karma-weterynaryjna-dla-psa/karma-dla-psa-na-stawy.html"
3462            class="dropdown-list-item"
3463        >Karma dla psa na stawy</a>
3464    </li>
3465                                    
3466    <li class="level-2">
3467        <a
3468            href="https://fera.pl/pies/karma-weterynaryjna-dla-psa/karma-hepatic-dla-psa.html"
3469            class="dropdown-list-item"
3470        >Karma hepatic dla psa</a>
3471    </li>
3472                                    
3473    <li class="level-2">
3474        <a
3475            href="https://fera.pl/pies/karma-weterynaryjna-dla-psa/karma-gastro-dla-psa.html"
3476            class="dropdown-list-item"
3477        >Karma gastro dla psa</a>
3478    </li>
3479                                    
3480    <li class="level-2">
3481        <a
3482            href="https://fera.pl/pies/karma-weterynaryjna-dla-psa/karma-dla-psa-z-chora-trzustka.html"
3483            class="dropdown-list-item"
3484        >Karma dla psa z chorą trzustką</a>
3485    </li>
3486                                    
3487    <li class="level-2">
3488        <a
3489            href="https://fera.pl/pies/karma-weterynaryjna-dla-psa/karma-dla-psa-po-kastracji.html"
3490            class="dropdown-list-item"
3491        >Karma dla psa po kastracji</a>
3492    </li>
3493                            </ul>
3494        </template>
3495    </li>
3496                                                                            
3497    <li
3498        class="level-1"
3499        data-id="category-node-90"
3500        x-data="initSubMenuDesktopItem"
3501        @click.outside="close"
3502    >
3503        <button
3504            type="button"
3505            class="dropdown-list-item"
3506            x-ref="childmenuToggle"
3507            @click="toggle"
3508            aria-expanded="false"
3509            :aria-expanded="open"
3510            aria-controls="category-90-desktop-menu-panel"
3511        >
3512            Karma dla psów rasowych            <svg xmlns="http://www.w3.org/2000/svg"
3513                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
3514                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
3515        </button>
3516        <template x-if="open">
3517            <ul
3518                id="category-90-desktop-menu-panel"
3519                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
3520                x-ref="childMenuWrapper"
3521                @keydown.escape.stop="closeEscape"
3522            >
3523                <li>
3524                    <a
3525                        href="https://fera.pl/pies/karma-dla-psow-rasowych.html"
3526                        class="dropdown-list-item font-bold"
3527                    >Karma dla psów rasowych - zobacz wszystko</a>
3528                </li>
3529                                    
3530    <li class="level-2">
3531        <a
3532            href="https://fera.pl/pies/karma-dla-psow-rasowych/karma-dla-beagle.html"
3533            class="dropdown-list-item"
3534        >Karma dla Beagle</a>
3535    </li>
3536                                    
3537    <li class="level-2">
3538        <a
3539            href="https://fera.pl/pies/karma-dla-psow-rasowych/karma-dla-buldoga-angielskiego.html"
3540            class="dropdown-list-item"
3541        >Karma dla Buldoga angielskiego</a>
3542    </li>
3543                                    
3544    <li class="level-2">
3545        <a
3546            href="https://fera.pl/pies/karma-dla-psow-rasowych/karma-dla-buldoga-francuskiego.html"
3547            class="dropdown-list-item"
3548        >Karma dla Buldoga francuskiego</a>
3549    </li>
3550                                    
3551    <li class="level-2">
3552        <a
3553            href="https://fera.pl/pies/karma-dla-psow-rasowych/karma-dla-cavalier-king-charles.html"
3554            class="dropdown-list-item"
3555        >Karma dla Cavalier king charles</a>
3556    </li>
3557                                    
3558    <li class="level-2">
3559        <a
3560            href="https://fera.pl/pies/karma-dla-psow-rasowych/karma-dla-chihuahua.html"
3561            class="dropdown-list-item"
3562        >Karma dla Chihuahua</a>
3563    </li>
3564                                    
3565    <li class="level-2">
3566        <a
3567            href="https://fera.pl/pies/karma-dla-psow-rasowych/karma-dla-jamnika.html"
3568            class="dropdown-list-item"
3569        >Karma dla Jamnika</a>
3570    </li>
3571                                    
3572    <li class="level-2">
3573        <a
3574            href="https://fera.pl/pies/karma-dla-psow-rasowych/karma-dla-owczarka-niemieckiego.html"
3575            class="dropdown-list-item"
3576        >Karma dla Owczarka niemieckiego</a>
3577    </li>
3578                                    
3579    <li class="level-2">
3580        <a
3581            href="https://fera.pl/pies/karma-dla-psow-rasowych/karma-dla-goldena.html"
3582            class="dropdown-list-item"
3583        >Karma dla Goldena</a>
3584    </li>
3585                                    
3586    <li class="level-2">
3587        <a
3588            href="https://fera.pl/pies/karma-dla-psow-rasowych/karma-dla-doga-niemieckiego.html"
3589            class="dropdown-list-item"
3590        >Karma dla Doga niemieckiego</a>
3591    </li>
3592                                    
3593    <li class="level-2">
3594        <a
3595            href="https://fera.pl/pies/karma-dla-psow-rasowych/karma-dla-jack-russell-terrier.html"
3596            class="dropdown-list-item"
3597        >Karma dla Jack russell terrier</a>
3598    </li>
3599                                    
3600    <li class="level-2">
3601        <a
3602            href="https://fera.pl/pies/karma-dla-psow-rasowych/karma-dla-labrador-retriever.html"
3603            class="dropdown-list-item"
3604        >Karma dla Labrador retriever</a>
3605    </li>
3606                                    
3607    <li class="level-2">
3608        <a
3609            href="https://fera.pl/pies/karma-dla-psow-rasowych/karma-dla-sznaucera.html"
3610            class="dropdown-list-item"
3611        >Karma dla Sznaucera</a>
3612    </li>
3613                                    
3614    <li class="level-2">
3615        <a
3616            href="https://fera.pl/pies/karma-dla-psow-rasowych/karma-dla-pudla.html"
3617            class="dropdown-list-item"
3618        >Karma dla Pudla</a>
3619    </li>
3620                                    
3621    <li class="level-2">
3622        <a
3623            href="https://fera.pl/pies/karma-dla-psow-rasowych/karma-dla-rottweiler.html"
3624            class="dropdown-list-item"
3625        >Karma dla Rottweiler</a>
3626    </li>
3627                                    
3628    <li class="level-2">
3629        <a
3630            href="https://fera.pl/pies/karma-dla-psow-rasowych/karma-dla-shih-tzu.html"
3631            class="dropdown-list-item"
3632        >Karma dla Shih tzu</a>
3633    </li>
3634                                    
3635    <li class="level-2">
3636        <a
3637            href="https://fera.pl/pies/karma-dla-psow-rasowych/karma-dla-west-highland-white-terrier.html"
3638            class="dropdown-list-item"
3639        >Karma dla West highland white terrier</a>
3640    </li>
3641                                    
3642    <li class="level-2">
3643        <a
3644            href="https://fera.pl/pies/karma-dla-psow-rasowych/karma-dla-yorkshire-terrier.html"
3645            class="dropdown-list-item"
3646        >Karma dla Yorkshire terrier</a>
3647    </li>
3648                                    
3649    <li class="level-2">
3650        <a
3651            href="https://fera.pl/pies/karma-dla-psow-rasowych/karma-dla-szpica-miniaturowego-pomeranian.html"
3652            class="dropdown-list-item"
3653        >Karma dla Szpica miniaturowego pomeranian</a>
3654    </li>
3655                            </ul>
3656        </template>
3657    </li>
3658                                                                            
3659    <li
3660        class="level-1"
3661        data-id="category-node-27"
3662        x-data="initSubMenuDesktopItem"
3663        @click.outside="close"
3664    >
3665        <button
3666            type="button"
3667            class="dropdown-list-item"
3668            x-ref="childmenuToggle"
3669            @click="toggle"
3670            aria-expanded="false"
3671            :aria-expanded="open"
3672            aria-controls="category-27-desktop-menu-panel"
3673        >
3674            Karma dla psa: Podział wg firm            <svg xmlns="http://www.w3.org/2000/svg"
3675                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
3676                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
3677        </button>
3678        <template x-if="open">
3679            <ul
3680                id="category-27-desktop-menu-panel"
3681                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
3682                x-ref="childMenuWrapper"
3683                @keydown.escape.stop="closeEscape"
3684            >
3685                <li>
3686                    <a
3687                        href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm.html"
3688                        class="dropdown-list-item font-bold"
3689                    >Karma dla psa: Podział wg firm - zobacz wszystko</a>
3690                </li>
3691                                    
3692    <li class="level-2">
3693        <a
3694            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-royal-canin.html"
3695            class="dropdown-list-item"
3696        >Karma dla psa Royal Canin</a>
3697    </li>
3698                                    
3699    <li class="level-2">
3700        <a
3701            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-simply-from-nature.html"
3702            class="dropdown-list-item"
3703        >Karma dla psa Simply From Nature</a>
3704    </li>
3705                                    
3706    <li class="level-2">
3707        <a
3708            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-pedigree.html"
3709            class="dropdown-list-item"
3710        >Karma dla psa Pedigree</a>
3711    </li>
3712                                    
3713    <li class="level-2">
3714        <a
3715            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-josera.html"
3716            class="dropdown-list-item"
3717        >Karma dla psa Josera</a>
3718    </li>
3719                                    
3720    <li class="level-2">
3721        <a
3722            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-brit.html"
3723            class="dropdown-list-item"
3724        >Karma dla psa Brit</a>
3725    </li>
3726                                    
3727    <li class="level-2">
3728        <a
3729            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-chappi.html"
3730            class="dropdown-list-item"
3731        >Karma dla psa Chappi</a>
3732    </li>
3733                                    
3734    <li class="level-2">
3735        <a
3736            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-eukanuba.html"
3737            class="dropdown-list-item"
3738        >Karma dla psa Eukanuba</a>
3739    </li>
3740                                    
3741    <li class="level-2">
3742        <a
3743            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-fitmin.html"
3744            class="dropdown-list-item"
3745        >Karma dla psa Fitmin</a>
3746    </li>
3747                                    
3748    <li class="level-2">
3749        <a
3750            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-bosch.html"
3751            class="dropdown-list-item"
3752        >Karma dla psa Bosch</a>
3753    </li>
3754                                    
3755    <li class="level-2">
3756        <a
3757            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-acana.html"
3758            class="dropdown-list-item"
3759        >Karma dla psa Acana</a>
3760    </li>
3761                                    
3762    <li class="level-2">
3763        <a
3764            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-iams.html"
3765            class="dropdown-list-item"
3766        >Karma dla psa Iams</a>
3767    </li>
3768                                    
3769    <li class="level-2">
3770        <a
3771            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-perfect-fit.html"
3772            class="dropdown-list-item"
3773        >Karma dla psa Perfect Fit</a>
3774    </li>
3775                                    
3776    <li class="level-2">
3777        <a
3778            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-purina.html"
3779            class="dropdown-list-item"
3780        >Karma dla psa Purina</a>
3781    </li>
3782                                    
3783    <li class="level-2">
3784        <a
3785            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-alpha-spirit.html"
3786            class="dropdown-list-item"
3787        >Karma dla psa Alpha Spirit</a>
3788    </li>
3789                                    
3790    <li class="level-2">
3791        <a
3792            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-arion.html"
3793            class="dropdown-list-item"
3794        >Karma dla psa Arion</a>
3795    </li>
3796                                    
3797    <li class="level-2">
3798        <a
3799            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-butcher-s.html"
3800            class="dropdown-list-item"
3801        >Karma dla psa Butcher&#039;s</a>
3802    </li>
3803                                    
3804    <li class="level-2">
3805        <a
3806            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-carnilove.html"
3807            class="dropdown-list-item"
3808        >Karma dla psa Carnilove</a>
3809    </li>
3810                                    
3811    <li class="level-2">
3812        <a
3813            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-farmina.html"
3814            class="dropdown-list-item"
3815        >Karma dla psa Farmina</a>
3816    </li>
3817                                    
3818    <li class="level-2">
3819        <a
3820            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-frolic.html"
3821            class="dropdown-list-item"
3822        >Karma dla psa Frolic</a>
3823    </li>
3824                                    
3825    <li class="level-2">
3826        <a
3827            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-hill-s.html"
3828            class="dropdown-list-item"
3829        >Karma dla psa Hill&#039;s</a>
3830    </li>
3831                                    
3832    <li class="level-2">
3833        <a
3834            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-taste-of-the-wild.html"
3835            class="dropdown-list-item"
3836        >Karma dla psa Taste Of The Wild</a>
3837    </li>
3838                                    
3839    <li class="level-2">
3840        <a
3841            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/k
3841arma-dla-psa-nero-gold.html"
3842            class="dropdown-list-item"
3843        >Karma dla psa Nero Gold</a>
3844    </li>
3845                                    
3846    <li class="level-2">
3847        <a
3848            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-cesar.html"
3849            class="dropdown-list-item"
3850        >Karma dla psa Cesar</a>
3851    </li>
3852                                    
3853    <li class="level-2">
3854        <a
3855            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-stuzzy.html"
3856            class="dropdown-list-item"
3857        >Karma dla psa Stuzzy</a>
3858    </li>
3859                                    
3860    <li class="level-2">
3861        <a
3862            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-schesir.html"
3863            class="dropdown-list-item"
3864        >Karma dla psa Schesir</a>
3865    </li>
3866                                    
3867    <li class="level-2">
3868        <a
3869            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-applaws.html"
3870            class="dropdown-list-item"
3871        >Karma dla psa Applaws</a>
3872    </li>
3873                                    
3874    <li class="level-2">
3875        <a
3876            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-dolina-noteci.html"
3877            class="dropdown-list-item"
3878        >Karma dla psa Dolina Noteci</a>
3879    </li>
3880                                    
3881    <li class="level-2">
3882        <a
3883            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-forza10.html"
3884            class="dropdown-list-item"
3885        >Karma dla psa Forza10</a>
3886    </li>
3887                                    
3888    <li class="level-2">
3889        <a
3890            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-country-nature.html"
3891            class="dropdown-list-item"
3892        >Karma dla psa Country&amp;Nature</a>
3893    </li>
3894                                    
3895    <li class="level-2">
3896        <a
3897            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-monge.html"
3898            class="dropdown-list-item"
3899        >Karma dla psa Monge</a>
3900    </li>
3901                                    
3902    <li class="level-2">
3903        <a
3904            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-belcando.html"
3905            class="dropdown-list-item"
3906        >Karma dla psa Belcando</a>
3907    </li>
3908                                    
3909    <li class="level-2">
3910        <a
3911            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-crave.html"
3912            class="dropdown-list-item"
3913        >Karma dla psa Crave</a>
3914    </li>
3915                                    
3916    <li class="level-2">
3917        <a
3918            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-orijen.html"
3919            class="dropdown-list-item"
3920        >Karma dla psa Orijen</a>
3921    </li>
3922                                    
3923    <li class="level-2">
3924        <a
3925            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-paka-zwierzaka.html"
3926            class="dropdown-list-item"
3927        >Karma dla psa Paka Zwierzaka</a>
3928    </li>
3929                                    
3930    <li class="level-2">
3931        <a
3932            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-cibau.html"
3933            class="dropdown-list-item"
3934        >Karma dla psa Cibau</a>
3935    </li>
3936                                    
3937    <li class="level-2">
3938        <a
3939            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-rafi.html"
3940            class="dropdown-list-item"
3941        >Karma dla psa Rafi</a>
3942    </li>
3943                                    
3944    <li class="level-2">
3945        <a
3946            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-piper.html"
3947            class="dropdown-list-item"
3948        >Karma dla psa Piper</a>
3949    </li>
3950                                    
3951    <li class="level-2">
3952        <a
3953            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-primal-spirit.html"
3954            class="dropdown-list-item"
3955        >Karma dla psa Primal Spirit</a>
3956    </li>
3957                                    
3958    <li class="level-2">
3959        <a
3960            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-calibra.html"
3961            class="dropdown-list-item"
3962        >Karma dla psa Calibra</a>
3963    </li>
3964                                    
3965    <li class="level-2">
3966        <a
3967            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-ziwipeak.html"
3968            class="dropdown-list-item"
3969        >Karma dla psa ZiwiPeak</a>
3970    </li>
3971                                    
3972    <li class="level-2">
3973        <a
3974            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-rinti.html"
3975            class="dropdown-list-item"
3976        >Karma dla psa Rinti</a>
3977    </li>
3978                                    
3979    <li class="level-2">
3980        <a
3981            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-marp.html"
3982            class="dropdown-list-item"
3983        >Karma dla psa MARP</a>
3984    </li>
3985                                    
3986    <li class="level-2">
3987        <a
3988            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-pan-miesko.html"
3989            class="dropdown-list-item"
3990        >Karma dla psa Pan Mięsko</a>
3991    </li>
3992                                    
3993    <li class="level-2">
3994        <a
3995            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-canun.html"
3996            class="dropdown-list-item"
3997        >Karma dla psa Canun</a>
3998    </li>
3999                                    
4000    <li class="level-2">
4001        <a
4002            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-nugape.html"
4003            class="dropdown-list-item"
4004        >Karma dla psa Nugape</a>
4005    </li>
4006                                    
4007    <li class="level-2">
4008        <a
4009            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-green-petfood.html"
4010            class="dropdown-list-item"
4011        >Karma dla psa Green Petfood</a>
4012    </li>
4013                                    
4014    <li class="level-2">
4015        <a
4016            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-trovet.html"
4017            class="dropdown-list-item"
4018        >Karma dla psa Trovet</a>
4019    </li>
4020                                    
4021    <li class="level-2">
4022        <a
4023            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-vet-expert.html"
4024            class="dropdown-list-item"
4025        >Karma dla psa Vet Expert</a>
4026    </li>
4027                                    
4028    <li class="level-2">
4029        <a
4030            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-divinus.html"
4031            class="dropdown-list-item"
4032        >Karma dla psa Divinus</a>
4033    </li>
4034                                    
4035    <li class="level-2">
4036        <a
4037            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-addvena.html"
4038            class="dropdown-list-item"
4039        >Karma dla psa Addvena</a>
4040    </li>
4041                                    
4042    <li class="level-2">
4043        <a
4044            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-arquivet.html"
4045            class="dropdown-list-item"
4046        >Karma dla psa Arquivet</a>
4047    </li>
4048                                    
4049    <li class="level-2">
4050        <a
4051            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-snut.html"
4052            class="dropdown-list-item"
4053        >Karma dla psa Snut</a>
4054    </li>
4055                                    
4056    <li class="level-2">
4057        <a
4058            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-migos.html"
4059            class="dropdown-list-item"
4060        >Karma dla psa Migos</a>
4061    </li>
4062                                    
4063    <li class="level-2">
4064        <a
4065            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-bewi-dog.html"
4066            class="dropdown-list-item"
4067        >Karma dla psa Bewi Dog</a>
4068    </li>
4069                                    
4070    <li class="level-2">
4071        <a
4072            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-inaba.html"
4073            class="dropdown-list-item"
4074        >Karma dla psa Inaba</a>
4075    </li>
4076                                    
4077    <li class="level-2">
4078        <a
4079            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-biofeed.html"
4080            class="dropdown-list-item"
4081        >Karma dla psa BioFeed</a>
4082    </li>
4083                                    
4084    <li class="level-2">
4085        <a
4086            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-comfy-appetit.html"
4087            class="dropdown-list-item"
4088        >
4088Karma dla psa Comfy Appetit</a>
4089    </li>
4090                                    
4091    <li class="level-2">
4092        <a
4093            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-james-wellbeloved.html"
4094            class="dropdown-list-item"
4095        >Karma dla psa James Wellbeloved</a>
4096    </li>
4097                            </ul>
4098        </template>
4099    </li>
4100                                                                            
4101    <li
4102        class="level-1"
4103        data-id="category-node-110"
4104        x-data="initSubMenuDesktopItem"
4105        @click.outside="close"
4106    >
4107        <button
4108            type="button"
4109            class="dropdown-list-item"
4110            x-ref="childmenuToggle"
4111            @click="toggle"
4112            aria-expanded="false"
4113            :aria-expanded="open"
4114            aria-controls="category-110-desktop-menu-panel"
4115        >
4116            Przysmaki dla psa            <svg xmlns="http://www.w3.org/2000/svg"
4117                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
4118                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
4119        </button>
4120        <template x-if="open">
4121            <ul
4122                id="category-110-desktop-menu-panel"
4123                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
4124                x-ref="childMenuWrapper"
4125                @keydown.escape.stop="closeEscape"
4126            >
4127                <li>
4128                    <a
4129                        href="https://fera.pl/pies/przysmaki-dla-psa.html"
4130                        class="dropdown-list-item font-bold"
4131                    >Przysmaki dla psa - zobacz wszystko</a>
4132                </li>
4133                                    
4134    <li class="level-2">
4135        <a
4136            href="https://fera.pl/pies/przysmaki-dla-psa/gryzaki-dentystyczne-dla-psa.html"
4137            class="dropdown-list-item"
4138        >Gryzaki dentystyczne dla psa</a>
4139    </li>
4140                                    
4141    <li class="level-2">
4142        <a
4143            href="https://fera.pl/pies/przysmaki-dla-psa/kosci-dla-psa.html"
4144            class="dropdown-list-item"
4145        >Kości dla psa</a>
4146    </li>
4147                                    
4148    <li class="level-2">
4149        <a
4150            href="https://fera.pl/pies/przysmaki-dla-psa/ciasteczka-dla-psa.html"
4151            class="dropdown-list-item"
4152        >Ciasteczka dla psa</a>
4153    </li>
4154                                    
4155    <li class="level-2">
4156        <a
4157            href="https://fera.pl/pies/przysmaki-dla-psa/treserki-dla-psa.html"
4158            class="dropdown-list-item"
4159        >Treserki dla psa</a>
4160    </li>
4161                                    
4162    <li class="level-2">
4163        <a
4164            href="https://fera.pl/pies/przysmaki-dla-psa/naturalne-przysmaki-dla-psa.html"
4165            class="dropdown-list-item"
4166        >Naturalne przysmaki dla psa</a>
4167    </li>
4168                                    
4169    <li class="level-2">
4170        <a
4171            href="https://fera.pl/pies/przysmaki-dla-psa/kabanosy-dla-psa.html"
4172            class="dropdown-list-item"
4173        >Kabanosy dla psa</a>
4174    </li>
4175                                    
4176    <li class="level-2">
4177        <a
4178            href="https://fera.pl/pies/przysmaki-dla-psa/przysmaki-liofilizowane-dla-psa.html"
4179            class="dropdown-list-item"
4180        >Przysmaki liofilizowane dla psa</a>
4181    </li>
4182                                    
4183    <li class="level-2">
4184        <a
4185            href="https://fera.pl/pies/przysmaki-dla-psa/przysmaki-funkcjonalne-dla-psa.html"
4186            class="dropdown-list-item"
4187        >Przysmaki funkcjonalne dla psa</a>
4188    </li>
4189                            </ul>
4190        </template>
4191    </li>
4192                                                                            
4193    <li
4194        class="level-1"
4195        data-id="category-node-123"
4196        x-data="initSubMenuDesktopItem"
4197        @click.outside="close"
4198    >
4199        <button
4200            type="button"
4201            class="dropdown-list-item"
4202            x-ref="childmenuToggle"
4203            @click="toggle"
4204            aria-expanded="false"
4205            :aria-expanded="open"
4206            aria-controls="category-123-desktop-menu-panel"
4207        >
4208            Zdrowie psa            <svg xmlns="http://www.w3.org/2000/svg"
4209                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
4210                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
4211        </button>
4212        <template x-if="open">
4213            <ul
4214                id="category-123-desktop-menu-panel"
4215                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
4216                x-ref="childMenuWrapper"
4217                @keydown.escape.stop="closeEscape"
4218            >
4219                <li>
4220                    <a
4221                        href="https://fera.pl/pies/zdrowie-psa.html"
4222                        class="dropdown-list-item font-bold"
4223                    >Zdrowie psa - zobacz wszystko</a>
4224                </li>
4225                                    
4226    <li class="level-2">
4227        <a
4228            href="https://fera.pl/pies/zdrowie-psa/czyszczenie-zebow-psa.html"
4229            class="dropdown-list-item"
4230        >Czyszczenie zębów psa</a>
4231    </li>
4232                                    
4233    <li class="level-2">
4234        <a
4235            href="https://fera.pl/pies/zdrowie-psa/probiotyki-dla-psa.html"
4236            class="dropdown-list-item"
4237        >Probiotyki dla psa</a>
4238    </li>
4239                                    
4240    <li class="level-2">
4241        <a
4242            href="https://fera.pl/pies/zdrowie-psa/czyszczenie-uszu-i-oczu-psa.html"
4243            class="dropdown-list-item"
4244        >Czyszczenie uszu i oczu psa</a>
4245    </li>
4246                                    
4247    <li class="level-2">
4248        <a
4249            href="https://fera.pl/pies/zdrowie-psa/preparaty-na-stawy-i-kosci-dla-psa.html"
4250            class="dropdown-list-item"
4251        >Preparaty na stawy i kości dla psa</a>
4252    </li>
4253                                    
4254    <li class="level-2">
4255        <a
4256            href="https://fera.pl/pies/zdrowie-psa/preparaty-na-siersc-i-skore-psa.html"
4257            class="dropdown-list-item"
4258        >Preparaty na sierść i skórę psa</a>
4259    </li>
4260                                    
4261    <li class="level-2">
4262        <a
4263            href="https://fera.pl/pies/zdrowie-psa/tabletki-na-odrobaczenie-psa.html"
4264            class="dropdown-list-item"
4265        >Tabletki na odrobaczenie psa</a>
4266    </li>
4267                                    
4268    <li class="level-2">
4269        <a
4270            href="https://fera.pl/pies/zdrowie-psa/witaminy-i-suplementy-dla-psa.html"
4271            class="dropdown-list-item"
4272        >Witaminy i suplementy dla psa</a>
4273    </li>
4274                                    
4275    <li class="level-2">
4276        <a
4277            href="https://fera.pl/pies/zdrowie-psa/akcesoria-weterynaryjne-i-diagnostyka-psa.html"
4278            class="dropdown-list-item"
4279        >Akcesoria weterynaryjne i diagnostyka psa</a>
4280    </li>
4281                                    
4282    <li class="level-2">
4283        <a
4284            href="https://fera.pl/pies/zdrowie-psa/preparaty-na-uspokojenie-psa.html"
4285            class="dropdown-list-item"
4286        >Preparaty na uspokojenie psa</a>
4287    </li>
4288                            </ul>
4289        </template>
4290    </li>
4291                                                                            
4292    <li
4293        class="level-1"
4294        data-id="category-node-131"
4295        x-data="initSubMenuDesktopItem"
4296        @click.outside="close"
4297    >
4298        <button
4299            type="button"
4300            class="dropdown-list-item"
4301            x-ref="childmenuToggle"
4302            @click="toggle"
4303            aria-expanded="false"
4304            :aria-expanded="open"
4305            aria-controls="category-131-desktop-menu-panel"
4306        >
4307            Pchły, kleszcze i pasożyty            <svg xmlns="http://www.w3.org/2000/svg"
4308                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
4309                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
4310        </button>
4311        <template x-if="open">
4312            <ul
4313                id="category-131-desktop-menu-panel"
4314                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
4315                x-ref="childMenuWrapper"
4316                @keydown.escape.stop="closeEscape"
4317            >
4318                <li>
4319                    <a
4320                        href="https://fera.pl/pies/pchly-kleszcze-i-pasozyty.html"
4321                        class="dropdown-list-item font-bold"
4322                    >Pchły, kleszcze i pasożyty - zobacz wszystko</a>
4323                </li>
4324                                    
4325    <li class="level-2">
4326        <a
4327            href="https://fera.pl/pies/pchly-kleszcze-i-pasozyty/preparaty-na-pchly-i-kleszcze-dla-psa.html"
4328            class="dropdown-list-item"
4329        >Preparaty na pchły i kleszcze dla psa</a>
4330    </li>
4331                                    
4332    <li class="level-2">
4333        <a
4334            href="https://fera.pl/pies/pchly-kleszcze-i-pasozyty/obroze-na-kleszcze-i-pchly-dla-psa.html"
4335            class="dropdown-list-item"
4336        >Obroże na kleszcze i pchły dla psa</a>
4337    </li>
4338                                    
4339    <li class="level-2">
4340        <a
4341            href="https://fera.pl/pies/pchly-kleszcze-i-pasozyty/pesety-na-kleszcze-dla-psa.html"
4342            class="dropdown-list-item"
4343        >Pęsety na kleszcze dla psa</a>
4344    </li>
4345                                    
4346    <li class="level-2">
4347        <a
4348            href="https://fera.pl/pies/pchly-kleszcze-i-pasozyty/szampony-na-pchly-i-kleszcze-dla-psa.html"
4349            class="dropdown-list-item"
4350        >Szampony na pchły i kleszcze dla psa</a>
4351    </li>
4352                                    
4353    <li class="level-2">
4354        <a
4355            href="https://fera.pl/pies/pchly-kleszcze-i-pasozyty/grzebien-na-pchly-dla-psa.html"
4356            class="dropdown-list-item"
4357        >Grzebień na pchły dla psa</a>
4358    </li>
4359                            </ul>
4360        </template>
4361    </li>
4362                                                                            
4363    <li
4364        class="level-1"
4365        data-id="category-node-117"
4366        x-data="initSubMenuDesktopItem"
4367        @click.outside="close"
4368    >
4369        <button
4370            type="button"
4371            class="dropdown-list-item"
4372            x-ref="childmenuToggle"
4373            @click="toggle"
4374            aria-expanded="false"
4375            :aria-expanded="open"
4376            aria-controls="category-117-desktop-menu-panel"
4377        >
4378            Akcesoria do karmienia dla psa            <svg xmlns="http://www.w3.org/2000/svg"
4379                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
4380                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
4381        </button>
4382        <template x-if="open">
4383            <ul
4384                id="category-117-desktop-menu-panel"
4385                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
4386                x-ref="childMenuWrapper"
4387                @keydown.escape.stop="closeEscape"
4388            >
4389                <li>
4390                    <a
4391                        href="https://fera.pl/pies/akcesoria-do-karmienia-dla-psa.html"
4392                        class="dropdown-list-item font-bold"
4393                    >Akcesoria do karmienia dla psa - zobacz wszystko</a>
4394                </li>
4395                                    
4396    <li class="level-2">
4397        <a
4398            href="https://fera.pl/pies/akcesoria-do-karmienia-dla-psa/automaty-na-karme-i-wode-dla-psa.html"
4399            class="dropdown-list-item"
4400        >Automaty na karmę i wodę dla psa</a>
4401    </li>
4402                                    
4403    <li class="level-2">
4404        <a
4405            href="https://fera.pl/pies/akcesoria-do-karmienia-dla-psa/miski-dla-psa.html"
4406            class="dropdown-list-item"
4407        >Miski dla psa</a>
4408    </li>
4409                                    
4410    <li class="level-2">
4411        <a
4412            href="https://fera.pl/pies/akcesoria-do-karmienia-dla-psa/pojemniki-na-karme-dla-psa.html"
4413            class="dropdown-list-item"
4414        >Pojemniki na karmę dla psa</a>
4415    </li>
4416                                    
4417    <li class="level-2">
4418        <a
4419            href="https://fera.pl/pies/akcesoria-do-karmienia-dla-psa/butelki-dla-psa.html"
4420            class="dropdown-list-item"
4421        >Butelki dla psa</a>
4422    </li>
4423                            </ul>
4424        </template>
4425    </li>
4426                                                                            
4427    <li
4428        class="level-1"
4429        data-id="category-node-143"
4430        x-data="initSubMenuDesktopItem"
4431        @click.outside="close"
4432    >
4433        <button
4434            type="button"
4435            class="dropdown-list-item"
4436            x-ref="childmenuToggle"
4437            @click="toggle"
4438            aria-expanded="false"
4439            :aria-expanded="open"
4440            aria-controls="category-143-desktop-menu-panel"
4441        >
4442            Grooming i pielęgnacja psa            <svg xmlns="http://www.w3.org/2000/svg"
4443                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
4444                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
4445        </button>
4446        <template x-if="open">
4447            <ul
4448                id="category-143-desktop-menu-panel"
4449                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
4450                x-ref="childMenuWrapper"
4451                @keydown.escape.stop="closeEscape"
4452            >
4453                <li>
4454                    <a
4455                        href="https://fera.pl/pies/grooming-i-pielegnacja-psa.html"
4456                        class="dropdown-list-item font-bold"
4457                    >Grooming i pielęgnacja psa - zobacz wszystko</a>
4458                </li>
4459                                    
4460    <li class="level-2">
4461        <a
4462            href="https://fera.pl/pies/grooming-i-pielegnacja-psa/szczotki-do-usuw
4462ania-siersci-psa.html"
4463            class="dropdown-list-item"
4464        >Szczotki do usuwania sierści psa</a>
4465    </li>
4466                                    
4467    <li class="level-2">
4468        <a
4469            href="https://fera.pl/pies/grooming-i-pielegnacja-psa/woreczki-na-psie-odchody.html"
4470            class="dropdown-list-item"
4471        >Woreczki na psie odchody</a>
4472    </li>
4473                                    
4474    <li class="level-2">
4475        <a
4476            href="https://fera.pl/pies/grooming-i-pielegnacja-psa/podklady-i-pieluchy-dla-psow.html"
4477            class="dropdown-list-item"
4478        >Podkłady i pieluchy dla psów</a>
4479    </li>
4480                                    
4481    <li class="level-2">
4482        <a
4483            href="https://fera.pl/pies/grooming-i-pielegnacja-psa/preparaty-odstraszajace-psy.html"
4484            class="dropdown-list-item"
4485        >Preparaty odstraszające psy</a>
4486    </li>
4487                                    
4488    <li class="level-2">
4489        <a
4490            href="https://fera.pl/pies/grooming-i-pielegnacja-psa/preparaty-na-usuwanie-plam-i-zapachow-po-psach.html"
4491            class="dropdown-list-item"
4492        >Preparaty na usuwanie plam i zapachów po psach</a>
4493    </li>
4494                                    
4495    <li class="level-2">
4496        <a
4497            href="https://fera.pl/pies/grooming-i-pielegnacja-psa/szczotki-i-grzebienie-dla-psa.html"
4498            class="dropdown-list-item"
4499        >Szczotki i grzebienie dla psa</a>
4500    </li>
4501                                    
4502    <li class="level-2">
4503        <a
4504            href="https://fera.pl/pies/grooming-i-pielegnacja-psa/szampony-i-akcesoria-do-kapania-psa.html"
4505            class="dropdown-list-item"
4506        >Szampony i akcesoria do kąpania psa</a>
4507    </li>
4508                                    
4509    <li class="level-2">
4510        <a
4511            href="https://fera.pl/pies/grooming-i-pielegnacja-psa/nozyczki-do-strzyzenia-psa.html"
4512            class="dropdown-list-item"
4513        >Nożyczki do strzyżenia psa</a>
4514    </li>
4515                                    
4516    <li class="level-2">
4517        <a
4518            href="https://fera.pl/pies/grooming-i-pielegnacja-psa/obcinaczki-i-gilotyny-dla-psa-do-pazurow.html"
4519            class="dropdown-list-item"
4520        >Obcinaczki i gilotyny dla psa do pazurów</a>
4521    </li>
4522                            </ul>
4523        </template>
4524    </li>
4525                                                                            
4526    <li
4527        class="level-1"
4528        data-id="category-node-151"
4529        x-data="initSubMenuDesktopItem"
4530        @click.outside="close"
4531    >
4532        <button
4533            type="button"
4534            class="dropdown-list-item"
4535            x-ref="childmenuToggle"
4536            @click="toggle"
4537            aria-expanded="false"
4538            :aria-expanded="open"
4539            aria-controls="category-151-desktop-menu-panel"
4540        >
4541            Legowiska, transportery i klatki dla psa            <svg xmlns="http://www.w3.org/2000/svg"
4542                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
4543                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
4544        </button>
4545        <template x-if="open">
4546            <ul
4547                id="category-151-desktop-menu-panel"
4548                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
4549                x-ref="childMenuWrapper"
4550                @keydown.escape.stop="closeEscape"
4551            >
4552                <li>
4553                    <a
4554                        href="https://fera.pl/pies/legowiska-transportery-i-klatki-dla-psa.html"
4555                        class="dropdown-list-item font-bold"
4556                    >Legowiska, transportery i klatki dla psa - zobacz wszystko</a>
4557                </li>
4558                                    
4559    <li class="level-2">
4560        <a
4561            href="https://fera.pl/pies/legowiska-transportery-i-klatki-dla-psa/legowisko-dla-psa.html"
4562            class="dropdown-list-item"
4563        >Legowisko dla psa</a>
4564    </li>
4565                                    
4566    <li class="level-2">
4567        <a
4568            href="https://fera.pl/pies/legowiska-transportery-i-klatki-dla-psa/torby-dla-psa.html"
4569            class="dropdown-list-item"
4570        >Torby dla psa</a>
4571    </li>
4572                                    
4573    <li class="level-2">
4574        <a
4575            href="https://fera.pl/pies/legowiska-transportery-i-klatki-dla-psa/transportery-dla-psa.html"
4576            class="dropdown-list-item"
4577        >Transportery dla psa</a>
4578    </li>
4579                                    
4580    <li class="level-2">
4581        <a
4582            href="https://fera.pl/pies/legowiska-transportery-i-klatki-dla-psa/bramki-i-drzwiczki-dla-psa.html"
4583            class="dropdown-list-item"
4584        >Bramki i drzwiczki dla psa</a>
4585    </li>
4586                                    
4587    <li class="level-2">
4588        <a
4589            href="https://fera.pl/pies/legowiska-transportery-i-klatki-dla-psa/koce-dla-psa.html"
4590            class="dropdown-list-item"
4591        >Koce dla psa</a>
4592    </li>
4593                                    
4594    <li class="level-2">
4595        <a
4596            href="https://fera.pl/pies/legowiska-transportery-i-klatki-dla-psa/sprzet-podrozny-dla-psa.html"
4597            class="dropdown-list-item"
4598        >Sprzęt podróżny dla psa</a>
4599    </li>
4600                            </ul>
4601        </template>
4602    </li>
4603                                                                            
4604    <li
4605        class="level-1"
4606        data-id="category-node-165"
4607        x-data="initSubMenuDesktopItem"
4608        @click.outside="close"
4609    >
4610        <button
4611            type="button"
4612            class="dropdown-list-item"
4613            x-ref="childmenuToggle"
4614            @click="toggle"
4615            aria-expanded="false"
4616            :aria-expanded="open"
4617            aria-controls="category-165-desktop-menu-panel"
4618        >
4619            Zabawki dla psa            <svg xmlns="http://www.w3.org/2000/svg"
4620                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
4621                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
4622        </button>
4623        <template x-if="open">
4624            <ul
4625                id="category-165-desktop-menu-panel"
4626                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
4627                x-ref="childMenuWrapper"
4628                @keydown.escape.stop="closeEscape"
4629            >
4630                <li>
4631                    <a
4632                        href="https://fera.pl/pies/zabawki-dla-psa.html"
4633                        class="dropdown-list-item font-bold"
4634                    >Zabawki dla psa - zobacz wszystko</a>
4635                </li>
4636                                    
4637    <li class="level-2">
4638        <a
4639            href="https://fera.pl/pies/zabawki-dla-psa/gry-dla-psa.html"
4640            class="dropdown-list-item"
4641        >Gry dla psa</a>
4642    </li>
4643                                    
4644    <li class="level-2">
4645        <a
4646            href="https://fera.pl/pies/zabawki-dla-psa/gryzaki-dla-psa.html"
4647            class="dropdown-list-item"
4648        >Gryzaki dla psa</a>
4649    </li>
4650                                    
4651    <li class="level-2">
4652        <a
4653            href="https://fera.pl/pies/zabawki-dla-psa/pilki-dla-psa.html"
4654            class="dropdown-list-item"
4655        >Piłki dla psa</a>
4656    </li>
4657                                    
4658    <li class="level-2">
4659        <a
4660            href="https://fera.pl/pies/zabawki-dla-psa/zabawki-sznurkowe-dla-psa.html"
4661            class="dropdown-list-item"
4662        >Zabawki sznurkowe dla psa</a>
4663    </li>
4664                                    
4665    <li class="level-2">
4666        <a
4667            href="https://fera.pl/pies/zabawki-dla-psa/zabawki-dla-psa-do-rzucania.html"
4668            class="dropdown-list-item"
4669        >Zabawki dla psa do rzucania</a>
4670    </li>
4671                                    
4672    <li class="level-2">
4673        <a
4674            href="https://fera.pl/pies/zabawki-dla-psa/pluszaki-dla-psa.html"
4675            class="dropdown-list-item"
4676        >Pluszaki dla psa</a>
4677    </li>
4678                            </ul>
4679        </template>
4680    </li>
4681                                                                            
4682    <li
4683        class="level-1"
4684        data-id="category-node-173"
4685        x-data="initSubMenuDesktopItem"
4686        @click.outside="close"
4687    >
4688        <button
4689            type="button"
4690            class="dropdown-list-item"
4691            x-ref="childmenuToggle"
4692            @click="toggle"
4693            aria-expanded="false"
4694            :aria-expanded="open"
4695            aria-controls="category-173-desktop-menu-panel"
4696        >
4697            Obroże i smycze            <svg xmlns="http://www.w3.org/2000/svg"
4698                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
4699                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
4700        </button>
4701        <template x-if="open">
4702            <ul
4703                id="category-173-desktop-menu-panel"
4704                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
4705                x-ref="childMenuWrapper"
4706                @keydown.escape.stop="closeEscape"
4707            >
4708                <li>
4709                    <a
4710                        href="https://fera.pl/pies/obroze-i-smycze.html"
4711                        class="dropdown-list-item font-bold"
4712                    >Obroże i smycze - zobacz wszystko</a>
4713                </li>
4714                                    
4715    <li class="level-2">
4716        <a
4717            href="https://fera.pl/pies/obroze-i-smycze/obroze-dla-psa.html"
4718            class="dropdown-list-item"
4719        >Obroże dla psa</a>
4720    </li>
4721                                    
4722    <li class="level-2">
4723        <a
4724            href="https://fera.pl/pies/obroze-i-smycze/smycze-dla-psa.html"
4725            class="dropdown-list-item"
4726        >Smycze dla psa</a>
4727    </li>
4728                                    
4729    <li class="level-2">
4730        <a
4731            href="https://fera.pl/pies/obroze-i-smycze/szelki-dla-psa.html"
4732            class="dropdown-list-item"
4733        >Szelki dla psa</a>
4734    </li>
4735                                    
4736    <li class="level-2">
4737        <a
4738            href="https://fera.pl/pies/obroze-i-smycze/adresowka-dla-psa.html"
4739            class="dropdown-list-item"
4740        >Adresówka dla psa</a>
4741    </li>
4742                                    
4743    <li class="level-2">
4744        <a
4745            href="https://fera.pl/pies/obroze-i-smycze/szelki-dla-psa-do-samochodu.html"
4746            class="dropdown-list-item"
4747        >Szelki dla psa do samochodu</a>
4748    </li>
4749                                    
4750    <li class="level-2">
4751        <a
4752            href="https://fera.pl/pies/obroze-i-smycze/kaganiec-dla-psa.html"
4753            class="dropdown-list-item"
4754        >Kaganiec dla psa</a>
4755    </li>
4756                                    
4757    <li class="level-2">
4758        <a
4759            href="https://fera.pl/pies/obroze-i-smycze/tresura-psa.html"
4760            class="dropdown-list-item"
4761        >Tresura psa</a>
4762    </li>
4763                            </ul>
4764        </template>
4765    </li>
4766                                                                            
4767    <li
4768        class="level-1"
4769        data-id="category-node-183"
4770        x-data="initSubMenuDesktopItem"
4771        @click.outside="close"
4772    >
4773        <button
4774            type="button"
4775            class="dropdown-list-item"
4776            x-ref="childmenuToggle"
4777            @click="toggle"
4778            aria-expanded="false"
4779            :aria-expanded="open"
4780            aria-controls="category-183-desktop-menu-panel"
4781        >
4782            Stroje i akcesoria dla psa            <svg xmlns="http://www.w3.org/2000/svg"
4783                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
4784                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
4785        </button>
4786        <template x-if="open">
4787            <ul
4788                id="category-183-desktop-menu-panel"
4789                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
4790                x-ref="childMenuWrapper"
4791                @keydown.escape.stop="closeEscape"
4792            >
4793                <li>
4794                    <a
4795                        href="https://fera.pl/pies/stroje-i-akcesoria-dla-psa.html"
4796                        class="dropdown-list-item font-bold"
4797                    >Stroje i akcesoria dla psa - zobacz wszystko</a>
4798                </li>
4799                                    
4800    <li class="level-2">
4801        <a
4802            href="https://fera.pl/pies/stroje-i-akcesoria-dla-psa/majtki-dla-psa.html"
4803            class="dropdown-list-item"
4804        >Majtki dla psa</a>
4805    </li>
4806                                    
4807    <li class="level-2">
4808        <a
4809            href="https://fera.pl/pies/stroje-i-akcesoria-dla-psa/ubranka-dla-psa.html"
4810            class="dropdown-list-item"
4811        >Ubranka dla psa</a>
4812    </li>
4813                                    
4814    <li class="level-2">
4815        <a
4816            href="https://fera.pl/pies/stroje-i-akcesoria-dla-psa/skarpetki-i-buty-dla-psa.html"
4817            class="dropdown-list-item"
4818        >Skarpetki i buty dla psa</a>
4819    </li>
4820                            </ul>
4821        </template>
4822    </li>
4823                                                                    </ul>
4824                            </div>
4825                            <template x-if="$store.banners.activeBanners.length">
4826                                <div class="flex flex-col gap-2 p-4 border-l border-slate-100 overflow-auto">
4827                                    <template x-for="(banner, index) in $store.banners.activeBanners" :key="index">
4828                                        <a class="block border border-slate-100 rounded-2xl overflow-hidden" :href="banner.url">
4829                                            <img :src="banner.image" :alt="banner.title ?? ''" loading="lazy" class="w-full h-auto" />
4830                                        </a>
4831                                    </template>
4832                                </div>
4833                            </template>
4834                        </div>
4835                    </template>
4836                </li>
4837                                                            <li
4838                    class="level-0 flex gap-y-1 flex-shrink-0 whitespace-nowrap"
4839                    data-id="category-187"
4840                    @click.outside="close(false)"
4841                    @keydown.escape="close"
4842                    @mouseenter="canHoverOpen"
4843                    @mouseleave="canHoverClose"
4844                >
4845                    <a
4846                        href="https://fera.pl/kot.html"
4847                        class="btn btn-nav"
4848                                            >
4849                        Kot                    </a>
4850                    <button
4851                        data-id="category-187"
4852                        type="button"
4853                        class="group btn btn-flat btn-icon-size-s sr-only focu
4853s:not-sr-only"
4854                        @click="toggle"
4855                        aria-expanded="false"
4856                        :aria-expanded="openDropdownId === 'category-187'"
4857                        aria-controls="desktop-menu-category-187"
4858                        x-ref="btn_category-187"
4859                    >
4860                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="transition group-aria-expanded:rotate-180 text-slate-400 group-aria-expanded:text-inherit" width="24" height="24" aria-hidden="true">
4861  <path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd"/>
4862</svg>
4863                    </button>
4864                    <template x-if="openDropdownId === 'category-187'">
4865                        <div
4866                            id="desktop-menu-category-187"
4867                            class="menu-dropdown grid absolute top-full inset-x-0 mt-4 border-t-2 border-primary rounded-3xl bg-white shadow-xl max-h-[70vh] overflow-y-auto"
4868                            :class="{ 'grid-cols-3': $store.banners.activeBanners.length }"
4869                            x-ref="childmenu_category-187"
4870                            x-transition
4871                        >
4872                            <div
4873                                class="flex overflow-x-auto"
4874                                :class="{ 'col-span-2': $store.banners.activeBanners.length }"
4875                            >
4876                                <ul class="relative flex flex-col gap-1 py-2.5 px-2 min-w-72">
4877                                                                            
4878    <li
4879        class="level-1"
4880        data-id="category-node-188"
4881        x-data="initSubMenuDesktopItem"
4882        @click.outside="close"
4883    >
4884        <button
4885            type="button"
4886            class="dropdown-list-item"
4887            x-ref="childmenuToggle"
4888            @click="toggle"
4889            aria-expanded="false"
4890            :aria-expanded="open"
4891            aria-controls="category-188-desktop-menu-panel"
4892        >
4893            Karma dla kota            <svg xmlns="http://www.w3.org/2000/svg"
4894                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
4895                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
4896        </button>
4897        <template x-if="open">
4898            <ul
4899                id="category-188-desktop-menu-panel"
4900                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
4901                x-ref="childMenuWrapper"
4902                @keydown.escape.stop="closeEscape"
4903            >
4904                <li>
4905                    <a
4906                        href="https://fera.pl/kot/karma-dla-kota.html"
4907                        class="dropdown-list-item font-bold"
4908                    >Karma dla kota - zobacz wszystko</a>
4909                </li>
4910                                    
4911    <li class="level-2">
4912        <a
4913            href="https://fera.pl/kot/karma-dla-kota/karma-sucha-dla-kota.html"
4914            class="dropdown-list-item"
4915        >Karma sucha dla kota</a>
4916    </li>
4917                                    
4918    <li class="level-2">
4919        <a
4920            href="https://fera.pl/kot/karma-dla-kota/karma-mokra-dla-kota.html"
4921            class="dropdown-list-item"
4922        >Karma mokra dla kota</a>
4923    </li>
4924                                    
4925    <li class="level-2">
4926        <a
4927            href="https://fera.pl/kot/karma-dla-kota/karma-liofilizowana-dla-kota.html"
4928            class="dropdown-list-item"
4929        >Karma liofilizowana dla kota</a>
4930    </li>
4931                                    
4932    <li class="level-2">
4933        <a
4934            href="https://fera.pl/kot/karma-dla-kota/mleko-zastepcze-dla-kota.html"
4935            class="dropdown-list-item"
4936        >Mleko zastępcze dla kota</a>
4937    </li>
4938                                    
4939    <li class="level-2">
4940        <a
4941            href="https://fera.pl/kot/karma-dla-kota/zywienie-oparte-na-nauce.html"
4942            class="dropdown-list-item"
4943        >Żywienie oparte na nauce </a>
4944    </li>
4945                                    
4946    <li class="level-2">
4947        <a
4948            href="https://fera.pl/kot/karma-dla-kota/karma-dla-kociat.html"
4949            class="dropdown-list-item"
4950        >Karma dla kociąt</a>
4951    </li>
4952                                    
4953    <li class="level-2">
4954        <a
4955            href="https://fera.pl/kot/karma-dla-kota/karma-dla-kota-doroslego.html"
4956            class="dropdown-list-item"
4957        >Karma dla kota dorosłego</a>
4958    </li>
4959                                    
4960    <li class="level-2">
4961        <a
4962            href="https://fera.pl/kot/karma-dla-kota/karma-dla-kota-seniora.html"
4963            class="dropdown-list-item"
4964        >Karma dla kota seniora</a>
4965    </li>
4966                                    
4967    <li class="level-2">
4968        <a
4969            href="https://fera.pl/kot/karma-dla-kota/karma-bezzbozowa-dla-kota.html"
4970            class="dropdown-list-item"
4971        >Karma bezzbożowa dla kota</a>
4972    </li>
4973                            </ul>
4974        </template>
4975    </li>
4976                                                                            
4977    <li
4978        class="level-1"
4979        data-id="category-node-207"
4980        x-data="initSubMenuDesktopItem"
4981        @click.outside="close"
4982    >
4983        <button
4984            type="button"
4985            class="dropdown-list-item"
4986            x-ref="childmenuToggle"
4987            @click="toggle"
4988            aria-expanded="false"
4989            :aria-expanded="open"
4990            aria-controls="category-207-desktop-menu-panel"
4991        >
4992            Karma dla kotów rasowych            <svg xmlns="http://www.w3.org/2000/svg"
4993                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
4994                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
4995        </button>
4996        <template x-if="open">
4997            <ul
4998                id="category-207-desktop-menu-panel"
4999                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
5000                x-ref="childMenuWrapper"
5001                @keydown.escape.stop="closeEscape"
5002            >
5003                <li>
5004                    <a
5005                        href="https://fera.pl/kot/karma-dla-kotow-rasowych.html"
5006                        class="dropdown-list-item font-bold"
5007                    >Karma dla kotów rasowych - zobacz wszystko</a>
5008                </li>
5009                                    
5010    <li class="level-2">
5011        <a
5012            href="https://fera.pl/kot/karma-dla-kotow-rasowych/karma-dla-kota-bengalskiego.html"
5013            class="dropdown-list-item"
5014        >Karma dla kota bengalskiego</a>
5015    </li>
5016                                    
5017    <li class="level-2">
5018        <a
5019            href="https://fera.pl/kot/karma-dla-kotow-rasowych/karma-dla-kota-brytyjskiego-krotkowlosego.html"
5020            class="dropdown-list-item"
5021        >Karma dla kota brytyjskiego krótkowłosego</a>
5022    </li>
5023                                    
5024    <li class="level-2">
5025        <a
5026            href="https://fera.pl/kot/karma-dla-kotow-rasowych/karma-dla-kota-maine-coon.html"
5027            class="dropdown-list-item"
5028        >Karma dla kota maine coon</a>
5029    </li>
5030                                    
5031    <li class="level-2">
5032        <a
5033            href="https://fera.pl/kot/karma-dla-kotow-rasowych/karma-dla-kota-norweskiego-lesnego.html"
5034            class="dropdown-list-item"
5035        >Karma dla kota norweskiego leśnego</a>
5036    </li>
5037                                    
5038    <li class="level-2">
5039        <a
5040            href="https://fera.pl/kot/karma-dla-kotow-rasowych/karma-dla-kota-perskiego.html"
5041            class="dropdown-list-item"
5042        >Karma dla kota perskiego</a>
5043    </li>
5044                                    
5045    <li class="level-2">
5046        <a
5047            href="https://fera.pl/kot/karma-dla-kotow-rasowych/karma-dla-sfinksa.html"
5048            class="dropdown-list-item"
5049        >Karma dla Sfinksa</a>
5050    </li>
5051                            </ul>
5052        </template>
5053    </li>
5054                                                                            
5055    <li
5056        class="level-1"
5057        data-id="category-node-191"
5058        x-data="initSubMenuDesktopItem"
5059        @click.outside="close"
5060    >
5061        <button
5062            type="button"
5063            class="dropdown-list-item"
5064            x-ref="childmenuToggle"
5065            @click="toggle"
5066            aria-expanded="false"
5067            :aria-expanded="open"
5068            aria-controls="category-191-desktop-menu-panel"
5069        >
5070            Karma weterynaryjna dla kota            <svg xmlns="http://www.w3.org/2000/svg"
5071                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
5072                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
5073        </button>
5074        <template x-if="open">
5075            <ul
5076                id="category-191-desktop-menu-panel"
5077                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
5078                x-ref="childMenuWrapper"
5079                @keydown.escape.stop="closeEscape"
5080            >
5081                <li>
5082                    <a
5083                        href="https://fera.pl/kot/karma-weterynaryjna-dla-kota.html"
5084                        class="dropdown-list-item font-bold"
5085                    >Karma weterynaryjna dla kota - zobacz wszystko</a>
5086                </li>
5087                                    
5088    <li class="level-2">
5089        <a
5090            href="https://fera.pl/kot/karma-weterynaryjna-dla-kota/karma-hipoalergiczna-dla-kota.html"
5091            class="dropdown-list-item"
5092        >Karma hipoalergiczna dla kota</a>
5093    </li>
5094                                    
5095    <li class="level-2">
5096        <a
5097            href="https://fera.pl/kot/karma-weterynaryjna-dla-kota/karma-dla-kota-z-cukrzyca.html"
5098            class="dropdown-list-item"
5099        >
5099Karma dla kota z cukrzycą</a>
5100    </li>
5101                                    
5102    <li class="level-2">
5103        <a
5104            href="https://fera.pl/kot/karma-weterynaryjna-dla-kota/karma-odchudzajaca-dla-kota.html"
5105            class="dropdown-list-item"
5106        >Karma odchudzająca dla kota</a>
5107    </li>
5108                                    
5109    <li class="level-2">
5110        <a
5111            href="https://fera.pl/kot/karma-weterynaryjna-dla-kota/karma-dla-kota-na-problemy-ze-skora.html"
5112            class="dropdown-list-item"
5113        >Karma dla kota na problemy ze skórą</a>
5114    </li>
5115                                    
5116    <li class="level-2">
5117        <a
5118            href="https://fera.pl/kot/karma-weterynaryjna-dla-kota/karma-dla-kota-na-problemy-z-zebami.html"
5119            class="dropdown-list-item"
5120        >Karma dla kota na problemy z zębami</a>
5121    </li>
5122                                    
5123    <li class="level-2">
5124        <a
5125            href="https://fera.pl/kot/karma-weterynaryjna-dla-kota/karma-dla-kota-na-rekonwalescencje.html"
5126            class="dropdown-list-item"
5127        >Karma dla kota na rekonwalescencję</a>
5128    </li>
5129                                    
5130    <li class="level-2">
5131        <a
5132            href="https://fera.pl/kot/karma-weterynaryjna-dla-kota/karma-urinary-dla-kota.html"
5133            class="dropdown-list-item"
5134        >Karma urinary dla kota</a>
5135    </li>
5136                                    
5137    <li class="level-2">
5138        <a
5139            href="https://fera.pl/kot/karma-weterynaryjna-dla-kota/karma-renal-dla-kota.html"
5140            class="dropdown-list-item"
5141        >Karma renal dla kota</a>
5142    </li>
5143                                    
5144    <li class="level-2">
5145        <a
5146            href="https://fera.pl/kot/karma-weterynaryjna-dla-kota/karma-dla-kota-na-stawy.html"
5147            class="dropdown-list-item"
5148        >Karma dla kota na stawy</a>
5149    </li>
5150                                    
5151    <li class="level-2">
5152        <a
5153            href="https://fera.pl/kot/karma-weterynaryjna-dla-kota/karma-hepatic-dla-kota.html"
5154            class="dropdown-list-item"
5155        >Karma hepatic dla kota</a>
5156    </li>
5157                                    
5158    <li class="level-2">
5159        <a
5160            href="https://fera.pl/kot/karma-weterynaryjna-dla-kota/karma-dla-kotow-po-sterylizacji.html"
5161            class="dropdown-list-item"
5162        >Karma dla kotów po sterylizacji</a>
5163    </li>
5164                                    
5165    <li class="level-2">
5166        <a
5167            href="https://fera.pl/kot/karma-weterynaryjna-dla-kota/karma-dla-kota-na-stres.html"
5168            class="dropdown-list-item"
5169        >Karma dla kota na stres</a>
5170    </li>
5171                                    
5172    <li class="level-2">
5173        <a
5174            href="https://fera.pl/kot/karma-weterynaryjna-dla-kota/karma-gastro-dla-kota.html"
5175            class="dropdown-list-item"
5176        >Karma gastro dla kota</a>
5177    </li>
5178                            </ul>
5179        </template>
5180    </li>
5181                                                                            
5182    <li
5183        class="level-1"
5184        data-id="category-node-225"
5185        x-data="initSubMenuDesktopItem"
5186        @click.outside="close"
5187    >
5188        <button
5189            type="button"
5190            class="dropdown-list-item"
5191            x-ref="childmenuToggle"
5192            @click="toggle"
5193            aria-expanded="false"
5194            :aria-expanded="open"
5195            aria-controls="category-225-desktop-menu-panel"
5196        >
5197            Karma dla kota: Podział według firm            <svg xmlns="http://www.w3.org/2000/svg"
5198                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
5199                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
5200        </button>
5201        <template x-if="open">
5202            <ul
5203                id="category-225-desktop-menu-panel"
5204                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
5205                x-ref="childMenuWrapper"
5206                @keydown.escape.stop="closeEscape"
5207            >
5208                <li>
5209                    <a
5210                        href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm.html"
5211                        class="dropdown-list-item font-bold"
5212                    >Karma dla kota: Podział według firm - zobacz wszystko</a>
5213                </li>
5214                                    
5215    <li class="level-2">
5216        <a
5217            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-royal-canin.html"
5218            class="dropdown-list-item"
5219        >Karma dla kota Royal Canin</a>
5220    </li>
5221                                    
5222    <li class="level-2">
5223        <a
5224            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-versele-laga.html"
5225            class="dropdown-list-item"
5226        >Karma dla kota Versele-Laga</a>
5227    </li>
5228                                    
5229    <li class="level-2">
5230        <a
5231            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-whiskas.html"
5232            class="dropdown-list-item"
5233        >Karma dla kota Whiskas</a>
5234    </li>
5235                                    
5236    <li class="level-2">
5237        <a
5238            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-josera.html"
5239            class="dropdown-list-item"
5240        >Karma dla kota Josera</a>
5241    </li>
5242                                    
5243    <li class="level-2">
5244        <a
5245            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-brit.html"
5246            class="dropdown-list-item"
5247        >Karma dla kota Brit</a>
5248    </li>
5249                                    
5250    <li class="level-2">
5251        <a
5252            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-eukanuba.html"
5253            class="dropdown-list-item"
5254        >Karma dla kota Eukanuba</a>
5255    </li>
5256                                    
5257    <li class="level-2">
5258        <a
5259            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-fitmin.html"
5260            class="dropdown-list-item"
5261        >Karma dla kota Fitmin</a>
5262    </li>
5263                                    
5264    <li class="level-2">
5265        <a
5266            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-sanabelle.html"
5267            class="dropdown-list-item"
5268        >Karma dla kota Sanabelle</a>
5269    </li>
5270                                    
5271    <li class="level-2">
5272        <a
5273            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-iams.html"
5274            class="dropdown-list-item"
5275        >Karma dla kota Iams</a>
5276    </li>
5277                                    
5278    <li class="level-2">
5279        <a
5280            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-perfect-fit.html"
5281            class="dropdown-list-item"
5282        >Karma dla kota Perfect Fit</a>
5283    </li>
5284                                    
5285    <li class="level-2">
5286        <a
5287            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-carnilove.html"
5288            class="dropdown-list-item"
5289        >Karma dla kota Carnilove</a>
5290    </li>
5291                                    
5292    <li class="level-2">
5293        <a
5294            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-farmina.html"
5295            class="dropdown-list-item"
5296        >Karma dla kota Farmina</a>
5297    </li>
5298                                    
5299    <li class="level-2">
5300        <a
5301            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-hill-s.html"
5302            class="dropdown-list-item"
5303        >Karma dla kota Hill&#039;s</a>
5304    </li>
5305                                    
5306    <li class="level-2">
5307        <a
5308            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-kitekat.html"
5309            class="dropdown-list-item"
5310        >Karma dla kota Kitekat</a>
5311    </li>
5312                                    
5313    <li class="level-2">
5314        <a
5315            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-o-canis.html"
5316            class="dropdown-list-item"
5317        >Karma dla kota O&#039;Canis</a>
5318    </li>
5319                                    
5320    <li class="level-2">
5321        <a
5322            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-taste-of-the-wild.html"
5323            class="dropdown-list-item"
5324        >Karma dla kota Taste Of The Wild</a>
5325    </li>
5326                                    
5327    <li class="level-2">
5328        <a
5329            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-nero-gold.html"
5330            class="dropdown-list-item"
5331        >Karma dla kota Nero Gold</a>
5332    </li>
5333                                    
5334    <li class="level-2">
5335        <a
5336            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-sheba.html"
5337            class="dropdown-list-item"
5338        >Karma dla kota Sheba</a>
5339    </li>
5340                                    
5341    <li class="level-2">
5342        <a
5343            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-dolina-noteci.html"
5344            class="dropdown-list-item"
5345        >Karma dla kota Dolina Noteci</a>
5346    </li>
5347                                    
5348    <li class="level-2">
5349        <a
5350            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-schesir.html"
5351            class="dropdown-list-item"
5352        >Karma dla kota Schesir</a>
5353    </li>
5354                                    
5355    <li class="level-2">
5356        <a
5357            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-applaws.html"
5358            class="dropdown-list-item"
5359        >Karma dla kota Applaws</a>
5360    </li>
5361                                    
5362    <li class="level-2">
5363        <a
5364            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-animonda.html"
5365            class="dropdown-list-item"
5366        >Karma dla kota Animonda</a>
5367    </li>
5368                                    
5369    <li class="level-2">
5370        <a
5371            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-butcher-s.html"
5372            class="dropdown-list-item"
5373        >Karma dla kota Butcher&#039;s</a>
5374    </li>
5375                                    
5376    <li class="level-2">
5377        <a
5378            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-acana.html"
5379            class="dropdown-list-item"
5380        >Karma dla kota Acana</a>
5381    </li>
5382                                    
5383    <li class="level-2">
5384        <a
5385            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-monge.html"
5386            class="dropdown-list-item"
5387        >Karma dla kota Monge</a>
5388    </li>
5389                                    
5390    <li class="level-2">
5391        <a
5392            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-orijen.html"
5393            class="dropdown-list-item"
5394        >Karma dla kota Orijen</a>
5395    </li>
5396                                    
5397    <li class="level-2">
5398        <a
5399            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-leonardo.html"
5400            class="dropdown-list-item"
5401        >Karma dla kota Leonardo</a>
5402    </li>
5403                                    
5404    <li class="level-2">
5405        <a
5406            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-gussto.html"
5407            class="dropdown-list-item"
5408        >Karma dla kota Gussto</a>
5409    </li>
5410                                    
5411    <li class="level-2">
5412        <a
5413            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-super-benek.html"
5414            class="dropdown-list-item"
5415        >Karma dla kota Super Benek</a>
5416    </li>
5417                                    
5418    <li class="level-2">
5419        <a
5420            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-piper.html"
5421            class="dropdown-list-item"
5422        >Karma dla kota Piper</a>
5423    </li>
5424                                    
5425    <li class="level-2">
5426        <a
5427            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-rafi.html"
5428            class="dropdown-list-item"
5429        >Karma dla kota Rafi</a>
5430    </li>
5431                                    
5432    <li class="level-2">
5433        <a
5434            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-vet-expert.html"
5435            class="dropdown-list-item"
5436        >Karma dla kota Vet Expert</a>
5437    </li>
5438                                    
5439    <li class="level-2">
5440        <a
5441            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-ziwipeak.html"
5442            class="dropdown-list-item"
5443        >Karma dla kota ZiwiPeak</a>
5444    </li>
5445                                    
5446    <li class="level-2">
5447        <a
5448            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-kattovit.html"
5449            class="dropdown-list-item"
5450        >Karma dla kota Kattovit</a>
5451    </li>
5452                                    
5453    <li class="level-2">
5454        <a
5455            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-trovet.html"
5456            class="dropdown-list-item"
5457        >Karma dla kota Trovet</a>
5458    </li>
5459                                    
5460    <li class="level-2">
5461        <a
5462            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-miamor.html"
5463            class="dropdown-list-item"
5464        >Karma dla kota MIAMOR</a>
5465    </li>
5466                                    
5467    <li class="level-2">
5468        <a
5469            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-paka-zwierzaka.html"
5470            class="dropdown-list-item"
5471        >Karma dla kota Paka Zwierzaka</a>
5472    </li>
5473                                    
5474    <li class="level-2">
5475        <a
5476            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-arion.html"
5477            class="dropdown-list-item"
5478        >Karma dla kota Arion</a>
5479    </li>
5480                                    
5481    <li class="level-2">
5482        <a
5483            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-inaba.html"
5484            class="dropdown-list-item"
5485        >Karma dla kota Inaba</a>
5486    </li>
5487                                    
5488    <li class="level-2">
5489        <a
5490            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-comfy-appetit.html"
5491            class="dropdown-list-item"
5492        >
5492Karma dla kota Comfy Appetit</a>
5493    </li>
5494                                    
5495    <li class="level-2">
5496        <a
5497            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-james-wellbeloved.html"
5498            class="dropdown-list-item"
5499        >Karma dla kota James Wellbeloved</a>
5500    </li>
5501                            </ul>
5502        </template>
5503    </li>
5504                                                                            
5505    <li
5506        class="level-1"
5507        data-id="category-node-268"
5508        x-data="initSubMenuDesktopItem"
5509        @click.outside="close"
5510    >
5511        <button
5512            type="button"
5513            class="dropdown-list-item"
5514            x-ref="childmenuToggle"
5515            @click="toggle"
5516            aria-expanded="false"
5517            :aria-expanded="open"
5518            aria-controls="category-268-desktop-menu-panel"
5519        >
5520            Przysmaki dla kota            <svg xmlns="http://www.w3.org/2000/svg"
5521                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
5522                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
5523        </button>
5524        <template x-if="open">
5525            <ul
5526                id="category-268-desktop-menu-panel"
5527                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
5528                x-ref="childMenuWrapper"
5529                @keydown.escape.stop="closeEscape"
5530            >
5531                <li>
5532                    <a
5533                        href="https://fera.pl/kot/przysmaki-dla-kota.html"
5534                        class="dropdown-list-item font-bold"
5535                    >Przysmaki dla kota - zobacz wszystko</a>
5536                </li>
5537                                    
5538    <li class="level-2">
5539        <a
5540            href="https://fera.pl/kot/przysmaki-dla-kota/kremy-zupy-i-pasty-dla-kota.html"
5541            class="dropdown-list-item"
5542        >Kremy, zupy i pasty dla kota</a>
5543    </li>
5544                                    
5545    <li class="level-2">
5546        <a
5547            href="https://fera.pl/kot/przysmaki-dla-kota/ciasteczka-dla-kota.html"
5548            class="dropdown-list-item"
5549        >Ciasteczka dla kota</a>
5550    </li>
5551                                    
5552    <li class="level-2">
5553        <a
5554            href="https://fera.pl/kot/przysmaki-dla-kota/naturalne-przysmaki-dla-kota.html"
5555            class="dropdown-list-item"
5556        >Naturalne przysmaki dla kota</a>
5557    </li>
5558                                    
5559    <li class="level-2">
5560        <a
5561            href="https://fera.pl/kot/przysmaki-dla-kota/przysmaki-liofilizowane-dla-kota.html"
5562            class="dropdown-list-item"
5563        >Przysmaki liofilizowane dla kota</a>
5564    </li>
5565                                    
5566    <li class="level-2">
5567        <a
5568            href="https://fera.pl/kot/przysmaki-dla-kota/funkcjonalne-przysmaki-dla-kota.html"
5569            class="dropdown-list-item"
5570        >Funkcjonalne przysmaki dla kota</a>
5571    </li>
5572                            </ul>
5573        </template>
5574    </li>
5575                                                                            
5576    <li
5577        class="level-1"
5578        data-id="category-node-278"
5579        x-data="initSubMenuDesktopItem"
5580        @click.outside="close"
5581    >
5582        <button
5583            type="button"
5584            class="dropdown-list-item"
5585            x-ref="childmenuToggle"
5586            @click="toggle"
5587            aria-expanded="false"
5588            :aria-expanded="open"
5589            aria-controls="category-278-desktop-menu-panel"
5590        >
5591            Zdrowie kota            <svg xmlns="http://www.w3.org/2000/svg"
5592                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
5593                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
5594        </button>
5595        <template x-if="open">
5596            <ul
5597                id="category-278-desktop-menu-panel"
5598                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
5599                x-ref="childMenuWrapper"
5600                @keydown.escape.stop="closeEscape"
5601            >
5602                <li>
5603                    <a
5604                        href="https://fera.pl/kot/zdrowie-kota.html"
5605                        class="dropdown-list-item font-bold"
5606                    >Zdrowie kota - zobacz wszystko</a>
5607                </li>
5608                                    
5609    <li class="level-2">
5610        <a
5611            href="https://fera.pl/kot/zdrowie-kota/czyszczenie-zebow-kota.html"
5612            class="dropdown-list-item"
5613        >Czyszczenie zębów kota</a>
5614    </li>
5615                                    
5616    <li class="level-2">
5617        <a
5618            href="https://fera.pl/kot/zdrowie-kota/probiotyki-dla-kota.html"
5619            class="dropdown-list-item"
5620        >Probiotyki dla kota</a>
5621    </li>
5622                                    
5623    <li class="level-2">
5624        <a
5625            href="https://fera.pl/kot/zdrowie-kota/preparaty-do-czyszczenia-uszu-i-oczu-kota.html"
5626            class="dropdown-list-item"
5627        >Preparaty do czyszczenia uszu i oczu kota</a>
5628    </li>
5629                                    
5630    <li class="level-2">
5631        <a
5632            href="https://fera.pl/kot/zdrowie-kota/preparaty-na-stawy-i-kosci-kota.html"
5633            class="dropdown-list-item"
5634        >Preparaty na stawy i kości kota</a>
5635    </li>
5636                                    
5637    <li class="level-2">
5638        <a
5639            href="https://fera.pl/kot/zdrowie-kota/preparaty-na-siersc-i-skore-kota.html"
5640            class="dropdown-list-item"
5641        >Preparaty na sierść i skórę kota</a>
5642    </li>
5643                                    
5644    <li class="level-2">
5645        <a
5646            href="https://fera.pl/kot/zdrowie-kota/witaminy-i-suplementy-dla-kota.html"
5647            class="dropdown-list-item"
5648        >Witaminy i suplementy dla kota</a>
5649    </li>
5650                                    
5651    <li class="level-2">
5652        <a
5653            href="https://fera.pl/kot/zdrowie-kota/srodki-uspokajajace-dla-kota.html"
5654            class="dropdown-list-item"
5655        >Środki uspokajające dla kota</a>
5656    </li>
5657                                    
5658    <li class="level-2">
5659        <a
5660            href="https://fera.pl/kot/zdrowie-kota/pasta-odklaczajaca-dla-kota.html"
5661            class="dropdown-list-item"
5662        >Pasta odkłaczająca dla kota</a>
5663    </li>
5664                                    
5665    <li class="level-2">
5666        <a
5667            href="https://fera.pl/kot/zdrowie-kota/odrobaczanie-kota.html"
5668            class="dropdown-list-item"
5669        >Odrobaczanie kota</a>
5670    </li>
5671                                    
5672    <li class="level-2">
5673        <a
5674            href="https://fera.pl/kot/zdrowie-kota/akcesoria-weterynaryjne-i-diagnostyka-kota.html"
5675            class="dropdown-list-item"
5676        >Akcesoria weterynaryjne i diagnostyka kota</a>
5677    </li>
5678                            </ul>
5679        </template>
5680    </li>
5681                                                                            
5682    <li
5683        class="level-1"
5684        data-id="category-node-299"
5685        x-data="initSubMenuDesktopItem"
5686        @click.outside="close"
5687    >
5688        <button
5689            type="button"
5690            class="dropdown-list-item"
5691            x-ref="childmenuToggle"
5692            @click="toggle"
5693            aria-expanded="false"
5694            :aria-expanded="open"
5695            aria-controls="category-299-desktop-menu-panel"
5696        >
5697            Żwirki i kuwety            <svg xmlns="http://www.w3.org/2000/svg"
5698                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
5699                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
5700        </button>
5701        <template x-if="open">
5702            <ul
5703                id="category-299-desktop-menu-panel"
5704                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
5705                x-ref="childMenuWrapper"
5706                @keydown.escape.stop="closeEscape"
5707            >
5708                <li>
5709                    <a
5710                        href="https://fera.pl/kot/zwirki-i-kuwety.html"
5711                        class="dropdown-list-item font-bold"
5712                    >Żwirki i kuwety - zobacz wszystko</a>
5713                </li>
5714                                    
5715    <li class="level-2">
5716        <a
5717            href="https://fera.pl/kot/zwirki-i-kuwety/zwirek-dla-kota.html"
5718            class="dropdown-list-item"
5719        >Żwirek dla kota</a>
5720    </li>
5721                                    
5722    <li class="level-2">
5723        <a
5724            href="https://fera.pl/kot/zwirki-i-kuwety/kuwety-dla-kota.html"
5725            class="dropdown-list-item"
5726        >Kuwety dla kota</a>
5727    </li>
5728                                    
5729    <li class="level-2">
5730        <a
5731            href="https://fera.pl/kot/zwirki-i-kuwety/lopatki-i-akcesoria-do-kuwety.html"
5732            class="dropdown-list-item"
5733        >Łopatki i akcesoria do kuwety</a>
5734    </li>
5735                                    
5736    <li class="level-2">
5737        <a
5738            href="https://fera.pl/kot/zwirki-i-kuwety/usuwanie-odchodow-kota.html"
5739            class="dropdown-list-item"
5740        >Usuwanie odchodów kota</a>
5741    </li>
5742                            </ul>
5743        </template>
5744    </li>
5745                                                                            
5746    <li
5747        class="level-1"
5748        data-id="category-node-288"
5749        x-data="initSubMenuDesktopItem"
5750        @click.outside="close"
5751    >
5752        <button
5753            type="button"
5754            class="dropdown-list-item"
5755            x-ref="childmenuToggle"
5756            @click="toggle"
5757            aria-expanded="false"
5758            :aria-expanded="open"
5759            aria-controls="category-288-desktop-menu-panel"
5760        >
5761            Pchły i kleszcze            <svg xmlns="http://www.w3.org/2000/svg"
5762                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
5763                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
5764        </button>
5765        <template x-if="open">
5766            <ul
5767                id="category-288-desktop-menu-panel"
5768                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
5769                x-ref="childMenuWrapper"
5770                @keydown.escape.stop="closeEscape"
5771            >
5772                <li>
5773                    <a
5774                        href="https://fera.pl/kot/pchly-i-kleszcze.html"
5775                        class="dropdown-list-item font-bold"
5776                    >Pchły i kleszcze - zobacz wszystko</a>
5777                </li>
5778                                    
5779    <li class="level-2">
5780        <a
5781            href="https://fera.pl/kot/pchly-i-kleszcze/preparaty-na-pchly-i-kleszcze-u-kota.html"
5782            class="dropdown-list-item"
5783        >Preparaty na pchły i kleszcze u kota</a>
5784    </li>
5785                                    
5786    <li class="level-2">
5787        <a
5788            href="https://fera.pl/kot/pchly-i-kleszcze/obroze-przeciw-kleszczom-dla-kota.html"
5789            class="dropdown-list-item"
5790        >Obroże przeciw kleszczom dla kota</a>
5791    </li>
5792                                    
5793    <li class="level-2">
5794        <a
5795            href="https://fera.pl/kot/pchly-i-kleszcze/pesety-na-kleszcze-dla-kota.html"
5796            class="dropdown-list-item"
5797        >Pęsety na kleszcze dla kota</a>
5798    </li>
5799                                    
5800    <li class="level-2">
5801        <a
5802            href="https://fera.pl/kot/pchly-i-kleszcze/grzebienie-na-pchly-dla-kota.html"
5803            class="dropdown-list-item"
5804        >Grzebienie na pchły dla kota</a>
5805    </li>
5806                            </ul>
5807        </template>
5808    </li>
5809                                                                            
5810    <li
5811        class="level-1"
5812        data-id="category-node-272"
5813        x-data="initSubMenuDesktopItem"
5814        @click.outside="close"
5815    >
5816        <button
5817            type="button"
5818            class="dropdown-list-item"
5819            x-ref="childmenuToggle"
5820            @click="toggle"
5821            aria-expanded="false"
5822            :aria-expanded="open"
5823            aria-controls="category-272-desktop-menu-panel"
5824        >
5825            Akcesoria do karmienia dla kota            <svg xmlns="http://www.w3.org/2000/svg"
5826                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
5827                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
5828        </button>
5829        <template x-if="open">
5830            <ul
5831                id="category-272-desktop-menu-panel"
5832                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
5833                x-ref="childMenuWrapper"
5834                @keydown.escape.stop="closeEscape"
5835            >
5836                <li>
5837                    <a
5838                        href="https://fera.pl/kot/akcesoria-do-karmienia-dla-kota.html"
5839                        class="dropdown-list-item font-bold"
5840                    >Akcesoria do karmienia dla kota - zobacz wszystko</a>
5841                </li>
5842                                    
5843    <li class="level-2">
5844        <a
5845            href="https://fera.pl/kot/akcesoria-do-karmienia-dla-kota/podajniki-karmy-dla-kota.html"
5846            class="dropdown-list-item"
5847        >Podajniki karmy dla kota</a>
5848    </li>
5849                                    
5850    <li class="level-2">
5851        <a
5852            href="https://fera.pl/kot/akcesoria-do-karmienia-dla-kota/miski-dla-kota.html"
5853            class="dropdown-list-item"
5854        >Miski dla kota</a>
5855    </li>
5856                                    
5857    <li class="level-2">
5858        <a
5859            href="https://fera.pl/kot/akcesoria-do-karmienia-dla-kota/pojemniki-na-karme-kota.html"
5860            class="dropdown-list-item"
5861        >Pojemniki na karmę kota</a>
5862    </li>
5863                                    
5864    <li class="level-2">
5865        <a
5866            href="https://fera.pl/kot/akcesoria-do-karmienia-dla-kota/butelki-dla-kota.html"
5867            class="dropdown-list-item"
5868        >Butelki dla kota</a>
5869    </li>
5870                                    
5871    <li class="level-2">
5872        <a
5873            href="https://fera.pl/kot/akcesoria-do-karmienia-dla-kota/podkladki-pod-miske-dla-kota.html"
5874            class="dropdown-list-item"
5875        >Podkładki pod miskę dla kota</a>
5876    </li>
5877                            </ul>
5878        </template>
5879    </li>
5880                                                                            
5881    <li
5882        class="level-1"
5883        data-id="category-node-304"
5884        x-data="initSubMenuDesktopItem"
5885        @click.outside="close"
5886    >
5887        <button
5888            type="button"
5889            class="dropdown-list-item"
5890            x-ref="childmenuToggle"
5891            @click="toggle"
5892            aria-expanded="false"
5893            :aria-expanded="open"
5894            aria-controls="category-304-desktop-menu-panel"
5895        >
5896            Grooming i pielęgnacja kota            <svg xmlns="http://www.w3.org/2000/svg"
5897                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
5898                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
5899        </button>
5900        <template x-if="open">
5901            <ul
5902                id="category-304-desktop-menu-panel"
5903                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
5904                x-ref="childMenuWrapper"
5905                @keydown.escape.stop="closeEscape"
5906            >
5907                <li>
5908                    <a
5909                        href="https://fera.pl/kot/grooming-i-pielegnacja-kota.html"
5910                        class="dropdown-list-item font-bold"
5911                    >Grooming i pielęgnacja kota - zobacz wszystko</a>
5912             
5912   </li>
5913                                    
5914    <li class="level-2">
5915        <a
5916            href="https://fera.pl/kot/grooming-i-pielegnacja-kota/rolki-i-szczotki-na-siersc-kota.html"
5917            class="dropdown-list-item"
5918        >Rolki i szczotki na sierść kota</a>
5919    </li>
5920                                    
5921    <li class="level-2">
5922        <a
5923            href="https://fera.pl/kot/grooming-i-pielegnacja-kota/preparaty-odstraszajace-koty.html"
5924            class="dropdown-list-item"
5925        >Preparaty odstraszające koty</a>
5926    </li>
5927                                    
5928    <li class="level-2">
5929        <a
5930            href="https://fera.pl/kot/grooming-i-pielegnacja-kota/usuwanie-zapachu-moczu-kota.html"
5931            class="dropdown-list-item"
5932        >Usuwanie zapachu moczu kota</a>
5933    </li>
5934                                    
5935    <li class="level-2">
5936        <a
5937            href="https://fera.pl/kot/grooming-i-pielegnacja-kota/szczotki-grzebienie-i-nozyczki-dla-kota.html"
5938            class="dropdown-list-item"
5939        >Szczotki, grzebienie i nożyczki dla kota</a>
5940    </li>
5941                                    
5942    <li class="level-2">
5943        <a
5944            href="https://fera.pl/kot/grooming-i-pielegnacja-kota/kosmetyki-i-szampony-dla-kota.html"
5945            class="dropdown-list-item"
5946        >Kosmetyki i szampony dla kota</a>
5947    </li>
5948                                    
5949    <li class="level-2">
5950        <a
5951            href="https://fera.pl/kot/grooming-i-pielegnacja-kota/obcinaczki-do-pazurow-dla-kota.html"
5952            class="dropdown-list-item"
5953        >Obcinaczki do pazurów dla kota</a>
5954    </li>
5955                                    
5956    <li class="level-2">
5957        <a
5958            href="https://fera.pl/kot/grooming-i-pielegnacja-kota/akcesoria-do-kapieli-kota.html"
5959            class="dropdown-list-item"
5960        >Akcesoria do kąpieli kota</a>
5961    </li>
5962                            </ul>
5963        </template>
5964    </li>
5965                                                                            
5966    <li
5967        class="level-1"
5968        data-id="category-node-318"
5969        x-data="initSubMenuDesktopItem"
5970        @click.outside="close"
5971    >
5972        <button
5973            type="button"
5974            class="dropdown-list-item"
5975            x-ref="childmenuToggle"
5976            @click="toggle"
5977            aria-expanded="false"
5978            :aria-expanded="open"
5979            aria-controls="category-318-desktop-menu-panel"
5980        >
5981            Zabawki, drapaki i legowiska            <svg xmlns="http://www.w3.org/2000/svg"
5982                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
5983                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
5984        </button>
5985        <template x-if="open">
5986            <ul
5987                id="category-318-desktop-menu-panel"
5988                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
5989                x-ref="childMenuWrapper"
5990                @keydown.escape.stop="closeEscape"
5991            >
5992                <li>
5993                    <a
5994                        href="https://fera.pl/kot/zabawki-drapaki-i-legowiska.html"
5995                        class="dropdown-list-item font-bold"
5996                    >Zabawki, drapaki i legowiska - zobacz wszystko</a>
5997                </li>
5998                                    
5999    <li class="level-2">
6000        <a
6001            href="https://fera.pl/kot/zabawki-drapaki-i-legowiska/koc-dla-kota.html"
6002            class="dropdown-list-item"
6003        >Koc dla kota</a>
6004    </li>
6005                                    
6006    <li class="level-2">
6007        <a
6008            href="https://fera.pl/kot/zabawki-drapaki-i-legowiska/legowisko-dla-kota.html"
6009            class="dropdown-list-item"
6010        >Legowisko dla kota</a>
6011    </li>
6012                                    
6013    <li class="level-2">
6014        <a
6015            href="https://fera.pl/kot/zabawki-drapaki-i-legowiska/pluszaki-maskotki-dla-kota.html"
6016            class="dropdown-list-item"
6017        >Pluszaki, maskotki dla kota</a>
6018    </li>
6019                                    
6020    <li class="level-2">
6021        <a
6022            href="https://fera.pl/kot/zabawki-drapaki-i-legowiska/pilki-dla-kota.html"
6023            class="dropdown-list-item"
6024        >Piłki dla kota</a>
6025    </li>
6026                                    
6027    <li class="level-2">
6028        <a
6029            href="https://fera.pl/kot/zabawki-drapaki-i-legowiska/zabawki-interaktywne-dla-kota.html"
6030            class="dropdown-list-item"
6031        >Zabawki interaktywne dla kota</a>
6032    </li>
6033                                    
6034    <li class="level-2">
6035        <a
6036            href="https://fera.pl/kot/zabawki-drapaki-i-legowiska/wedki-dla-kota.html"
6037            class="dropdown-list-item"
6038        >Wędki dla kota</a>
6039    </li>
6040                                    
6041    <li class="level-2">
6042        <a
6043            href="https://fera.pl/kot/zabawki-drapaki-i-legowiska/drapaki-dla-kota.html"
6044            class="dropdown-list-item"
6045        >Drapaki dla kota</a>
6046    </li>
6047                                    
6048    <li class="level-2">
6049        <a
6050            href="https://fera.pl/kot/zabawki-drapaki-i-legowiska/tunele-dla-kota.html"
6051            class="dropdown-list-item"
6052        >Tunele dla kota</a>
6053    </li>
6054                            </ul>
6055        </template>
6056    </li>
6057                                                                            
6058    <li
6059        class="level-1"
6060        data-id="category-node-325"
6061        x-data="initSubMenuDesktopItem"
6062        @click.outside="close"
6063    >
6064        <button
6065            type="button"
6066            class="dropdown-list-item"
6067            x-ref="childmenuToggle"
6068            @click="toggle"
6069            aria-expanded="false"
6070            :aria-expanded="open"
6071            aria-controls="category-325-desktop-menu-panel"
6072        >
6073            Spacer i podróż            <svg xmlns="http://www.w3.org/2000/svg"
6074                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
6075                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
6076        </button>
6077        <template x-if="open">
6078            <ul
6079                id="category-325-desktop-menu-panel"
6080                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
6081                x-ref="childMenuWrapper"
6082                @keydown.escape.stop="closeEscape"
6083            >
6084                <li>
6085                    <a
6086                        href="https://fera.pl/kot/spacer-i-podroz.html"
6087                        class="dropdown-list-item font-bold"
6088                    >Spacer i podróż - zobacz wszystko</a>
6089                </li>
6090                                    
6091    <li class="level-2">
6092        <a
6093            href="https://fera.pl/kot/spacer-i-podroz/transporter-dla-kota.html"
6094            class="dropdown-list-item"
6095        >Transporter dla kota</a>
6096    </li>
6097                                    
6098    <li class="level-2">
6099        <a
6100            href="https://fera.pl/kot/spacer-i-podroz/obroze-dla-kota.html"
6101            class="dropdown-list-item"
6102        >Obroże dla kota</a>
6103    </li>
6104                                    
6105    <li class="level-2">
6106        <a
6107            href="https://fera.pl/kot/spacer-i-podroz/szelki-dla-kota.html"
6108            class="dropdown-list-item"
6109        >Szelki dla kota</a>
6110    </li>
6111                                    
6112    <li class="level-2">
6113        <a
6114            href="https://fera.pl/kot/spacer-i-podroz/smycze-dla-kota.html"
6115            class="dropdown-list-item"
6116        >Smycze dla kota</a>
6117    </li>
6118                                    
6119    <li class="level-2">
6120        <a
6121            href="https://fera.pl/kot/spacer-i-podroz/siatki-na-balkon-i-drzwiczki-dla-kota.html"
6122            class="dropdown-list-item"
6123        >Siatki na balkon i drzwiczki dla kota</a>
6124    </li>
6125                            </ul>
6126        </template>
6127    </li>
6128                                                                    </ul>
6129                            </div>
6130                            <template x-if="$store.banners.activeBanners.length">
6131                                <div class="flex flex-col gap-2 p-4 border-l border-slate-100 overflow-auto">
6132                                    <template x-for="(banner, index) in $store.banners.activeBanners" :key="index">
6133                                        <a class="block border border-slate-100 rounded-2xl overflow-hidden" :href="banner.url">
6134                                            <img :src="banner.image" :alt="banner.title ?? ''" loading="lazy" class="w-full h-auto" />
6135                                        </a>
6136                                    </template>
6137                                </div>
6138                            </template>
6139                        </div>
6140                    </template>
6141                </li>
6142                                                            <li
6143                    class="level-0 flex gap-y-1 flex-shrink-0 whitespace-nowrap"
6144                    data-id="category-331"
6145                    @click.outside="close(false)"
6146                    @keydown.escape="close"
6147                    @mouseenter="canHoverOpen"
6148                    @mouseleave="canHoverClose"
6149                >
6150                    <a
6151                        href="https://fera.pl/ptaki.html"
6152                        class="btn btn-nav"
6153                                            >
6154                        Ptaki                    </a>
6155                    <button
6156                        data-id="category-331"
6157                        type="button"
6158                        class="group btn btn-flat btn-icon-size-s sr-only focus:not-sr-only"
6159                        @click="toggle"
6160                        aria-expanded="false"
6161                        :aria-expanded="openDropdownId === 'category-331'"
6162                        aria-controls="desktop-menu-category-331"
6163                        x-ref="btn_category-331"
6164                    >
6165                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="transition group-aria-expanded:rotate-180 text-slate-400 group-aria-expanded:text-inherit" width="24" height="24" aria-hidden="true">
6166  <path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd"/>
6167</svg>
6168                    </button>
6169                    <template x-if="openDropdownId === 'category-331'">
6170                        <div
6171                            id="desktop-menu-category-331"
6172                            class="menu-dropdown grid absolute top-full inset-x-0 mt-4 border-t-2 border-primary rounded-3xl bg-white shadow-xl max-h-[70vh] overflow-y-auto"
6173                            :class="{ 'grid-cols-3': $store.banners.activeBanners.length }"
6174                            x-ref="childmenu_category-331"
6175                            x-transition
6176                        >
6177                            <div
6178                                class="flex overflow-x-auto"
6179                                :class="{ 'col-span-2': $store.banners.activeBanners.length }"
6180                            >
6181                                <ul class="relative flex flex-col gap-1 py-2.5 px-2 min-w-72">
6182                                                                            
6183    <li
6184        class="level-1"
6185        data-id="category-node-332"
6186        x-data="initSubMenuDesktopItem"
6187        @click.outside="close"
6188    >
6189        <button
6190            type="button"
6191            class="dropdown-list-item"
6192            x-ref="childmenuToggle"
6193            @click="toggle"
6194            aria-expanded="false"
6195            :aria-expanded="open"
6196            aria-controls="category-332-desktop-menu-panel"
6197        >
6198            Karma i przysmaki dla ptaków            <svg xmlns="http://www.w3.org/2000/svg"
6199                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
6200                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
6201        </button>
6202        <template x-if="open">
6203            <ul
6204                id="category-332-desktop-menu-panel"
6205                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
6206                x-ref="childMenuWrapper"
6207                @keydown.escape.stop="closeEscape"
6208            >
6209                <li>
6210                    <a
6211                        href="https://fera.pl/ptaki/karma-i-przysmaki-dla-ptakow.html"
6212                        class="dropdown-list-item font-bold"
6213                    >Karma i przysmaki dla ptaków - zobacz wszystko</a>
6214                </li>
6215                                    
6216    <li class="level-2">
6217        <a
6218            href="https://fera.pl/ptaki/karma-i-przysmaki-dla-ptakow/karma-dla-malych-ptakow.html"
6219            class="dropdown-list-item"
6220        >Karma dla małych ptaków</a>
6221    </li>
6222                                    
6223    <li class="level-2">
6224        <a
6225            href="https://fera.pl/ptaki/karma-i-przysmaki-dla-ptakow/karma-dla-srednich-duzych-ptakow.html"
6226            class="dropdown-list-item"
6227        >Karma dla średnich, dużych ptaków</a>
6228    </li>
6229                                    
6230    <li class="level-2">
6231        <a
6232            href="https://fera.pl/ptaki/karma-i-przysmaki-dla-ptakow/karma-dla-kanarkow.html"
6233            class="dropdown-list-item"
6234        >Karma dla kanarków</a>
6235    </li>
6236                                    
6237    <li class="level-2">
6238        <a
6239            href="https://fera.pl/ptaki/karma-i-przysmaki-dla-ptakow/karma-dla-ptakow-egzotycznych.html"
6240            class="dropdown-list-item"
6241        >Karma dla ptaków egzotycznych</a>
6242    </li>
6243                            </ul>
6244        </template>
6245    </li>
6246                                                                            
6247    <li
6248        class="level-1"
6249        data-id="category-node-337"
6250        x-data="initSubMenuDesktopItem"
6251        @click.outside="close"
6252    >
6253        <button
6254            type="button"
6255            class="dropdown-list-item"
6256            x-ref="childmenuToggle"
6257            @click="toggle"
6258            aria-expanded="false"
6259            :aria-expanded="open"
6260            aria-controls="category-337-desktop-menu-panel"
6261        >
6262            Akcesoria do karmienia ptaków            <svg xmlns="http://www.w3.org/2000/svg"
6263                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
6264                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
6265        </button>
6266        <template x-if="open">
6267            <ul
6268                id="category-337-desktop-menu-panel"
6269                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
6270                x-ref="childMenuWrapper"
6271                @keydown.escape.stop="closeEscape"
6272            >
6273                <li>
6274                    <a
6275                        href="https://fera.pl/ptaki/akcesoria-do-karmienia-ptakow.html"
6276                        class="dropdown-list-item font-bold"
6277                    >Akcesoria do karmienia ptaków - zobacz wszystko</a>
6278                </li>
6279                                    
6280    <li class="level-2">
6281        <a
6282            href="https://fera.pl/ptaki/akcesoria-do-karmienia-ptakow/wodopoje-dla-ptakow.html"
6283            class="dropdown-list-item"
6284        >Wodopoje dla ptaków</a>
6285    </li>
6286                                    
6287    <li class="level-2">
6288        <a
6289            href="https://fera.pl/ptaki/akcesoria-do-karmienia-ptakow/karmidla-dla-ptakow.html"
6290            class="dropdown-list-item"
6291        >Karmidła dla ptaków</a>
6292    </li>
6293                                    
6294    <li class="level-2">
6295        <a
6296            href="https://fera.pl/ptaki/akcesoria-do-karmienia-ptakow/miski-dla-ptakow.html"
6297            class="dropdown-list-item"
6298        >Miski dla ptaków</a>
6299    </li>
6300                            </ul>
6301        </template>
6302    </li>
6303                                                                            
6304    <li
6305        class="level-1"
6306        data-id="category-node-341"
6307        x-data="initSubMenuDesktopItem"
6308        @click.outside="close"
6309    >
6310        <button
6311            type="button"
6312            class="dropdown-list-item"
6313            x-ref="childmenuToggle"
6314            @click="toggle"
6315            aria-expanded="false"
6316            :aria-expanded="open"
6317            aria-controls="category-341-desktop-menu-panel"
6318        >
6319            Zdrowie i uroda ptaków            <svg xmlns="http://www.w3.org/2000/svg"
6320                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
6321                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
6322        </button>
6323        <template x-if="open">
6324            <ul
6325                id="category-341-desktop-menu-panel"
6326                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
6327                x-ref="childMenuWrapper"
6328                @keydown.escape.stop="closeEscape"
6329            >
6330                <li>
6331                    <a
6332                        href="https://fera.pl/ptaki/zdrowie-i-uroda-ptakow.html"
6333                        class="dropdown-list-item font-bold"
6334                    >Zdrowie i uroda ptaków - zobacz wszystko</a>
6335                </li>
6336                                    
6337    <li class="level-2">
6338        <a
6339            href="https://fera.pl/ptaki/zdrowie-i-uroda-ptakow/witaminy-dla-ptakow.html"
6340            class="dropdown-list-item"
6341        >Witaminy dla ptaków</a>
6342    </li>
6343                                    
6344    <li class="level-2">
6345        <a
6346            href="https://fera.pl/ptaki/zdrowie-i-uroda-ptakow/ochrona-przed-pasozytami-u-ptakow.html"
6347            class="dropdown-list-item"
6348        >Ochrona przed pasożytami u ptaków</a>
6349    </li>
6350                                    
6351    <li class="level-2">
6352        <a
6353            href="https://fera.pl/ptaki/zdrowie-i-uroda-ptakow/pielegnacja-skory-i-pior.html"
6354            class="dropdown-list-item"
6355        >Pielęgnacja skóry i piór</a>
6356    </li>
6357                                    
6358    <li class="level-2">
6359        <a
6360            href="https://fera.pl/ptaki/zdrowie-i-uroda-ptakow/pielegnacja-dzioba-i-pazurow-u-ptakow.html"
6361            class="dropdown-list-item"
6362        >Pielęgnacja dzioba i pazurów u ptaków</a>
6363    </li>
6364                            </ul>
6365        </template>
6366    </li>
6367                                                                            
6368    <li
6369        class="level-1"
6370        data-id="category-node-346"
6371        x-data="initSubMenuDesktopItem"
6372        @click.outside="close"
6373    >
6374        <button
6375            type="button"
6376            class="dropdown-list-item"
6377            x-ref="childmenuToggle"
6378            @click="toggle"
6379            aria-expanded="false"
6380            :aria-expanded="open"
6381            aria-controls="category-346-desktop-menu-panel"
6382        >
6383            Piaski i podłoża            <svg xmlns="http://www.w3.org/2000/svg"
6384                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
6385                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
6386        </button>
6387        <template x-if="open">
6388            <ul
6389                id="category-346-desktop-menu-panel"
6390                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
6391                x-ref="childMenuWrapper"
6392                @keydown.escape.stop="closeEscape"
6393            >
6394                <li>
6395                    <a
6396                        href="https://fera.pl/ptaki/piaski-i-podloza.html"
6397                        class="dropdown-list-item font-bold"
6398                    >Piaski i podłoża - zobacz wszystko</a>
6399                </li>
6400                                    
6401    <li class="level-2">
6402        <a
6403            href="https://fera.pl/ptaki/piaski-i-podloza/podloza-i-piaski-dla-ptakow.html"
6404            class="dropdown-list-item"
6405        >Podłoża i piaski dla ptaków</a>
6406    </li>
6407                                    
6408    <li class="level-2">
6409        <a
6410            href="https://fera.pl/ptaki/piaski-i-podloza/piaski-dla-ptakow.html"
6411            class="dropdown-list-item"
6412        >Piaski dla ptaków</a>
6413    </li>
6414                            </ul>
6415        </template>
6416    </li>
6417                                                                            
6418    <li
6419        class="level-1"
6420        data-id="category-node-349"
6421        x-data="initSubMenuDesktopItem"
6422        @click.outside="close"
6423    >
6424        <button
6425            type="button"
6426            class="dropdown-list-item"
6427            x-ref="childmenuToggle"
6428            @click="toggle"
6429            aria-expanded="false"
6430            :aria-expanded="open"
6431            aria-controls="category-349-desktop-menu-panel"
6432        >
6433            Klatki i akcesoria dla ptaków            <svg xmlns="http://www.w3.org/2000/svg"
6434                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
6435                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
6436        </button>
6437        <template x-if="open">
6438            <ul
6439                id="category-349-desktop-menu-panel"
6440                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
6441                x-ref="childMenuWrapper"
6442                @keydown.escape.stop="closeEscape"
6443            >
6444                <li>
6445                    <a
6446                        href="https://fera.pl/ptaki/klatki-i-akcesoria-dla-ptakow.html"
6447                        class="dropdown-list-item font-bold"
6448                    >Klatki i akcesoria dla ptaków - zobacz wszystko</a>
6449                </li>
6450                                    
6451    <li class="level-2">
6452        <a
6453            href="https://fera.pl/ptaki/klatki-i-akcesoria-dla-ptakow/klatki-dla-ptakow.html"
6454            class="dropdown-list-item"
6455        >Klatki dla ptaków</a>
6456    </li>
6457                                    
6458    <li class="level-2">
6459        <a
6460            href="https://fera.pl/ptaki/klatki-i-akcesoria-dla-ptakow/materialy-na-gniazdo.html"
6461            class="dropdown-list-item"
6462        >Materiały na gniazdo</a>
6463    </li>
6464                                    
6465    <li class="level-2">
6466        <a
6467            href="https://fera.pl/ptaki/klatki-i-akcesoria-dla-ptakow/domki-i-gniazda-dla-ptakow.html"
6468            class="dropdown-list-item"
6469        >
6469Domki i gniazda dla ptaków</a>
6470    </li>
6471                                    
6472    <li class="level-2">
6473        <a
6474            href="https://fera.pl/ptaki/klatki-i-akcesoria-dla-ptakow/hustawki-dla-ptakow.html"
6475            class="dropdown-list-item"
6476        >Huśtawki dla ptaków</a>
6477    </li>
6478                                    
6479    <li class="level-2">
6480        <a
6481            href="https://fera.pl/ptaki/klatki-i-akcesoria-dla-ptakow/lusterka-dla-ptakow.html"
6482            class="dropdown-list-item"
6483        >Lusterka dla ptaków</a>
6484    </li>
6485                                    
6486    <li class="level-2">
6487        <a
6488            href="https://fera.pl/ptaki/klatki-i-akcesoria-dla-ptakow/drabinki-i-drazki-dla-ptakow.html"
6489            class="dropdown-list-item"
6490        >Drabinki i drążki dla ptaków</a>
6491    </li>
6492                                    
6493    <li class="level-2">
6494        <a
6495            href="https://fera.pl/ptaki/klatki-i-akcesoria-dla-ptakow/akcesoria-dla-ptakow.html"
6496            class="dropdown-list-item"
6497        >Akcesoria dla ptaków</a>
6498    </li>
6499                            </ul>
6500        </template>
6501    </li>
6502                                                                            
6503    <li
6504        class="level-1"
6505        data-id="category-node-357"
6506        x-data="initSubMenuDesktopItem"
6507        @click.outside="close"
6508    >
6509        <button
6510            type="button"
6511            class="dropdown-list-item"
6512            x-ref="childmenuToggle"
6513            @click="toggle"
6514            aria-expanded="false"
6515            :aria-expanded="open"
6516            aria-controls="category-357-desktop-menu-panel"
6517        >
6518            Zabawki dla ptaków            <svg xmlns="http://www.w3.org/2000/svg"
6519                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
6520                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
6521        </button>
6522        <template x-if="open">
6523            <ul
6524                id="category-357-desktop-menu-panel"
6525                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
6526                x-ref="childMenuWrapper"
6527                @keydown.escape.stop="closeEscape"
6528            >
6529                <li>
6530                    <a
6531                        href="https://fera.pl/ptaki/zabawki-dla-ptakow.html"
6532                        class="dropdown-list-item font-bold"
6533                    >Zabawki dla ptaków - zobacz wszystko</a>
6534                </li>
6535                                    
6536    <li class="level-2">
6537        <a
6538            href="https://fera.pl/ptaki/zabawki-dla-ptakow/zabawki-dla-ptakow.html"
6539            class="dropdown-list-item"
6540        >Zabawki dla ptaków</a>
6541    </li>
6542                                    
6543    <li class="level-2">
6544        <a
6545            href="https://fera.pl/ptaki/zabawki-dla-ptakow/place-zabaw-dla-ptakow.html"
6546            class="dropdown-list-item"
6547        >Place zabaw dla ptaków</a>
6548    </li>
6549                            </ul>
6550        </template>
6551    </li>
6552                                                                            
6553    <li
6554        class="level-1"
6555        data-id="category-node-360"
6556        x-data="initSubMenuDesktopItem"
6557        @click.outside="close"
6558    >
6559        <button
6560            type="button"
6561            class="dropdown-list-item"
6562            x-ref="childmenuToggle"
6563            @click="toggle"
6564            aria-expanded="false"
6565            :aria-expanded="open"
6566            aria-controls="category-360-desktop-menu-panel"
6567        >
6568            Dzikie ptaki            <svg xmlns="http://www.w3.org/2000/svg"
6569                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
6570                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
6571        </button>
6572        <template x-if="open">
6573            <ul
6574                id="category-360-desktop-menu-panel"
6575                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
6576                x-ref="childMenuWrapper"
6577                @keydown.escape.stop="closeEscape"
6578            >
6579                <li>
6580                    <a
6581                        href="https://fera.pl/ptaki/dzikie-ptaki.html"
6582                        class="dropdown-list-item font-bold"
6583                    >Dzikie ptaki - zobacz wszystko</a>
6584                </li>
6585                                    
6586    <li class="level-2">
6587        <a
6588            href="https://fera.pl/ptaki/dzikie-ptaki/karma-dla-dzikich-ptakow.html"
6589            class="dropdown-list-item"
6590        >Karma dla dzikich ptaków</a>
6591    </li>
6592                                    
6593    <li class="level-2">
6594        <a
6595            href="https://fera.pl/ptaki/dzikie-ptaki/karmniki-i-domki-dla-ptakow.html"
6596            class="dropdown-list-item"
6597        >Karmniki i domki dla ptaków</a>
6598    </li>
6599                            </ul>
6600        </template>
6601    </li>
6602                                                                    </ul>
6603                            </div>
6604                            <template x-if="$store.banners.activeBanners.length">
6605                                <div class="flex flex-col gap-2 p-4 border-l border-slate-100 overflow-auto">
6606                                    <template x-for="(banner, index) in $store.banners.activeBanners" :key="index">
6607                                        <a class="block border border-slate-100 rounded-2xl overflow-hidden" :href="banner.url">
6608                                            <img :src="banner.image" :alt="banner.title ?? ''" loading="lazy" class="w-full h-auto" />
6609                                        </a>
6610                                    </template>
6611                                </div>
6612                            </template>
6613                        </div>
6614                    </template>
6615                </li>
6616                                                            <li
6617                    class="level-0 flex gap-y-1 flex-shrink-0 whitespace-nowrap"
6618                    data-id="category-363"
6619                    @click.outside="close(false)"
6620                    @keydown.escape="close"
6621                    @mouseenter="canHoverOpen"
6622                    @mouseleave="canHoverClose"
6623                >
6624                    <a
6625                        href="https://fera.pl/ryby.html"
6626                        class="btn btn-nav"
6627                                            >
6628                        Ryby                    </a>
6629                    <button
6630                        data-id="category-363"
6631                        type="button"
6632                        class="group btn btn-flat btn-icon-size-s sr-only focu
6632s:not-sr-only"
6633                        @click="toggle"
6634                        aria-expanded="false"
6635                        :aria-expanded="openDropdownId === 'category-363'"
6636                        aria-controls="desktop-menu-category-363"
6637                        x-ref="btn_category-363"
6638                    >
6639                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="transition group-aria-expanded:rotate-180 text-slate-400 group-aria-expanded:text-inherit" width="24" height="24" aria-hidden="true">
6640  <path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd"/>
6641</svg>
6642                    </button>
6643                    <template x-if="openDropdownId === 'category-363'">
6644                        <div
6645                            id="desktop-menu-category-363"
6646                            class="menu-dropdown grid absolute top-full inset-x-0 mt-4 border-t-2 border-primary rounded-3xl bg-white shadow-xl max-h-[70vh] overflow-y-auto"
6647                            :class="{ 'grid-cols-3': $store.banners.activeBanners.length }"
6648                            x-ref="childmenu_category-363"
6649                            x-transition
6650                        >
6651                            <div
6652                                class="flex overflow-x-auto"
6653                                :class="{ 'col-span-2': $store.banners.activeBanners.length }"
6654                            >
6655                                <ul class="relative flex flex-col gap-1 py-2.5 px-2 min-w-72">
6656                                                                            
6657    <li
6658        class="level-1"
6659        data-id="category-node-364"
6660        x-data="initSubMenuDesktopItem"
6661        @click.outside="close"
6662    >
6663        <button
6664            type="button"
6665            class="dropdown-list-item"
6666            x-ref="childmenuToggle"
6667            @click="toggle"
6668            aria-expanded="false"
6669            :aria-expanded="open"
6670            aria-controls="category-364-desktop-menu-panel"
6671        >
6672            Akwaria i akcesoria            <svg xmlns="http://www.w3.org/2000/svg"
6673                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
6674                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
6675        </button>
6676        <template x-if="open">
6677            <ul
6678                id="category-364-desktop-menu-panel"
6679                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
6680                x-ref="childMenuWrapper"
6681                @keydown.escape.stop="closeEscape"
6682            >
6683                <li>
6684                    <a
6685                        href="https://fera.pl/ryby/akwaria-i-akcesoria.html"
6686                        class="dropdown-list-item font-bold"
6687                    >Akwaria i akcesoria - zobacz wszystko</a>
6688                </li>
6689                                    
6690    <li class="level-2">
6691        <a
6692            href="https://fera.pl/ryby/akwaria-i-akcesoria/akwaria.html"
6693            class="dropdown-list-item"
6694        >Akwaria</a>
6695    </li>
6696                                    
6697    <li class="level-2">
6698        <a
6699            href="https://fera.pl/ryby/akwaria-i-akcesoria/akcesoria-do-akwarium.html"
6700            class="dropdown-list-item"
6701        >Akcesoria do akwarium</a>
6702    </li>
6703                                    
6704    <li class="level-2">
6705        <a
6706            href="https://fera.pl/ryby/akwaria-i-akcesoria/szafki-pod-akwarium.html"
6707            class="dropdown-list-item"
6708        >Szafki pod akwarium</a>
6709    </li>
6710                                    
6711    <li class="level-2">
6712        <a
6713            href="https://fera.pl/ryby/akwaria-i-akcesoria/kotniki.html"
6714            class="dropdown-list-item"
6715        >Kotniki</a>
6716    </li>
6717                                    
6718    <li class="level-2">
6719        <a
6720            href="https://fera.pl/ryby/akwaria-i-akcesoria/automaty-do-karmienia-ryb.html"
6721            class="dropdown-list-item"
6722        >Automaty do karmienia ryb</a>
6723    </li>
6724                                    
6725    <li class="level-2">
6726        <a
6727            href="https://fera.pl/ryby/akwaria-i-akcesoria/siatki-na-ryby.html"
6728            class="dropdown-list-item"
6729        >
6729Siatki na ryby</a>
6730    </li>
6731                            </ul>
6732        </template>
6733    </li>
6734                                                                            
6735    <li
6736        class="level-1"
6737        data-id="category-node-372"
6738        x-data="initSubMenuDesktopItem"
6739        @click.outside="close"
6740    >
6741        <button
6742            type="button"
6743            class="dropdown-list-item"
6744            x-ref="childmenuToggle"
6745            @click="toggle"
6746            aria-expanded="false"
6747            :aria-expanded="open"
6748            aria-controls="category-372-desktop-menu-panel"
6749        >
6750            Pokarm dla ryb            <svg xmlns="http://www.w3.org/2000/svg"
6751                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
6752                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
6753        </button>
6754        <template x-if="open">
6755            <ul
6756                id="category-372-desktop-menu-panel"
6757                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
6758                x-ref="childMenuWrapper"
6759                @keydown.escape.stop="closeEscape"
6760            >
6761                <li>
6762                    <a
6763                        href="https://fera.pl/ryby/pokarm-dla-ryb.html"
6764                        class="dropdown-list-item font-bold"
6765                    >Pokarm dla ryb - zobacz wszystko</a>
6766                </li>
6767                                    
6768    <li class="level-2">
6769        <a
6770            href="https://fera.pl/ryby/pokarm-dla-ryb/pokarm-dla-bojownikow.html"
6771            class="dropdown-list-item"
6772        >Pokarm dla bojowników</a>
6773    </li>
6774                                    
6775    <li class="level-2">
6776        <a
6777            href="https://fera.pl/ryby/pokarm-dla-ryb/pokarm-dla-pielegnic.html"
6778            class="dropdown-list-item"
6779        >Pokarm dla pielęgnic</a>
6780    </li>
6781                                    
6782    <li class="level-2">
6783        <a
6784            href="https://fera.pl/ryby/pokarm-dla-ryb/pokarm-dla-gupikow.html"
6785            class="dropdown-list-item"
6786        >Pokarm dla gupików</a>
6787    </li>
6788                                    
6789    <li class="level-2">
6790        <a
6791            href="https://fera.pl/ryby/pokarm-dla-ryb/pokarm-dla-paletek.html"
6792            class="dropdown-list-item"
6793        >Pokarm dla paletek</a>
6794    </li>
6795                                    
6796    <li class="level-2">
6797        <a
6798            href="https://fera.pl/ryby/pokarm-dla-ryb/pokarm-dla-glonojadow.html"
6799            class="dropdown-list-item"
6800        >Pokarm dla glonojadów</a>
6801    </li>
6802                                    
6803    <li class="level-2">
6804        <a
6805            href="https://fera.pl/ryby/pokarm-dla-ryb/pokarm-dla-ryb-dennych.html"
6806            class="dropdown-list-item"
6807        >Pokarm dla ryb dennych</a>
6808    </li>
6809                                    
6810    <li class="level-2">
6811        <a
6812            href="https://fera.pl/ryby/pokarm-dla-ryb/pokarm-dla-karpi-koi.html"
6813            class="dropdown-list-item"
6814        >Pokarm dla karpi koi</a>
6815    </li>
6816                                    
6817    <li class="level-2">
6818        <a
6819            href="https://fera.pl/ryby/pokarm-dla-ryb/pokarm-dla-ryb-ozdobnych.html"
6820            class="dropdown-list-item"
6821        >Pokarm dla ryb ozdobnych</a>
6822    </li>
6823                            </ul>
6824        </template>
6825    </li>
6826                                                                            
6827    <li
6828        class="level-1"
6829        data-id="category-node-371"
6830        x-data="initSubMenuDesktopItem"
6831        @click.outside="close"
6832    >
6833        <button
6834            type="button"
6835            class="dropdown-list-item"
6836            x-ref="childmenuToggle"
6837            @click="toggle"
6838            aria-expanded="false"
6839            :aria-expanded="open"
6840            aria-controls="category-371-desktop-menu-panel"
6841        >
6842            Pokarm i utrzymanie            <svg xmlns="http://www.w3.org/2000/svg"
6843                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
6844                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
6845        </button>
6846        <template x-if="open">
6847            <ul
6848                id="category-371-desktop-menu-panel"
6849                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
6850                x-ref="childMenuWrapper"
6851                @keydown.escape.stop="closeEscape"
6852            >
6853                <li>
6854                    <a
6855                        href="https://fera.pl/ryby/pokarm-i-utrzymanie.html"
6856                        class="dropdown-list-item font-bold"
6857                    >Pokarm i utrzymanie - zobacz wszystko</a>
6858                </li>
6859                                    
6860    <li class="level-2">
6861        <a
6862            href="https://fera.pl/ryby/pokarm-i-utrzymanie/uzdatniacze-do-wody.html"
6863            class="dropdown-list-item"
6864        >Uzdatniacze do wody</a>
6865    </li>
6866                                    
6867    <li class="level-2">
6868        <a
6869            href="https://fera.pl/ryby/pokarm-i-utrzymanie/testery-do-wody-w-akwarium.html"
6870            class="dropdown-list-item"
6871        >Testery do wody w akwarium</a>
6872    </li>
6873                                    
6874    <li class="level-2">
6875        <a
6876            href="https://fera.pl/ryby/pokarm-i-utrzymanie/ochrona-roslin-w-akwarium.html"
6877            class="dropdown-list-item"
6878        >Ochrona roślin w akwarium</a>
6879    </li>
6880                                    
6881    <li class="level-2">
6882        <a
6883            href="https://fera.pl/ryby/pokarm-i-utrzymanie/czyszczenie-akwarium.html"
6884            class="dropdown-list-item"
6885        >Czyszczenie akwarium</a>
6886    </li>
6887                                    
6888    <li class="level-2">
6889        <a
6890            href="https://fera.pl/ryby/pokarm-i-utrzymanie/akwaria-morskie.html"
6891            class="dropdown-list-item"
6892        >Akwaria morskie</a>
6893    </li>
6894                                    
6895    <li class="level-2">
6896        <a
6897            href="https://fera.pl/ryby/pokarm-i-utrzymanie/srodki-lecznicze-do-akwarium.html"
6898            class="dropdown-list-item"
6899        >Środki lecznicze do akwarium</a>
6900    </li>
6901                                    
6902    <li class="level-2">
6903        <a
6904            href="https://fera.pl/ryby/pokarm-i-utrzymanie/preparaty-antyglonowe-do-akwarium.html"
6905            class="dropdown-list-item"
6906        >Preparaty antyglonowe do akwarium</a>
6907    </li>
6908                                    
6909    <li class="level-2">
6910        <a
6911            href="https://fera.pl/ryby/pokarm-i-utrzymanie/technika-co2.html"
6912            class="dropdown-list-item"
6913        >Technika Co2</a>
6914    </li>
6915                            </ul>
6916        </template>
6917    </li>
6918                                                                            
6919    <li
6920        class="level-1"
6921        data-id="category-node-389"
6922        x-data="initSubMenuDesktopItem"
6923        @click.outside="close"
6924    >
6925        <button
6926            type="button"
6927            class="dropdown-list-item"
6928            x-ref="childmenuToggle"
6929            @click="toggle"
6930            aria-expanded="false"
6931            :aria-expanded="open"
6932            aria-controls="category-389-desktop-menu-panel"
6933        >
6934            Filtry i napowietrzacze            <svg xmlns="http://www.w3.org/2000/svg"
6935                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
6936                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
6937        </button>
6938        <template x-if="open">
6939            <ul
6940                id="category-389-desktop-menu-panel"
6941                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
6942                x-ref="childMenuWrapper"
6943                @keydown.escape.stop="closeEscape"
6944            >
6945                <li>
6946                    <a
6947                        href="https://fera.pl/ryby/filtry-i-napowietrzacze.html"
6948                        class="dropdown-list-item font-bold"
6949                    >Filtry i napowietrzacze - zobacz wszystko</a>
6950                </li>
6951                                    
6952    <li class="level-2">
6953        <a
6954            href="https://fera.pl/ryby/filtry-i-napowietrzacze/filtry-do-akwarium.html"
6955            class="dropdown-list-item"
6956        >Filtry do akwarium</a>
6957    </li>
6958                                    
6959    <li class="level-2">
6960        <a
6961            href="https://fera.pl/ryby/filtry-i-napowietrzacze/wklady-do-filtrow.html"
6962            class="dropdown-list-item"
6963        >Wkłady do filtrów</a>
6964    </li>
6965                                    
6966    <li class="level-2">
6967        <a
6968            href="https://fera.pl/ryby/filtry-i-napowietrzacze/p
6968ompki-do-akwarium.html"
6969            class="dropdown-list-item"
6970        >Pompki do akwarium</a>
6971    </li>
6972                                    
6973    <li class="level-2">
6974        <a
6975            href="https://fera.pl/ryby/filtry-i-napowietrzacze/czesci-i-akcesoria-do-filtrow.html"
6976            class="dropdown-list-item"
6977        >Części i akcesoria do filtrów</a>
6978    </li>
6979                            </ul>
6980        </template>
6981    </li>
6982                                                                            
6983    <li
6984        class="level-1"
6985        data-id="category-node-394"
6986        x-data="initSubMenuDesktopItem"
6987        @click.outside="close"
6988    >
6989        <button
6990            type="button"
6991            class="dropdown-list-item"
6992            x-ref="childmenuToggle"
6993            @click="toggle"
6994            aria-expanded="false"
6995            :aria-expanded="open"
6996            aria-controls="category-394-desktop-menu-panel"
6997        >
6998            Oświetlenie i ogrzewanie            <svg xmlns="http://www.w3.org/2000/svg"
6999                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
7000                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
7001        </button>
7002        <template x-if="open">
7003            <ul
7004                id="category-394-desktop-menu-panel"
7005                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
7006                x-ref="childMenuWrapper"
7007                @keydown.escape.stop="closeEscape"
7008            >
7009                <li>
7010                    <a
7011                        href="https://fera.pl/ryby/oswietlenie-i-ogrzewanie.html"
7012                        class="dropdown-list-item font-bold"
7013                    >Oświetlenie i ogrzewanie - zobacz wszystko</a>
7014                </li>
7015                                    
7016    <li class="level-2">
7017        <a
7018            href="https://fera.pl/ryby/oswietlenie-i-ogrzewanie/termometry-do-akwarium.html"
7019            class="dropdown-list-item"
7020        >Termometry do akwarium</a>
7021    </li>
7022                                    
7023    <li class="level-2">
7024        <a
7025            href="https://fera.pl/ryby/oswietlenie-i-ogrzewanie/oswietlenie-akwarium.html"
7026            class="dropdown-list-item"
7027        >Oświetlenie akwarium</a>
7028    </li>
7029                                    
7030    <li class="level-2">
7031        <a
7032            href="https://fera.pl/ryby/oswietlenie-i-ogrzewanie/grzalki-do-akwarium.html"
7033            class="dropdown-list-item"
7034        >Grzałki do akwarium</a>
7035    </li>
7036                                    
7037    <li class="level-2">
7038        <a
7039            href="https://fera.pl/ryby/oswietlenie-i-ogrzewanie/sterylizatory-uv-do-akwarium.html"
7040            class="dropdown-list-item"
7041        >Sterylizatory UV do akwarium</a>
7042    </li>
7043                            </ul>
7044        </template>
7045    </li>
7046                                                                            
7047    <li
7048        class="level-1"
7049        data-id="category-node-399"
7050        x-data="initSubMenuDesktopItem"
7051        @click.outside="close"
7052    >
7053        <button
7054            type="button"
7055            class="dropdown-list-item"
7056            x-ref="childmenuToggle"
7057            @click="toggle"
7058            aria-expanded="false"
7059            :aria-expanded="open"
7060            aria-controls="category-399-desktop-menu-panel"
7061        >
7062            Dekoracje do akwarium            <svg xmlns="http://www.w3.org/2000/svg"
7063                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
7064                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
7065        </button>
7066        <template x-if="open">
7067            <ul
7068                id="category-399-desktop-menu-panel"
7069                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
7070                x-ref="childMenuWrapper"
7071                @keydown.escape.stop="closeEscape"
7072            >
7073                <li>
7074                    <a
7075                        href="https://fera.pl/ryby/dekoracje-do-akwarium.html"
7076                        class="dropdown-list-item font-bold"
7077                    >Dekoracje do akwarium - zobacz wszystko</a>
7078                </li>
7079                                    
7080    <li class="level-2">
7081        <a
7082            href="https://fera.pl/ryby/dekoracje-do-akwarium/rosliny-do-akwarium.html"
7083            class="dropdown-list-item"
7084        >Rośliny do akwarium</a>
7085    </li>
7086                                    
7087    <li class="level-2">
7088        <a
7089            href="https://fera.pl/ryby/dekoracje-do-akwarium/podloza-dla-ryb.html"
7090            class="dropdown-list-item"
7091        >Podłoża dla ryb</a>
7092    </li>
7093                                    
7094    <li class="level-2">
7095        <a
7096            href="https://fera.pl/ryby/dekoracje-do-akwarium/ozdoby-do-akwarium.html"
7097            class="dropdown-list-item"
7098        >Ozdoby do akwarium</a>
7099    </li>
7100                                    
7101    <li class="level-2">
7102        <a
7103            href="https://fera.pl/ryby/dekoracje-do-akwarium/korzenie-do-akwarium.html"
7104            class="dropdown-list-item"
7105        >Korzenie do akwarium</a>
7106    </li>
7107                                    
7108    <li class="level-2">
7109        <a
7110            href="https://fera.pl/ryby/dekoracje-do-akwarium/tlo-do-akwarium.html"
7111            class="dropdown-list-item"
7112        >Tło do akwarium</a>
7113    </li>
7114                                    
7115    <li class="level-2">
7116        <a
7117            href="https://fera.pl/ryby/dekoracje-do-akwarium/kamienie-ozdobne-do-akwarium.html"
7118            class="dropdown-list-item"
7119        >Kamienie ozdobne do akwarium</a>
7120    </li>
7121                            </ul>
7122        </template>
7123    </li>
7124                                                                            
7125    <li
7126        class="level-1"
7127        data-id="category-node-406"
7128        x-data="initSubMenuDesktopItem"
7129        @click.outside="close"
7130    >
7131        <button
7132            type="button"
7133            class="dropdown-list-item"
7134            x-ref="childmenuToggle"
7135            @click="toggle"
7136            aria-expanded="false"
7137            :aria-expanded="open"
7138            aria-controls="category-406-desktop-menu-panel"
7139        >
7140            Oczko wodne            <svg xmlns="http://www.w3.org/2000/svg"
7141                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
7142                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
7143        </button>
7144        <template x-if="open">
7145            <ul
7146                id="category-406-desktop-menu-panel"
7147                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
7148                x-ref="childMenuWrapper"
7149                @keydown.escape.stop="closeEscape"
7150            >
7151                <li>
7152                    <a
7153                        href="https://fera.pl/ryby/oczko-wodne.html"
7154                        class="dropdown-list-item font-bold"
7155                    >Oczko wodne - zobacz wszystko</a>
7156                </li>
7157                                    
7158    <li class="level-2">
7159        <a
7160            href="https://fera.pl/ryby/oczko-wodne/testery-do-wody-w-oczku-wodnym.html"
7161            class="dropdown-list-item"
7162        >Testery do wody w oczku wodnym</a>
7163    </li>
7164                                    
7165    <li class="level-2">
7166        <a
7167            href="https://fera.pl/ryby/oczko-wodne/preparaty-antyglonowe-do-oczka-wodnego.html"
7168            class="dropdown-list-item"
7169        >Preparaty antyglonowe do oczka wodnego</a>
7170    </li>
7171                                    
7172    <li class="level-2">
7173        <a
7174            href="https://fera.pl/ryby/oczko-wodne/czyszczenie-oczka-wodnego.html"
7175            class="dropdown-list-item"
7176        >Czyszczenie oczka wodnego</a>
7177    </li>
7178                                    
7179    <li class="level-2">
7180        <a
7181            href="https://fera.pl/ryby/oczko-wodne/pokarm-dla-ryb-w-oczku-wodnym.html"
7182            class="dropdown-list-item"
7183        >Pokarm dla ryb w oczku wodnym</a>
7184    </li>
7185                                    
7186    <li class="level-2">
7187        <a
7188            href="https://fera.pl/ryby/oczko-wodne/akcesoria-do-oczka-wodnego.html"
7189            class="dropdown-list-item"
7190        >Akcesoria do oczka wodnego</a>
7191    </li>
7192                                    
7193    <li class="level-2">
7194        <a
7195            href="https://fera.pl/ryby/oczko-wodne/filtry-i-fontanny-do-ocz
7195ka-wodnego.html"
7196            class="dropdown-list-item"
7197        >Filtry i fontanny do oczka wodnego</a>
7198    </li>
7199                                    
7200    <li class="level-2">
7201        <a
7202            href="https://fera.pl/ryby/oczko-wodne/fontanny.html"
7203            class="dropdown-list-item"
7204        >Fontanny</a>
7205    </li>
7206                                    
7207    <li class="level-2">
7208        <a
7209            href="https://fera.pl/ryby/oczko-wodne/oswietlenie-oczka-wodnego.html"
7210            class="dropdown-list-item"
7211        >Oświetlenie oczka wodnego</a>
7212    </li>
7213                            </ul>
7214        </template>
7215    </li>
7216                                                                    </ul>
7217                            </div>
7218                            <template x-if="$store.banners.activeBanners.length">
7219                                <div class="flex flex-col gap-2 p-4 border-l border-slate-100 overflow-auto">
7220                                    <template x-for="(banner, index) in $store.banners.activeBanners" :key="index">
7221                                        <a class="block border border-slate-100 rounded-2xl overflow-hidden" :href="banner.url">
7222                                            <img :src="banner.image" :alt="banner.title ?? ''" loading="lazy" class="w-full h-auto" />
7223                                        </a>
7224                                    </template>
7225                                </div>
7226                            </template>
7227                        </div>
7228                    </template>
7229                </li>
7230                                                            <li
7231                    class="level-0 flex gap-y-1 flex-shrink-0 whitespace-nowrap"
7232                    data-id="category-415"
7233                    @click.outside="close(false)"
7234                    @keydown.escape="close"
7235                    @mouseenter="canHoverOpen"
7236                    @mouseleave="canHoverClose"
7237                >
7238                    <a
7239                        href="https://fera.pl/male-ssaki.html"
7240                        class="btn btn-nav"
7241                                            >
7242                        Małe ssaki                    </a>
7243                    <button
7244                        data-id="category-415"
7245                        type="button"
7246                        class="group btn btn-flat btn-icon-size-s sr-only focus:not-sr-only"
7247                        @click="toggle"
7248                        aria-expanded="false"
7249                        :aria-expanded="openDropdownId === 'category-415'"
7250                        aria-controls="desktop-menu-category-415"
7251                        x-ref="btn_category-415"
7252                    >
7253                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="transition group-aria-expanded:rotate-180 text-slate-400 group-aria-expanded:text-inherit" width="24" height="24" aria-hidden="true">
7254  <path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd"/>
7255</svg>
7256                    </button>
7257                    <template x-if="openDropdownId === 'category-415'">
7258                        <div
7259                            id="desktop-menu-category-415"
7260                            class="menu-dropdown grid absolute top-full inset-x-0 mt-4 border-t-2 border-primary rounded-3xl bg-white shadow-xl max-h-[70vh] overflow-y-auto"
7261                            :class="{ 'grid-cols-3': $store.banners.activeBanners.length }"
7262                            x-ref="childmenu_category-415"
7263                            x-transition
7264                        >
7265                            <div
7266                                class="flex overflow-x-auto"
7267                                :class="{ 'col-span-2': $store.banners.activeBanners.length }"
7268                            >
7269                                <ul class="relative flex flex-col gap-1 py-2.5 px-2 min-w-72">
7270                                                                            
7271    <li
7272        class="level-1"
7273        data-id="category-node-416"
7274        x-data="initSubMenuDesktopItem"
7275        @click.outside="close"
7276    >
7277        <button
7278            type="button"
7279            class="dropdown-list-item"
7280            x-ref="childmenuToggle"
7281            @click="toggle"
7282            aria-expanded="false"
7283            :aria-expanded="open"
7284            aria-controls="category-416-desktop-menu-panel"
7285        >
7286            Karma i przysmaki            <svg xmlns="http://www.w3.org/2000/svg"
7287                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
7288                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
7289        </button>
7290        <template x-if="open">
7291            <ul
7292                id="category-416-desktop-menu-panel"
7293                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
7294                x-ref="childMenuWrapper"
7295                @keydown.escape.stop="closeEscape"
7296            >
7297                <li>
7298                    <a
7299                        href="https://fera.pl/male-ssaki/karma-i-przysmaki.html"
7300                        class="dropdown-list-item font-bold"
7301                    >Karma i przysmaki - zobacz wszystko</a>
7302                </li>
7303                                    
7304    <li class="level-2">
7305        <a
7306            href="https://fera.pl/male-ssaki/karma-i-przysmaki/karma-dla-chomika.html"
7307            class="dropdown-list-item"
7308        >Karma dla chomika</a>
7309    </li>
7310                                    
7311    <li class="level-2">
7312        <a
7313            href="https://fera.pl/male-ssaki/karma-i-przysmaki/karma-dla-fretki.html"
7314            class="dropdown-list-item"
7315        >Karma dla fretki</a>
7316    </li>
7317                                    
7318    <li class="level-2">
7319        <a
7320            href="https://fera.pl/male-ssaki/karma-i-przysmaki/karma-dla-koszatniczki.html"
7321            class="dropdown-list-item"
7322        >Karma dla koszatniczki</a>
7323    </li>
7324                                    
7325    <li class="level-2">
7326        <a
7327            href="https://fera.pl/male-ssaki/karma-i-przysmaki/karma-dla-krolika.html"
7328            class="dropdown-list-item"
7329        >Karma dla królika</a>
7330    </li>
7331                                    
7332    <li class="level-2">
7333        <a
7334            href="https://fera.pl/male-ssaki/karma-i-przysmaki/karma-dla-myszy-i-myszoskoczka.html"
7335            class="dropdown-list-item"
7336        >Karma dla myszy i myszoskoczka</a>
7337    </li>
7338                                    
7339    <li class="level-2">
7340        <a
7341            href="https://fera.pl/male-ssaki/karma-i-przysmaki/karma-dla-szczura.html"
7342            class="dropdown-list-item"
7343        >Karma dla szczura</a>
7344    </li>
7345                                    
7346    <li class="level-2">
7347        <a
7348            href="https://fera.pl/male-ssaki/karma-i-przysmaki/karma-dla-szynszyli.html"
7349            class="dropdown-list-item"
7350        >Karma dla szynszyli</a>
7351    </li>
7352                                    
7353    <li class="level-2">
7354        <a
7355            href="https://fera.pl/male-ssaki/karma-i-przysmaki/karma-dla-swinki-morskiej.html"
7356            class="dropdown-list-item"
7357        >Karma dla świnki morskiej</a>
7358    </li>
7359                                    
7360    <li class="level-2">
7361        <a
7362            href="https://fera.pl/male-ssaki/karma-i-przysmaki/karma-dla-jeza-i-wiewiorki.html"
7363            class="dropdown-list-item"
7364        >Karma dla jeża i wiewiórki</a>
7365    </li>
7366                            </ul>
7367        </template>
7368    </li>
7369                                                                            
7370    <li
7371        class="level-1"
7372        data-id="category-node-426"
7373        x-data="initSubMenuDesktopItem"
7374        @click.outside="close"
7375    >
7376        <button
7377            type="button"
7378            class="dropdown-list-item"
7379            x-ref="childmenuToggle"
7380            @click="toggle"
7381            aria-expanded="false"
7382            :aria-expanded="open"
7383            aria-controls="category-426-desktop-menu-panel"
7384        >
7385            Akcesoria do karmienia małych ssaków            <svg xmlns="http://www.w3.org/2000/svg"
7386                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
7387                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
7388        </button>
7389        <template x-if="open">
7390            <ul
7391                id="category-426-desktop-menu-panel"
7392                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
7393                x-ref="childMenuWrapper"
7394                @keydown.escape.stop="closeEscape"
7395            >
7396                <li>
7397                    <a
7398                        href="https://fera.pl/male-ssaki/akcesoria-do-karmienia-malych-ssakow.html"
7399                        class="dropdown-list-item font-bold"
7400                    >Akcesoria do karmienia małych ssaków - zobacz wszystko</a>
7401                </li>
7402                                    
7403    <li class="level-2">
7404        <a
7405            href="https://fera.pl/male-ssaki/akcesoria-do-karmienia-malych-ssakow/miski.html"
7406            class="dropdown-list-item"
7407        >Miski</a>
7408    </li>
7409                                    
7410    <li class="level-2">
7411        <a
7412            href="https://fera.pl/male-ssaki/akcesoria-do-karmienia-malych-ssakow/poidelka.html"
7413            class="dropdown-list-item"
7414        >Poidełka</a>
7415    </li>
7416                            </ul>
7417        </template>
7418    </li>
7419                                                                            
7420    <li
7421        class="level-1"
7422        data-id="category-node-430"
7423        x-data="initSubMenuDesktopItem"
7424        @click.outside="close"
7425    >
7426        <button
7427            type="button"
7428            class="dropdown-list-item"
7429            x-ref="childmenuToggle"
7430            @click="toggle"
7431            aria-expanded="false"
7432            :aria-expanded="open"
7433            aria-controls="category-430-desktop-menu-panel"
7434        >
7435            Klatki            <svg xmlns="http://www.w3.org/2000/svg"
7436                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
7437                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
7438        </button>
7439        <template x-if="open">
7440            <ul
7441                id="category-430-desktop-menu-panel"
7442                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
7443                x-ref="childMenuWrapper"
7444                @keydown.escape.stop="closeEscape"
7445            >
7446                <li>
7447                    <a
7448                        href="https://fera.pl/male-ssaki/klatki.html"
7449                        class="dropdown-list-item font-bold"
7450                    >Klatki - zobacz wszystko</a>
7451                </li>
7452                                    
7453    <li class="level-2">
7454        <a
7455            href="https://fera.pl/male-ssaki/klatki/klatka-dla-ch
7455omika.html"
7456            class="dropdown-list-item"
7457        >Klatka dla chomika</a>
7458    </li>
7459                                    
7460    <li class="level-2">
7461        <a
7462            href="https://fera.pl/male-ssaki/klatki/klatka-dla-fretki.html"
7463            class="dropdown-list-item"
7464        >Klatka dla fretki</a>
7465    </li>
7466                                    
7467    <li class="level-2">
7468        <a
7469            href="https://fera.pl/male-ssaki/klatki/klatka-dla-krolika.html"
7470            class="dropdown-list-item"
7471        >Klatka dla królika</a>
7472    </li>
7473                                    
7474    <li class="level-2">
7475        <a
7476            href="https://fera.pl/male-ssaki/klatki/klatka-dla-myszoskoczka.html"
7477            class="dropdown-list-item"
7478        >Klatka dla myszoskoczka</a>
7479    </li>
7480                                    
7481    <li class="level-2">
7482        <a
7483            href="https://fera.pl/male-ssaki/klatki/klatka-dla-myszy.html"
7484            class="dropdown-list-item"
7485        >Klatka dla myszy</a>
7486    </li>
7487                                    
7488    <li class="level-2">
7489        <a
7490            href="https://fera.pl/male-ssaki/klatki/klatka-dla-szczura.html"
7491            class="dropdown-list-item"
7492        >Klatka dla szczura</a>
7493    </li>
7494                                    
7495    <li class="level-2">
7496        <a
7497            href="https://fera.pl/male-ssaki/klatki/klatka-dla-szynszyli.html"
7498            class="dropdown-list-item"
7499        >Klatka dla szynszyli</a>
7500    </li>
7501                                    
7502    <li class="level-2">
7503        <a
7504            href="https://fera.pl/male-ssaki/klatki/klatka-dla-swinki-morskiej.html"
7505            class="dropdown-list-item"
7506        >Klatka dla świnki morskiej</a>
7507    </li>
7508                                    
7509    <li class="level-2">
7510        <a
7511            href="https://fera.pl/male-ssaki/klatki/klatka-dla-wiewiorki.html"
7512            class="dropdown-list-item"
7513        >Klatka dla wiewiórki</a>
7514    </li>
7515                            </ul>
7516        </template>
7517    </li>
7518                                                                            
7519    <li
7520        class="level-1"
7521        data-id="category-node-429"
7522        x-data="initSubMenuDesktopItem"
7523        @click.outside="close"
7524    >
7525        <button
7526            type="button"
7527            class="dropdown-list-item"
7528            x-ref="childmenuToggle"
7529            @click="toggle"
7530            aria-expanded="false"
7531            :aria-expanded="open"
7532            aria-controls="category-429-desktop-menu-panel"
7533        >
7534            Klatki i kojce            <svg xmlns="http://www.w3.org/2000/svg"
7535                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
7536                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
7537        </button>
7538        <template x-if="open">
7539            <ul
7540                id="category-429-desktop-menu-panel"
7541                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
7542                x-ref="childMenuWrapper"
7543                @keydown.escape.stop="closeEscape"
7544            >
7545                <li>
7546                    <a
7547                        href="https://fera.pl/male-ssaki/klatki-i-kojce.html"
7548                        class="dropdown-list-item font-bold"
7549                    >Klatki i kojce - zobacz wszystko</a>
7550                </li>
7551                                    
7552    <li class="level-2">
7553        <a
7554            href="https://fera.pl/male-ssaki/klatki-i-kojce/kojce-i-wybiegi-dla-krolikow.html"
7555            class="dropdown-list-item"
7556        >Kojce i wybiegi dla królików</a>
7557    </li>
7558                                    
7559    <li class="level-2">
7560        <a
7561            href="https://fera.pl/male-ssaki/klatki-i-kojce/akcesoria-do-rozbudowy-klatki.html"
7562            class="dropdown-list-item"
7563        >Akcesoria do rozbudowy klatki</a>
7564    </li>
7565                            </ul>
7566        </template>
7567    </li>
7568                                                                            
7569    <li
7570        class="level-1"
7571        data-id="category-node-442"
7572        x-data="initSubMenuDesktopItem"
7573        @click.outside="close"
7574    >
7575        <button
7576            type="button"
7577            class="dropdown-list-item"
7578            x-ref="childmenuToggle"
7579            @click="toggle"
7580            aria-expanded="false"
7581            :aria-expanded="open"
7582            aria-controls="category-442-desktop-menu-panel"
7583        >
7584            Podłoże do klatek            <svg xmlns="http://www.w3.org/2000/svg"
7585                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
7586                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
7587        </button>
7588        <template x-if="open">
7589            <ul
7590                id="category-442-desktop-menu-panel"
7591                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
7592                x-ref="childMenuWrapper"
7593                @keydown.escape.stop="closeEscape"
7594            >
7595                <li>
7596                    <a
7597                        href="https://fera.pl/male-ssaki/podloze-do-klatek.html"
7598                        class="dropdown-list-item font-bold"
7599                    >Podłoże do klatek - zobacz wszystko</a>
7600                </li>
7601                                    
7602    <li class="level-2">
7603        <a
7604            href="https://fera.pl/male-ssaki/podloze-do-klatek/podklady-i-sciolki-do-klatki.html"
7605            class="dropdown-list-item"
7606        >Podkłady i ściółki do klatki</a>
7607    </li>
7608                                    
7609    <li class="level-2">
7610        <a
7611            href="https://fera.pl/male-ssaki/podloze-do-klatek/siano.html"
7612            class="dropdown-list-item"
7613        >Siano</a>
7614    </li>
7615                            </ul>
7616        </template>
7617    </li>
7618                                                                            
7619    <li
7620        class="level-1"
7621        data-id="category-node-445"
7622        x-data="initSubMenuDesktopItem"
7623        @click.outside="close"
7624    >
7625        <button
7626            type="button"
7627            class="dropdown-list-item"
7628            x-ref="childmenuToggle"
7629            @click="toggle"
7630            aria-expanded="false"
7631            :aria-expanded="open"
7632            aria-controls="category-445-desktop-menu-panel"
7633        >
7634            Higiena i pielęgnacja małych ssaków            <svg xmlns="http://www.w3.org/2000/svg"
7635                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
7636                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
7637        </button>
7638        <template x-if="open">
7639            <ul
7640                id="category-445-desktop-menu-panel"
7641                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
7642                x-ref="childMenuWrapper"
7643                @keydown.escape.stop="closeEscape"
7644            >
7645                <li>
7646                    <a
7647                        href="https://fera.pl/male-ssaki/higiena-i-pielegnacja-malych-ssakow.html"
7648                        class="dropdown-list-item font-bold"
7649                    >Higiena i pielęgnacja małych ssaków - zobacz wszystko</a>
7650                </li>
7651                                    
7652    <li class="level-2">
7653        <a
7654            href="https://fera.pl/male-ssaki/higiena-i-pielegnacja-malych-ssakow/witaminy-dla-malych-ssakow.html"
7655            class="dropdown-list-item"
7656        >Witaminy dla małych ssaków</a>
7657    </li>
7658                                    
7659    <li class="level-2">
7660        <a
7661            href="https://fera.pl/male-ssaki/higiena-i-pielegnacja-malych-ssakow/usuwanie-plam-i-zapachow-malych-ssakow.html"
7662            class="dropdown-list-item"
7663        >Usuwanie plam i zapachów małych ssaków</a>
7664    </li>
7665                                    
7666    <li class="level-2">
7667        <a
7668            href="https://fera.pl/male-ssaki/higiena-i-pielegnacja-malych-ssakow/usuwanie-siersci-malych-ssakow.html"
7669            class="dropdown-list-item"
7670        >Usuwanie sierści małych ssaków</a>
7671    </li>
7672                            </ul>
7673        </template>
7674    </li>
7675                                                                            
7676    <li
7677        class="level-1"
7678        data-id="category-node-449"
7679        x-data="initSubMenuDesktopItem"
7680        @click.outside="close"
7681    >
7682        <button
7683            type="button"
7684            class="dropdown-list-item"
7685            x-ref="childmenuToggle"
7686            @click="toggle"
7687            aria-expanded="false"
7688            :aria-expanded="open"
7689            aria-controls="category-449-desktop-menu-panel"
7690        >
7691            Grooming i uroda dla małych ssaków            <svg xmlns="http://www.w3.org/2000/svg"
7692                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
7693                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
7694        </button>
7695        <template x-if="open">
7696            <ul
7697                id="category-449-desktop-menu-panel"
7698                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
7699                x-ref="childMenuWrapper"
7700                @keydown.escape.stop="closeEscape"
7701            >
7702                <li>
7703                    <a
7704                        href="https://fera.pl/male-ssaki/grooming-i-uroda-dla-malych-ssakow.html"
7705                        class="dropdown-list-item font-bold"
7706                    >Grooming i uroda dla małych ssaków - zobacz wszystko</a>
7707                </li>
7708                                    
7709    <li class="level-2">
7710        <a
7711            href="https://fera.pl/male-ssaki/grooming-i-uroda-dla-malych-ssakow/piasek-dla-szynszyli.html"
7712            class="dropdown-list-item"
7713        >Piasek dla szynszyli</a>
7714    </li>
7715                                    
7716    <li class="level-2">
7717        <a
7718            href="https://fera.pl/male-ssaki/grooming-i-uroda-dla-malych-ssakow/szczotki-i-grzebienie-dla-malych-ssakow.html"
7719            class="dropdown-list-item"
7720        >Szczotki i grzebienie dla małych ssaków</a>
7721    </li>
7722                                    
7723    <li class="level-2">
7724        <a
7725            href="https://fera.pl/male-ssaki/grooming-i-uroda-dla-malych-ssakow/szampony-i-odzywki-dla-malych-ssakow.html"
7726            class="dropdown-list-item"
7727        >Szampony i odżywki dla małych ssaków</a>
7728    </li>
7729                                    
7730    <li class="level-2">
7731        <a
7732            href="https://fera.pl/male-ssaki/grooming-i-uroda-dla-malych-ssakow/pielegnacja-pazurow-malych-ssakow.html"
7733            class="dropdown-list-item"
7734        >Pielęgnacja pazurów małych ssaków</a>
7735    </li>
7736                            </ul>
7737        </template>
7738    </li>
7739                                                                            
7740    <li
7741        class="level-1"
7742        data-id="category-node-454"
7743        x-data="initSubMenuDesktopItem"
7744        @click.outside="close"
7745    >
7746        <button
7747            type="button"
7748            class="dropdown-list-item"
7749            x-ref="childmenuToggle"
7750            @click="toggle"
7751            aria-expanded="false"
7752            :aria-expanded="open"
7753            aria-controls="category-454-desktop-menu-panel"
7754        >
7755            Zabawki dla małych ssaków            <svg xmlns="http://www.w3.org/2000/svg"
7756                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
7757                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
7758        </button>
7759        <template x-if="open">
7760            <ul
7761                id="category-454-desktop-menu-panel"
7762                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
7763                x-ref="childMenuWrapper"
7764                @keydown.escape.stop="closeEscape"
7765            >
7766                <li>
7767                    <a
7768                        href="https://fera.pl/male-ssaki/zabawki-dla-malych-ssakow.html"
7769                        class="dropdown-list-item font-bold"
7770                    >Zabawki dla małych ssaków - zobacz wszystko</a>
7771                </li>
7772                                    
7773    <li class="level-2">
7774        <a
7775            href="https://fera.pl/male-ssaki/zabawki-dla-malych-ssakow/kolowrotek-dla-ch
7775omika.html"
7776            class="dropdown-list-item"
7777        >Kołowrotek dla chomika</a>
7778    </li>
7779                                    
7780    <li class="level-2">
7781        <a
7782            href="https://fera.pl/male-ssaki/zabawki-dla-malych-ssakow/kryjowki-dla-malych-ssakow.html"
7783            class="dropdown-list-item"
7784        >Kryjówki dla małych ssaków</a>
7785    </li>
7786                                    
7787    <li class="level-2">
7788        <a
7789            href="https://fera.pl/male-ssaki/zabawki-dla-malych-ssakow/gryzaki-dla-malych-ssakow.html"
7790            class="dropdown-list-item"
7791        >Gryzaki dla małych ssaków</a>
7792    </li>
7793                                    
7794    <li class="level-2">
7795        <a
7796            href="https://fera.pl/male-ssaki/zabawki-dla-malych-ssakow/legowiska-i-hamaki-dla-malych-ssakow.html"
7797            class="dropdown-list-item"
7798        >Legowiska i hamaki dla małych ssaków</a>
7799    </li>
7800                                    
7801    <li class="level-2">
7802        <a
7803            href="https://fera.pl/male-ssaki/zabawki-dla-malych-ssakow/tunele-dla-malych-ssakow.html"
7804            class="dropdown-list-item"
7805        >Tunele dla małych ssaków</a>
7806    </li>
7807                                    
7808    <li class="level-2">
7809        <a
7810            href="https://fera.pl/male-ssaki/zabawki-dla-malych-ssakow/place-zabaw-dla-chomikow.html"
7811            class="dropdown-list-item"
7812        >Place zabaw dla chomików</a>
7813    </li>
7814                            </ul>
7815        </template>
7816    </li>
7817                                                                            
7818    <li
7819        class="level-1"
7820        data-id="category-node-461"
7821        x-data="initSubMenuDesktopItem"
7822        @click.outside="close"
7823    >
7824        <button
7825            type="button"
7826            class="dropdown-list-item"
7827            x-ref="childmenuToggle"
7828            @click="toggle"
7829            aria-expanded="false"
7830            :aria-expanded="open"
7831            aria-controls="category-461-desktop-menu-panel"
7832        >
7833            Transportówki i akcesoria            <svg xmlns="http://www.w3.org/2000/svg"
7834                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
7835                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
7836        </button>
7837        <template x-if="open">
7838            <ul
7839                id="category-461-desktop-menu-panel"
7840                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
7841                x-ref="childMenuWrapper"
7842                @keydown.escape.stop="closeEscape"
7843            >
7844                <li>
7845                    <a
7846                        href="https://fera.pl/male-ssaki/transportowki-i-akcesoria.html"
7847                        class="dropdown-list-item font-bold"
7848                    >Transportówki i akcesoria - zobacz wszystko</a>
7849                </li>
7850                                    
7851    <li class="level-2">
7852        <a
7853            href="https://fera.pl/male-ssaki/transportowki-i-akcesoria/transportowki-dla-malych-ssakow.html"
7854            class="dropdown-list-item"
7855        >Transportówki dla małych ssaków</a>
7856    </li>
7857                                    
7858    <li class="level-2">
7859        <a
7860            href="https://fera.pl/male-ssaki/transportowki-i-akcesoria/szelki-i-smycze-dla-malych-ssakow.html"
7861            class="dropdown-list-item"
7862        >Szelki i smycze dla małych ssaków</a>
7863    </li>
7864                            </ul>
7865        </template>
7866    </li>
7867                                                                            
7868    <li
7869        class="level-1"
7870        data-id="category-node-464"
7871        x-data="initSubMenuDesktopItem"
7872        @click.outside="close"
7873    >
7874        <button
7875            type="button"
7876            class="dropdown-list-item"
7877            x-ref="childmenuToggle"
7878            @click="toggle"
7879            aria-expanded="false"
7880            :aria-expanded="open"
7881            aria-controls="category-464-desktop-menu-panel"
7882        >
7883            Zdrowie małych ssaków            <svg xmlns="http://www.w3.org/2000/svg"
7884                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
7885                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
7886        </button>
7887        <template x-if="open">
7888            <ul
7889                id="category-464-desktop-menu-panel"
7890                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
7891                x-ref="childMenuWrapper"
7892                @keydown.escape.stop="closeEscape"
7893            >
7894                <li>
7895                    <a
7896                        href="https://fera.pl/male-ssaki/zdrowie-malych-ssakow.html"
7897                        class="dropdown-list-item font-bold"
7898                    >Zdrowie małych ssaków - zobacz wszystko</a>
7899                </li>
7900                                    
7901    <li class="level-2">
7902        <a
7903            href="https://fera.pl/male-ssaki/zdrowie-malych-ssakow/medykamenty-dla-malych-ssakow.html"
7904            class="dropdown-list-item"
7905        >Medykamenty dla małych ssaków</a>
7906    </li>
7907                            </ul>
7908        </template>
7909    </li>
7910                                                                    </ul>
7911                            </div>
7912                            <template x-if="$store.banners.activeBanners.length">
7913                                <div class="flex flex-col gap-2 p-4 border-l border-slate-100 overflow-auto">
7914                                    <template x-for="(banner, index) in $store.banners.activeBanners" :key="index">
7915                                        <a class="block border border-slate-100 rounded-2xl overflow-hidden" :href="banner.url">
7916                                            <img :src="banner.image" :alt="banner.title ?? ''" loading="lazy" class="w-full h-auto" />
7917                                        </a>
7918                                    </template>
7919                                </div>
7920                            </template>
7921                        </div>
7922                    </template>
7923                </li>
7924                                                            <li
7925                    class="level-0 flex gap-y-1 flex-shrink-0 whitespace-nowrap"
7926                    data-id="category-480"
7927                    @click.outside="close(false)"
7928                    @keydown.escape="close"
7929                    @mouseenter="canHoverOpen"
7930                    @mouseleave="canHoverClose"
7931                >
7932                    <a
7933                        href="https://fera.pl/gady-i-plazy.html"
7934                        class="btn btn-nav"
7935                                            >
7936                        Gady i płazy                    </a>
7937                    <button
7938                        data-id="category-480"
7939                        type="button"
7940                        class="group btn btn-flat btn-icon-size-s sr-only focu
7940s:not-sr-only"
7941                        @click="toggle"
7942                        aria-expanded="false"
7943                        :aria-expanded="openDropdownId === 'category-480'"
7944                        aria-controls="desktop-menu-category-480"
7945                        x-ref="btn_category-480"
7946                    >
7947                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="transition group-aria-expanded:rotate-180 text-slate-400 group-aria-expanded:text-inherit" width="24" height="24" aria-hidden="true">
7948  <path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd"/>
7949</svg>
7950                    </button>
7951                    <template x-if="openDropdownId === 'category-480'">
7952                        <div
7953                            id="desktop-menu-category-480"
7954                            class="menu-dropdown grid absolute top-full inset-x-0 mt-4 border-t-2 border-primary rounded-3xl bg-white shadow-xl max-h-[70vh] overflow-y-auto"
7955                            :class="{ 'grid-cols-3': $store.banners.activeBanners.length }"
7956                            x-ref="childmenu_category-480"
7957                            x-transition
7958                        >
7959                            <div
7960                                class="flex overflow-x-auto"
7961                                :class="{ 'col-span-2': $store.banners.activeBanners.length }"
7962                            >
7963                                <ul class="relative flex flex-col gap-1 py-2.5 px-2 min-w-72">
7964                                                                            
7965    <li
7966        class="level-1"
7967        data-id="category-node-481"
7968        x-data="initSubMenuDesktopItem"
7969        @click.outside="close"
7970    >
7971        <button
7972            type="button"
7973            class="dropdown-list-item"
7974            x-ref="childmenuToggle"
7975            @click="toggle"
7976            aria-expanded="false"
7977            :aria-expanded="open"
7978            aria-controls="category-481-desktop-menu-panel"
7979        >
7980            Karma dla gadów i płazów            <svg xmlns="http://www.w3.org/2000/svg"
7981                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
7982                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
7983        </button>
7984        <template x-if="open">
7985            <ul
7986                id="category-481-desktop-menu-panel"
7987                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
7988                x-ref="childMenuWrapper"
7989                @keydown.escape.stop="closeEscape"
7990            >
7991                <li>
7992                    <a
7993                        href="https://fera.pl/gady-i-plazy/karma-dla-gadow-i-plazow.html"
7994                        class="dropdown-list-item font-bold"
7995                    >Karma dla gadów i płazów - zobacz wszystko</a>
7996                </li>
7997                                    
7998    <li class="level-2">
7999        <a
8000            href="https://fera.pl/gady-i-plazy/karma-dla-gadow-i-plazow/karma-dla-zolwia.html"
8001            class="dropdown-list-item"
8002        >Karma dla żółwia</a>
8003    </li>
8004                                    
8005    <li class="level-2">
8006        <a
8007            href="https://fera.pl/gady-i-plazy/karma-dla-gadow-i-plazow/karma-dla-krabow.html"
8008            class="dropdown-list-item"
8009        >Karma dla krabów</a>
8010    </li>
8011                                    
8012    <li class="level-2">
8013        <a
8014            href="https://fera.pl/gady-i-plazy/karma-dla-gadow-i-plazow/karma-dla-kameleona.html"
8015            class="dropdown-list-item"
8016        >Karma dla kameleona</a>
8017    </li>
8018                                    
8019    <li class="level-2">
8020        <a
8021            href="https://fera.pl/gady-i-plazy/karma-dla-gadow-i-plazow/karma-dla-iguany.html"
8022            class="dropdown-list-item"
8023        >Karma dla iguany</a>
8024    </li>
8025                                    
8026    <li class="level-2">
8027        <a
8028            href="https://fera.pl/gady-i-plazy/karma-dla-gadow-i-plazow/karma-dla-jaszczurki.html"
8029            class="dropdown-list-item"
8030        >Karma dla jaszczurki</a>
8031    </li>
8032                                    
8033    <li class="level-2">
8034        <a
8035            href="https://fera.pl/gady-i-plazy/karma-dla-gadow-i-plazow/karma-dla-zolwi-wodnych.html"
8036            class="dropdown-list-item"
8037        >Karma dla żółwi wodnych</a>
8038    </li>
8039                                    
8040    <li class="level-2">
8041        <a
8042            href="https://fera.pl/gady-i-plazy/karma-dla-gadow-i-plazow/karma-dla-gekona.html"
8043            class="dropdown-list-item"
8044        >Karma dla gekona</a>
8045    </li>
8046                                    
8047    <li class="level-2">
8048        <a
8049            href="https://fera.pl/gady-i-plazy/karma-dla-gadow-i-plazow/karma-dla-zab.html"
8050            class="dropdown-list-item"
8051        >Karma dla żab</a>
8052    </li>
8053                            </ul>
8054        </template>
8055    </li>
8056                                                                            
8057    <li
8058        class="level-1"
8059        data-id="category-node-490"
8060        x-data="initSubMenuDesktopItem"
8061        @click.outside="close"
8062    >
8063        <button
8064            type="button"
8065            class="dropdown-list-item"
8066            x-ref="childmenuToggle"
8067            @click="toggle"
8068            aria-expanded="false"
8069            :aria-expanded="open"
8070            aria-controls="category-490-desktop-menu-panel"
8071        >
8072            Podłoże i akcesoria            <svg xmlns="http://www.w3.org/2000/svg"
8073                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
8074                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
8075        </button>
8076        <template x-if="open">
8077            <ul
8078                id="category-490-desktop-menu-panel"
8079                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
8080                x-ref="childMenuWrapper"
8081                @keydown.escape.stop="closeEscape"
8082            >
8083                <li>
8084                    <a
8085                        href="https://fera.pl/gady-i-plazy/podloze-i-akcesoria.html"
8086                        class="dropdown-list-item font-bold"
8087                    >Podłoże i akcesoria - zobacz wszystko</a>
8088                </li>
8089                                    
8090    <li class="level-2">
8091        <a
8092            href="https://fera.pl/gady-i-plazy/podloze-i-akcesoria/podloze-do-terrarium.html"
8093            class="dropdown-list-item"
8094        >Podłoże do terrarium</a>
8095    </li>
8096                            </ul>
8097        </template>
8098    </li>
8099                                                                            
8100    <li
8101        class="level-1"
8102        data-id="category-node-492"
8103        x-data="initSubMenuDesktopItem"
8104        @click.outside="close"
8105    >
8106        <button
8107            type="button"
8108            class="dropdown-list-item"
8109            x-ref="childmenuToggle"
8110            @click="toggle"
8111            aria-expanded="false"
8112            :aria-expanded="open"
8113            aria-controls="category-492-desktop-menu-panel"
8114        >
8115            Dekoracje do terrariów            <svg xmlns="http://www.w3.org/2000/svg"
8116                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
8117                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
8118        </button>
8119        <template x-if="open">
8120            <ul
8121                id="category-492-desktop-menu-panel"
8122                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
8123                x-ref="childMenuWrapper"
8124                @keydown.escape.stop="closeEscape"
8125            >
8126                <li>
8127                    <a
8128                        href="https://fera.pl/gady-i-plazy/dekoracje-do-terrariow.html"
8129                        class="dropdown-list-item font-bold"
8130                    >Dekoracje do terrariów - zobacz wszystko</a>
8131                </li>
8132                                    
8133    <li class="level-2">
8134        <a
8135            href="https://fera.pl/gady-i-plazy/dekoracje-do-terrariow/dekoracje-do-terrarium.html"
8136            class="dropdown-list-item"
8137        >Dekoracje do terrarium</a>
8138    </li>
8139                                    
8140    <li class="level-2">
8141        <a
8142            href="https://fera.pl/gady-i-plazy/dekoracje-do-terrariow/ozdoby-do-terrarium.html"
8143            class="dropdown-list-item"
8144        >Ozdoby do terrarium</a>
8145    </li>
8146                                    
8147    <li class="level-2">
8148        <a
8149            href="https://fera.pl/gady-i-plazy/dekoracje-do-terrariow/kryjowki-dla-gadow-i-plazow.html"
8150            class="dropdown-list-item"
8151        >Kryjówki dla gadów i płazów</a>
8152    </li>
8153                            </ul>
8154        </template>
8155    </li>
8156                                                                            
8157    <li
8158        class="level-1"
8159        data-id="category-node-496"
8160        x-data="initSubMenuDesktopItem"
8161        @click.outside="close"
8162    >
8163        <button
8164            type="button"
8165            class="dropdown-list-item"
8166            x-ref="childmenuToggle"
8167            @click="toggle"
8168            aria-expanded="false"
8169            :aria-expanded="open"
8170            aria-controls="category-496-desktop-menu-panel"
8171        >
8172            Akcesoria do karmienia gadów i płazów            <svg xmlns="http://www.w3.org/2000/svg"
8173                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
8174                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
8175        </button>
8176        <template x-if="open">
8177            <ul
8178                id="category-496-desktop-menu-panel"
8179                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
8180                x-ref="childMenuWrapper"
8181                @keydown.escape.stop="closeEscape"
8182            >
8183                <li>
8184                    <a
8185                        href="https://fera.pl/gady-i-plazy/akcesoria-do-karmienia-gadow-i-plazow.html"
8186                        class="dropdown-list-item font-bold"
8187                    >Akcesoria do karmienia gadów i płazów - zobacz wszystko</a>
8188                </li>
8189                                    
8190    <li class="level-2">
8191        <a
8192            href="https://fera.pl/gady-i-plazy/akcesoria-do-karmienia-gadow-i-plazow/karmniki-i-pesety-dla-gadow-i-plazow.html"
8193            class="dropdown-list-item"
8194        >Karmniki i pęsety dla gadów i płazów</a>
8195    </li>
8196                            </ul>
8197        </template>
8198    </li>
8199                                                                            
8200    <li
8201        class="level-1"
8202        data-id="category-node-498"
8203        x-data="initSubMenuDesktopItem"
8204        @click.outside="close"
8205    >
8206        <button
8207            type="button"
8208            class="dropdown-list-item"
8209            x-ref="childmenuToggle"
8210            @click="toggle"
8211            aria-expanded="false"
8212            :aria-expanded="open"
8213            aria-controls="category-498-desktop-menu-panel"
8214        >
8215            Zdrowie i uroda gadów i płazów            <svg xmlns="http://www.w3.org/2000/svg"
8216                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
8217                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
8218        </button>
8219        <template x-if="open">
8220            <ul
8221                id="category-498-desktop-menu-panel"
8222                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
8223                x-ref="childMenuWrapper"
8224                @keydown.escape.stop="closeEscape"
8225            >
8226                <li>
8227                    <a
8228                        href="https://fera.pl/gady-i-plazy/zdrowie-i-uroda-gadow-i-plazow.html"
8229                        class="dropdown-list-item font-bold"
8230                    >Zdrowie i uroda gadów i płazów - zobacz wszystko</a>
8231                </li>
8232                                    
8233    <li class="level-2">
8234        <a
8235            href="https://fera.pl/gady-i-plazy/zdrowie-i-uroda-gadow-i-plazow/odzywki-i-witaminy-dla-gadow-i-plazow.html"
8236            class="dropdown-list-item"
8237        >Odżywki i witaminy dla gadów i płazów</a>
8238    </li>
8239                            </ul>
8240        </template>
8241    </li>
8242                                                                            
8243    <li
8244        class="level-1"
8245        data-id="category-node-500"
8246        x-data="initSubMenuDesktopItem"
8247        @click.outside="close"
8248    >
8249        <button
8250            type="button"
8251            class="dropdown-list-item"
8252            x-ref="childmenuToggle"
8253            @click="toggle"
8254            aria-expanded="false"
8255            :aria-expanded="open"
8256            aria-controls="category-500-desktop-menu-panel"
8257        >
8258            Terraria i akcesoria            <svg xmlns="http://www.w3.org/2000/svg"
8259                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
8260                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
8261        </button>
8262        <template x-if="open">
8263            <ul
8264                id="category-500-desktop-menu-panel"
8265                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
8266                x-ref="childMenuWrapper"
8267                @keydown.escape.stop="closeEscape"
8268            >
8269                <li>
8270                    <a
8271                        href="https://fera.pl/gady-i-plazy/terraria-i-akcesoria.html"
8272                        class="dropdown-list-item font-bold"
8273                    >Terraria i akcesoria - zobacz wszystko</a>
8274                </li>
8275                                    
8276    <li class="level-2">
8277        <a
8278            href="https://fera.pl/gady-i-plazy/terraria-i-akcesoria/terraria.html"
8279            class="dropdown-list-item"
8280        >Terraria</a>
8281    </li>
8282                                    
8283    <li class="level-2">
8284        <a
8285            href="https://fera.pl/gady-i-plazy/terraria-i-akcesoria/klatki-plastikowe.html"
8286            class="dropdown-list-item"
8287        >Klatki plastikowe</a>
8288    </li>
8289                                    
8290    <li class="level-2">
8291        <a
8292            href="https://fera.pl/gady-i-plazy/terraria-i-akcesoria/tlo-do-terrarium.html"
8293            class="dropdown-list-item"
8294        >Tło do terrarium</a>
8295    </li>
8296                                    
8297    <li class="level-2">
8298        <a
8299            href="https://fera.pl/gady-i-plazy/terraria-i-akcesoria/filtry-do-terrarium.html"
8300            class="dropdown-list-item"
8301        >Filtry do terrarium</a>
8302    </li>
8303                                    
8304    <li class="level-2">
8305        <a
8306            href="https://fera.pl/gady-i-plazy/terraria-i-akcesoria/akcesoria-do-terrarium.html"
8307            class="dropdown-list-item"
8308        >Akcesoria do terrarium</a>
8309    </li>
8310                            </ul>
8311        </template>
8312    </li>
8313                                                                            
8314    <li
8315        class="level-1"
8316        data-id="category-node-506"
8317        x-data="initSubMenuDesktopItem"
8318        @click.outside="close"
8319    >
8320        <button
8321            type="button"
8322            class="dropdown-list-item"
8323            x-ref="childmenuToggle"
8324            @click="toggle"
8325            aria-expanded="false"
8326            :aria-expanded="open"
8327            aria-controls="category-506-desktop-menu-panel"
8328        >
8329            Czyszczenie i utrzymanie            <svg xmlns="http://www.w3.org/2000/svg"
8330                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
8331                 width="24" 
8331height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
8332        </button>
8333        <template x-if="open">
8334            <ul
8335                id="category-506-desktop-menu-panel"
8336                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
8337                x-ref="childMenuWrapper"
8338                @keydown.escape.stop="closeEscape"
8339            >
8340                <li>
8341                    <a
8342                        href="https://fera.pl/gady-i-plazy/czyszczenie-i-utrzymanie.html"
8343                        class="dropdown-list-item font-bold"
8344                    >Czyszczenie i utrzymanie - zobacz wszystko</a>
8345                </li>
8346                                    
8347    <li class="level-2">
8348        <a
8349            href="https://fera.pl/gady-i-plazy/czyszczenie-i-utrzymanie/utrzymanie-czystosci-w-terrarium.html"
8350            class="dropdown-list-item"
8351        >Utrzymanie czystości w terrarium</a>
8352    </li>
8353                                    
8354    <li class="level-2">
8355        <a
8356            href="https://fera.pl/gady-i-plazy/czyszczenie-i-utrzymanie/utrzymanie-temperatury-w-terrarium.html"
8357            class="dropdown-list-item"
8358        >Utrzymanie temperatury w terrarium</a>
8359    </li>
8360                                    
8361    <li class="level-2">
8362        <a
8363            href="https://fera.pl/gady-i-plazy/czyszczenie-i-utrzymanie/utrzymanie-nawilzenia-w-terrarium.html"
8364            class="dropdown-list-item"
8365        >Utrzymanie nawilżenia w terrarium</a>
8366    </li>
8367                            </ul>
8368        </template>
8369    </li>
8370                                                                            
8371    <li
8372        class="level-1"
8373        data-id="category-node-510"
8374        x-data="initSubMenuDesktopItem"
8375        @click.outside="close"
8376    >
8377        <button
8378            type="button"
8379            class="dropdown-list-item"
8380            x-ref="childmenuToggle"
8381            @click="toggle"
8382            aria-expanded="false"
8383            :aria-expanded="open"
8384            aria-controls="category-510-desktop-menu-panel"
8385        >
8386            Ogrzewanie i oświetlenie            <svg xmlns="http://www.w3.org/2000/svg"
8387                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
8388                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
8389        </button>
8390        <template x-if="open">
8391            <ul
8392                id="category-510-desktop-menu-panel"
8393                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
8394                x-ref="childMenuWrapper"
8395                @keydown.escape.stop="closeEscape"
8396            >
8397                <li>
8398                    <a
8399                        href="https://fera.pl/gady-i-plazy/ogrzewanie-i-oswietlenie.html"
8400                        class="dropdown-list-item font-bold"
8401                    >Ogrzewanie i oświetlenie - zobacz wszystko</a>
8402                </li>
8403                                    
8404    <li class="level-2">
8405        <a
8406            href="https://fera.pl/gady-i-plazy/ogrzewanie-i-oswietlenie/grzalki-do-terrarium.html"
8407            class="dropdown-list-item"
8408        >Grzałki do terrarium</a>
8409    </li>
8410                                    
8411    <li class="level-2">
8412        <a
8413            href="https://fera.pl/gady-i-plazy/ogrzewanie-i-oswietlenie/zarowki-do-terrarium.html"
8414            class="dropdown-list-item"
8415        >Żarówki do terrarium</a>
8416    </li>
8417                                    
8418    <li class="level-2">
8419        <a
8420            href="https://fera.pl/gady-i-plazy/ogrzewanie-i-oswietlenie/oswietlenie-terrarium.html"
8421            class="dropdown-list-item"
8422        >Oświetlenie terrarium</a>
8423    </li>
8424                            </ul>
8425        </template>
8426    </li>
8427                                                                    </ul>
8428                            </div>
8429                            <template x-if="$store.banners.activeBanners.length">
8430                                <div class="flex flex-col gap-2 p-4 border-l border-slate-100 overflow-auto">
8431                                    <template x-for="(banner, index) in $store.banners.activeBanners" :key="index">
8432                                        <a class="block border border-slate-100 rounded-2xl overflow-hidden" :href="banner.url">
8433                                            <img :src="banner.image" :alt="banner.title ?? ''" loading="lazy" class="w-full h-auto" />
8434                                        </a>
8435                                    </template>
8436                                </div>
8437                            </template>
8438                        </div>
8439                    </template>
8440                </li>
8441                                                            <li
8442                    class="level-0 flex gap-y-1 flex-shrink-0 whitespace-nowrap"
8443                    data-id="category-514"
8444                    @click.outside="close(false)"
8445                    @keydown.escape="close"
8446                    @mouseenter="canHoverOpen"
8447                    @mouseleave="canHoverClose"
8448                >
8449                    <a
8450                        href="https://fera.pl/dom.html"
8451                        class="btn btn-nav"
8452                                            >
8453                        Dom                    </a>
8454                    <button
8455                        data-id="category-514"
8456                        type="button"
8457                        class="group btn btn-flat btn-icon-size-s sr-only focu
8457s:not-sr-only"
8458                        @click="toggle"
8459                        aria-expanded="false"
8460                        :aria-expanded="openDropdownId === 'category-514'"
8461                        aria-controls="desktop-menu-category-514"
8462                        x-ref="btn_category-514"
8463                    >
8464                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="transition group-aria-expanded:rotate-180 text-slate-400 group-aria-expanded:text-inherit" width="24" height="24" aria-hidden="true">
8465  <path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd"/>
8466</svg>
8467                    </button>
8468                    <template x-if="openDropdownId === 'category-514'">
8469                        <div
8470                            id="desktop-menu-category-514"
8471                            class="menu-dropdown grid absolute top-full inset-x-0 mt-4 border-t-2 border-primary rounded-3xl bg-white shadow-xl max-h-[70vh] overflow-y-auto"
8472                            :class="{ 'grid-cols-3': $store.banners.activeBanners.length }"
8473                            x-ref="childmenu_category-514"
8474                            x-transition
8475                        >
8476                            <div
8477                                class="flex overflow-x-auto"
8478                                :class="{ 'col-span-2': $store.banners.activeBanners.length }"
8479                            >
8480                                <ul class="relative flex flex-col gap-1 py-2.5 px-2 min-w-72">
8481                                                                            
8482    <li class="level-1">
8483        <a
8484            href="https://fera.pl/dom/detergenty-i-maseczki.html"
8485            class="dropdown-list-item"
8486        >Detergenty i maseczki</a>
8487    </li>
8488                                                                            
8489    <li class="level-1">
8490        <a
8491            href="https://fera.pl/dom/kosze-i-pojemniki.html"
8492            class="dropdown-list-item"
8493        >Kosze i pojemniki</a>
8494    </li>
8495                                                                            
8496    <li class="level-1">
8497        <a
8498            href="https://fera.pl/dom/skrzynie-do-warsztatu.html"
8499            class="dropdown-list-item"
8500        >Skrzynie do warsztatu</a>
8501    </li>
8502                                                                            
8503    <li class="level-1">
8504        <a
8505            href="https://fera.pl/dom/pozostale-dla-domu.html"
8506            class="dropdown-list-item"
8507        >Pozostałe dla domu</a>
8508    </li>
8509                                                                            
8510    <li
8511        class="level-1"
8512        data-id="category-node-519"
8513        x-data="initSubMenuDesktopItem"
8514        @click.outside="close"
8515    >
8516        <button
8517            type="button"
8518            class="dropdown-list-item"
8519            x-ref="childmenuToggle"
8520            @click="toggle"
8521            aria-expanded="false"
8522            :aria-expanded="open"
8523            aria-controls="category-519-desktop-menu-panel"
8524        >
8525            Akcesoria ogrodnicze            <svg xmlns="http://www.w3.org/2000/svg"
8526                 class="text-slate-400 group-aria-expanded:text-inherit group-data-[has-current]:text-inherit"
8527                 width="24" height="24" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
8528        </button>
8529        <template x-if="open">
8530            <ul
8531                id="category-519-desktop-menu-panel"
8532                class="absolute top-0 left-full min-w-72 min-h-full border-l border-slate-100 bg-white flex flex-col gap-1 py-2 px-3"
8533                x-ref="childMenuWrapper"
8534                @keydown.escape.stop="closeEscape"
8535            >
8536                <li>
8537                    <a
8538                        href="https://fera.pl/dom/akcesoria-ogrodnicze.html"
8539                        class="dropdown-list-item font-bold"
8540                    >Akcesoria ogrodnicze - zobacz wszystko</a>
8541                </li>
8542                                    
8543    <li class="level-2">
8544        <a
8545            href="https://fera.pl/dom/akcesoria-ogrodnicze/kosiarki.html"
8546            class="dropdown-list-item"
8547        >Kosiarki</a>
8548    </li>
8549                                    
8550    <li class="level-2">
8551        <a
8552            href="https://fera.pl/dom/akcesoria-ogrodnicze/siewniki-do-traw.html"
8553            class="dropdown-list-item"
8554        >Siewniki do traw</a>
8555    </li>
8556                                    
8557    <li class="level-2">
8558        <a
8559            href="https://fera.pl/dom/akcesoria-ogrodnicze/zraszacze-ogrodowe.html"
8560            class="dropdown-list-item"
8561        >Zraszacze ogrodowe</a>
8562    </li>
8563                                    
8564    <li class="level-2">
8565        <a
8566            href="https://fera.pl/dom/akcesoria-ogrodnicze/weze-ogrodowe.html"
8567            class="dropdown-list-item"
8568        >Węże ogrodowe</a>
8569    </li>
8570                                    
8571    <li class="level-2">
8572        <a
8573            href="https://fera.pl/dom/akcesoria-ogrodnicze/wozki-i-bebny-na-weze-ogrodowe.html"
8574            class="dropdown-list-item"
8575        >Wózki i bębny na węże ogrodowe</a>
8576    </li>
8577                                    
8578    <li class="level-2">
8579        <a
8580            href="https://fera.pl/dom/akcesoria-ogrodnicze/narzedzia-ogrodnicze.html"
8581            class="dropdown-list-item"
8582        >Narzędzia ogrodnicze</a>
8583    </li>
8584                            </ul>
8585        </template>
8586    </li>
8587                                                                            
8588    <li class="level-1">
8589        <a
8590            href="https://fera.pl/dom/ochrona-przed-komarami.html"
8591            class="dropdown-list-item"
8592        >Ochrona przed komarami</a>
8593    </li>
8594                                                                            
8595    <li class="level-1">
8596        <a
8597            href="https://fera.pl/dom/ochrona-przed-szkodnikami.html"
8598            class="dropdown-list-item"
8599        >Ochrona przed szkodnikami</a>
8600    </li>
8601                                                                    </ul>
8602                            </div>
8603                            <template x-if="$store.banners.activeBanners.length">
8604                                <div class="flex flex-col gap-2 p-4 border-l border-slate-100 overflow-auto">
8605                                    <template x-for="(banner, index) in $store.banners.activeBanners" :key="index">
8606                                        <a class="block border border-slate-100 rounded-2xl overflow-hidden" :href="banner.url">
8607                                            <img :src="banner.image" :alt="banner.title ?? ''" loading="lazy" class="w-full h-auto" />
8608                                        </a>
8609                                    </template>
8610                                </div>
8611                            </template>
8612                        </div>
8613                    </template>
8614                </li>
8615                        </ul>
8616</nav>
8617
8618<script>
8619    function initMenuDesktop() {
8620        return {
8621            openDropdownId: null,
8622            hoverTimeout: null,
8623            init() {
8624                this.$watch('openDropdownId', value => {
8625                    document.body.toggleAttribute('data-open-menu', !!value);
8626                });
8627            },
8628            setOpen(id, state = true, focusRef = null) {
8629                this.openDropdownId = state ? id : null;
8630
8631                if (!state) {
8632                    document.documentElement.style.setProperty("--menu-dropdown-height", 'unset');
8633                }
8634
8635                this.$store.banners.setActiveBanners(state ? id : []);
8636
8637                this.$nextTick(() => {
8638                    if (focusRef) {
8639                        const el = this.$refs[focusRef];
8640                        el?.querySelector('a, button')?.focus();
8641                    }
8642                });
8643            },
8644            canHover() {
8645                return window.matchMedia('(hover: hover) and (pointer: fine)').matches;
8646            },
8647            canHoverOpen() {
8648                if (!this.canHover()) return;
8649                if (this.hoverTimeout) {
8650                    clearTimeout(this.hoverTimeout);
8651                    this.hoverTimeout = null;
8652                }
8653                this.setOpen(this.$el.dataset.id);
8654            },
8655            canHoverClose() {
8656                const id = this.$el.dataset.id;
8657
8658                if (!this.canHover()) return;
8659                if (this.hoverTimeout) {
8660                    clearTimeout(this.hoverTimeout);
8661                }
8662                this.hoverTimeout = setTimeout(() => {
8663                    this.setOpen(id, false);
8664                    this.hoverTimeout = null;
8665                }, 200);
8666            },
8667            toggle() {
8668                const id = this.$el.dataset.id;
8669                this.setOpen(id, this.openDropdownId !== id, 'childMenuDropdown');
8670            },
8671            close() {
8672                const id = this.$el.dataset.id;
8673                if (this.openDropdownId === id) {
8674                    this.setOpen(id, false);
8675                    const btnRef = this.$refs['btn_' + id];
8676                    if (btnRef) btnRef.focus();
8677                }
8678            }
8679        }
8680    }
8681
8682    function initSubMenuDesktopItem() {
8683        return {
8684            open: false,
8685            setOpen(state) {
8686                this.open = state;
8687
8688                this.$nextTick(() => {
8689                    const documentElementStyle = document.documentElement.style;
8690
8691                    if (state) {
8692                        const childMenuWrapper = this.$refs.childMenuWrapper,
8693                            parentElement = this.$root.parentElement;
8694
8695                        if (childMenuWrapper?.scrollHeight > parentElement.offsetHeight) {
8696                            documentElementStyle.setProperty("--menu-dropdown-height", `${childMenuWrapper.scrollHeight}px`);
8697                        }
8698
8699                        childMenuWrapper?.querySelector('a, button, ul > li > button, ul > li > a')?.focus();
8700                        childMenuWrapper?.scrollIntoView({
8701                            behavior: 'smooth',
8702                            block: 'nearest',
8703                            inline: 'end'
8704                        });
8705                    } else {
8706                        documentElementStyle.setProperty("--menu-dropdown-height", 'unset');
8707                    }
8708                });
8709            },
8710            toggle() {
8711                const state = !this.open;
8712                const id = state ? this.$root.dataset.id : this.$refs.childmenuToggle.closest('ul').closest('li[data-id]').dataset.id;
8713                this.$store.banners.setActiveBanners(id);
8714                this.setOpen(state);
8715            },
8716            close() {
8717                if (this.open) {
8718                    this.setOpen(false);
8719                    this.$refs.childmenuToggle.focus();
8720                }
8721            },
8722            closeEscape() {
8723                this.$store.banners.setActiveBanners(this.$refs.childmenuToggle.closest('ul').closest('li[data-id]').dataset.id);
8724
8725                this.close();
8726            }
8727        }
8728    }
8729
8730    window.addEventListener('alpine:init', () => {
8731        Alpine.store('banners', {
8732            banners: {"category-node-6":[{"title":"Przysmaki i smaczki","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/przysmaki_i_smaczki_16.png","url":"\/pies\/przysmaki-dla-psa.html"},{"title":"Mega Okazje","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/mega_okazje_11.png","url":"\/promocje\/promocja-megaokazje.html"},{"title":"Pch\u0142y i kleszcze ","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/pch_y_i_kleszcze_9.png","url":"\/pies\/pchly-klesz
8732cze-i-pasozyty.html"},{"title":"Poznaj ofert\u0119 Royal Canin","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/PSR-e-com-FERA-_kampania-og_lna-472x100.jpg","url":"\/inspiracje\/royal-canin-poznaj-oferte-karm.html"},{"title":"Poznaj ofert\u0119 Simply From Nature","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/simply_472x100.png","url":"\/marki\/simply-from-nature.html"}],"category-node-9":[{"title":"Royal Canin","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/royal_canin.png","url":"\/marki\/royal-canin.html"},{"title":"Hill's","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/hills.png","url":"\/marki\/hills.html"},{"title":"Promocje","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/promocje_7.png","url":"\/promocje.html"}],"category-node-90":[{"title":"Royal Canin","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/royal_canin_1.png","url":"\/marki\/royal-canin.html"},{"title":"Przysmaki i smaczki","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/przysmaki_i_smaczki_17.png","url":"\/pies\/przysmaki-dla-psa.html"},{"title":"Nowo\u015bci","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/nowo_ci_7.png","url":"\/inspiracje\/nowosci.html"}],"category-node-27":[{"title":"Josera","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/7.png","url":"\/marki\/josera-pl.html"},{"title":"Royal Canin","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/royal_canin_1_1.png","url":"\/marki\/royal-canin.html"},{"title":"Hill's","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/hills_1.png","url":"\/marki\/hills.html"},{"title":"Pedigree","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/pedigree.png","url":"\/marki\/pedigree.html"},{"title":"Simply From Nature","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/simply_from_nature_1.png","url":"\/marki\/simply-from-nature.html"}],"category-node-110":[{"title":"Nowo\u015bci","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/nowo_ci_6.png","url":"\/inspiracje\/nowosci.html"},{"title":"Mega Okazje","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/mega_okazje_12.png","url":"\/promocje\/promocja-megaokazje.html"},{"title":"Simply From Nature","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/simply_from_nature_2.png","url":"\/marki\/simply-from-nature.html"}],"category-node-123":[{"title":"Pch\u0142y i kleszcze","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/pch_y_i_kleszcze_10.png","url":"\/pies\/pchly-kleszcze-i-pasozyty.html"},{"title":"Mega Okazje","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/mega_okazje_14.png","url":"\/promocje\/promocja-megaokazje.html"},{"title":"Game Dog","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/Kategoria.png","url":"\/inspiracje\/game-dog-kompleks-witamin-i-mineralow-dla-psa.html"},{"title":"CESTAL PLUS oferta","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/Cestal-Plus-472x100.png","url":"\/inspiracje\/cestal-plus-tabletki-do-odrobaczania-dla-psow.html"}],"category-node-131":[{"title":"Pch\u0142y i kleszcze","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/pch_y_i_kleszcze_11.png","url":"\/pies\/pchly-kleszcze-i-pasozyty.html"},{"title":"Mega Okazje","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/mega_okazje_15.png","url":"\/promocje\/promocja-megaokazje.html"},{"title":"Promocje","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/promocje_10.png","url":"\/promocje.html"},{"title":"VECTRA 3D oferta","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/Vectra-3D-472x100.png","url":"\/inspiracje\/vectra-3d-stop-dla-ukaszen.html"}],"category-node-117":[{"title":"Mega Okazje","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/mega_okazje_13.png","url":"\/promocje\/promocja-megaokazje.html"},{"title":"Promocje","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/promocje_8.png","url":"\/promocje.html"}],"category-node-143":[{"title":"Mega Okazje","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/mega_okazje_17.png","url":"\/promocje\/promocja-megaokazje.html"},{"title":"Promocje","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/promocje_12.png","url":"\/promocje.html"},{"title":"DOUXO oferta","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/DOUXO-Spa-OK-472x100.png","url":"\/inspiracje\/douxo-ultra-bezpieczna-linia-pielegnacyjna-dla-zwierzat.html"}],"category-node-151":[{"title":"Mega Okazje","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/mega_okazje_18.png","url":"\/promocje\/promocja-megaokazje.html"},{"title":"Promocje","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/promocje_13.png","url":"\/promocje.html"}],"category-node-165":[{"title":"Mega Okazje","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/mega_okazje_20.png","url":"\/promocje\/promocja-megaokazje.html"},{"title":"Promocje","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/promocje_15.png","url":"\/promocje.html"}],"category-node-173":[{"title":"Mega Okazje","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/mega_okazje_21.png","url":"\/promocje\/promocja-megaokazje.html"},{"title":"Promocje","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/promocje_16.png","url":"\/promocje.html"},{"title":"ADAPTIL oferta","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/Adaptil-472x100.png","url":"\/inspiracje\/adaptil-pomaga-psom-zachowac-spokoj-i-odnalezc-sie-w-kazdej-sytuacji.html"}],"category-node-183":[{"title":"Mega Okazje","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/mega_okazje_22.png","url":"\/promocje\/promocja-megaokazje.html"},{"title":"Promocje","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/promocje_17.png","url":"\/promocje.html"}],"category-node-188":[{"title":"Pch\u0142y i kleszcze","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/pch_y_i_kleszcze.png","url":"\/kot\/pchly-i-kleszcze.html"},{"title":"Promocja VOSKES","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/Baner_voskes_100__miesa_472x100pix_kopia.png","url":"\/promocje\/promocja-voskes-jelly-tuna-w-niskich-cenach.html"},{"title":"KATIDO oferta","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/katido_472_x_100_px.png","url":"\/inspiracje\/katido-smak-ktory-koty-kochaja.html"},{"title":"Poznaj ofert\u0119 Royal Canin","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/PSR-e-com-FERA
8732-_kampania-og_lna-472x100_1.jpg","url":"\/inspiracje\/royal-canin-poznaj-oferte-karm.html"},{"title":"Poznaj ofert\u0119 Aristocat","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/aristo_472x100.png","url":"\/marki\/aristocat.html"}],"category-node-207":[{"title":"\u017bwirek dla kota","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/_wirek_dla_kota_2.png","url":"\/kot\/kuwety-i-zwirki\/zwirek-dla-kota.html"},{"title":"Przysmaki i smaczki","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/przysmaki_i_smaczki_2.png","url":"\/kot\/przysmaki-dla-kota.html"},{"title":"Promocje","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/promocje_1.png","url":"\/promocje.html"}],"category-node-191":[{"title":"\u017bwirek dla kota","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/_wirek_dla_kota_3.png","url":"\/kot\/kuwety-i-zwirki\/zwirek-dla-kota.html"},{"title":"Pch\u0142y i kleszcze","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/pch_y_i_kleszcze_1.png","url":"\/pchly-i-kleszcze.html"},{"title":"Przysmaki i smaczki","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/przysmaki_i_smaczki_3.png","url":"\/kot\/przysmaki-dla-kota.html"}],"category-node-225":[{"title":"\u017bwirek dla kota","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/_wirek_dla_kota_5.png","url":"\/kot\/kuwety-i-zwirki\/zwirek-dla-kota.html"},{"title":"Pch\u0142y i kleszcze","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/pch_y_i_kleszcze_3.png","url":"\/pchly-i-kleszcze.html"},{"title":"Przysmaki i smaczki","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/przysmaki_i_smaczki_5.png","url":"\/kot\/przysmaki-dla-kota.html"},{"title":"Promocje","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/promocje_3.png","url":"\/promocje.html"},{"title":"Nowo\u015bci","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/nowo_ci_2.png","url":"\/inspiracje\/nowosci.html"}],"category-node-268":[{"title":"Nowo\u015bci","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/nowo_ci_3.png","url":"\/inspiracje\/nowosci.html"},{"title":"Mega Okazje","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/mega_okazje_1.png","url":"\/promocje\/promocja-megaokazje.html"},{"title":"\u017bwirek dla kota","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/_wirek_dla_kota_6.png","url":"\/kot\/kuwety-i-zwirki\/zwirek-dla-kota.html"},{"title":"Przysmaki i smaczki","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/przysmaki_i_smaczki_6.png","url":"\/kot\/przysmaki-dla-kota.html"}],"category-node-278":[{"title":"Pch\u0142y i kleszcze","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/pch_y_i_kleszcze_4.png","url":"\/pchly-i-kleszcze.html"},{"title":"Mega Okazje","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/mega_okazje_3.png","url":"\/promocje\/promocja-megaokazje.html"},{"title":"Promocje","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/promocje_4.png","url":"\/promocje.html"},{"title":"CESTAL CAT oferta","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/Cestal-Cat-472x100.png","url":"\/inspiracje\/cestal-cat-tabletki-do-odrobaczania-dla-kotow.html"},{"title":"FELIWAY oferta","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/Feliway_472x100.png","url":"\/inspiracje\/feliway-uspokajajace-rozwiazania-dla-twojego-kota.html"}],"category-node-299":[{"title":"Przysmaki i smaczki","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/przysmaki_i_smaczki_10.png","url":"\/kot\/przysmaki-dla-kota.html"},{"title":"Pch\u0142y i kleszcze","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/pch_y_i_kleszcze_6.png","url":"\/pchly-i-kleszcze.html"},{"title":"Mega Okazje","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/mega_okazje_5.png","url":"\/promocje\/promocja-megaokazje.html"}],"category-node-288":[{"title":"Mega Okazje","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/mega_okazje_4.png","url":"\/promocje\/promocja-megaokazje.html"},{"title":"Przysmaki i smaczki","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/przysmaki_i_smaczki_8.png","url":"\/kot\/przysmaki-dla-kota.html"},{"title":"\u017bwirek dla kota","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/_wirek_dla_kota_8.png","url":"\/kot\/kuwety-i-zwirki\/zwirek-dla-kota.html"}],"category-node-272":[{"title":"Przysmaki i smaczki","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/przysmaki_i_smaczki_7.png","url":"\/kot\/przysmaki-dla-kota.html"},{"title":"\u017bwirek dla kota","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/_wirek_dla_kota_7.png","url":"\/kot\/kuwety-i-zwirki\/zwirek-dla-kota.html"},{"title":"Mega Okazje","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/mega_okazje_2.png","url":"\/promocje\/promocja-megaokazje.html"}],"category-node-304":[{"title":"Pch\u0142y i kleszcze","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/pch_y_i_kleszcze_7.png","url":"\/pchly-i-kleszcze.html"},{"title":"Przysmaki i smaczki","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/przysmaki_i_smaczki_11.png","url":"\/kot\/przysmaki-dla-kota.html"},{"title":"\u017bwirek dla kota","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/_wirek_dla_kota_10.png","url":"\/kot\/kuwety-i-zwirki\/zwirek-dla-kota.html"},{"title":"Mega Okazje","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/mega_okazje_6.png","url":"\/promocje\/promocja-megaokazje.html"},{"title":"DOUXO oferta","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/DOUXO-Spa-OK-472x100_1.png","url":"\/inspiracje\/douxo-ultra-bezpieczna-linia-pielegnacyjna-dla-zwierzat.html"}],"category-node-318":[{"title":"Mega Okazje","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/mega_okazje_9.png","url":"\/promocje\/promocja-megaokazje.html"},{"title":"Przysmaki i smaczki","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/przysmaki_i_smaczki_14.png","url":"\/kot\/przysmaki-dla-kota.html"},{"title":"Pch\u0142y i kleszcze","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/pch_y_i_kleszcze_8.png","url":"\/pchly-i-kleszcze.html"}],"category-node-325":[{"title":"Promocje","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/promocje_6.png","url":"\/promocje.html"},{"title":"Mega Okazje","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/mega_okazje_10.png","url":"\/promocje\/promocja-megaokazje.html"},{"title":"Nowo\u015bci","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/nowo_ci_5.png","url":"\/inspiracje\/nowosci.html"},{"title":"Przysmaki i smaczki","image":"https:\/\/media.fera.pl\/catalog\/menu_banner\/przysmaki_i_smaczki_15.png","url":"\/kot\/przysmaki-dla-kota.html"}]},
8733            activeBanners: [],
8734            setActiveBanners(itemId) {
8735                this.activeBanners = this.banners[itemId] || [];
8736            }
8737        });
8738        Alpine.data('initMenuDesktop', initMenuDesktop);
8739        Alpine.data('initSubMenuDesktopItem', initSubMenuDesktopItem);
8740    });
8741</script>
8741
8742
8743            <div class="flex items-center gap-4">
8744                
8745    <nav
8746        class="
8747                        navigation grow hidden xl:block
8748        "
8749        aria-label="Shortcuts&#x20;Menu"
8750        x-data="initMenuDesktop_6ab4f727e88f4()"
8751    >
8752        <ul class="flex gap-x-1">
8753                                            <li
8754                    class="level-0 flex gap-y-1 flex-shrink-0 whitespace-nowrap
8755                        "
8756                    data-id="42"
8757                    @click.outside="close(false)"
8758                    @keydown.escape="close"
8759                    @mouseenter="canHoverOpen"
8760                    @mouseleave="canHoverClose"
8761                >
8762                        <a href="https://fera.pl/promocje.html"
8763       class="btn btn-nav "
8764                    data-menu="menu-42"
8765            >
8766        Promocje    </a>
8767
8768
8769                                            <button
8770                            data-id="42"
8771                            type="button"
8772                            class="group btn btn-flat btn-icon-size-s sr-only focus:not-sr-only"
8773                            @click="toggle"
8774                            aria-expanded="false"
8775                            :aria-expanded="openSubmenuId === '42'"
8776                            x-ref="btn_42"
8777                        >
8778                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="transition group-aria-expanded:rotate-180 text-slate-400 group-aria-expanded:text-inherit" width="24" height="24" aria-hidden="true">
8779  <path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd"/>
8780</svg>
8781                        </button>
8782                    
8783                                    <template x-if="openSubmenuId === '42'">
8784            <div
8785                class="menu-dropdown grid absolute top-full inset-x-0 mt-4 p-4 border-t-2 border-primary rounded-3xl bg-white shadow-xl max-h-[70vh] overflow-y-auto"
8786                x-ref="submenu-42"
8787                x-transition
8788            >
8789                <ul
8790                    class="grid grid-cols-10 gap-2"
8791                    title="Submenu for Promocje"
8792                >
8793                                                                    <li
8794                            class="w-full "
8795                        >
8796                                <a href="https://fera.pl/promocje/promocja-megaokazje.html"
8797       class="flex flex-col items-center rounded-xl bg-container h-full "
8798                    data-menu="menu-46"
8799            >
8800
8801                    <img
8802                class="block w-full rounded-xl border border-secondary-lighter"
8803                src="https://media.fera.pl/snowdog/menu/node/p/r/promo-megaokazje.png"
8804                alt=""
8805                loading="lazy"
8806                width="150"
8807                height="150"
8808            />
8809        
8810        <span class="flex flex-wrap items-center grow px-1 min-h-14 text-sm whitespace-normal">
8811            MegaOkazje        </span>
8812    </a>
8813
8814                        </li>
8815                                                                    <li
8816                            class="w-full "
8817                        >
8818                                <a href="https://fera.pl/promocje/promocja-furminator-do-zestawu-zabawka-gratis.html"
8819       class="flex flex-col items-center rounded-xl bg-container h-full "
8820                    data-menu="menu-48"
8821            >
8822
8823                    <img
8824                class="block w-full rounded-xl border border-secondary-lighter"
8825                src="https://media.fera.pl/snowdog/menu/node/p/r/promo-furminator-zabawka.png"
8826                alt=""
8827                loading="lazy"
8828                width="150"
8829                height="150"
8830            />
8831        
8832        <span class="flex flex-wrap items-center grow px-1 min-h-14 text-sm whitespace-normal">
8833            Zabawka GRATIS do FURMINATORA        </span>
8834    </a>
8835
8836                        </li>
8837                                                                    <li
8838                            class="w-full "
8839                        >
8840                                <a href="https://fera.pl/promocje/promocja-paka-zwierzaka-zestaw-karmy-suchej-lub-mokrej-z-zabawka-gratis.html"
8841       class="flex flex-col items-center rounded-xl bg-container h-full "
8842                    data-menu="menu-49"
8843            >
8844
8845                    <img
8846                class="block w-full rounded-xl border border-secondary-lighter"
8847                src="https://media.fera.pl/snowdog/menu/node/p/r/promo-paka-zabawka.png"
8848                alt=""
8849                loading="lazy"
8850                width="150"
8851                height="150"
8852            />
8853        
8854        <span class="flex flex-wrap items-center grow px-1 min-h-14 text-sm whitespace-normal">
8855            PAKA ZWIERZAKA z zabawką GRATIS        </span>
8856    </a>
8857
8858                        </li>
8859                                                                    <li
8860                            class="w-full "
8861                        >
8862                                <a href="https://fera.pl/promocje/promocja-dolina-noteci-wybierz-przysmaki-w-pakietach-i-skorzystaj-z-20-rabatu.html"
8863       class="flex flex-col items-center rounded-xl bg-container h-full "
8864                    data-menu="menu-50"
8865            >
8866
8867                    <img
8868                class="block w-full rounded-xl border border-secondary-lighter"
8869                src="https://media.fera.pl/snowdog/menu/node/p/r/promo-dolina-przysmaki.png"
8870                alt=""
8871                loading="lazy"
8872                width="150"
8873                height="150"
8874            />
8875        
8876        <span class="flex flex-wrap items-center grow px-1 min-h-14 text-sm whitespace-normal">
8877            Przysmaki DOLINA NOTECI -20%        </span>
8878    </a>
8879
8880                        </li>
8881                                                                    <li
8882                            class="w-full "
8883                        >
8884                                <a href="https://fera.pl/promocje/promocja-acana-wielka-dosypka-kup-duzy-worek-i-odbierz-2kg-gratis.html"
8885       class="flex flex-col items-center rounded-xl bg-container h-full "
8886                    data-menu="menu-102"
8887            >
8888
8889                    <img
8890                class="block w-full rounded-xl border border-secondary-lighter"
8891                src="https://media.fera.pl/snowdog/menu/node/w/_/w.dosypka_logo_akcji_inspiracyjnej-promocji-170x200.jpg"
8892                alt=""
8893                loading="lazy"
8894                width="150"
8895                height="150"
8896            />
8897        
8898        <span class="flex flex-wrap items-center grow px-1 min-h-14 text-sm whitespace-normal">
8899            ACANA wielka dosypka kup duży worek i odbierz 2kg GRATIS        </span>
8900    </a>
8901
8902                        </li>
8903                                                                    <li
8904                            class="w-full "
8905                        >
8906                                <a href="https://fera.pl/promocje/promocja-butcher-s-20-na-wybrane-karmy-mokre-dla-psa.html"
8907       class="flex flex-col items-center rounded-xl bg-container h-full "
8908                    data-menu="menu-103"
8909            >
8910
8911                    <img
8912                class="block w-full rounded-xl border border-secondary-lighter"
8913                src="https://media.fera.pl/snowdog/menu/node/b/u/butchers_bo_170x200.jpg"
8914                alt=""
8915                loading="lazy"
8916                width="150"
8917                height="150"
8918            />
8919        
8920        <span class="flex flex-wrap items-center grow px-1 min-h-14 text-sm whitespace-normal">
8921            Promocja BUTCHER&#039;S -20% na wybrane karmy mokre dla psa        </span>
8922    </a>
8923
8924                        </li>
8925                                                                    <li
8926                            class="w-full "
8927                        >
8928                                <a href="https://fera.pl/promocje/promocja-beaphar-10-na-wybrane-produkty.html"
8929       class="flex flex-col items-center rounded-xl bg-container h-full "
8930                    data-menu="menu-105"
8931            >
8932
8933                    <img
8934                class="block w-full rounded-xl border border-secondary-lighter"
8935                src="https://media.fera.pl/snowdog/menu/node/b/e/beaphar-170x200.png"
8936                alt=""
8937                loading="lazy"
8938                width="150"
8939                height="150"
8940            />
8941        
8942        <span class="flex flex-wrap items-center grow px-1 min-h-14 text-sm whitespace-normal">
8943            BEAPHAR -10% na wybrane produkty        </span>
8944    </a>
8945
8946                        </li>
8947                                                                    <li
8948                            class="w-full "
8949                        >
8950                                <a href="https://fera.pl/promocje/promocja-dolina-noteci-wydaj-200-zl-odbierz-2-przysmaki-gratis.html"
8951       class="flex flex-col items-center rounded-xl bg-container h-full "
8952                    data-menu="menu-109"
8953            >
8954
8955                    <img
8956                class="block w-full rounded-xl border border-secondary-lighter"
8957                src="https://media.fera.pl/snowdog/menu/node/d/o/dolina_noteci-promo_gratis-170x200.png"
8958                alt=""
8959                loading="lazy"
8960                width="150"
8961                height="150"
8962            />
8963        
8964        <span class="flex flex-wrap items-center grow px-1 min-h-14 text-sm whitespace-normal">
8965            DOLINA NOTECI wydaj 200 zł, odbierz 2 przysmaki gratis        </span>
8966    </a>
8967
8968                        </li>
8969                                                                    <li
8970                            class="w-full "
8971                        >
8972                                <a href="https://fera.pl/promocje/promocja-hill-s-15-na-wybrane-karmy-dla-psa-i-kota.html"
8973       class="flex flex-col items-center rounded-xl bg-container h-full "
8974                    data-menu="menu-113"
8975            >
8976
8977                    <img
8978                class="block w-full rounded-xl border border-secondary-lighter"
8979                src="https://media.fera.pl/snowdog/menu/node/h/i/hills-promo-15off-0926-170x200.png"
8980                alt=""
8981                loading="lazy"
8982                width="150"
8983                height="150"
8984            />
8985        
8986        <span class="flex flex-wrap items-center grow px-1 min-h-14 text-sm whitespace-normal">
8987            HILL&#039;S -15% na wybrane karmy dla psa i kota        </span>
8988    </a>
8989
8990                        </li>
8991                                                                    <li
8992                            class="w-full "
8993                        >
8994                                <a href="https://fera.pl/promocje/promocja-hill-s-duzy-worek-karmy-suchej-dla-kota-zwirek-gratis.html"
8995       class="flex flex-col items-center rounded-xl bg-container h-full "
8996                    data-menu="menu-114"
8997            >
8998
8999                    <img
9000                class="block w-full rounded-xl border border-secondary-lighter"
9001                src="https://media.fera.pl/snowdog/menu/node/h/i/hills-promo-freegift-0926-170x200.png"
9002                alt=""
9003                loading="lazy"
9004                width="150"
9005                height="150"
9006            />
9007        
9008        <span class="flex flex-wrap items-center grow px-1 min-h-14 text-sm whitespace-normal">
9009            HILL&#039;S duży worek karmy suchej dla kota + żwirek GRATIS        </span>
9010    </a>
9011
9012                        </li>
9013                                                                    <li
9014                            class="w-full "
9015                        >
9016                                <a href="https://fera.pl/promocje/promocja-butelka-na-wode-gratis-przy-zakupie-wybranych-karm-za-min-119-zl.html"
9017       class="flex flex-col items-center rounded-xl bg-container h-full "
9018                    data-menu="menu-115"
9019            >
9020
9021                    <img
9022                class="block w-full rounded-xl border border-secondary-lighter"
9023                src="https://media.fera.pl/snowdog/menu/node/1/7/170x200.jpg"
9024                alt=""
9025                loading="lazy"
9026                width="150"
9027                height="150"
9028            />
9029        
9030        <span class="flex flex-wrap items-center grow px-1 min-h-14 text-sm whitespace-normal">
9031            Butelka na wodę GRATIS przy zakupie wybranych karm za min. 119 zł        </span>
9032    </a>
9033
9034                        </li>
9035                                                                    <li
9036                            class="w-full "
9037                        >
9038                                <a href="https://fera.pl/promocje/promocja-arion-nawet-do-5-workow-gratis-przy-zakupie-wybranych-karm-dla-kota.html"
9039       class="flex flex-col items-center rounded-xl bg-container h-full "
9040                    data-menu="menu-118"
9041            >
9042
9043                    <img
9044                class="block w-full rounded-xl border border-secondary-lighter"
9045                src="https://media.fera.pl/snowdog/menu/node/a/r/arion-promo-170x200.png"
9046                alt=""
9047                loading="lazy"
9048                width="150"
9049                height="150"
9050            />
9051        
9052        <span class="flex flex-wrap items-center grow px-1 min-h-14 text-sm whitespace-normal">
9053            ARION nawet do 5 worków GRATIS przy zakupie wybranych karm dla kota        </span>
9054    </a>
9055
9056                        </li>
9057                                                                    <li
9058                            class="w-full "
9059                        >
9060                                <a href="https://fera.pl/promocje/promocja-josera-do-wybranych-duzyc
9060h-opakowan-karm-puszka-400-g-gratis.html"
9061       class="flex flex-col items-center rounded-xl bg-container h-full "
9062                    data-menu="menu-119"
9063            >
9064
9065                    <img
9066                class="block w-full rounded-xl border border-secondary-lighter"
9067                src="https://media.fera.pl/snowdog/menu/node/d/t/dts-7365_meat_lovers_promo_180x200.jpg"
9068                alt=""
9069                loading="lazy"
9070                width="150"
9071                height="150"
9072            />
9073        
9074        <span class="flex flex-wrap items-center grow px-1 min-h-14 text-sm whitespace-normal">
9075            JOSERA do wybranych dużych opakowań karm puszka 400 g GRATIS        </span>
9076    </a>
9077
9078                        </li>
9079                                                                    <li
9080                            class="w-full "
9081                        >
9082                                <a href="https://fera.pl/promocje/promocja-josera-wybrane-karmy-mokre-meat-lovers-5-1-gratis.html"
9083       class="flex flex-col items-center rounded-xl bg-container h-full "
9084                    data-menu="menu-120"
9085            >
9086
9087                    <img
9088                class="block w-full rounded-xl border border-secondary-lighter"
9089                src="https://media.fera.pl/snowdog/menu/node/d/t/dts-7379_meat_lovers_promo_5_1_new_fera_180x200.jpg"
9090                alt=""
9091                loading="lazy"
9092                width="150"
9093                height="150"
9094            />
9095        
9096        <span class="flex flex-wrap items-center grow px-1 min-h-14 text-sm whitespace-normal">
9097            JOSERA wybrane karmy mokre Meat Lovers 5+1 GRATIS        </span>
9098    </a>
9099
9100                        </li>
9101                                                                    <li
9102                            class="w-full "
9103                        >
9104                                <a href="https://fera.pl/promocje/promocja-dolina-noteci-do-wybranych-karm-suszonych-dla-psa-2-przysmaki-gratis.html"
9105       class="flex flex-col items-center rounded-xl bg-container h-full "
9106                    data-menu="menu-121"
9107            >
9108
9109                    <img
9110                class="block w-full rounded-xl border border-secondary-lighter"
9111                src="https://media.fera.pl/snowdog/menu/node/d/o/dolina_noteci-promo_2gratis-170x200.png"
9112                alt=""
9113                loading="lazy"
9114                width="150"
9115                height="150"
9116            />
9117        
9118        <span class="flex flex-wrap items-center grow px-1 min-h-14 text-sm whitespace-normal">
9119            DOLINA NOTECI do wybranych karm suszonych dla psa 2 przysmaki GRATIS        </span>
9120    </a>
9121
9122                        </li>
9123                                                                    <li
9124                            class="w-full "
9125                        >
9126                                <a href="https://fera.pl/promocje/promocja-carnilove-kup-wybrane-karmy-dla-psa-i-kota-za-min-100-zl-i-odbierz-przysmak-gratis.html"
9127       class="flex flex-col items-center rounded-xl bg-container h-full "
9128                    data-menu="menu-222"
9129            >
9130
9131                    <img
9132                class="block w-full rounded-xl border border-secondary-lighter"
9133                src="https://media.fera.pl/snowdog/menu/node/c/a/carnilove-promo_przysmak_gratis-170x200.png"
9134                alt=""
9135                loading="lazy"
9136                width="150"
9137                height="150"
9138            />
9139        
9140        <span class="flex flex-wrap items-center grow px-1 min-h-14 text-sm whitespace-normal">
9141            CARNILOVE kup wybrane karmy dla psa i kota za min. 100 zł i odbierz przysmak GRATIS        </span>
9142    </a>
9143
9144                        </li>
9145                                                                    <li
9146                            class="w-full "
9147                        >
9148                                <a href="https://fera.pl/promocje/promocja-versele-laga-do-karmy-lara-7kg-odswiezacz-deodo-gratis.html"
9149       class="flex flex-col items-center rounded-xl bg-container h-full "
9150                    data-menu="menu-225"
9151            >
9152
9153                    <img
9154                class="block w-full rounded-xl border border-secondary-lighter"
9155                src="https://media.fera.pl/snowdog/menu/node/l/a/lara_deodo_170_x_200_px_1_.png"
9156                alt=""
9157                loading="lazy"
9158                width="150"
9159                height="150"
9160            />
9161        
9162        <span class="flex flex-wrap items-center grow px-1 min-h-14 text-sm whitespace-normal">
9163            VERSELE-LAGA do karmy Lara 7kg odświeżacz Deodo GRATIS        </span>
9164    </a>
9165
9166                        </li>
9167                                    </ul>
9168            </div>
9169        </template>
9170                    </li>
9171                                            <li
9172                    class="level-0 flex gap-y-1 flex-shrink-0 whitespace-nowrap
9173                        "
9174                    data-id="53"
9175                    @click.outside="close(false)"
9176                    @keydown.escape="close"
9177                    @mouseenter="canHoverOpen"
9178                    @mouseleave="canHoverClose"
9179                >
9180                        <a href="https://fera.pl/inspiracje.html"
9181       class="btn btn-nav "
9182                    data-menu="menu-53"
9183            >
9184        Inspiracje    </a>
9185
9186
9187                                            <button
9188                            data-id="53"
9189                            type="button"
9190                            class="group btn btn-flat btn-icon-size-s sr-only focus:not-sr-only"
9191                            @click="toggle"
9192                            aria-expanded="false"
9193                            :aria-expanded="openSubmenuId === '53'"
9194                            x-ref="btn_53"
9195                        >
9196                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="transition group-aria-expanded:rotate-180 text-slate-400 group-aria-expanded:text-inherit" width="24" height="24" aria-hidden="true">
9197  <path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd"/>
9198</svg>
9199                        </button>
9200                    
9201                                    <template x-if="openSubmenuId === '53'">
9202            <div
9203                class="menu-dropdown grid absolute top-full inset-x-0 mt-4 p-4 border-t-2 border-primary rounded-3xl bg-white shadow-xl max-h-[70vh] overflow-y-auto"
9204                x-ref="submenu-53"
9205                x-transition
9206            >
9207                <ul
9208                    class="grid grid-cols-10 gap-2"
9209                    title="Submenu for Inspiracje"
9210                >
9211                                                                    <li
9212                            class="w-full "
9213                        >
9214                                <a href="https://fera.pl/inspiracje/konkurs-im-to-smakuje-dla-psow-rasowych.html"
9215       class="flex flex-col items-center rounded-xl bg-container h-full "
9216                    data-menu="menu-61"
9217            >
9218
9219                    <img
9220                class="block w-full rounded-xl border border-secondary-lighter"
9221                src="https://media.fera.pl/snowdog/menu/node/r/c/rc-konkurs.png"
9222                alt=""
9223                loading="lazy"
9224                width="150"
9225                height="150"
9226            />
9227        
9228        <span class="flex flex-wrap items-center grow px-1 min-h-14 text-sm whitespace-normal">
9229            Konkurs &quot;Im to smakuje&quot; dla psów rasowych        </span>
9230    </a>
9231
9232                        </li>
9233                                                                    <li
9234                            class="w-full "
9235                        >
9236                                <a href="https://fera.pl/inspiracje/happy-dog-do-kazdego-duzego-worka-karmy-1kg-karmy-gratis.html"
9237       class="flex flex-col items-center rounded-xl bg-container h-full "
9238                    data-menu="menu-64"
9239            >
9240
9241                    <img
9242                class="block w-full rounded-xl border border-secondary-lighter"
9243                src="https://media.fera.pl/snowdog/menu/node/h/a/happydog-170x200.png"
9244                alt=""
9245                loading="lazy"
9246                width="150"
9247                height="150"
9248            />
9249        
9250        <span class="flex flex-wrap items-center grow px-1 min-h-14 text-sm whitespace-normal">
9251            HAPPY DOG do każdego dużego worka 1 kg karmy GRATIS        </span>
9252    </a>
9253
9254                        </li>
9255                                                                    <li
9256                            class="w-full "
9257                        >
9258                                <a href="https://fera.pl/inspiracje/zadbaj-o-ochrone-twojego-pupila-z-fiprex.html"
9259       class="flex flex-col items-center rounded-xl bg-container h-full "
9260                    data-menu="menu-83"
9261            >
9262
9263                    <img
9264                class="block w-full rounded-xl border border-secondary-lighter"
9265                src="https://media.fera.pl/snowdog/menu/node/f/i/fiprex-170x200.png"
9266                alt=""
9267                loading="lazy"
9268                width="150"
9269                height="150"
9270            />
9271        
9272        <span class="flex flex-wrap items-center grow px-1 min-h-14 text-sm whitespace-normal">
9273            Zadbaj o ochronę Twojego pupila z FIPREX        </span>
9274    </a>
9275
9276                        </li>
9277                                                                    <li
9278                            class="w-full "
9279                        >
9280                                <a href="https://fera.pl/inspiracje/sabunol-przy-zakupie-obrozy-taste-play-roll-on-gratis.html"
9281       class="flex flex-col items-center rounded-xl bg-container h-full "
9282                    data-menu="menu-85"
9283            >
9284
9285                    <img
9286                class="block w-full rounded-xl border border-secondary-lighter"
9287                src="https://media.fera.pl/snowdog/menu/node/s/a/sabunol_baner_170x200px_fera_2026_06_08_jk.png"
9288                alt=""
9289                loading="lazy"
9290                width="150"
9291                height="150"
9292            />
9293        
9294        <span class="flex flex-wrap items-center grow px-1 min-h-14 text-sm whitespace-normal">
9295            SABUNOL przy zakupie obroży Taste &amp; Play Roll On GRATIS        </span>
9296    </a>
9297
9298                        </li>
9299                                                                    <li
9300                            class="w-full "
9301                        >
9302                                <a href="https://fera.pl/inspiracje/super-oferty-w-niskich-cenach.html"
9303       class="flex flex-col items-center rounded-xl bg-container h-full "
9304                    data-menu="menu-87"
9305            >
9306
9307                    <img
9308                class="block w-full rounded-xl border border-secondary-lighter"
9309                src="https://media.fera.pl/snowdog/menu/node/s/u/super-oferty-170x200.png"
9310                alt=""
9311                loading="lazy"
9312                width="150"
9313                height="150"
9314            />
9315        
9316        <span class="flex flex-wrap items-center grow px-1 min-h-14 text-sm whitespace-normal">
9317            Super oferty w niskich cenach        </span>
9318    </a>
9319
9320                        </li>
9321                                                                    <li
9322                            class="w-full "
9323                        >
9324                                <a href="https://fera.pl/inspiracje/super-rafi-dla-psa-i-kota-w-niskich-cenach.html"
9325       class="flex flex-col items-center rounded-xl bg-container h-full "
9326                    data-menu="menu-91"
9327            >
9328
9329                    <img
9330                class="block w-full rounded-xl border border-secondary-lighter"
9331                src="https://media.fera.pl/snowdog/menu/node/s/u/super_rafi-oferta-170x200.png"
9332                alt=""
9333                loading="lazy"
9334                width="150"
9335                height="150"
9336            />
9337        
9338        <span class="flex flex-wrap items-center grow px-1 min-h-14 text-sm whitespace-normal">
9339            SUPER RAFI dla psa i kota w niskich cenach        </span>
9340    </a>
9341
9342                        </li>
9343                                                                    <li
9344                            class="w-full "
9345                        >
9346                                <a href="https://fera.pl/inspiracje/nowosc-refordog-krople-na-pchly-i-kleszcze-dla-psow.html"
9347       class="flex flex-col items-center rounded-xl bg-container h-full "
9348                    data-menu="menu-94"
9349            >
9350
9351                    <img
9352                class="block w-full rounded-xl border border-secondary-lighter"
9353                src="https://media.fera.pl/snowdog/menu/node/b/a/baner-refordog-na-stron_-fera-170-_-200.jpg"
9354                alt=""
9355                loading="lazy"
9356                width="150"
9357                height="150"
9358            />
9359        
9360        <span class="flex flex-wrap items-center grow px-1 min-h-14 text-sm whitespace-normal">
9361            Nowość REFORDOG krople na pchły i kleszcze dla psów        </span>
9362    </a>
9363
9364                        </li>
9365                                                                    <li
9366                            class="w-full "
9367                        >
9368                                <a href="https://fera.pl/inspiracje/nowosc-calibra-pasta-do-lizania-dla-psa.html"
9369       class="flex flex-col items-center rounded-xl bg-container h-full "
9370                    data-menu="menu-95"
9371            >
9372
9373                    <img
9374                class="block w-full rounded-xl border border-secondary-lighter"
9375                src="https://media.fera.pl/snowdog/menu/node/2/0/2026_07_08_calibra_yummy_dog_fera_banner_mobile_170_x_200.png"
9376                alt=""
9377                loading="lazy"
9378                width="150"
9379                height="150"
9380            />
9381        
9382        <span class="flex flex-wrap items-center grow px-1 min-h-14 text-sm whitespace-normal">
9383            Nowość CALIBRA pasta do lizania dla psa        </span>
9384    </a>
9385
9386                        </li>
9387                                                                    <li
9388                            class="w-full "
9389                        >
9390                                <a href="https://fera.pl/inspiracje/feliway-uspokajajace-rozwiazania-dla-twojego-kota.html"
9391       class="flex flex-col items-center rounded-xl bg-container h-full "
9392                    data-menu="menu-96"
9393            >
9394
9395                    <img
9396                class="block w-full rounded-xl border border-secondary-lighter"
9397                src="https://media.fera.pl/snowdog/menu/node/f/e/feliway_170x200_new.png"
9398                alt=""
9399                loading="lazy"
9400                width="150"
9401                height="150"
9402            />
9403        
9404        <span class="flex flex-wrap items-center grow px-1 min-h-14 text-sm whitespace-normal">
9405            FELIWAY uspokajające rozwiązania dla Twojego kota        </span>
9406    </a>
9407
9408                        </li>
9409                                                                    <li
9410                            class="w-full "
9411                        >
9412                                <a href="https://fera.pl/inspiracje/vectra-3d-stop-dla-ukaszen.html"
9413       class="flex flex-col items-center rounded-xl bg-container h-full "
9414                    data-menu="menu-97"
9415            >
9416
9417                    <img
9418                class="block w-full rounded-xl border border-secondary-lighter"
9419                src="https://media.fera.pl/snowdog/menu/node/v/e/vectra-3d-170x200.png"
9420                alt=""
9421                loading="lazy"
9422                width="150"
9423                height="150"
9424            />
9425        
9426        <span class="flex flex-wrap items-center grow px-1 min-h-14 text-sm whitespace-normal">
9427            VECTRA 3D stop dla ukąszeń        </span>
9428    </a>
9429
9430                        </li>
9431                                                                    <li
9432                            class="w-full "
9433                        >
9434                                <a href="https://fera.pl/inspiracje/katido-smak-ktory-koty-kochaja.html"
9435       class="flex flex-col items-center rounded-xl bg-container h-full "
9436                    data-menu="menu-98"
9437            >
9438
9439                    <img
9440                class="block w-full rounded-xl border border-secondary-lighter"
9441                src="https://media.fera.pl/snowdog/menu/node/k/a/katido_170_x_200_px.png"
9442                alt=""
9443                loading="lazy"
9444                width="150"
9445                height="150"
9446            />
9447        
9448        <span class="flex flex-wrap items-center grow px-1 min-h-14 text-sm whitespace-normal">
9449            KATIDO smak, który koty kochają        </span>
9450    </a>
9451
9452                        </li>
9453                                                                    <li
9454                            class="w-full "
9455                        >
9456                                <a href="https://fera.pl/inspiracje/royal-canin-wyprobuj-przysmak-dla-psa-dopasowany-do-karm-z-linii-gastrointestinal.html"
9457       class="flex flex-col items-center rounded-xl bg-container h-full "
9458                    data-menu="menu-107"
9459            >
9460
9461                    <img
9462                class="block w-full rounded-xl border border-secondary-lighter"
9463                src="https://media.fera.pl/snowdog/menu/node/v/e/vet_e-com_gastro_fera_170x200.png"
9464                alt=""
9465                loading="lazy"
9466                width="150"
9467                height="150"
9468            />
9469        
9470        <span class="flex flex-wrap items-center grow px-1 min-h-14 text-sm whitespace-normal">
9471            ROYAL CANIN wypróbuj przysmak dla psa dopasowany do karm z linii Gastrointestinal        </span>
9472    </a>
9473
9474                        </li>
9475                                                                    <li
9476                            class="w-full "
9477                        >
9478                                <a href="https://fera.pl/inspiracje/royal-canin-poznaj-oferte-karm.html"
9479       class="flex flex-col items-center rounded-xl bg-container h-full "
9480                    data-menu="menu-108"
9481            >
9482
9483                    <img
9484                class="block w-full rounded-xl border border-secondary-lighter"
9485                src="https://media.fera.pl/snowdog/menu/node/p/s/psr-e-com-fera-_kampania-og_lna-logo-akcji-170x200-v2.jpg"
9486                alt=""
9487                loading="lazy"
9488                width="150"
9489                height="150"
9490            />
9491        
9492        <span class="flex flex-wrap items-center grow px-1 min-h-14 text-sm whitespace-normal">
9493            ROYAL CANIN poznaj ofertę karm        </span>
9494    </a>
9495
9496                        </li>
9497                                                                    <li
9498                            class="w-full "
9499                        >
9500                                <a href="https://fera.pl/marki/simply-from-nature.html"
9501       class="flex flex-col items-center rounded-xl bg-container h-full "
9502                    data-menu="menu-110"
9503            >
9504
9505                    <img
9506                class="block w-full rounded-xl border border-secondary-lighter"
9507                src="https://media.fera.pl/snowdog/menu/node/s/i/simply_170x200.png"
9508                alt=""
9509                loading="lazy"
9510                width="150"
9511                height="150"
9512            />
9513        
9514        <span class="flex flex-wrap items-center grow px-1 min-h-14 text-sm whitespace-normal">
9515            Naturalna karma i przysmaki Simply from Nature        </span>
9516    </a>
9517
9518                        </li>
9519                                                                    <li
9520                            class="w-full "
9521                        >
9522                                <a href="https://fera.pl/marki/aristocat.html"
9523       class="flex flex-col items-center rounded-xl bg-container h-full "
9524                    data-menu="menu-111"
9525            >
9526
9527                    <img
9528                class="block w-full rounded-xl border border-secondary-lighter"
9529                src="https://media.fera.pl/snowdog/menu/node/a/r/aristo_170x200.png"
9530                alt=""
9531                loading="lazy"
9532                width="150"
9533                height="150"
9534            />
9535        
9536        <span class="flex flex-wrap items-center grow px-1 min-h-14 text-sm whitespace-normal">
9537            Wysokiej jakości żwirek dla kotów Aristocat        </span>
9538    </a>
9539
9540                        </li>
9541                                                                    <li
9542                            class="w-full "
9543                        >
9544                            
9545    <a href="https://fera.pl/nie-zapomnij-o-tym-kto-czeka-w-domu"
9546       class="flex flex-col items-center rounded-xl bg-container h-full "
9547                    data-menu="menu-112"
9548                    >
9549                    <img
9550                class="block w-full rounded-xl border border-secondary-lighter"
9551                src="https://media.fera.pl/snowdog/menu/node/f/e/fera-lp-g4_2-170x200.png"
9552                alt=""
9553                loading="lazy"
9554                width="150"
9555                height="150"
9556            />
9557        
9558        <span class="flex flex-wrap items-center grow px-1 min-h-14 text-sm whitespace-normal">
9559            Jesień pełna zwierzakowych okazji        </span>
9560    </a>
9561                        </li>
9562                                                                    <li
9563                            class="w-full "
9564                        >
9565                                <a href="https://fera.pl/inspiracje/farmina-zdrowie-trawienie-prawdziwa-ulga-dla-wrazliwych-zoladkow.html"
9566       class="flex flex-col items-center rounded-xl bg-container h-full "
9567                    data-menu="menu-116"
9568            >
9569
9570                    <img
9571                class="block w-full rounded-xl border border-secondary-lighter"
9572                src="https://media.fera.pl/snowdog/menu/node/1/7/170_x_200.png"
9573                alt=""
9574                loading="lazy"
9575                width="150"
9576                height="150"
9577            />
9578        
9579        <span class="flex flex-wrap items-center grow px-1 min-h-14 text-sm whitespace-normal">
9580            FARMINA zdrowie trawienie prawdziwa ulga dla wrażliwych żołądków        </span>
9581    </a>
9582
9583                        </li>
9584                                                                    <li
9585                            class="w-full "
9586                        >
9587                                <a href="https://fera.pl/inspiracje/chrup-go-smakowite-przysmaki-dla-psow.html"
9588       class="flex flex-col items-center rounded-xl bg-container h-full "
9589                    data-menu="menu-117"
9590            >
9591
9592                    <img
9593                class="block w-full rounded-xl border border-secondary-lighter"
9594                src="https://media.fera.pl/snowdog/menu/node/1/7/170x200_chrup_go.png"
9595                alt=""
9596                loading="lazy"
9597                width="150"
9598                height="150"
9599            />
9600        
9601        <span class="flex flex-wrap items-center grow px-1 min-h-14 text-sm whitespace-normal">
9602            CHRUP&amp;GO smakowite przysmaki dla psów        </span>
9603    </a>
9604
9605                        </li>
9606                                                                    <li
9607                            class="w-full "
9608                        >
9609                                <a href="https://fera.pl/inspiracje/wiecej-za-mniej-jesienne-odkrycia-dla-twojego-psa-i-kota.html"
9610       class="flex flex-col items-center rounded-xl bg-container h-full "
9611                    data-menu="menu-223"
9612            >
9613
9614                    <img
9615                class="block w-full rounded-xl border border-secondary-lighter"
9616                src="https://media.fera.pl/snowdog/menu/node/j/e/jesienne-odkrycia-170x200.png"
9617                alt=""
9618                loading="lazy"
9619                width="150"
9620                height="150"
9621            />
9622        
9623        <span class="flex flex-wrap items-center grow px-1 min-h-14 text-sm whitespace-normal">
9624            Więcej za mniej! Jesienne odkrycia dla Twojego psa i kota        </span>
9625    </a>
9626
9627                        </li>
9628                                    </ul>
9629            </div>
9630        </template>
9631                    </li>
9632                                            <li
9633                    class="level-0 flex gap-y-1 flex-shrink-0 whitespace-nowrap
9634                        "
9635                    data-id="45"
9636                    @click.outside="close(false)"
9637                    @keydown.escape="close"
9638                    @mouseenter="canHoverOpen"
9639                    @mouseleave="canHoverClose"
9640                >
9641                    
9642    <a href="https://fera.pl/blog"
9643        class="btn btn-nav "
9644                    data-menu="menu-45"
9645                    >
9646        Blog    </a>
9647
9648                    
9649                                    </li>
9650                    </ul>
9651    </nav>
9652
9653    
9653<script>
9654        'use strict';
9655
9656        const initMenuDesktop_6ab4f727e88f4 = () => ({
9657            openSubmenuId: null,
9658            hoverTimeout: null,
9659
9660            init() {
9661                this.$watch('openSubmenuId', value => {
9662                    document.body.toggleAttribute('data-open-menu', !!value);
9663                });
9664            },
9665
9666            setOpen(id, state = true, focusRef = null) {
9667                this.openSubmenuId = state ? id : null;
9668
9669                this.$nextTick(() => {
9670                    if (focusRef) {
9671                        const el = this.$refs[focusRef];
9672                        el?.querySelector('a, button')?.focus();
9673                    }
9674                });
9675            },
9676
9677            canHover() {
9678                return window.matchMedia('(hover: hover) and (pointer: fine)').matches;
9679            },
9680
9681            canHoverOpen() {
9682                if (!this.canHover()) return;
9683                const id = this.$el.dataset.id;
9684                if (this.hoverTimeout) {
9685                    clearTimeout(this.hoverTimeout);
9686                    this.hoverTimeout = null;
9687                }
9688                this.setOpen(id);
9689            },
9690
9691            canHoverClose() {
9692                if (!this.canHover()) return;
9693                const id = this.$el.dataset.id;
9694                if (this.hoverTimeout) clearTimeout(this.hoverTimeout);
9695                this.hoverTimeout = setTimeout(() => {
9696                    if (this.openSubmenuId === id) this.setOpen(id, false);
9697                    this.hoverTimeout = null;
9698                }, 200);
9699            },
9700
9701            toggle() {
9702                const id = this.$el.dataset.id;
9703                this.setOpen(id, this.openSubmenuId !== id, 'submenu-' + id);
9704            },
9705
9706            close() {
9707                const id = this.$el.dataset.id;
9708                if (this.openDropdownId === id) {
9709                    this.setOpen(id, false);
9710                    const btnRef = this.$refs['btn_' + id];
9711                    if (btnRef) btnRef.focus();
9712                }
9713            }
9714        });
9715    </script>
9715
9716
9717                    <div class="flex items-center gap-2">
9718                    
9719<div
9720    class="relative inline-block"
9721    x-data="initDropdown"
9722    @keyup.escape="setOpenFalse"
9723    @click.outside="setOpenFalse"
9724>
9725    <button
9726        type="button"
9727        id="app-download-button"
9728        class="btn btn-size-s whitespace-nowrap"
9729        @click="toggleOpen"
9730        :aria-expanded="ariaExpanded"
9731        aria-label="Pobierz&#x20;aplikacj&#x0119;"
9732        aria-haspopup="true"
9733    >
9734        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" width="20" height="20" aria-hidden="true">
9735  <path fill-rule="evenodd" d="M3 4a1 1 0 011-1h3a1 1 0 011 1v3a1 1 0 01-1 1H4a1 1 0 01-1-1V4zm2 2V5h1v1H5zM3 13a1 1 0 011-1h3a1 1 0 011 1v3a1 1 0 01-1 1H4a1 1 0 01-1-1v-3zm2 2v-1h1v1H5zM13 3a1 1 0 00-1 1v3a1 1 0 001 1h3a1 1 0 001-1V4a1 1 0 00-1-1h-3zm1 2v1h1V5h-1z" clip-rule="evenodd"/>
9736  <path d="M11 4a1 1 0 10-2 0v1a1 1 0 002 0V4zM10 7a1 1 0 011 1v1h2a1 1 0 110 2h-3a1 1 0 01-1-1V8a1 1 0 011-1zM16 9a1 1 0 100 2 1 1 0 000-2zM9 13a1 1 0 011-1h1a1 1 0 110 2v2a1 1 0 11-2 0v-3zM7 11a1 1 0 100-2H4a1 1 0 100 2h3zM17 13a1 1 0 01-1 1h-2a1 1 0 110-2h2a1 1 0 011 1zM16 17a1 1 0 100-2h-3a1 1 0 100 2h3z"/>
9737</svg>
9738        Pobierz&#x20;aplikacj&#x0119;    </button>
9739    <div
9740        class="z-30 absolute flex flex-col items-center gap-4 -right-4 w-80 mt-2 py-6 px-9 overflow-auto
9741            rounded-3xl border-t-2 border-primary shadow-xl lg:mt-3 bg-container-lighter text-center"
9742        x-cloak
9743        x-show="open"
9744        x-transition
9745        aria-labelledby="app-download-button"
9746    >
9747        <div class="border border-secondary rounded-lg overflow-hidden">
9748            <?xml version="1.0"?>
9749<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="184px" height="184px" viewBox="0 0 184 184"><title>Pobierz aplikację!</title><rect x="0" y="0" width="184" height="184" fill="#ffffff" fill-opacity="1"/><path fill="#000000" fill-opacity="1" d="M16,16L52.69,16L52.69,21.24L16,21.24ZM63.17,16L68.41,16L68.41,21.24L63.17,21.24ZM94.62,16L105.1,16L105.1,21.24L94.62,21.24ZM131.31,16L168,16L168,21.24L131.31,21.24ZM16,21.24L21.24,21.24L21.24,26.48L16,26.48ZM47.45,21.24L52.69,21.24L52.69,26.48L47.45,26.48ZM57.93,21.24L68.41,21.24L68.41,26.48L57.93,26.48ZM73.66,21.24L84.14,21.24L84.14,26.48L73.66,26.48ZM105.1,21.24L110.34,21.24L110.34,26.48L105.1,26.48ZM131.31,21.24L136.55,21.24L136.55,26.48L131.31,26.48ZM162.76,21.24L168,21.24L168,26.48L162.76,26.48ZM16,26.48L21.24,26.48L21.24,31.72L16,31.72ZM26.48,26.48L42.21,26.48L42.21,31.72L26.48,31.72ZM47.45,26.48L52.69,26.48L52.69,31.72L47.45,31.72ZM63.17,26.48L78.9,26.48L78.9,31.72L63.17,31.72ZM89.38,26.48L94.62,26.48L94.62,31.72L89.38,31.72ZM99.86,26.48L126.07,26.48L126.07,31.72L99.86,31.72ZM131.31,26.48L136.55,26.48L136.55,31.72L131.31,31.72ZM141.79,26.48L157.52,26.48L157.52,31.72L141.79,31.72ZM162.76,26.48L168,26.48L168,31.72L162.76,31.72ZM16,31.72L21.24,31.72L21.24,36.97L16,36.97ZM26.48,31.72L42.21,31.72L42.21,36.97L26.48,36.97ZM47.45,31.72L52.69,31.72L52.69,36.97L47.45,36.97ZM57.93,31.72L68.41,31.72L68.41,36.97L57.93,36.97ZM73.66,31.72L78.9,31.72L78.9,36.97L73.66,36.97ZM131.31,31.72L136.55,31.72L136.55,36.97L131.31,36.97ZM141.79,31.72L157.52,31.72L157.52,36.97L141.79,36.97ZM162.76,31.72L168,31.72L168,36.97L162.76,36.97ZM16,36.97L21.24,36.97L21.24,42.21L16,42.21ZM26.48,36.97L42.21,36.97L42.21,42.21L26.48,42.21ZM47.45,36.97L52.69,36.97L52.69,42.21L47.45,42.21ZM68.41,36.97L73.66,36.97L73.66,42.21L68.41,42.21ZM78.9,36.97L99.86,36.97L99.86,42.21L78.9,42.21ZM110.34,36.97L115.59,36.97L115.59,42.21L110.34,42.21ZM120.83,36.97L126.07,36.97L126.07,42.21L120.83,42.21ZM131.31,36.97L136.55,36.97L136.55,42.21L131.31,42.21ZM141.79,36.97L157.52,36.97L157.52,42.21L141.79,42.21ZM162.76,36.97L168,36.97L168,42.21L162.76,42.21ZM16,42.21L21.24,42.21L21.24,47.45L16,47.45ZM47.45,42.21L52.69,42.21L52.69,47.45L47.45,47.45ZM57.93,42.21L63.17,42.21L63.17,47.45L57.93,47.45ZM68.41,42.21L73.66,42.21L73.66,47.45L68.41,47.45ZM84.14,42.21L99.86,42.21L99.86,47.45L84.14,47.45ZM105.1,42.21L110.34,42.21L110.34,47.45L105.1,47.45ZM120.83,42.21L126.07,42.21L126.07,47.45L120.83,47.45ZM131.31,42.21L136.55,42.21L136.55,47.45L131.31,47.45ZM162.76,42.21L168,42.21L168,47.45L162.76,47.45ZM16,47.45L52.69,47.45L52.69,52.69L16,52.69ZM57.93,47.45L63.17,47.45L63.17,52.69L57.93,52.69ZM68.41,47.45L73.66,47.45L73.66,52.69L68.41,52.69ZM78.9,47.45L84.14,47.45L84.14,52.69L78.9,52.69ZM89.38,47.45L94.62,47.45L94.62,52.69L89.38,52.69ZM99.86,47.45L105.1,47.45L105.1,52.69L99.86,52.69ZM110.34,47.45L115.59,47.45L115.59,52.69L110.34,52.69ZM120.83,47.45L126.07,47.45L126.07,52.69L120.83,52.69ZM131.31,47.45L168,47.45L168,52.69L131.31,52.69ZM78.9,52.69L89.38,52.69L89.38,57.93L78.9,57.93ZM94.62,52.69L99.86,52.69L99.86,57.93L94.62,57.93ZM105.1,52.69L126.07,52.69L126.07,57.93L105.1,57.93ZM16,57.93L42.21,57.93L42.21,63.17L16,63.17ZM47.45,57.93L73.66,57.93L73.66,63.17L47.45,63.17ZM78.9,57.93L84.14,57.93L84.14,63.17L78.9,63.17ZM89.38,57.93L105.1,57.93L105.1,63.17L89.38,63.17ZM120.83,57.93L131.31,57.93L131.31,63.17L120.83,63.17ZM136.55,57.93L141.79,57.93L141.79,63.17L136.55,63.17ZM147.03,57.93L152.28,57.93L152.28,63.17L147.03,63.17ZM157.52,57.93L162.76,57.93L162.76,63.17L157.52,63.17ZM16,63.17L26.48,63.17L26.48,68.41L16,68.41ZM52.69,63.17L57.93,63.17L57.93,68.41L52.69,68.41ZM63.17,63.17L68.41,63.17L68.41,68.41L63.17,68.41ZM99.86,63.17L105.1,63.17L105.1,68.41L99.86,68.41ZM110.34,63.17L120.83,63.17L120.83,68.41L110.34,68.41ZM126.07,63.17L136.55,63.17L136.55,68.41L126.07,68.41ZM14
97491.79,63.17L152.28,63.17L152.28,68.41L141.79,68.41ZM157.52,63.17L162.76,63.17L162.76,68.41L157.52,68.41ZM21.24,68.41L26.48,68.41L26.48,73.66L21.24,73.66ZM31.72,68.41L42.21,68.41L42.21,73.66L31.72,73.66ZM47.45,68.41L57.93,68.41L57.93,73.66L47.45,73.66ZM63.17,68.41L68.41,68.41L68.41,73.66L63.17,73.66ZM73.66,68.41L84.14,68.41L84.14,73.66L73.66,73.66ZM105.1,68.41L115.59,68.41L115.59,73.66L105.1,73.66ZM120.83,68.41L126.07,68.41L126.07,73.66L120.83,73.66ZM136.55,68.41L141.79,68.41L141.79,73.66L136.55,73.66ZM147.03,68.41L157.52,68.41L157.52,73.66L147.03,73.66ZM21.24,73.66L26.48,73.66L26.48,78.9L21.24,78.9ZM36.97,73.66L47.45,73.66L47.45,78.9L36.97,78.9ZM52.69,73.66L78.9,73.66L78.9,78.9L52.69,78.9ZM89.38,73.66L94.62,73.66L94.62,78.9L89.38,78.9ZM105.1,73.66L152.28,73.66L152.28,78.9L105.1,78.9ZM162.76,73.66L168,73.66L168,78.9L162.76,78.9ZM21.24,78.9L26.48,78.9L26.48,84.14L21.24,84.14ZM47.45,78.9L52.69,78.9L52.69,84.14L47.45,84.14ZM63.17,78.9L68.41,78.9L68.41,84.14L63.17,84.14ZM73.66,78.9L78.9,78.9L78.9,84.14L73.66,84.14ZM94.62,78.9L99.86,78.9L99.86,84.14L94.62,84.14ZM126.07,78.9L131.31,78.9L131.31,84.14L126.07,84.14ZM136.55,78.9L147.03,78.9L147.03,84.14L136.55,84.14ZM16,84.14L21.24,84.14L21.24,89.38L16,89.38ZM31.72,84.14L42.21,84.14L42.21,89.38L31.72,89.38ZM52.69,84.14L57.93,84.14L57.93,89.38L52.69,89.38ZM68.41,84.14L73.66,84.14L73.66,89.38L68.41,89.38ZM78.9,84.14L99.86,84.14L99.86,89.38L78.9,89.38ZM115.59,84.14L126.07,84.14L126.07,89.38L115.59,89.38ZM136.55,84.14L152.28,84.14L152.28,89.38L136.55,89.38ZM157.52,84.14L162.76,84.14L162.76,89.38L157.52,89.38ZM36.97,89.38L42.21,89.38L42.21,94.62L36.97,94.62ZM47.45,89.38L52.69,89.38L52.69,94.62L47.45,94.62ZM84.14,89.38L110.34,89.38L110.34,94.62L84.14,94.62ZM115.59,89.38L120.83,89.38L120.83,94.62L115.59,94.62ZM126.07,89.38L131.31,89.38L131.31,94.62L126.07,94.62ZM147.03,89.38L168,89.38L168,94.62L147.03,94.62ZM31.72,94.62L47.45,94.62L47.45,99.86L31.72,99.86ZM52.69,94.62L57.93,94.62L57.93,99.86L52.69,99.86ZM63.17,94.62L73.66,94.62L73.66,99.86L63.17,99.86ZM78.9,94.62L89.38,94.62L89.38,99.86L78.9,99.86ZM99.86,94.62L105.1,94.62L105.1,99.86L99.86,99.86ZM110.34,94.62L147.03,94.62L147.03,99.86L110.34,99.86ZM157.52,94.62L168,94.62L168,99.86L157.52,99.86ZM47.45,99.86L52.69,99.86L52.69,105.1L47.45,105.1ZM78.9,99.86L84.14,99.86L84.14,105.1L78.9,105.1ZM89.38,99.86L99.86,99.86L99.86,105.1L89.38,105.1ZM105.1,99.86L110.34,99.86L110.34,105.1L105.1,105.1ZM120.83,99.86L126.07,99.86L126.07,105.1L120.83,105.1ZM131.31,99.86L136.55,99.86L136.55,105.1L131.31,105.1ZM16,105.1L21.24,105.1L21.24,110.34L16,110.34ZM31.72,105.1L42.21,105.1L42.21,110.34L31.72,110.34ZM94.62,105.1L99.86,105.1L99.86,110.34L94.62,110.34ZM110.34,105.1L115.59,105.1L115.59,110.34L110.34,110.34ZM126.07,105.1L152.28,105.1L152.28,110.34L126.07,110.34ZM16,110.34L21.24,110.34L21.24,115.59L16,115.59ZM26.48,110.34L31.72,110.34L31.72,115.59L26.48,115.59ZM36.97,110.34L42.21,110.34L42.21,115.59L36.97,115.59ZM47.45,110.34L63.17,110.34L63.17,115.59L47.45,115.59ZM68.41,110.34L84.14,110.34L84.14,115.59L68.41,115.59ZM94.62,110.34L110.34,110.34L110.34,115.59L94.62,115.59ZM115.59,110.34L120.83,110.34L120.83,115.59L115.59,115.59ZM147.03,110.34L162.76,110.34L162.76,115.59L147.03,115.59ZM16,115.59L21.24,115.59L21.24,120.83L16,120.83ZM31.72,115.59L42.21,115.59L42.21,120.83L31.72,120.83ZM52.69,115.59L68.41,115.59L68.41,120.83L52.69,120.83ZM73.66,115.59L78.9,115.59L78.9,120.83L73.66,120.83ZM89.38,115.59L94.62,115.59L94.62,120.83L89.38,120.83ZM99.86,115.59L105.1,115.59L105.1,120.83L99.86,120.83ZM110.34,115.59L126.07,115.59L126.07,120.83L110.34,120.83ZM131.31,115.59L147.03,115.59L147.03,120.83L131.31,120.83ZM157.52,115.59L168,115.59L168,120.83L157.52,120.83ZM16,120.83L21.24,120.83L21.24,126.07L16,126.07ZM26.48,120.83L31.72,120.83L31.72,126.07L26.48,126.07ZM36.97,120.83L52.69,120.83L52.69,126.07L36.97,126.07ZM73.66,120.83L78.9,120.83L78.9,126.07L73.66,126.07ZM94.62,120.83L105.1,120.83L105.1,126.07L94.62,126.07ZM120.83,120.83L162.76,120.83L162.76,126.07L120.83,126.07ZM57.93,126.07L68.41,126.07L68.41,131.31L57.93,131.31ZM78.9,126.07L99.86,126.07L99.86,131.31L78.9,131.31ZM115.59,126.07L126.07,126.07L126.07,131.31L115.59,131.31ZM141.79,126.07L147.03,126.07L147.03,131.31L141.79,131.31ZM157.52,126.07L162.76,126.07L162.76,131.31L157.52,131.31ZM16,131.31L52.69,131.31L52.69,136.55L16,136.55ZM57.93,131.31L73.66,131.31L73.66,136.55L57.93,136.55ZM84.14,131.31L99.86,131.31L99.86,136.55L84.14,136.55ZM105.1,131.31L110.34,131.31L110.34,136.55L105.1,136.55ZM115.59,131.31L126.07,131.31L126.07,136.55L115.59,136.55ZM131.31,131.31L136.55,131.31L136.55,136.55L131.31,136.55ZM141.79,131.31L157.52,131.31L157.52,136.55L141.79,136.55ZM16,136.55L21.24,136.55L21.24,141.79L16,141.79ZM47.45,136.55L52.69,136.55L52.69,141.79L47.45,141.79ZM63.17,136.55L68.41,136.55L68.41,141.79L63.17,141.79ZM78.9,136.55L89.38,136.55L89.38,141.79L78.9,141.79ZM99.86,136.55L105.1,136.55L105.1,141.79L99.86,141.79ZM115.59,136.55L126.07,136.55L126.07,141.79L115.59,141.79ZM141.79,136.55L147.03,136.55L147.03,141.79L141.79,141.79ZM152.28,136.55L168,136.55L168,141.79L152.28,141.79ZM16,141.79L21.24,141.79L21.24,147.03L16,147.03ZM2
97496.48,141.79L42.21,141.79L42.21,147.03L26.48,147.03ZM47.45,141.79L52.69,141.79L52.69,147.03L47.45,147.03ZM57.93,141.79L63.17,141.79L63.17,147.03L57.93,147.03ZM78.9,141.79L84.14,141.79L84.14,147.03L78.9,147.03ZM89.38,141.79L147.03,141.79L147.03,147.03L89.38,147.03ZM152.28,141.79L168,141.79L168,147.03L152.28,147.03ZM16,147.03L21.24,147.03L21.24,152.28L16,152.28ZM26.48,147.03L42.21,147.03L42.21,152.28L26.48,152.28ZM47.45,147.03L52.69,147.03L52.69,152.28L47.45,152.28ZM57.93,147.03L63.17,147.03L63.17,152.28L57.93,152.28ZM94.62,147.03L105.1,147.03L105.1,152.28L94.62,152.28ZM110.34,147.03L115.59,147.03L115.59,152.28L110.34,152.28ZM120.83,147.03L131.31,147.03L131.31,152.28L120.83,152.28ZM136.55,147.03L141.79,147.03L141.79,152.28L136.55,152.28ZM16,152.28L21.24,152.28L21.24,157.52L16,157.52ZM26.48,152.28L42.21,152.28L42.21,157.52L26.48,157.52ZM47.45,152.28L52.69,152.28L52.69,157.52L47.45,157.52ZM57.93,152.28L63.17,152.28L63.17,157.52L57.93,157.52ZM68.41,152.28L84.14,152.28L84.14,157.52L68.41,157.52ZM105.1,152.28L110.34,152.28L110.34,157.52L105.1,157.52ZM126.07,152.28L131.31,152.28L131.31,157.52L126.07,157.52ZM136.55,152.28L141.79,152.28L141.79,157.52L136.55,157.52ZM152.28,152.28L162.76,152.28L162.76,157.52L152.28,157.52ZM16,157.52L21.24,157.52L21.24,162.76L16,162.76ZM47.45,157.52L52.69,157.52L52.69,162.76L47.45,162.76ZM57.93,157.52L63.17,157.52L63.17,162.76L57.93,162.76ZM68.41,157.52L78.9,157.52L78.9,162.76L68.41,162.76ZM89.38,157.52L94.62,157.52L94.62,162.76L89.38,162.76ZM110.34,157.52L115.59,157.52L115.59,162.76L110.34,162.76ZM147.03,157.52L157.52,157.52L157.52,162.76L147.03,162.76ZM162.76,157.52L168,157.52L168,162.76L162.76,162.76ZM16,162.76L52.69,162.76L52.69,168L16,168ZM57.93,162.76L63.17,162.76L63.17,168L57.93,168ZM68.41,162.76L78.9,162.76L78.9,168L68.41,168ZM94.62,162.76L105.1,162.76L105.1,168L94.62,168ZM110.34,162.76L136.55,162.76L136.55,168L110.34,168ZM141.79,162.76L157.52,162.76L157.52,168L141.79,168Z"/></svg>
9750        </div>
9751        <span class="font-bold">Zeskanuj&#x20;kod&#x20;QR&#x20;i&#x20;pobierz&#x20;nasz&#x0105;&#x20;aplikacj&#x0119;&#x20;mobiln&#x0105;.</span>
9752        <span class="text-xs font-medium">Ciesz&#x20;si&#x0119;&#x20;wyj&#x0105;tkowymi&#x20;korzy&#x015B;ciami&#x3A;&#x20;specjalnymi&#x20;rabatami,&#x20;szybszymi&#x20;zakupami&#x20;i&#x20;dost&#x0119;pem&#x20;do&#x20;nowo&#x015B;ci&#x20;przed&#x20;innymi.</span>
9753    </div>
9754</div>
9755<script>
9756    function initDropdown() {
9757        return hyva.createBooleanObject('open', false, {
9758            ariaExpanded() {
9759                return this.open() ? 'true' : 'false';
9760            }
9761        })
9762    }
9763
9764    window.addEventListener('alpine:init', () => Alpine.data('initDropdown', initDropdown), {once: true})
9765</script>
9765
9766                </div>
9767            </div>
9768        </div>
9769    </div>
9770
9771    
9772<script>
9773    function initCartDrawer() {
9774        return {
9775            open: false,
9776            closed() {
9777                return !this.open
9778            },
9779            isLoading: false,
9780            cart: {},
9781            maxItemsToDisplay: 10,
9782            itemsCount: 0,
9783            showSku: false,
9784            autocompleteNumber: 100,
9785            showDetails() {
9786                return this.item.options && this.item.options.length || this.showSku;
9787            },
9788            cartIsEmpty() {
9789                return this.itemsCount === 0
9790            },
9791            getData() {
9792                const data = this.$event.detail.data;
9793
9794                if (data.cart) {
9795                    this.cart = data.cart;
9796                    this.itemsCount = data.cart.items && data.cart.items.length || 0;
9797                    this.setCartItems();
9798                }
9799                this.isLoading = false;
9800            },
9801            cartItems: [],
9802            getItemCountTitle() {
9803                return hyva.strf('Wy\u015Bwietlono\u0020\u00250\u0020z\u0020\u00251\u0020produkt\u00F3w\u0020w\u0020koszyku', this.maxItemsToDisplay, this.itemsCount)
9804            },
9805            shouldShowItemCount() {
9806                return this.maxItemsToDisplay && this.maxItemsToDisplay < this.itemsCount;
9807            },
9808            setCartItems() {
9809                this.cartItems = this.cart.items && this.cart.items.sort((a, b) => b.item_id - a.item_id) || [];
9810
9811                if (this.maxItemsToDisplay > 0) {
9812                    this.cartItems = this.cartItems.slice(0, parseInt(this.maxItemsToDisplay, 10));
9813                }
9814            },
9815            updateItemQty(event) {
9816                const form = event.target;
9817                this.isLoading = true;
9818                hyvaAjaxFormMinicart({ form, redirect: false }, () => {
9819                    this.isLoading = false;
9820                });
9821            },
9822            deleteItemFromCart(itemId) {
9823                const formKey = hyva.getFormKey();
9824                this.isLoading = true;
9825
9826                hyvaAjaxFormMinicart({
9827                    url: BASE_URL + 'checkout/sidebar/removeItem/',
9828                    body: 'form_key=' + formKey + '&item_id=' + itemId,
9829                    message: 'Usuni\u0119to\u0020element.'
9830                }, () => {
9831                    this.isLoading = false
9832                });
9833            },
9834            toggleCartDrawer(event) {
9835                if (event.detail && event.detail.isOpen) {
9836                    this.open = event.detail.isOpen;
9837                } else {
9838                    this.open = !this.open;
9839                }
9840            },
9841            openCartDrawer() {
9842                this.open = true;
9843            },
9844            closeCartDrawer() {
9845                this.open = false;
9846            },
9847            getSectionDataExtraActions() {
9848                if (!this.cart.extra_actions) {
9849                    return '';
9850                }
9851
9852                const contentNode = document.createElement('div');
9853                contentNode.innerHTML = this.cart.extra_actions;
9854
9855                hyva.activateScripts(contentNode);
9856
9857                return contentNode.innerHTML;
9858            },
9859            productIsVisibleInSite() {
9860                return this.item.product_has_url && this.item.is_visible_in_site_visibility
9861            },
9862            productIsNotVisibleInSite() {
9863                return !this.productIsVisibleInSite()
9864            },
9865            productIsNotGroupedAndVisibleInSite() {
9866                return this.item.product_type !== 'grouped' && this.item.is_visible_in_site_visibility
9867            },
9868            productAriaLabel() {
9869                return hyva.strf(this.$el.dataset.ariaLabel, this.item.qty)
9870            },
9871            proceedToCheckout() {
9872                this.closeCartDrawer()
9873
9874                this.$dispatch(
9875                    'toggle-authentication',
9876                    {
9877                        url: 'https://fera.pl/checkout/'
9878                    }
9879                )
9880            },
9881            setItemMessage(itemId, message) {
9882                const items = this.cartItems;
9883                items.forEach((item) => {
9884                    if (item.item_id === itemId) {
9885                        item.message = message;
9886                    }
9887                });
9888            },
9889            cartListeners: {
9890                ['@private-content-loaded.window'](event) {
9891                    this.getData(event.detail.data);
9892                },
9893                ['@toggle-cart.window'](event) {
9894                    this.toggleCartDrawer(event);
9895                },
9896                ['@minicart-error-message.window'](event) {
9897                    if (!event.detail) return;
9898                    const { itemId, message } = event.detail;
9899                    this.setItemMessage(itemId, message);
9900                }
9901            }
9902        }
9903    }
9904
9905    function initCartDrawerQtyBox() {
9906        return {
9907            initQty: 0,
9908            itemQty: 0,
9909            itemId: null,
9910            init() {
9911                this.setQtyDefaults();
9912                this.$watch('item.qty', () => this.setQtyDefaults());
9913                this.debouncedUpdateQty = Alpine.debounce((params) => {
9914                    const { initQty, qty, itemId, form } = params;
9915                    this.updateQty(form, itemId, initQty, qty);
9916                }, 1000);
9917            },
9918            updateQty(form, itemId, initQty, qty) {
9919                if (qty === null || qty === '') return;
9920
9921                qty = Number(qty);
9922
9923                if (qty < 0 || qty === initQty) return;
9924
9925                qty >= 1
9926                    ? form.dispatchEvent(new Event('submit', { cancelable: true }))
9927                    : this.deleteItemFromCart(itemId);
9928            },
9929            setQtyDefaults() {
9930                this.initQty = this.item.qty;
9931                this.itemQty = this.item.qty;
9932                this.itemId = this.item.item_id;
9933            },
9934            decrement(form) {
9935                this.itemQty = Math.max(0, this.itemQty - 1);
9936                this.debouncedUpdateQty({
9937                    itemId: this.itemId,
9938                    initQty: this.initQty,
9939                    qty: this.itemQty,
9940                    form
9941                });
9942            },
9943            increment(form) {
9944                this.itemQty++;
9945                this.debouncedUpdateQty({
9946                    itemId: this.itemId,
9947                    initQty: this.initQty,
9948                    qty: this.itemQty,
9949                    form
9950                });
9951            },
9952            qtyHasNewValue() {
9953                return this.itemQty === this.initQty || this.itemQty === null;
9954            }
9955        }
9956    }
9957
9958    window.addEventListener('alpine:init', () => {
9959        Alpine.data('initCartDrawer', initCartDrawer);
9960        Alpine.data('initCartDrawerQtyBox', initCartDrawerQtyBox);
9961    }, { once: true })
9962
9963    async function hyvaAjaxFormMinicart(
9964        {
9965            form = null,
9966            url = '',
9967            body = '',
9968            redirect = 'default',
9969            message = '',
9970        } = {},
9971        callback = () => {}
9972    ) {
9973        const formData = body ? body : (form ? new FormData(form) : '');
9974        const postUrl = url ? url : (form ? form.action : '');
9975        if (!formData || !postUrl) {
9976            console.warn('You must provide the form or formData and postUrl!');
9977            return;
9978        }
9979
9980        const formUenc = hyva.getUenc();
9981        const itemId = body ? new URLSearchParams(body).get('item_id') : formData.get('item_id');
9982        let bodyUrl = new URLSearchParams(formData);
9983        bodyUrl.append('uenc', formUenc);
9984
9985        try {
9986            const response = await fetch(postUrl, {
9987                method: 'POST',
9988                body: bodyUrl.toString(),
9989                mode: 'cors',
9990                credentials: 'include',
9991                headers: {
9992                    'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
9993                    'X-Requested-With': 'XMLHttpRequest'
9994                }
9995            });
9996
9997            if (!response.ok) {
9998                return form.submit();
9999            }
10000
10001            if (redirect === 'default' && response.redirected) {
10002                return window.location.href = response.url;
10003            } else if (redirect !== 'default' && redirect !== false) {
10004                return window.location.href = redirect;
10005            }
10006
10007            const responseBody = await response.json();
10008
10009            if (!responseBody.success) {
10010                throw responseBody.error_message;
10011            }
10012
10013            window.dispatchEvent(new CustomEvent('reload-customer-section-data'));
10014        } catch (error) {
10015            window.dispatchEvent(new CustomEvent('minicart-error-message', { detail: { itemId, message: error } }));
10016        } finally {
10017            callback();
10018        }
10019    }
10020</script>
10020
10021
10022<dialog
10023    id="cart-drawer"
10024    aria-labelledby="cart-drawer-title"
10025    class="open:flex flex-col py-6 px-4 gap-y-4 max-h-full max-w-full h-full mr-0 w-[450px]
10026        shadow-2xl bg-container text-brandSecondary-900 backdrop:bg-black/25 backdrop:backdrop-blur-sm"
10027    x-data="initCartDrawer"
10028    x-bind="cartListeners"
10029    x-show="open"
10030    x-htmldialog.noscroll="closeCartDrawer"
10031    x-transition:enter="transition ease-in-out duration-500"
10032    x-transition:enter-start="translate-x-full"
10033    x-transition:enter-end="translate-x-0"
10034    x-transition:leave="transition ease-in-out duration-300"
10035    x-transition:leave-start="translate-x-0"
10036    x-transition:leave-end="translate-x-full"
10037>
10038    
10039    <div class="flex gap-2 justify-between items-center">
10040        <p id="cart-drawer-title" class="text-lg font-semibold text-black">
10041            <strong>Koszyk</strong>
10042            <span
10043                class="items-total text-xs"
10044                x-show="shouldShowItemCount"
10045                x-text="getItemCountTitle"
10046            ></span>
10047        </p>
10048        <button
10049            type="button"
10050            class="btn btn-icon-size-s"
10051            @click="closeCartDrawer"
10052            aria-label="Zamknij&#x20;koszyk"
10053        >
10054            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" width="20" height="20" aria-hidden="true">
10055  <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"/>
10056</svg>
10057        </button>
10058    </div>
10059
10060    
10061    <template x-if="cartIsEmpty">
10062        <div class="grow grid place-items-center">
10063            <div class="text-center">
10064                <div class="max-w-full max-h-full aspect-square w-44 h-44 inline-flex items-center justify-center rounded-full
10065                    bg-brandPrimary-100 text-brandPrimary-400 outline-2 outline-dashed outline-brandPrimary-300 outline-offset-8">
10066                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" width="120" height="120" aria-hidden="true">
10067  <path d="M3 1a1 1 0 000 2h1.22l.305 1.222a.997.997 0 00.01.042l1.358 5.43-.893.892C3.74 11.846 4.632 14 6.414 14H15a1 1 0 000-2H6.414l1-1H14a1 1 0 00.894-.553l3-6A1 1 0 0017 3H6.28l-.31-1.243A1 1 0 005 1H3zM16 16.5a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zM6.5 18a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"/>
10068</svg>
10069                </div>
10070                <p class="mt-10 text-xl">
10071                    <strong>Twój koszyk jest pusty</strong>
10072                </p>
10073                <p class="max-w-96 text-brandSecondary-700">
10074                    Umieść produkty w koszyku, żeby przejść do zamówienia.                </p>
10075            </div>
10076        </div>
10077    </template>
10078
10079    <template x-if="itemsCount">
10080        <ul class="grow flex flex-col overflow-y-auto overscroll-y-contain mask-overflow mask-dir-y">
10081            <template x-for="item in cartItems">
10082                <li class="flex gap-4 items-start py-6 border-b border-secondary-lighter">
10083                    <template x-if="productIsVisibleInSite">
10084                        <a
10085                            class="block shrink-0 max-w-[25%]"
10086                            :href="item.product_url"
10087                            data-aria-label="Produkt&#x20;&quot;&#x25;0&quot;"
10088                            :title="item.product_name"
10089                        >
10090                            <img
10091                                :src="item.product_image.src"
10092                                :width="item.product_image.width"
10093                                :height="item.product_image.height"
10094                                loading="lazy"
10095                                :alt="item.product_name"
10096                            >
10097                        </a>
10098                    </template>
10099                    <template x-if="productIsNotVisibleInSite">
10100                        <div class="block shrink-0 max-w-[25%]">
10101                            <img
10102                                :src="item.product_image.src"
10103                                :width="item.product_image.width"
10104                                :height="item.product_image.height"
10105                                loading="lazy"
10106                                :alt="item.product_name"
10107                            />
10108                        </div>
10109                    </template>
10110                    <div class="flex flex-col grow">
10111                        <template x-if="item.badges">
10112                            <div x-html="item.badges"></div>
10113                        </template>
10114                        <div class="flex gap-2 justify-between items-center mb-4">
10115                            <p class="text-xl font-bold">
10116                                                                <sp
10116an x-html="item.product_name"></span>
10117                            </p>
10118                        </div>
10119                        <template x-if="item.reward_badge">
10120                            <div class="mb-4" x-html="item.reward_badge"></div>
10121                        </template>
10122                        <template x-if="showDetails">
10123                            <div class="flex flex-col gap-1 text-sm mb-4">
10124                                <template x-if="showSku">
10125                                    <div class="flex gap-2">
10126                                        <span class="text-brandSecondary-600">
10127                                            SKU                                        </span>
10128                                        <span class="font-bold" x-html="item.product_sku"></span>
10129                                    </div>
10130                                </template>
10131                                <template x-for="option in item.options">
10132                                    <div class="flex gap-2">
10133                                        <span x-text="option.label"></span>
10134                                        <span class="font-bold" x-html="option.value"></span>
10135                                    </div>
10136                                </template>
10137                            </div>
10138                        </template>
10139                        <div class="flex gap-2 flex-wrap items-end justify-between">
10140                            
10141    <form
10142        action="https://fera.pl/checkout/sidebar/updateItemQty/"
10143        x-data="initCartDrawerQtyBox"
10144        @private-content-loaded.window="setQtyDefaults"
10145        @submit.prevent="updateItemQty"
10146        method="post"
10147        class="form form-cart flex gap-2 max-w-44"
10148    >
10149        <input name="form_key" type="hidden" value="6aqf5MmWWJaNsQwZ" />        <input type="hidden" name="item_id" :value="item.item_id">
10150
10151                        <button
10152                    type="button"
10153                    class="btn btn-secondary btn-icon-size-l"
10154                    @click="decrement($el.form)"
10155                    data-aria-label="&#x25;0&#x20;szt.&#x20;w&#x20;koszyku"
10156                    :aria-label="productAriaLabel"
10157                >
10158                    <template x-if="itemQty > 1">
10159                        <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" width="20" height="20" aria-hidden="true">
10160  <path stroke-linecap="round" stroke-linejoin="round" d="M20 12H4"/>
10161</svg>
10162                    </template>
10163                    <template x-if="itemQty <= 1">
10164                        <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" width="20" height="20" aria-hidden="true">
10165  <path stroke-linecap="round" stroke-linejoin="round" d="M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"/>
10166</svg>
10167                    </template>
10168                </button>
10169        
10170        <label class="sr-only" :for="item.item_id">
10171            Ilość        </label>
10172        <div class="control">
10173            <input
10174                :id="item.item_id"
10175                type="number"
10176                class="qty invalid:ring-error-lighter invalid:border-error-darker
10177                        form-input                        w-full py-2 min-h-10 text-center"
10178                required
10179                min="1"
10180                step="any"
10181                :value="itemQty"
10182                name="item_qty"
10183                                                    @input.debounce.1000="updateQty($event.target.form, item.item_id, itemQty, $event.target.value)"
10184                            >
10185        </div>
10186                    <button
10187                type="button"
10188                class="btn btn-secondary btn-icon-size-l"
10189                @click="increment($el.form)"
10190                data-aria-label="&#x25;0&#x20;szt.&#x20;w&#x20;koszyku"
10191                :aria-label="productAriaLabel()"
10192            >
10193                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" width="20" height="20" aria-hidden="true">
10194  <path stroke-linecap="round" stroke-linejoin="round" d="M12 4v16m8-8H4"/>
10195</svg>
10196            </button>
10197        
10198            </form>
10199                            <div x-html="item.product_price"></div>
10200                            <template x-if="item.message">
10201                                <div class="message error" x-text="item.message"></div>
10202                            </template>
10203                        </div>
10204                    </div>
10205                </li>
10206            </template>
10207        </ul>
10208    </template>
10209
10210    
10211<div id="snr-magento-minicart-1"></div>
10212
10213    <template x-if="itemsCount">
10214        <div>
10215            
10216            <dl class="flex gap-2 justify-between items-center">
10217                <dt class="text-lg text-secondary font-bold">Suma</dt>
10218                <dd class="text-xl text-brandSecondary-900 font-semibold" x-html="cart.subtotal"></dd>
10219            </dl>
10220
10221            <div class="flex flex-col gap-y-4 mt-4">
10222                <a
10223                    href="https://fera.pl/checkout/cart/"
10224                    class="btn"
10225                >
10226                    Idź do koszyka                </a>
10227                <a
10228                    @click.prevent.stop="proceedToCheckout"
10229                    href="https://fera.pl/checkout/"
10230                    class="btn btn-primary"
10231                >
10232                    Zamów                </a>
10233                <template x-if="!getSectionDataExtraActions">
10234                    <div x-html="getSectionDataExtraActions"></div>
10235                </template>
10236                            </div>
10237        </div>
10238    </template>
10239
10240    <template x-if="cartIsEmpty">
10241        <div class="flex flex-col">
10242            <button
10243                type="button"
10244                @click="closeCartDrawer"
10245                class="btn btn-primary"
10246            >Kontynuuj</button>
10247        </div>
10248    </template>
10249
10250    
10251    <div
10252    class="z-50 fixed inset-0 grid place-items-center bg-white/70 text-slate-800"
10253    x-cloak
10254    x-show="isLoading"
10255    x-transition.opacity.duration.200ms
10256>
10257    <div class="flex gap-10 items-center p-4">
10258        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 57 57" width="57" height="57" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true">
10259    <style>
10260        @keyframes spinner-ball-triangle1 {
10261            0% { transform: translate(0%, 0%); }
10262            33% { transform: translate(38%, -79%); }
10263            66% { transform: translate(77%, 0%); }
10264            100% { transform: translate(0%, 0%); }
10265        }
10266
10267        @keyframes spinner-ball-triangle2 {
10268            0% { transform: translate(0%, 0%); }
10269            33% { transform: translate(38%, 79%); }
10270            66% { transform: translate(-38%, 79%); }
10271            100% { transform: translate(0%, 0%); }
10272        }
10273
10274        @keyframes spinner-ball-triangle3 {
10275            0% { transform: translate(0%, 0%); }
10276            33% { transform: translate(-77%, 0%); }
10277            66% { transform: translate(-38%, -79%); }
10278            100% { transform: translate(0%, 0%); }
10279        }
10280    </style>
10281    <circle cx="5" cy="50" r="5" style="animation: spinner-ball-triangle1 2.2s linear infinite"/>
10282    <circle cx="27" cy="5" r="5" style="animation: spinner-ball-triangle2 2.2s linear infinite"/>
10283    <circle cx="49" cy="50" r="5" style="animation: spinner-ball-triangle3 2.2s linear infinite"/>
10284</svg>
10285        <span class="text-xl select-none">
10286            Ładuję...        </span>
10287    </div>
10288</div>
10289</dialog>
10290    
10291<script>
10292    function initMenuDrawer() {
10293        return {
10294            open: false,
10295            isSubMenuOpen: false,
10296            init() {
10297                Array.from(this.$root.querySelectorAll('a')).forEach(link => {
10298                    if (link.href === `${window.location.origin}${window.location.pathname}`) {
10299                        link.setAttribute('aria-current', 'page');
10300                    }
10301                });
10302            },
10303            toggleMenuDrawer(event) {
10304                if (event.detail && event.detail.isOpen) {
10305                    this.open = event.detail.isOpen;
10306                } else {
10307                    this.open = !this.open;
10308                }
10309            },
10310            openMenuDrawer() {
10311                this.open = true;
10312            },
10313            closeMenuDrawer() {
10314                this.open = false;
10315            },
10316            lockWrapperScroll() {
10317                return this.isSubMenuOpen ? {overflow: 'hidden'} : {}
10318            },
10319            hasActiveSubMenu() {
10320                this.isSubMenuOpen = !!this.$root.querySelector('[data-open]');
10321            },
10322
10323            menuListeners: {
10324                ['@toggle-menu.window'](event) {
10325                    this.toggleMenuDrawer(event);
10326                },
10327            }
10328        }
10329    }
10330
10331    function initMobileMenu() {
10332        return {
10333            isOpen: false,
10334            open() {
10335                this.isOpen = true;
10336                this.$root.setAttribute('data-open', '');
10337                this.$nextTick(() => {
10338                    this.$dispatch('sub-menu-state-change');
10339                    this.$refs.closeSubMenuBtn.focus();
10340                    this.toggleInert();
10341                })
10342            },
10343            close() {
10344                this.isOpen = false;
10345                this.$root.removeAttribute('data-open');
10346                this.toggleInert();
10347                this.$nextTick(() => {
10348                    this.$dispatch('sub-menu-state-change')
10349                    this.$refs.openSubMenuBtn.focus();
10350                })
10351            },
10352            toggleInert() {
10353                const items = this.$root.parentElement.children;
10354
10355                for (item of items) {
10356                    if (item.hasAttribute('data-open')) continue;
10357                    item.toggleAttribute('inert', this.isOpen);
10358                }
10359            }
10360        }
10361    }
10362
10363    function initMobileSubMenu() {
10364        return {
10365            isOpen: false,
10366            open() {
10367                this.isOpen = true;
10368                this.$root.setAttribute('data-open', '');
10369                const parentUl = this.$root.parentElement;
10370                if (parentUl) parentUl.style.overflow = 'hidden';
10371                this.$nextTick(() => {
10372                    this.$dispatch('sub-menu-state-change');
10373                    this.$refs.closeSubMenuBtn.focus();
10374                    this.toggleInert();
10375                })
10376            },
10377            close() {
10378                this.isOpen = false;
10379                this.$root.removeAttribute('data-open');
10380                const parentUl = this.$root.parentElement;
10381                if (parentUl) parentUl.style.removeProperty('overflow');
10382                this.toggleInert();
10383                this.$nextTick(() => {
10384                    this.$dispatch('sub-menu-state-change')
10385                    this.$refs.openSubMenuBtn.focus();
10386                })
10387            },
10388            toggleInert() {
10389                const items = this.$root.parentElement.children;
10390
10391                for (item of items) {
10392                    if (item.hasAttribute('data-open')) continue;
10393                    item.toggleAttribute('inert', this.isOpen);
10394                }
10395            }
10396        }
10397    }
10398
10399    window.addEventListener('alpine:init', () => {
10400        Alpine.data('initMenuDrawer', initMenuDrawer);
10401        Alpine.data('initMobileMenu', initMobileMenu);
10402        Alpine.data('initMobileSubMenu', initMobileSubMenu);
10403    }, { once: true })
10404</script>
10404
10405
10406<dialog
10407    id="menu-drawer"
10408    aria-labelledby="menu-drawer-title"
10409    class="open:flex flex-col py-6 px-4 gap-y-4 max-h-full max-w-full h-full ml-0 w-[450px]
10410        shadow-2xl text-brandSecondary-900 backdrop:bg-black/25 backdrop:backdrop-blur-sm"
10411    x-data="initMenuDrawer"
10412    x-bind="menuListeners"
10413    x-show="open"
10414    @sub-menu-state-change.window="hasActiveSubMenu"
10415    x-htmldialog.noscroll="closeMenuDrawer"
10416    x-transition:enter="transition ease-in-out duration-500"
10417    x-transition:enter-start="-translate-x-full"
10418    x-transition:enter-end="translate-x-0"
10419    x-transition:leave="transition ease-in-out duration-300"
10420    x-transition:leave-start="translate-x-0"
10421    x-transition:leave-end="-translate-x-full"
10422>
10423    <div class="flex gap-2 justify-between items-center pb-4 border-b border-secondary">
10424        <p id="menu-drawer-title" class="text-lg font-semibold text-black">
10425            <strong>Menu</strong>
10426        </p>
10427        <button
10428            type="button"
10429            class="btn btn-icon-size-s"
10430            @click="closeMenuDrawer"
10431            aria-label="Zamknij&#x20;menu"
10432        >
10433            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" width="20" height="20" aria-hidden="true">
10434  <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"/>
10435</svg>
10436        </button>
10437    </div>
10438    <div class="grow relative -mx-4 px-4 overflow-y-auto overflow-x-hidden" :style="lockWrapperScroll">
10439        <nav class="flex flex-col justify-between h-full" aria-label="Mobile&#x20;Main&#x20;Menu">
10440            <ul class="flex flex-col gap-1.5">
10441                                                    
10442    <li data-level="0" x-data="initMobileSubMenu">
10443        <button
10444            type="button"
10445            class="dropdown-list-item"
10446            aria-controls="category-node-5-mobile-menu-panel"
10447            aria-expanded="false"
10448            x-ref="openSubMenuBtn"
10449            :aria-expanded="isOpen"
10450            :disabled="isOpen"
10451            @click="open"
10452        >
10453            <span>Pies</span>
10454            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
10455        </button>
10456        <ul
10457            id="category-node-5-mobile-menu-panel"
10458            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
10459            x-show="isOpen"
10460            x-transition:enter-start="opacity-0 translate-x-8"
10461            x-transition:enter-end="opacity-100 translate-x-0"
10462            x-transition:leave-start="opacity-100 translate-x-0"
10463            x-transition:leave-end="opacity-0 translate-x-8"
10464            @keydown.escape.stop.prevent="close"
10465        >
10466            <li data-level="1">
10467                <button
10468                    type="button"
10469                    class="dropdown-list-item font-bold justify-normal"
10470                    @click="close"
10471                    x-ref="closeSubMenuBtn"
10472                >
10473                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
10474                    Pies                </button>
10475            </li>
10476            <li>
10477                <a
10478                    href="https://fera.pl/pies.html"
10479                    class="dropdown-list-item font-bold"
10480                >
10481                    <span>
10482                        Pies - zobacz wszystko                    </span>
10483                </a>
10484            </li>
10485                            
10486    <li data-level="1" x-data="initMobileSubMenu">
10487        <button
10488            type="button"
10489            class="dropdown-list-item"
10490            aria-controls="category-node-6-mobile-menu-panel"
10491            aria-expanded="false"
10492            x-ref="openSubMenuBtn"
10493            :aria-expanded="isOpen"
10494            :disabled="isOpen"
10495            @click="open"
10496        >
10497            <span>Karma dla psa</span>
10498            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
10499        </button>
10500        <ul
10501            id="category-node-6-mobile-menu-panel"
10502            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
10503            x-show="isOpen"
10504            x-transition:enter-start="opacity-0 translate-x-8"
10505            x-transition:enter-end="opacity-100 translate-x-0"
10506            x-transition:leave-start="opacity-100 translate-x-0"
10507            x-transition:leave-end="opacity-0 translate-x-8"
10508            @keydown.escape.stop.prevent="close"
10509        >
10510            <li data-level="2">
10511                <button
10512                    type="button"
10513                    class="dropdown-list-item font-bold justify-normal"
10514                    @click="close"
10515                    x-ref="closeSubMenuBtn"
10516                >
10517                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
10518                    Karma dla psa                </button>
10519            </li>
10520            <li>
10521                <a
10522                    href="https://fera.pl/pies/karma-dla-psa.html"
10523                    class="dropdown-list-item font-bold"
10524                >
10525                    <span>
10526                        Karma dla psa - zobacz wszystko                    </span>
10527                </a>
10528            </li>
10529                            
10530    <li data-level="2">
10531        <a
10532            href="https://fera.pl/pies/karma-dla-psa/karma-sucha-dla-psa.html"
10533            class="dropdown-list-item"
10534        >
10535            <span>Karma sucha dla psa</span>
10536        </a>
10537    </li>
10538                            
10539    <li data-level="2">
10540        <a
10541            href="https://fera.pl/pies/karma-dla-psa/karma-mokra-dla-psa.html"
10542            class="dropdown-list-item"
10543        >
10544            <span>Karma mokra dla psa</span>
10545        </a>
10546    </li>
10547                            
10548    <li data-level="2">
10549        <a
10550            href="https://fera.pl/pies/karma-dla-psa/karma-liofilizowana-dla-psa.html"
10551            class="dropdown-list-item"
10552        >
10553            <span>Karma liofilizowana dla psa</span>
10554        </a>
10555    </li>
10556                            
10557    <li data-level="2">
10558        <a
10559            href="https://fera.pl/pies/karma-dla-psa/mleko-zastepcze-dla-psa.html"
10560            class="dropdown-list-item"
10561        >
10562            <span>Mleko zastępcze dla psa</span>
10563        </a>
10564    </li>
10565                            
10566    <li data-level="2">
10567        <a
10568            href="https://fera.pl/pies/karma-dla-psa/zywienie-oparte-na-nauce.html"
10569            class="dropdown-list-item"
10570        >
10571            <span>Żywienie oparte na nauce </span>
10572        </a>
10573    </li>
10574                            
10575    <li data-level="2">
10576        <a
10577            href="https://fera.pl/pies/karma-dla-psa/karma-dla-szczeniaka.html"
10578            class="dropdown-list-item"
10579        >
10580            <span>Karma dla szczeniaka</span>
10581        </a>
10582    </li>
10583                            
10584    <li data-level="2">
10585        <a
10586            href="https://fera.pl/pies/karma-dla-psa/karma-dla-doroslego-psa.html"
10587            class="dropdown-list-item"
10588        >
10589            <span>Karma dla dorosłego psa</span>
10590        </a>
10591    </li>
10592                            
10593    <li data-level="2">
10594        <a
10595            href="https://fera.pl/pies/karma-dla-psa/karma-dla-psa-seniora.html"
10596            class="dropdown-list-item"
10597        >
10598            <span>Karma dla psa seniora</span>
10599        </a>
10600    </li>
10601                            
10602    <li data-level="2">
10603        <a
10604            href="https://fera.pl/pies/karma-dla-psa/karma-bezzbozowa-dla-psa.html"
10605            class="dropdown-list-item"
10606        >
10607            <span>Karma bezzbożowa dla psa</span>
10608        </a>
10609    </li>
10610                    </ul>
10611    </li>
10612                            
10613    <li data-level="1" x-data="initMobileSubMenu">
10614        <button
10615            type="button"
10616            class="dropdown-list-item"
10617            aria-controls="category-node-9-mobile-menu-panel"
10618            aria-expanded="false"
10619            x-ref="openSubMenuBtn"
10620            :aria-expanded="isOpen"
10621            :disabled="isOpen"
10622            @click="open"
10623        >
10624            <span>Karma weterynaryjna dla psa</span>
10625            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
10626        </button>
10627        <ul
10628            id="category-node-9-mobile-menu-panel"
10629            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
10630            x-show="isOpen"
10631            x-transition:enter-start="opacity-0 translate-x-8"
10632            x-transition:enter-end="opacity-100 translate-x-0"
10633            x-transition:leave-start="opacity-100 translate-x-0"
10634            x-transition:leave-end="opacity-0 translate-x-8"
10635            @keydown.escape.stop.prevent="close"
10636        >
10637            <li data-level="2">
10638                <button
10639                    type="button"
10640                    class="dropdown-list-item font-bold justify-normal"
10641                    @click="close"
10642                    x-ref="closeSubMenuBtn"
10643                >
10644                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
10645                    Karma weterynaryjna dla psa                </button>
10646            </li>
10647            <li>
10648                <a
10649                    href="https://fera.pl/pies/karma-weterynaryjna-dla-psa.html"
10650                    class="dropdown-list-item font-bold"
10651                >
10652                    <span>
10653                        Karma weterynaryjna dla psa - zobacz wszystko                    </span>
10654                </a>
10655            </li>
10656                            
10657    <li data-level="2">
10658        <a
10659            href="https://fera.pl/pies/karma-weterynaryjna-dla-psa/karma-hipoalergiczna-dla-psa.html"
10660            class="dropdown-list-item"
10661        >
10662            <span>Karma hipoalergiczna dla psa</span>
10663        </a>
10664    </li>
10665                            
10666    <li data-level="2">
10667        <a
10668            href="https://fera.pl/pies/karma-weterynaryjna-dla-psa/karma-dla-psa-z-cukrzyca.html"
10669            class="dropdown-list-item"
10670        >
10671            <span>Karma dla psa z cukrzycą</span>
10672        </a>
10673    </li>
10674                            
10675    <li data-level="2">
10676        <a
10677            href="https://fera.pl/pies/karma-weterynaryjna-dla-psa/karma-dietetyczna-dla-psa.html"
10678            class="dropdown-list-item"
10679        >
10680            <span>Karma dietetyczna dla psa</span>
10681        </a>
10682    </li>
10683                            
10684    <li data-level="2">
10685        <a
10686            href="https://fera.pl/pies/karma-weterynaryjna-dla-psa/karma-dla-psa-z-problemami-skornymi.html"
10687            class="dropdown-list-item"
10688        >
10689            <span>Karma dla psa z problemami skórnymi</span>
10690        </a>
10691    </li>
10692                            
10693    <li data-level="2">
10694        <a
10695            href="https://fera.pl/pies/karma-weterynaryjna-dla-psa/karma-dla-psa-na-problemy-z-zebami.html"
10696            class="dropdown-list-item"
10697        >
10698            <span>Karma dla psa na problemy z zębami</span>
10699        </a>
10700    </li>
10701                            
10702    <li data-level="2">
10703        <a
10704            href="https://fera.pl/pies/karma-weterynaryjna-dla-psa/karma-dla-psa-na-rekonwalescencje.html"
10705            class="dropdown-list-item"
10706        >
10707            <span>Karma dla psa na rekonwalescencję</span>
10708        </a>
10709    </li>
10710                            
10711    <li data-level="2">
10712        <a
10713            href="https://fera.pl/pies/karma-weterynaryjna-dla-psa/karma-urinary-dla-psa.html"
10714            class="dropdown-list-item"
10715        >
10716            <span>Karma urinary dla psa</span>
10717        </a>
10718    </li>
10719                            
10720    <li data-level="2">
10721        <a
10722            href="https://fera.pl/pies/karma-weterynaryjna-dla-psa/karma-renal-dla-psa.html"
10723            class="dropdown-list-item"
10724        >
10725            <span>Karma renal dla psa</span>
10726        </a>
10727    </li>
10728                            
10729    <li data-level="2">
10730        <a
10731            href="https://fera.pl/pies/karma-weterynaryjna-dla-psa/karma-dla-psa-na-problemy-z-sercem.html"
10732            class="dropdown-list-item"
10733        >
10734            <span>Karma dla psa na problemy z sercem</span>
10735        </a>
10736    </li>
10737                            
10738    <li data-level="2">
10739        <a
10740            href="https://fera.pl/pies/karma-weterynaryjna-dla-psa/karma-dla-psa-na-stawy.html"
10741            class="dropdown-list-item"
10742        >
10743            <span>Karma dla psa na stawy</span>
10744        </a>
10745    </li>
10746                            
10747    <li data-level="2">
10748        <a
10749            href="https://fera.pl/pies/karma-weterynaryjna-dla-psa/karma-hepatic-dla-psa.html"
10750            class="dropdown-list-item"
10751        >
10752            <span>Karma hepatic dla psa</span>
10753        </a>
10754    </li>
10755                            
10756    <li data-level="2">
10757        <a
10758            href="https://fera.pl/pies/karma-weterynaryjna-dla-psa/karma-gastro-dla-psa.html"
10759            class="dropdown-list-item"
10760        >
10761            <span>Karma gastro dla psa</span>
10762        </a>
10763    </li>
10764                            
10765    <li data-level="2">
10766        <a
10767            href="https://fera.pl/pies/karma-weterynaryjna-dla-psa/karma-dla-psa-z-chora-trzustka.html"
10768            class="dropdown-list-item"
10769        >
10770            <span>Karma dla psa z chorą trzustką</span>
10771        </a>
10772    </li>
10773                            
10774    <li data-level="2">
10775        <a
10776            href="https://fera.pl/pies/karma-weterynaryjna-dla-psa/karma-dla-psa-po-kastracji.html"
10777            class="dropdown-list-item"
10778        >
10779            <span>Karma dla psa po kastracji</span>
10780        </a>
10781    </li>
10782                    </ul>
10783    </li>
10784                            
10785    <li data-level="1" x-data="initMobileSubMenu">
10786        <button
10787            type="button"
10788            class="dropdown-list-item"
10789            aria-controls="category-node-90-mobile-menu-panel"
10790            aria-expanded="false"
10791            x-ref="openSubMenuBtn"
10792            :aria-expanded="isOpen"
10793            :disabled="isOpen"
10794            @click="open"
10795        >
10796            <span>Karma dla psów rasowych</span>
10797            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
10798        </button>
10799        <ul
10800            id="category-node-90-mobile-menu-panel"
10801            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
10802            x-show="isOpen"
10803            x-transition:enter-start="opacity-0 translate-x-8"
10804            x-transition:enter-end="opacity-100 translate-x-0"
10805            x-transition:leave-start="opacity-100 translate-x-0"
10806            x-transition:leave-end="opacity-0 translate-x-8"
10807            @keydown.escape.stop.prevent="close"
10808        >
10809            <li data-level="2">
10810                <button
10811                    type="button"
10812                    class="dropdown-list-item font-bold justify-normal"
10813                    @click="close"
10814                    x-ref="closeSubMenuBtn"
10815                >
10816                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
10817                    Karma dla psów rasowych                </button>
10818            </li>
10819            <li>
10820                <a
10821                    href="https://fera.pl/pies/karma-dla-psow-rasowych.html"
10822                    class="dropdown-list-item font-bold"
10823                >
10824                    <span>
10825                        Karma dla psów rasowych - zobacz wszystko                    </span>
10826                </a>
10827            </li>
10828                            
10829    <li data-level="2">
10830        <a
10831            href="https://fera.pl/pies/karma-dla-psow-rasowych/karma-dla-beagle.html"
10832            class="dropdown-list-item"
10833        >
10834            <span>Karma dla Beagle</span>
10835        </a>
10836    </li>
10837                            
10838    <li data-level="2">
10839        <a
10840            href="https://fera.pl/pies/karma-dla-psow-rasowych/karma-dla-buldoga-angielskiego.html"
10841            class="dropdown-list-item"
10842        >
10843            <span>Karma dla Buldoga angielskiego</span>
10844        </a>
10845    </li>
10846                            
10847    <li data-level="2">
10848        <a
10849            href="https://fera.pl/pies/karma-dla-psow-rasowych/karma-dla-buldoga-francuskiego.html"
10850            class="dropdown-list-item"
10851        >
10852            <span>Karma dla Buldoga francuskiego</span>
10853        </a>
10854    </li>
10855                            
10856    <li data-level="2">
10857        <a
10858            href="https://fera.pl/pies/karma-dla-psow-rasowych/karma-dla-cavalier-king-charles.html"
10859            class="dropdown-list-item"
10860        >
10861            <span>Karma dla Cavalier king charles</span>
10862        </a>
10863    </li>
10864                            
10865    <li data-level="2">
10866        <a
10867            href="https://fera.pl/pies/karma-dla-psow-rasowych/karma-dla-chihuahua.html"
10868            class="dropdown-list-item"
10869        >
10870            <span>Karma dla Chihuahua</span>
10871        </a>
10872    </li>
10873                            
10874    <li data-level="2">
10875        <a
10876            href="https://fera.pl/pies/karma-dla-psow-rasowych/karma-dla-jamnika.html"
10877            class="dropdown-list-item"
10878        >
10879            <span>Karma dla Jamnika</span>
10880        </a>
10881    </li>
10882                            
10883    <li data-level="2">
10884        <a
10885            href="https://fera.pl/pies/karma-dla-psow-rasowych/karma-dla-owczarka-niemieckiego.html"
10886            class="dropdown-list-item"
10887        >
10888            <span>Karma dla Owczarka niemieckiego</span>
10889        </a>
10890    </li>
10891                            
10892    <li data-level="2">
10893        <a
10894            href="https://fera.pl/pies/karma-dla-psow-rasowych/karma-dla-goldena.html"
10895            class="dropdown-list-item"
10896        >
10897            <span>Karma dla Goldena</span>
10898        </a>
10899    </li>
10900                            
10901    <li data-level="2">
10902        <a
10903            href="https://fera.pl/pies/karma-dla-psow-rasowych/karma-dla-doga-niemieckiego.html"
10904            class="dropdown-list-item"
10905        >
10906            <span>Karma dla Doga niemieckiego</span>
10907        </a>
10908    </li>
10909                            
10910    <li data-level="2">
10911        <a
10912            href="https://fera.pl/pies/karma-dla-psow-rasowych/karma-dla-jack-russell-terrier.html"
10913            class="dropdown-list-item"
10914        >
10915            <span>Karma dla Jack russell terrier</span>
10916        </a>
10917    </li>
10918                            
10919    <li data-level="2">
10920        <a
10921            href="https://fera.pl/pies/karma-dla-psow-rasowych/karma-dla-labrador-retriever.html"
10922            class="dropdown-list-item"
10923        >
10924            <span>Karma dla Labrador retriever</span>
10925        </a>
10926    </li>
10927                            
10928    <li data-level="2">
10929        <a
10930            href="https://fera.pl/pies/karma-dla-psow-rasowych/karma-dla-sznaucera.html"
10931            class="dropdown-list-item"
10932        >
10933            <span>Karma dla Sznaucera</span>
10934        </a>
10935    </li>
10936                            
10937    <li data-level="2">
10938        <a
10939            href="https://fera.pl/pies/karma-dla-psow-rasowych/karma-dla-pudla.html"
10940            class="dropdown-list-item"
10941        >
10942            <span>Karma dla Pudla</span>
10943        </a>
10944    </li>
10945                            
10946    <li data-level="2">
10947        <a
10948            href="https://fera.pl/pies/karma-dla-psow-rasowych/karma-dla-rottweiler.html"
10949            class="dropdown-list-item"
10950        >
10951            <span>Karma dla Rottweiler</span>
10952        </a>
10953    </li>
10954                            
10955    <li data-level="2">
10956        <a
10957            href="https://fera.pl/pies/karma-dla-psow-rasowych/karma-dla-shih-tzu.html"
10958            class="dropdown-list-item"
10959        >
10960            <span>Karma dla Shih tzu</span>
10961        </a>
10962    </li>
10963                            
10964    <li data-level="2">
10965        <a
10966            href="https://fera.pl/pies/karma-dla-psow-rasowych/karma-dla-west-highland-white-terrier.html"
10967            class="dropdown-list-item"
10968        >
10969            <span>Karma dla West highland white terrier</span>
10970        </a>
10971    </li>
10972                            
10973    <li data-level="2">
10974        <a
10975            href="https://fera.pl/pies/karma-dla-psow-rasowych/karma-dla-yorkshire-terrier.html"
10976            class="dropdown-list-item"
10977        >
10978            <span>Karma dla Yorkshire terrier</span>
10979        </a>
10980    </li>
10981                            
10982    <li data-level="2">
10983        <a
10984            href="https://fera.pl/pies/karma-dla-psow-rasowych/karma-dla-szpica-miniaturowego-pomeranian.html"
10985            class="dropdown-list-item"
10986        >
10987            <span>Karma dla Szpica miniaturowego pomeranian</span>
10988        </a>
10989    </li>
10990                    </ul>
10991    </li>
10992                            
10993    <li data-level="1" x-data="initMobileSubMenu">
10994        <button
10995            type="button"
10996            class="dropdown-list-item"
10997            aria-controls="category-node-27-mobile-menu-panel"
10998            aria-expanded="false"
10999            x-ref="openSubMenuBtn"
11000            :aria-expanded="isOpen"
11001            :disabled="isOpen"
11002            @click="open"
11003        >
11004            <span>Karma dla psa: Podział wg firm</span>
11005            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
11006        </button>
11007        <ul
11008            id="category-node-27-mobile-menu-panel"
11009            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
11010            x-show="isOpen"
11011            x-transition:enter-start="opacity-0 translate-x-8"
11012            x-transition:enter-end="opacity-100 translate-x-0"
11013            x-transition:leave-start="opacity-100 translate-x-0"
11014            x-transition:leave-end="opacity-0 translate-x-8"
11015            @keydown.escape.stop.prevent="close"
11016        >
11017            <li data-level="2">
11018                <button
11019                    type="button"
11020                    class="dropdown-list-item font-bold justify-normal"
11021                    @click="close"
11022                    x-ref="closeSubMenuBtn"
11023                >
11024                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
11025                    Karma dla psa: Podział wg firm                </button>
11026            </li>
11027            <li>
11028                <a
11029                    href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm.html"
11030                    class="dropdown-list-item font-bold"
11031                >
11032                    <span>
11033                        Karma dla psa: Podział wg firm - zobacz wszystko                    </span>
11034                </a>
11035            </li>
11036                            
11037    <li data-level="2">
11038        <a
11039            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-royal-canin.html"
11040            class="dropdown-list-item"
11041        >
11042            <span>Karma dla psa Royal Canin</span>
11043        </a>
11044    </li>
11045                            
11046    <li data-level="2">
11047        <a
11048            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-simply-from-nature.html"
11049            class="dropdown-list-item"
11050        >
11051            <span>Karma dla psa Simply From Nature</span>
11052        </a>
11053    </li>
11054                            
11055    <li data-level="2">
11056        <a
11057            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-pedigree.html"
11058            class="dropdown-list-item"
11059        >
11060            <span>Karma dla psa Pedigree</span>
11061        </a>
11062    </li>
11063                            
11064    <li data-level="2">
11065        <a
11066            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-josera.html"
11067            class="dropdown-list-item"
11068        >
11069            <span>Karma dla psa Josera</span>
11070        </a>
11071    </li>
11072                            
11073    <li data-level="2">
11074        <a
11075            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-brit.html"
11076            class="dropdown-list-item"
11077        >
11078            <span>Karma dla psa Brit</span>
11079        </a>
11080    </li>
11081                            
11082    <li data-level="2">
11083        <a
11084            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-chappi.html"
11085            class="dropdown-list-item"
11086        >
11087            <span>Karma dla psa Chappi</span>
11088        </a>
11089    </li>
11090                            
11091    <li data-level="2">
11092        <a
11093            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-eukanuba.html"
11094            class="dropdown-list-item"
11095        >
11096            <span>Karma dla psa Eukanuba</span>
11097        </a>
11098    </li>
11099                            
11100    <li data-level="2">
11101        <a
11102            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-fitmin.html"
11103            class="dropdown-list-item"
11104        >
11105            <span>Karma dla psa Fitmin</span>
11106        </a>
11107    </li>
11108                            
11109    <li data-level="2">
11110        <a
11111            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-bosch.html"
11112            class="dropdown-list-item"
11113        >
11114            <span>Karma dla psa Bosch</span>
11115        </a>
11116    </li>
11117                            
11118    <li data-level="2">
11119        <a
11120            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-acana.html"
11121            class="dropdown-list-item"
11122        >
11123            <span>Karma dla psa Acana</span>
11124        </a>
11125    </li>
11126                            
11127    <li data-level="2">
11128        <a
11129            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-iams.html"
11130            class="dropdown-list-item"
11131        >
11132            <span>Karma dla psa Iams</span>
11133        </a>
11134    </li>
11135                            
11136    <li data-level="2">
11137        <a
11138            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-perfect-fit.html"
11139            class="dropdown-list-item"
11140        >
11141            <span>Karma dla psa Perfect Fit</span>
11142        </a>
11143    </li>
11144                            
11145    <li data-level="2">
11146        <a
11147            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-purina.html"
11148            class="dropdown-list-item"
11149        >
11150            <span>Karma dla psa Purina</span>
11151        </a>
11152    </li>
11153                            
11154    <li data-level="2">
11155        <a
11156            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-alpha-spirit.html"
11157            class="dropdown-list-item"
11158        >
11159            <span>Karma dla psa Alpha Spirit</span>
11160        </a>
11161    </li>
11162                            
11163    <li data-level="2">
11164        <a
11165            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-arion.html"
11166            class="dropdown-list-item"
11167        >
11168            <span>Karma dla psa Arion</span>
11169        </a>
11170    </li>
11171                            
11172    <li data-level="2">
11173        <a
11174            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-butcher-s.html"
11175            class="dropdown-list-item"
11176        >
11177            <span>Karma dla psa Butcher&#039;s</span>
11178        </a>
11179    </li>
11180                            
11181    <li data-level="2">
11182        <a
11183            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-carnilove.html"
11184            class="dropdown-list-item"
11185        >
11186            <span>Karma dla psa Carnilove</span>
11187        </a>
11188    </li>
11189                            
11190    <li data-level="2">
11191        <a
11192            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-farmina.html"
11193            class="dropdown-list-item"
11194        >
11195            <span>Karma dla psa Farmina</span>
11196        </a>
11197    </li>
11198                            
11199    <li data-level="2">
11200        <a
11201            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-frolic.html"
11202            class="dropdown-list-item"
11203        >
11204            <span>Karma dla psa Frolic</span>
11205        </a>
11206    </li>
11207                            
11208    <li data-level="2">
11209        <a
11210            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-hill-s.html"
11211            class="dropdown-list-item"
11212        >
11213            <span>Karma dla psa Hill&#039;s</span>
11214        </a>
11215    </li>
11216                            
11217    <li data-level="2">
11218        <a
11219            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-taste-of-the-wild.html"
11220            class="dropdown-list-item"
11221        >
11222            <span>Karma dla psa Taste Of The Wild</span>
11223        </a>
11224    </li>
11225                            
11226    <li data-level="2">
11227        <a
11228            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-nero-gold.html"
11229            class="dropdown-list-item"
11230        >
11231            <span>Karma dla psa Nero Gold</span>
11232        </a>
11233    </li>
11234                            
11235    <li data-level="2">
11236        <a
11237            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-cesar.html"
11238            class="dropdown-list-item"
11239        >
11240            <span>Karma dla psa Cesar</span>
11241        </a>
11242    </li>
11243                            
11244    <li data-level="2">
11245        <a
11246            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-stuzzy.html"
11247            class="dropdown-list-item"
11248        >
11249            <span>Karma dla psa Stuzzy</span>
11250        </a>
11251    </li>
11252                            
11253    <li data-level="2">
11254        <a
11255            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-schesir.html"
11256            class="dropdown-list-item"
11257        >
11258            <span>Karma dla psa Schesir</span>
11259        </a>
11260    </li>
11261                            
11262    <li data-level="2">
11263        <a
11264            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-applaws.html"
11265            class="dropdown-list-item"
11266        >
11267            <span>Karma dla psa Applaws</span>
11268        </a>
11269    </li>
11270                            
11271    <li data-level="2">
11272        <a
11273            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-dolina-noteci.html"
11274            class="dropdown-list-item"
11275        >
11276            <span>Karma dla psa Dolina Noteci</span>
11277        </a>
11278    </li>
11279                            
11280    <li data-level="2">
11281        <a
11282            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-forza10.html"
11283            class="dropdown-list-item"
11284        >
11285            <span>Karma dla psa Forza10</span>
11286        </a>
11287    </li>
11288                            
11289    <li data-level="2">
11290        <a
11291            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-country-nature.html"
11292            class="dropdown-list-item"
11293        >
11294            <span>Karma dla psa Country&amp;Nature</span>
11295        </a>
11296    </li>
11297                            
11298    <li data-level="2">
11299        <a
11300            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-monge.html"
11301            class="dropdown-list-item"
11302        >
11303            <span>Karma dla psa Monge</span>
11304        </a>
11305    </li>
11306                            
11307    <li data-level="2">
11308        <a
11309            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-belcando.html"
11310            class="dropdown-list-item"
11311        >
11312            <span>Karma dla psa Belcando</span>
11313        </a>
11314    </li>
11315                            
11316    <li data-level="2">
11317        <a
11318            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-crave.html"
11319            class="dropdown-list-item"
11320        >
11321            <span>Karma dla psa Crave</span>
11322        </a>
11323    </li>
11324                            
11325    <li data-level="2">
11326        <a
11327            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-orijen.html"
11328            class="dropdown-list-item"
11329        >
11330            <span>Karma dla psa Orijen</span>
11331        </a>
11332    </li>
11333                            
11334    <li data-level="2">
11335        <a
11336            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-paka-zwierzaka.html"
11337            class="dropdown-list-item"
11338        >
11339            <span>Karma dla psa Paka Zwierzaka</span>
11340        </a>
11341    </li>
11342                            
11343    <li data-level="2">
11344        <a
11345            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-cibau.html"
11346            class="dropdown-list-item"
11347        >
11348            <span>Karma dla psa Cibau</span>
11349        </a>
11350    </li>
11351                            
11352    <li data-level="2">
11353        <a
11354            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-rafi.html"
11355            class="dropdown-list-item"
11356        >
11357            <span>Karma dla psa Rafi</span>
11358        </a>
11359    </li>
11360                            
11361    <li data-level="2">
11362        <a
11363            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-piper.html"
11364            class="dropdown-list-item"
11365        >
11366            <span>Karma dla psa Piper</span>
11367        </a>
11368    </li>
11369                            
11370    <li data-level="2">
11371        <a
11372            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-primal-spirit.html"
11373            class="dropdown-list-item"
11374        >
11375            <span>Karma dla psa Primal Spirit</span>
11376        </a>
11377    </li>
11378                            
11379    <li data-level="2">
11380        <a
11381            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-calibra.html"
11382            class="dropdown-list-item"
11383        >
11384            <span>Karma dla psa Calibra</span>
11385        </a>
11386    </li>
11387                            
11388    <li data-level="2">
11389        <a
11390            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-ziwipeak.html"
11391            class="dropdown-list-item"
11392        >
11393            <span>Karma dla psa ZiwiPeak</span>
11394        </a>
11395    </li>
11396                            
11397    <li data-level="2">
11398        <a
11399            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-rinti.html"
11400            class="dropdown-list-item"
11401        >
11402            <span>Karma dla psa Rinti</span>
11403        </a>
11404    </li>
11405                            
11406    <li data-level="2">
11407        <a
11408            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-marp.html"
11409            class="dropdown-list-item"
11410        >
11411            <span>Karma dla psa MARP</span>
11412        </a>
11413    </li>
11414                            
11415    <li data-level="2">
11416        <a
11417            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-pan-miesko.html"
11418            class="dropdown-list-item"
11419        >
11420            <span>Karma dla psa Pan Mięsko</span>
11421        </a>
11422    </li>
11423                            
11424    <li data-level="2">
11425        <a
11426            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-canun.html"
11427            class="dropdown-list-item"
11428        >
11429            <span>Karma dla psa Canun</span>
11430        </a>
11431    </li>
11432                            
11433    <li data-level="2">
11434        <a
11435            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-nugape.html"
11436            class="dropdown-list-item"
11437        >
11438            <span>Karma dla psa Nugape</span>
11439        </a>
11440    </li>
11441                            
11442    <li data-level="2">
11443        <a
11444            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-green-petfood.html"
11445            class="dropdown-list-item"
11446        >
11447            <span>Karma dla psa Green Petfood</span>
11448        </a>
11449    </li>
11450                            
11451    <li data-level="2">
11452        <a
11453            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-trovet.html"
11454            class="dropdown-list-item"
11455        >
11456            <span>Karma dla psa Trovet</span>
11457        </a>
11458    </li>
11459                            
11460    <li data-level="2">
11461        <a
11462            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-vet-expert.html"
11463            class="dropdown-list-item"
11464        >
11465            <span>Karma dla psa Vet Expert</span>
11466        </a>
11467    </li>
11468                            
11469    <li data-level="2">
11470        <a
11471            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-divinus.html"
11472            class="dropdown-list-item"
11473        >
11474            <span>Karma dla psa Divinus</span>
11475        </a>
11476    </li>
11477                            
11478    <li data-level="2">
11479        <a
11480            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-addvena.html"
11481            class="dropdown-list-item"
11482        >
11483            <span>Karma dla psa Addvena</span>
11484        </a>
11485    </li>
11486                            
11487    <li data-level="2">
11488        <a
11489            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-arquivet.html"
11490            class="dropdown-list-item"
11491        >
11492            <span>Karma dla psa Arquivet</span>
11493        </a>
11494    </li>
11495                            
11496    <li data-level="2">
11497        <a
11498            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-snut.html"
11499            class="dropdown-list-item"
11500        >
11501            <span>Karma dla psa Snut</span>
11502        </a>
11503    </li>
11504                            
11505    <li data-level="2">
11506        <a
11507            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-migos.html"
11508            class="dropdown-list-item"
11509        >
11510            <span>Karma dla psa Migos</span>
11511        </a>
11512    </li>
11513                            
11514    <li data-level="2">
11515        <a
11516            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-bewi-dog.html"
11517            class="dropdown-list-item"
11518        >
11519            <span>Karma dla psa Bewi Dog</span>
11520        </a>
11521    </li>
11522                            
11523    <li data-level="2">
11524        <a
11525            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-inaba.html"
11526            class="dropdown-list-item"
11527        >
11528            <span>Karma dla psa Inaba</span>
11529        </a>
11530    </li>
11531                            
11532    <li data-level="2">
11533        <a
11534            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-biofeed.html"
11535            class="dropdown-list-item"
11536        >
11537            <span>Karma dla psa BioFeed</span>
11538        </a>
11539    </li>
11540                            
11541    <li data-level="2">
11542        <a
11543            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-comfy-appetit.html"
11544            class="dropdown-list-item"
11545        >
11546            <span>Karma dla psa Comfy Appetit</span>
11547        </a>
11548    </li>
11549                            
11550    <li data-level="2">
11551        <a
11552            href="https://fera.pl/pies/karma-dla-psa-podzial-wg-firm/karma-dla-psa-james-wellbeloved.html"
11553            class="dropdown-list-item"
11554        >
11555            <span>Karma dla psa James Wellbeloved</span>
11556        </a>
11557    </li>
11558                    </ul>
11559    </li>
11560                            
11561    <li data-level="1" x-data="initMobileSubMenu">
11562        <button
11563            type="button"
11564            class="dropdown-list-item"
11565            aria-controls="category-node-110-mobile-menu-panel"
11566            aria-expanded="false"
11567            x-ref="openSubMenuBtn"
11568            :aria-expanded="isOpen"
11569            :disabled="isOpen"
11570            @click="open"
11571        >
11572            <span>Przysmaki dla psa</span>
11573            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
11574        </button>
11575        <ul
11576            id="category-node-110-mobile-menu-panel"
11577            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
11578            x-show="isOpen"
11579            x-transition:enter-start="opacity-0 translate-x-8"
11580            x-transition:enter-end="opacity-100 translate-x-0"
11581            x-transition:leave-start="opacity-100 translate-x-0"
11582            x-transition:leave-end="opacity-0 translate-x-8"
11583            @keydown.escape.stop.prevent="close"
11584        >
11585            <li data-level="2">
11586                <button
11587                    type="button"
11588                    class="dropdown-list-item font-bold justify-normal"
11589                    @click="close"
11590                    x-ref="closeSubMenuBtn"
11591                >
11592                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
11593                    Przysmaki dla psa                </button>
11594            </li>
11595            <li>
11596                <a
11597                    href="https://fera.pl/pies/przysmaki-dla-psa.html"
11598                    class="dropdown-list-item font-bold"
11599                >
11600                    <span>
11601                        Przysmaki dla psa - zobacz wszystko                    </span>
11602                </a>
11603            </li>
11604                            
11605    <li data-level="2">
11606        <a
11607            href="https://fera.pl/pies/przysmaki-dla-psa/gryzaki-dentystyczne-dla-psa.html"
11608            class="dropdown-list-item"
11609        >
11610            <span>Gryzaki dentystyczne dla psa</span>
11611        </a>
11612    </li>
11613                            
11614    <li data-level="2">
11615        <a
11616            href="https://fera.pl/pies/przysmaki-dla-psa/kosci-dla-psa.html"
11617            class="dropdown-list-item"
11618        >
11619            <span>Kości dla psa</span>
11620        </a>
11621    </li>
11622                            
11623    <li data-level="2">
11624        <a
11625            href="https://fera.pl/pies/przysmaki-dla-psa/ciasteczka-dla-psa.html"
11626            class="dropdown-list-item"
11627        >
11628            <span>Ciasteczka dla psa</span>
11629        </a>
11630    </li>
11631                            
11632    <li data-level="2">
11633        <a
11634            href="https://fera.pl/pies/przysmaki-dla-psa/treserki-dla-psa.html"
11635            class="dropdown-list-item"
11636        >
11637            <span>Treserki dla psa</span>
11638        </a>
11639    </li>
11640                            
11641    <li data-level="2">
11642        <a
11643            href="https://fera.pl/pies/przysmaki-dla-psa/naturalne-przysmaki-dla-psa.html"
11644            class="dropdown-list-item"
11645        >
11646            <span>Naturalne przysmaki dla psa</span>
11647        </a>
11648    </li>
11649                            
11650    <li data-level="2">
11651        <a
11652            href="https://fera.pl/pies/przysmaki-dla-psa/kabanosy-dla-psa.html"
11653            class="dropdown-list-item"
11654        >
11655            <span>Kabanosy dla psa</span>
11656        </a>
11657    </li>
11658                            
11659    <li data-level="2">
11660        <a
11661            href="https://fera.pl/pies/przysmaki-dla-psa/przysmaki-liofilizowane-dla-psa.html"
11662            class="dropdown-list-item"
11663        >
11664            <span>Przysmaki liofilizowane dla psa</span>
11665        </a>
11666    </li>
11667                            
11668    <li data-level="2">
11669        <a
11670            href="https://fera.pl/pies/przysmaki-dla-psa/przysmaki-funkcjonalne-dla-psa.html"
11671            class="dropdown-list-item"
11672        >
11673            <span>Przysmaki funkcjonalne dla psa</span>
11674        </a>
11675    </li>
11676                    </ul>
11677    </li>
11678                            
11679    <li data-level="1" x-data="initMobileSubMenu">
11680        <button
11681            type="button"
11682            class="dropdown-list-item"
11683            aria-controls="category-node-123-mobile-menu-panel"
11684            aria-expanded="false"
11685            x-ref="openSubMenuBtn"
11686            :aria-expanded="isOpen"
11687            :disabled="isOpen"
11688            @click="open"
11689        >
11690            <span>Zdrowie psa</span>
11691            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
11692        </button>
11693        <ul
11694            id="category-node-123-mobile-menu-panel"
11695            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
11696            x-show="isOpen"
11697            x-transition:enter-start="opacity-0 translate-x-8"
11698            x-transition:enter-end="opacity-100 translate-x-0"
11699            x-transition:leave-start="opacity-100 translate-x-0"
11700            x-transition:leave-end="opacity-0 translate-x-8"
11701            @keydown.escape.stop.prevent="close"
11702        >
11703            <li data-level="2">
11704                <button
11705                    type="button"
11706                    class="dropdown-list-item font-bold justify-normal"
11707                    @click="close"
11708                    x-ref="closeSubMenuBtn"
11709                >
11710                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
11711                    Zdrowie psa                </button>
11712            </li>
11713            <li>
11714                <a
11715                    href="https://fera.pl/pies/zdrowie-psa.html"
11716                    class="dropdown-list-item font-bold"
11717                >
11718                    <span>
11719                        Zdrowie psa - zobacz wszystko                    </span>
11720                </a>
11721            </li>
11722                            
11723    <li data-level="2">
11724        <a
11725            href="https://fera.pl/pies/zdrowie-psa/czyszczenie-zebow-psa.html"
11726            class="dropdown-list-item"
11727        >
11728            <span>Czyszczenie zębów psa</span>
11729        </a>
11730    </li>
11731                            
11732    <li data-level="2">
11733        <a
11734            href="https://fera.pl/pies/zdrowie-psa/probiotyki-dla-psa.html"
11735            class="dropdown-list-item"
11736        >
11737            <span>Probiotyki dla psa</span>
11738        </a>
11739    </li>
11740                            
11741    <li data-level="2">
11742        <a
11743            href="https://fera.pl/pies/zdrowie-psa/czyszczenie-uszu-i-oczu-psa.html"
11744            class="dropdown-list-item"
11745        >
11746            <span>Czyszczenie uszu i oczu psa</span>
11747        </a>
11748    </li>
11749                            
11750    <li data-level="2">
11751        <a
11752            href="https://fera.pl/pies/zdrowie-psa/preparaty-na-stawy-i-kosci-dla-psa.html"
11753            class="dropdown-list-item"
11754        >
11755            <span>Preparaty na stawy i kości dla psa</span>
11756        </a>
11757    </li>
11758                            
11759    <li data-level="2">
11760        <a
11761            href="https://fera.pl/pies/zdrowie-psa/preparaty-na-siersc-i-skore-psa.html"
11762            class="dropdown-list-item"
11763        >
11764            <span>Preparaty na sierść i skórę psa</span>
11765        </a>
11766    </li>
11767                            
11768    <li data-level="2">
11769        <a
11770            href="https://fera.pl/pies/zdrowie-psa/tabletki-na-odrobaczenie-psa.html"
11771            class="dropdown-list-item"
11772        >
11773            <span>Tabletki na odrobaczenie psa</span>
11774        </a>
11775    </li>
11776                            
11777    <li data-level="2">
11778        <a
11779            href="https://fera.pl/pies/zdrowie-psa/witaminy-i-suplementy-dla-psa.html"
11780            class="dropdown-list-item"
11781        >
11782            <span>Witaminy i suplementy dla psa</span>
11783        </a>
11784    </li>
11785                            
11786    <li data-level="2">
11787        <a
11788            href="https://fera.pl/pies/zdrowie-psa/akcesoria-weterynaryjne-i-diagnostyka-psa.html"
11789            class="dropdown-list-item"
11790        >
11791            <span>Akcesoria weterynaryjne i diagnostyka psa</span>
11792        </a>
11793    </li>
11794                            
11795    <li data-level="2">
11796        <a
11797            href="https://fera.pl/pies/zdrowie-psa/preparaty-na-uspokojenie-psa.html"
11798            class="dropdown-list-item"
11799        >
11800            <span>Preparaty na uspokojenie psa</span>
11801        </a>
11802    </li>
11803                    </ul>
11804    </li>
11805                            
11806    <li data-level="1" x-data="initMobileSubMenu">
11807        <button
11808            type="button"
11809            class="dropdown-list-item"
11810            aria-controls="category-node-131-mobile-menu-panel"
11811            aria-expanded="false"
11812            x-ref="openSubMenuBtn"
11813            :aria-expanded="isOpen"
11814            :disabled="isOpen"
11815            @click="open"
11816        >
11817            <span>
11817Pchły, kleszcze i pasożyty</span>
11818            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
11819        </button>
11820        <ul
11821            id="category-node-131-mobile-menu-panel"
11822            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
11823            x-show="isOpen"
11824            x-transition:enter-start="opacity-0 translate-x-8"
11825            x-transition:enter-end="opacity-100 translate-x-0"
11826            x-transition:leave-start="opacity-100 translate-x-0"
11827            x-transition:leave-end="opacity-0 translate-x-8"
11828            @keydown.escape.stop.prevent="close"
11829        >
11830            <li data-level="2">
11831                <button
11832                    type="button"
11833                    class="dropdown-list-item font-bold justify-normal"
11834                    @click="close"
11835                    x-ref="closeSubMenuBtn"
11836                >
11837                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
11838                    Pchły, kleszcze i pasożyty                </button>
11839            </li>
11840            <li>
11841                <a
11842                    href="https://fera.pl/pies/pchly-kleszcze-i-pasozyty.html"
11843                    class="dropdown-list-item font-bold"
11844                >
11845                    <span>
11846                        Pchły, kleszcze i pasożyty - zobacz wszystko                    </span>
11847                </a>
11848            </li>
11849                            
11850    <li data-level="2">
11851        <a
11852            href="https://fera.pl/pies/pchly-kleszcze-i-pasozyty/preparaty-na-pchly-i-kleszcze-dla-psa.html"
11853            class="dropdown-list-item"
11854        >
11855            <span>Preparaty na pchły i kleszcze dla psa</span>
11856        </a>
11857    </li>
11858                            
11859    <li data-level="2">
11860        <a
11861            href="https://fera.pl/pies/pchly-kleszcze-i-pasozyty/obroze-na-kleszcze-i-pchly-dla-psa.html"
11862            class="dropdown-list-item"
11863        >
11864            <span>Obroże na kleszcze i pchły dla psa</span>
11865        </a>
11866    </li>
11867                            
11868    <li data-level="2">
11869        <a
11870            href="https://fera.pl/pies/pchly-kleszcze-i-pasozyty/pesety-na-kleszcze-dla-psa.html"
11871            class="dropdown-list-item"
11872        >
11873            <span>Pęsety na kleszcze dla psa</span>
11874        </a>
11875    </li>
11876                            
11877    <li data-level="2">
11878        <a
11879            href="https://fera.pl/pies/pchly-kleszcze-i-pasozyty/szampony-na-pchly-i-kleszcze-dla-psa.html"
11880            class="dropdown-list-item"
11881        >
11882            <span>Szampony na pchły i kleszcze dla psa</span>
11883        </a>
11884    </li>
11885                            
11886    <li data-level="2">
11887        <a
11888            href="https://fera.pl/pies/pchly-kleszcze-i-pasozyty/grzebien-na-pchly-dla-psa.html"
11889            class="dropdown-list-item"
11890        >
11891            <span>Grzebień na pchły dla psa</span>
11892        </a>
11893    </li>
11894                    </ul>
11895    </li>
11896                            
11897    <li data-level="1" x-data="initMobileSubMenu">
11898        <button
11899            type="button"
11900            class="dropdown-list-item"
11901            aria-controls="category-node-117-mobile-menu-panel"
11902            aria-expanded="false"
11903            x-ref="openSubMenuBtn"
11904            :aria-expanded="isOpen"
11905            :disabled="isOpen"
11906            @click="open"
11907        >
11908            <span>Akcesoria do karmienia dla psa</span>
11909            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
11910        </button>
11911        <ul
11912            id="category-node-117-mobile-menu-panel"
11913            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
11914            x-show="isOpen"
11915            x-transition:enter-start="opacity-0 translate-x-8"
11916            x-transition:enter-end="opacity-100 translate-x-0"
11917            x-transition:leave-start="opacity-100 translate-x-0"
11918            x-transition:leave-end="opacity-0 translate-x-8"
11919            @keydown.escape.stop.prevent="close"
11920        >
11921            <li data-level="2">
11922                <button
11923                    type="button"
11924                    class="dropdown-list-item font-bold justify-normal"
11925                    @click="close"
11926                    x-ref="closeSubMenuBtn"
11927                >
11928                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
11929                    Akcesoria do karmienia dla psa                </button>
11930            </li>
11931            <li>
11932                <a
11933                    href="https://fera.pl/pies/akcesoria-do-karmienia-dla-psa.html"
11934                    class="dropdown-list-item font-bold"
11935                >
11936                    <span>
11937                        Akcesoria do karmienia dla psa - zobacz wszystko                    </span>
11938                </a>
11939            </li>
11940                            
11941    <li data-level="2">
11942        <a
11943            href="https://fera.pl/pies/akcesoria-do-karmienia-dla-psa/automaty-na-karme-i-wode-dla-psa.html"
11944            class="dropdown-list-item"
11945        >
11946            <span>Automaty na karmę i wodę dla psa</span>
11947        </a>
11948    </li>
11949                            
11950    <li data-level="2">
11951        <a
11952            href="https://fera.pl/pies/akcesoria-do-karmienia-dla-psa/miski-dla-psa.html"
11953            class="dropdown-list-item"
11954        >
11955            <span>Miski dla psa</span>
11956        </a>
11957    </li>
11958                            
11959    <li data-level="2">
11960        <a
11961            href="https://fera.pl/pies/akcesoria-do-karmienia-dla-psa/pojemniki-na-karme-dla-psa.html"
11962            class="dropdown-list-item"
11963        >
11964            <span>Pojemniki na karmę dla psa</span>
11965        </a>
11966    </li>
11967                            
11968    <li data-level="2">
11969        <a
11970            href="https://fera.pl/pies/akcesoria-do-karmienia-dla-psa/butelki-dla-psa.html"
11971            class="dropdown-list-item"
11972        >
11973            <span>Butelki dla psa</span>
11974        </a>
11975    </li>
11976                    </ul>
11977    </li>
11978                            
11979    <li data-level="1" x-data="initMobileSubMenu">
11980        <button
11981            type="button"
11982            class="dropdown-list-item"
11983            aria-controls="category-node-143-mobile-menu-panel"
11984            aria-expanded="false"
11985            x-ref="openSubMenuBtn"
11986            :aria-expanded="isOpen"
11987            :disabled="isOpen"
11988            @click="open"
11989        >
11990            <span>Grooming i pielęgnacja psa</span>
11991            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
11992        </button>
11993        <ul
11994            id="category-node-143-mobile-menu-panel"
11995            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
11996            x-show="isOpen"
11997            x-transition:enter-start="opacity-0 translate-x-8"
11998            x-transition:enter-end="opacity-100 translate-x-0"
11999            x-transition:leave-start="opacity-100 translate-x-0"
12000            x-transition:leave-end="opacity-0 translate-x-8"
12001            @keydown.escape.stop.prevent="close"
12002        >
12003            <li data-level="2">
12004                <button
12005                    type="button"
12006                    class="dropdown-list-item font-bold justify-normal"
12007                    @click="close"
12008                    x-ref="closeSubMenuBtn"
12009                >
12010                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
12011                    Grooming i pielęgnacja psa                </button>
12012            </li>
12013            <li>
12014                <a
12015                    href="https://fera.pl/pies/grooming-i-pielegnacja-psa.html"
12016                    class="dropdown-list-item font-bold"
12017                >
12018                    <span>
12019                        Grooming i pielęgnacja psa - zobacz wszystko                    </span>
12020                </a>
12021            </li>
12022                            
12023    <li data-level="2">
12024        <a
12025            href="https://fera.pl/pies/grooming-i-pielegnacja-psa/szczotki-do-usuwania-siersci-psa.html"
12026            class="dropdown-list-item"
12027        >
12028            <span>Szczotki do usuwania sierści psa</span>
12029        </a>
12030    </li>
12031                            
12032    <li data-level="2">
12033        <a
12034            href="https://fera.pl/pies/grooming-i-pielegnacja-psa/woreczki-na-psie-odchody.html"
12035            class="dropdown-list-item"
12036        >
12037            <span>Woreczki na psie odchody</span>
12038        </a>
12039    </li>
12040                            
12041    <li data-level="2">
12042        <a
12043            href="https://fera.pl/pies/grooming-i-pielegnacja-psa/podklady-i-pieluchy-dla-psow.html"
12044            class="dropdown-list-item"
12045        >
12046            <span>Podkłady i pieluchy dla psów</span>
12047        </a>
12048    </li>
12049                            
12050    <li data-level="2">
12051        <a
12052            href="https://fera.pl/pies/grooming-i-pielegnacja-psa/preparaty-odstraszajace-psy.html"
12053            class="dropdown-list-item"
12054        >
12055            <span>Preparaty odstraszające psy</span>
12056        </a>
12057    </li>
12058                            
12059    <li data-level="2">
12060        <a
12061            href="https://fera.pl/pies/grooming-i-pielegnacja-psa/preparaty-na-usuwanie-plam-i-zapachow-po-psach.html"
12062            class="dropdown-list-item"
12063        >
12064            <span>Preparaty na usuwanie plam i zapachów po psach</span>
12065        </a>
12066    </li>
12067                            
12068    <li data-level="2">
12069        <a
12070            href="https://fera.pl/pies/grooming-i-pielegnacja-psa/szczotki-i-grzebienie-dla-psa.html"
12071            class="dropdown-list-item"
12072        >
12073            <span>Szczotki i grzebienie dla psa</span>
12074        </a>
12075    </li>
12076                            
12077    <li data-level="2">
12078        <a
12079            href="https://fera.pl/pies/grooming-i-pielegnacja-psa/szampony-i-akcesoria-do-kapania-psa.html"
12080            class="dropdown-list-item"
12081        >
12082            <span>Szampony i akcesoria do kąpania psa</span>
12083        </a>
12084    </li>
12085                            
12086    <li data-level="2">
12087        <a
12088            href="https://fera.pl/pies/grooming-i-pielegnacja-psa/nozyczki-do-strzyzenia-psa.html"
12089            class="dropdown-list-item"
12090        >
12091            <span>Nożyczki do strzyżenia psa</span>
12092        </a>
12093    </li>
12094                            
12095    <li data-level="2">
12096        <a
12097            href="https://fera.pl/pies/grooming-i-pielegnacja-psa/obcinaczki-i-gilotyny-dla-psa-do-pazurow.html"
12098            class="dropdown-list-item"
12099        >
12100            <span>Obcinaczki i gilotyny dla psa do pazurów</span>
12101        </a>
12102    </li>
12103                    </ul>
12104    </li>
12105                            
12106    <li data-level="1" x-data="initMobileSubMenu">
12107        <button
12108            type="button"
12109            class="dropdown-list-item"
12110            aria-controls="category-node-151-mobile-menu-panel"
12111            aria-expanded="false"
12112            x-ref="openSubMenuBtn"
12113            :aria-expanded="isOpen"
12114            :disabled="isOpen"
12115            @click="open"
12116        >
12117            <span>Legowiska, transportery i klatki dla psa</span>
12118            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
12119        </button>
12120        <ul
12121            id="category-node-151-mobile-menu-panel"
12122            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
12123            x-show="isOpen"
12124            x-transition:enter-start="opacity-0 translate-x-8"
12125            x-transition:enter-end="opacity-100 translate-x-0"
12126            x-transition:leave-start="opacity-100 translate-x-0"
12127            x-transition:leave-end="opacity-0 translate-x-8"
12128            @keydown.escape.stop.prevent="close"
12129        >
12130            <li data-level="2">
12131                <button
12132                    type="button"
12133                    class="dropdown-list-item font-bold justify-normal"
12134                    @click="close"
12135                    x-ref="closeSubMenuBtn"
12136                >
12137                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
12138                    Legowiska, transportery i klatki dla psa                </button>
12139            </li>
12140            <li>
12141                <a
12142                    href="https://fera.pl/pies/legowiska-transportery-i-klatki-dla-psa.html"
12143                    class="dropdown-list-item font-bold"
12144                >
12145                    <span>
12146                        Legowiska, transportery i klatki dla psa - zobacz wszystko                    </span>
12147                </a>
12148            </li>
12149                            
12150    <li data-level="2">
12151        <a
12152            href="https://fera.pl/pies/legowiska-transportery-i-klatki-dla-psa/legowisko-dla-psa.html"
12153            class="dropdown-list-item"
12154        >
12155            <span>Legowisko dla psa</span>
12156        </a>
12157    </li>
12158                            
12159    <li data-level="2">
12160        <a
12161            href="https://fera.pl/pies/legowiska-transportery-i-klatki-dla-psa/torby-dla-psa.html"
12162            class="dropdown-list-item"
12163        >
12164            <span>Torby dla psa</span>
12165        </a>
12166    </li>
12167                            
12168    <li data-level="2">
12169        <a
12170            href="https://fera.pl/pies/legowiska-transportery-i-klatki-dla-psa/transportery-dla-psa.html"
12171            class="dropdown-list-item"
12172        >
12173            <span>Transportery dla psa</span>
12174        </a>
12175    </li>
12176                            
12177    <li data-level="2">
12178        <a
12179            href="https://fera.pl/pies/legowiska-transportery-i-klatki-dla-psa/bramki-i-drzwiczki-dla-psa.html"
12180            class="dropdown-list-item"
12181        >
12182            <span>Bramki i drzwiczki dla psa</span>
12183        </a>
12184    </li>
12185                            
12186    <li data-level="2">
12187        <a
12188            href="https://fera.pl/pies/legowiska-transportery-i-klatki-dla-psa/koce-dla-psa.html"
12189            class="dropdown-list-item"
12190        >
12191            <span>Koce dla psa</span>
12192        </a>
12193    </li>
12194                            
12195    <li data-level="2">
12196        <a
12197            href="https://fera.pl/pies/legowiska-transportery-i-klatki-dla-psa/sprzet-podrozny-dla-psa.html"
12198            class="dropdown-list-item"
12199        >
12200            <span>Sprzęt podróżny dla psa</span>
12201        </a>
12202    </li>
12203                    </ul>
12204    </li>
12205                            
12206    <li data-level="1" x-data="initMobileSubMenu">
12207        <button
12208            type="button"
12209            class="dropdown-list-item"
12210            aria-controls="category-node-165-mobile-menu-panel"
12211            aria-expanded="false"
12212            x-ref="openSubMenuBtn"
12213            :aria-expanded="isOpen"
12214            :disabled="isOpen"
12215            @click="open"
12216        >
12217            <span>Zabawki dla psa</span>
12218            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
12219        </button>
12220        <ul
12221            id="category-node-165-mobile-menu-panel"
12222            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
12223            x-show="isOpen"
12224            x-transition:enter-start="opacity-0 translate-x-8"
12225            x-transition:enter-end="opacity-100 translate-x-0"
12226            x-transition:leave-start="opacity-100 translate-x-0"
12227            x-transition:leave-end="opacity-0 translate-x-8"
12228            @keydown.escape.stop.prevent="close"
12229        >
12230            <li data-level="2">
12231                <button
12232                    type="button"
12233                    class="dropdown-list-item font-bold justify-normal"
12234                    @click="close"
12235                    x-ref="closeSubMenuBtn"
12236                >
12237                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
12238                    Zabawki dla psa                </button>
12239            </li>
12240            <li>
12241                <a
12242                    href="https://fera.pl/pies/zabawki-dla-psa.html"
12243                    class="dropdown-list-item font-bold"
12244                >
12245                    <span>
12246                        Zabawki dla psa - zobacz wszystko                    </span>
12247                </a>
12248            </li>
12249                            
12250    <li data-level="2">
12251        <a
12252            href="https://fera.pl/pies/zabawki-dla-psa/gry-dla-psa.html"
12253            class="dropdown-list-item"
12254        >
12255            <span>Gry dla psa</span>
12256        </a>
12257    </li>
12258                            
12259    <li data-level="2">
12260        <a
12261            href="https://fera.pl/pies/zabawki-dla-psa/gryzaki-dla-psa.html"
12262            class="dropdown-list-item"
12263        >
12264            <span>Gryzaki dla psa</span>
12265        </a>
12266    </li>
12267                            
12268    <li data-level="2">
12269        <a
12270            href="https://fera.pl/pies/zabawki-dla-psa/pilki-dla-psa.html"
12271            class="dropdown-list-item"
12272        >
12273            <span>Piłki dla psa</span>
12274        </a>
12275    </li>
12276                            
12277    <li data-level="2">
12278        <a
12279            href="https://fera.pl/pies/zabawki-dla-psa/zabawki-sznurkowe-dla-psa.html"
12280            class="dropdown-list-item"
12281        >
12282            <span>Zabawki sznurkowe dla psa</span>
12283        </a>
12284    </li>
12285                            
12286    <li data-level="2">
12287        <a
12288            href="https://fera.pl/pies/zabawki-dla-psa/zabawki-dla-psa-do-rzucania.html"
12289            class="dropdown-list-item"
12290        >
12291            <span>Zabawki dla psa do rzucania</span>
12292        </a>
12293    </li>
12294                            
12295    <li data-level="2">
12296        <a
12297            href="https://fera.pl/pies/zabawki-dla-psa/pluszaki-dla-psa.html"
12298            class="dropdown-list-item"
12299        >
12300            <span>Pluszaki dla psa</span>
12301        </a>
12302    </li>
12303                    </ul>
12304    </li>
12305                            
12306    <li data-level="1" x-data="initMobileSubMenu">
12307        <button
12308            type="button"
12309            class="dropdown-list-item"
12310            aria-controls="category-node-173-mobile-menu-panel"
12311            aria-expanded="false"
12312            x-ref="openSubMenuBtn"
12313            :aria-expanded="isOpen"
12314            :disabled="isOpen"
12315            @click="open"
12316        >
12317            <span>Obroże i smycze</span>
12318            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
12319        </button>
12320        <ul
12321            id="category-node-173-mobile-menu-panel"
12322            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
12323            x-show="isOpen"
12324            x-transition:enter-start="opacity-0 translate-x-8"
12325            x-transition:enter-end="opacity-100 translate-x-0"
12326            x-transition:leave-start="opacity-100 translate-x-0"
12327            x-transition:leave-end="opacity-0 translate-x-8"
12328            @keydown.escape.stop.prevent="close"
12329        >
12330            <li data-level="2">
12331                <button
12332                    type="button"
12333                    class="dropdown-list-item font-bold justify-normal"
12334                    @click="close"
12335                    x-ref="closeSubMenuBtn"
12336                >
12337                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
12338                    Obroże i smycze                </button>
12339            </li>
12340            <li>
12341                <a
12342                    href="https://fera.pl/pies/obroze-i-smycze.html"
12343                    class="dropdown-list-item font-bold"
12344                >
12345                    <span>
12346                        Obroże i smycze - zobacz wszystko                    </span>
12347                </a>
12348            </li>
12349                            
12350    <li data-level="2">
12351        <a
12352            href="https://fera.pl/pies/obroze-i-smycze/obroze-dla-psa.html"
12353            class="dropdown-list-item"
12354        >
12355            <span>Obroże dla psa</span>
12356        </a>
12357    </li>
12358                            
12359    <li data-level="2">
12360        <a
12361            href="https://fera.pl/pies/obroze-i-smycze/smycze-dla-psa.html"
12362            class="dropdown-list-item"
12363        >
12364            <span>Smycze dla psa</span>
12365        </a>
12366    </li>
12367                            
12368    <li data-level="2">
12369        <a
12370            href="https://fera.pl/pies/obroze-i-smycze/szelki-dla-psa.html"
12371            class="dropdown-list-item"
12372        >
12373            <span>Szelki dla psa</span>
12374        </a>
12375    </li>
12376                            
12377    <li data-level="2">
12378        <a
12379            href="https://fera.pl/pies/obroze-i-smycze/adresowka-dla-psa.html"
12380            class="dropdown-list-item"
12381        >
12382            <span>Adresówka dla psa</span>
12383        </a>
12384    </li>
12385                            
12386    <li data-level="2">
12387        <a
12388            href="https://fera.pl/pies/obroze-i-smycze/szelki-dla-psa-do-samochodu.html"
12389            class="dropdown-list-item"
12390        >
12391            <span>Szelki dla psa do samochodu</span>
12392        </a>
12393    </li>
12394                            
12395    <li data-level="2">
12396        <a
12397            href="https://fera.pl/pies/obroze-i-smycze/kaganiec-dla-psa.html"
12398            class="dropdown-list-item"
12399        >
12400            <span>Kaganiec dla psa</span>
12401        </a>
12402    </li>
12403                            
12404    <li data-level="2">
12405        <a
12406            href="https://fera.pl/pies/obroze-i-smycze/tresura-psa.html"
12407            class="dropdown-list-item"
12408        >
12409            <span>Tresura psa</span>
12410        </a>
12411    </li>
12412                    </ul>
12413    </li>
12414                            
12415    <li data-level="1" x-data="initMobileSubMenu">
12416        <button
12417            type="button"
12418            class="dropdown-list-item"
12419            aria-controls="category-node-183-mobile-menu-panel"
12420            aria-expanded="false"
12421            x-ref="openSubMenuBtn"
12422            :aria-expanded="isOpen"
12423            :disabled="isOpen"
12424            @click="open"
12425        >
12426            <span>Stroje i akcesoria dla psa</span>
12427            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
12428        </button>
12429        <ul
12430            id="category-node-183-mobile-menu-panel"
12431            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
12432            x-show="isOpen"
12433            x-transition:enter-start="opacity-0 translate-x-8"
12434            x-transition:enter-end="opacity-100 translate-x-0"
12435            x-transition:leave-start="opacity-100 translate-x-0"
12436            x-transition:leave-end="opacity-0 translate-x-8"
12437            @keydown.escape.stop.prevent="close"
12438        >
12439            <li data-level="2">
12440                <button
12441                    type="button"
12442                    class="dropdown-list-item font-bold justify-normal"
12443                    @click="close"
12444                    x-ref="closeSubMenuBtn"
12445                >
12446                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
12447                    Stroje i akcesoria dla psa                </button>
12448            </li>
12449            <li>
12450                <a
12451                    href="https://fera.pl/pies/stroje-i-akcesoria-dla-psa.html"
12452                    class="dropdown-list-item font-bold"
12453                >
12454                    <span>
12455                        Stroje i akcesoria dla psa - zobacz wszystko                    </span>
12456                </a>
12457            </li>
12458                            
12459    <li data-level="2">
12460        <a
12461            href="https://fera.pl/pies/stroje-i-akcesoria-dla-psa/majtki-dla-psa.html"
12462            class="dropdown-list-item"
12463        >
12464            <span>Majtki dla psa</span>
12465        </a>
12466    </li>
12467                            
12468    <li data-level="2">
12469        <a
12470            href="https://fera.pl/pies/stroje-i-akcesoria-dla-psa/ubranka-dla-psa.html"
12471            class="dropdown-list-item"
12472        >
12473            <span>Ubranka dla psa</span>
12474        </a>
12475    </li>
12476                            
12477    <li data-level="2">
12478        <a
12479            href="https://fera.pl/pies/stroje-i-akcesoria-dla-psa/skarpetki-i-buty-dla-psa.html"
12480            class="dropdown-list-item"
12481        >
12482            <span>Skarpetki i buty dla psa</span>
12483        </a>
12484    </li>
12485                    </ul>
12486    </li>
12487                    </ul>
12488    </li>
12489                                    
12490    <li data-level="0" x-data="initMobileSubMenu">
12491        <button
12492            type="button"
12493            class="dropdown-list-item"
12494            aria-controls="category-node-187-mobile-menu-panel"
12495            aria-expanded="false"
12496            x-ref="openSubMenuBtn"
12497            :aria-expanded="isOpen"
12498            :disabled="isOpen"
12499            @click="open"
12500        >
12501            <span>Kot</span>
12502            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
12503        </button>
12504        <ul
12505            id="category-node-187-mobile-menu-panel"
12506            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
12507            x-show="isOpen"
12508            x-transition:enter-start="opacity-0 translate-x-8"
12509            x-transition:enter-end="opacity-100 translate-x-0"
12510            x-transition:leave-start="opacity-100 translate-x-0"
12511            x-transition:leave-end="opacity-0 translate-x-8"
12512            @keydown.escape.stop.prevent="close"
12513        >
12514            <li data-level="1">
12515                <button
12516                    type="button"
12517                    class="dropdown-list-item font-bold justify-normal"
12518                    @click="close"
12519                    x-ref="closeSubMenuBtn"
12520                >
12521                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
12522                    Kot                </button>
12523            </li>
12524            <li>
12525                <a
12526                    href="https://fera.pl/kot.html"
12527                    class="dropdown-list-item font-bold"
12528                >
12529                    <span>
12530                        Kot - zobacz wszystko                    </span>
12531                </a>
12532            </li>
12533                            
12534    <li data-level="1" x-data="initMobileSubMenu">
12535        <button
12536            type="button"
12537            class="dropdown-list-item"
12538            aria-controls="category-node-188-mobile-menu-panel"
12539            aria-expanded="false"
12540            x-ref="openSubMenuBtn"
12541            :aria-expanded="isOpen"
12542            :disabled="isOpen"
12543            @click="open"
12544        >
12545            <span>Karma dla kota</span>
12546            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
12547        </button>
12548        <ul
12549            id="category-node-188-mobile-menu-panel"
12550            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
12551            x-show="isOpen"
12552            x-transition:enter-start="opacity-0 translate-x-8"
12553            x-transition:enter-end="opacity-100 translate-x-0"
12554            x-transition:leave-start="opacity-100 translate-x-0"
12555            x-transition:leave-end="opacity-0 translate-x-8"
12556            @keydown.escape.stop.prevent="close"
12557        >
12558            <li data-level="2">
12559                <button
12560                    type="button"
12561                    class="dropdown-list-item font-bold justify-normal"
12562                    @click="close"
12563                    x-ref="closeSubMenuBtn"
12564                >
12565                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
12566                    Karma dla kota                </button>
12567            </li>
12568            <li>
12569                <a
12570                    href="https://fera.pl/kot/karma-dla-kota.html"
12571                    class="dropdown-list-item font-bold"
12572                >
12573                    <span>
12574                        Karma dla kota - zobacz wszystko                    </span>
12575                </a>
12576            </li>
12577                            
12578    <li data-level="2">
12579        <a
12580            href="https://fera.pl/kot/karma-dla-kota/karma-sucha-dla-kota.html"
12581            class="dropdown-list-item"
12582        >
12583            <span>Karma sucha dla kota</span>
12584        </a>
12585    </li>
12586                            
12587    <li data-level="2">
12588        <a
12589            href="https://fera.pl/kot/karma-dla-kota/karma-mokra-dla-kota.html"
12590            class="dropdown-list-item"
12591        >
12592            <span>Karma mokra dla kota</span>
12593        </a>
12594    </li>
12595                            
12596    <li data-level="2">
12597        <a
12598            href="https://fera.pl/kot/karma-dla-kota/karma-liofilizowana-dla-kota.html"
12599            class="dropdown-list-item"
12600        >
12601            <span>Karma liofilizowana dla kota</span>
12602        </a>
12603    </li>
12604                            
12605    <li data-level="2">
12606        <a
12607            href="https://fera.pl/kot/karma-dla-kota/mleko-zastepcze-dla-kota.html"
12608            class="dropdown-list-item"
12609        >
12610            <span>Mleko zastępcze dla kota</span>
12611        </a>
12612    </li>
12613                            
12614    <li data-level="2">
12615        <a
12616            href="https://fera.pl/kot/karma-dla-kota/zywienie-oparte-na-nauce.html"
12617            class="dropdown-list-item"
12618        >
12619            <span>Żywienie oparte na nauce </span>
12620        </a>
12621    </li>
12622                            
12623    <li data-level="2">
12624        <a
12625            href="https://fera.pl/kot/karma-dla-kota/karma-dla-kociat.html"
12626            class="dropdown-list-item"
12627        >
12628            <span>Karma dla kociąt</span>
12629        </a>
12630    </li>
12631                            
12632    <li data-level="2">
12633        <a
12634            href="https://fera.pl/kot/karma-dla-kota/karma-dla-kota-doroslego.html"
12635            class="dropdown-list-item"
12636        >
12637            <span>Karma dla kota dorosłego</span>
12638        </a>
12639    </li>
12640                            
12641    <li data-level="2">
12642        <a
12643            href="https://fera.pl/kot/karma-dla-kota/karma-dla-kota-seniora.html"
12644            class="dropdown-list-item"
12645        >
12646            <span>Karma dla kota seniora</span>
12647        </a>
12648    </li>
12649                            
12650    <li data-level="2">
12651        <a
12652            href="https://fera.pl/kot/karma-dla-kota/karma-bezzbozowa-dla-kota.html"
12653            class="dropdown-list-item"
12654        >
12655            <span>Karma bezzbożowa dla kota</span>
12656        </a>
12657    </li>
12658                    </ul>
12659    </li>
12660                            
12661    <li data-level="1" x-data="initMobileSubMenu">
12662        <button
12663            type="button"
12664            class="dropdown-list-item"
12665            aria-controls="category-node-207-mobile-menu-panel"
12666            aria-expanded="false"
12667            x-ref="openSubMenuBtn"
12668            :aria-expanded="isOpen"
12669            :disabled="isOpen"
12670            @click="open"
12671        >
12672            <span>Karma dla kotów rasowych</span>
12673            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
12674        </button>
12675        <ul
12676            id="category-node-207-mobile-menu-panel"
12677            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
12678            x-show="isOpen"
12679            x-transition:enter-start="opacity-0 translate-x-8"
12680            x-transition:enter-end="opacity-100 translate-x-0"
12681            x-transition:leave-start="opacity-100 translate-x-0"
12682            x-transition:leave-end="opacity-0 translate-x-8"
12683            @keydown.escape.stop.prevent="close"
12684        >
12685            <li data-level="2">
12686                <button
12687                    type="button"
12688                    class="dropdown-list-item font-bold justify-normal"
12689                    @click="close"
12690                    x-ref="closeSubMenuBtn"
12691                >
12692                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
12693                    Karma dla kotów rasowych                </button>
12694            </li>
12695            <li>
12696                <a
12697                    href="https://fera.pl/kot/karma-dla-kotow-rasowych.html"
12698                    class="dropdown-list-item font-bold"
12699                >
12700                    <span>
12701                        Karma dla kotów rasowych - zobacz wszystko                    </span>
12702                </a>
12703            </li>
12704                            
12705    <li data-level="2">
12706        <a
12707            href="https://fera.pl/kot/karma-dla-kotow-rasowych/karma-dla-kota-bengalskiego.html"
12708            class="dropdown-list-item"
12709        >
12710            <span>Karma dla kota bengalskiego</span>
12711        </a>
12712    </li>
12713                            
12714    <li data-level="2">
12715        <a
12716            href="https://fera.pl/kot/karma-dla-kotow-rasowych/karma-dla-kota-brytyjskiego-krotkowlosego.html"
12717            class="dropdown-list-item"
12718        >
12719            <span>Karma dla kota brytyjskiego krótkowłosego</span>
12720        </a>
12721    </li>
12722                            
12723    <li data-level="2">
12724        <a
12725            href="https://fera.pl/kot/karma-dla-kotow-rasowych/karma-dla-kota-maine-coon.html"
12726            class="dropdown-list-item"
12727        >
12728            <span>Karma dla kota maine coon</span>
12729        </a>
12730    </li>
12731                            
12732    <li data-level="2">
12733        <a
12734            href="https://fera.pl/kot/karma-dla-kotow-rasowych/karma-dla-kota-norweskiego-lesnego.html"
12735            class="dropdown-list-item"
12736        >
12737            <span>Karma dla kota norweskiego leśnego</span>
12738        </a>
12739    </li>
12740                            
12741    <li data-level="2">
12742        <a
12743            href="https://fera.pl/kot/karma-dla-kotow-rasowych/karma-dla-kota-perskiego.html"
12744            class="dropdown-list-item"
12745        >
12746            <span>Karma dla kota perskiego</span>
12747        </a>
12748    </li>
12749                            
12750    <li data-level="2">
12751        <a
12752            href="https://fera.pl/kot/karma-dla-kotow-rasowych/karma-dla-sfinksa.html"
12753            class="dropdown-list-item"
12754        >
12755            <span>Karma dla Sfinksa</span>
12756        </a>
12757    </li>
12758                    </ul>
12759    </li>
12760                            
12761    <li data-level="1" x-data="initMobileSubMenu">
12762        <button
12763            type="button"
12764            class="dropdown-list-item"
12765            aria-controls="category-node-191-mobile-menu-panel"
12766            aria-expanded="false"
12767            x-ref="openSubMenuBtn"
12768            :aria-expanded="isOpen"
12769            :disabled="isOpen"
12770            @click="open"
12771        >
12772            <span>Karma weterynaryjna dla kota</span>
12773            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
12774        </button>
12775        <ul
12776            id="category-node-191-mobile-menu-panel"
12777            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
12778            x-show="isOpen"
12779            x-transition:enter-start="opacity-0 translate-x-8"
12780            x-transition:enter-end="opacity-100 translate-x-0"
12781            x-transition:leave-start="opacity-100 translate-x-0"
12782            x-transition:leave-end="opacity-0 translate-x-8"
12783            @keydown.escape.stop.prevent="close"
12784        >
12785            <li data-level="2">
12786                <button
12787                    type="button"
12788                    class="dropdown-list-item font-bold justify-normal"
12789                    @click="close"
12790                    x-ref="closeSubMenuBtn"
12791                >
12792                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
12793                    Karma weterynaryjna dla kota                </button>
12794            </li>
12795            <li>
12796                <a
12797                    href="https://fera.pl/kot/karma-weterynaryjna-dla-kota.html"
12798                    class="dropdown-list-item font-bold"
12799                >
12800                    <span>
12801                        Karma weterynaryjna dla kota - zobacz wszystko                    </span>
12802                </a>
12803            </li>
12804                            
12805    <li data-level="2">
12806        <a
12807            href="https://fera.pl/kot/karma-weterynaryjna-dla-kota/karma-hipoalergiczna-dla-kota.html"
12808            class="dropdown-list-item"
12809        >
12810            <span>Karma hipoalergiczna dla kota</span>
12811        </a>
12812    </li>
12813                            
12814    <li data-level="2">
12815        <a
12816            href="https://fera.pl/kot/karma-weterynaryjna-dla-kota/karma-dla-kota-z-cukrzyca.html"
12817            class="dropdown-list-item"
12818        >
12819            <span>Karma dla kota z cukrzycą</span>
12820        </a>
12821    </li>
12822                            
12823    <li data-level="2">
12824        <a
12825            href="https://fera.pl/kot/karma-weterynaryjna-dla-kota/karma-odchudzajaca-dla-kota.html"
12826            class="dropdown-list-item"
12827        >
12828            <span>Karma odchudzająca dla kota</span>
12829        </a>
12830    </li>
12831                            
12832    <li data-level="2">
12833        <a
12834            href="https://fera.pl/kot/karma-weterynaryjna-dla-kota/karma-dla-kota-na-problemy-ze-skora.html"
12835            class="dropdown-list-item"
12836        >
12837            <span>Karma dla kota na problemy ze skórą</span>
12838        </a>
12839    </li>
12840                            
12841    <li data-level="2">
12842        <a
12843            href="https://fera.pl/kot/karma-weterynaryjna-dla-kota/karma-dla-kota-na-problemy-z-zebami.html"
12844            class="dropdown-list-item"
12845        >
12846            <span>Karma dla kota na problemy z zębami</span>
12847        </a>
12848    </li>
12849                            
12850    <li data-level="2">
12851        <a
12852            href="https://fera.pl/kot/karma-weterynaryjna-dla-kota/karma-dla-kota-na-rekonwalescencje.html"
12853            class="dropdown-list-item"
12854        >
12855            <span>Karma dla kota na rekonwalescencję</span>
12856        </a>
12857    </li>
12858                            
12859    <li data-level="2">
12860        <a
12861            href="https://fera.pl/kot/karma-weterynaryjna-dla-kota/karma-urinary-dla-kota.html"
12862            class="dropdown-list-item"
12863        >
12864            <span>Karma urinary dla kota</span>
12865        </a>
12866    </li>
12867                            
12868    <li data-level="2">
12869        <a
12870            href="https://fera.pl/kot/karma-weterynaryjna-dla-kota/karma-renal-dla-kota.html"
12871            class="dropdown-list-item"
12872        >
12873            <span>Karma renal dla kota</span>
12874        </a>
12875    </li>
12876                            
12877    <li data-level="2">
12878        <a
12879            href="https://fera.pl/kot/karma-weterynaryjna-dla-kota/karma-dla-kota-na-stawy.html"
12880            class="dropdown-list-item"
12881        >
12882            <span>Karma dla kota na stawy</span>
12883        </a>
12884    </li>
12885                            
12886    <li data-level="2">
12887        <a
12888            href="https://fera.pl/kot/karma-weterynaryjna-dla-kota/karma-hepatic-dla-kota.html"
12889            class="dropdown-list-item"
12890        >
12891            <span>Karma hepatic dla kota</span>
12892        </a>
12893    </li>
12894                            
12895    <li data-level="2">
12896        <a
12897            href="https://fera.pl/kot/karma-weterynaryjna-dla-kota/karma-dla-kotow-po-sterylizacji.html"
12898            class="dropdown-list-item"
12899        >
12900            <span>Karma dla kotów po sterylizacji</span>
12901        </a>
12902    </li>
12903                            
12904    <li data-level="2">
12905        <a
12906            href="https://fera.pl/kot/karma-weterynaryjna-dla-kota/karma-dla-kota-na-stres.html"
12907            class="dropdown-list-item"
12908        >
12909            <span>Karma dla kota na stres</span>
12910        </a>
12911    </li>
12912                            
12913    <li data-level="2">
12914        <a
12915            href="https://fera.pl/kot/karma-weterynaryjna-dla-kota/karma-gastro-dla-kota.html"
12916            class="dropdown-list-item"
12917        >
12918            <span>Karma gastro dla kota</span>
12919        </a>
12920    </li>
12921                    </ul>
12922    </li>
12923                            
12924    <li data-level="1" x-data="initMobileSubMenu">
12925        <button
12926            type="button"
12927            class="dropdown-list-item"
12928            aria-controls="category-node-225-mobile-menu-panel"
12929            aria-expanded="false"
12930            x-ref="openSubMenuBtn"
12931            :aria-expanded="isOpen"
12932            :disabled="isOpen"
12933            @click="open"
12934        >
12935            <span>Karma dla kota: Podział według firm</span>
12936            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
12937        </button>
12938        <ul
12939            id="category-node-225-mobile-menu-panel"
12940            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
12941            x-show="isOpen"
12942            x-transition:enter-start="opacity-0 translate-x-8"
12943            x-transition:enter-end="opacity-100 translate-x-0"
12944            x-transition:leave-start="opacity-100 translate-x-0"
12945            x-transition:leave-end="opacity-0 translate-x-8"
12946            @keydown.escape.stop.prevent="close"
12947        >
12948            <li data-level="2">
12949                <button
12950                    type="button"
12951                    class="dropdown-list-item font-bold justify-normal"
12952                    @click="close"
12953                    x-ref="closeSubMenuBtn"
12954                >
12955                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
12956                    Karma dla kota: Podział według firm                </button>
12957            </li>
12958            <li>
12959                <a
12960                    href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm.html"
12961                    class="dropdown-list-item font-bold"
12962                >
12963                    <span>
12964                        Karma dla kota: Podział według firm - zobacz wszystko                    </span>
12965                </a>
12966            </li>
12967                            
12968    <li data-level="2">
12969        <a
12970            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-royal-canin.html"
12971            class="dropdown-list-item"
12972        >
12973            <span>Karma dla kota Royal Canin</span>
12974        </a>
12975    </li>
12976                            
12977    <li data-level="2">
12978        <a
12979            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-versele-laga.html"
12980            class="dropdown-list-item"
12981        >
12982            <span>Karma dla kota Versele-Laga</span>
12983        </a>
12984    </li>
12985                            
12986    <li data-level="2">
12987        <a
12988            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-whiskas.html"
12989            class="dropdown-list-item"
12990        >
12991            <span>Karma dla kota Whiskas</span>
12992        </a>
12993    </li>
12994                            
12995    <li data-level="2">
12996        <a
12997            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-josera.html"
12998            class="dropdown-list-item"
12999        >
13000            <span>Karma dla kota Josera</span>
13001        </a>
13002    </li>
13003                            
13004    <li data-level="2">
13005        <a
13006            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-brit.html"
13007            class="dropdown-list-item"
13008        >
13009            <span>Karma dla kota Brit</span>
13010        </a>
13011    </li>
13012                            
13013    <li data-level="2">
13014        <a
13015            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-eukanuba.html"
13016            class="dropdown-list-item"
13017        >
13018            <span>Karma dla kota Eukanuba</span>
13019        </a>
13020    </li>
13021                            
13022    <li data-level="2">
13023        <a
13024            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-fitmin.html"
13025            class="dropdown-list-item"
13026        >
13027            <span>Karma dla kota Fitmin</span>
13028        </a>
13029    </li>
13030                            
13031    <li data-level="2">
13032        <a
13033            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-sanabelle.html"
13034            class="dropdown-list-item"
13035        >
13036            <span>Karma dla kota Sanabelle</span>
13037        </a>
13038    </li>
13039                            
13040    <li data-level="2">
13041        <a
13042            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-iams.html"
13043            class="dropdown-list-item"
13044        >
13045            <span>Karma dla kota Iams</span>
13046        </a>
13047    </li>
13048                            
13049    <li data-level="2">
13050        <a
13051            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-perfect-fit.html"
13052            class="dropdown-list-item"
13053        >
13054            <span>Karma dla kota Perfect Fit</span>
13055        </a>
13056    </li>
13057                            
13058    <li data-level="2">
13059        <a
13060            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-carnilove.html"
13061            class="dropdown-list-item"
13062        >
13063            <span>Karma dla kota Carnilove</span>
13064        </a>
13065    </li>
13066                            
13067    <li data-level="2">
13068        <a
13069            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-farmina.html"
13070            class="dropdown-list-item"
13071        >
13072            <span>Karma dla kota Farmina</span>
13073        </a>
13074    </li>
13075                            
13076    <li data-level="2">
13077        <a
13078            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-hill-s.html"
13079            class="dropdown-list-item"
13080        >
13081            <span>Karma dla kota Hill&#039;s</span>
13082        </a>
13083    </li>
13084                            
13085    <li data-level="2">
13086        <a
13087            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-kitekat.html"
13088            class="dropdown-list-item"
13089        >
13090            <span>Karma dla kota Kitekat</span>
13091        </a>
13092    </li>
13093                            
13094    <li data-level="2">
13095        <a
13096            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-o-canis.html"
13097            class="dropdown-list-item"
13098        >
13099            <span>Karma dla kota O&#039;Canis</span>
13100        </a>
13101    </li>
13102                            
13103    <li data-level="2">
13104        <a
13105            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-taste-of-the-wild.html"
13106            class="dropdown-list-item"
13107        >
13108            <span>Karma dla kota Taste Of The Wild</span>
13109        </a>
13110    </li>
13111                            
13112    <li data-level="2">
13113        <a
13114            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-nero-gold.html"
13115            class="dropdown-list-item"
13116        >
13117            <span>Karma dla kota Nero Gold</span>
13118        </a>
13119    </li>
13120                            
13121    <li data-level="2">
13122        <a
13123            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-sheba.html"
13124            class="dropdown-list-item"
13125        >
13126            <span>Karma dla kota Sheba</span>
13127        </a>
13128    </li>
13129                            
13130    <li data-level="2">
13131        <a
13132            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-dolina-noteci.html"
13133            class="dropdown-list-item"
13134        >
13135            <span>Karma dla kota Dolina Noteci</span>
13136        </a>
13137    </li>
13138                            
13139    <li data-level="2">
13140        <a
13141            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-schesir.html"
13142            class="dropdown-list-item"
13143        >
13144            <span>Karma dla kota Schesir</span>
13145        </a>
13146    </li>
13147                            
13148    <li data-level="2">
13149        <a
13150            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-applaws.html"
13151            class="dropdown-list-item"
13152        >
13153            <span>Karma dla kota Applaws</span>
13154        </a>
13155    </li>
13156                            
13157    <li data-level="2">
13158        <a
13159            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-animonda.html"
13160            class="dropdown-list-item"
13161        >
13162            <span>Karma dla kota Animonda</span>
13163        </a>
13164    </li>
13165                            
13166    <li data-level="2">
13167        <a
13168            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-butcher-s.html"
13169            class="dropdown-list-item"
13170        >
13171            <span>Karma dla kota Butcher&#039;s</span>
13172        </a>
13173    </li>
13174                            
13175    <li data-level="2">
13176        <a
13177            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-acana.html"
13178            class="dropdown-list-item"
13179        >
13180            <span>Karma dla kota Acana</span>
13181        </a>
13182    </li>
13183                            
13184    <li data-level="2">
13185        <a
13186            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-monge.html"
13187            class="dropdown-list-item"
13188        >
13189            <span>Karma dla kota Monge</span>
13190        </a>
13191    </li>
13192                            
13193    <li data-level="2">
13194        <a
13195            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-orijen.html"
13196            class="dropdown-list-item"
13197        >
13198            <span>Karma dla kota Orijen</span>
13199        </a>
13200    </li>
13201                            
13202    <li data-level="2">
13203        <a
13204            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-leonardo.html"
13205            class="dropdown-list-item"
13206        >
13207            <span>Karma dla kota Leonardo</span>
13208        </a>
13209    </li>
13210                            
13211    <li data-level="2">
13212        <a
13213            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-gussto.html"
13214            class="dropdown-list-item"
13215        >
13216            <span>Karma dla kota Gussto</span>
13217        </a>
13218    </li>
13219                            
13220    <li data-level="2">
13221        <a
13222            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-super-benek.html"
13223            class="dropdown-list-item"
13224        >
13225            <span>Karma dla kota Super Benek</span>
13226        </a>
13227    </li>
13228                            
13229    <li data-level="2">
13230        <a
13231            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-piper.html"
13232            class="dropdown-list-item"
13233        >
13234            <span>Karma dla kota Piper</span>
13235        </a>
13236    </li>
13237                            
13238    <li data-level="2">
13239        <a
13240            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-rafi.html"
13241            class="dropdown-list-item"
13242        >
13243            <span>Karma dla kota Rafi</span>
13244        </a>
13245    </li>
13246                            
13247    <li data-level="2">
13248        <a
13249            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-vet-expert.html"
13250            class="dropdown-list-item"
13251        >
13252            <span>Karma dla kota Vet Expert</span>
13253        </a>
13254    </li>
13255                            
13256    <li data-level="2">
13257        <a
13258            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-ziwipeak.html"
13259            class="dropdown-list-item"
13260        >
13261            <span>Karma dla kota ZiwiPeak</span>
13262        </a>
13263    </li>
13264                            
13265    <li data-level="2">
13266        <a
13267            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-kattovit.html"
13268            class="dropdown-list-item"
13269        >
13270            <span>Karma dla kota Kattovit</span>
13271        </a>
13272    </li>
13273                            
13274    <li data-level="2">
13275        <a
13276            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-trovet.html"
13277            class="dropdown-list-item"
13278        >
13279            <span>Karma dla kota Trovet</span>
13280        </a>
13281    </li>
13282                            
13283    <li data-level="2">
13284        <a
13285            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-miamor.html"
13286            class="dropdown-list-item"
13287        >
13288            <span>Karma dla kota MIAMOR</span>
13289        </a>
13290    </li>
13291                            
13292    <li data-level="2">
13293        <a
13294            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-paka-zwierzaka.html"
13295            class="dropdown-list-item"
13296        >
13297            <span>Karma dla kota Paka Zwierzaka</span>
13298        </a>
13299    </li>
13300                            
13301    <li data-level="2">
13302        <a
13303            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-arion.html"
13304            class="dropdown-list-item"
13305        >
13306            <span>Karma dla kota Arion</span>
13307        </a>
13308    </li>
13309                            
13310    <li data-level="2">
13311        <a
13312            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-inaba.html"
13313            class="dropdown-list-item"
13314        >
13315            <span>Karma dla kota Inaba</span>
13316        </a>
13317    </li>
13318                            
13319    <li data-level="2">
13320        <a
13321            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-comfy-appetit.html"
13322            class="dropdown-list-item"
13323        >
13324            <span>Karma dla kota Comfy Appetit</span>
13325        </a>
13326    </li>
13327                            
13328    <li data-level="2">
13329        <a
13330            href="https://fera.pl/kot/karma-dla-kota-podzial-wedlug-firm/karma-dla-kota-james-wellbeloved.html"
13331            class="dropdown-list-item"
13332        >
13333            <span>Karma dla kota James Wellbeloved</span>
13334        </a>
13335    </li>
13336                    </ul>
13337    </li>
13338                            
13339    <li data-level="1" x-data="initMobileSubMenu">
13340        <button
13341            type="button"
13342            class="dropdown-list-item"
13343            aria-controls="category-node-268-mobile-menu-panel"
13344            aria-expanded="false"
13345            x-ref="openSubMenuBtn"
13346            :aria-expanded="isOpen"
13347            :disabled="isOpen"
13348            @click="open"
13349        >
13350            <span>Przysmaki dla kota</span>
13351            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
13352        </button>
13353        <ul
13354            id="category-node-268-mobile-menu-panel"
13355            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
13356            x-show="isOpen"
13357            x-transition:enter-start="opacity-0 translate-x-8"
13358            x-transition:enter-end="opacity-100 translate-x-0"
13359            x-transition:leave-start="opacity-100 translate-x-0"
13360            x-transition:leave-end="opacity-0 translate-x-8"
13361            @keydown.escape.stop.prevent="close"
13362        >
13363            <li data-level="2">
13364                <button
13365                    type="button"
13366                    class="dropdown-list-item font-bold justify-normal"
13367                    @click="close"
13368                    x-ref="closeSubMenuBtn"
13369                >
13370                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
13371                    Przysmaki dla kota                </button>
13372            </li>
13373            <li>
13374                <a
13375                    href="https://fera.pl/kot/przysmaki-dla-kota.html"
13376                    class="dropdown-list-item font-bold"
13377                >
13378                    <span>
13379                        Przysmaki dla kota - zobacz wszystko                    </span>
13380                </a>
13381            </li>
13382                            
13383    <li data-level="2">
13384        <a
13385            href="https://fera.pl/kot/przysmaki-dla-kota/kremy-zupy-i-pasty-dla-kota.html"
13386            class="dropdown-list-item"
13387        >
13388            <span>Kremy, zupy i pasty dla kota</span>
13389        </a>
13390    </li>
13391                            
13392    <li data-level="2">
13393        <a
13394            href="https://fera.pl/kot/przysmaki-dla-kota/ciasteczka-dla-kota.html"
13395            class="dropdown-list-item"
13396        >
13397            <span>Ciasteczka dla kota</span>
13398        </a>
13399    </li>
13400                            
13401    <li data-level="2">
13402        <a
13403            href="https://fera.pl/kot/przysmaki-dla-kota/naturalne-przysmaki-dla-kota.html"
13404            class="dropdown-list-item"
13405        >
13406            <span>Naturalne przysmaki dla kota</span>
13407        </a>
13408    </li>
13409                            
13410    <li data-level="2">
13411        <a
13412            href="https://fera.pl/kot/przysmaki-dla-kota/przysmaki-liofilizowane-dla-kota.html"
13413            class="dropdown-list-item"
13414        >
13415            <span>Przysmaki liofilizowane dla kota</span>
13416        </a>
13417    </li>
13418                            
13419    <li data-level="2">
13420        <a
13421            href="https://fera.pl/kot/przysmaki-dla-kota/funkcjonalne-przysmaki-dla-kota.html"
13422            class="dropdown-list-item"
13423        >
13424            <span>Funkcjonalne przysmaki dla kota</span>
13425        </a>
13426    </li>
13427                    </ul>
13428    </li>
13429                            
13430    <li data-level="1" x-data="initMobileSubMenu">
13431        <button
13432            type="button"
13433            class="dropdown-list-item"
13434            aria-controls="category-node-278-mobile-menu-panel"
13435            aria-expanded="false"
13436            x-ref="openSubMenuBtn"
13437            :aria-expanded="isOpen"
13438            :disabled="isOpen"
13439            @click="open"
13440        >
13441            <span>Zdrowie kota</span>
13442            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
13443        </button>
13444        <ul
13445            id="category-node-278-mobile-menu-panel"
13446            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
13447            x-show="isOpen"
13448            x-transition:enter-start="opacity-0 translate-x-8"
13449            x-transition:enter-end="opacity-100 translate-x-0"
13450            x-transition:leave-start="opacity-100 translate-x-0"
13451            x-transition:leave-end="opacity-0 translate-x-8"
13452            @keydown.escape.stop.prevent="close"
13453        >
13454            <li data-level="2">
13455                <button
13456                    type="button"
13457                    class="dropdown-list-item font-bold justify-normal"
13458                    @click="close"
13459                    x-ref="closeSubMenuBtn"
13460                >
13461                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
13462                    Zdrowie kota                </button>
13463            </li>
13464            <li>
13465                <a
13466                    href="https://fera.pl/kot/zdrowie-kota.html"
13467                    class="dropdown-list-item font-bold"
13468                >
13469                    <span>
13470                        Zdrowie kota - zobacz wszystko                    </span>
13471                </a>
13472            </li>
13473                            
13474    <li data-level="2">
13475        <a
13476            href="https://fera.pl/kot/zdrowie-kota/czyszczenie-zebow-kota.html"
13477            class="dropdown-list-item"
13478        >
13479            <span>Czyszczenie zębów kota</span>
13480        </a>
13481    </li>
13482                            
13483    <li data-level="2">
13484        <a
13485            href="https://fera.pl/kot/zdrowie-kota/probiotyki-dla-kota.html"
13486            class="dropdown-list-item"
13487        >
13488            <span>Probiotyki dla kota</span>
13489        </a>
13490    </li>
13491                            
13492    <li data-level="2">
13493        <a
13494            href="https://fera.pl/kot/zdrowie-kota/preparaty-do-czyszczenia-uszu-i-oczu-kota.html"
13495            class="dropdown-list-item"
13496        >
13497            <span>Preparaty do czyszczenia uszu i oczu kota</span>
13498        </a>
13499    </li>
13500                            
13501    <li data-level="2">
13502        <a
13503            href="https://fera.pl/kot/zdrowie-kota/preparaty-na-stawy-i-kosci-kota.html"
13504            class="dropdown-list-item"
13505        >
13506            <span>Preparaty na stawy i kości kota</span>
13507        </a>
13508    </li>
13509                            
13510    <li data-level="2">
13511        <a
13512            href="https://fera.pl/kot/zdrowie-kota/preparaty-na-siersc-i-skore-kota.html"
13513            class="dropdown-list-item"
13514        >
13515            <span>Preparaty na sierść i skórę kota</span>
13516        </a>
13517    </li>
13518                            
13519    <li data-level="2">
13520        <a
13521            href="https://fera.pl/kot/zdrowie-kota/witaminy-i-suplementy-dla-kota.html"
13522            class="dropdown-list-item"
13523        >
13524            <span>Witaminy i suplementy dla kota</span>
13525        </a>
13526    </li>
13527                            
13528    <li data-level="2">
13529        <a
13530            href="https://fera.pl/kot/zdrowie-kota/srodki-uspokajajace-dla-kota.html"
13531            class="dropdown-list-item"
13532        >
13533            <span>Środki uspokajające dla kota</span>
13534        </a>
13535    </li>
13536                            
13537    <li data-level="2">
13538        <a
13539            href="https://fera.pl/kot/zdrowie-kota/pasta-odklaczajaca-dla-kota.html"
13540            class="dropdown-list-item"
13541        >
13542            <span>Pasta odkłaczająca dla kota</span>
13543        </a>
13544    </li>
13545                            
13546    <li data-level="2">
13547        <a
13548            href="https://fera.pl/kot/zdrowie-kota/odrobaczanie-kota.html"
13549            class="dropdown-list-item"
13550        >
13551            <span>Odrobaczanie kota</span>
13552        </a>
13553    </li>
13554                            
13555    <li data-level="2">
13556        <a
13557            href="https://fera.pl/kot/zdrowie-kota/akcesoria-weterynaryjne-i-diagnostyka-kota.html"
13558            class="dropdown-list-item"
13559        >
13560            <span>Akcesoria weterynaryjne i diagnostyka kota</span>
13561        </a>
13562    </li>
13563                    </ul>
13564    </li>
13565                            
13566    <li data-level="1" x-data="initMobileSubMenu">
13567        <button
13568            type="button"
13569            class="dropdown-list-item"
13570            aria-controls="category-node-299-mobile-menu-panel"
13571            aria-expanded="false"
13572            x-ref="openSubMenuBtn"
13573            :aria-expanded="isOpen"
13574            :disabled="isOpen"
13575            @click="open"
13576        >
13577            <span>Żwirki i kuwety</span>
13578            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
13579        </button>
13580        <ul
13581            id="category-node-299-mobile-menu-panel"
13582            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
13583            x-show="isOpen"
13584            x-transition:enter-start="opacity-0 translate-x-8"
13585            x-transition:enter-end="opacity-100 translate-x-0"
13586            x-transition:leave-start="opacity-100 translate-x-0"
13587            x-transition:leave-end="opacity-0 translate-x-8"
13588            @keydown.escape.stop.prevent="close"
13589        >
13590            <li data-level="2">
13591                <button
13592                    type="button"
13593                    class="dropdown-list-item font-bold justify-normal"
13594                    @click="close"
13595                    x-ref="closeSubMenuBtn"
13596                >
13597                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
13598                    Żwirki i kuwety                </button>
13599            </li>
13600            <li>
13601                <a
13602                    href="https://fera.pl/kot/zwirki-i-kuwety.html"
13603                    class="dropdown-list-item font-bold"
13604                >
13605                    <span>
13606                        Żwirki i kuwety - zobacz wszystko                    </span>
13607                </a>
13608            </li>
13609                            
13610    <li data-level="2">
13611        <a
13612            href="https://fera.pl/kot/zwirki-i-kuwety/zwirek-dla-kota.html"
13613            class="dropdown-list-item"
13614        >
13615            <span>Żwirek dla kota</span>
13616        </a>
13617    </li>
13618                            
13619    <li data-level="2">
13620        <a
13621            href="https://fera.pl/kot/zwirki-i-kuwety/kuwety-dla-kota.html"
13622            class="dropdown-list-item"
13623        >
13624            <span>Kuwety dla kota</span>
13625        </a>
13626    </li>
13627                            
13628    <li data-level="2">
13629        <a
13630            href="https://fera.pl/kot/zwirki-i-kuwety/lopatki-i-akcesoria-do-kuwety.html"
13631            class="dropdown-list-item"
13632        >
13633            <span>Łopatki i akcesoria do kuwety</span>
13634        </a>
13635    </li>
13636                            
13637    <li data-level="2">
13638        <a
13639            href="https://fera.pl/kot/zwirki-i-kuwety/usuwanie-odchodow-kota.html"
13640            class="dropdown-list-item"
13641        >
13642            <span>Usuwanie odchodów kota</span>
13643        </a>
13644    </li>
13645                    </ul>
13646    </li>
13647                            
13648    <li data-level="1" x-data="initMobileSubMenu">
13649        <button
13650            type="button"
13651            class="dropdown-list-item"
13652            aria-controls="category-node-288-mobile-menu-panel"
13653            aria-expanded="false"
13654            x-ref="openSubMenuBtn"
13655            :aria-expanded="isOpen"
13656            :disabled="isOpen"
13657            @click="open"
13658        >
13659            <span>
13659Pchły i kleszcze</span>
13660            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
13661        </button>
13662        <ul
13663            id="category-node-288-mobile-menu-panel"
13664            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
13665            x-show="isOpen"
13666            x-transition:enter-start="opacity-0 translate-x-8"
13667            x-transition:enter-end="opacity-100 translate-x-0"
13668            x-transition:leave-start="opacity-100 translate-x-0"
13669            x-transition:leave-end="opacity-0 translate-x-8"
13670            @keydown.escape.stop.prevent="close"
13671        >
13672            <li data-level="2">
13673                <button
13674                    type="button"
13675                    class="dropdown-list-item font-bold justify-normal"
13676                    @click="close"
13677                    x-ref="closeSubMenuBtn"
13678                >
13679                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
13680                    Pchły i kleszcze                </button>
13681            </li>
13682            <li>
13683                <a
13684                    href="https://fera.pl/kot/pchly-i-kleszcze.html"
13685                    class="dropdown-list-item font-bold"
13686                >
13687                    <span>
13688                        Pchły i kleszcze - zobacz wszystko                    </span>
13689                </a>
13690            </li>
13691                            
13692    <li data-level="2">
13693        <a
13694            href="https://fera.pl/kot/pchly-i-kleszcze/preparaty-na-pchly-i-kleszcze-u-kota.html"
13695            class="dropdown-list-item"
13696        >
13697            <span>Preparaty na pchły i kleszcze u kota</span>
13698        </a>
13699    </li>
13700                            
13701    <li data-level="2">
13702        <a
13703            href="https://fera.pl/kot/pchly-i-kleszcze/obroze-przeciw-kleszczom-dla-kota.html"
13704            class="dropdown-list-item"
13705        >
13706            <span>Obroże przeciw kleszczom dla kota</span>
13707        </a>
13708    </li>
13709                            
13710    <li data-level="2">
13711        <a
13712            href="https://fera.pl/kot/pchly-i-kleszcze/pesety-na-kleszcze-dla-kota.html"
13713            class="dropdown-list-item"
13714        >
13715            <span>Pęsety na kleszcze dla kota</span>
13716        </a>
13717    </li>
13718                            
13719    <li data-level="2">
13720        <a
13721            href="https://fera.pl/kot/pchly-i-kleszcze/grzebienie-na-pchly-dla-kota.html"
13722            class="dropdown-list-item"
13723        >
13724            <span>Grzebienie na pchły dla kota</span>
13725        </a>
13726    </li>
13727                    </ul>
13728    </li>
13729                            
13730    <li data-level="1" x-data="initMobileSubMenu">
13731        <button
13732            type="button"
13733            class="dropdown-list-item"
13734            aria-controls="category-node-272-mobile-menu-panel"
13735            aria-expanded="false"
13736            x-ref="openSubMenuBtn"
13737            :aria-expanded="isOpen"
13738            :disabled="isOpen"
13739            @click="open"
13740        >
13741            <span>Akcesoria do karmienia dla kota</span>
13742            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
13743        </button>
13744        <ul
13745            id="category-node-272-mobile-menu-panel"
13746            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
13747            x-show="isOpen"
13748            x-transition:enter-start="opacity-0 translate-x-8"
13749            x-transition:enter-end="opacity-100 translate-x-0"
13750            x-transition:leave-start="opacity-100 translate-x-0"
13751            x-transition:leave-end="opacity-0 translate-x-8"
13752            @keydown.escape.stop.prevent="close"
13753        >
13754            <li data-level="2">
13755                <button
13756                    type="button"
13757                    class="dropdown-list-item font-bold justify-normal"
13758                    @click="close"
13759                    x-ref="closeSubMenuBtn"
13760                >
13761                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
13762                    Akcesoria do karmienia dla kota                </button>
13763            </li>
13764            <li>
13765                <a
13766                    href="https://fera.pl/kot/akcesoria-do-karmienia-dla-kota.html"
13767                    class="dropdown-list-item font-bold"
13768                >
13769                    <span>
13770                        Akcesoria do karmienia dla kota - zobacz wszystko                    </span>
13771                </a>
13772            </li>
13773                            
13774    <li data-level="2">
13775        <a
13776            href="https://fera.pl/kot/akcesoria-do-karmienia-dla-kota/podajniki-karmy-dla-kota.html"
13777            class="dropdown-list-item"
13778        >
13779            <span>Podajniki karmy dla kota</span>
13780        </a>
13781    </li>
13782                            
13783    <li data-level="2">
13784        <a
13785            href="https://fera.pl/kot/akcesoria-do-karmienia-dla-kota/miski-dla-kota.html"
13786            class="dropdown-list-item"
13787        >
13788            <span>Miski dla kota</span>
13789        </a>
13790    </li>
13791                            
13792    <li data-level="2">
13793        <a
13794            href="https://fera.pl/kot/akcesoria-do-karmienia-dla-kota/pojemniki-na-karme-kota.html"
13795            class="dropdown-list-item"
13796        >
13797            <span>Pojemniki na karmę kota</span>
13798        </a>
13799    </li>
13800                            
13801    <li data-level="2">
13802        <a
13803            href="https://fera.pl/kot/akcesoria-do-karmienia-dla-kota/butelki-dla-kota.html"
13804            class="dropdown-list-item"
13805        >
13806            <span>Butelki dla kota</span>
13807        </a>
13808    </li>
13809                            
13810    <li data-level="2">
13811        <a
13812            href="https://fera.pl/kot/akcesoria-do-karmienia-dla-kota/podkladki-pod-miske-dla-kota.html"
13813            class="dropdown-list-item"
13814        >
13815            <span>Podkładki pod miskę dla kota</span>
13816        </a>
13817    </li>
13818                    </ul>
13819    </li>
13820                            
13821    <li data-level="1" x-data="initMobileSubMenu">
13822        <button
13823            type="button"
13824            class="dropdown-list-item"
13825            aria-controls="category-node-304-mobile-menu-panel"
13826            aria-expanded="false"
13827            x-ref="openSubMenuBtn"
13828            :aria-expanded="isOpen"
13829            :disabled="isOpen"
13830            @click="open"
13831        >
13832            <span>Grooming i pielęgnacja kota</span>
13833            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
13834        </button>
13835        <ul
13836            id="category-node-304-mobile-menu-panel"
13837            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
13838            x-show="isOpen"
13839            x-transition:enter-start="opacity-0 translate-x-8"
13840            x-transition:enter-end="opacity-100 translate-x-0"
13841            x-transition:leave-start="opacity-100 translate-x-0"
13842            x-transition:leave-end="opacity-0 translate-x-8"
13843            @keydown.escape.stop.prevent="close"
13844        >
13845            <li data-level="2">
13846                <button
13847                    type="button"
13848                    class="dropdown-list-item font-bold justify-normal"
13849                    @click="close"
13850                    x-ref="closeSubMenuBtn"
13851                >
13852                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
13853                    Grooming i pielęgnacja kota                </button>
13854            </li>
13855            <li>
13856                <a
13857                    href="https://fera.pl/kot/grooming-i-pielegnacja-kota.html"
13858                    class="dropdown-list-item font-bold"
13859                >
13860                    <span>
13861                        Grooming i pielęgnacja kota - zobacz wszystko                    </span>
13862                </a>
13863            </li>
13864                            
13865    <li data-level="2">
13866        <a
13867            href="https://fera.pl/kot/grooming-i-pielegnacja-kota/rolki-i-szczotki-na-siersc-kota.html"
13868            class="dropdown-list-item"
13869        >
13870            <span>Rolki i szczotki na sierść kota</span>
13871        </a>
13872    </li>
13873                            
13874    <li data-level="2">
13875        <a
13876            href="https://fera.pl/kot/grooming-i-pielegnacja-kota/preparaty-odstraszajace-koty.html"
13877            class="dropdown-list-item"
13878        >
13879            <span>Preparaty odstraszające koty</span>
13880        </a>
13881    </li>
13882                            
13883    <li data-level="2">
13884        <a
13885            href="https://fera.pl/kot/grooming-i-pielegnacja-kota/usuwanie-zapachu-moczu-kota.html"
13886            class="dropdown-list-item"
13887        >
13888            <span>Usuwanie zapachu moczu kota</span>
13889        </a>
13890    </li>
13891                            
13892    <li data-level="2">
13893        <a
13894            href="https://fera.pl/kot/grooming-i-pielegnacja-kota/szczotki-grzebienie-i-nozyczki-dla-kota.html"
13895            class="dropdown-list-item"
13896        >
13897            <span>Szczotki, grzebienie i nożyczki dla kota</span>
13898        </a>
13899    </li>
13900                            
13901    <li data-level="2">
13902        <a
13903            href="https://fera.pl/kot/grooming-i-pielegnacja-kota/kosmetyki-i-szampony-dla-kota.html"
13904            class="dropdown-list-item"
13905        >
13906            <span>Kosmetyki i szampony dla kota</span>
13907        </a>
13908    </li>
13909                            
13910    <li data-level="2">
13911        <a
13912            href="https://fera.pl/kot/grooming-i-pielegnacja-kota/obcinaczki-do-pazurow-dla-kota.html"
13913            class="dropdown-list-item"
13914        >
13915            <span>Obcinaczki do pazurów dla kota</span>
13916        </a>
13917    </li>
13918                            
13919    <li data-level="2">
13920        <a
13921            href="https://fera.pl/kot/grooming-i-pielegnacja-kota/akcesoria-do-kapieli-kota.html"
13922            class="dropdown-list-item"
13923        >
13924            <span>Akcesoria do kąpieli kota</span>
13925        </a>
13926    </li>
13927                    </ul>
13928    </li>
13929                            
13930    <li data-level="1" x-data="initMobileSubMenu">
13931        <button
13932            type="button"
13933            class="dropdown-list-item"
13934            aria-controls="category-node-318-mobile-menu-panel"
13935            aria-expanded="false"
13936            x-ref="openSubMenuBtn"
13937            :aria-expanded="isOpen"
13938            :disabled="isOpen"
13939            @click="open"
13940        >
13941            <span>Zabawki, drapaki i legowiska</span>
13942            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
13943        </button>
13944        <ul
13945            id="category-node-318-mobile-menu-panel"
13946            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
13947            x-show="isOpen"
13948            x-transition:enter-start="opacity-0 translate-x-8"
13949            x-transition:enter-end="opacity-100 translate-x-0"
13950            x-transition:leave-start="opacity-100 translate-x-0"
13951            x-transition:leave-end="opacity-0 translate-x-8"
13952            @keydown.escape.stop.prevent="close"
13953        >
13954            <li data-level="2">
13955                <button
13956                    type="button"
13957                    class="dropdown-list-item font-bold justify-normal"
13958                    @click="close"
13959                    x-ref="closeSubMenuBtn"
13960                >
13961                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
13962                    Zabawki, drapaki i legowiska                </button>
13963            </li>
13964            <li>
13965                <a
13966                    href="https://fera.pl/kot/zabawki-drapaki-i-legowiska.html"
13967                    class="dropdown-list-item font-bold"
13968                >
13969                    <span>
13970                        Zabawki, drapaki i legowiska - zobacz wszystko                    </span>
13971                </a>
13972            </li>
13973                            
13974    <li data-level="2">
13975        <a
13976            href="https://fera.pl/kot/zabawki-drapaki-i-legowiska/koc-dla-kota.html"
13977            class="dropdown-list-item"
13978        >
13979            <span>Koc dla kota</span>
13980        </a>
13981    </li>
13982                            
13983    <li data-level="2">
13984        <a
13985            href="https://fera.pl/kot/zabawki-drapaki-i-legowiska/legowisko-dla-kota.html"
13986            class="dropdown-list-item"
13987        >
13988            <span>Legowisko dla kota</span>
13989        </a>
13990    </li>
13991                            
13992    <li data-level="2">
13993        <a
13994            href="https://fera.pl/kot/zabawki-drapaki-i-legowiska/pluszaki-maskotki-dla-kota.html"
13995            class="dropdown-list-item"
13996        >
13997            <span>Pluszaki, maskotki dla kota</span>
13998        </a>
13999    </li>
14000                            
14001    <li data-level="2">
14002        <a
14003            href="https://fera.pl/kot/zabawki-drapaki-i-legowiska/pilki-dla-kota.html"
14004            class="dropdown-list-item"
14005        >
14006            <span>Piłki dla kota</span>
14007        </a>
14008    </li>
14009                            
14010    <li data-level="2">
14011        <a
14012            href="https://fera.pl/kot/zabawki-drapaki-i-legowiska/zabawki-interaktywne-dla-kota.html"
14013            class="dropdown-list-item"
14014        >
14015            <span>Zabawki interaktywne dla kota</span>
14016        </a>
14017    </li>
14018                            
14019    <li data-level="2">
14020        <a
14021            href="https://fera.pl/kot/zabawki-drapaki-i-legowiska/wedki-dla-kota.html"
14022            class="dropdown-list-item"
14023        >
14024            <span>Wędki dla kota</span>
14025        </a>
14026    </li>
14027                            
14028    <li data-level="2">
14029        <a
14030            href="https://fera.pl/kot/zabawki-drapaki-i-legowiska/drapaki-dla-kota.html"
14031            class="dropdown-list-item"
14032        >
14033            <span>Drapaki dla kota</span>
14034        </a>
14035    </li>
14036                            
14037    <li data-level="2">
14038        <a
14039            href="https://fera.pl/kot/zabawki-drapaki-i-legowiska/tunele-dla-kota.html"
14040            class="dropdown-list-item"
14041        >
14042            <span>Tunele dla kota</span>
14043        </a>
14044    </li>
14045                    </ul>
14046    </li>
14047                            
14048    <li data-level="1" x-data="initMobileSubMenu">
14049        <button
14050            type="button"
14051            class="dropdown-list-item"
14052            aria-controls="category-node-325-mobile-menu-panel"
14053            aria-expanded="false"
14054            x-ref="openSubMenuBtn"
14055            :aria-expanded="isOpen"
14056            :disabled="isOpen"
14057            @click="open"
14058        >
14059            <span>Spacer i podróż</span>
14060            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
14061        </button>
14062        <ul
14063            id="category-node-325-mobile-menu-panel"
14064            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
14065            x-show="isOpen"
14066            x-transition:enter-start="opacity-0 translate-x-8"
14067            x-transition:enter-end="opacity-100 translate-x-0"
14068            x-transition:leave-start="opacity-100 translate-x-0"
14069            x-transition:leave-end="opacity-0 translate-x-8"
14070            @keydown.escape.stop.prevent="close"
14071        >
14072            <li data-level="2">
14073                <button
14074                    type="button"
14075                    class="dropdown-list-item font-bold justify-normal"
14076                    @click="close"
14077                    x-ref="closeSubMenuBtn"
14078                >
14079                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
14080                    Spacer i podróż                </button>
14081            </li>
14082            <li>
14083                <a
14084                    href="https://fera.pl/kot/spacer-i-podroz.html"
14085                    class="dropdown-list-item font-bold"
14086                >
14087                    <span>
14088                        Spacer i podróż - zobacz wszystko                    </span>
14089                </a>
14090            </li>
14091                            
14092    <li data-level="2">
14093        <a
14094            href="https://fera.pl/kot/spacer-i-podroz/transporter-dla-kota.html"
14095            class="dropdown-list-item"
14096        >
14097            <span>Transporter dla kota</span>
14098        </a>
14099    </li>
14100                            
14101    <li data-level="2">
14102        <a
14103            href="https://fera.pl/kot/spacer-i-podroz/obroze-dla-kota.html"
14104            class="dropdown-list-item"
14105        >
14106            <span>Obroże dla kota</span>
14107        </a>
14108    </li>
14109                            
14110    <li data-level="2">
14111        <a
14112            href="https://fera.pl/kot/spacer-i-podroz/szelki-dla-kota.html"
14113            class="dropdown-list-item"
14114        >
14115            <span>Szelki dla kota</span>
14116        </a>
14117    </li>
14118                            
14119    <li data-level="2">
14120        <a
14121            href="https://fera.pl/kot/spacer-i-podroz/smycze-dla-kota.html"
14122            class="dropdown-list-item"
14123        >
14124            <span>Smycze dla kota</span>
14125        </a>
14126    </li>
14127                            
14128    <li data-level="2">
14129        <a
14130            href="https://fera.pl/kot/spacer-i-podroz/siatki-na-balkon-i-drzwiczki-dla-kota.html"
14131            class="dropdown-list-item"
14132        >
14133            <span>Siatki na balkon i drzwiczki dla kota</span>
14134        </a>
14135    </li>
14136                    </ul>
14137    </li>
14138                    </ul>
14139    </li>
14140                                    
14141    <li data-level="0" x-data="initMobileSubMenu">
14142        <button
14143            type="button"
14144            class="dropdown-list-item"
14145            aria-controls="category-node-331-mobile-menu-panel"
14146            aria-expanded="false"
14147            x-ref="openSubMenuBtn"
14148            :aria-expanded="isOpen"
14149            :disabled="isOpen"
14150            @click="open"
14151        >
14152            <span>Ptaki</span>
14153            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
14154        </button>
14155        <ul
14156            id="category-node-331-mobile-menu-panel"
14157            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
14158            x-show="isOpen"
14159            x-transition:enter-start="opacity-0 translate-x-8"
14160            x-transition:enter-end="opacity-100 translate-x-0"
14161            x-transition:leave-start="opacity-100 translate-x-0"
14162            x-transition:leave-end="opacity-0 translate-x-8"
14163            @keydown.escape.stop.prevent="close"
14164        >
14165            <li data-level="1">
14166                <button
14167                    type="button"
14168                    class="dropdown-list-item font-bold justify-normal"
14169                    @click="close"
14170                    x-ref="closeSubMenuBtn"
14171                >
14172                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
14173                    Ptaki                </button>
14174            </li>
14175            <li>
14176                <a
14177                    href="https://fera.pl/ptaki.html"
14178                    class="dropdown-list-item font-bold"
14179                >
14180                    <span>
14181                        Ptaki - zobacz wszystko                    </span>
14182                </a>
14183            </li>
14184                            
14185    <li data-level="1" x-data="initMobileSubMenu">
14186        <button
14187            type="button"
14188            class="dropdown-list-item"
14189            aria-controls="category-node-332-mobile-menu-panel"
14190            aria-expanded="false"
14191            x-ref="openSubMenuBtn"
14192            :aria-expanded="isOpen"
14193            :disabled="isOpen"
14194            @click="open"
14195        >
14196            <span>Karma i przysmaki dla ptaków</span>
14197            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
14198        </button>
14199        <ul
14200            id="category-node-332-mobile-menu-panel"
14201            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
14202            x-show="isOpen"
14203            x-transition:enter-start="opacity-0 translate-x-8"
14204            x-transition:enter-end="opacity-100 translate-x-0"
14205            x-transition:leave-start="opacity-100 translate-x-0"
14206            x-transition:leave-end="opacity-0 translate-x-8"
14207            @keydown.escape.stop.prevent="close"
14208        >
14209            <li data-level="2">
14210                <button
14211                    type="button"
14212                    class="dropdown-list-item font-bold justify-normal"
14213                    @click="close"
14214                    x-ref="closeSubMenuBtn"
14215                >
14216                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
14217                    Karma i przysmaki dla ptaków                </button>
14218            </li>
14219            <li>
14220                <a
14221                    href="https://fera.pl/ptaki/karma-i-przysmaki-dla-ptakow.html"
14222                    class="dropdown-list-item font-bold"
14223                >
14224                    <span>
14225                        Karma i przysmaki dla ptaków - zobacz wszystko                    </span>
14226                </a>
14227            </li>
14228                            
14229    <li data-level="2">
14230        <a
14231            href="https://fera.pl/ptaki/karma-i-przysmaki-dla-ptakow/karma-dla-malych-ptakow.html"
14232            class="dropdown-list-item"
14233        >
14234            <span>Karma dla małych ptaków</span>
14235        </a>
14236    </li>
14237                            
14238    <li data-level="2">
14239        <a
14240            href="https://fera.pl/ptaki/karma-i-przysmaki-dla-ptakow/karma-dla-srednich-duzych-ptakow.html"
14241            class="dropdown-list-item"
14242        >
14243            <span>Karma dla średnich, dużych ptaków</span>
14244        </a>
14245    </li>
14246                            
14247    <li data-level="2">
14248        <a
14249            href="https://fera.pl/ptaki/karma-i-przysmaki-dla-ptakow/karma-dla-kanarkow.html"
14250            class="dropdown-list-item"
14251        >
14252            <span>Karma dla kanarków</span>
14253        </a>
14254    </li>
14255                            
14256    <li data-level="2">
14257        <a
14258            href="https://fera.pl/ptaki/karma-i-przysmaki-dla-ptakow/karma-dla-ptakow-egzotycznych.html"
14259            class="dropdown-list-item"
14260        >
14261            <span>Karma dla ptaków egzotycznych</span>
14262        </a>
14263    </li>
14264                    </ul>
14265    </li>
14266                            
14267    <li data-level="1" x-data="initMobileSubMenu">
14268        <button
14269            type="button"
14270            class="dropdown-list-item"
14271            aria-controls="category-node-337-mobile-menu-panel"
14272            aria-expanded="false"
14273            x-ref="openSubMenuBtn"
14274            :aria-expanded="isOpen"
14275            :disabled="isOpen"
14276            @click="open"
14277        >
14278            <span>Akcesoria do karmienia ptaków</span>
14279            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
14280        </button>
14281        <ul
14282            id="category-node-337-mobile-menu-panel"
14283            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
14284            x-show="isOpen"
14285            x-transition:enter-start="opacity-0 translate-x-8"
14286            x-transition:enter-end="opacity-100 translate-x-0"
14287            x-transition:leave-start="opacity-100 translate-x-0"
14288            x-transition:leave-end="opacity-0 translate-x-8"
14289            @keydown.escape.stop.prevent="close"
14290        >
14291            <li data-level="2">
14292                <button
14293                    type="button"
14294                    class="dropdown-list-item font-bold justify-normal"
14295                    @click="close"
14296                    x-ref="closeSubMenuBtn"
14297                >
14298                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
14299                    Akcesoria do karmienia ptaków                </button>
14300            </li>
14301            <li>
14302                <a
14303                    href="https://fera.pl/ptaki/akcesoria-do-karmienia-ptakow.html"
14304                    class="dropdown-list-item font-bold"
14305                >
14306                    <span>
14307                        Akcesoria do karmienia ptaków - zobacz wszystko                    </span>
14308                </a>
14309            </li>
14310                            
14311    <li data-level="2">
14312        <a
14313            href="https://fera.pl/ptaki/akcesoria-do-karmienia-ptakow/wodopoje-dla-ptakow.html"
14314            class="dropdown-list-item"
14315        >
14316            <span>Wodopoje dla ptaków</span>
14317        </a>
14318    </li>
14319                            
14320    <li data-level="2">
14321        <a
14322            href="https://fera.pl/ptaki/akcesoria-do-karmienia-ptakow/karmidla-dla-ptakow.html"
14323            class="dropdown-list-item"
14324        >
14325            <span>Karmidła dla ptaków</span>
14326        </a>
14327    </li>
14328                            
14329    <li data-level="2">
14330        <a
14331            href="https://fera.pl/ptaki/akcesoria-do-karmienia-ptakow/miski-dla-ptakow.html"
14332            class="dropdown-list-item"
14333        >
14334            <span>Miski dla ptaków</span>
14335        </a>
14336    </li>
14337                    </ul>
14338    </li>
14339                            
14340    <li data-level="1" x-data="initMobileSubMenu">
14341        <button
14342            type="button"
14343            class="dropdown-list-item"
14344            aria-controls="category-node-341-mobile-menu-panel"
14345            aria-expanded="false"
14346            x-ref="openSubMenuBtn"
14347            :aria-expanded="isOpen"
14348            :disabled="isOpen"
14349            @click="open"
14350        >
14351            <span>Zdrowie i uroda ptaków</span>
14352            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
14353        </button>
14354        <ul
14355            id="category-node-341-mobile-menu-panel"
14356            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
14357            x-show="isOpen"
14358            x-transition:enter-start="opacity-0 translate-x-8"
14359            x-transition:enter-end="opacity-100 translate-x-0"
14360            x-transition:leave-start="opacity-100 translate-x-0"
14361            x-transition:leave-end="opacity-0 translate-x-8"
14362            @keydown.escape.stop.prevent="close"
14363        >
14364            <li data-level="2">
14365                <button
14366                    type="button"
14367                    class="dropdown-list-item font-bold justify-normal"
14368                    @click="close"
14369                    x-ref="closeSubMenuBtn"
14370                >
14371                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
14372                    Zdrowie i uroda ptaków                </button>
14373            </li>
14374            <li>
14375                <a
14376                    href="https://fera.pl/ptaki/zdrowie-i-uroda-ptakow.html"
14377                    class="dropdown-list-item font-bold"
14378                >
14379                    <span>
14380                        Zdrowie i uroda ptaków - zobacz wszystko                    </span>
14381                </a>
14382            </li>
14383                            
14384    <li data-level="2">
14385        <a
14386            href="https://fera.pl/ptaki/zdrowie-i-uroda-ptakow/witaminy-dla-ptakow.html"
14387            class="dropdown-list-item"
14388        >
14389            <span>Witaminy dla ptaków</span>
14390        </a>
14391    </li>
14392                            
14393    <li data-level="2">
14394        <a
14395            href="https://fera.pl/ptaki/zdrowie-i-uroda-ptakow/ochrona-przed-pasozytami-u-ptakow.html"
14396            class="dropdown-list-item"
14397        >
14398            <span>Ochrona przed pasożytami u ptaków</span>
14399        </a>
14400    </li>
14401                            
14402    <li data-level="2">
14403        <a
14404            href="https://fera.pl/ptaki/zdrowie-i-uroda-ptakow/pielegnacja-skory-i-pior.html"
14405            class="dropdown-list-item"
14406        >
14407            <span>Pielęgnacja skóry i piór</span>
14408        </a>
14409    </li>
14410                            
14411    <li data-level="2">
14412        <a
14413            href="https://fera.pl/ptaki/zdrowie-i-uroda-ptakow/pielegnacja-dzioba-i-pazurow-u-ptakow.html"
14414            class="dropdown-list-item"
14415        >
14416            <span>Pielęgnacja dzioba i pazurów u ptaków</span>
14417        </a>
14418    </li>
14419                    </ul>
14420    </li>
14421                            
14422    <li data-level="1" x-data="initMobileSubMenu">
14423        <button
14424            type="button"
14425            class="dropdown-list-item"
14426            aria-controls="category-node-346-mobile-menu-panel"
14427            aria-expanded="false"
14428            x-ref="openSubMenuBtn"
14429            :aria-expanded="isOpen"
14430            :disabled="isOpen"
14431            @click="open"
14432        >
14433            <span>Piaski i podłoża</span>
14434            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
14435        </button>
14436        <ul
14437            id="category-node-346-mobile-menu-panel"
14438            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
14439            x-show="isOpen"
14440            x-transition:enter-start="opacity-0 translate-x-8"
14441            x-transition:enter-end="opacity-100 translate-x-0"
14442            x-transition:leave-start="opacity-100 translate-x-0"
14443            x-transition:leave-end="opacity-0 translate-x-8"
14444            @keydown.escape.stop.prevent="close"
14445        >
14446            <li data-level="2">
14447                <button
14448                    type="button"
14449                    class="dropdown-list-item font-bold justify-normal"
14450                    @click="close"
14451                    x-ref="closeSubMenuBtn"
14452                >
14453                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
14454                    Piaski i podłoża                </button>
14455            </li>
14456            <li>
14457                <a
14458                    href="https://fera.pl/ptaki/piaski-i-podloza.html"
14459                    class="dropdown-list-item font-bold"
14460                >
14461                    <span>
14462                        Piaski i podłoża - zobacz wszystko                    </span>
14463                </a>
14464            </li>
14465                            
14466    <li data-level="2">
14467        <a
14468            href="https://fera.pl/ptaki/piaski-i-podloza/podloza-i-piaski-dla-ptakow.html"
14469            class="dropdown-list-item"
14470        >
14471            <span>Podłoża i piaski dla ptaków</span>
14472        </a>
14473    </li>
14474                            
14475    <li data-level="2">
14476        <a
14477            href="https://fera.pl/ptaki/piaski-i-podloza/piaski-dla-ptakow.html"
14478            class="dropdown-list-item"
14479        >
14480            <span>Piaski dla ptaków</span>
14481        </a>
14482    </li>
14483                    </ul>
14484    </li>
14485                            
14486    <li data-level="1" x-data="initMobileSubMenu">
14487        <button
14488            type="button"
14489            class="dropdown-list-item"
14490            aria-controls="category-node-349-mobile-menu-panel"
14491            aria-expanded="false"
14492            x-ref="openSubMenuBtn"
14493            :aria-expanded="isOpen"
14494            :disabled="isOpen"
14495            @click="open"
14496        >
14497            <span>Klatki i akcesoria dla ptaków</span>
14498            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
14499        </button>
14500        <ul
14501            id="category-node-349-mobile-menu-panel"
14502            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
14503            x-show="isOpen"
14504            x-transition:enter-start="opacity-0 translate-x-8"
14505            x-transition:enter-end="opacity-100 translate-x-0"
14506            x-transition:leave-start="opacity-100 translate-x-0"
14507            x-transition:leave-end="opacity-0 translate-x-8"
14508            @keydown.escape.stop.prevent="close"
14509        >
14510            <li data-level="2">
14511                <button
14512                    type="button"
14513                    class="dropdown-list-item font-bold justify-normal"
14514                    @click="close"
14515                    x-ref="closeSubMenuBtn"
14516                >
14517                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
14518                    Klatki i akcesoria dla ptaków                </button>
14519            </li>
14520            <li>
14521                <a
14522                    href="https://fera.pl/ptaki/klatki-i-akcesoria-dla-ptakow.html"
14523                    class="dropdown-list-item font-bold"
14524                >
14525                    <span>
14526                        Klatki i akcesoria dla ptaków - zobacz wszystko                    </span>
14527                </a>
14528            </li>
14529                            
14530    <li data-level="2">
14531        <a
14532            href="https://fera.pl/ptaki/klatki-i-akcesoria-dla-ptakow/klatki-dla-ptakow.html"
14533            class="dropdown-list-item"
14534        >
14535            <span>Klatki dla ptaków</span>
14536        </a>
14537    </li>
14538                            
14539    <li data-level="2">
14540        <a
14541            href="https://fera.pl/ptaki/klatki-i-akcesoria-dla-ptakow/materialy-na-gniazdo.html"
14542            class="dropdown-list-item"
14543        >
14544            <span>Materiały na gniazdo</span>
14545        </a>
14546    </li>
14547                            
14548    <li data-level="2">
14549        <a
14550            href="https://fera.pl/ptaki/klatki-i-akcesoria-dla-ptakow/domki-i-gniazda-dla-ptakow.html"
14551            class="dropdown-list-item"
14552        >
14553            <span>Domki i gniazda dla ptaków</span>
14554        </a>
14555    </li>
14556                            
14557    <li data-level="2">
14558        <a
14559            href="https://fera.pl/ptaki/klatki-i-akcesoria-dla-ptakow/hustawki-dla-ptakow.html"
14560            class="dropdown-list-item"
14561        >
14562            <span>Huśtawki dla ptaków</span>
14563        </a>
14564    </li>
14565                            
14566    <li data-level="2">
14567        <a
14568            href="https://fera.pl/ptaki/klatki-i-akcesoria-dla-ptakow/lusterka-dla-ptakow.html"
14569            class="dropdown-list-item"
14570        >
14571            <span>Lusterka dla ptaków</span>
14572        </a>
14573    </li>
14574                            
14575    <li data-level="2">
14576        <a
14577            href="https://fera.pl/ptaki/klatki-i-akcesoria-dla-ptakow/drabinki-i-drazki-dla-ptakow.html"
14578            class="dropdown-list-item"
14579        >
14580            <span>Drabinki i drążki dla ptaków</span>
14581        </a>
14582    </li>
14583                            
14584    <li data-level="2">
14585        <a
14586            href="https://fera.pl/ptaki/klatki-i-akcesoria-dla-ptakow/akcesoria-dla-ptakow.html"
14587            class="dropdown-list-item"
14588        >
14589            <span>Akcesoria dla ptaków</span>
14590        </a>
14591    </li>
14592                    </ul>
14593    </li>
14594                            
14595    <li data-level="1" x-data="initMobileSubMenu">
14596        <button
14597            type="button"
14598            class="dropdown-list-item"
14599            aria-controls="category-node-357-mobile-menu-panel"
14600            aria-expanded="false"
14601            x-ref="openSubMenuBtn"
14602            :aria-expanded="isOpen"
14603            :disabled="isOpen"
14604            @click="open"
14605        >
14606            <span>Zabawki dla ptaków</span>
14607            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
14608        </button>
14609        <ul
14610            id="category-node-357-mobile-menu-panel"
14611            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
14612            x-show="isOpen"
14613            x-transition:enter-start="opacity-0 translate-x-8"
14614            x-transition:enter-end="opacity-100 translate-x-0"
14615            x-transition:leave-start="opacity-100 translate-x-0"
14616            x-transition:leave-end="opacity-0 translate-x-8"
14617            @keydown.escape.stop.prevent="close"
14618        >
14619            <li data-level="2">
14620                <button
14621                    type="button"
14622                    class="dropdown-list-item font-bold justify-normal"
14623                    @click="close"
14624                    x-ref="closeSubMenuBtn"
14625                >
14626                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
14627                    Zabawki dla ptaków                </button>
14628            </li>
14629            <li>
14630                <a
14631                    href="https://fera.pl/ptaki/zabawki-dla-ptakow.html"
14632                    class="dropdown-list-item font-bold"
14633                >
14634                    <span>
14635                        Zabawki dla ptaków - zobacz wszystko                    </span>
14636                </a>
14637            </li>
14638                            
14639    <li data-level="2">
14640        <a
14641            href="https://fera.pl/ptaki/zabawki-dla-ptakow/zabawki-dla-ptakow.html"
14642            class="dropdown-list-item"
14643        >
14644            <span>Zabawki dla ptaków</span>
14645        </a>
14646    </li>
14647                            
14648    <li data-level="2">
14649        <a
14650            href="https://fera.pl/ptaki/zabawki-dla-ptakow/place-zabaw-dla-ptakow.html"
14651            class="dropdown-list-item"
14652        >
14653            <span>Place zabaw dla ptaków</span>
14654        </a>
14655    </li>
14656                    </ul>
14657    </li>
14658                            
14659    <li data-level="1" x-data="initMobileSubMenu">
14660        <button
14661            type="button"
14662            class="dropdown-list-item"
14663            aria-controls="category-node-360-mobile-menu-panel"
14664            aria-expanded="false"
14665            x-ref="openSubMenuBtn"
14666            :aria-expanded="isOpen"
14667            :disabled="isOpen"
14668            @click="open"
14669        >
14670            <span>Dzikie ptaki</span>
14671            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
14672        </button>
14673        <ul
14674            id="category-node-360-mobile-menu-panel"
14675            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
14676            x-show="isOpen"
14677            x-transition:enter-start="opacity-0 translate-x-8"
14678            x-transition:enter-end="opacity-100 translate-x-0"
14679            x-transition:leave-start="opacity-100 translate-x-0"
14680            x-transition:leave-end="opacity-0 translate-x-8"
14681            @keydown.escape.stop.prevent="close"
14682        >
14683            <li data-level="2">
14684                <button
14685                    type="button"
14686                    class="dropdown-list-item font-bold justify-normal"
14687                    @click="close"
14688                    x-ref="closeSubMenuBtn"
14689                >
14690                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
14691                    Dzikie ptaki                </button>
14692            </li>
14693            <li>
14694                <a
14695                    href="https://fera.pl/ptaki/dzikie-ptaki.html"
14696                    class="dropdown-list-item font-bold"
14697                >
14698                    <span>
14699                        Dzikie ptaki - zobacz wszystko                    </span>
14700                </a>
14701            </li>
14702                            
14703    <li data-level="2">
14704        <a
14705            href="https://fera.pl/ptaki/dzikie-ptaki/karma-dla-dzikich-ptakow.html"
14706            class="dropdown-list-item"
14707        >
14708            <span>Karma dla dzikich ptaków</span>
14709        </a>
14710    </li>
14711                            
14712    <li data-level="2">
14713        <a
14714            href="https://fera.pl/ptaki/dzikie-ptaki/karmniki-i-domki-dla-ptakow.html"
14715            class="dropdown-list-item"
14716        >
14717            <span>Karmniki i domki dla ptaków</span>
14718        </a>
14719    </li>
14720                    </ul>
14721    </li>
14722                    </ul>
14723    </li>
14724                                    
14725    <li data-level="0" x-data="initMobileSubMenu">
14726        <button
14727            type="button"
14728            class="dropdown-list-item"
14729            aria-controls="category-node-363-mobile-menu-panel"
14730            aria-expanded="false"
14731            x-ref="openSubMenuBtn"
14732            :aria-expanded="isOpen"
14733            :disabled="isOpen"
14734            @click="open"
14735        >
14736            <span>Ryby</span>
14737            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
14738        </button>
14739        <ul
14740            id="category-node-363-mobile-menu-panel"
14741            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
14742            x-show="isOpen"
14743            x-transition:enter-start="opacity-0 translate-x-8"
14744            x-transition:enter-end="opacity-100 translate-x-0"
14745            x-transition:leave-start="opacity-100 translate-x-0"
14746            x-transition:leave-end="opacity-0 translate-x-8"
14747            @keydown.escape.stop.prevent="close"
14748        >
14749            <li data-level="1">
14750                <button
14751                    type="button"
14752                    class="dropdown-list-item font-bold justify-normal"
14753                    @click="close"
14754                    x-ref="closeSubMenuBtn"
14755                >
14756                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
14757                    Ryby                </button>
14758            </li>
14759            <li>
14760                <a
14761                    href="https://fera.pl/ryby.html"
14762                    class="dropdown-list-item font-bold"
14763                >
14764                    <span>
14765                        Ryby - zobacz wszystko                    </span>
14766                </a>
14767            </li>
14768                            
14769    <li data-level="1" x-data="initMobileSubMenu">
14770        <button
14771            type="button"
14772            class="dropdown-list-item"
14773            aria-controls="category-node-364-mobile-menu-panel"
14774            aria-expanded="false"
14775            x-ref="openSubMenuBtn"
14776            :aria-expanded="isOpen"
14777            :disabled="isOpen"
14778            @click="open"
14779        >
14780            <span>Akwaria i akcesoria</span>
14781            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
14782        </button>
14783        <ul
14784            id="category-node-364-mobile-menu-panel"
14785            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
14786            x-show="isOpen"
14787            x-transition:enter-start="opacity-0 translate-x-8"
14788            x-transition:enter-end="opacity-100 translate-x-0"
14789            x-transition:leave-start="opacity-100 translate-x-0"
14790            x-transition:leave-end="opacity-0 translate-x-8"
14791            @keydown.escape.stop.prevent="close"
14792        >
14793            <li data-level="2">
14794                <button
14795                    type="button"
14796                    class="dropdown-list-item font-bold justify-normal"
14797                    @click="close"
14798                    x-ref="closeSubMenuBtn"
14799                >
14800                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
14801                    Akwaria i akcesoria                </button>
14802            </li>
14803            <li>
14804                <a
14805                    href="https://fera.pl/ryby/akwaria-i-akcesoria.html"
14806                    class="dropdown-list-item font-bold"
14807                >
14808                    <span>
14809                        Akwaria i akcesoria - zobacz wszystko                    </span>
14810                </a>
14811            </li>
14812                            
14813    <li data-level="2">
14814        <a
14815            href="https://fera.pl/ryby/akwaria-i-akcesoria/akwaria.html"
14816            class="dropdown-list-item"
14817        >
14818            <span>Akwaria</span>
14819        </a>
14820    </li>
14821                            
14822    <li data-level="2">
14823        <a
14824            href="https://fera.pl/ryby/akwaria-i-akcesoria/akcesoria-do-akwarium.html"
14825            class="dropdown-list-item"
14826        >
14827            <span>Akcesoria do akwarium</span>
14828        </a>
14829    </li>
14830                            
14831    <li data-level="2">
14832        <a
14833            href="https://fera.pl/ryby/akwaria-i-akcesoria/szafki-pod-akwarium.html"
14834            class="dropdown-list-item"
14835        >
14836            <span>Szafki pod akwarium</span>
14837        </a>
14838    </li>
14839                            
14840    <li data-level="2">
14841        <a
14842            href="https://fera.pl/ryby/akwaria-i-akcesoria/kotniki.html"
14843            class="dropdown-list-item"
14844        >
14845            <span>Kotniki</span>
14846        </a>
14847    </li>
14848                            
14849    <li data-level="2">
14850        <a
14851            href="https://fera.pl/ryby/akwaria-i-akcesoria/automaty-do-karmienia-ryb.html"
14852            class="dropdown-list-item"
14853        >
14854            <span>Automaty do karmienia ryb</span>
14855        </a>
14856    </li>
14857                            
14858    <li data-level="2">
14859        <a
14860            href="https://fera.pl/ryby/akwaria-i-akcesoria/siatki-na-ryby.html"
14861            class="dropdown-list-item"
14862        >
14863            <span>Siatki na ryby</span>
14864        </a>
14865    </li>
14866                    </ul>
14867    </li>
14868                            
14869    <li data-level="1" x-data="initMobileSubMenu">
14870        <button
14871            type="button"
14872            class="dropdown-list-item"
14873            aria-controls="category-node-372-mobile-menu-panel"
14874            aria-expanded="false"
14875            x-ref="openSubMenuBtn"
14876            :aria-expanded="isOpen"
14877            :disabled="isOpen"
14878            @click="open"
14879        >
14880            <span>Pokarm dla ryb</span>
14881            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
14882        </button>
14883        <ul
14884            id="category-node-372-mobile-menu-panel"
14885            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
14886            x-show="isOpen"
14887            x-transition:enter-start="opacity-0 translate-x-8"
14888            x-transition:enter-end="opacity-100 translate-x-0"
14889            x-transition:leave-start="opacity-100 translate-x-0"
14890            x-transition:leave-end="opacity-0 translate-x-8"
14891            @keydown.escape.stop.prevent="close"
14892        >
14893            <li data-level="2">
14894                <button
14895                    type="button"
14896                    class="dropdown-list-item font-bold justify-normal"
14897                    @click="close"
14898                    x-ref="closeSubMenuBtn"
14899                >
14900                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
14901                    Pokarm dla ryb                </button>
14902            </li>
14903            <li>
14904                <a
14905                    href="https://fera.pl/ryby/pokarm-dla-ryb.html"
14906                    class="dropdown-list-item font-bold"
14907                >
14908                    <span>
14909                        Pokarm dla ryb - zobacz wszystko                    </span>
14910                </a>
14911            </li>
14912                            
14913    <li data-level="2">
14914        <a
14915            href="https://fera.pl/ryby/pokarm-dla-ryb/pokarm-dla-bojownikow.html"
14916            class="dropdown-list-item"
14917        >
14918            <span>Pokarm dla bojowników</span>
14919        </a>
14920    </li>
14921                            
14922    <li data-level="2">
14923        <a
14924            href="https://fera.pl/ryby/pokarm-dla-ryb/pokarm-dla-pielegnic.html"
14925            class="dropdown-list-item"
14926        >
14927            <span>Pokarm dla pielęgnic</span>
14928        </a>
14929    </li>
14930                            
14931    <li data-level="2">
14932        <a
14933            href="https://fera.pl/ryby/pokarm-dla-ryb/pokarm-dla-gupikow.html"
14934            class="dropdown-list-item"
14935        >
14936            <span>Pokarm dla gupików</span>
14937        </a>
14938    </li>
14939                            
14940    <li data-level="2">
14941        <a
14942            href="https://fera.pl/ryby/pokarm-dla-ryb/pokarm-dla-paletek.html"
14943            class="dropdown-list-item"
14944        >
14945            <span>Pokarm dla paletek</span>
14946        </a>
14947    </li>
14948                            
14949    <li data-level="2">
14950        <a
14951            href="https://fera.pl/ryby/pokarm-dla-ryb/pokarm-dla-glonojadow.html"
14952            class="dropdown-list-item"
14953        >
14954            <span>Pokarm dla glonojadów</span>
14955        </a>
14956    </li>
14957                            
14958    <li data-level="2">
14959        <a
14960            href="https://fera.pl/ryby/pokarm-dla-ryb/pokarm-dla-ryb-dennych.html"
14961            class="dropdown-list-item"
14962        >
14963            <span>Pokarm dla ryb dennych</span>
14964        </a>
14965    </li>
14966                            
14967    <li data-level="2">
14968        <a
14969            href="https://fera.pl/ryby/pokarm-dla-ryb/pokarm-dla-karpi-koi.html"
14970            class="dropdown-list-item"
14971        >
14972            <span>Pokarm dla karpi koi</span>
14973        </a>
14974    </li>
14975                            
14976    <li data-level="2">
14977        <a
14978            href="https://fera.pl/ryby/pokarm-dla-ryb/pokarm-dla-ryb-ozdobnych.html"
14979            class="dropdown-list-item"
14980        >
14981            <span>Pokarm dla ryb ozdobnych</span>
14982        </a>
14983    </li>
14984                    </ul>
14985    </li>
14986                            
14987    <li data-level="1" x-data="initMobileSubMenu">
14988        <button
14989            type="button"
14990            class="dropdown-list-item"
14991            aria-controls="category-node-371-mobile-menu-panel"
14992            aria-expanded="false"
14993            x-ref="openSubMenuBtn"
14994            :aria-expanded="isOpen"
14995            :disabled="isOpen"
14996            @click="open"
14997        >
14998            <span>Pokarm i utrzymanie</span>
14999            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
15000        </button>
15001        <ul
15002            id="category-node-371-mobile-menu-panel"
15003            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
15004            x-show="isOpen"
15005            x-transition:enter-start="opacity-0 translate-x-8"
15006            x-transition:enter-end="opacity-100 translate-x-0"
15007            x-transition:leave-start="opacity-100 translate-x-0"
15008            x-transition:leave-end="opacity-0 translate-x-8"
15009            @keydown.escape.stop.prevent="close"
15010        >
15011            <li data-level="2">
15012                <button
15013                    type="button"
15014                    class="dropdown-list-item font-bold justify-normal"
15015                    @click="close"
15016                    x-ref="closeSubMenuBtn"
15017                >
15018                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
15019                    Pokarm i utrzymanie                </button>
15020            </li>
15021            <li>
15022                <a
15023                    href="https://fera.pl/ryby/pokarm-i-utrzymanie.html"
15024                    class="dropdown-list-item font-bold"
15025                >
15026                    <span>
15027                        Pokarm i utrzymanie - zobacz wszystko                    </span>
15028                </a>
15029            </li>
15030                            
15031    <li data-level="2">
15032        <a
15033            href="https://fera.pl/ryby/pokarm-i-utrzymanie/uzdatniacze-do-wody.html"
15034            class="dropdown-list-item"
15035        >
15036            <span>Uzdatniacze do wody</span>
15037        </a>
15038    </li>
15039                            
15040    <li data-level="2">
15041        <a
15042            href="https://fera.pl/ryby/pokarm-i-utrzymanie/testery-do-wody-w-akwarium.html"
15043            class="dropdown-list-item"
15044        >
15045            <span>Testery do wody w akwarium</span>
15046        </a>
15047    </li>
15048                            
15049    <li data-level="2">
15050        <a
15051            href="https://fera.pl/ryby/pokarm-i-utrzymanie/ochrona-roslin-w-akwarium.html"
15052            class="dropdown-list-item"
15053        >
15054            <span>Ochrona roślin w akwarium</span>
15055        </a>
15056    </li>
15057                            
15058    <li data-level="2">
15059        <a
15060            href="https://fera.pl/ryby/pokarm-i-utrzymanie/czyszczenie-akwarium.html"
15061            class="dropdown-list-item"
15062        >
15063            <span>Czyszczenie akwarium</span>
15064        </a>
15065    </li>
15066                            
15067    <li data-level="2">
15068        <a
15069            href="https://fera.pl/ryby/pokarm-i-utrzymanie/akwaria-morskie.html"
15070            class="dropdown-list-item"
15071        >
15072            <span>Akwaria morskie</span>
15073        </a>
15074    </li>
15075                            
15076    <li data-level="2">
15077        <a
15078            href="https://fera.pl/ryby/pokarm-i-utrzymanie/srodki-lecznicze-do-akwarium.html"
15079            class="dropdown-list-item"
15080        >
15081            <span>Środki lecznicze do akwarium</span>
15082        </a>
15083    </li>
15084                            
15085    <li data-level="2">
15086        <a
15087            href="https://fera.pl/ryby/pokarm-i-utrzymanie/preparaty-antyglonowe-do-akwarium.html"
15088            class="dropdown-list-item"
15089        >
15090            <span>Preparaty antyglonowe do akwarium</span>
15091        </a>
15092    </li>
15093                            
15094    <li data-level="2">
15095        <a
15096            href="https://fera.pl/ryby/pokarm-i-utrzymanie/technika-co2.html"
15097            class="dropdown-list-item"
15098        >
15099            <span>Technika Co2</span>
15100        </a>
15101    </li>
15102                    </ul>
15103    </li>
15104                            
15105    <li data-level="1" x-data="initMobileSubMenu">
15106        <button
15107            type="button"
15108            class="dropdown-list-item"
15109            aria-controls="category-node-389-mobile-menu-panel"
15110            aria-expanded="false"
15111            x-ref="openSubMenuBtn"
15112            :aria-expanded="isOpen"
15113            :disabled="isOpen"
15114            @click="open"
15115        >
15116            <span>Filtry i napowietrzacze</span>
15117            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
15118        </button>
15119        <ul
15120            id="category-node-389-mobile-menu-panel"
15121            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
15122            x-show="isOpen"
15123            x-transition:enter-start="opacity-0 translate-x-8"
15124            x-transition:enter-end="opacity-100 translate-x-0"
15125            x-transition:leave-start="opacity-100 translate-x-0"
15126            x-transition:leave-end="opacity-0 translate-x-8"
15127            @keydown.escape.stop.prevent="close"
15128        >
15129            <li data-level="2">
15130                <button
15131                    type="button"
15132                    class="dropdown-list-item font-bold justify-normal"
15133                    @click="close"
15134                    x-ref="closeSubMenuBtn"
15135                >
15136                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
15137                    Filtry i napowietrzacze                </button>
15138            </li>
15139            <li>
15140                <a
15141                    href="https://fera.pl/ryby/filtry-i-napowietrzacze.html"
15142                    class="dropdown-list-item font-bold"
15143                >
15144                    <span>
15145                        Filtry i napowietrzacze - zobacz wszystko                    </span>
15146                </a>
15147            </li>
15148                            
15149    <li data-level="2">
15150        <a
15151            href="https://fera.pl/ryby/filtry-i-napowietrzacze/filtry-do-akwarium.html"
15152            class="dropdown-list-item"
15153        >
15154            <span>Filtry do akwarium</span>
15155        </a>
15156    </li>
15157                            
15158    <li data-level="2">
15159        <a
15160            href="https://fera.pl/ryby/filtry-i-napowietrzacze/wklady-do-filtrow.html"
15161            class="dropdown-list-item"
15162        >
15163            <span>Wkłady do filtrów</span>
15164        </a>
15165    </li>
15166                            
15167    <li data-level="2">
15168        <a
15169            href="https://fera.pl/ryby/filtry-i-napowietrzacze/pompki-do-akwarium.html"
15170            class="dropdown-list-item"
15171        >
15172            <span>Pompki do akwarium</span>
15173        </a>
15174    </li>
15175                            
15176    <li data-level="2">
15177        <a
15178            href="https://fera.pl/ryby/filtry-i-napowietrzacze/czesci-i-akcesoria-do-filtrow.html"
15179            class="dropdown-list-item"
15180        >
15181            <span>Części i akcesoria do filtrów</span>
15182        </a>
15183    </li>
15184                    </ul>
15185    </li>
15186                            
15187    <li data-level="1" x-data="initMobileSubMenu">
15188        <button
15189            type="button"
15190            class="dropdown-list-item"
15191            aria-controls="category-node-394-mobile-menu-panel"
15192            aria-expanded="false"
15193            x-ref="openSubMenuBtn"
15194            :aria-expanded="isOpen"
15195            :disabled="isOpen"
15196            @click="open"
15197        >
15198            <span>Oświetlenie i ogrzewanie</span>
15199            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
15200        </button>
15201        <ul
15202            id="category-node-394-mobile-menu-panel"
15203            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
15204            x-show="isOpen"
15205            x-transition:enter-start="opacity-0 translate-x-8"
15206            x-transition:enter-end="opacity-100 translate-x-0"
15207            x-transition:leave-start="opacity-100 translate-x-0"
15208            x-transition:leave-end="opacity-0 translate-x-8"
15209            @keydown.escape.stop.prevent="close"
15210        >
15211            <li data-level="2">
15212                <button
15213                    type="button"
15214                    class="dropdown-list-item font-bold justify-normal"
15215                    @click="close"
15216                    x-ref="closeSubMenuBtn"
15217                >
15218                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
15219                    Oświetlenie i ogrzewanie                </button>
15220            </li>
15221            <li>
15222                <a
15223                    href="https://fera.pl/ryby/oswietlenie-i-ogrzewanie.html"
15224                    class="dropdown-list-item font-bold"
15225                >
15226                    <span>
15227                        Oświetlenie i ogrzewanie - zobacz wszystko                    </span>
15228                </a>
15229            </li>
15230                            
15231    <li data-level="2">
15232        <a
15233            href="https://fera.pl/ryby/oswietlenie-i-ogrzewanie/termometry-do-akwarium.html"
15234            class="dropdown-list-item"
15235        >
15236            <span>Termometry do akwarium</span>
15237        </a>
15238    </li>
15239                            
15240    <li data-level="2">
15241        <a
15242            href="https://fera.pl/ryby/oswietlenie-i-ogrzewanie/oswietlenie-akwarium.html"
15243            class="dropdown-list-item"
15244        >
15245            <span>Oświetlenie akwarium</span>
15246        </a>
15247    </li>
15248                            
15249    <li data-level="2">
15250        <a
15251            href="https://fera.pl/ryby/oswietlenie-i-ogrzewanie/grzalki-do-akwarium.html"
15252            class="dropdown-list-item"
15253        >
15254            <span>Grzałki do akwarium</span>
15255        </a>
15256    </li>
15257                            
15258    <li data-level="2">
15259        <a
15260            href="https://fera.pl/ryby/oswietlenie-i-ogrzewanie/sterylizatory-uv-do-akwarium.html"
15261            class="dropdown-list-item"
15262        >
15263            <span>Sterylizatory UV do akwarium</span>
15264        </a>
15265    </li>
15266                    </ul>
15267    </li>
15268                            
15269    <li data-level="1" x-data="initMobileSubMenu">
15270        <button
15271            type="button"
15272            class="dropdown-list-item"
15273            aria-controls="category-node-399-mobile-menu-panel"
15274            aria-expanded="false"
15275            x-ref="openSubMenuBtn"
15276            :aria-expanded="isOpen"
15277            :disabled="isOpen"
15278            @click="open"
15279        >
15280            <span>Dekoracje do akwarium</span>
15281            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
15282        </button>
15283        <ul
15284            id="category-node-399-mobile-menu-panel"
15285            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
15286            x-show="isOpen"
15287            x-transition:enter-start="opacity-0 translate-x-8"
15288            x-transition:enter-end="opacity-100 translate-x-0"
15289            x-transition:leave-start="opacity-100 translate-x-0"
15290            x-transition:leave-end="opacity-0 translate-x-8"
15291            @keydown.escape.stop.prevent="close"
15292        >
15293            <li data-level="2">
15294                <button
15295                    type="button"
15296                    class="dropdown-list-item font-bold justify-normal"
15297                    @click="close"
15298                    x-ref="closeSubMenuBtn"
15299                >
15300                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
15301                    Dekoracje do akwarium                </button>
15302            </li>
15303            <li>
15304                <a
15305                    href="https://fera.pl/ryby/dekoracje-do-akwarium.html"
15306                    class="dropdown-list-item font-bold"
15307                >
15308                    <span>
15309                        Dekoracje do akwarium - zobacz wszystko                    </span>
15310                </a>
15311            </li>
15312                            
15313    <li data-level="2">
15314        <a
15315            href="https://fera.pl/ryby/dekoracje-do-akwarium/rosliny-do-akwarium.html"
15316            class="dropdown-list-item"
15317        >
15318            <span>Rośliny do akwarium</span>
15319        </a>
15320    </li>
15321                            
15322    <li data-level="2">
15323        <a
15324            href="https://fera.pl/ryby/dekoracje-do-akwarium/podloza-dla-ryb.html"
15325            class="dropdown-list-item"
15326        >
15327            <span>Podłoża dla ryb</span>
15328        </a>
15329    </li>
15330                            
15331    <li data-level="2">
15332        <a
15333            href="https://fera.pl/ryby/dekoracje-do-akwarium/ozdoby-do-akwarium.html"
15334            class="dropdown-list-item"
15335        >
15336            <span>Ozdoby do akwarium</span>
15337        </a>
15338    </li>
15339                            
15340    <li data-level="2">
15341        <a
15342            href="https://fera.pl/ryby/dekoracje-do-akwarium/korzenie-do-akwarium.html"
15343            class="dropdown-list-item"
15344        >
15345            <span>Korzenie do akwarium</span>
15346        </a>
15347    </li>
15348                            
15349    <li data-level="2">
15350        <a
15351            href="https://fera.pl/ryby/dekoracje-do-akwarium/tlo-do-akwarium.html"
15352            class="dropdown-list-item"
15353        >
15354            <span>Tło do akwarium</span>
15355        </a>
15356    </li>
15357                            
15358    <li data-level="2">
15359        <a
15360            href="https://fera.pl/ryby/dekoracje-do-akwarium/kamienie-ozdobne-do-akwarium.html"
15361            class="dropdown-list-item"
15362        >
15363            <span>Kamienie ozdobne do akwarium</span>
15364        </a>
15365    </li>
15366                    </ul>
15367    </li>
15368                            
15369    <li data-level="1" x-data="initMobileSubMenu">
15370        <button
15371            type="button"
15372            class="dropdown-list-item"
15373            aria-controls="category-node-406-mobile-menu-panel"
15374            aria-expanded="false"
15375            x-ref="openSubMenuBtn"
15376            :aria-expanded="isOpen"
15377            :disabled="isOpen"
15378            @click="open"
15379        >
15380            <span>Oczko wodne</span>
15381            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
15382        </button>
15383        <ul
15384            id="category-node-406-mobile-menu-panel"
15385            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
15386            x-show="isOpen"
15387            x-transition:enter-start="opacity-0 translate-x-8"
15388            x-transition:enter-end="opacity-100 translate-x-0"
15389            x-transition:leave-start="opacity-100 translate-x-0"
15390            x-transition:leave-end="opacity-0 translate-x-8"
15391            @keydown.escape.stop.prevent="close"
15392        >
15393            <li data-level="2">
15394                <button
15395                    type="button"
15396                    class="dropdown-list-item font-bold justify-normal"
15397                    @click="close"
15398                    x-ref="closeSubMenuBtn"
15399                >
15400                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
15401                    Oczko wodne                </button>
15402            </li>
15403            <li>
15404                <a
15405                    href="https://fera.pl/ryby/oczko-wodne.html"
15406                    class="dropdown-list-item font-bold"
15407                >
15408                    <span>
15409                        Oczko wodne - zobacz wszystko                    </span>
15410                </a>
15411            </li>
15412                            
15413    <li data-level="2">
15414        <a
15415            href="https://fera.pl/ryby/oczko-wodne/testery-do-wody-w-oczku-wodnym.html"
15416            class="dropdown-list-item"
15417        >
15418            <span>Testery do wody w oczku wodnym</span>
15419        </a>
15420    </li>
15421                            
15422    <li data-level="2">
15423        <a
15424            href="https://fera.pl/ryby/oczko-wodne/preparaty-antyglonowe-do-oczka-wodnego.html"
15425            class="dropdown-list-item"
15426        >
15427            <span>Preparaty antyglonowe do oczka wodnego</span>
15428        </a>
15429    </li>
15430                            
15431    <li data-level="2">
15432        <a
15433            href="https://fera.pl/ryby/oczko-wodne/czyszczenie-oczka-wodnego.html"
15434            class="dropdown-list-item"
15435        >
15436            <span>Czyszczenie oczka wodnego</span>
15437        </a>
15438    </li>
15439                            
15440    <li data-level="2">
15441        <a
15442            href="https://fera.pl/ryby/oczko-wodne/pokarm-dla-ryb-w-oczku-wodnym.html"
15443            class="dropdown-list-item"
15444        >
15445            <span>Pokarm dla ryb w oczku wodnym</span>
15446        </a>
15447    </li>
15448                            
15449    <li data-level="2">
15450        <a
15451            href="https://fera.pl/ryby/oczko-wodne/akcesoria-do-oczka-wodnego.html"
15452            class="dropdown-list-item"
15453        >
15454            <span>Akcesoria do oczka wodnego</span>
15455        </a>
15456    </li>
15457                            
15458    <li data-level="2">
15459        <a
15460            href="https://fera.pl/ryby/oczko-wodne/filtry-i-fontanny-do-oczka-wodnego.html"
15461            class="dropdown-list-item"
15462        >
15463            <span>Filtry i fontanny do oczka wodnego</span>
15464        </a>
15465    </li>
15466                            
15467    <li data-level="2">
15468        <a
15469            href="https://fera.pl/ryby/oczko-wodne/fontanny.html"
15470            class="dropdown-list-item"
15471        >
15472            <span>Fontanny</span>
15473        </a>
15474    </li>
15475                            
15476    <li data-level="2">
15477        <a
15478            href="https://fera.pl/ryby/oczko-wodne/oswietlenie-oczka-wodnego.html"
15479            class="dropdown-list-item"
15480        >
15481            <span>Oświetlenie oczka wodnego</span>
15482        </a>
15483    </li>
15484                    </ul>
15485    </li>
15486                    </ul>
15487    </li>
15488                                    
15489    <li data-level="0" x-data="initMobileSubMenu">
15490        <button
15491            type="button"
15492            class="dropdown-list-item"
15493            aria-controls="category-node-415-mobile-menu-panel"
15494            aria-expanded="false"
15495            x-ref="openSubMenuBtn"
15496            :aria-expanded="isOpen"
15497            :disabled="isOpen"
15498            @click="open"
15499        >
15500            <span>Małe ssaki</span>
15501            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
15502        </button>
15503        <ul
15504            id="category-node-415-mobile-menu-panel"
15505            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
15506            x-show="isOpen"
15507            x-transition:enter-start="opacity-0 translate-x-8"
15508            x-transition:enter-end="opacity-100 translate-x-0"
15509            x-transition:leave-start="opacity-100 translate-x-0"
15510            x-transition:leave-end="opacity-0 translate-x-8"
15511            @keydown.escape.stop.prevent="close"
15512        >
15513            <li data-level="1">
15514                <button
15515                    type="button"
15516                    class="dropdown-list-item font-bold justify-normal"
15517                    @click="close"
15518                    x-ref="closeSubMenuBtn"
15519                >
15520                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
15521                    Małe ssaki                </button>
15522            </li>
15523            <li>
15524                <a
15525                    href="https://fera.pl/male-ssaki.html"
15526                    class="dropdown-list-item font-bold"
15527                >
15528                    <span>
15529                        Małe ssaki - zobacz wszystko                    </span>
15530                </a>
15531            </li>
15532                            
15533    <li data-level="1" x-data="initMobileSubMenu">
15534        <button
15535            type="button"
15536            class="dropdown-list-item"
15537            aria-controls="category-node-416-mobile-menu-panel"
15538            aria-expanded="false"
15539            x-ref="openSubMenuBtn"
15540            :aria-expanded="isOpen"
15541            :disabled="isOpen"
15542            @click="open"
15543        >
15544            <span>Karma i przysmaki</span>
15545            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
15546        </button>
15547        <ul
15548            id="category-node-416-mobile-menu-panel"
15549            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
15550            x-show="isOpen"
15551            x-transition:enter-start="opacity-0 translate-x-8"
15552            x-transition:enter-end="opacity-100 translate-x-0"
15553            x-transition:leave-start="opacity-100 translate-x-0"
15554            x-transition:leave-end="opacity-0 translate-x-8"
15555            @keydown.escape.stop.prevent="close"
15556        >
15557            <li data-level="2">
15558                <button
15559                    type="button"
15560                    class="dropdown-list-item font-bold justify-normal"
15561                    @click="close"
15562                    x-ref="closeSubMenuBtn"
15563                >
15564                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
15565                    Karma i przysmaki                </button>
15566            </li>
15567            <li>
15568                <a
15569                    href="https://fera.pl/male-ssaki/karma-i-przysmaki.html"
15570                    class="dropdown-list-item font-bold"
15571                >
15572                    <span>
15573                        Karma i przysmaki - zobacz wszystko                    </span>
15574                </a>
15575            </li>
15576                            
15577    <li data-level="2">
15578        <a
15579            href="https://fera.pl/male-ssaki/karma-i-przysmaki/karma-dla-chomika.html"
15580            class="dropdown-list-item"
15581        >
15582            <span>Karma dla chomika</span>
15583        </a>
15584    </li>
15585                            
15586    <li data-level="2">
15587        <a
15588            href="https://fera.pl/male-ssaki/karma-i-przysmaki/karma-dla-fretki.html"
15589            class="dropdown-list-item"
15590        >
15591            <span>Karma dla fretki</span>
15592        </a>
15593    </li>
15594                            
15595    <li data-level="2">
15596        <a
15597            href="https://fera.pl/male-ssaki/karma-i-przysmaki/karma-dla-koszatniczki.html"
15598            class="dropdown-list-item"
15599        >
15600            <span>Karma dla koszatniczki</span>
15601        </a>
15602    </li>
15603                            
15604    <li data-level="2">
15605        <a
15606            href="https://fera.pl/male-ssaki/karma-i-przysmaki/karma-dla-krolika.html"
15607            class="dropdown-list-item"
15608        >
15609            <span>Karma dla królika</span>
15610        </a>
15611    </li>
15612                            
15613    <li data-level="2">
15614        <a
15615            href="https://fera.pl/male-ssaki/karma-i-przysmaki/karma-dla-myszy-i-myszoskoczka.html"
15616            class="dropdown-list-item"
15617        >
15618            <span>Karma dla myszy i myszoskoczka</span>
15619        </a>
15620    </li>
15621                            
15622    <li data-level="2">
15623        <a
15624            href="https://fera.pl/male-ssaki/karma-i-przysmaki/karma-dla-szczura.html"
15625            class="dropdown-list-item"
15626        >
15627            <span>Karma dla szczura</span>
15628        </a>
15629    </li>
15630                            
15631    <li data-level="2">
15632        <a
15633            href="https://fera.pl/male-ssaki/karma-i-przysmaki/karma-dla-szynszyli.html"
15634            class="dropdown-list-item"
15635        >
15636            <span>Karma dla szynszyli</span>
15637        </a>
15638    </li>
15639                            
15640    <li data-level="2">
15641        <a
15642            href="https://fera.pl/male-ssaki/karma-i-przysmaki/karma-dla-swinki-morskiej.html"
15643            class="dropdown-list-item"
15644        >
15645            <span>Karma dla świnki morskiej</span>
15646        </a>
15647    </li>
15648                            
15649    <li data-level="2">
15650        <a
15651            href="https://fera.pl/male-ssaki/karma-i-przysmaki/karma-dla-jeza-i-wiewiorki.html"
15652            class="dropdown-list-item"
15653        >
15654            <span>Karma dla jeża i wiewiórki</span>
15655        </a>
15656    </li>
15657                    </ul>
15658    </li>
15659                            
15660    <li data-level="1" x-data="initMobileSubMenu">
15661        <button
15662            type="button"
15663            class="dropdown-list-item"
15664            aria-controls="category-node-426-mobile-menu-panel"
15665            aria-expanded="false"
15666            x-ref="openSubMenuBtn"
15667            :aria-expanded="isOpen"
15668            :disabled="isOpen"
15669            @click="open"
15670        >
15671            <span>Akcesoria do karmienia małych ssaków</span>
15672            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
15673        </button>
15674        <ul
15675            id="category-node-426-mobile-menu-panel"
15676            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
15677            x-show="isOpen"
15678            x-transition:enter-start="opacity-0 translate-x-8"
15679            x-transition:enter-end="opacity-100 translate-x-0"
15680            x-transition:leave-start="opacity-100 translate-x-0"
15681            x-transition:leave-end="opacity-0 translate-x-8"
15682            @keydown.escape.stop.prevent="close"
15683        >
15684            <li data-level="2">
15685                <button
15686                    type="button"
15687                    class="dropdown-list-item font-bold justify-normal"
15688                    @click="close"
15689                    x-ref="closeSubMenuBtn"
15690                >
15691                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
15692                    Akcesoria do karmienia małych ssaków                </button>
15693            </li>
15694            <li>
15695                <a
15696                    href="https://fera.pl/male-ssaki/akcesoria-do-karmienia-malych-ssakow.html"
15697                    class="dropdown-list-item font-bold"
15698                >
15699                    <span>
15700                        Akcesoria do karmienia małych ssaków - zobacz wszystko                    </span>
15701                </a>
15702            </li>
15703                            
15704    <li data-level="2">
15705        <a
15706            href="https://fera.pl/male-ssaki/akcesoria-do-karmienia-malych-ssakow/miski.html"
15707            class="dropdown-list-item"
15708        >
15709            <span>Miski</span>
15710        </a>
15711    </li>
15712                            
15713    <li data-level="2">
15714        <a
15715            href="https://fera.pl/male-ssaki/akcesoria-do-karmienia-malych-ssakow/poidelka.html"
15716            class="dropdown-list-item"
15717        >
15718            <span>Poidełka</span>
15719        </a>
15720    </li>
15721                    </ul>
15722    </li>
15723                            
15724    <li data-level="1" x-data="initMobileSubMenu">
15725        <button
15726            type="button"
15727            class="dropdown-list-item"
15728            aria-controls="category-node-430-mobile-menu-panel"
15729            aria-expanded="false"
15730            x-ref="openSubMenuBtn"
15731            :aria-expanded="isOpen"
15732            :disabled="isOpen"
15733            @click="open"
15734        >
15735            <span>Klatki</span>
15736            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
15737        </button>
15738        <ul
15739            id="category-node-430-mobile-menu-panel"
15740            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
15741            x-show="isOpen"
15742            x-transition:enter-start="opacity-0 translate-x-8"
15743            x-transition:enter-end="opacity-100 translate-x-0"
15744            x-transition:leave-start="opacity-100 translate-x-0"
15745            x-transition:leave-end="opacity-0 translate-x-8"
15746            @keydown.escape.stop.prevent="close"
15747        >
15748            <li data-level="2">
15749                <button
15750                    type="button"
15751                    class="dropdown-list-item font-bold justify-normal"
15752                    @click="close"
15753                    x-ref="closeSubMenuBtn"
15754                >
15755                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
15756                    Klatki                </button>
15757            </li>
15758            <li>
15759                <a
15760                    href="https://fera.pl/male-ssaki/klatki.html"
15761                    class="dropdown-list-item font-bold"
15762                >
15763                    <span>
15764                        Klatki - zobacz wszystko                    </span>
15765                </a>
15766            </li>
15767                            
15768    <li data-level="2">
15769        <a
15770            href="https://fera.pl/male-ssaki/klatki/klatka-dla-chomika.html"
15771            class="dropdown-list-item"
15772        >
15773            <span>Klatka dla chomika</span>
15774        </a>
15775    </li>
15776                            
15777    <li data-level="2">
15778        <a
15779            href="https://fera.pl/male-ssaki/klatki/klatka-dla-fretki.html"
15780            class="dropdown-list-item"
15781        >
15782            <span>Klatka dla fretki</span>
15783        </a>
15784    </li>
15785                            
15786    <li data-level="2">
15787        <a
15788            href="https://fera.pl/male-ssaki/klatki/klatka-dla-krolika.html"
15789            class="dropdown-list-item"
15790        >
15791            <span>Klatka dla królika</span>
15792        </a>
15793    </li>
15794                            
15795    <li data-level="2">
15796        <a
15797            href="https://fera.pl/male-ssaki/klatki/klatka-dla-myszoskoczka.html"
15798            class="dropdown-list-item"
15799        >
15800            <span>Klatka dla myszoskoczka</span>
15801        </a>
15802    </li>
15803                            
15804    <li data-level="2">
15805        <a
15806            href="https://fera.pl/male-ssaki/klatki/klatka-dla-myszy.html"
15807            class="dropdown-list-item"
15808        >
15809            <span>Klatka dla myszy</span>
15810        </a>
15811    </li>
15812                            
15813    <li data-level="2">
15814        <a
15815            href="https://fera.pl/male-ssaki/klatki/klatka-dla-szczura.html"
15816            class="dropdown-list-item"
15817        >
15818            <span>Klatka dla szczura</span>
15819        </a>
15820    </li>
15821                            
15822    <li data-level="2">
15823        <a
15824            href="https://fera.pl/male-ssaki/klatki/klatka-dla-szynszyli.html"
15825            class="dropdown-list-item"
15826        >
15827            <span>Klatka dla szynszyli</span>
15828        </a>
15829    </li>
15830                            
15831    <li data-level="2">
15832        <a
15833            href="https://fera.pl/male-ssaki/klatki/klatka-dla-swinki-morskiej.html"
15834            class="dropdown-list-item"
15835        >
15836            <span>Klatka dla świnki morskiej</span>
15837        </a>
15838    </li>
15839                            
15840    <li data-level="2">
15841        <a
15842            href="https://fera.pl/male-ssaki/klatki/klatka-dla-wiewiorki.html"
15843            class="dropdown-list-item"
15844        >
15845            <span>Klatka dla wiewiórki</span>
15846        </a>
15847    </li>
15848                    </ul>
15849    </li>
15850                            
15851    <li data-level="1" x-data="initMobileSubMenu">
15852        <button
15853            type="button"
15854            class="dropdown-list-item"
15855            aria-controls="category-node-429-mobile-menu-panel"
15856            aria-expanded="false"
15857            x-ref="openSubMenuBtn"
15858            :aria-expanded="isOpen"
15859            :disabled="isOpen"
15860            @click="open"
15861        >
15862            <span>Klatki i kojce</span>
15863            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
15864        </button>
15865        <ul
15866            id="category-node-429-mobile-menu-panel"
15867            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
15868            x-show="isOpen"
15869            x-transition:enter-start="opacity-0 translate-x-8"
15870            x-transition:enter-end="opacity-100 translate-x-0"
15871            x-transition:leave-start="opacity-100 translate-x-0"
15872            x-transition:leave-end="opacity-0 translate-x-8"
15873            @keydown.escape.stop.prevent="close"
15874        >
15875            <li data-level="2">
15876                <button
15877                    type="button"
15878                    class="dropdown-list-item font-bold justify-normal"
15879                    @click="close"
15880                    x-ref="closeSubMenuBtn"
15881                >
15882                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
15883                    Klatki i kojce                </button>
15884            </li>
15885            <li>
15886                <a
15887                    href="https://fera.pl/male-ssaki/klatki-i-kojce.html"
15888                    class="dropdown-list-item font-bold"
15889                >
15890                    <span>
15891                        Klatki i kojce - zobacz wszystko                    </span>
15892                </a>
15893            </li>
15894                            
15895    <li data-level="2">
15896        <a
15897            href="https://fera.pl/male-ssaki/klatki-i-kojce/kojce-i-wybiegi-dla-krolikow.html"
15898            class="dropdown-list-item"
15899        >
15900            <span>Kojce i wybiegi dla królików</span>
15901        </a>
15902    </li>
15903                            
15904    <li data-level="2">
15905        <a
15906            href="https://fera.pl/male-ssaki/klatki-i-kojce/akcesoria-do-rozbudowy-klatki.html"
15907            class="dropdown-list-item"
15908        >
15909            <span>Akcesoria do rozbudowy klatki</span>
15910        </a>
15911    </li>
15912                    </ul>
15913    </li>
15914                            
15915    <li data-level="1" x-data="initMobileSubMenu">
15916        <button
15917            type="button"
15918            class="dropdown-list-item"
15919            aria-controls="category-node-442-mobile-menu-panel"
15920            aria-expanded="false"
15921            x-ref="openSubMenuBtn"
15922            :aria-expanded="isOpen"
15923            :disabled="isOpen"
15924            @click="open"
15925        >
15926            <span>Podłoże do klatek</span>
15927            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
15928        </button>
15929        <ul
15930            id="category-node-442-mobile-menu-panel"
15931            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
15932            x-show="isOpen"
15933            x-transition:enter-start="opacity-0 translate-x-8"
15934            x-transition:enter-end="opacity-100 translate-x-0"
15935            x-transition:leave-start="opacity-100 translate-x-0"
15936            x-transition:leave-end="opacity-0 translate-x-8"
15937            @keydown.escape.stop.prevent="close"
15938        >
15939            <li data-level="2">
15940                <button
15941                    type="button"
15942                    class="dropdown-list-item font-bold justify-normal"
15943                    @click="close"
15944                    x-ref="closeSubMenuBtn"
15945                >
15946                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
15947                    Podłoże do klatek                </button>
15948            </li>
15949            <li>
15950                <a
15951                    href="https://fera.pl/male-ssaki/podloze-do-klatek.html"
15952                    class="dropdown-list-item font-bold"
15953                >
15954                    <span>
15955                        Podłoże do klatek - zobacz wszystko                    </span>
15956                </a>
15957            </li>
15958                            
15959    <li data-level="2">
15960        <a
15961            href="https://fera.pl/male-ssaki/podloze-do-klatek/podklady-i-sciolki-do-klatki.html"
15962            class="dropdown-list-item"
15963        >
15964            <span>Podkłady i ściółki do klatki</span>
15965        </a>
15966    </li>
15967                            
15968    <li data-level="2">
15969        <a
15970            href="https://fera.pl/male-ssaki/podloze-do-klatek/siano.html"
15971            class="dropdown-list-item"
15972        >
15973            <span>Siano</span>
15974        </a>
15975    </li>
15976                    </ul>
15977    </li>
15978                            
15979    <li data-level="1" x-data="initMobileSubMenu">
15980        <button
15981            type="button"
15982            class="dropdown-list-item"
15983            aria-controls="category-node-445-mobile-menu-panel"
15984            aria-expanded="false"
15985            x-ref="openSubMenuBtn"
15986            :aria-expanded="isOpen"
15987            :disabled="isOpen"
15988            @click="open"
15989        >
15990            <span>Higiena i pielęgnacja małych ssaków</span>
15991            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
15992        </button>
15993        <ul
15994            id="category-node-445-mobile-menu-panel"
15995            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
15996            x-show="isOpen"
15997            x-transition:enter-start="opacity-0 translate-x-8"
15998            x-transition:enter-end="opacity-100 translate-x-0"
15999            x-transition:leave-start="opacity-100 translate-x-0"
16000            x-transition:leave-end="opacity-0 translate-x-8"
16001            @keydown.escape.stop.prevent="close"
16002        >
16003            <li data-level="2">
16004                <button
16005                    type="button"
16006                    class="dropdown-list-item font-bold justify-normal"
16007                    @click="close"
16008                    x-ref="closeSubMenuBtn"
16009                >
16010                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
16011                    Higiena i pielęgnacja małych ssaków                </button>
16012            </li>
16013            <li>
16014                <a
16015                    href="https://fera.pl/male-ssaki/higiena-i-pielegnacja-malych-ssakow.html"
16016                    class="dropdown-list-item font-bold"
16017                >
16018                    <span>
16019                        Higiena i pielęgnacja małych ssaków - zobacz wszystko                    </span>
16020                </a>
16021            </li>
16022                            
16023    <li data-level="2">
16024        <a
16025            href="https://fera.pl/male-ssaki/higiena-i-pielegnacja-malych-ssakow/witaminy-dla-malych-ssakow.html"
16026            class="dropdown-list-item"
16027        >
16028            <span>Witaminy dla małych ssaków</span>
16029        </a>
16030    </li>
16031                            
16032    <li data-level="2">
16033        <a
16034            href="https://fera.pl/male-ssaki/higiena-i-pielegnacja-malych-ssakow/usuwanie-plam-i-zapachow-malych-ssakow.html"
16035            class="dropdown-list-item"
16036        >
16037            <span>Usuwanie plam i zapachów małych ssaków</span>
16038        </a>
16039    </li>
16040                            
16041    <li data-level="2">
16042        <a
16043            href="https://fera.pl/male-ssaki/higiena-i-pielegnacja-malych-ssakow/usuwanie-siersci-malych-ssakow.html"
16044            class="dropdown-list-item"
16045        >
16046            <span>Usuwanie sierści małych ssaków</span>
16047        </a>
16048    </li>
16049                    </ul>
16050    </li>
16051                            
16052    <li data-level="1" x-data="initMobileSubMenu">
16053        <button
16054            type="button"
16055            class="dropdown-list-item"
16056            aria-controls="category-node-449-mobile-menu-panel"
16057            aria-expanded="false"
16058            x-ref="openSubMenuBtn"
16059            :aria-expanded="isOpen"
16060            :disabled="isOpen"
16061            @click="open"
16062        >
16063            <span>Grooming i uroda dla małych ssaków</span>
16064            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
16065        </button>
16066        <ul
16067            id="category-node-449-mobile-menu-panel"
16068            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
16069            x-show="isOpen"
16070            x-transition:enter-start="opacity-0 translate-x-8"
16071            x-transition:enter-end="opacity-100 translate-x-0"
16072            x-transition:leave-start="opacity-100 translate-x-0"
16073            x-transition:leave-end="opacity-0 translate-x-8"
16074            @keydown.escape.stop.prevent="close"
16075        >
16076            <li data-level="2">
16077                <button
16078                    type="button"
16079                    class="dropdown-list-item font-bold justify-normal"
16080                    @click="close"
16081                    x-ref="closeSubMenuBtn"
16082                >
16083                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
16084                    Grooming i uroda dla małych ssaków                </button>
16085            </li>
16086            <li>
16087                <a
16088                    href="https://fera.pl/male-ssaki/grooming-i-uroda-dla-malych-ssakow.html"
16089                    class="dropdown-list-item font-bold"
16090                >
16091                    <span>
16092                        Grooming i uroda dla małych ssaków - zobacz wszystko                    </span>
16093                </a>
16094            </li>
16095                            
16096    <li data-level="2">
16097        <a
16098            href="https://fera.pl/male-ssaki/grooming-i-uroda-dla-malych-ssakow/piasek-dla-szynszyli.html"
16099            class="dropdown-list-item"
16100        >
16101            <span>Piasek dla szynszyli</span>
16102        </a>
16103    </li>
16104                            
16105    <li data-level="2">
16106        <a
16107            href="https://fera.pl/male-ssaki/grooming-i-uroda-dla-malych-ssakow/szczotki-i-grzebienie-dla-malych-ssakow.html"
16108            class="dropdown-list-item"
16109        >
16110            <span>Szczotki i grzebienie dla małych ssaków</span>
16111        </a>
16112    </li>
16113                            
16114    <li data-level="2">
16115        <a
16116            href="https://fera.pl/male-ssaki/grooming-i-uroda-dla-malych-ssakow/szampony-i-odzywki-dla-malych-ssakow.html"
16117            class="dropdown-list-item"
16118        >
16119            <span>Szampony i odżywki dla małych ssaków</span>
16120        </a>
16121    </li>
16122                            
16123    <li data-level="2">
16124        <a
16125            href="https://fera.pl/male-ssaki/grooming-i-uroda-dla-malych-ssakow/pielegnacja-pazurow-malych-ssakow.html"
16126            class="dropdown-list-item"
16127        >
16128            <span>Pielęgnacja pazurów małych ssaków</span>
16129        </a>
16130    </li>
16131                    </ul>
16132    </li>
16133                            
16134    <li data-level="1" x-data="initMobileSubMenu">
16135        <button
16136            type="button"
16137            class="dropdown-list-item"
16138            aria-controls="category-node-454-mobile-menu-panel"
16139            aria-expanded="false"
16140            x-ref="openSubMenuBtn"
16141            :aria-expanded="isOpen"
16142            :disabled="isOpen"
16143            @click="open"
16144        >
16145            <span>Zabawki dla małych ssaków</span>
16146            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
16147        </button>
16148        <ul
16149            id="category-node-454-mobile-menu-panel"
16150            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
16151            x-show="isOpen"
16152            x-transition:enter-start="opacity-0 translate-x-8"
16153            x-transition:enter-end="opacity-100 translate-x-0"
16154            x-transition:leave-start="opacity-100 translate-x-0"
16155            x-transition:leave-end="opacity-0 translate-x-8"
16156            @keydown.escape.stop.prevent="close"
16157        >
16158            <li data-level="2">
16159                <button
16160                    type="button"
16161                    class="dropdown-list-item font-bold justify-normal"
16162                    @click="close"
16163                    x-ref="closeSubMenuBtn"
16164                >
16165                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
16166                    Zabawki dla małych ssaków                </button>
16167            </li>
16168            <li>
16169                <a
16170                    href="https://fera.pl/male-ssaki/zabawki-dla-malych-ssakow.html"
16171                    class="dropdown-list-item font-bold"
16172                >
16173                    <span>
16174                        Zabawki dla małych ssaków - zobacz wszystko                    </span>
16175                </a>
16176            </li>
16177                            
16178    <li data-level="2">
16179        <a
16180            href="https://fera.pl/male-ssaki/zabawki-dla-malych-ssakow/kolowrotek-dla-chomika.html"
16181            class="dropdown-list-item"
16182        >
16183            <span>Kołowrotek dla chomika</span>
16184        </a>
16185    </li>
16186                            
16187    <li data-level="2">
16188        <a
16189            href="https://fera.pl/male-ssaki/zabawki-dla-malych-ssakow/kryjowki-dla-malych-ssakow.html"
16190            class="dropdown-list-item"
16191        >
16192            <span>Kryjówki dla małych ssaków</span>
16193        </a>
16194    </li>
16195                            
16196    <li data-level="2">
16197        <a
16198            href="https://fera.pl/male-ssaki/zabawki-dla-malych-ssakow/gryzaki-dla-malych-ssakow.html"
16199            class="dropdown-list-item"
16200        >
16201            <span>Gryzaki dla małych ssaków</span>
16202        </a>
16203    </li>
16204                            
16205    <li data-level="2">
16206        <a
16207            href="https://fera.pl/male-ssaki/zabawki-dla-malych-ssakow/legowiska-i-hamaki-dla-malych-ssakow.html"
16208            class="dropdown-list-item"
16209        >
16210            <span>Legowiska i hamaki dla małych ssaków</span>
16211        </a>
16212    </li>
16213                            
16214    <li data-level="2">
16215        <a
16216            href="https://fera.pl/male-ssaki/zabawki-dla-malych-ssakow/tunele-dla-malych-ssakow.html"
16217            class="dropdown-list-item"
16218        >
16219            <span>Tunele dla małych ssaków</span>
16220        </a>
16221    </li>
16222                            
16223    <li data-level="2">
16224        <a
16225            href="https://fera.pl/male-ssaki/zabawki-dla-malych-ssakow/place-zabaw-dla-chomikow.html"
16226            class="dropdown-list-item"
16227        >
16228            <span>Place zabaw dla chomików</span>
16229        </a>
16230    </li>
16231                    </ul>
16232    </li>
16233                            
16234    <li data-level="1" x-data="initMobileSubMenu">
16235        <button
16236            type="button"
16237            class="dropdown-list-item"
16238            aria-controls="category-node-461-mobile-menu-panel"
16239            aria-expanded="false"
16240            x-ref="openSubMenuBtn"
16241            :aria-expanded="isOpen"
16242            :disabled="isOpen"
16243            @click="open"
16244        >
16245            <span>Transportówki i akcesoria</span>
16246            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
16247        </button>
16248        <ul
16249            id="category-node-461-mobile-menu-panel"
16250            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
16251            x-show="isOpen"
16252            x-transition:enter-start="opacity-0 translate-x-8"
16253            x-transition:enter-end="opacity-100 translate-x-0"
16254            x-transition:leave-start="opacity-100 translate-x-0"
16255            x-transition:leave-end="opacity-0 translate-x-8"
16256            @keydown.escape.stop.prevent="close"
16257        >
16258            <li data-level="2">
16259                <button
16260                    type="button"
16261                    class="dropdown-list-item font-bold justify-normal"
16262                    @click="close"
16263                    x-ref="closeSubMenuBtn"
16264                >
16265                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
16266                    Transportówki i akcesoria                </button>
16267            </li>
16268            <li>
16269                <a
16270                    href="https://fera.pl/male-ssaki/transportowki-i-akcesoria.html"
16271                    class="dropdown-list-item font-bold"
16272                >
16273                    <span>
16274                        Transportówki i akcesoria - zobacz wszystko                    </span>
16275                </a>
16276            </li>
16277                            
16278    <li data-level="2">
16279        <a
16280            href="https://fera.pl/male-ssaki/transportowki-i-akcesoria/transportowki-dla-malych-ssakow.html"
16281            class="dropdown-list-item"
16282        >
16283            <span>Transportówki dla małych ssaków</span>
16284        </a>
16285    </li>
16286                            
16287    <li data-level="2">
16288        <a
16289            href="https://fera.pl/male-ssaki/transportowki-i-akcesoria/szelki-i-smycze-dla-malych-ssakow.html"
16290            class="dropdown-list-item"
16291        >
16292            <span>Szelki i smycze dla małych ssaków</span>
16293        </a>
16294    </li>
16295                    </ul>
16296    </li>
16297                            
16298    <li data-level="1" x-data="initMobileSubMenu">
16299        <button
16300            type="button"
16301            class="dropdown-list-item"
16302            aria-controls="category-node-464-mobile-menu-panel"
16303            aria-expanded="false"
16304            x-ref="openSubMenuBtn"
16305            :aria-expanded="isOpen"
16306            :disabled="isOpen"
16307            @click="open"
16308        >
16309            <span>Zdrowie małych ssaków</span>
16310            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
16311        </button>
16312        <ul
16313            id="category-node-464-mobile-menu-panel"
16314            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
16315            x-show="isOpen"
16316            x-transition:enter-start="opacity-0 translate-x-8"
16317            x-transition:enter-end="opacity-100 translate-x-0"
16318            x-transition:leave-start="opacity-100 translate-x-0"
16319            x-transition:leave-end="opacity-0 translate-x-8"
16320            @keydown.escape.stop.prevent="close"
16321        >
16322            <li data-level="2">
16323                <button
16324                    type="button"
16325                    class="dropdown-list-item font-bold justify-normal"
16326                    @click="close"
16327                    x-ref="closeSubMenuBtn"
16328                >
16329                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
16330                    Zdrowie małych ssaków                </button>
16331            </li>
16332            <li>
16333                <a
16334                    href="https://fera.pl/male-ssaki/zdrowie-malych-ssakow.html"
16335                    class="dropdown-list-item font-bold"
16336                >
16337                    <span>
16338                        Zdrowie małych ssaków - zobacz wszystko                    </span>
16339                </a>
16340            </li>
16341                            
16342    <li data-level="2">
16343        <a
16344            href="https://fera.pl/male-ssaki/zdrowie-malych-ssakow/medykamenty-dla-malych-ssakow.html"
16345            class="dropdown-list-item"
16346        >
16347            <span>Medykamenty dla małych ssaków</span>
16348        </a>
16349    </li>
16350                    </ul>
16351    </li>
16352                    </ul>
16353    </li>
16354                                    
16355    <li data-level="0" x-data="initMobileSubMenu">
16356        <button
16357            type="button"
16358            class="dropdown-list-item"
16359            aria-controls="category-node-480-mobile-menu-panel"
16360            aria-expanded="false"
16361            x-ref="openSubMenuBtn"
16362            :aria-expanded="isOpen"
16363            :disabled="isOpen"
16364            @click="open"
16365        >
16366            <span>Gady i płazy</span>
16367            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
16368        </button>
16369        <ul
16370            id="category-node-480-mobile-menu-panel"
16371            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
16372            x-show="isOpen"
16373            x-transition:enter-start="opacity-0 translate-x-8"
16374            x-transition:enter-end="opacity-100 translate-x-0"
16375            x-transition:leave-start="opacity-100 translate-x-0"
16376            x-transition:leave-end="opacity-0 translate-x-8"
16377            @keydown.escape.stop.prevent="close"
16378        >
16379            <li data-level="1">
16380                <button
16381                    type="button"
16382                    class="dropdown-list-item font-bold justify-normal"
16383                    @click="close"
16384                    x-ref="closeSubMenuBtn"
16385                >
16386                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
16387                    Gady i płazy                </button>
16388            </li>
16389            <li>
16390                <a
16391                    href="https://fera.pl/gady-i-plazy.html"
16392                    class="dropdown-list-item font-bold"
16393                >
16394                    <span>
16395                        Gady i płazy - zobacz wszystko                    </span>
16396                </a>
16397            </li>
16398                            
16399    <li data-level="1" x-data="initMobileSubMenu">
16400        <button
16401            type="button"
16402            class="dropdown-list-item"
16403            aria-controls="category-node-481-mobile-menu-panel"
16404            aria-expanded="false"
16405            x-ref="openSubMenuBtn"
16406            :aria-expanded="isOpen"
16407            :disabled="isOpen"
16408            @click="open"
16409        >
16410            <span>Karma dla gadów i płazów</span>
16411            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
16412        </button>
16413        <ul
16414            id="category-node-481-mobile-menu-panel"
16415            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
16416            x-show="isOpen"
16417            x-transition:enter-start="opacity-0 translate-x-8"
16418            x-transition:enter-end="opacity-100 translate-x-0"
16419            x-transition:leave-start="opacity-100 translate-x-0"
16420            x-transition:leave-end="opacity-0 translate-x-8"
16421            @keydown.escape.stop.prevent="close"
16422        >
16423            <li data-level="2">
16424                <button
16425                    type="button"
16426                    class="dropdown-list-item font-bold justify-normal"
16427                    @click="close"
16428                    x-ref="closeSubMenuBtn"
16429                >
16430                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
16431                    Karma dla gadów i płazów                </button>
16432            </li>
16433            <li>
16434                <a
16435                    href="https://fera.pl/gady-i-plazy/karma-dla-gadow-i-plazow.html"
16436                    class="dropdown-list-item font-bold"
16437                >
16438                    <span>
16439                        Karma dla gadów i płazów - zobacz wszystko                    </span>
16440                </a>
16441            </li>
16442                            
16443    <li data-level="2">
16444        <a
16445            href="https://fera.pl/gady-i-plazy/karma-dla-gadow-i-plazow/karma-dla-zolwia.html"
16446            class="dropdown-list-item"
16447        >
16448            <span>Karma dla żółwia</span>
16449        </a>
16450    </li>
16451                            
16452    <li data-level="2">
16453        <a
16454            href="https://fera.pl/gady-i-plazy/karma-dla-gadow-i-plazow/karma-dla-krabow.html"
16455            class="dropdown-list-item"
16456        >
16457            <span>Karma dla krabów</span>
16458        </a>
16459    </li>
16460                            
16461    <li data-level="2">
16462        <a
16463            href="https://fera.pl/gady-i-plazy/karma-dla-gadow-i-plazow/karma-dla-kameleona.html"
16464            class="dropdown-list-item"
16465        >
16466            <span>Karma dla kameleona</span>
16467        </a>
16468    </li>
16469                            
16470    <li data-level="2">
16471        <a
16472            href="https://fera.pl/gady-i-plazy/karma-dla-gadow-i-plazow/karma-dla-iguany.html"
16473            class="dropdown-list-item"
16474        >
16475            <span>Karma dla iguany</span>
16476        </a>
16477    </li>
16478                            
16479    <li data-level="2">
16480        <a
16481            href="https://fera.pl/gady-i-plazy/karma-dla-gadow-i-plazow/karma-dla-jaszczurki.html"
16482            class="dropdown-list-item"
16483        >
16484            <span>Karma dla jaszczurki</span>
16485        </a>
16486    </li>
16487                            
16488    <li data-level="2">
16489        <a
16490            href="https://fera.pl/gady-i-plazy/karma-dla-gadow-i-plazow/karma-dla-zolwi-wodnych.html"
16491            class="dropdown-list-item"
16492        >
16493            <span>Karma dla żółwi wodnych</span>
16494        </a>
16495    </li>
16496                            
16497    <li data-level="2">
16498        <a
16499            href="https://fera.pl/gady-i-plazy/karma-dla-gadow-i-plazow/karma-dla-gekona.html"
16500            class="dropdown-list-item"
16501        >
16502            <span>Karma dla gekona</span>
16503        </a>
16504    </li>
16505                            
16506    <li data-level="2">
16507        <a
16508            href="https://fera.pl/gady-i-plazy/karma-dla-gadow-i-plazow/karma-dla-zab.html"
16509            class="dropdown-list-item"
16510        >
16511            <span>Karma dla żab</span>
16512        </a>
16513    </li>
16514                    </ul>
16515    </li>
16516                            
16517    <li data-level="1" x-data="initMobileSubMenu">
16518        <button
16519            type="button"
16520            class="dropdown-list-item"
16521            aria-controls="category-node-490-mobile-menu-panel"
16522            aria-expanded="false"
16523            x-ref="openSubMenuBtn"
16524            :aria-expanded="isOpen"
16525            :disabled="isOpen"
16526            @click="open"
16527        >
16528            <span>Podłoże i akcesoria</span>
16529            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
16530        </button>
16531        <ul
16532            id="category-node-490-mobile-menu-panel"
16533            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
16534            x-show="isOpen"
16535            x-transition:enter-start="opacity-0 translate-x-8"
16536            x-transition:enter-end="opacity-100 translate-x-0"
16537            x-transition:leave-start="opacity-100 translate-x-0"
16538            x-transition:leave-end="opacity-0 translate-x-8"
16539            @keydown.escape.stop.prevent="close"
16540        >
16541            <li data-level="2">
16542                <button
16543                    type="button"
16544                    class="dropdown-list-item font-bold justify-normal"
16545                    @click="close"
16546                    x-ref="closeSubMenuBtn"
16547                >
16548                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
16549                    Podłoże i akcesoria                </button>
16550            </li>
16551            <li>
16552                <a
16553                    href="https://fera.pl/gady-i-plazy/podloze-i-akcesoria.html"
16554                    class="dropdown-list-item font-bold"
16555                >
16556                    <span>
16557                        Podłoże i akcesoria - zobacz wszystko                    </span>
16558                </a>
16559            </li>
16560                            
16561    <li data-level="2">
16562        <a
16563            href="https://fera.pl/gady-i-plazy/podloze-i-akcesoria/podloze-do-terrarium.html"
16564            class="dropdown-list-item"
16565        >
16566            <span>Podłoże do terrarium</span>
16567        </a>
16568    </li>
16569                    </ul>
16570    </li>
16571                            
16572    <li data-level="1" x-data="initMobileSubMenu">
16573        <button
16574            type="button"
16575            class="dropdown-list-item"
16576            aria-controls="category-node-492-mobile-menu-panel"
16577            aria-expanded="false"
16578            x-ref="openSubMenuBtn"
16579            :aria-expanded="isOpen"
16580            :disabled="isOpen"
16581            @click="open"
16582        >
16583            <span>Dekoracje do terrariów</span>
16584            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
16585        </button>
16586        <ul
16587            id="category-node-492-mobile-menu-panel"
16588            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
16589            x-show="isOpen"
16590            x-transition:enter-start="opacity-0 translate-x-8"
16591            x-transition:enter-end="opacity-100 translate-x-0"
16592            x-transition:leave-start="opacity-100 translate-x-0"
16593            x-transition:leave-end="opacity-0 translate-x-8"
16594            @keydown.escape.stop.prevent="close"
16595        >
16596            <li data-level="2">
16597                <button
16598                    type="button"
16599                    class="dropdown-list-item font-bold justify-normal"
16600                    @click="close"
16601                    x-ref="closeSubMenuBtn"
16602                >
16603                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
16604                    Dekoracje do terrariów                </button>
16605            </li>
16606            <li>
16607                <a
16608                    href="https://fera.pl/gady-i-plazy/dekoracje-do-terrariow.html"
16609                    class="dropdown-list-item font-bold"
16610                >
16611                    <span>
16612                        Dekoracje do terrariów - zobacz wszystko                    </span>
16613                </a>
16614            </li>
16615                            
16616    <li data-level="2">
16617        <a
16618            href="https://fera.pl/gady-i-plazy/dekoracje-do-terrariow/dekoracje-do-terrarium.html"
16619            class="dropdown-list-item"
16620        >
16621            <span>Dekoracje do terrarium</span>
16622        </a>
16623    </li>
16624                            
16625    <li data-level="2">
16626        <a
16627            href="https://fera.pl/gady-i-plazy/dekoracje-do-terrariow/ozdoby-do-terrarium.html"
16628            class="dropdown-list-item"
16629        >
16630            <span>Ozdoby do terrarium</span>
16631        </a>
16632    </li>
16633                            
16634    <li data-level="2">
16635        <a
16636            href="https://fera.pl/gady-i-plazy/dekoracje-do-terrariow/kryjowki-dla-gadow-i-plazow.html"
16637            class="dropdown-list-item"
16638        >
16639            <span>Kryjówki dla gadów i płazów</span>
16640        </a>
16641    </li>
16642                    </ul>
16643    </li>
16644                            
16645    <li data-level="1" x-data="initMobileSubMenu">
16646        <button
16647            type="button"
16648            class="dropdown-list-item"
16649            aria-controls="category-node-496-mobile-menu-panel"
16650            aria-expanded="false"
16651            x-ref="openSubMenuBtn"
16652            :aria-expanded="isOpen"
16653            :disabled="isOpen"
16654            @click="open"
16655        >
16656            <span>Akcesoria do karmienia gadów i płazów</span>
16657            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
16658        </button>
16659        <ul
16660            id="category-node-496-mobile-menu-panel"
16661            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
16662            x-show="isOpen"
16663            x-transition:enter-start="opacity-0 translate-x-8"
16664            x-transition:enter-end="opacity-100 translate-x-0"
16665            x-transition:leave-start="opacity-100 translate-x-0"
16666            x-transition:leave-end="opacity-0 translate-x-8"
16667            @keydown.escape.stop.prevent="close"
16668        >
16669            <li data-level="2">
16670                <button
16671                    type="button"
16672                    class="dropdown-list-item font-bold justify-normal"
16673                    @click="close"
16674                    x-ref="closeSubMenuBtn"
16675                >
16676                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
16677                    Akcesoria do karmienia gadów i płazów                </button>
16678            </li>
16679            <li>
16680                <a
16681                    href="https://fera.pl/gady-i-plazy/akcesoria-do-karmienia-gadow-i-plazow.html"
16682                    class="dropdown-list-item font-bold"
16683                >
16684                    <span>
16685                        Akcesoria do karmienia gadów i płazów - zobacz wszystko                    </span>
16686                </a>
16687            </li>
16688                            
16689    <li data-level="2">
16690        <a
16691            href="https://fera.pl/gady-i-plazy/akcesoria-do-karmienia-gadow-i-plazow/karmniki-i-pesety-dla-gadow-i-plazow.html"
16692            class="dropdown-list-item"
16693        >
16694            <span>Karmniki i pęsety dla gadów i płazów</span>
16695        </a>
16696    </li>
16697                    </ul>
16698    </li>
16699                            
16700    <li data-level="1" x-data="initMobileSubMenu">
16701        <button
16702            type="button"
16703            class="dropdown-list-item"
16704            aria-controls="category-node-498-mobile-menu-panel"
16705            aria-expanded="false"
16706            x-ref="openSubMenuBtn"
16707            :aria-expanded="isOpen"
16708            :disabled="isOpen"
16709            @click="open"
16710        >
16711            <span>Zdrowie i uroda gadów i płazów</span>
16712            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
16713        </button>
16714        <ul
16715            id="category-node-498-mobile-menu-panel"
16716            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
16717            x-show="isOpen"
16718            x-transition:enter-start="opacity-0 translate-x-8"
16719            x-transition:enter-end="opacity-100 translate-x-0"
16720            x-transition:leave-start="opacity-100 translate-x-0"
16721            x-transition:leave-end="opacity-0 translate-x-8"
16722            @keydown.escape.stop.prevent="close"
16723        >
16724            <li data-level="2">
16725                <button
16726                    type="button"
16727                    class="dropdown-list-item font-bold justify-normal"
16728                    @click="close"
16729                    x-ref="closeSubMenuBtn"
16730                >
16731                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
16732                    Zdrowie i uroda gadów i płazów                </button>
16733            </li>
16734            <li>
16735                <a
16736                    href="https://fera.pl/gady-i-plazy/zdrowie-i-uroda-gadow-i-plazow.html"
16737                    class="dropdown-list-item font-bold"
16738                >
16739                    <span>
16740                        Zdrowie i uroda gadów i płazów - zobacz wszystko                    </span>
16741                </a>
16742            </li>
16743                            
16744    <li data-level="2">
16745        <a
16746            href="https://fera.pl/gady-i-plazy/zdrowie-i-uroda-gadow-i-plazow/odzywki-i-witaminy-dla-gadow-i-plazow.html"
16747            class="dropdown-list-item"
16748        >
16749            <span>Odżywki i witaminy dla gadów i płazów</span>
16750        </a>
16751    </li>
16752                    </ul>
16753    </li>
16754                            
16755    <li data-level="1" x-data="initMobileSubMenu">
16756        <button
16757            type="button"
16758            class="dropdown-list-item"
16759            aria-controls="category-node-500-mobile-menu-panel"
16760            aria-expanded="false"
16761            x-ref="openSubMenuBtn"
16762            :aria-expanded="isOpen"
16763            :disabled="isOpen"
16764            @click="open"
16765        >
16766            <span>Terraria i akcesoria</span>
16767            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
16768        </button>
16769        <ul
16770            id="category-node-500-mobile-menu-panel"
16771            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
16772            x-show="isOpen"
16773            x-transition:enter-start="opacity-0 translate-x-8"
16774            x-transition:enter-end="opacity-100 translate-x-0"
16775            x-transition:leave-start="opacity-100 translate-x-0"
16776            x-transition:leave-end="opacity-0 translate-x-8"
16777            @keydown.escape.stop.prevent="close"
16778        >
16779            <li data-level="2">
16780                <button
16781                    type="button"
16782                    class="dropdown-list-item font-bold justify-normal"
16783                    @click="close"
16784                    x-ref="closeSubMenuBtn"
16785                >
16786                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
16787                    Terraria i akcesoria                </button>
16788            </li>
16789            <li>
16790                <a
16791                    href="https://fera.pl/gady-i-plazy/terraria-i-akcesoria.html"
16792                    class="dropdown-list-item font-bold"
16793                >
16794                    <span>
16795                        Terraria i akcesoria - zobacz wszystko                    </span>
16796                </a>
16797            </li>
16798                            
16799    <li data-level="2">
16800        <a
16801            href="https://fera.pl/gady-i-plazy/terraria-i-akcesoria/terraria.html"
16802            class="dropdown-list-item"
16803        >
16804            <span>Terraria</span>
16805        </a>
16806    </li>
16807                            
16808    <li data-level="2">
16809        <a
16810            href="https://fera.pl/gady-i-plazy/terraria-i-akcesoria/klatki-plastikowe.html"
16811            class="dropdown-list-item"
16812        >
16813            <span>Klatki plastikowe</span>
16814        </a>
16815    </li>
16816                            
16817    <li data-level="2">
16818        <a
16819            href="https://fera.pl/gady-i-plazy/terraria-i-akcesoria/tlo-do-terrarium.html"
16820            class="dropdown-list-item"
16821        >
16822            <span>Tło do terrarium</span>
16823        </a>
16824    </li>
16825                            
16826    <li data-level="2">
16827        <a
16828            href="https://fera.pl/gady-i-plazy/terraria-i-akcesoria/filtry-do-terrarium.html"
16829            class="dropdown-list-item"
16830        >
16831            <span>Filtry do terrarium</span>
16832        </a>
16833    </li>
16834                            
16835    <li data-level="2">
16836        <a
16837            href="https://fera.pl/gady-i-plazy/terraria-i-akcesoria/akcesoria-do-terrarium.html"
16838            class="dropdown-list-item"
16839        >
16840            <span>Akcesoria do terrarium</span>
16841        </a>
16842    </li>
16843                    </ul>
16844    </li>
16845                            
16846    <li data-level="1" x-data="initMobileSubMenu">
16847        <button
16848            type="button"
16849            class="dropdown-list-item"
16850            aria-controls="category-node-506-mobile-menu-panel"
16851            aria-expanded="false"
16852            x-ref="openSubMenuBtn"
16853            :aria-expanded="isOpen"
16854            :disabled="isOpen"
16855            @click="open"
16856        >
16857            <span>Czyszczenie i utrzymanie</span>
16858            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
16859        </button>
16860        <ul
16861            id="category-node-506-mobile-menu-panel"
16862            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
16863            x-show="isOpen"
16864            x-transition:enter-start="opacity-0 translate-x-8"
16865            x-transition:enter-end="opacity-100 translate-x-0"
16866            x-transition:leave-start="opacity-100 translate-x-0"
16867            x-transition:leave-end="opacity-0 translate-x-8"
16868            @keydown.escape.stop.prevent="close"
16869        >
16870            <li data-level="2">
16871                <button
16872                    type="button"
16873                    class="dropdown-list-item font-bold justify-normal"
16874                    @click="close"
16875                    x-ref="closeSubMenuBtn"
16876                >
16877                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
16878                    Czyszczenie i utrzymanie                </button>
16879            </li>
16880            <li>
16881                <a
16882                    href="https://fera.pl/gady-i-plazy/czyszczenie-i-utrzymanie.html"
16883                    class="dropdown-list-item font-bold"
16884                >
16885                    <span>
16886                        Czyszczenie i utrzymanie - zobacz wszystko                    </span>
16887                </a>
16888            </li>
16889                            
16890    <li data-level="2">
16891        <a
16892            href="https://fera.pl/gady-i-plazy/czyszczenie-i-utrzymanie/utrzymanie-czystosci-w-terrarium.html"
16893            class="dropdown-list-item"
16894        >
16895            <span>Utrzymanie czystości w terrarium</span>
16896        </a>
16897    </li>
16898                            
16899    <li data-level="2">
16900        <a
16901            href="https://fera.pl/gady-i-plazy/czyszczenie-i-utrzymanie/utrzymanie-temperatury-w-terrarium.html"
16902            class="dropdown-list-item"
16903        >
16904            <span>Utrzymanie temperatury w terrarium</span>
16905        </a>
16906    </li>
16907                            
16908    <li data-level="2">
16909        <a
16910            href="https://fera.pl/gady-i-plazy/czyszczenie-i-utrzymanie/utrzymanie-nawilzenia-w-terrarium.html"
16911            class="dropdown-list-item"
16912        >
16913            <span>Utrzymanie nawilżenia w terrarium</span>
16914        </a>
16915    </li>
16916                    </ul>
16917    </li>
16918                            
16919    <li data-level="1" x-data="initMobileSubMenu">
16920        <button
16921            type="button"
16922            class="dropdown-list-item"
16923            aria-controls="category-node-510-mobile-menu-panel"
16924            aria-expanded="false"
16925            x-ref="openSubMenuBtn"
16926            :aria-expanded="isOpen"
16927            :disabled="isOpen"
16928            @click="open"
16929        >
16930            <span>Ogrzewanie i oświetlenie</span>
16931            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
16932        </button>
16933        <ul
16934            id="category-node-510-mobile-menu-panel"
16935            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
16936            x-show="isOpen"
16937            x-transition:enter-start="opacity-0 translate-x-8"
16938            x-transition:enter-end="opacity-100 translate-x-0"
16939            x-transition:leave-start="opacity-100 translate-x-0"
16940            x-transition:leave-end="opacity-0 translate-x-8"
16941            @keydown.escape.stop.prevent="close"
16942        >
16943            <li data-level="2">
16944                <button
16945                    type="button"
16946                    class="dropdown-list-item font-bold justify-normal"
16947                    @click="close"
16948                    x-ref="closeSubMenuBtn"
16949                >
16950                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
16951                    Ogrzewanie i oświetlenie                </button>
16952            </li>
16953            <li>
16954                <a
16955                    href="https://fera.pl/gady-i-plazy/ogrzewanie-i-oswietlenie.html"
16956                    class="dropdown-list-item font-bold"
16957                >
16958                    <span>
16959                        Ogrzewanie i oświetlenie - zobacz wszystko                    </span>
16960                </a>
16961            </li>
16962                            
16963    <li data-level="2">
16964        <a
16965            href="https://fera.pl/gady-i-plazy/ogrzewanie-i-oswietlenie/grzalki-do-terrarium.html"
16966            class="dropdown-list-item"
16967        >
16968            <span>Grzałki do terrarium</span>
16969        </a>
16970    </li>
16971                            
16972    <li data-level="2">
16973        <a
16974            href="https://fera.pl/gady-i-plazy/ogrzewanie-i-oswietlenie/zarowki-do-terrarium.html"
16975            class="dropdown-list-item"
16976        >
16977            <span>Żarówki do terrarium</span>
16978        </a>
16979    </li>
16980                            
16981    <li data-level="2">
16982        <a
16983            href="https://fera.pl/gady-i-plazy/ogrzewanie-i-oswietlenie/oswietlenie-terrarium.html"
16984            class="dropdown-list-item"
16985        >
16986            <span>Oświetlenie terrarium</span>
16987        </a>
16988    </li>
16989                    </ul>
16990    </li>
16991                    </ul>
16992    </li>
16993                                    
16994    <li data-level="0" x-data="initMobileSubMenu">
16995        <button
16996            type="button"
16997            class="dropdown-list-item"
16998            aria-controls="category-node-514-mobile-menu-panel"
16999            aria-expanded="false"
17000            x-ref="openSubMenuBtn"
17001            :aria-expanded="isOpen"
17002            :disabled="isOpen"
17003            @click="open"
17004        >
17005            <span>Dom</span>
17006            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
17007        </button>
17008        <ul
17009            id="category-node-514-mobile-menu-panel"
17010            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
17011            x-show="isOpen"
17012            x-transition:enter-start="opacity-0 translate-x-8"
17013            x-transition:enter-end="opacity-100 translate-x-0"
17014            x-transition:leave-start="opacity-100 translate-x-0"
17015            x-transition:leave-end="opacity-0 translate-x-8"
17016            @keydown.escape.stop.prevent="close"
17017        >
17018            <li data-level="1">
17019                <button
17020                    type="button"
17021                    class="dropdown-list-item font-bold justify-normal"
17022                    @click="close"
17023                    x-ref="closeSubMenuBtn"
17024                >
17025                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
17026                    Dom                </button>
17027            </li>
17028            <li>
17029                <a
17030                    href="https://fera.pl/dom.html"
17031                    class="dropdown-list-item font-bold"
17032                >
17033                    <span>
17034                        Dom - zobacz wszystko                    </span>
17035                </a>
17036            </li>
17037                            
17038    <li data-level="1">
17039        <a
17040            href="https://fera.pl/dom/detergenty-i-maseczki.html"
17041            class="dropdown-list-item"
17042        >
17043            <span>Detergenty i maseczki</span>
17044        </a>
17045    </li>
17046                            
17047    <li data-level="1">
17048        <a
17049            href="https://fera.pl/dom/kosze-i-pojemniki.html"
17050            class="dropdown-list-item"
17051        >
17052            <span>Kosze i pojemniki</span>
17053        </a>
17054    </li>
17055                            
17056    <li data-level="1">
17057        <a
17058            href="https://fera.pl/dom/skrzynie-do-warsztatu.html"
17059            class="dropdown-list-item"
17060        >
17061            <span>Skrzynie do warsztatu</span>
17062        </a>
17063    </li>
17064                            
17065    <li data-level="1">
17066        <a
17067            href="https://fera.pl/dom/pozostale-dla-domu.html"
17068            class="dropdown-list-item"
17069        >
17070            <span>Pozostałe dla domu</span>
17071        </a>
17072    </li>
17073                            
17074    <li data-level="1" x-data="initMobileSubMenu">
17075        <button
17076            type="button"
17077            class="dropdown-list-item"
17078            aria-controls="category-node-519-mobile-menu-panel"
17079            aria-expanded="false"
17080            x-ref="openSubMenuBtn"
17081            :aria-expanded="isOpen"
17082            :disabled="isOpen"
17083            @click="open"
17084        >
17085            <span>Akcesoria ogrodnicze</span>
17086            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-right-solid"/></svg>
17087        </button>
17088        <ul
17089            id="category-node-519-mobile-menu-panel"
17090            class="z-10 flex flex-col gap-1.5 absolute inset-0 bg-white overflow-y-auto overscroll-y-contain transition duration-300"
17091            x-show="isOpen"
17092            x-transition:enter-start="opacity-0 translate-x-8"
17093            x-transition:enter-end="opacity-100 translate-x-0"
17094            x-transition:leave-start="opacity-100 translate-x-0"
17095            x-transition:leave-end="opacity-0 translate-x-8"
17096            @keydown.escape.stop.prevent="close"
17097        >
17098            <li data-level="2">
17099                <button
17100                    type="button"
17101                    class="dropdown-list-item font-bold justify-normal"
17102                    @click="close"
17103                    x-ref="closeSubMenuBtn"
17104                >
17105                    <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" aria-hidden="true"><use href="#tk-icon-chevron-left-solid"/></svg>
17106                    Akcesoria ogrodnicze                </button>
17107            </li>
17108            <li>
17109                <a
17110                    href="https://fera.pl/dom/akcesoria-ogrodnicze.html"
17111                    class="dropdown-list-item font-bold"
17112                >
17113                    <span>
17114                        Akcesoria ogrodnicze - zobacz wszystko                    </span>
17115                </a>
17116            </li>
17117                            
17118    <li data-level="2">
17119        <a
17120            href="https://fera.pl/dom/akcesoria-ogrodnicze/kosiarki.html"
17121            class="dropdown-list-item"
17122        >
17123            <span>Kosiarki</span>
17124        </a>
17125    </li>
17126                            
17127    <li data-level="2">
17128        <a
17129            href="https://fera.pl/dom/akcesoria-ogrodnicze/siewniki-do-traw.html"
17130            class="dropdown-list-item"
17131        >
17132            <span>Siewniki do traw</span>
17133        </a>
17134    </li>
17135                            
17136    <li data-level="2">
17137        <a
17138            href="https://fera.pl/dom/akcesoria-ogrodnicze/zraszacze-ogrodowe.html"
17139            class="dropdown-list-item"
17140        >
17141            <span>Zraszacze ogrodowe</span>
17142        </a>
17143    </li>
17144                            
17145    <li data-level="2">
17146        <a
17147            href="https://fera.pl/dom/akcesoria-ogrodnicze/weze-ogrodowe.html"
17148            class="dropdown-list-item"
17149        >
17150            <span>Węże ogrodowe</span>
17151        </a>
17152    </li>
17153                            
17154    <li data-level="2">
17155        <a
17156            href="https://fera.pl/dom/akcesoria-ogrodnicze/wozki-i-bebny-na-weze-ogrodowe.html"
17157            class="dropdown-list-item"
17158        >
17159            <span>Wózki i bębny na węże ogrodowe</span>
17160        </a>
17161    </li>
17162                            
17163    <li data-level="2">
17164        <a
17165            href="https://fera.pl/dom/akcesoria-ogrodnicze/narzedzia-ogrodnicze.html"
17166            class="dropdown-list-item"
17167        >
17168            <span>Narzędzia ogrodnicze</span>
17169        </a>
17170    </li>
17171                    </ul>
17172    </li>
17173                            
17174    <li data-level="1">
17175        <a
17176            href="https://fera.pl/dom/ochrona-przed-komarami.html"
17177            class="dropdown-list-item"
17178        >
17179            <span>Ochrona przed komarami</span>
17180        </a>
17181    </li>
17182                            
17183    <li data-level="1">
17184        <a
17185            href="https://fera.pl/dom/ochrona-przed-szkodnikami.html"
17186            class="dropdown-list-item"
17187        >
17188            <span>Ochrona przed szkodnikami</span>
17189        </a>
17190    </li>
17191                    </ul>
17192    </li>
17193                                            </ul>
17194            
17195    <ul class="flex flex-col gap-1.5">
17196                                <li
17197                data-level="0"
17198                class=""
17199                x-data="initMobileSubMenu"
17200            >
17201                                    
17202<a href="https://fera.pl/promocje/promocja-megaokazje.html"
17203   class="dropdown-list-item "
17204            data-menu="menu-224"
17205        >
17206    <span>
17207        Promocje    </span>
17208</a>
17209                            </li>
17210                                <li
17211                data-level="0"
17212                class=""
17213                x-data="initMobileSubMenu"
17214            >
17215                                    <a href="https://fera.pl/inspiracje.html"
17216   class="dropdown-list-item "
17217            data-menu="menu-44"
17218    >
17219    <span>
17220        Inspiracje    </span>
17221</a>
17222
17223                            </li>
17224                                <li
17225                data-level="0"
17226                class=""
17227                x-data="initMobileSubMenu"
17228            >
17229                                    
17230<a href="https://fera.pl/blog"
17231   class="dropdown-list-item "
17232            data-menu="menu-43"
17233        >
17234    <span>
17235        Blog    </span>
17236</a>
17237                            </li>
17238            </ul>
17239        </nav>
17240    </div>
17241    <ul class="nav items flex flex-col gap-4">
17242<li class="nav item">
17243    <a href="https://fera.pl/install-fera-app/" target="_blank" class="btn btn-primary">
17244                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" width="20" height="20" aria-hidden="true">
17245  <path fill-rule="evenodd" d="M3 4a1 1 0 011-1h3a1 1 0 011 1v3a1 1 0 01-1 1H4a1 1 0 01-1-1V4zm2 2V5h1v1H5zM3 13a1 1 0 011-1h3a1 1 0 011 1v3a1 1 0 01-1 1H4a1 1 0 01-1-1v-3zm2 2v-1h1v1H5zM13 3a1 1 0 00-1 1v3a1 1 0 001 1h3a1 1 0 001-1V4a1 1 0 00-1-1h-3zm1 2v1h1V5h-1z" clip-rule="evenodd"/>
17246  <path d="M11 4a1 1 0 10-2 0v1a1 1 0 002 0V4zM10 7a1 1 0 011 1v1h2a1 1 0 110 2h-3a1 1 0 01-1-1V8a1 1 0 011-1zM16 9a1 1 0 100 2 1 1 0 000-2zM9 13a1 1 0 011-1h1a1 1 0 110 2v2a1 1 0 11-2 0v-3zM7 11a1 1 0 100-2H4a1 1 0 100 2h3zM17 13a1 1 0 01-1 1h-2a1 1 0 110-2h2a1 1 0 011 1zM16 17a1 1 0 100-2h-3a1 1 0 100 2h3z"/>
17247</svg>
17248                Pobierz aplikację    </a>
17249</li>
17250</ul></dialog>
17251    <!-- BLOCK authentication-popup -->
17251<script>
17252    function initAuthentication() {
17253        return {
17254            open: false,
17255            close() {
17256                this.open = false;
17257            },
17258            forceAuthentication: false,
17259            checkoutUrl: 'https://fera.pl/checkout/index/',
17260            errors: 0,
17261            hasCaptchaToken: 0,
17262            displayErrorMessage: false,
17263            errorMessages: [],
17264            setErrorMessages(message) {
17265                this.errorMessages = [message];
17266                this.displayErrorMessage = true;
17267            },
17268            submitForm() {
17269                // Do not rename $form, the variable is expected to be declared in the recaptcha output
17270                const $form = document.querySelector('#login-form');
17271                
17272                if (this.errors === 0) {
17273                    this.dispatchLoginRequest($form);
17274                }
17275            },
17276            onPrivateContentLoaded() {
17277                const data = this.$event.detail.data;
17278                const isLoggedIn = data.customer && data.customer.firstname;
17279                if (data.cart && !isLoggedIn) {
17280                    this.forceAuthentication = !data.cart.isGuestCheckoutAllowed;
17281                }
17282            },
17283            redirectIfAuthenticated() {
17284                const event = this.$event;
17285                this.open = this.forceAuthentication;
17286
17287                if (event.detail && event.detail.url) {
17288                    this.checkoutUrl = event.detail.url;
17289                }
17290                if (!this.forceAuthentication) {
17291                    window.location.href = this.checkoutUrl;
17292                }
17293            },
17294            resetErrors() {
17295                this.errors = 0;
17296            },
17297            dispatchLoginRequest(form) {
17298                this.isLoading = true;
17299                const username = this.$refs['customer-email'].value;
17300                const password = this.$refs['customer-password'].value;
17301                const formKey = hyva.getFormKey();
17302                const bodyFields = {
17303                    'username': username,
17304                    'password': password,
17305                    'formKey': formKey
17306                };
17307                                const fieldName = 'g\u002Drecaptcha\u002Dresponse';
17308                const recaptchaField = fieldName && form[fieldName];
17309                if (recaptchaField) {
17310                    bodyFields[fieldName] = recaptchaField.value;
17311                }
17312                fetch('https://fera.pl/customer/ajax/login/', {
17313                        method: 'POST',
17314                        headers: {
17315                            'Content-Type': 'application/json',
17316                            'X-Requested-With': 'XMLHttpRequest'
17317                        },
17318                        body: JSON.stringify(bodyFields)
17319                    }
17320                ).then(response => {
17321                        return response.json()
17322                    }
17323                ).then(data => {
17324                    this.isLoading = false;
17325                    if (data.errors) {
17326                        this.setErrorMessages(data.message);
17327                        this.errors = 1;
17328                        this.hasCaptchaToken = 0;
17329                    } else {
17330                        window.location.href = this.checkoutUrl;
17331                    }
17332                });
17333            }
17334        }
17335    }
17336
17337    window.addEventListener('alpine:init', () => Alpine.data('initAuthentication', initAuthentication), {once: true})
17338</script>
17338
17339<section id="authentication-popup"
17340         x-data="initAuthentication"
17341         @private-content-loaded.window="onPrivateContentLoaded"
17342         @toggle-authentication.window="redirectIfAuthenticated"
17343         @keydown.window.escape="close"
17344>
17345    <div
17346        class="backdrop"
17347        aria-hidden="true"
17348        x-cloak
17349        x-show="open"
17350        x-transition:enter="ease-in-out duration-500"
17351        x-transition:enter-start="opacity-0"
17352        x-transition:enter-end="opacity-100"
17353        x-transition:leave="ease-in-out duration-500"
17354        x-transition:leave-start="opacity-100"
17355        x-transition:leave-end="opacity-0"
17356        @click="close"
17357    ></div>
17358    <div role="dialog"
17359         aria-modal="true"
17360         @click.outside="close"
17361         class="inset-y-0 right-0 z-30 flex max-w-full fixed"
17362         x-cloak
17363         x-show="open"
17364    >
17365        <div class="relative w-screen max-w-md pt-16 bg-container-lighter"
17366             x-show="open"
17367             x-cloak
17368             x-transition:enter="transform transition ease-in-out duration-500 sm:duration-700"
17369             x-transition:enter-start="translate-x-full"
17370             x-transition:enter-end="translate-x-0"
17371             x-transition:leave="transform transition ease-in-out duration-500 sm:duration-700"
17372             x-transition:leave-start="translate-x-0"
17373             x-transition:leave-end="translate-x-full"
17374        >
17375            <div
17376                x-show="open"
17377                x-cloak
17378                x-transition:enter="ease-in-out duration-500"
17379                x-transition:enter-start="opacity-0"
17380                x-transition:enter-end="opacity-100"
17381                x-transition:leave="ease-in-out duration-500"
17382                x-transition:leave-start="opacity-100"
17383                x-transition:leave-end="opacity-0" class="absolute top-0 right-2 flex p-2 mt-2">
17384                <button
17385                    type="button"
17386                    @click="close"
17387                    aria-label="Zamknij&#x20;panel"
17388                    class="p-2 text-gray-300 transition duration-150 ease-in-out hover:text-black"
17389                >
17390                    <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" width="24" height="24" aria-hidden="true">
17391  <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"/>
17392</svg>
17393                </button>
17394            </div>
17395            <template x-if="open">
17396                <div class="flex flex-col h-full py-6 space-y-6 bg-white shadow-xl overflow-y-auto">
17397                    <div class="mx-4">
17398                        <div class="message error mb-0" x-show="errors" x-cloak>
17399                            <template x-for="(message, index) in errorMessages" :key="index">
17400                                <div>
17401                                    <template x-if="message">
17402                                        <span x-html="message"></span>
17403                                    </template>
17404                                </div>
17405                            </template>
17406                        </div>
17407                    </div>
17408                    <div class="block-customer-login bg-container border border-container mx-4 p-4 shadow-sm">
17409                        <p id="authenticate-customer-login" class="text-lg leading-7 text-gray-900">
17410                            <strong class="font-medium">Kontynuuj Podsumowanie używając swojego konta</strong>
17411                        </p>
17412
17413                        <form class="form form-login"
17414                              method="post"
17415                              @submit.prevent="submitForm"
17416                              id="login-form"
17417                        >
17418                                                        <div class="fieldset login">
17419                                <div class="field email required">
17420                                    <label class="label" for="form-login-username" form="login-form" >
17421                                        <span>Adres e-mail</span>
17422                                    </label>
17423                                    <div class="control">
17424                                        <input name="username"
17425                                               id="form-login-username"
17426                                               x-ref="customer-email"
17427                                               @change="resetErrors"
17428                                               type="email"
17429                                               required
17430                                               autocomplete="off"
17431                                               class="form-input"
17432                                        >
17433                                    </div>
17434                                </div>
17435                                <div class="field password required">
17436                                    <label for="form-login-password" class="label" form="login-form">
17437                                        <span>Hasło</span>
17438                                    </label>
17439                                    <div class="control">
17440                                        <input name="password"
17441                                               id="form-login-password"
17442                                               type="password"
17443                                               class="form-input"
17444                                               required
17445                                               x-ref="customer-password"
17446                                               autocomplete="off"
17447                                               @change="resetErrors"
17448                                        >
17449                                    </div>
17450                                </div>
17451
17452                                <input name="context" type="hidden" value="checkout">
17453                                <div class="actions-toolbar pt-6 pb-2">
17454                                    <button type="submit"                                            class="inline-flex btn btn-primary disabled:opacity-75"
17455                                    >
17456                                        Zaloguj się                                    </button>
17457                                    <a href="https://fera.pl/customer/account/forgotpassword/"
17458                                    >
17459                                        Nie pamiętasz hasła?                                    </a>
17460                                </div>
17461
17462                            </div>
17463                        </form>
17464                    </div>
17465                    <div class="mx-4">
17466                                            </div>
17467                    <div class="block-new-customer bg-container border border-container mx-4 p-4 shadow-sm">
17468                        <p id="authenticate-new-customer" class="text-lg mb-2 leading-7 text-gray-900">
17469                            <strong class="font-medium">Kontynuuj Podsumowanie jako nowy klient</strong>
17470                        </p>
17471
17472                        <div class="block-content">
17473                            <p class="mb-1">
17474                                Stworzenie konta ma wiele korzyści:                            </p>
17475                            <ul class="list-disc pl-5">
17476                                <li> Zobacz zamówienie i stan wysyłki</li>
17477                                <li> Śledzenie historii zamówień</li>
17478                                <li> Zamawiaj szybciej</li>
17479                            </ul>
17480                            <div class="actions-toolbar mt-6 mb-2">
17481                                <a href="https://fera.pl/customer/account/create/"
17482                                   class="inline-flex btn btn-primary">
17483                                    Utwórz konto                                </a>
17484                            </div>
17485                        </div>
17486                    </div>
17487                </div>
17488            </template>
17489        </div>
17490    </div>
17491</section>
17492<!-- /BLOCK authentication-popup --></div>
17493</header><main id="maincontent" class="page-main-full-width"><div id="contentarea" tabindex="-1"></div>
17494<div class="page messages">
17494<script>
17495        window.defaultSuccessMessageTimeout = 5000;
17496        function initMessages() {
17497        return {
17498            messages: [],
17499            init() {
17500                if (window.mageMessages && window.mageMessages.length) {
17501                    this.addMessages(window.mageMessages);
17502                }
17503            },
17504            isEmpty() {
17505                return this.messages.reduce(
17506                    function (isEmpty, message) {
17507                        return isEmpty && message === undefined
17508                    }, true
17509                )
17510            },
17511            hasMessages() {
17512                return !this.isEmpty();
17513            },
17514            hasMessage() {
17515                return !!this.message;
17516            },
17517            removeMessage() {
17518                this.messages[this.index] = undefined;
17519            },
17520            addMessages(messages, hideAfter) {
17521                messages.map((message) => {
17522                    const isDuplicate = this.messages.some(
17523                        m => m && m.text === message.text && m.type === message.type
17524                    );
17525
17526                    if (isDuplicate) {
17527                        return;
17528                    }
17529
17530                    this.messages = this.messages.concat(message);
17531                    if (hideAfter === undefined && window.defaultSuccessMessageTimeout) {
17532                        hideAfter = window.defaultSuccessMessageTimeout;
17533                    }
17534                    if (hideAfter) {
17535                        this.setHideTimeOut(this.messages.length -1, hideAfter);
17536                    }
17537                });
17538            },
17539            setHideTimeOut(messageIndex, hideAfter) {
17540                setTimeout((messageIndex) => {
17541                    this.messages[messageIndex] = undefined;
17542                }, hideAfter, messageIndex);
17543            },
17544            getIcon() {
17545                switch (this.message.type) {
17546                    case 'success':
17547                        return "<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" 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\"\/>\n<title>check-circle<\/title><\/svg>\n";
17548                    case 'error':
17549                    case 'warning':
17550                        return "<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" 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\"\/>\n<title>exclamation<\/title><\/svg>\n";
17551                    default:
17552                        return "<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" 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\"\/>\n<title>information-circle<\/title><\/svg>\n";
17553                }
17554            },
17555            getTitle() {
17556                switch (this.message.type) {
17557                    case 'success':
17558                        return 'Zakończono pomyślnie'
17559                    case 'error':
17560                        return 'Błąd'
17561                    case 'warning':
17562                        return 'Ostrzeżenie'
17563                    case 'notice':
17564                        return 'Notice'
17565                    case 'info':
17566                        return 'Info'
17567                    default:
17568                        return ''
17569                }
17570            },
17571            getMessageStyle() {
17572                switch (this.message.type) {
17573                    case 'success':
17574                        return '[--message-lighter:theme(colors.green.50)] [--message:theme(colors.green.100)] [--message-darker:theme(colors.green.500)]'
17575                    case 'error':
17576                        return '[--message-lighter:theme(colors.red.50)] [--message:theme(colors.red.100)] [--message-darker:theme(colors.red.600)]'
17577                    case 'warning':
17578                        return '[--message-lighter:theme(colors.yellow.50)] [--message:theme(colors.yellow.100)] [--message-darker:theme(colors.yellow.500)]'
17579                    case 'notice':
17580                    case 'info':
17581                        return '[--message-lighter:theme(colors.blue.50)] [--message:theme(colors.blue.100)] [--message-darker:theme(colors.blue.500)]'
17582                    default:
17583                        return '[--message-lighter:theme(colors.white)] [--message:theme(colors.brandTertiary.100)] [--message-darker:theme(colors.brandTertiary.300)]'
17584                }
17585            },
17586            getMessageUiId() {
17587                return 'message-' + this.message.type;
17588            },
17589            eventListeners: {
17590                ['@messages-loaded.window'](event) {
17591                    this.addMessages(event.detail.messages, event.detail.hideAfter)
17592                },
17593                ['@private-content-loaded.window'](event) {
17594                    const data = event.detail.data;
17595                    if (
17596                        data.messages &&
17597                        data.messages.messages &&
17598                        data.messages.messages.length
17599                    ) {
17600                        this.addMessages(data.messages.messages);
17601                    }
17602                },
17603                ['@clear-messages.window']() {
17604                    this.messages = [];
17605                }
17606            }
17607        }
17608    }
17609    window.addEventListener('alpine:init', () => Alpine.data('initMessages', initMessages), {once: true})
17610</script>
17610
17611<section
17612    id="messages"
17613    x-data="initMessages"
17614    x-bind="eventListeners"
17615    aria-live="assertive"
17616    role="alert"
17617>
17618    <template x-if="hasMessages">
17619        <div class="messages container absolute top-3 inset-x-0 flex flex-col
17620            items-end">
17621            <template x-for="(message, index) in messages" :key="index">
17622                <template x-if="hasMessage">
17623                    <div
17624                        class="message max-w-screen-sm justify-start gap-1 bg-[var(--message-lighter)] border border-[var(--message-darker)] text-brandSecondary-900
17625                            items-start"
17626                        :ui-id="getMessageUiId"
17627                        :class="getMessageStyle"
17628                    >
17629                                                <div>
17630                            <div
17631                                x-text="getTitle"
17632                                class="mb-1 font-bold"
17633                            ></div>
17634                            <div x-html="message.text"></div>
17635                        </div>
17636                        <button
17637                            type="button"
17638                            class="-mt-2 -mr-2 ml-auto p-2 rounded-md transition-colors text-[var(--message-darker)] bg-transparent hover:bg-[var(--message)]
17639                                "
17640                            aria-label="Zamknij wiadomość"
17641                            @click.prevent="removeMessage"
17642                        >
17643                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" width="20" height="20" aria-hidden="true">
17644  <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"/>
17645</svg>
17646                        </button>
17647                    </div>
17648                </template>
17649            </template>
17650        </div>
17651    </template>
17652</section>
17653</div>
17654<nav class="container breadcrumbs py-3" aria-label="Breadcrumb">
17655    
17656    <ol class="overflow-x-auto overscroll-x-contain snap text-sm text-slate-700 flex"
17657                    x-data="initBreadcrumbs"
17658            @resize.window.debounce="checkIfIsSticky"
17659            @scroll="checkIfIsSticky"
17660            :class="setMaskOverflowClass"
17661            >
17662                    <li
17663                class="flex items-center whitespace-nowrap"
17664                                                            x-ref="firstItem"
17665                                                >
17666                
17667                
17668                                    <a
17669                        href="https://fera.pl/"
17670                        class="flex items-center gap-1 w-full hover:text-primary hover:underline"
17671                                                    aria-label="Przejd&#x017A;&#x20;na&#x20;stron&#x0119;&#x20;g&#x0142;&#xF3;wn&#x0105;"
17672                                            >
17673                        <span class="text-ellipsis overflow-hidden">Strona główna</span>
17674                    </a>
17675                            </li>
17676                                <li
17677                class="flex items-center whitespace-nowrap"
17678                                                            x-ref="lastItem"
17679                        :class="setIsStickyClasses"
17680                                                >
17681                                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="separator shrink-0 mx-1 text-slate-400 rtl:rotate-180" width="12" height="12" aria-hidden="true">
17682  <path fill-rule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clip-rule="evenodd"/>
17683</svg>
17684                
17685                                    <span
17686                        aria-hidden="true"
17687                        class="separator block ml-2.5 pl-2.5 border-l border-slate-400 h-full"
17688                        x-show="isSticky"
17689                        x-cloak
17690                    ></span>
17691                
17692                                    <span
17693                        class="flex items-center gap-1 w-full"
17694                        aria-current="page"
17695                                                    aria-label="Blog"
17696                                            >
17697                        <span class="text-ellipsis overflow-hidden">Blog</span>
17698                    </span>
17699                            </li>
17700                        </ol>
17701</nav>
17702
17703    
17703<script type="application/ld+json">
17704        { "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{"@type":"ListItem","position":1,"item":{"@id":"https:\/\/fera.pl\/","name":"Strona g\u0142\u00f3wna"}},{"@type":"ListItem","position":2,"item":{"@id":"https:\/\/fera.pl\/blog","name":"Blog"}}] }
17705    </script>
17705
17706
17707<script>
17708    document.addEventListener('alpine:init', () => {
17709        Alpine.data('initBreadcrumbs', () => ({
17710            isSticky: false,
17711            isHidden: false,
17712            init() {
17713                this.checkIfIsSticky();
17714            },
17715            setIsStickyClasses() {
17716                const baseClasses = 'sticky bg-container right-0'
17717                    + ' after:absolute after:inset-y-0 after:left-full after:w-[theme(container.padding)] after:bg-container';
17718                const isStickyClasses = '[&>svg]:hidden pr-[theme(container.padding)] before:absolute before:inset-y-0 before:right-full before:w-8'
17719                    + ' before:bg-gradient-to-l before:from-[theme(backgroundColor.container.DEFAULT)]';
17720
17721                return this.isSticky ? baseClasses + ' ' + isStickyClasses : baseClasses;
17722            },
17723            setMaskOverflowClass() {
17724                return this.isHidden ? 'mask-overflow mask-overflow-start' : '';
17725            },
17726            checkIfIsSticky() {
17727                const breadcrumbsList = this.$root;
17728                const firstItem = this.$refs.firstItem;
17729
17730                this.isSticky = breadcrumbsList.scrollLeft + breadcrumbsList.clientWidth <= breadcrumbsList.scrollWidth - 1;
17731
17732                new IntersectionObserver(([e]) => {
17733                    this.isHidden = e.intersectionRatio < 1;
17734                }, { root: this.$root ,threshold: [0, 1] }).observe(firstItem);
17735            }
17736        }));
17737    });
17738</script>
17738
17739
17740
17741<div class="columns"><div class="column main">
17742                    
17742<script>
17743            /* e.g. hyva theme */
17744            document.addEventListener('DOMContentLoaded', function(){
17745                var items =  document.getElementsByClassName('mfblogunveil');
17746                var el, url;
17747                if (items.length) {
17748                    for (var i=0; i<items.length;i++) {
17749                        el = items[i];
17750                        url = el.getAttribute('data-original');
17751                        if (!url) {
17752                            continue;
17753                        };
17754                        if ('IMG' == el.tagName) {
17755                            el.src = url;
17756                        } else {
17757                            el.style.backgroundImage = "url('" + url  + "')";
17758                        }
17759                    }
17760                }
17761            });
17762        </script>
17762
17763<div class="index-description w-full bg-brandTertiary-100 pt-12 px-8 gap-6 flex flex-col items-center box-border text-center">
17764    <div class="w-full flex flex-col items-center justify-center gap-2 content-stretch">
17765        <div class="text-brandSecondary-900 text-lg font-bold">Blog</div>
17766        <h1 class="text-brandSecondary-900 text-3xl font-extrabold font-heading">
17767            Witamy na naszym blogu        </h1>
17768    </div>
17769            <div class="w-full max-w-[820px]">
17770            <div class="text-brandSecondary-700 text-base font-semibold leading-6">
17771                Znajdziesz tu wszystko o opiece nad zwierzakami. Od porad zdrowotnych po trendy w akcesoriach. Postaramy się pomóc Ci zrozumieć potrzeby czworonoga i dostarczyć inspiracji do zabaw. Dołącz do społeczności miłośników zwierząt!            </div>
17772        </div>
17773    </div>
17774
17775<div class="blog-search-wrapper w-full bg-brandTertiary-100 flex flex-col items-center box-border py-6&#x20;px-8">
17776    <div class="max-w-[820px] w-full relative">
17777        <form class="form blog-search flex items-start w-full" id="blog_search_mini_form"
17778              action="https://fera.pl/blog/search/"
17779              method="get">
17780            <div class="relative flex-1">
17781                <input id="blog_search"
17782                       type="text"
17783                       name="q"
17784                       value=""
17785                       placeholder="Szukaj artykułu..."
17786                       class="w-full pl-6 pr-4 py-4 rounded-l-[18px] border border-stone-200 bg-white text-base font-sans text-brandSecondary-700 focus:outline-none focus:border-brandPrimary-500 shadow-sm box-border"
17787                       maxlength="128" role="combobox"
17788                       aria-haspopup="false"
17789                       aria-autocomplete="both"
17790                       autocomplete="off"
17791                       aria-label="Szukaj">
17792            </div>
17793            <button type="submit"
17794                    class="w-[59px] h-[58px] bg-stone-700 text-white rounded-r-[15px] flex items-center justify-center hover:bg-black transition-colors shrink-0">
17795                <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="24" height="24" role="img">
17796  <path stroke-linecap="round" stroke-linejoin="round" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"/>
17797<title>search</title></svg>
17798            </button>
17799        </form>
17800    </div>
17801</div>
17802
17803<script>
17804    document.addEventListener('DOMContentLoaded', function() {
17805        var form = document.getElementById('blog_search_mini_form');
17806        form.addEventListener('submit', function(event) {
17807            event.preventDefault();
17808            var value = document.getElementById('blog_search').value;
17809            if (value) {
17810                var a = form.action;
17811                window.location = a + ( ('/' != a.charAt(a.length - 1)) ? '/' : '' ) + encodeURI(value) + '/';
17812            }
17813            return false;
17814        });
17815    }); 
17816</script>
17816
17817<div class="container mx-auto px-4 flex flex-col gap-6">
17818
17819    
17820<script>
17821    function categoryTree() {
17822        return {
17823            mobileOpen: false,
17824            currentPath: '',
17825            activeTitle: 'Wszystkie\u0020artyku\u0142y',
17826            clsActive: '!bg-brandPrimary-50 !outline-brandPrimary-500 !text-brandPrimary-800 hover:!bg-brandPrimary-50 hover:!outline-brandPrimary-500 hover:!text-brandPrimary-800 font-bold',
17827            clsInactive: '',
17828
17829            init() {
17830                this.currentPath = this.normalizeUrl(window.location.href);
17831                this.$nextTick(() => {
17832                    this.updateMobileTitle();
17833                });
17834            },
17835            normalizeUrl(url) {
17836                try {
17837                    const urlObj = new URL(url, window.location.origin);
17838                    return urlObj.pathname.replace(/\/+$/, '');
17839                } catch (e) {
17840                    return '';
17841                }
17842            },
17843            isActive(url) {
17844                if (!url) return false;
17845                return this.normalizeUrl(url) === this.currentPath;
17846            },
17847            isParentActive(parentUrl, childUrls = []) {
17848                if (this.isActive(parentUrl)) return true;
17849                if (childUrls && childUrls.length > 0) {
17850                    return childUrls.some(childUrl => this.isActive(childUrl));
17851                }
17852                return false;
17853            },
17854            updateMobileTitle() {
17855                const links = this.$root ? this.$root.querySelectorAll('a[href]') : [];
17856                const activeLink = Array.from(links).find(link => this.isActive(link.href));
17857                if (activeLink && activeLink.innerText) {
17858                    this.activeTitle = activeLink.innerText.replace(/^[-•\s]+/, '');
17859                }
17860            }
17861        }
17862    }
17863</script>
17863
17864
17865<div class="border-b border-slate-100 w-full mb-1.5 relative z-30" x-data="categoryTree()">
17866
17867    <!-- MOBILE VIEW -->
17868    <div class="md:hidden relative pb-4 px-1">
17869        <button @click="mobileOpen = !mobileOpen" @click.outside="mobileOpen = false" type="button"
17870                class="w-full px-3.5 py-2.5 bg-white rounded-md outline outline-1 outline-offset-[-1px] outline-slate-300 inline-flex justify-between items-center gap-2 overflow-hidden hover:bg-gray-50 transition-colors">
17871            <span class="flex-1 text-left text-brandPrimary-900 text-base font-normal font-sans leading-6 truncate"
17872                  x-text="activeTitle">Wszystkie artykuły</span>
17873            <span class="w-5 h-5 text-gray-600 transition-transform duration-200"
17874                  :class="{ 'rotate-180': mobileOpen }"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-5 h-5" width="24" height="24" role="img">
17875  <path stroke-linecap="round" stroke-linejoin="round" d="M19 9l-7 7-7-7"/>
17876<title>chevron-down</title></svg>
17877</span>
17878        </button>
17879
17880        <div x-show="mobileOpen" x-cloak x-transition
17881             class="absolute z-50 left-0 right-0 mt-2 mx-1 bg-white rounded-md shadow-xl border border-slate-100 py-2 max-h-[80vh] overflow-y-auto">
17882                            <a href="https://fera.pl/blog"
17883                   class="block px-4 py-3 text-sm font-sans transition-colors truncate border-l-4"
17884                   :class="isActive('https\u003A\u002F\u002Ffera.pl\u002Fblog') ? 'bg-brandPrimary-50 text-brandPrimary-800 border-brandPrimary-500 font-bold' : 'border-transparent text-slate-700 hover:bg-slate-50'">
17885                    Wszystkie artykuły                </a>
17886                                            <a href="https://fera.pl/blog/pies"
17887                   class="block px-4 py-3 text-sm font-sans transition-colors truncate border-l-4"
17888                   :class="isActive('https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Fpies') ? 'bg-brandPrimary-50 text-brandPrimary-800 border-brandPrimary-500 font-bold' : 'border-transparent text-slate-700 hover:bg-slate-50'">
17889                    Pies                </a>
17890                                                            <a href="https://fera.pl/blog/pies/zachowanie-psa"
17891                           class="block pl-8 pr-4 py-2 text-sm font-sans transition-colors truncate border-l-4"
17892                           :class="isActive('https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Fpies\u002Fzachowanie\u002Dpsa') ? 'bg-brandPrimary-50 text-brandPrimary-800 border-brandPrimary-500 font-bold' : 'border-transparent text-slate-500 hover:text-slate-800'">
17893                            - Zachowanie psa                        </a>
17894                                            <a href="https://fera.pl/blog/pies/zywienie-psow"
17895                           class="block pl-8 pr-4 py-2 text-sm font-sans transition-colors truncate border-l-4"
17896                           :class="isActive('https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Fpies\u002Fzywienie\u002Dpsow') ? 'bg-brandPrimary-50 text-brandPrimary-800 border-brandPrimary-500 font-bold' : 'border-transparent text-slate-500 hover:text-slate-800'">
17897                            - Żywienie psów                        </a>
17898                                            <a href="https://fera.pl/blog/pies/zdrowie-psa-profilaktyka-i-choroby"
17899                           class="block pl-8 pr-4 py-2 text-sm font-sans transition-colors truncate border-l-4"
17900                           :class="isActive('https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Fpies\u002Fzdrowie\u002Dpsa\u002Dprofilaktyka\u002Di\u002Dchoroby') ? 'bg-brandPrimary-50 text-brandPrimary-800 border-brandPrimary-500 font-bold' : 'border-transparent text-slate-500 hover:text-slate-800'">
17901                            - Zdrowie psa - profilaktyka i choroby                        </a>
17902                                            <a href="https://fera.pl/blog/pies/rasy-psow"
17903                           class="block pl-8 pr-4 py-2 text-sm font-sans transition-colors truncate border-l-4"
17904                           :class="isActive('https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Fpies\u002Frasy\u002Dpsow') ? 'bg-brandPrimary-50 text-brandPrimary-800 border-brandPrimary-500 font-bold' : 'border-transparent text-slate-500 hover:text-slate-800'">
17905                            - Rasy psów                        </a>
17906                                            <a href="https://fera.pl/blog/pies/zycie-z-psem"
17907                           class="block pl-8 pr-4 py-2 text-sm font-sans transition-colors truncate border-l-4"
17908                           :class="isActive('https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Fpies\u002Fzycie\u002Dz\u002Dpsem') ? 'bg-brandPrimary-50 text-brandPrimary-800 border-brandPrimary-500 font-bold' : 'border-transparent text-slate-500 hover:text-slate-800'">
17909                            - Życie z psem                        </a>
17910                                                                <a href="https://fera.pl/blog/kot"
17911                   class="block px-4 py-3 text-sm font-sans transition-colors truncate border-l-4"
17912                   :class="isActive('https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Fkot') ? 'bg-brandPrimary-50 text-brandPrimary-800 border-brandPrimary-500 font-bold' : 'border-transparent text-slate-700 hover:bg-slate-50'">
17913                    Kot                </a>
17914                                                            <a href="https://fera.pl/blog/kot/zachowanie-kota"
17915                           class="block pl-8 pr-4 py-2 text-sm font-sans transition-colors truncate border-l-4"
17916                           :class="isActive('https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Fkot\u002Fzachowanie\u002Dkota') ? 'bg-brandPrimary-50 text-brandPrimary-800 border-brandPrimary-500 font-bold' : 'border-transparent text-slate-500 hover:text-slate-800'">
17917                            - Zachowanie kota                        </a>
17918                                            <a href="https://fera.pl/blog/kot/zywienie-kotow"
17919                           class="block pl-8 pr-4 py-2 text-sm font-sans transition-colors truncate border-l-4"
17920                           :class="isActive('https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Fkot\u002Fzywienie\u002Dkotow') ? 'bg-brandPrimary-50 text-brandPrimary-800 border-brandPrimary-500 font-bold' : 'border-transparent text-slate-500 hover:text-slate-800'">
17921                            - Żywienie kotów                        </a>
17922                                            <a href="https://fera.pl/blog/kot/zdrowie-kota-profilaktyka-i-choroby"
17923                           class="block pl-8 pr-4 py-2 text-sm font-sans transition-colors truncate border-l-4"
17924                           :class="isActive('https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Fkot\u002Fzdrowie\u002Dkota\u002Dprofilaktyka\u002Di\u002Dchoroby') ? 'bg-brandPrimary-50 text-brandPrimary-800 border-brandPrimary-500 font-bold' : 'border-transparent text-slate-500 hover:text-slate-800'">
17925                            - Zdrowie kota - profilaktyka i choroby                        </a>
17926                                            <a href="https://fera.pl/blog/kot/rasy-kotow"
17927                           class="block pl-8 pr-4 py-2 text-sm font-sans transition-colors truncate border-l-4"
17928                           :class="isActive('https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Fkot\u002Frasy\u002Dkotow') ? 'bg-brandPrimary-50 text-brandPrimary-800 border-brandPrimary-500 font-bold' : 'border-transparent text-slate-500 hover:text-slate-800'">
17929                            - Rasy kotów                        </a>
17930                                            <a href="https://fera.pl/blog/kot/zycie-z-kotem"
17931                           class="block pl-8 pr-4 py-2 text-sm font-sans transition-colors truncate border-l-4"
17932                           :class="isActive('https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Fkot\u002Fzycie\u002Dz\u002Dkotem') ? 'bg-brandPrimary-50 text-brandPrimary-800 border-brandPrimary-500 font-bold' : 'border-transparent text-slate-500 hover:text-slate-800'">
17933                            - Życie z kotem                        </a>
17934                                                                <a href="https://fera.pl/blog/gryzonie-i-kroliki"
17935                   class="block px-4 py-3 text-sm font-sans transition-colors truncate border-l-4"
17936                   :class="isActive('https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Fgryzonie\u002Di\u002Dkroliki') ? 'bg-brandPrimary-50 text-brandPrimary-800 border-brandPrimary-500 font-bold' : 'border-transparent text-slate-700 hover:bg-slate-50'">
17937                    Gryzonie i króliki                </a>
17938                                                            <a href="https://fera.pl/blog/gryzonie-i-kroliki/zywienie-krolikow-i-gryzoni"
17939                           class="block pl-8 pr-4 py-2 text-sm font-sans transition-colors truncate border-l-4"
17940                           :class="isActive('https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Fgryzonie\u002Di\u002Dkroliki\u002Fzywienie\u002Dkrolikow\u002Di\u002Dgryzoni') ? 'bg-brandPrimary-50 text-brandPrimary-800 border-brandPrimary-500 font-bold' : 'border-transparent text-slate-500 hover:text-slate-800'">
17941                            - Żywienie królików i gryzoni                        </a>
17942                                            <a href="https://fera.pl/blog/gryzonie-i-kroliki/zdrowie-profilaktyka-i-choroby"
17943                           class="block pl-8 pr-4 py-2 text-sm font-sans transition-colors truncate border-l-4"
17944                           :class="isActive('https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Fgryzonie\u002Di\u002Dkroliki\u002Fzdrowie\u002Dprofilaktyka\u002Di\u002Dchoroby') ? 'bg-brandPrimary-50 text-brandPrimary-800 border-brandPrimary-500 font-bold' : 'border-transparent text-slate-500 hover:text-slate-800'">
17945                            - Zdrowie - profilaktyka i choroby                        </a>
17946                                            <a href="https://fera.pl/blog/gryzonie-i-kroliki/encyklopedia-ras"
17947                           class="block pl-8 pr-4 py-2 text-sm font-sans transition-colors truncate border-l-4"
17948                           :class="isActive('https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Fgryzonie\u002Di\u002Dkroliki\u002Fencyklopedia\u002Dras') ? 'bg-brandPrimary-50 text-brandPrimary-800 border-brandPrimary-500 font-bold' : 'border-transparent text-slate-500 hover:text-slate-800'">
17949                            - Encyklopedia ras                        </a>
17950                                            <a href="https://fera.pl/blog/gryzonie-i-kroliki/ciekawostki"
17951                           class="block pl-8 pr-4 py-2 text-sm font-sans transition-colors truncate border-l-4"
17952                           :class="isActive('https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Fgryzonie\u002Di\u002Dkroliki\u002Fciekawostki') ? 'bg-brandPrimary-50 text-brandPrimary-800 border-brandPrimary-500 font-bold' : 'border-transparent text-slate-500 hover:text-slate-800'">
17953                            - Ciekawostki                        </a>
17954                                                                <a href="https://fera.pl/blog/pozostale-zwierzeta"
17955                   class="block px-4 py-3 text-sm font-sans transition-colors truncate border-l-4"
17956                   :class="isActive('https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Fpozostale\u002Dzwierzeta') ? 'bg-brandPrimary-50 text-brandPrimary-800 border-brandPrimary-500 font-bold' : 'border-transparent text-slate-700 hover:bg-slate-50'">
17957                    Pozostałe zwierzęta                </a>
17958                                                            <a href="https://fera.pl/blog/pozostale-zwierzeta/ssaki"
17959                           class="block pl-8 pr-4 py-2 text-sm font-sans transition-colors truncate border-l-4"
17960                           :class="isActive('https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Fpozostale\u002Dzwierzeta\u002Fssaki') ? 'bg-brandPrimary-50 text-brandPrimary-800 border-brandPrimary-500 font-bold' : 'border-transparent text-slate-500 hover:text-slate-800'">
17961                            - Ssaki                        </a>
17962                                            <a href="https://fera.pl/blog/pozostale-zwierzeta/ryby"
17963                           class="block pl-8 pr-4 py-2 text-sm font-sans transition-colors truncate border-l-4"
17964                           :class="isActive('https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Fpozostale\u
17964002Dzwierzeta\u002Fryby') ? 'bg-brandPrimary-50 text-brandPrimary-800 border-brandPrimary-500 font-bold' : 'border-transparent text-slate-500 hover:text-slate-800'">
17965                            - Ryby                        </a>
17966                                            <a href="https://fera.pl/blog/pozostale-zwierzeta/ptaki"
17967                           class="block pl-8 pr-4 py-2 text-sm font-sans transition-colors truncate border-l-4"
17968                           :class="isActive('https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Fpozostale\u002Dzwierzeta\u002Fptaki') ? 'bg-brandPrimary-50 text-brandPrimary-800 border-brandPrimary-500 font-bold' : 'border-transparent text-slate-500 hover:text-slate-800'">
17969                            - Ptaki                        </a>
17970                                            <a href="https://fera.pl/blog/pozostale-zwierzeta/gady-i-plazy"
17971                           class="block pl-8 pr-4 py-2 text-sm font-sans transition-colors truncate border-l-4"
17972                           :class="isActive('https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Fpozostale\u002Dzwierzeta\u002Fgady\u002Di\u002Dplazy') ? 'bg-brandPrimary-50 text-brandPrimary-800 border-brandPrimary-500 font-bold' : 'border-transparent text-slate-500 hover:text-slate-800'">
17973                            - Gady i płazy                        </a>
17974                                                                <a href="https://fera.pl/blog/fera-o-nas"
17975                   class="block px-4 py-3 text-sm font-sans transition-colors truncate border-l-4"
17976                   :class="isActive('https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Ffera\u002Do\u002Dnas') ? 'bg-brandPrimary-50 text-brandPrimary-800 border-brandPrimary-500 font-bold' : 'border-transparent text-slate-700 hover:bg-slate-50'">
17977                    Fera - o nas                </a>
17978                                            <a href="https://fera.pl/blog/aktualnosci"
17979                   class="block px-4 py-3 text-sm font-sans transition-colors truncate border-l-4"
17980                   :class="isActive('https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Faktualnosci') ? 'bg-brandPrimary-50 text-brandPrimary-800 border-brandPrimary-500 font-bold' : 'border-transparent text-slate-700 hover:bg-slate-50'">
17981                    Aktualności                </a>
17982                                    </div>
17983    </div>
17984
17985    <!-- DESKTOP VIEW -->
17986    <nav class="hidden md:flex justify-start items-center gap-3 overflow-x-visible flex-wrap w-full relative z-30">
17987                    
17988            <div class="relative group" x-data="{ open: false }" @mouseenter="open = true" @mouseleave="open = false">
17989
17990                <a href="https://fera.pl/blog"
17991                   class="px-4 py-2 rounded-md text-sm font-medium font-sans leading-5 flex justify-center items-center gap-2.5 whitespace-nowrap outline outline-2 outline-offset-[-2px] transition-all duration-200 bg-white outline-slate-200 text-slate-800 hover:outline-brandPrimary-300 hover:text-brandPrimary-700 hover:bg-slate-50 cursor-pointer max-w-[240px]"
17992                   :class='isParentActive("https\u003A\u002F\u002Ffera.pl\u002Fblog", []) ? clsActive : clsInactive'>
17993
17994                    <span class="truncate">Wszystkie artykuły</span>
17995
17996                                    </a>
17997
17998                            </div>
17999                    
18000            <div class="relative group" x-data="{ open: false }" @mouseenter="open = true" @mouseleave="open = false">
18001
18002                <a href="https://fera.pl/blog/pies"
18003                   class="px-4 py-2 rounded-md text-sm font-medium font-sans leading-5 flex justify-center items-center gap-2.5 whitespace-nowrap outline outline-2 outline-offset-[-2px] transition-all duration-200 bg-white outline-slate-200 text-slate-800 hover:outline-brandPrimary-300 hover:text-brandPrimary-700 hover:bg-slate-50 cursor-pointer max-w-[240px]"
18004                   :class='isParentActive("https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Fpies", ["https:\/\/fera.pl\/blog\/pies\/zycie-z-psem","https:\/\/fera.pl\/blog\/pies\/rasy-psow","https:\/\/fera.pl\/blog\/pies\/zdrowie-psa-profilaktyka-i-choroby","https:\/\/fera.pl\/blog\/pies\/zywienie-psow","https:\/\/fera.pl\/blog\/pies\/zachowanie-psa"]) ? clsActive : clsInactive'>
18005
18006                    <span class="truncate">Pies</span>
18007
18008                                            <span class="w-4 h-4 transition-transform duration-200 opacity-60 group-hover:opacity-100"
18009                              :class="{ 'rotate-180': open }">
18010                             <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-4 h-4" width="24" height="24" role="img">
18011  <path stroke-linecap="round" stroke-linejoin="round" d="M19 9l-7 7-7-7"/>
18012<title>chevron-down</title></svg>
18013                        </span>
18014                                    </a>
18015
18016                                    <div x-show="open" x-cloak
18017                         x-transition:enter="transition ease-out duration-100"
18018                         x-transition:enter-start="opacity-0 translate-y-2"
18019                         x-transition:enter-end="opacity-100 translate-y-0"
18020                         x-transition:leave="transition ease-in duration-75"
18021                         x-transition:leave-start="opacity-100 translate-y-0"
18022                         x-transition:leave-end="opacity-0 translate-y-2"
18023                         class="absolute left-0 top-full mt-1 w-64 bg-white rounded-md shadow-xl border border-slate-200 py-1 z-50 flex flex-col max-h-[60vh] overflow-y-auto">
18024
18025                                                    <a href="https://fera.pl/blog/pies/zachowanie-psa"
18026                               class="block px-4 py-2.5 text-sm transition-colors border-l-4"
18027                               :class="isActive('https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Fpies\u002Fzachowanie\u002Dpsa') ? 'bg-brandPrimary-50 text-brandPrimary-800 border-brandPrimary-500 font-bold' : 'text-slate-700 hover:bg-brandPrimary-50 hover:text-brandPrimary-800 border-transparent'">
18028                                Zachowanie psa                            </a>
18029                                                    <a href="https://fera.pl/blog/pies/zywienie-psow"
18030                               class="block px-4 py-2.5 text-sm transition-colors border-l-4"
18031                               :class="isActive('https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Fpies\u002Fzywienie\u002Dpsow') ? 'bg-brandPrimary-50 text-brandPrimary-800 border-brandPrimary-500 font-bold' : 'text-slate-700 hover:bg-brandPrimary-50 hover:text-brandPrimary-800 border-transparent'">
18032                                Żywienie psów                            </a>
18033                                                    <a href="https://fera.pl/blog/pies/zdrowie-psa-profilaktyka-i-choroby"
18034                               class="block px-4 py-2.5 text-sm transition-colors border-l-4"
18035                               :class="isActive('https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Fpies\u002Fzdrowie\u002Dpsa\u002Dprofilaktyka\u002Di\u002Dchoroby') ? 'bg-brandPrimary-50 text-brandPrimary-800 border-brandPrimary-500 font-bold' : 'text-slate-700 hover:bg-brandPrimary-50 hover:text-brandPrimary-800 border-transparent'">
18036                                Zdrowie psa - profilaktyka i choroby                            </a>
18037                                                    <a href="https://fera.pl/blog/pies/rasy-psow"
18038                               class="block px-4 py-2.5 text-sm transition-colors border-l-4"
18039                               :class="isActive('https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Fpies\u002Frasy\u002Dpsow') ? 'bg-brandPrimary-50 text-brandPrimary-800 border-brandPrimary-500 font-bold' : 'text-slate-700 hover:bg-brandPrimary-50 hover:text-brandPrimary-800 border-transparent'">
18040                                Rasy psów                            </a>
18041                                                    <a href="https://fera.pl/blog/pies/zycie-z-psem"
18042                               class="block px-4 py-2.5 text-sm transition-colors border-l-4"
18043                               :class="isActive('https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Fpies\u002Fzycie\u002Dz\u002Dpsem') ? 'bg-brandPrimary-50 text-brandPrimary-800 border-brandPrimary-500 font-bold' : 'text-slate-700 hover:bg-brandPrimary-50 hover:text-brandPrimary-800 border-transparent'">
18044                                Życie z psem                            </a>
18045                        
18046                    </div>
18047                            </div>
18048                    
18049            <div class="relative group" x-data="{ open: false }" @mouseenter="open = true" @mouseleave="open = false">
18050
18051                <a href="https://fera.pl/blog/kot"
18052                   class="px-4 py-2 rounded-md text-sm font-medium font-sans leading-5 flex justify-center items-center gap-2.5 whitespace-nowrap outline outline-2 outline-offset-[-2px] transition-all duration-200 bg-white outline-slate-200 text-slate-800 hover:outline-brandPrimary-300 hover:text-brandPrimary-700 hover:bg-slate-50 cursor-pointer max-w-[240px]"
18053                   :class='isParentActive("https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Fkot", ["https:\/\/fera.pl\/blog\/kot\/zycie-z-kotem","https:\/\/fera.pl\/blog\/kot\/rasy-kotow","https:\/\/fera.pl\/blog\/kot\/zdrowie-kota-profilaktyka-i-choroby","https:\/\/fera.pl\/blog\/kot\/zywienie-kotow","https:\/\/fera.pl\/blog\/kot\/zachowanie-kota"]) ? clsActive : clsInactive'>
18054
18055                    <span class="truncate">Kot</span>
18056
18057                                            <span class="w-4 h-4 transition-transform duration-200 opacity-60 group-hover:opacity-100"
18058                              :class="{ 'rotate-180': open }">
18059                             <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-4 h-4" width="24" height="24" role="img">
18060  <path stroke-linecap="round" stroke-linejoin="round" d="M19 9l-7 7-7-7"/>
18061<title>chevron-down</title></svg>
18062                        </span>
18063                                    </a>
18064
18065                                    <div x-show="open" x-cloak
18066                         x-transition:enter="transition ease-out duration-100"
18067                         x-transition:enter-start="opacity-0 translate-y-2"
18068                         x-transition:enter-end="opacity-100 translate-y-0"
18069                         x-transition:leave="transition ease-in duration-75"
18070                         x-transition:leave-start="opacity-100 translate-y-0"
18071                         x-transition:leave-end="opacity-0 translate-y-2"
18072                         class="absolute left-0 top-full mt-1 w-64 bg-white rounded-md shadow-xl border border-slate-200 py-1 z-50 flex flex-col max-h-[60vh] overflow-y-auto">
18073
18074                                                    <a href="https://fera.pl/blog/kot/zachowanie-kota"
18075                               class="block px-4 py-2.5 text-sm transition-colors border-l-4"
18076                               :class="isActive('https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Fkot\u002Fzachowanie\u002Dkota') ? 'bg-brandPrimary-50 text-brandPrimary-800 border-brandPrimary-500 font-bold' : 'text-slate-700 hover:bg-brandPrimary-50 hover:text-brandPrimary-800 border-transparent'">
18077                                Zachowanie kota                            </a>
18078                                                    <a href="https://fera.pl/blog/kot/zywienie-kotow"
18079                               class="block px-4 py-2.5 text-sm transition-colors border-l-4"
18080                               :class="isActive('https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Fkot\u002Fzywienie\u002Dkotow') ? 'bg-brandPrimary-50 text-brandPrimary-800 border-brandPrimary-500 font-bold' : 'text-slate-700 hover:bg-brandPrimary-50 hover:text-brandPrimary-800 border-transparent'">
18081                                Żywienie kotów                            </a>
18082                                                    <a href="https://fera.pl/blog/kot/zdrowie-kota-profilaktyka-i-choroby"
18083                               class="block px-4 py-2.5 text-sm transition-colors border-l-4"
18084                               :class="isActive('https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Fkot\u002Fzdrowie\u002Dkota\u002Dprofilaktyka\u002Di\u002Dchoroby') ? 'bg-brandPrimary-50 text-brandPrimary-800 border-brandPrimary-500 font-bold' : 'text-slate-700 hover:bg-brandPrimary-50 hover:text-brandPrimary-800 border-transparent'">
18085                                Zdrowie kota - profilaktyka i choroby                            </a>
18086                                                    <a href="https://fera.pl/blog/kot/rasy-kotow"
18087                               class="block px-4 py-2.5 text-sm transition-colors border-l-4"
18088                               :class="isActive('https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Fkot\u002Frasy\u002Dkotow') ? 'bg-brandPrimary-50 text-brandPrimary-800 border-brandPrimary-500 font-bold' : 'text-slate-700 hover:bg-brandPrimary-50 hover:text-brandPrimary-800 border-transparent'">
18089                                Rasy kotów                            </a>
18090                                                    <a href="https://fera.pl/blog/kot/zycie-z-kotem"
18091                               class="block px-4 py-2.5 text-sm transition-colors border-l-4"
18092                               :class="isActive('https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Fkot\u002Fzycie\u002Dz\u002Dkotem') ? 'bg-brandPrimary-50 text-brandPrimary-800 border-brandPrimary-500 font-bold' : 'text-slate-700 hover:bg-brandPrimary-50 hover:text-brandPrimary-800 border-transparent'">
18093                                Życie z kotem                            </a>
18094                        
18095                    </div>
18096                            </div>
18097                    
18098            <div class="relative group" x-data="{ open: false }" @mouseenter="open = true" @mouseleave="open = false">
18099
18100                <a href="https://fera.pl/blog/gryzonie-i-kroliki"
18101                   class="px-4 py-2 rounded-md text-sm font-medium font-sans leading-5 flex justify-center items-center gap-2.5 whitespace-nowrap outline outline-2 outline-offset-[-2px] transition-all duration-200 bg-white outline-slate-200 text-slate-800 hover:outline-brandPrimary-300 hover:text-brandPrimary-700 hover:bg-slate-50 cursor-pointer max-w-[240px]"
18102                   :class='isParentActive("https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Fgryzonie\u002Di\u002Dkroliki", ["https:\/\/fera.pl\/blog\/gryzonie-i-kroliki\/ciekawostki","https:\/\/fera.pl\/blog\/gryzonie-i-kroliki\/encyklopedia-ras","https:\/\/fera.pl\/blog\/gryzonie-i-kroliki\/zdrowie-profilaktyka-i-choroby","https:\/\/fera.pl\/blog\/gryzonie-i-kroliki\/zywienie-krolikow-i-gryzoni"]) ? clsActive : clsInactive'>
18103
18104                    <span class="truncate">Gryzonie i króliki</span>
18105
18106                                            <span class="w-4 h-4 transition-transform duration-200 opacity-60 group-hover:opacity-100"
18107                              :class="{ 'rotate-180': open }">
18108                             <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-4 h-4" width="24" height="24" role="img">
18109  <path stroke-linecap="round" stroke-linejoin="round" d="M19 9l-7 7-7-7"/>
18110<title>chevron-down</title></svg>
18111                        </span>
18112                                    </a>
18113
18114                                    <div x-show="open" x-cloak
18115                         x-transition:enter="transition ease-out duration-100"
18116                         x-transition:enter-start="opacity-0 translate-y-2"
18117                         x-transition:enter-end="opacity-100 translate-y-0"
18118                         x-transition:leave="transition ease-in duration-75"
18119                         x-transition:leave-start="opacity-100 translate-y-0"
18120                         x-transition:leave-end="opacity-0 translate-y-2"
18121                         class="absolute left-0 top-full mt-1 w-64 bg-white rounded-md shadow-xl border border-slate-200 py-1 z-50 flex flex-col max-h-[60vh] overflow-y-auto">
18122
18123                                                    <a href="https://fera.pl/blog/gryzonie-i-kroliki/zywienie-krolikow-i-gryzoni"
18124                               class="block px-4 py-2.5 text-sm transition-colors border-l-4"
18125                               :class="isActive('https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Fgryzonie\u002Di\u002Dkroliki\u002Fzywienie\u002Dkrolikow\u002Di\u002Dgryzoni') ? 'bg-brandPrimary-50 text-brandPrimary-800 border-brandPrimary-500 font-bold' : 'text-slate-700 hover:bg-brandPrimary-50 hover:text-brandPrimary-800 border-transparent'">
18126                                Żywienie królików i gryzoni                            </a>
18127                                                    <a href="https://fera.pl/blog/gryzonie-i-kroliki/zdrowie-profilaktyka-i-choroby"
18128                               class="block px-4 py-2.5 text-sm transition-colors border-l-4"
18129                               :class="isActive('https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Fgryzonie\u002Di\u002Dkroliki\u002Fzdrowie\u002Dprofilaktyka\u002Di\u002Dchoroby') ? 'bg-brandPrimary-50 text-brandPrimary-800 border-brandPrimary-500 font-bold' : 'text-slate-700 hover:bg-brandPrimary-50 hover:text-brandPrimary-800 border-transparent'">
18130                                Zdrowie - profilaktyka i choroby                            </a>
18131                                                    <a href="https://fera.pl/blog/gryzonie-i-kroliki/encyklopedia-ras"
18132                               class="block px-4 py-2.5 text-sm transition-colors border-l-4"
18133                               :class="isActive('https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Fgryzonie\u002Di\u002Dkroliki\u002Fencyklopedia\u002Dras') ? 'bg-brandPrimary-50 text-brandPrimary-800 border-brandPrimary-500 font-bold' : 'text-slate-700 hover:bg-brandPrimary-50 hover:text-brandPrimary-800 border-transparent'">
18134                                Encyklopedia ras                            </a>
18135                                                    <a href="https://fera.pl/blog/gryzonie-i-kroliki/ciekawostki"
18136                               class="block px-4 py-2.5 text-sm transition-colors border-l-4"
18137                               :class="isActive('https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Fgryzonie\u002Di\u002Dkroliki\u002Fciekawostki') ? 'bg-brandPrimary-50 text-brandPrimary-800 border-brandPrimary-500 font-bold' : 'text-slate-700 hover:bg-brandPrimary-50 hover:text-brandPrimary-800 border-transparent'">
18138                                Ciekawostki                            </a>
18139                        
18140                    </div>
18141                            </div>
18142                    
18143            <div class="relative group" x-data="{ open: false }" @mouseenter="open = true" @mouseleave="open = false">
18144
18145                <a href="https://fera.pl/blog/pozostale-zwierzeta"
18146                   class="px-4 py-2 rounded-md text-sm font-medium font-sans leading-5 flex justify-center items-center gap-2.5 whitespace-nowrap outline outline-2 outline-offset-[-2px] transition-all duration-200 bg-white outline-slate-200 text-slate-800 hover:outline-brandPrimary-300 hover:text-brandPrimary-700 hover:bg-slate-50 cursor-pointer max-w-[240px]"
18147                   :class='isParentActive("https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Fpozostale\u
18147002Dzwierzeta", ["https:\/\/fera.pl\/blog\/pozostale-zwierzeta\/gady-i-plazy","https:\/\/fera.pl\/blog\/pozostale-zwierzeta\/ptaki","https:\/\/fera.pl\/blog\/pozostale-zwierzeta\/ryby","https:\/\/fera.pl\/blog\/pozostale-zwierzeta\/ssaki"]) ? clsActive : clsInactive'>
18148
18149                    <span class="truncate">Pozostałe zwierzęta</span>
18150
18151                                            <span class="w-4 h-4 transition-transform duration-200 opacity-60 group-hover:opacity-100"
18152                              :class="{ 'rotate-180': open }">
18153                             <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-4 h-4" width="24" height="24" role="img">
18154  <path stroke-linecap="round" stroke-linejoin="round" d="M19 9l-7 7-7-7"/>
18155<title>chevron-down</title></svg>
18156                        </span>
18157                                    </a>
18158
18159                                    <div x-show="open" x-cloak
18160                         x-transition:enter="transition ease-out duration-100"
18161                         x-transition:enter-start="opacity-0 translate-y-2"
18162                         x-transition:enter-end="opacity-100 translate-y-0"
18163                         x-transition:leave="transition ease-in duration-75"
18164                         x-transition:leave-start="opacity-100 translate-y-0"
18165                         x-transition:leave-end="opacity-0 translate-y-2"
18166                         class="absolute left-0 top-full mt-1 w-64 bg-white rounded-md shadow-xl border border-slate-200 py-1 z-50 flex flex-col max-h-[60vh] overflow-y-auto">
18167
18168                                                    <a href="https://fera.pl/blog/pozostale-zwierzeta/ssaki"
18169                               class="block px-4 py-2.5 text-sm transition-colors border-l-4"
18170                               :class="isActive('https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Fpozostale\u002Dzwierzeta\u002Fssaki') ? 'bg-brandPrimary-50 text-brandPrimary-800 border-brandPrimary-500 font-bold' : 'text-slate-700 hover:bg-brandPrimary-50 hover:text-brandPrimary-800 border-transparent'">
18171                                Ssaki                            </a>
18172                                                    <a href="https://fera.pl/blog/pozostale-zwierzeta/ryby"
18173                               class="block px-4 py-2.5 text-sm transition-colors border-l-4"
18174                               :class="isActive('https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Fpozostale\u002Dzwierzeta\u002Fryby') ? 'bg-brandPrimary-50 text-brandPrimary-800 border-brandPrimary-500 font-bold' : 'text-slate-700 hover:bg-brandPrimary-50 hover:text-brandPrimary-800 border-transparent'">
18175                                Ryby                            </a>
18176                                                    <a href="https://fera.pl/blog/pozostale-zwierzeta/ptaki"
18177                               class="block px-4 py-2.5 text-sm transition-colors border-l-4"
18178                               :class="isActive('https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Fpozostale\u002Dzwierzeta\u002Fptaki') ? 'bg-brandPrimary-50 text-brandPrimary-800 border-brandPrimary-500 font-bold' : 'text-slate-700 hover:bg-brandPrimary-50 hover:text-brandPrimary-800 border-transparent'">
18179                                Ptaki                            </a>
18180                                                    <a href="https://fera.pl/blog/pozostale-zwierzeta/gady-i-plazy"
18181                               class="block px-4 py-2.5 text-sm transition-colors border-l-4"
18182                               :class="isActive('https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Fpozostale\u002Dzwierzeta\u002Fgady\u002Di\u002Dplazy') ? 'bg-brandPrimary-50 text-brandPrimary-800 border-brandPrimary-500 font-bold' : 'text-slate-700 hover:bg-brandPrimary-50 hover:text-brandPrimary-800 border-transparent'">
18183                                Gady i płazy                            </a>
18184                        
18185                    </div>
18186                            </div>
18187                    
18188            <div class="relative group" x-data="{ open: false }" @mouseenter="open = true" @mouseleave="open = false">
18189
18190                <a href="https://fera.pl/blog/fera-o-nas"
18191                   class="px-4 py-2 rounded-md text-sm font-medium font-sans leading-5 flex justify-center items-center gap-2.5 whitespace-nowrap outline outline-2 outline-offset-[-2px] transition-all duration-200 bg-white outline-slate-200 text-slate-800 hover:outline-brandPrimary-300 hover:text-brandPrimary-700 hover:bg-slate-50 cursor-pointer max-w-[240px]"
18192                   :class='isParentActive("https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Ffera\u002Do\u002Dnas", []) ? clsActive : clsInactive'>
18193
18194                    <span class="truncate">Fera - o nas</span>
18195
18196                                    </a>
18197
18198                            </div>
18199                    
18200            <div class="relative group" x-data="{ open: false }" @mouseenter="open = true" @mouseleave="open = false">
18201
18202                <a href="https://fera.pl/blog/aktualnosci"
18203                   class="px-4 py-2 rounded-md text-sm font-medium font-sans leading-5 flex justify-center items-center gap-2.5 whitespace-nowrap outline outline-2 outline-offset-[-2px] transition-all duration-200 bg-white outline-slate-200 text-slate-800 hover:outline-brandPrimary-300 hover:text-brandPrimary-700 hover:bg-slate-50 cursor-pointer max-w-[240px]"
18204                   :class='isParentActive("https\u003A\u002F\u002Ffera.pl\u002Fblog\u002Faktualnosci", []) ? clsActive : clsInactive'>
18205
18206                    <span class="truncate">Aktualności</span>
18207
18208                                    </a>
18209
18210                            </div>
18211            </nav>
18212</div>
18213    <div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-
182135">
18214                    
18215            <article
18216                    class="flex flex-col bg-white rounded-2xl shadow-lg overflow-hidden group transition-transform hover:-translate-y-1 duration-300">
18217                <a href="https://fera.pl/jamnik-charakter-odmiany-zdrowie-pielegnacja-cena.html"
18218                   class="block relative h-36 w-full overflow-hidden bg-gray-100"
18219                   aria-label="Read&#x20;more&#x20;about&#x20;Jamnik&#x3A;&#x20;odmiany,&#x20;charakter&#x20;i&#x20;cena.&#x20;Co&#x20;warto&#x20;wiedzie&#x0107;&#x20;o&#x20;tej&#x20;rasie&#x3F;&#x20;">
18220                    <img
18221                            class="w-full h-full object-cover transform group-hover:scale-105 transition-transform duration-700"
18222                            src="https://media.fera.pl/blog/cache/329x140/magefan_blog/jamnik_foto_1.jpg"
18223                            alt="Jamnik&#x3A;&#x20;odmiany,&#x20;charakter&#x20;i&#x20;cena.&#x20;Co&#x20;warto&#x20;wiedzie&#x0107;&#x20;o&#x20;tej&#x20;rasie&#x3F;&#x20;"
18224                            loading="lazy"
18225                            width="329"
18226                            height="140"
18227                    />
18228                </a>
18229
18230                <div class="p-3 flex flex-col gap-3 flex-grow">
18231                    <div class="flex flex-col gap-2 flex-grow">
18232                        <div class="flex justify-between items-end">
18233                            <span class="text-brandSecondary-900 text-sm font-bold font-sans leading-5">
18234                                Rasy psów                            </span>
18235                            <span class="text-brandSecondary-600 text-sm font-medium font-sans leading-5 text-right">
18236                                16.09.2026                            </span>
18237                        </div>
18238
18239                        <h3 class="text-brandSecondary-900 text-lg font-bold font-sans leading-7 line-clamp-2 min-h-14">
18240                            <a href="https://fera.pl/jamnik-charakter-odmiany-zdrowie-pielegnacja-cena.html" class="hover:underline">
18241                                Jamnik: odmiany, charakter i cena. Co warto wiedzieć o tej rasie?                             </a>
18242                        </h3>
18243
18244                        <div class="text-brandSecondary-700 text-sm font-normal font-sans leading-5 line-clamp-3">
18245                            Jamnik to niewielki, ale odważny i wytrzymały pies myśliwski, którego trudno pomylić z inną rasą psów. Charakterystyczne krótkie kończyny, wydłużony tułów, opadające uszy i mocna budowa ciała powstały w związku z jego pierwotnym przeznaczeniem – prac...                        </div>
18246                    </div>
18247
18248                    <div class="mt-auto pt-1">
18249                        <a href="https://fera.pl/jamnik-charakter-odmiany-zdrowie-pielegnacja-cena.html"
18250                           class="flex w-full justify-center items-center px-4 py-2 bg-brandTertiary-200 hover:bg-brandSecondary-300 transition-colors rounded-md overflow-hidden group/btn">
18251                            <span class="text-brandTertiary-900 text-sm font-semibold font-sans leading-5">
18252                                Przejdź do artykułu                            </span>
18253                        </a>
18254                    </div>
18255                </div>
18256            </article>
18257                    
18258            <article
18259                    class="flex flex-col bg-white rounded-2xl shadow-lg overflow-hidden group transition-transform hover:-translate-y-1 duration-300">
18260                <a href="https://fera.pl/labrador-retriever-najwazniejsze-informacje-o-rasie.html"
18261                   class="block relative h-36 w-full overflow-hidden bg-gray-100"
18262                   aria-label="Read&#x20;more&#x20;about&#x20;Labrador&#x20;retriever&#x3A;&#x20;charakter,&#x20;cena,&#x20;wygl&#x0105;d,&#x20;zdrowie&#x20;i&#x20;wymagania&#x20;rasy">
18263                    <img
18264                            class="w-full h-full object-cover transform group-hover:scale-105 transition-transform duration-700"
18265                            src="https://media.fera.pl/blog/cache/329x140/magefan_blog/labrador_foto_1.jpg"
18266                            alt="Labrador&#x20;retriever&#x3A;&#x20;charakter,&#x20;cena,&#x20;wygl&#x0105;d,&#x20;zdrowie&#x20;i&#x20;wymagania&#x20;rasy"
18267                            loading="lazy"
18268                            width="329"
18269                            height="140"
18270                    />
18271                </a>
18272
18273                <div class="p-3 flex flex-col gap-3 flex-grow">
18274                    <div class="flex flex-col gap-2 flex-grow">
18275                        <div class="flex justify-between items-end">
18276                            <span class="text-brandSecondary-900 text-sm font-bold font-sans leading-5">
18277                                Rasy psów                            </span>
18278                            <span class="text-brandSecondary-600 text-sm font-medium font-sans leading-5 text-right">
18279                                15.09.2026                            </span>
18280                        </div>
18281
18282                        <h3 class="text-brandSecondary-900 text-lg font-bold font-sans leading-7 line-clamp-2 min-h-14">
18283                            <a href="https://fera.pl/labrador-retriever-najwazniejsze-informacje-o-rasie.html" class="hover:underline">
18284                                Labrador retriever: charakter, cena, wygląd, zdrowie i wymagania rasy                            </a>
18285                        </h3>
18286
18287                        <div class="text-brandSecondary-700 text-sm font-normal font-sans leading-5 line-clamp-3">
18288                            Labrador retriever to przyjazny, inteligentny i energiczny pies, który silnie przywiązuje się do człowieka i zwykle dobrze odnajduje się w aktywnej rodzinie. Ma mocny instynkt aportera, dużą potrzebę ruchu i stymulacji umysłowej, dlatego nie jest ras...                        </div>
18289                    </div>
18290
18291                    <div class="mt-auto pt-1">
18292                        <a href="https://fera.pl/labrador-retriever-najwazniejsze-informacje-o-rasie.html"
18293                           class="flex w-full justify-center items-center px-4 py-2 bg-brandTertiary-200 hover:bg-brandSecondary-300 transition-colors rounded-md overflow-hidden group/btn">
18294                            <span class="text-brandTertiary-900 text-sm font-semibold font-sans leading-5">
18295                                Przejdź do artykułu                            </span>
18296                        </a>
18297                    </div>
18298                </div>
18299            </article>
18300                    
18301            <article
18302                    class="flex flex-col bg-white rounded-2xl shadow-lg overflow-hidden group transition-transform hover:-translate-y-1 duration-300">
18303                <a href="https://fera.pl/usg-kota.html"
18304                   class="block relative h-36 w-full overflow-hidden bg-gray-100"
18305                   aria-label="Read&#x20;more&#x20;about&#x20;USG&#x20;kota&#x3A;&#x20;cena.&#x20;Jak&#x20;wygl&#x0105;da&#x20;badanie&#x20;i&#x20;jak&#x20;przygotowa&#x0107;&#x20;pupila&#x3F;">
18306                    <img
18307                            class="w-full h-full object-cover transform group-hover:scale-105 transition-transform duration-700"
18308                            src="https://media.fera.pl/blog/cache/329x140/magefan_blog/USG_kota.jpg"
18309                            alt="USG&#x20;kota&#x3A;&#x20;cena.&#x20;Jak&#x20;wygl&#x0105;da&#x20;badanie&#x20;i&#x20;jak&#x20;przygotowa&#x0107;&#x20;pupila&#x3F;"
18310                            loading="lazy"
18311                            width="329"
18312                            height="140"
18313                    />
18314                </a>
18315
18316                <div class="p-3 flex flex-col gap-3 flex-grow">
18317                    <div class="flex flex-col gap-2 flex-grow">
18318                        <div class="flex justify-between items-end">
18319                            <span class="text-brandSecondary-900 text-sm font-bold font-sans leading-5">
18320                                Zdrowie kota - profilaktyka i choroby                            </span>
18321                            <span class="text-brandSecondary-600 text-sm font-medium font-sans leading-5 text-right">
18322                                14.09.2026                            </span>
18323                        </div>
18324
18325                        <h3 class="text-brandSecondary-900 text-lg font-bold font-sans leading-7 line-clamp-2 min-h-14">
18326                            <a href="https://fera.pl/usg-kota.html" class="hover:underline">
18327                                USG kota: cena. Jak wygląda badanie i jak przygotować pupila?                            </a>
18328                        </h3>
18329
18330                        <div class="text-brandSecondary-700 text-sm font-normal font-sans leading-5 line-clamp-3">
18331                            USG kota to bezpieczne, nieinwazyjne badanie obrazowe, które pozwala lekarzowi weterynarii ocenić narządy wewnętrzne i wykryć wiele nieprawidłowości niewidocznych podczas zwykłego badania klinicznego. Najczęściej wykonuje się USG jamy brzusznej kota,...                        </div>
18332                    </div>
18333
18334                    <div class="mt-auto pt-1">
18335                        <a href="https://fera.pl/usg-kota.html"
18336                           class="flex w-full justify-center items-center px-4 py-2 bg-brandTertiary-200 hover:bg-brandSecondary-300 transition-colors rounded-md overflow-hidden group/btn">
18337                            <span class="text-brandTertiary-900 text-sm font-semibold font-sans leading-5">
18338                                Przejdź do artykułu                            </span>
18339                        </a>
18340                    </div>
18341                </div>
18342            </article>
18343                    
18344            <article
18345                    class="flex flex-col bg-white rounded-2xl shadow-lg overflow-hidden group transition-transform hover:-translate-y-1 duration-300">
18346                <a href="https://fera.pl/bol-brzucha-u-kota.html"
18347                   class="block relative h-36 w-full overflow-hidden bg-gray-100"
18348                   aria-label="Read&#x20;more&#x20;about&#x20;B&#xF3;l&#x20;brzucha&#x20;u&#x20;kota&#x3A;&#x20;jak&#x20;go&#x20;rozpozna&#x0107;&#x20;i&#x20;co&#x20;zrobi&#x0107;&#x3F;">
18349                    <img
18350                            class="w-full h-full object-cover transform group-hover:scale-105 transition-transform duration-700"
18351                            src="https://media.fera.pl/blog/cache/329x140/magefan_blog/Bol_brzucha_u_kota.jpg"
18352                            alt="B&#xF3;l&#x20;brzucha&#x20;u&#x20;kota&#x3A;&#x20;jak&#x20;go&#x20;rozpozna&#x0107;&#x20;i&#x20;co&#x20;zrobi&#x0107;&#x3F;"
18353                            loading="lazy"
18354                            width="329"
18355                            height="140"
18356                    />
18357                </a>
18358
18359                <div class="p-3 flex flex-col gap-3 flex-grow">
18360                    <div class="flex flex-col gap-2 flex-grow">
18361                        <div class="flex justify-between items-end">
18362                            <span class="text-brandSecondary-900 text-sm font-bold font-sans leading-5">
18363                                Zdrowie kota - profilaktyka i choroby                            </span>
18364                            <span class="text-brandSecondary-600 text-sm font-medium font-sans leading-5 text-right">
18365                                14.09.2026                            </span>
18366                        </div>
18367
18368                        <h3 class="text-brandSecondary-900 text-lg font-bold font-sans leading-7 line-clamp-2 min-h-14">
18369                            <a href="https://fera.pl/bol-brzucha-u-kota.html" class="hover:underline">
18370                                Ból brzucha u kota: jak go rozpoznać i co zrobić?                            </a>
18371                        </h3>
18372
18373                        <div class="text-brandSecondary-700 text-sm font-normal font-sans leading-5 line-clamp-3">
18374                            Ból brzucha u kota może mieć wiele przyczyn – od stosunkowo łagodnych problemów trawiennych i zaparć po niedrożność przewodu pokarmowego, choroby trzustki, układu moczowego czy zatrucie. Rozpoznanie problemu nie zawsze jest łatwe, ponieważ koty częst...                        </div>
18375                    </div>
18376
18377                    <div class="mt-auto pt-1">
18378                        <a href="https://fera.pl/bol-brzucha-u-kota.html"
18379                           class="flex w-full justify-center items-center px-4 py-2 bg-brandTertiary-200 hover:bg-brandSecondary-300 transition-colors rounded-md overflow-hidden group/btn">
18380                            <span class="text-brandTertiary-900 text-sm font-semibold font-sans leading-5">
18381                                Przejdź do artykułu                            </span>
18382                        </a>
18383                    </div>
18384                </div>
18385            </article>
18386                    
18387            <article
18388                    class="flex flex-col bg-white rounded-2xl shadow-lg overflow-hidden group transition-transform hover:-translate-y-1 duration-300">
18389                <a href="https://fera.pl/choroba-cushinga-u-psa-objawy-leczenie-rokowania.html"
18390                   class="block relative h-36 w-full overflow-hidden bg-gray-100"
18391                   aria-label="Read&#x20;more&#x20;about&#x20;Choroba&#x20;Cushinga&#x20;u&#x20;psa&#x3A;&#x20;objawy,&#x20;leczenie&#x20;i&#x20;rokowania">
18392                    <img
18393                            class="w-full h-full object-cover transform group-hover:scale-105 transition-transform duration-700"
18394                            src="https://media.fera.pl/blog/cache/329x140/magefan_blog/choroba_cushinga_u_psa_foto_1.jpg"
18395                            alt="Choroba&#x20;Cushinga&#x20;u&#x20;psa&#x3A;&#x20;objawy,&#x20;leczenie&#x20;i&#x20;rokowania"
18396                            loading="lazy"
18397                            width="329"
18398                            height="140"
18399                    />
18400                </a>
18401
18402                <div class="p-3 flex flex-col gap-3 flex-grow">
18403                    <div class="flex flex-col gap-2 flex-grow">
18404                        <div class="flex justify-between items-end">
18405                            <span class="text-brandSecondary-900 text-sm font-bold font-sans leading-5">
18406                                Zdrowie psa - profilaktyka i choroby                            </span>
18407                            <span class="text-brandSecondary-600 text-sm font-medium font-sans leading-5 text-right">
18408                                14.09.2026                            </span>
18409                        </div>
18410
18411                        <h3 class="text-brandSecondary-900 text-lg font-bold font-sans leading-7 line-clamp-2 min-h-14">
18412                            <a href="https://fera.pl/choroba-cushinga-u-psa-objawy-leczenie-rokowania.html" class="hover:underline">
18413                                Choroba Cushinga u psa: objawy, leczenie i rokowania                            </a>
18414                        </h3>
18415
18416                        <div class="text-brandSecondary-700 text-sm font-normal font-sans leading-5 line-clamp-3">
18417                            Choroba Cushinga u psa to przewlekłe zaburzenie endokrynologiczne związane z długotrwałym nadmiarem kortyzolu lub nadmiernym działaniem glikokortykosteroidów na organizm. Najczęściej rozwija się u psów w średnim i starszym wieku, a pierwszymi zauważa...                        </div>
18418                    </div>
18419
18420                    <div class="mt-auto pt-1">
18421                        <a href="https://fera.pl/choroba-cushinga-u-psa-objawy-leczenie-rokowania.html"
18422                           class="flex w-full justify-center items-center px-4 py-2 bg-brandTertiary-200 hover:bg-brandSecondary-300 transition-colors rounded-md overflow-hidden group/btn">
18423                            <span class="text-brandTertiary-900 text-sm font-semibold font-sans leading-5">
18424                                Przejdź do artykułu                            </span>
18425                        </a>
18426                    </div>
18427                </div>
18428            </article>
18429                    
18430            <article
18431                    class="flex flex-col bg-white rounded-2xl shadow-lg overflow-hidden group transition-transform hover:-translate-y-1 duration-300">
18432                <a href="https://fera.pl/robaki-u-kota-objawy-przyczyny.-kiedy-i-jak-odrobaczyc-kota.html"
18433                   class="block relative h-36 w-full overflow-hidden bg-gray-100"
18434                   aria-label="Read&#x20;more&#x20;about&#x20;Robaki&#x20;u&#x20;kota&#x3A;&#x20;objawy,&#x20;przyczyny.&#x20;Jak&#x20;zapobiega&#x0107;&#x3F;">
18435                    <img
18436                            class="w-full h-full object-cover transform group-hover:scale-105 transition-transform duration-700"
18437                            src="https://media.fera.pl/blog/cache/329x140/magefan_blog/Robaki_u_kota.jpg"
18438                            alt="Robaki&#x20;u&#x20;kota&#x3A;&#x20;objawy,&#x20;przyczyny.&#x20;Jak&#x20;zapobiega&#x0107;&#x3F;"
18439                            loading="lazy"
18440                            width="329"
18441                            height="140"
18442                    />
18443                </a>
18444
18445                <div class="p-3 flex flex-col gap-3 flex-grow">
18446                    <div class="flex flex-col gap-2 flex-grow">
18447                        <div class="flex justify-between items-end">
18448                            <span class="text-brandSecondary-900 text-sm font-bold font-sans leading-5">
18449                                Zdrowie kota - profilaktyka i choroby                            </span>
18450                            <span class="text-brandSecondary-600 text-sm font-medium font-sans leading-5 text-right">
18451                                11.09.2026                            </span>
18452                        </div>
18453
18454                        <h3 class="text-brandSecondary-900 text-lg font-bold font-sans leading-7 line-clamp-2 min-h-14">
18455                            <a href="https://fera.pl/robaki-u-kota-objawy-przyczyny.-kiedy-i-jak-odrobaczyc-kota.html" class="hover:underline">
18456                                Robaki u kota: objawy, przyczyny. Jak zapobiegać?                            </a>
18457                        </h3>
18458
18459                        <div class="text-brandSecondary-700 text-sm font-normal font-sans leading-5 line-clamp-3">
18460                            Robaki u kota, jak potocznie mówi się o pasożytach wewnętrznych, mogą pojawić się zarówno u zwierząt wychodzących, jak i tych, które całe życie spędzają w domu. Koty mające dostęp do przebywania nazewnątrz, a zwłaszcza polujące, są jednak bardziej na...                        </div>
18461                    </div>
18462
18463                    <div class="mt-auto pt-1">
18464                        <a href="https://fera.pl/robaki-u-kota-objawy-przyczyny.-kiedy-i-jak-odrobaczyc-kota.html"
18465                           class="flex w-full justify-center items-center px-4 py-2 bg-brandTertiary-200 hover:bg-brandSecondary-300 transition-colors rounded-md overflow-hidden group/btn">
18466                            <span class="text-brandTertiary-900 text-sm font-semibold font-sans leading-5">
18467                                Przejdź do artykułu                            </span>
18468                        </a>
18469                    </div>
18470                </div>
18471            </article>
18472                    
18473            <article
18474                    class="flex flex-col bg-white rounded-2xl shadow-lg overflow-hidden group transition-transform hover:-translate-y-1 duration-300">
18475                <a href="https://fera.pl/puppy-yoga-chwila-relaksu-ze-szczeniakami.html"
18476                   class="block relative h-36 w-full overflow-hidden bg-gray-100"
18477                   aria-label="Read&#x20;more&#x20;about&#x20;Puppy&#x20;yoga&#x3A;&#x20;na&#x20;czym&#x20;polegaj&#x0105;&#x20;zaj&#x0119;cia&#x20;w&#x20;towarzystwie&#x20;szczeni&#x0105;t&#x3F;">
18478                    <img
18479                            class="w-full h-full object-cover transform group-hover:scale-105 transition-transform duration-700"
18480                            src="https://media.fera.pl/blog/cache/329x140/magefan_blog/Puppy_yoga.jpg"
18481                            alt="Puppy&#x20;yoga&#x3A;&#x20;na&#x20;czym&#x20;polegaj&#x0105;&#x20;zaj&#x0119;cia&#x20;w&#x20;towarzystwie&#x20;szczeni&#x0105;t&#x3F;"
18482                            loading="lazy"
18483                            width="329"
18484                            height="140"
18485                    />
18486                </a>
18487
18488                <div class="p-3 flex flex-col gap-3 flex-grow">
18489                    <div class="flex flex-col gap-2 flex-grow">
18490                        <div class="flex justify-between items-end">
18491                            <span class="text-brandSecondary-900 text-sm font-bold font-sans leading-5">
18492                                Aktualności                            </span>
18493                            <span class="text-brandSecondary-600 text-sm font-medium font-sans leading-5 text-right">
18494                                11.09.2026                            </span>
18495                        </div>
18496
18497                        <h3 class="text-brandSecondary-900 text-lg font-bold font-sans leading-7 line-clamp-2 min-h-14">
18498                            <a href="https://fera.pl/puppy-yoga-chwila-relaksu-ze-szczeniakami.html" class="hover:underline">
18499                                Puppy yoga: na czym polegają zajęcia w towarzystwie szczeniąt?                            </a>
18500                        </h3>
18501
18502                        <div class="text-brandSecondary-700 text-sm font-normal font-sans leading-5 line-clamp-3">
18503                            Puppy yoga, czyli joga w towarzystwie szczeniąt, łączy tradycyjne ćwiczenia na macie ze swobodną obecnością młodych psów. Podczas zajęć uczestnicy wykonują proste asany, ćwiczenia oddechowe i rozciągające, a szczeniaki mogą poruszać się po sali i wch...                        </div>
18504                    </div>
18505
18506                    <div class="mt-auto pt-1">
18507                        <a href="https://fera.pl/puppy-yoga-chwila-relaksu-ze-szczeniakami.html"
18508                           class="flex w-full justify-center items-center px-4 py-2 bg-brandTertiary-200 hover:bg-brandSecondary-300 transition-colors rounded-md overflow-hidden group/btn">
18509                            <span class="text-brandTertiary-900 text-sm font-semibold font-sans leading-5">
18510                                Przejdź do artykułu                            </span>
18511                        </a>
18512                    </div>
18513                </div>
18514            </article>
18515                    
18516            <article
18517                    class="flex flex-col bg-white rounded-2xl shadow-lg overflow-hidden group transition-transform hover:-translate-y-1 duration-300">
18518                <a href="https://fera.pl/biegunka-u-psa-przyczyny-objawy-leczenie.html"
18519                   class="block relative h-36 w-full overflow-hidden bg-gray-100"
18520                   aria-label="Read&#x20;more&#x20;about&#x20;Biegunka&#x20;u&#x20;psa&#x3A;&#x20;sk&#x0105;d&#x20;si&#x0119;&#x20;bierze&#x20;i&#x20;kiedy&#x20;reagowa&#x0107;&#x3F;">
18521                    <img
18522                            class="w-full h-full object-cover transform group-hover:scale-105 transition-transform duration-700"
18523                            src="https://media.fera.pl/blog/cache/329x140/magefan_blog/biegunka_u_psa_foto_1.jpg"
18524                            alt="Biegunka&#x20;u&#x20;psa&#x3A;&#x20;sk&#x0105;d&#x20;si&#x0119;&#x20;bierze&#x20;i&#x20;kiedy&#x20;reagowa&#x0107;&#x3F;"
18525                            loading="lazy"
18526                            width="329"
18527                            height="140"
18528                    />
18529                </a>
18530
18531                <div class="p-3 flex flex-col gap-3 flex-grow">
18532                    <div class="flex flex-col gap-2 flex-grow">
18533                        <div class="flex justify-between items-end">
18534                            <span class="text-brandSecondary-900 text-sm font-bold font-sans leading-5">
18535                                Zdrowie psa - profilaktyka i choroby                            </span>
18536                            <span class="text-brandSecondary-600 text-sm font-medium font-sans leading-5 text-right">
18537                                10.09.2026                            </span>
18538                        </div>
18539
18540                        <h3 class="text-brandSecondary-900 text-lg font-bold font-sans leading-7 line-clamp-2 min-h-14">
18541                            <a href="https://fera.pl/biegunka-u-psa-przyczyny-objawy-leczenie.html" class="hover:underline">
18542                                Biegunka u psa: skąd się bierze i kiedy reagować?                            </a>
18543                        </h3>
18544
18545                        <div class="text-brandSecondary-700 text-sm font-normal font-sans leading-5 line-clamp-3">
18546                            Biegunka u psa oznacza oddawanie luźnego, papkowatego lub wodnistego kału, często częściej niż zwykle. Może pojawić się po zmianie karmy lub zjedzeniu czegoś nieświeżego, ale bywa też objawem zakażenia pasożytami, choroby jelit, zapalenia trzustki cz...                        </div>
18547                    </div>
18548
18549                    <div class="mt-auto pt-1">
18550                        <a href="https://fera.pl/biegunka-u-psa-przyczyny-objawy-leczenie.html"
18551                           class="flex w-full justify-center items-center px-4 py-2 bg-brandTertiary-200 hover:bg-brandSecondary-300 transition-colors rounded-md overflow-hidden group/btn">
18552                            <span class="text-brandTertiary-900 text-sm font-semibold font-sans leading-5">
18553                                Przejdź do artykułu                            </span>
18554                        </a>
18555                    </div>
18556                </div>
18557            </article>
18558                    
18559            <article
18560                    class="flex flex-col bg-white rounded-2xl shadow-lg overflow-hidden group transition-transform hover:-translate-y-1 duration-300">
18561                <a href="https://fera.pl/ile-trwa-ciaza-kota-objawy-porod.html"
18562                   class="block relative h-36 w-full overflow-hidden bg-gray-100"
18563                   aria-label="Read&#x20;more&#x20;about&#x20;Ile&#x20;trwa&#x20;ci&#x0105;&#x017C;a&#x20;kota&#x3F;&#x20;Od&#x20;pierwszych&#x20;objaw&#xF3;w&#x20;do&#x20;porodu">
18564                    <img
18565                            class="w-full h-full object-cover transform group-hover:scale-105 transition-transform duration-700"
18566                            src="https://media.fera.pl/blog/cache/329x140/magefan_blog/magnific_editorial-photograph-of-a_rg4dNr9xtc.jpeg"
18567                            alt="Ile&#x20;trwa&#x20;ci&#x0105;&#x017C;a&#x20;kota&#x3F;&#x20;Od&#x20;pierwszych&#x20;objaw&#xF3;w&#x20;do&#x20;porodu"
18568                            loading="lazy"
18569                            width="329"
18570                            height="140"
18571                    />
18572                </a>
18573
18574                <div class="p-3 flex flex-col gap-3 flex-grow">
18575                    <div class="flex flex-col gap-2 flex-grow">
18576                        <div class="flex justify-between items-end">
18577                            <span class="text-brandSecondary-900 text-sm font-bold font-sans leading-5">
18578                                Zdrowie kota - profilaktyka i choroby                            </span>
18579                            <span class="text-brandSecondary-600 text-sm font-medium font-sans leading-5 text-right">
18580                                09.09.2026                            </span>
18581                        </div>
18582
18583                        <h3 class="text-brandSecondary-900 text-lg font-bold font-sans leading-7 line-clamp-2 min-h-14">
18584                            <a href="https://fera.pl/ile-trwa-ciaza-kota-objawy-porod.html" class="hover:underline">
18585                                Ile trwa ciąża kota? Od pierwszych objawów do porodu                            </a>
18586                        </h3>
18587
18588                        <div class="text-brandSecondary-700 text-sm font-normal font-sans leading-5 line-clamp-3">
18589                            Ciąża kota trwa najczęściej około 63–65 dni, czyli mniej więcej dziewięć tygodni. Dokładny termin porodu może jednak nieznacznie różnić się między poszczególnymi kotkami, dlatego data wyliczona od dnia krycia jest orientacyjna. W czasie kocie
18589j ciąży ...                        </div>
18590                    </div>
18591
18592                    <div class="mt-auto pt-1">
18593                        <a href="https://fera.pl/ile-trwa-ciaza-kota-objawy-porod.html"
18594                           class="flex w-full justify-center items-center px-4 py-2 bg-brandTertiary-200 hover:bg-brandSecondary-300 transition-colors rounded-md overflow-hidden group/btn">
18595                            <span class="text-brandTertiary-900 text-sm font-semibold font-sans leading-5">
18596                                Przejdź do artykułu                            </span>
18597                        </a>
18598                    </div>
18599                </div>
18600            </article>
18601                    
18602            <article
18603                    class="flex flex-col bg-white rounded-2xl shadow-lg overflow-hidden group transition-transform hover:-translate-y-1 duration-300">
18604                <a href="https://fera.pl/wymiana-zebow-u-psa.html"
18605                   class="block relative h-36 w-full overflow-hidden bg-gray-100"
18606                   aria-label="Read&#x20;more&#x20;about&#x20;Wymiana&#x20;z&#x0119;b&#xF3;w&#x20;u&#x20;psa&#x3A;&#x20;kiedy&#x20;wypadaj&#x0105;&#x20;mleczaki&#x20;i&#x20;jakie&#x20;s&#x0105;&#x20;objawy&#x3F;">
18607                    <img
18608                            class="w-full h-full object-cover transform group-hover:scale-105 transition-transform duration-700"
18609                            src="https://media.fera.pl/blog/cache/329x140/magefan_blog/wymiana_z_b_w_u_psa_foto_1.jpg"
18610                            alt="Wymiana&#x20;z&#x0119;b&#xF3;w&#x20;u&#x20;psa&#x3A;&#x20;kiedy&#x20;wypadaj&#x0105;&#x20;mleczaki&#x20;i&#x20;jakie&#x20;s&#x0105;&#x20;objawy&#x3F;"
18611                            loading="lazy"
18612                            width="329"
18613                            height="140"
18614                    />
18615                </a>
18616
18617                <div class="p-3 flex flex-col gap-3 flex-grow">
18618                    <div class="flex flex-col gap-2 flex-grow">
18619                        <div class="flex justify-between items-end">
18620                            <span class="text-brandSecondary-900 text-sm font-bold font-sans leading-5">
18621                                Zdrowie psa - profilaktyka i choroby                            </span>
18622                            <span class="text-brandSecondary-600 text-sm font-medium font-sans leading-5 text-right">
18623                                31.08.2026                            </span>
18624                        </div>
18625
18626                        <h3 class="text-brandSecondary-900 text-lg font-bold font-sans leading-7 line-clamp-2 min-h-14">
18627                            <a href="https://fera.pl/wymiana-zebow-u-psa.html" class="hover:underline">
18628                                Wymiana zębów u psa: kiedy wypadają mleczaki i jakie są objawy?                            </a>
18629                        </h3>
18630
18631                        <div class="text-brandSecondary-700 text-sm font-normal font-sans leading-5 line-clamp-3">
18632                            Wymiana zębów u psa jest całkowicie naturalnym zjawiskiem związanym z rozwojem szczenięcia. Pierwsze zęby mleczne pojawiają się już w pierwszych tygodniach życia, natomiast około 3.–4. miesiąca wypadają, a na ich miejscu stopniowo wyrastają zęby stał...                        </div>
18633                    </div>
18634
18635                    <div class="mt-auto pt-1">
18636                        <a href="https://fera.pl/wymiana-zebow-u-psa.html"
18637                           class="flex w-full justify-center items-center px-4 py-2 bg-brandTertiary-200 hover:bg-brandSecondary-300 transition-colors rounded-md overflow-hidden group/btn">
18638                            <span class="text-brandTertiary-900 text-sm font-semibold font-sans leading-5">
18639                                Przejdź do artykułu                            </span>
18640                        </a>
18641                    </div>
18642                </div>
18643            </article>
18644                    
18645            <article
18646                    class="flex flex-col bg-white rounded-2xl shadow-lg overflow-hidden group transition-transform hover:-translate-y-1 duration-300">
18647                <a href="https://fera.pl/kot-brytyjski-krotkowlosy-charakter-pielegnacja-cena.html"
18648                   class="block relative h-36 w-full overflow-hidden bg-gray-100"
18649                   aria-label="Read&#x20;more&#x20;about&#x20;Kot&#x20;brytyjski&#x20;kr&#xF3;tkow&#x0142;osy&#x3A;&#x20;charakter,&#x20;wygl&#x0105;d,&#x20;zdrowie&#x20;i&#x20;cena">
18650                    <img
18651                            class="w-full h-full object-cover transform group-hover:scale-105 transition-transform duration-700"
18652                            src="https://media.fera.pl/blog/cache/329x140/magefan_blog/kot_brytyjski_foto_1.jpg"
18653                            alt="Kot&#x20;brytyjski&#x20;kr&#xF3;tkow&#x0142;osy&#x3A;&#x20;charakter,&#x20;wygl&#x0105;d,&#x20;zdrowie&#x20;i&#x20;cena"
18654                            loading="lazy"
18655                            width="329"
18656                            height="140"
18657                    />
18658                </a>
18659
18660                <div class="p-3 flex flex-col gap-3 flex-grow">
18661                    <div class="flex flex-col gap-2 flex-grow">
18662                        <div class="flex justify-between items-end">
18663                            <span class="text-brandSecondary-900 text-sm font-bold font-sans leading-5">
18664                                Rasy kotów                            </span>
18665                            <span class="text-brandSecondary-600 text-sm font-medium font-sans leading-5 text-right">
18666                                13.08.2026                            </span>
18667                        </div>
18668
18669                        <h3 class="text-brandSecondary-900 text-lg font-bold font-sans leading-7 line-clamp-2 min-h-14">
18670                            <a href="https://fera.pl/kot-brytyjski-krotkowlosy-charakter-pielegnacja-cena.html" class="hover:underline">
18671                                Kot brytyjski krótkowłosy: charakter, wygląd, zdrowie i cena                            </a>
18672                        </h3>
18673
18674                        <div class="text-brandSecondary-700 text-sm font-normal font-sans leading-5 line-clamp-3">
18675                            Kot brytyjski krótkowłosy (British Shorthair) to średnia lub duża rasa o mocnej, krępej sylwetce, okrągłej głowie, pełnych policzkach i wyjątkowo gęstym, pluszowym futrze. Brytyjczyki są zwykle spokojne, zrównoważone i przywiązane do ludzi, ale zacho...                        </div>
18676                    </div>
18677
18678                    <div class="mt-auto pt-1">
18679                        <a href="https://fera.pl/kot-brytyjski-krotkowlosy-charakter-pielegnacja-cena.html"
18680                           class="flex w-full justify-center items-center px-4 py-2 bg-brandTertiary-200 hover:bg-brandSecondary-300 transition-colors rounded-md overflow-hidden group/btn">
18681                            <span class="text-brandTertiary-900 text-sm font-semibold font-sans leading-5">
18682                                Przejdź do artykułu                            </span>
18683                        </a>
18684                    </div>
18685                </div>
18686            </article>
18687                    
18688            <article
18689                    class="flex flex-col bg-white rounded-2xl shadow-lg overflow-hidden group transition-transform hover:-translate-y-1 duration-300">
18690                <a href="https://fera.pl/co-to-jest-pseudohodowla-po-czym-ja-poznac-i-dlaczego-unikac.html"
18691                   class="block relative h-36 w-full overflow-hidden bg-gray-100"
18692                   aria-label="Read&#x20;more&#x20;about&#x20;Pseudohodowla&#x3A;&#x20;po&#x20;czym&#x20;j&#x0105;&#x20;rozpozna&#x0107;&#x3F;&#x20;Oto&#x20;znaki&#x20;ostrzegawcze">
18693                    <img
18694                            class="w-full h-full object-cover transform group-hover:scale-105 transition-transform duration-700"
18695                            src="https://media.fera.pl/blog/cache/329x140/magefan_blog/pseudohodowla_foto_1.jpg"
18696                            alt="Pseudohodowla&#x3A;&#x20;po&#x20;czym&#x20;j&#x0105;&#x20;rozpozna&#x0107;&#x3F;&#x20;Oto&#x20;znaki&#x20;ostrzegawcze"
18697                            loading="lazy"
18698                            width="329"
18699                            height="140"
18700                    />
18701                </a>
18702
18703                <div class="p-3 flex flex-col gap-3 flex-grow">
18704                    <div class="flex flex-col gap-2 flex-grow">
18705                        <div class="flex justify-between items-end">
18706                            <span class="text-brandSecondary-900 text-sm font-bold font-sans leading-5">
18707                                Życie z psem                            </span>
18708                            <span class="text-brandSecondary-600 text-sm font-medium font-sans leading-5 text-right">
18709                                12.08.2026                            </span>
18710                        </div>
18711
18712                        <h3 class="text-brandSecondary-900 text-lg font-bold font-sans leading-7 line-clamp-2 min-h-14">
18713                            <a href="https://fera.pl/co-to-jest-pseudohodowla-po-czym-ja-poznac-i-dlaczego-unikac.html" class="hover:underline">
18714                                Pseudohodowla: po czym ją rozpoznać? Oto znaki ostrzegawcze                            </a>
18715                        </h3>
18716
18717                        <div class="text-brandSecondary-700 text-sm font-normal font-sans leading-5 line-clamp-3">
18718                            Pseudohodowla to potoczne określenie miejsca lub działalności, w których psy, koty albo inne zwierzęta są rozmnażane przede wszystkim z myślą o sprzedaży i zysku, często kosztem ich zdrowia, dobrostanu i prawidłowego rozwoju. Sam termin „pseudohodowl...                        </div>
18719                    </div>
18720
18721                    <div class="mt-auto pt-1">
18722                        <a href="https://fera.pl/co-to-jest-pseudohodowla-po-czym-ja-poznac-i-dlaczego-unikac.html"
18723                           class="flex w-full justify-center items-center px-4 py-2 bg-brandTertiary-200 hover:bg-brandSecondary-300 transition-colors rounded-md overflow-hidden group/btn">
18724                            <span class="text-brandTertiary-900 text-sm font-semibold font-sans leading-5">
18725                                Przejdź do artykułu                            </span>
18726                        </a>
18727                    </div>
18728                </div>
18729            </article>
18730            </div>
18731
18732    <div class="w-full mt-6">
18733        
18734<!-- Wrapper: Flex Column na mobile (stack), Flex Row na desktop (jedna linia) -->
18735<div class="w-full px-6 py-4 flex flex-col lg:flex-row justify-between items-center gap-4 lg:gap-0 font-sans">
18736
18737    <!-- 1. LEWA STRONA: Info -->
18738    <!-- ZMIANA: Dodano 'hidden' (ukryte na mobile) oraz 'lg:flex' (widoczne na desktop) -->
18739    <!-- Usunięto 'w-auto' i 'justify-center', zostawiono stałe 'lg:w-44' dla zachowania symetrii grida -->
18740    <div class="hidden lg:flex lg:w-44 justify-start text-slate-800 text-sm font-normal leading-5 font-sans">
18741                    Artykuły 1 do 12 z 1239            </div>
18742
18743    <!-- 2. ŚRODEK: Paginacja -->
18744            <div class="flex justify-center items-center gap-1">
18745
18746            <!-- PREV -->
18747            <div class="flex justify-start items-start">
18748                                    <div class="p-2.5 rounded-md flex justify-center items-center gap-1.5 overflow-hidden transition-colors bg-slate-100 text-slate-400 opacity-70 cursor-not-allowed">
18749                <span class="w-6 h-6 relative flex items-center justify-center">
18750                    <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-5 h-5" width="24" height="24" role="img">
18751  <path stroke-linecap="round" stroke-linejoin="round" d="M15 19l-7-7 7-7"/>
18752<title>chevron-left</title></svg>
18753                </span>
18754                    </div>
18755                            </div>
18756
18757            <!-- PAGES -->
18758                            <div class="flex justify-start items-start">
18759                                            <span class="px-5 py-2.5 rounded-md flex justify-center items-center gap-2.5 overflow-hidden text-base font-semibold leading-6 transition-colors font-sans bg-brandSecondary-200 text-brandTertiary-900">
18760                        1                    </span>
18761                                    </div>
18762                            <div class="flex justify-start items-start">
18763                                            <a href="https://fera.pl/blog?page=2"
18764                           class="px-5 py-2.5 rounded-md flex justify-center items-center gap-2.5 overflow-hidden text-base font-semibold leading-6 transition-colors font-sans text-slate-600 hover:bg-slate-50">
18765                            2                        </a>
18766                                    </div>
18767                            <div class="flex justify-start items-start">
18768                                            <a href="https://fera.pl/blog?page=3"
18769                           class="px-5 py-2.5 rounded-md flex justify-center items-center gap-2.5 overflow-hidden text-base font-semibold leading-6 transition-colors font-sans text-slate-600 hover:bg-slate-50">
18770                            3                        </a>
18771                                    </div>
18772                            <div class="flex justify-start items-start">
18773                                            <a href="https://fera.pl/blog?page=4"
18774                           class="px-5 py-2.5 rounded-md flex justify-center items-center gap-2.5 overflow-hidden text-base font-semibold leading-6 transition-colors font-sans text-slate-600 hover:bg-slate-50">
18775                            4                        </a>
18776                                    </div>
18777                            <div class="flex justify-start items-start">
18778                                            <a href="https://fera.pl/blog?page=5"
18779                           class="px-5 py-2.5 rounded-md flex justify-center items-center gap-2.5 overflow-hidden text-base font-semibold leading-6 transition-colors font-sans text-slate-600 hover:bg-slate-50">
18780                            5                        </a>
18781                                    </div>
18782            
18783            <!-- NEXT -->
18784            <div class="flex justify-start items-start">
18785                                    <a href="https://fera.pl/blog?page=2"
18786                       class="p-2.5 rounded-md flex justify-center items-center gap-1.5 overflow-hidden transition-colors text-slate-600 hover:bg-slate-100 cursor-pointer"
18787                       aria-label="Nast&#x0119;pne">
18788               <span class="w-6 h-6 relative flex items-center justify-center">
18789                     <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-5 h-5" width="24" height="24" role="img">
18790  <path stroke-linecap="round" stroke-linejoin="round" d="M9 5l7 7-7 7"/>
18791<title>chevron-right</title></svg>
18792                </span>
18793                    </a>
18794                            </div>
18795
18796        </div>
18797    
18798    <!-- 3. PRAWA STRONA: Limiter -->
18799    <div class="w-auto lg:w-44 flex justify-center lg:justify-end items-center gap-4">
18800            </div>
18801
18802</div>    </div>
18803</div></div></div></main><footer class="page-footer"><div class="footer content">
18804<div
18805    class="bg-brandTertiary-800 bg-no-repeat bg-[position:right_0px_bottom_54px]"
18806    style="background-image: url(https&#x3A;&#x2F;&#x2F;static.fera.pl&#x2F;version1790219430&#x2F;frontend&#x2F;Tooks&#x2F;default&#x2F;pl_PL&#x2F;images&#x2F;fera-icon.svg)"
18807>
18808    <div class="container py-8 mx-auto">
18809        
18810<div
18811    >
18812    <ul class="font-semibold lg:-mb-2 lg:[column-count:3] lg:[column-gap:1rem]"
18813    >
18814                                <li class="mb-10 last:mb-0 lg:break-inside-avoid" aria-label="Zakupy">
18815                                    <div>
18816                        <span class="block font-heading text-2xl font-extraBold mb-4 text-primary">
18817                            Zakupy                        </span>
18818                        
18819<ul class="flex flex-col gap-2 text-sm text-white"
18820    title="Zakupy"
18821>
18822                    <li
18823                    >
18824            <div class="group">
18825                
18826        <a href="/customer/account"
18827                            data-menu="menu-8"
18828                        data-menu="menu-8"    >
18829        Konto Moja Fera    </a>
18830            </div>
18831                    </li>
18832                    <li
18833                    >
18834            <div class="group">
18835                
18836<a href="https://fera.pl/aplikacja-fera"
18837                data-menu="menu-9"
18838    >
18839    Aplikacja Fera</a>
18840            </div>
18841                    </li>
18842    </ul>
18843                    </div>
18844                            </li>
18845                                <li class="mb-10 last:mb-0 lg:break-inside-avoid" aria-label="Sprawdź także">
18846                                    <div>
18847                        <span class="block font-heading text-2xl font-extraBold mb-4 text-primary">
18848                            Sprawdź także                        </span>
18849                        
18850<ul class="flex flex-col gap-2 text-sm text-white"
18851    title="Sprawd&#x017A;&#x20;tak&#x017C;e"
18852>
18853                    <li
18854                    >
18855            <div class="group">
18856                
18857        <a href="/blog"
18858                            data-menu="menu-16"
18859                        data-menu="menu-16"    >
18860        Zajrzyj na Bloga    </a>
18861            </div>
18862                    </li>
18863                    <li
18864                    >
18865            <div class="group">
18866                
18867        <a href="/weterynarz"
18868                            data-menu="menu-17"
18869                        data-menu="menu-17"    >
18870        Znajdź weterynarza    </a>
18871            </div>
18872                    </li>
18873    </ul>
18874                    </div>
18875                            </li>
18876                                <li class="mb-10 last:mb-0 lg:break-inside-avoid" aria-label="Status zamówienia">
18877                                    <div>
18878                        <span class="block font-heading text-2xl font-extraBold mb-4 text-primary">
18879                            Status zamówienia                        </span>
18880                        
18881<ul class="flex flex-col gap-2 text-sm text-white"
18882    title="Status&#x20;zam&#xF3;wienia"
18883>
18884                    <li
18885                    >
18886            <div class="group">
18887                
18888        <a href="/sales/order/history/"
18889                            data-menu="menu-20"
18890                        data-menu="menu-20"    >
18891        Sprawdź przesyłkę    </a>
18892            </div>
18893                    </li>
18894    </ul>
18895                    </div>
18896                            </li>
18897                                <li class="mb-10 last:mb-0 lg:break-inside-avoid" aria-label="Zamówienie">
18898                                    <div>
18899                        <span class="block font-heading text-2xl font-extraBold mb-4 text-primary">
18900                            Zamówienie                        </span>
18901                        
18902<ul class="flex flex-col gap-2 text-sm text-white"
18903    title="Zam&#xF3;wienie"
18904>
18905                    <li
18906                    >
18907            <div class="group">
18908                
18909        <a href="/centrum-pomocy/pomoc-konto-klienta-rejestracja-i-logowanie/"
18910                            data-menu="menu-22"
18911                        data-menu="menu-22"    >
18912        Rejestracja i logowanie    </a>
18913            </div>
18914                    </li>
18915                    <li
18916                    >
18917            <div class="group">
18918                
18919        <a href="/centrum-pomocy/pomoc-platnosci-platnosci-i-sposoby-dostawy/"
18920                            data-menu="menu-23"
18921                        data-menu="menu-23"    >
18922        Platności i sposób dostawy    </a>
18923            </div>
18924                    </li>
18925                    <li
18926                    >
18927            <div class="group">
18928                
18929        <a href="/centrum-pomocy/pomoc-zamowienia-skladanie-i-potwierdzanie-zamowienia/"
18930                            data-menu="menu-24"
18931                        data-menu="menu-24"    >
18932        Składanie i potwierdzanie zamówienia    </a>
18933            </div>
18934                    </li>
18935                    <li
18936                    >
18937            <div class="group">
18938                
18939        <a href="/centrum-pomocy/pomoc-zamowienia-czas-realizacji-zamowienia/"
18940                            data-menu="menu-25"
18941                        data-menu="menu-25"    >
18942        Czas realizacji zamówienia    </a>
18943            </div>
18944                    </li>
18945                    <li
18946                    >
18947            <div class="group">
18948                
18949        <a href="/centrum-pomocy/pomoc-dostawa-stan-pakowania-i-dostawy/"
18950                            data-menu="menu-26"
18951                        data-menu="menu-26"    >
18952        Stan pakowania i dostawy    </a>
18953            </div>
18954                    </li>
18955                    <li
18956                    >
18957            <div class="group">
18958                
18959        <a href="/centrum-pomocy/pomoc-zwroty-i-reklamacje-gwarancja-i-serwis/"
18960                            data-menu="menu-28"
18961                        data-menu="menu-28"    >
18962        Gwarancja i serwis    </a>
18963            </div>
18964                    </li>
18965                    <li
18966                    >
18967            <div class="group">
18968                
18969        <a href="/centrum-pomocy/pomoc-platnosci-faktury-vat/"
18970                            data-menu="menu-29"
18971                        data-menu="menu-29"    >
18972        Faktury VAT    </a>
18973            </div>
18974                    </li>
18975                    <li
18976                    >
18977            <div class="group">
18978                
18979        <a href="/centrum-pomocy/pomoc-platnosci-numer-rachunku-bankowego/"
18980                            data-menu="menu-30"
18981                        data-menu="menu-30"    >
18982        Numer rachunku bankowego    </a>
18983            </div>
18984                    </li>
18985    </ul>
18986                    </div>
18987                            </li>
18988                                <li class="mb-10 last:mb-0 lg:break-inside-avoid" aria-label="Dokumenty i informacje">
18989                                    <div>
18990                        <span class="block font-heading text-2xl font-extraBold mb-4 text-primary">
18991                            Dokumenty i informacje                        </span>
18992                        
18993<ul class="flex flex-col gap-2 text-sm text-white"
18994    title="Dokumenty&#x20;i&#x20;informacje"
18995>
18996                    <li
18997                    >
18998            <div class="group">
18999                
19000        <a href="/centrum-pomocy/pomoc-dokumenty-i-informacje-regulamin/"
19001                            data-menu="menu-32"
19002                        data-menu="menu-32"    >
19003        Regulamin    </a>
19004            </div>
19005                    </li>
19006                    <li
19007                    >
19008            <div class="group">
19009                
19010        <a href="/privacy-policy-cookie-restriction-mode/"
19011                            data-menu="menu-33"
19012                        data-menu="menu-33"    >
19013        Polityka prywatności i cookies    </a>
19014            </div>
19015                    </li>
19016    </ul>
19017                    </div>
19018                            </li>
19019                                <li class="mb-10 last:mb-0 lg:break-inside-avoid" aria-label="Pomoc i kontakt">
19020                                    <div>
19021                        <span class="block font-heading text-2xl font-extraBold mb-4 text-primary">
19022                            Pomoc i kontakt                        </span>
19023                        
19024<ul class="flex flex-col gap-2 text-sm text-white"
19025    title="Pomoc&#x20;i&#x20;kontakt"
19026>
19027                    <li
19028                    >
19029            <div class="group">
19030                
19031<a href="https://fera.pl/centrum-pomocy"
19032                data-menu="menu-39"
19033    >
19034    Centrum pomocy</a>
19035            </div>
19036                    </li>
19037                    <li
19038                    >
19039            <div class="group">
19040                
19041        <a href="/contact"
19042                            data-menu="menu-40"
19043                        data-menu="menu-40"    >
19044        Kontakt    </a>
19045            </div>
19046                    </li>
19047    </ul>
19048                    </div>
19049                            </li>
19050            </ul>
19051</div>
19052    </div>
19053            <div class="container">
19054            <div class="grid sm:grid-cols-1 lg:grid-cols-3 gap-x-4 gap-y-6 py-8 mb:pt-6 mb:pb-8 md:border-t md:border-brandSecondary-700">
19055                
19056
19057<section
19058            aria-labelledby="payment-methods"
19059    >
19060            <span id="payment-methods" class="block font-bold text-white text-xl mb-4">
19061            Metody płatności        </span>
19062        <div class="grid grid-cols-[repeat(4,auto)] gap-4 justify-start">
19063                                <svg xmlns="http://www.w3.org/2000/svg" width="48" height="32" fill="none" viewBox="0 0 48 32" aria-label="Blik" role="img"><g clip-path="url(#a)"><path fill="#030303" d="M0 4a4 4 0 0 1 4-4h40a4 4 0 0 1 4 4v24a4 4 0 0 1-4 4H4a4 4 0 0 1-4-4z"/><path fill="#fff" d="M20.076 8.7h2.715v15.21h-2.715zm5.034 5.145h2.714v10.076H25.11zM40 23.921l-4.071-5.342 3.737-4.734H36.46l-3.59 4.601V8.701h-2.715v15.223h2.714V18.74l3.59 5.182zM13.155 13.733a5.16 5.16 0 0 0-2.443.617V8.688H8v10.177a5.157 5.157 0 1 0 5.157-5.144zm0 7.587a2.443 2.443 0 1 1-.024-4.886 2.443 2.443 0 0 1 .024 4.886"/><path fill="url(#b)" d="M15.797 12.797a2.418 2.418 0 1 0 0-4.837 2.418 2.418 0 0 0 0 4.837"/></g><defs><radialGradient id="b" cx="0" cy="0" r="1" gradientTransform="translate(13.836 7.824)scale(7.932)" gradientUnits="userSpaceOnUse"><stop stop-color="red"/><stop offset=".49" stop-color="#E83E49"/><stop offset="1" stop-color="#F0F"/></radialGradient><clipPath id="a"><path fill="#fff" d="M0 0h48v32H0z"/></clipPath></defs><title>Blik</title></svg>
19064                                <svg xmlns="http://www.w3.org/2000/svg" width="48" height="32" fill="none" viewBox="0 0 48 32" aria-label="Visa" role="img"><g clip-path="url(#a_2)"><path fill="#fff" d="M0 4a4 4 0 0 1 4-4h40a4 4 0 0 1 4 4v24a4 4 0 0 1-4 4H4a4 4 0 0 1-4-4z"/><path fill="#1434CB" d="M19.108 10.212 14.243 21.82H11.07l-2.393-9.263c-.146-.57-.272-.78-.714-1.02-.722-.391-1.913-.759-2.962-.987l.071-.337h5.109c.651 0 1.237.434 1.385 1.184l1.264 6.715 3.124-7.9zm12.435 7.817c.013-3.063-4.236-3.232-4.206-4.6.009-.417.405-.86 1.273-.973.43-.056 1.616-.099 2.96.52l.527-2.461A8.1 8.1 0 0 0 29.29 10c-2.968 0-5.056 1.578-5.074 3.837-.019 1.67 1.491 2.603 2.629 3.158 1.17.569 1.563.934 1.558 1.443-.008.778-.933 1.122-1.798 1.135-1.509.024-2.385-.408-3.083-.733l-.544 2.543c.702.322 1.997.603 3.339.617 3.154 0 5.218-1.558 5.227-3.97m7.837 3.79h2.777l-2.424-11.607H37.17c-.577 0-1.063.336-1.278.852L31.387 21.82h3.152l.626-1.734h3.852zm-3.35-4.113 1.58-4.358.91 4.358zm-12.632-7.494L20.915 21.82h-3.002l2.483-11.607z"/></g><defs><clipPath id="a_2"><path fill="#fff" d="M0 0h48v32H0z"/></clipPath></defs><title>Visa</title></svg>
19065                                <svg xmlns="http://www.w3.org/2000/svg" width="48" height="32" fill="none" viewBox="0 0 48 32" aria-label="Mastercard" role="img"><g clip-path="url(#a_3)"><path fill="#fff" d="M0 4a4 4 0 0 1 4-4h40a4 4 0 0 1 4 4v24a4 4 0 0 1-4 4H4a4 4 0 0 1-4-4z"/><path fill="#FF5F00" d="M28.376 8.139h-8.75v15.725h8.75z"/><path fill="#EB001B" d="M20.181 16a9.98 9.98 0 0 1 3.82-7.861A9.96 9.96 0 0 0 17.82 6c-5.522 0-10 4.478-10 10s4.478 10 10 10A9.96 9.96 0 0 0 24 23.861 9.98 9.98 0 0 1 20.182 16"/><path fill="#F79E1B" d="M40.178 16c0 5.522-4.477 10-10 10-2.333 0-4.477-.8-6.18-2.139A9.98 9.98 0 0 0 27.818 16a9.98 9.98 0 0 0-3.82-7.861A9.96 9.96 0 0 1 30.178 6c5.522 0 10 4.478 10 10"/></g><defs><clipPath id="a_3"><path fill="#fff" d="M0 0h48v32H0z"/></clipPath></defs><title>Mastercard</title></svg>
19066                                <svg xmlns="http://www.w3.org/2000/svg" width="48" height="32" fill="none" viewBox="0 0 48 32" aria-label="Przelewy24" role="img"><g clip-path="url(#a_4)"><path fill="#fff" d="M0 4a4 4 0 0 1 4-4h40a4 4 0 0 1 4 4v24a4 4 0 0 1-4 4H4a4 4 0 0 1-4-4z"/><path fill="#D13239" fill-rule="evenodd" d="m12.96 16.387 3.137-.004-.114.714-2.624 2.505 2.203-.004-.129.77-3.243.002.136-.796 2.515-2.409h-2.007zm-3.431-1.221a.8.8 0 0 0-.275-.173 2 2 0 0 0-.365-.098 3 3 0 0 0-.417-.044c-.1-.004-.165-.004-.165-.004H5.915L5 20.37h.854l.337-2.046 1.657.008s.646.026 1.103-.216c.457-.243.58-.794.58-.794s.05-.205.092-.454c.046-.274.092-.603.116-.778l.016-.124s.012-.056.012-.145a1 1 0 0 0-.112-.483.8.8 0 0 0-.126-.172m-.658.974c0 .01-.076.453-.177.979-.038.2-.192.3
1906609-.369.347-.293.062-.607.05-.607.05l-1.384-.004.305-1.835 1.253.004s.084-.002.203 0c.134.002.313.008.459.028.126.016.227.042.259.082a.34.34 0 0 1 .064.18c.008.089-.006.163-.006.17m11.479-1.294h.823l-.92 5.523-.825-.002zm4.389 1.54.788-.002.279 2.804 1.213-2.808.973.002.287 2.816 1.211-2.814h.819l-1.737 3.981H27.6l-.28-2.788-1.226 2.788-.955.004z" clip-rule="evenodd"/><path fill="#D13239" d="M18.833 16.419c-.231-.074-.63-.09-.97-.086-.326.004-.476.02-.599.046 0 0-.581.084-.912.493-.331.41-.43 1.304-.43 1.304s-.196.989-.138 1.32c.058.329.16.635.534.778.373.144.69.136.69.136s.665.052 1.167-.066c.501-.118.766-.471.766-.471s.118-.153.202-.333.11-.307.115-.323l.052-.215-.852.002s-.047.564-.508.616c-.46.052-.706.032-.796.028-.088-.004-.582.018-.542-.395l.002-.026c.023-.47.075-.592.075-.592l2.677-.008.114-.662c.133-.75.038-1.321-.647-1.546m-.179 1.452-1.835-.002.072-.29s.064-.23.19-.326c.13-.096.291-.114.444-.128.152-.014.56-.044.89.024.11.022.215.084.243.177.064.216-.004.545-.004.545"/><path fill="#D13239" d="m16.618 19.235-.002.018c-.002.032.002-.02.002-.018m5.051.002-.003.018c0 .032.003-.02.003-.018"/><path fill="#D13239" d="M23.885 16.421c-.23-.074-.63-.09-.969-.086-.327.004-.477.02-.6.046 0 0-.581.084-.912.493-.331.41-.43 1.304-.43 1.304s-.196.989-.138 1.32c.058.328.16.635.534.778.373.144.69.136.69.136s.666.052 1.167-.066.766-.471.766-.471.118-.153.203-.333c.084-.18.11-.307.114-.323l.052-.215-.852.002s-.047.564-.508.616c-.459.052-.706.032-.796.03-.088-.004-.582.016-.541-.395l.002-.026c.022-.47.074-.592.074-.592l2.677-.008.114-.662c.133-.752.039-1.325-.647-1.548m-.187 1.45-1.835-.002.072-.29s.064-.23.19-.326c.127-.096.292-.114.444-.128s.56-.044.89.024c.11.022.215.084.243.177.064.214-.004.545-.004.545"/><path fill="#D13239" fill-rule="evenodd" d="m31.255 16.387.528 2.912 1.49-2.914.838.008-2.148 4.162s-.389.754-.63.944c-.24.19-.389.277-.585.297-.197.02-.277.034-.466 0l-.2-.036.124-.744s.333.062.53-.016c.198-.078.357-.415.357-.415l.1-.169-.776-4.031z" clip-rule="evenodd"/><path fill="#B3B2B1" fill-rule="evenodd" d="m34.416 16.782.864.002.053-.335s.092-.606.298-.722a1 1 0 0 1 .295-.094 4 4 0 0 1 .748-.036c.36.012.496.016.86.058.366.042.273.395.273.395l-.072.527s-.032.237-.116.383c-.074.13-.279.22-.397.257-.285.092-1.26.341-1.26.341l-.766.22s-.471.137-.734.428c-.265.293-.369.624-.405.796s-.239 1.366-.239 1.366l4.136.002.138-.826-3.27.004.057-.337s.038-.347.179-.461c.044-.037.066-.085.327-.177.156-.056.69-.199.69-.199l1.233-.336s.674-.173.939-.542c.264-.367.367-1.071.367-1.071s.072-.684.016-.899a.96.96 0 0 0-.504-.581c-.246-.11-.503-.175-1.247-.165s-1.113.045-1.49.185c-.377.138-.596.391-.734.748-.15.339-.239 1.069-.239 1.069m7.786 1.536.58-3.473h-1.027l-3.197 3.433-.145.87h2.796l-.205 1.22.859.002.202-1.221.793.002.142-.833zm-.855.002-1.807-.002 2.2-2.344zm-30.005-3.018h2.633s.59-.477 1.009-.784 1.181-.79 1.181-.79l-1.488-.696s-1.258.778-1.791 1.145c-.518.339-1.544 1.125-1.544 1.125m5.659-2.066-1.221-.822s1.105-.628 2.575-1.214c1.468-.585 2.253-.83 2.253-.83l.248 1.165s-1.414.474-2.224.857c-.838.357-1.63.844-1.63.844m4.757-1.956-.213-1.193s1.508-.4 2.888-.658c1.382-.256 3.213-.379 3.213-.379l-.605 1.844s-1.611-.221-3.123-.014c-1.178.14-2.16.4-2.16.4M28 11.05l1.019-2.048s2.232-.044 4.158.255c1.925.297 3.686.754 3.648.774l-4.882 2.553s-1.141-.722-2.557-1.165C28.584 11.182 28 11.05 28 11.
1906605m4.818 2.09 1.073.814h8.818s-.018-.285-.253-.69c-.146-.252-.413-.521-.691-.8a8 8 0 0 0-.813-.616c-.778-.505-1.213-.7-2.021-1.067z" clip-rule="evenodd"/><path fill="#D13239" d="M11.913 16.383c-.33 0-.643.13-.91.277l.046-.277h-.877l-.702 3.965h.879l.389-2.196c.08-.445.413-.997 1.063-.997l.453-.002.137-.77z"/></g><defs><clipPath id="a_4"><path fill="#fff" d="M0 0h48v32H0z"/></clipPath></defs><title>Przelewy24</title></svg>
19067                                <svg xmlns="http://www.w3.org/2000/svg" width="48" height="32" fill="none" viewBox="0 0 48 32" aria-label="Google&amp;#x20;Pay" role="img"><g clip-path="url(#a_5)"><path fill="#fff" d="M0 4a4 4 0 0 1 4-4h40a4 4 0 0 1 4 4v24a4 4 0 0 1-4 4H4a4 4 0 0 1-4-4z"/><path fill="#3C4043" d="M22.869 16.488v3.933H21.62v-9.712h3.309q1.259 0 2.139.838.897.84.897 2.048c0 .826-.3 1.508-.898 2.06q-.869.828-2.138.827h-2.061zm0-4.583v3.387h2.087c.494 0 .91-.17 1.235-.5.331-.332.5-.735.5-1.19a1.62 1.62 0 0 0-.5-1.177q-.486-.516-1.235-.514h-2.087zm8.361 1.651q1.383 0 2.183.741.8.74.8 2.029v4.095h-1.19v-.923h-.052q-.771 1.139-2.06 1.138-1.1.001-1.84-.65-.741-.652-.741-1.626 0-1.033.78-1.638.781-.613 2.08-.611 1.113 0 1.827.41v-.287c0-.435-.17-.8-.514-1.105a1.76 1.76 0 0 0-1.209-.455c-.695 0-1.248.293-1.651.884l-1.099-.689q.909-1.314 2.685-1.313m-1.613 4.824c0 .325.136.598.416.812q.411.324.968.325.79 0 1.405-.585.616-.583.617-1.371-.584-.46-1.625-.462-.76.002-1.268.364-.515.381-.513.917M41 13.77l-4.16 9.57h-1.288l1.547-3.348-2.743-6.221h1.359l1.976 4.771h.026l1.924-4.771z"/><path fill="#4285F4" d="M17.904 15.695q-.001-.61-.104-1.171h-5.232v2.145l3.013.001a2.58 2.58 0 0 1-1.118 1.728v1.392h1.794c1.047-.97 1.647-2.402 1.647-4.095"/><path fill="#34A853" d="M14.464 18.398c-.5.337-1.142.534-1.895.534-1.453 0-2.685-.98-3.127-2.3h-1.85v1.436a5.57 5.57 0 0 0 4.977 3.067c1.505 0 2.768-.494 3.688-1.346z"/><path fill="#FABB05" d="M9.268 15.568c0-.37.062-.729.174-1.065v-1.436h-1.85A5.54 5.54 0 0 0 7 15.568c0 .9.214 1.749.592 2.501l1.85-1.435a3.4 3.4 0 0 1-.174-1.066"/><path fill="#E94235" d="M12.57 12.204c.82 0 1.556.283 2.136.835l1.59-1.588c-.966-.9-2.224-1.451-3.727-1.451a5.57 5.57 0 0 0-4.977 3.067l1.85 1.436c.442-1.32 1.674-2.3 3.127-2.3"/></g><defs><clipPath id="a_5"><path fill="#fff" d="M0 0h48v32H0z"/></clipPath></defs><title>Google&amp;#x20;Pay</title></svg>
19068                                <svg xmlns="http://www.w3.org/2000/svg" width="48" height="32" fill="none" viewBox="0 0 48 32" aria-label="Apple&amp;#x20;Pay" role="img"><g clip-path="url(#a_6)"><path fill="#fff" d="M0 4a4 4 0 0 1 4-4h40a4 4 0 0 1 4 4v24a4 4 0 0 1-4 4H4a4 4 0 0 1-4-4z"/><path fill="#000" d="M13.422 11.356a2.62 2.62 0 0 0 .604-1.856 2.6 2.6 0 0 0-1.718.88 2.47 2.47 0 0 0-.615 1.793 2.12 2.12 0 0 0 1.729-.817m.605.944c-.955-.063-1.761.541-2.217.541s-1.157-.509-1.91-.498a2.81 2.81 0 0 0-2.397 1.453c-1.06 1.76-.265 4.38.732 5.823.488.71 1.06 1.496 1.835 1.464s1.008-.467 1.888-.467 1.146.467 1.91.456c.763-.01 1.293-.71 1.781-1.421a6.4 6.4 0 0 0 .796-1.644 2.57 2.57 0 0 1-1.549-2.344 2.61 2.61 0 0 1 1.252-2.207 2.73 2.73 0 0 0-2.121-1.156m8.305-1.983a3.34 3.34 0 0 1 3.51 3.51 3.393 3.393 0 0 1-3.563 3.48h-2.291v3.648h-1.666V10.317zm-2.344 5.643h1.92a2.005 2.005 0 0 0 2.259-2.122 1.983 1.983 0 0 0-2.249-2.121h-1.91zm6.29 2.821c0-1.358 1.06-2.196 2.895-2.302l2.122-.127v-.594c0-.87-.584-1.39-1.56-1.39a1.485 1.485 0 0 0-1.644 1.146h-1.506c.096-1.39 1.294-2.45 3.214-2.45s3.097 1.008 3.097 2.567v5.367H31.37v-1.283a2.76 2.76 0 0 1-2.46 1.41 2.364 2.364 0 0 1-2.631-2.344m5.027-.7v-.615l-1.92.116c-.954.064-1.495.488-1.495 1.157 0 .668.562 1.124 1.421 1.124a1.87 1.87 0 0 0 1.994-1.782m3.033 5.781V22.61q.26.024.52 0a1.305 1.305 0 0 0 1.39-1.06l.137-.478-2.81-7.86h1.728l1.973 6.365 1.962-6.365H41l-2.917 8.189c-.657 1.888-1.432 2.493-3.044 2.493-.18 0-.573-.011-.7-.032"/></g><defs><clipPath id="a_6"><path fill="#fff" d="M0 0h48v32H0z"/></clipPath></defs><title>Apple&amp;#x20;Pay</title></svg>
19069                                <svg xmlns="http://www.w3.org/2000/svg" width="48" height="32" fill="none" viewBox="0 0 48 32" aria-label="PayPo" role="img"><g clip-path="url(#a_7)"><path fill="#fff" d="M0 4a4 4 0 0 1 4-4h40a4 4 0 0 1 4 4v24a4 4 0 0 1-4 4H4a4 4 0 0 1-4-4z"/><path fill="#A70584" d="M10.21 19.621v-2.21H7.98v2.21z"/><path fill="#36B588" d="M10.201 16.64v-2.229h-2.23v2.23z"/>
19069<path fill="#FAD05B" d="M7.23 19.612v-2.23H5v2.23z"/><path fill="#000" d="M16.856 14.272c0 1.537-1.238 2.77-2.832 2.77H12.81v2.541h-1.85V11.5h3.06c1.598 0 2.835 1.238 2.835 2.772m-1.847 0c0-.592-.416-1.04-.98-1.04h-1.216v2.08h1.216c.564 0 .98-.45.98-1.04m8.296-.619v5.93h-1.78v-.557c-.39.45-.973.724-1.769.724-1.553 0-2.833-1.363-2.833-3.131s1.28-3.131 2.833-3.131c.796 0 1.375.27 1.769.724v-.557zm-1.78 2.966c0-.887-.596-1.45-1.411-1.45s-1.413.558-1.413 1.45c0 .887.596 1.45 1.413 1.45.817-.005 1.41-.562 1.41-1.45m8.536-2.966-2.014 5.715c-.66 1.872-1.707 2.616-3.357 2.533v-1.648c.824 0 1.215-.26 1.47-.976l-2.339-5.624h1.944l1.307 3.604 1.107-3.604zm6.586.619c0 1.537-1.236 2.77-2.83 2.77h-1.216v2.541h-1.85V11.5h3.062c1.597 0 2.834 1.238 2.834 2.772m-1.846 0c0-.592-.415-1.04-.98-1.04h-1.216v2.08h1.216c.564 0 .98-.45.98-1.04m2.077 2.43a3.027 3.027 0 0 1 3.062-3.051A3.03 3.03 0 0 1 43 16.7a3.025 3.025 0 0 1-3.06 3.05 3.03 3.03 0 0 1-3.062-3.05m4.39 0c0-.823-.579-1.365-1.33-1.365-.75 0-1.33.542-1.33 1.364 0 .821.58 1.363 1.33 1.363.755 0 1.33-.542 1.33-1.363"/></g><defs><clipPath id="a_7"><path fill="#fff" d="M0 0h48v32H0z"/></clipPath></defs><title>PayPo</title></svg>
19070            </div>
19071</section>
19072
19073
19074<section
19075            aria-labelledby="delivery-methods"
19076    >
19077            <span id="delivery-methods" class="block font-bold text-white text-xl mb-4">
19078            Dostawa        </span>
19079        <div class="grid grid-cols-[repeat(4,auto)] gap-4 justify-start">
19080                                <svg xmlns="http://www.w3.org/2000/svg" width="48" height="32" viewBox="0 0 48 32" fill="none" aria-label="DHL" role="img">
19081    <g clip-path="url(#a_8)">
19082        <path d="M0 4C0 1.79086 1.79086 0 4 0H44C46.2091 0 48 1.79086 48 4V28C48 30.2091 46.2091 32 44 32H4C1.79086 32 0 30.2091 0 28V4Z" fill="#FFCB01"/>
19083        <path d="M11.6825 13L10.4685 14.6862H17.0851C17.4197 14.6862 17.4155 14.815 17.2519 15.0427C17.0859 15.273 16.8081 15.6713 16.6387 15.9059C16.5528 16.0244 16.3976 16.2402 16.9115 16.2402H19.6175L20.4192 15.1264C20.9166 14.4363 20.4627 13.0009 18.6846 13.0009L11.6825 13Z" fill="#D80613"/>
19084        <path d="M9.97705 18.4936L12.416 15.1059H15.4422C15.7768 15.1059 15.7726 15.2355 15.6091 15.4623L14.9916 16.3221C14.9057 16.4406 14.7505 16.6564 15.2645 16.6564H19.3179C18.9816 17.129 17.887 18.4936 15.9245 18.4936H9.97705ZM23.9428 16.6556L22.6204 18.4936H19.1319L20.4543 16.6556H23.9428ZM29.2862 16.2394H20.7547L23.0876 13H26.5744L25.2378 14.8576H26.7939L28.1322 13H31.6191L29.2862 16.2394ZM28.9867 16.6556L27.6641 18.4936H24.1773L25.4998 16.6556H28.9867ZM5 17.3806H10.1381L9.85774 17.7703H5V17.3806ZM5 16.6556H10.6604L10.3792 17.0453H5V16.6556ZM5 18.1055H9.6166L9.33708 18.4936H5V18.1055ZM43 17.7703H37.8802L38.1614 17.3806H43V17.7703ZM43 18.4936H37.3604L37.6391 18.1055H43V18.4936ZM38.6829 16.6556H43V17.0462H38.4025L38.6829 16.6556ZM36.4484 13L34.1156 16.2394H30.4201L32.7547 13H36.4484ZM30.1213 16.6556C30.1213 16.6556 29.8669 17.0121 29.7426 17.1827C29.3053 17.7883 29.6917 18.4927 31.1209 18.4927H36.7213L38.0438 16.6556H30.1213Z" fill="#D80613"/>
19085    </g>
19086    <defs>
19087        <clipPath id="a_8">
19088            <rect width="48" height="32" fill="white"/>
19089        </clipPath>
19090    </defs>
19091<title>DHL</title></svg>
19092                                <svg xmlns="http://www.w3.org/2000/svg" width="48" height="32" viewBox="0 0 48 32" fill="none" aria-label="InPost" role="img">
19093    <g clip-path="url(#a_9)">
19094        <path d="M0 4C0 1.79086 1.79086 0 4 0H44C46.2091 0 48 1.79086 48 4V28C48 30.2091 46.2091 32 44 32H4C1.79086 32 0 30.2091 0 28V4Z" fill="white"/>
19095        <path fill-rule="evenodd" clip-rule="evenodd" d="M28.6721 16.6111C29.116 16.1684 29.3385 15.5729 29.3385 14.8403C29.3385 14.0716 29.1172 13.4653 28.6829 13.0274C28.239 12.5907 27.6049 12.3693 26.7782 12.3693H24.2239V19.5513H25.4155V17.28H26.8608C27.6193 17.28 28.2282 17.0586 28.6721 16.6111ZM26.8811 13.5338C27.7114 13.5338 28.1301 13.9705 28.1301 14.8403C28.1301 15.2457 28.0165 15.5621 27.7952 15.7883C27.5738 16.0156 27.258 16.1251 26.8608 16.1251H25.4108V13.5326H26.8823L26.8811 13.5338ZM17.3591 12.385H16.1663V19.5669H17.3591V12.385ZM42.1937 19.6836C42.3995 19.6836 42.6017 19.6571 42.7919 19.6102H42.7979V18.6189C42.6986 18.6334 42.5981 18.6406 42.4988 18.6406C42.1997 18.6406 42.0035 18.572 41.9101 18.4457C41.8324 18.3459 41.7917 18.1402 41.7917 17.8238V14.9149H42.8182V13.9513H41.7917V12.397H40.6348V17.8971C40.6348 18.5564 40.7173 18.9979 40.8872 19.2361C41.099 19.5368 41.5321 19.6848 42.1925 19.6848L42.1937 19.6836ZM21.8862 19.5777H23.0575V15.9314C23.0575 15.3203 22.8876 14.8451 22.5574 14.5083C22.2272 14.1654 21.7833 13.9657 21.2258 13.9657C19.9409 13.9657 18.516 14.2869 18.516 14.2869V19.5765H19.6872V15.135C20.0952 15.0448 20.6575 14.9606 21.008 14.9871C21.5763 15.0352 21.885 15.425 21.885 16.
190951468V19.5765L21.8862 19.5777ZM34.8598 16.7218C34.8598 17.5856 34.6229 18.2821 34.148 18.809C33.673 19.3359 33.0581 19.5994 32.3055 19.5994C31.553 19.5994 30.9321 19.3359 30.4631 18.809C29.9881 18.2821 29.7512 17.5868 29.7512 16.723C29.7512 15.8592 29.9881 15.1639 30.4631 14.6418C30.9381 14.1209 31.5518 13.8562 32.3055 13.8562C33.0593 13.8562 33.6838 14.1197 34.1587 14.6418C34.6229 15.1687 34.8598 15.8592 34.8598 16.723V16.7218ZM33.6527 16.7266C33.6527 16.1841 33.5294 15.757 33.2866 15.4406C33.0389 15.1242 32.7135 14.9666 32.3055 14.9666C31.8976 14.9666 31.5722 15.1254 31.3257 15.4454C31.078 15.7666 30.9596 16.1937 30.9596 16.7266C30.9596 17.2595 31.0828 17.6962 31.3257 18.0126C31.5733 18.329 31.8988 18.4866 32.3055 18.4866C32.7123 18.4866 33.0389 18.3278 33.2866 18.0126C33.5294 17.6962 33.6527 17.2692 33.6527 16.7266ZM39.3247 19.0568C39.7375 18.7092 39.9445 18.2617 39.9445 17.7191C39.9445 16.8758 39.4336 16.3597 38.4059 16.1648C37.9728 16.0854 37.5338 16.006 37.0899 15.9374C36.7752 15.8532 36.6209 15.6956 36.6209 15.4683C36.6209 15.0737 36.9619 14.8788 37.6474 14.8788C38.1834 14.8788 38.6643 15.0689 39.0819 15.4478L39.7782 14.6995C39.2003 14.151 38.504 13.8779 37.6833 13.8779C37.0073 13.8779 36.4654 14.0415 36.0574 14.3735C35.6494 14.7044 35.4484 15.1218 35.4484 15.6114C35.4484 16.1011 35.6135 16.4595 35.9485 16.7026C36.2381 16.9023 36.7118 17.0502 37.3842 17.1501C37.9417 17.2391 38.2827 17.3077 38.4107 17.3558C38.632 17.44 38.7409 17.5976 38.7409 17.825C38.7409 18.0198 38.6428 18.1883 38.4514 18.3206C38.26 18.4529 38.0027 18.5203 37.6725 18.5203C37.0839 18.5203 36.5671 18.2989 36.1232 17.8562L35.2355 18.6153C35.8133 19.2589 36.6293 19.5789 37.6869 19.5789C38.3628 19.5789 38.9096 19.4057 39.3224 19.058L39.3247 19.0568Z" fill="#1D1D1D"/>
19096        <path fill-rule="evenodd" clip-rule="evenodd" d="M8.41016 16.0361C8.41016 16.0361 7.47459 16.4006 6.32007 16.4006C5.16556 16.4006 4.22998 16.0361 4.22998 16.0361C4.22998 16.0361 5.16556 15.6716 6.32007 15.6716C7.47459 15.6716 8.41016 16.0361 8.41016 16.0361Z" fill="#FFCC05"/>
19097        <path fill-rule="evenodd" clip-rule="evenodd" d="M11.2994 10.6791C11.2994 10.6791 10.4703 10.1161 9.82427 9.17173C9.17941 8.22617 8.96167 7.25654 8.96167 7.25654C8.96167 7.25654 9.79077 7.81835 10.4368 8.76391C11.0829 9.70947 11.2994 10.6791 11.2994 10.6791Z" fill="#FFCC05"/>
19098        <path fill-rule="evenodd" clip-rule="evenodd" d="M9.1828 12.9901C9.1828 12.9901 8.18382 12.8782 7.16449 12.3429C6.14517 11.8075 5.49194 11.052 5.49194 11.052C5.49194 11.052 6.49093 11.1639 7.51025 11.6992C8.52957 12.2346 9.1828 12.9901 9.1828 12.9901Z" fill="#FFCC05"/>
19099        <path fill-rule="evenodd" clip-rule="evenodd" d="M11.2994 21.3738C11.2994 21.3738 10.4703 21.9368 9.82427 22.8812C9.17941 23.8256 8.96167 24.7964 8.96167 24.7964C8.96167 24.7964 9.79077 24.2346 10.4368 23.289C11.0829 22.3447 11.2994 21.3738 11.2994 21.3738Z" fill="#FFCC05"/>
19100        <path fill-rule="evenodd" clip-rule="evenodd" d="M9.1828 19.0629C9.1828 19.0629 8.18382 
1910019.1747 7.16449 19.7101C6.14517 20.2454 5.49194 21.0009 5.49194 21.0009C5.49194 21.0009 6.49093 20.889 7.51025 20.3537C8.52957 19.8183 9.1828 19.0629 9.1828 19.0629Z" fill="#FFCC05"/>
19101        <path fill-rule="evenodd" clip-rule="evenodd" d="M11.6092 17.7913C12.3617 19.7293 13.5712 21.1188 15.7319 21.4484C15.4855 21.4821 15.2354 21.5026 14.9794 21.5038C11.9178 21.517 9.42337 19.0773 9.41021 16.0541C9.39705 13.031 11.8676 10.5684 14.9291 10.5552C15.2019 10.554 15.4699 10.5732 15.7331 10.6093C13.2578 10.9197 11.6068 12.8517 11.2802 15.3107C11.1761 16.8096 12.912 17.3161 12.912 17.3161C12.912 17.3161 12.2014 17.7829 11.6092 17.7925V17.7913Z" fill="#FFCC05"/>
19102    </g>
19103    <defs>
19104        <clipPath id="a_9">
19105            <rect width="48" height="32" fill="white"/>
19106        </clipPath>
19107    </defs>
19108<title>InPost</title></svg>
19109            </div>
19110</section>
19111
19112    <div class="max-w-80" x-data="{ open: false }" @click.outside="open = false" @keydown.escape.window="open = false">
19113        <div id="website-switcher-label" class="text-sm text-white font-medium mb-2">
19114            Wybierz kraj        </div>
19115
19116        <div class="relative">
19117            <button type="button"
19118                    class="dropdown w-full flex items-center justify-between gap-2 cursor-pointer"
19119                    :class="{ 'rounded-b-none': open }"
19120                    id="website-switcher-button"
19121                    :aria-expanded="open"
19122                    aria-haspopup="true"
19123                    @click="open = !open">
19124                <span class="flex items-center gap-2 truncate">
19125                                                                         <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 512 512" role="img"><mask id="a_10"><circle cx="256" cy="256" r="256" fill="#fff"/></mask><g mask="url(#a_10)"><path fill="#d80027" d="m0 256 256.4-44.3L512 256v256H0z"/><path fill="#eee" d="M0 0h512v256H0z"/></g><title>pl</title></svg>
19126                                                <span class="truncate">
19127                            fera.pl                        </span>
19128                                    </span>
19129                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="transition-transform duration-200 text-secondary-600" width="20" height="20" :class="{ 'rotate-180': open }" role="img">
19130  <path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd"/>
19131<title>chevron-down</title></svg>
19132            </button>
19133
19134            <ul class="dropdown-list max-h-[220px] overflow-y-auto scrollbar-custom absolute w-full z-50 left-0"
19135                 x-show="open"
19136                 x-transition:enter="transition ease-out duration-100"
19137                 x-transition:enter-start="transform opacity-0 scale-95"
19138                 x-transition:enter-end="transform opacity-100 scale-100"
19139                 x-transition:leave="transition ease-in duration-75"
19140                 x-transition:leave-start="transform opacity-100 scale-100"
19141                 x-transition:leave-end="transform opacity-0 scale-95"
19142                 role="menu"
19143                 aria-orientation="vertical"
19144                 aria-labelledby="website-switcher-button"
19145                 style="display: none;">
19146                                                    <li>
19147                        <a href="https://fera.pl"
19148                           class="dropdown-list-item justify-normal gap-2 w-full flex items-center selected"
19149                           role="menuitem">
19150                                                            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 512 512" role="img"><mask id="a_11"><circle cx="256" cy="256" r="256" fill="#fff"/></mask><g mask="url(#a_11)"><path fill="#d80027" d="m0 256 256.4-44.3L512 256v256H0z"/><path fill="#eee" d="M0 0h512v256H0z"/></g><title>pl</title></svg>
19151                                                        <span class="truncate">
19152                                fera.pl                            </span>
19153                        </a>
19154                    </li>
19155                                                    <li>
19156                        <a href="https://fera24.de"
19157                           class="dropdown-list-item justify-normal gap-2 w-full flex items-center "
19158                           role="menuitem">
19159                                                            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 512 512" role="img"><mask id="a_12"><circle cx="256" cy="256" r="256" fill="#fff"/></mask><g mask="url(#a_12)"><path fill="#ffda44" d="m0 345 256.7-25.5L512 345v167H0z"/><path fill="#d80027" d="m0 167 255-23 257 23v178H0z"/><path fill="#333" d="M0 0h512v167H0z"/></g><title>de</title></svg>
19160                                                        <span class="truncate">
19161                                fera24.de                            </span>
19162                        </a>
19163                    </li>
19164                                                    <li>
19165                        <a href="https://fera24.at/"
19166                           class="dropdown-list-item justify-normal gap-2 w-full flex items-center "
19167                           role="menuitem">
19168                                                            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 512 512" role="img"><mask id="a_13"><circle cx="256" cy="256" r="256" fill="#fff"/></mask><g mask="url(#a_13)"><path fill="#d80027" d="M0 0h512v167l-23.2 89.7L512 345v167H0V345l29.4-89L0 167z"/><path fill="#eee" d="M0 167h512v178H0z"/></g><title>at</title></svg>
19169                                                        <span class="truncate">
19170                                fera24.at                            </span>
19171                        </a>
19172                    </li>
19173                                                    <li>
19174                        <a href="https://fera24.cz/"
19175                           class="dropdown-list-item justify-normal gap-2 w-full flex items-center "
19176                           role="menuitem">
19177                                                            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 512 512" role="img"><mask id="a_14"><circle cx="256" cy="256" r="256" fill="#fff"/></mask><g mask="url(#a_14)"><path fill="#eee" d="M0 0h512v256l-265 45.2z"/><path fill="#d80027" d="M210 256h302v256H0z"/><path fill="#0052b4" d="M0 0v512l256-256L0 0z"/></g><title>cz</title></svg>
19178                                                        <span class="truncate">
19179                                fera24.cz                            </span>
19180                        </a>
19181                    </li>
19182                                                    <li>
19183                        <a href="https://fera.lt"
19184                           class="dropdown-list-item justify-normal gap-2 w-full flex items-center "
19185                           role="menuitem">
19186                                                            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 512 512" role="img"><mask id="a_15"><circle cx="256" cy="256" r="256" fill="#fff"/></mask><g mask="url(#a_15)"><path fill="#6da544" d="m0 167 253.8-19.3L512 167v178l-254.9 32.3L0 345z"/><path fill="#ffda44" d="M0 0h512v167H0z"/><path fill="#d80027" d="M0 345h512v167H0z"/></g><title>lt</title></svg>
19187                                                        <span class="truncate">
19188                                fera.lt                            </span>
19189                        </a>
19190                    </li>
19191                                                    <li>
19192                        <a href="https://fera.sk"
19193                           class="dropdown-list-item justify-normal gap-2 w-full flex items-center "
19194                           role="menuitem">
19195                                                            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 512 512" role="img"><mask id="a_16"><circle cx="256" cy="256" r="256" fill="#fff"/></mask><g mask="url(#a_16)"><path fill="#0052b4" d="m0 160 256-32 256 32v192l-256 32L0 352z"/><path fill="#eee" d="M0 0h512v160H0z"/><path fill="#d80027" d="M0 352h512v160H0z"/><path fill="#eee" d="M64 63v217c0 104 144 137 144 137s144-33 144-137V63z"/><path fill="#d80027" d="M96 95v185a83 78 0 0 0 9 34h206a83 77 0 0 0 9-34V95z"/><path fill="#eee" d="M288 224h-64v-32h32v-32h-32v-32h-32v32h-32v32h32v32h-64v32h64v32h32v-32h64z"/><path fill="#0052b4" d="M152 359a247 231 0 0 0 56 24c12-3 34-11 56-24a123 115 0 0 0 47-45 60 56 0 0 0-34-10l-14 2a60 56 0 0 0-110 0 60 56 0 0 0-14-2c-12 0-24 4-34 10a123 115 0 0 0 47 45z"/></g><title>sk</title></svg>
19196                                                        <span class="truncate">
19197                                fera.sk                            </span>
19198                        </a>
19199                    </li>
19200                                                    <li>
19201                        <a href="https://fera.hu"
19202                           class="dropdown-list-item justify-normal gap-2 w-full flex items-center "
19203                           role="menuitem">
19204                                                            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 512 512" role="img"><mask id="a_17"><circle cx="256" cy="256" r="256" fill="#fff"/></mask><g mask="url(#a_17)"><path fill="#eee" d="m0 167 253.8-19.3L512 167v178l-254.9 32.3L0 345z"/><path fill="#d80027" d="M0 0h512v167H0z"/><path fill="#6da544" d="M0 345h512v167H0z"/></g><title>hu</title></svg>
19205                                                        <span class="truncate">
19206                                fera.hu                            </span>
19207                        </a>
19208                    </li>
19209                                                    <li>
19210                        <a href="https://fera.ro"
19211                           class="dropdown-list-item justify-normal gap-2 w-full flex items-center "
19212                           role="menuitem">
19213                                                            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 512 512" role="img"><mask id="a_18"><circle cx="256" cy="256" r="256" fill="#fff"/></mask><g mask="url(#a_18)"><path fill="#ffda44" d="M167 0h178l25.9 252.3L345 512H167l-29.8-253.4z"/><path fill="#0052b4" d="M0 0h167v512H0z"/><path fill="#d80027" d="M345 0h167v512H345z"/></g><title>ro</title></svg>
19214                                                        <span class="truncate">
19215                                fera.ro                            </span>
19216                        </a>
19217                    </li>
19218                                                    <li>
19219                        <a href="https://fera.ee"
19220                           class="dropdown-list-item justify-normal gap-2 w-full flex items-center "
19221                           role="menuitem">
19222                                                            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 512 512" role="img"><mask id="a_19"><circle cx="256" cy="256" r="256" fill="#fff"/></mask><g mask="url(#a_19)"><path fill="#333" d="m0 167 254.6-36.6L512 166.9v178l-254.6 36.4L0 344.9z"/><path fill="#0052b4" d="M0 0h512v166.9H0z"/><path fill="#eee" d="M0 344.9h512V512H0z"/></g><title>ee</title></svg>
19223                                                        <span class="truncate">
19224                                fera.ee                            </span>
19225                        </a>
19226                    </li>
19227                                                    <li>
19228                        <a href="https://fera24.lv"
19229                           class="dropdown-list-item justify-normal gap-2 w-full flex items-center "
19230                           role="menuitem">
19231                                                            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 512 512" role="img"><mask id="a_20"><circle cx="256" cy="256" r="256" fill="#fff"/></mask><g mask="url(#a_20)"><path fill="#a2001d" d="M0 0h512v189.2l-38.5 70 38.5 63.6V512H0V322.8l39.4-63L0 189.1z"/><path fill="#eee" d="M0 189.2h512v133.6H0z"/></g><title>lv</title></svg>
19232                                                        <span class="truncate">
19233                                fera24.lv                            </span>
19234                        </a>
19235                    </li>
19236                                                    <li>
19237                        <a href="https://fera24.it"
19238                           class="dropdown-list-item justify-normal gap-2 w-full flex items-center "
19239                           role="menuitem">
19240                                                            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 512 512" role="img"><mask id="a_21"><circle cx="256" cy="256" r="256" fill="#fff"/></mask><g mask="url(#a_21)"><path fill="#eee" d="M167 0h178l25.9 252.3L345 512H167l-29.8-253.4z"/><path fill="#6da544" d="M0 0h167v512H0z"/><path fill="#d80027" d="M345 0h167v512H345z"/></g><title>it</title></svg>
19241                                                        <span class="truncate">
19242                                fera24.it                            </span>
19243                        </a>
19244                    </li>
19245                                                    <li>
19246                        <a href="https://fera.fr"
19247                           class="dropdown-list-item justify-normal gap-2 w-full flex items-center "
19248                           role="menuitem">
19249                                                            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 512 512" role="img"><mask id="a_22"><circle cx="256" cy="256" r="256" fill="#fff"/></mask><g mask="url(#a_22)"><path fill="#eee" d="M167 0h178l25.9 252.3L345 512H167l-29.8-253.4z"/>
19249<path fill="#0052b4" d="M0 0h167v512H0z"/><path fill="#d80027" d="M345 0h167v512H345z"/></g><title>fr</title></svg>
19250                                                        <span class="truncate">
19251                                fera.fr                            </span>
19252                        </a>
19253                    </li>
19254                                                    <li>
19255                        <a href="https://fera24.be"
19256                           class="dropdown-list-item justify-normal gap-2 w-full flex items-center "
19257                           role="menuitem">
19258                                                            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 512 512" role="img"><mask id="a_23"><circle cx="256" cy="256" r="256" fill="#fff"/></mask><g mask="url(#a_23)"><path fill="#333" d="M0 0h167l38.2 252.6L167 512H0z"/><path fill="#d80027" d="M345 0h167v512H345l-36.7-256z"/><path fill="#ffda44" d="M167 0h178v512H167z"/></g><title>be</title></svg>
19259                                                        <span class="truncate">
19260                                fera24.be                            </span>
19261                        </a>
19262                    </li>
19263                                                    <li>
19264                        <a href="https://fera.se"
19265                           class="dropdown-list-item justify-normal gap-2 w-full flex items-center "
19266                           role="menuitem">
19267                                                            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 512 512" role="img"><mask id="a_24"><circle cx="256" cy="256" r="256" fill="#fff"/></mask><g mask="url(#a_24)"><path fill="#0052b4" d="M0 0h133.6l35.3 16.7L200.3 0H512v222.6l-22.6 31.7 22.6 35.1V512H200.3l-32-19.8-34.7 19.8H0V289.4l22.1-33.3L0 222.6z"/><path fill="#ffda44" d="M133.6 0v222.6H0v66.8h133.6V512h66.7V289.4H512v-66.8H200.3V0z"/></g><title>se</title></svg>
19268                                                        <span class="truncate">
19269                                fera.se                            </span>
19270                        </a>
19271                    </li>
19272                            </ul>
19273        </div>
19274    </div>
19275            </div>
19276        </div>
19277                <div class="rounded-t-3xl bg-primary text-brandSecondary-900">
19278                        <div class="container py-5 grid grid-cols-1 justify-items-center items-center gap-4 xl:grid-cols-3 xl:justify-items-start
19279                xl:[&>*:nth-child(2):last-child]:col-span-2
19280                xl:[&>*:nth-child(2):last-child>*]:flex-1
19281                xl:[&>*:nth-child(2):last-child>*:first-child]:justify-center
19282                xl:[&>*:nth-child(2):last-child>*:last-child]:justify-end">
19283                <div>
19284<div class="flex gap-6 items-end">
19285        <div class="hidden xl:block shrink-0 rounded-lg overflow-hidden">
19286        <?xml version="1.0"?>
19287<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="90px" height="90px" viewBox="0 0 90 90"><title>Pobierz aplikację!</title><rect x="0" y="0" width="90" height="90" fill="#ffffff" fill-opacity="1"/><path fill="#000000" fill-opacity="1" d="M10,10L26.9,10L26.9,12.41L10,12.41ZM31.72,10L34.14,10L34.14,12.41L31.72,12.41ZM46.21,10L51.03,10L51.03,12.41L46.21,12.41ZM63.1,10L80,10L80,12.41L63.1,12.41ZM10,12.41L12.41,12.41L12.41,14.83L10,14.83ZM24.48,12.41L26.9,12.41L26.9,14.83L24.48,14.83ZM29.31,12.41L34.14,12.41L34.14,14.83L29.31,14.83ZM36.55,12.41L41.38,12.41L41.38,14.83L36.55,14.83ZM51.03,12.41L53.45,12.41L53.45,14.83L51.03,14.83ZM63.1,12.41L65.52,12.41L65.52,14.83L63.1,14.83ZM77.59,12.41L80,12.41L80,14.83L77.59,14.83ZM10,14.83L12.41,14.83L12.41,17.24L10,17.24ZM14.83,14.83L22.07,14.83L22.07,17.24L14.83,17.24ZM24.48,14.83L26.9,14.83L26.9,17.24L24.48,17.24ZM31.72,14.83L38.97,14.83L38.97,17.24L31.72,17.24ZM43.79,14.83L46.21,14.83L46.21,17.24L43.79,17.24ZM48.62,14.83L60.69,14.83L60.69,17.24L48.62,17.24ZM63.1,14.83L65.52,14.83L65.52,17.24L63.1,17.24ZM67.93,14.83L75.17,14.83L75.17,17.24L67.93,17.24ZM77.59,14.83L80,14.83L80,17.24L77.59,17.24ZM10,17.24L12.41,17.24L12.41,19.66L10,19.66ZM14.83,17.24L22.07,17.24L22.07,19.66L14.83,19.66ZM24.48,17.24L26.9,17.24L26.9,19.66L24.48,19.66ZM29.31,17.24L34.14,17.24L34.14,19.66L29.31,19.66ZM36.55,17.24L38.97,17.24L38.97,19.66L36.55,19.66ZM63.1,17.24L65.52,17.24L65.52,19.66L63.1,19.66ZM67.93,17.24L75.17,17.24L75.17,19.66L67.93,19.66ZM77.59,17.24L80,17.24L80,19.66L77.59,19.66ZM10,19.66L12.41,19.66L12.41,22.07L10,22.07ZM14.83,19.66L22.07,19.66L22.07,22.07L14.83,22.07ZM24.48,19.66L26.9,19.66L26.9,22.07L24.48,22.07ZM34.14,19.66L36.55,19.66L36.55,22.07L34.14,22.07ZM38.97,19.66L48.62,19.66L48.62,22.07L38.97,22.07ZM53.45,19.66L55.86,19.66L55.86,22.07L53.45,22.07ZM58.28,19.66L60.69,19.66L60.69,22.07L58.28,22.07ZM63.1,19.66L65.52,19.66L65.52,22.07L63.1,22.07ZM67.93,19.66L75.17,19.66L75.17,22.07L67.93,22.07ZM77.59,19.66L80,19.66L80,22.07L77.59,22.07ZM10,22.07L12.41,22.07L12.41,24.48L10,24.48ZM24.48,22.07L26.9,22.07L26.9,24.48L24.48,24.48ZM29.31,22.07L31.72,22.07L31.72,24.48L29.31,24.48ZM34.14,22.07L36.55,22.07L36.55,24.48L34.14,24.48ZM41.38,22.07L48.62,22.07L48.62,24.48L41.38,24.48ZM51.03,22.07L53.45,22.07L53.45,24.48L51.03,24.48ZM58.28,22.07L60.69,22.07L60.69,24.48L58.28,24.48ZM63.1,22.07L65.52,22.07L65.52,24.48L63.1,24.48ZM77.59,22.07L80,22.07L80,24.48L77.59,24.48ZM10,24.48L26.9,24.48L26.9,26.9L10,26.9ZM29.31,24.48L31.72,24.48L31.72,26.9L29.31,26.9ZM34.14,24.48L36.55,24.48L36.55,26.9L34.14,26.9ZM38.97,24.48L41.38,24.48L41.38,26.9L38.97,26.9ZM43.79,24.48L46.21,24.48L46.21,26.9L43.79,26.9ZM48.62,24.48L51.03,24.48L51.03,26.9L48.62,26.9ZM53.45,24.48L55.86,24.48L55.86,26.9L53.45,26.9ZM58.28,24.48L60.
1928769,24.48L60.69,26.9L58.28,26.9ZM63.1,24.48L80,24.48L80,26.9L63.1,26.9ZM38.97,26.9L43.79,26.9L43.79,29.31L38.97,29.31ZM46.21,26.9L48.62,26.9L48.62,29.31L46.21,29.31ZM51.03,26.9L60.69,26.9L60.69,29.31L51.03,29.31ZM10,29.31L22.07,29.31L22.07,31.72L10,31.72ZM24.48,29.31L36.55,29.31L36.55,31.72L24.48,31.72ZM38.97,29.31L41.38,29.31L41.38,31.72L38.97,31.72ZM43.79,29.31L51.03,29.31L51.03,31.72L43.79,31.72ZM58.28,29.31L63.1,29.31L63.1,31.72L58.28,31.72ZM65.52,29.31L67.93,29.31L67.93,31.72L65.52,31.72ZM70.34,29.31L72.76,29.31L72.76,31.72L70.34,31.72ZM75.17,29.31L77.59,29.31L77.59,31.72L75.17,31.72ZM10,31.72L14.83,31.72L14.83,34.14L10,34.14ZM26.9,31.72L29.31,31.72L29.31,34.14L26.9,34.14ZM31.72,31.72L34.14,31.72L34.14,34.14L31.72,34.14ZM48.62,31.72L51.03,31.72L51.03,34.14L48.62,34.14ZM53.45,31.72L58.28,31.72L58.28,34.14L53.45,34.14ZM60.69,31.72L65.52,31.72L65.52,34.14L60.69,34.14ZM67.93,31.72L72.76,31.72L72.76,34.14L67.93,34.14ZM75.17,31.72L77.59,31.72L77.59,34.14L75.17,34.14ZM12.41,34.14L14.83,34.14L14.83,36.55L12.41,36.55ZM17.24,34.14L22.07,34.14L22.07,36.55L17.24,36.55ZM24.48,34.14L29.31,34.14L29.31,36.55L24.48,36.55ZM31.72,34.14L34.14,34.14L34.14,36.55L31.72,36.55ZM36.55,34.14L41.38,34.14L41.38,36.55L36.55,36.55ZM51.03,34.14L55.86,34.14L55.86,36.55L51.03,36.55ZM58.28,34.14L60.69,34.14L60.69,36.55L58.28,36.55ZM65.52,34.14L67.93,34.14L67.93,36.55L65.52,36.55ZM70.34,34.14L75.17,34.14L75.17,36.55L70.34,36.55ZM12.41,36.55L14.83,36.55L14.83,38.97L12.41,38.97ZM19.66,36.55L24.48,36.55L24.48,38.97L19.66,38.97ZM26.9,36.55L38.97,36.55L38.97,38.97L26.9,38.97ZM43.79,36.55L46.21,36.55L46.21,38.97L43.79,38.97ZM51.03,36.55L72.76,36.55L72.76,38.97L51.03,38.97ZM77.59,36.55L80,36.55L80,38.97L77.59,38.97ZM12.41,38.97L14.83,38.97L14.83,41.38L12.41,41.38ZM24.48,38.97L26.9,38.97L26.9,41.38L24.48,41.38ZM31.72,38.97L34.14,38.97L34.14,41.38L31.72,41.38ZM36.55,38.97L38.97,38.97L38.97,41.38L36.55,41.38ZM46.21,38.97L48.62,38.97L48.62,41.38L46.21,41.38ZM60.
1928769,38.97L63.1,38.97L63.1,41.38L60.69,41.38ZM65.52,38.97L70.34,38.97L70.34,41.38L65.52,41.38ZM10,41.38L12.41,41.38L12.41,43.79L10,43.79ZM17.24,41.38L22.07,41.38L22.07,43.79L17.24,43.79ZM26.9,41.38L29.31,41.38L29.31,43.79L26.9,43.79ZM34.14,41.38L36.55,41.38L36.55,43.79L34.14,43.79ZM38.97,41.38L48.62,41.38L48.62,43.79L38.97,43.79ZM55.86,41.38L60.69,41.38L60.69,43.79L55.86,43.79ZM65.52,41.38L72.76,41.38L72.76,43.79L65.52,43.79ZM75.17,41.38L77.59,41.38L77.59,43.79L75.17,43.79ZM19.66,43.79L22.07,43.79L22.07,46.21L19.66,46.21ZM24.48,43.79L26.9,43.79L26.9,46.21L24.48,46.21ZM41.38,43.79L53.45,43.79L53.45,46.21L41.38,46.21ZM55.86,43.79L58.28,43.79L58.28,46.21L55.86,46.21ZM60.69,43.79L63.1,43.79L63.1,46.21L60.69,46.21ZM70.34,43.79L80,43.79L80,46.21L70.34,46.21ZM17.24,46.21L24.48,46.21L24.48,48.62L17.24,48.62ZM26.9,46.21L29.31,46.21L29.31,48.62L26.9,48.62ZM31.72,46.21L36.55,46.21L36.55,48.62L31.72,48.62ZM38.97,46.21L43.79,46.21L43.79,48.62L38.97,48.62ZM48.62,46.21L51.03,46.21L51.03,48.62L48.62,48.62ZM53.45,46.21L70.34,46.21L70.34,48.62L53.45,48.62ZM75.17,46.21L80,46.21L80,48.62L75.17,48.62ZM24.48,48.62L26.9,48.62L26.9,51.03L24.48,51.03ZM38.97,48.62L41.38,48.62L41.38,51.03L38.97,51.03ZM43.79,48.62L48.62,48.62L48.62,51.03L43.79,51.03ZM51.03,48.62L53.45,48.62L53.45,51.03L51.03,51.03ZM58.28,48.62L60.69,48.62L60.69,51.03L58.28,51.03ZM63.1,48.62L65.52,48.62L65.52,51.03L63.1,51.03ZM10,51.03L12.41,51.03L12.41,53.45L10,53.45ZM17.24,51.03L22.07,51.03L22.07,53.45L17.24,53.45ZM46.21,51.03L48.62,51.03L48.62,53.45L46.21,53.45ZM53.45,51.03L55.86,51.03L55.86,53.45L53.45,53.45ZM60.69,51.03L72.76,51.03L72.76,53.45L60.69,53.45ZM10,53.45L12.41,53.45L12.41,55.86L10,55.86ZM14.83,53.45L17.24,53.45L17.24,55.86L14.83,55.86ZM19.66,53.45L22.07,53.45L22.07,55.86L19.66,55.86ZM24.48,53.45L31.72,53.45L31.72,55.86L24.48,55.86ZM34.14,53.45L41.38,53.45L41.38,55.86L34.14,55.86ZM46.21,53.45L53.45,53.45L53.45,55.86L46.21,55.86ZM55.86,53.45L58.28,53.45L58.28,55.86L55.86,55.86ZM70.34,53.45L77.59,53.45L77.59,55.86L70.34,55.86ZM10,55.86L12.41,55.86L12.41,58.28L10,58.28ZM17.24,55.86L22.07,55.86L22.07,58.28L17.24,58.28ZM26.9,55.86L34.14,55.86L34.14,58.28L26.9,58.28ZM36.55,55.86L38.97,55.86L38.97,58.28L36.55,58.28ZM43.79,55.86L46.21,55.86L46.21,58.28L43.79,58.28ZM48.62,55.86L51.03,55.86L51.03,58.28L48.62,58.28ZM53.45,55.86L60.69,55.86L60.69,58.28L53.45,58.28ZM63.1,55.86L70.34,55.86L70.34,58.28L63.1,58.28ZM75.17,55.86L80,55.86L80,58.28L75.17,58.28ZM10,58.28L12.41,58.28L12.41,60.69L10,60.69ZM14.83,58.28L17.24,58.28L17.24,60.69L14.83,60.69ZM19.66,58.28L26.9,58.28L26.9,60.69L19.66,60.69ZM36.55,58.28L38.97,58.28L38.97,60.69L36.55,60.69ZM46.21,58.28L51.03,58.28L51.03,60.69L46.21,60.69ZM58.28,58.28L77.59,58.28L77.59,60.69L58.28,60.69ZM29.31,60.69L34.14,60.69L34.14,63.1L29.31,63.1ZM38.97,60.69L48.62,60.69L48.62,63.1L38.97,63.1ZM55.86,60.69L60.69,60.69L60.69,63.1L55.86,63.1ZM67.93,60.69L70.34,60.69L70.34,63.1L67.93,63.1ZM75.17,60.69L77.59,60.69L77.59,63.1L75.17,63.1ZM10,63.1L26.9,63.1L26.9,65.52L10,65.52ZM29.31,63.1L36.55,63.1L36.55,65.52L29.31,65.52ZM41.38,63.1L48.62,63.1L48.62,65.52L41.38,65.52ZM51.03,63.1L53.45,63.1L53.45,65.52L51.03,65.52ZM55.86,63.1L60.69,63.1L60.69,65.52L55.86,65.52ZM63.1,63.1L65.52,63.1L65.52,65.52L63.1,65.52ZM67.93,63.1L75.17,63.1L75.17,65.52L67.93,65.52ZM10,65.52L12.41,65.52L12.41,67.93L10,67.93ZM24.48,65.52L26.9,65.52L26.9,67.93L24.48,67.93ZM31.72,65.52L34.14,65.52L34.14,67.93L31.72,67.93ZM38.97,65.52L43.79,65.52L43.79,67.93L38.97,67.93ZM48.62,65.52L51.03,65.52L51.03,67.93L48.62,67.93ZM55.86,65.52L60.69,65.52L60.69,67.93L55.86,67.93ZM67.93,65.52L70.34,65.52L70.34,67.93L67.93,67.93ZM72.76,65.52L80,65.52L80,67.93L72.76,67.93ZM10,67.93L12.41,67.93L12.41,70.34L10,70.34ZM14.83,67.93L22.07,67.93L22.07,70.34L14.83,70.34ZM24.48,67.93L26.9,67.93L26.9,70.34L24.48,70.34ZM29.31,67.93L31.72,67.93L31.72,70.34L29.31,70.34ZM38.97,67.93L41.38,67.93L41.38,70.34L38.97,70.34ZM43.79,67.93L70.34,67.93L70.34,70.34L43.79,70.34ZM72.76,67.93L80,67.93L80,70.34L72.76,70.34ZM10,70.34L12.41,70.34L12.41,72.76L10,72.76ZM14.83,70.34L22.07,70.34L22.07,72.76L14.83,72.76ZM24.48,70.34L26.9,70.34L26.9,72.76L24.48,72.76ZM29.31,70.34L31.72,70.34L31.72,72.76L29.31,72.76ZM46.21,70.34L51.03,70.34L51.03,72.76L46.21,72.76ZM53.45,70.34L55.86,70.34L55.86,72.76L53.45,72.76ZM58.28,70.34L63.1,70.34L63.1,72.76L58.28,72.76ZM65.52,70.34L67.93,70.34L67.93,72.76L65.52,72.76ZM10,72.76L12.41,72.76L12.41,75.17L10,75.17ZM14.83,72.76L22.07,72.76L22.07,75.17L14.83,75.17ZM24.48,72.76L26.9,72.76L26.9,75.17L24.48,75.17ZM29.31,72.76L31.72,72.76L31.72,75.17L29.31,75.17ZM34.14,72.76L41.38,72.76L41.38,75.17L34.14,75.17ZM51.03,72.76L53.45,72.76L53.45,75.17L51.03,75.17ZM60.69,72.76L63.1,72.76L63.1,75.17L60.69,75.17ZM65.52,72.76L67.93,72.76L67.93,75.17L65.52,75.17ZM72.76,72.76L77.59,72.76L77.59,75.17L72.76,75.17ZM10,75.17L12.41,75.17L12.41,77.59L10,77.59ZM24.48,75.17L26.9,75.17L26.9,77.59L24.48,77.59ZM29.31,75.17L31.72,75.17L31.72,77.59L29.31,77.59ZM34.14,75.17L38.97,75.17L38.97,77.59L34.14,77.59ZM43.79,75.17L46.21,75.17L46.21,7
192877.59L43.79,77.59ZM53.45,75.17L55.86,75.17L55.86,77.59L53.45,77.59ZM70.34,75.17L75.17,75.17L75.17,77.59L70.34,77.59ZM77.59,75.17L80,75.17L80,77.59L77.59,77.59ZM10,77.59L26.9,77.59L26.9,80L10,80ZM29.31,77.59L31.72,77.59L31.72,80L29.31,80ZM34.14,77.59L38.97,77.59L38.97,80L34.14,80ZM46.21,77.59L51.03,77.59L51.03,80L46.21,80ZM53.45,77.59L65.52,77.59L65.52,80L53.45,80ZM67.93,77.59L75.17,77.59L75.17,80L67.93,80Z"/></svg>
19288    </div>
19289    <div class="flex flex-col gap-4 items-center xl:items-start">
19290        <span class="font-heading text-2xl font-extrabold">
19291            Pobierz aplikację!        </span>
19292        <div class="flex gap-4">
19293            <a href="https://play.google.com/store/apps/details?id=com.fera.app.ferastore&hl=pl"
19294               target="_blank"
19295               aria-label="Pobierz z Google Play"
19296               rel="nofollow">
19297                <svg xmlns="http://www.w3.org/2000/svg" width="135" height="40" viewBox="0 0 135 40" class="shrink-0" role="img">
19298    <path d="M77.4 23.4c-1.3.1-2.2 1.1-2.4 2.4-.1 1.4.9 2.7 2.4 2.8h.1c1.3-.1 2.3-1.3 2.2-2.6v-.1c.1-1.3-.9-2.4-2.3-2.5M56.2 12c.2-.2.3-.4.3-.7 0-.6-.4-1-1-1H54v2h1.5c.3 0 .5-.1.7-.3M50.6 11.7c.9-1 .9-2.5 0-3.4s-2.4-.9-3.3 0c-.9 1-.9 2.5 0 3.4 1 .9 2.4.9 3.3 0M44.2 9.5c.4-.4.4-1 0-1.4-.2-.2-.5-.3-.8-.3h-1.3v2.1h1.3c.4-.1.6-.2.8-.4M58.5 23.4c-1.4.1-2.5 1.3-2.4 2.8.1 1.4 1.3 2.5 2.8 2.4h.1c1.4-.1 2.4-1.2 2.3-2.6v-.2c-.2-1.4-1.4-2.5-2.8-2.4M89.5 23.4s-.1 0 0 0c-1.3.1-2.3 1.2-2.2 2.5l3.8-1.6c-.3-.6-1-.9-1.6-.9M67.8 23.4c-1.4.1-2.5 1.3-2.4 2.8s1.3 2.5 2.8 2.4h.1c1.4-.1 2.4-1.2 2.3-2.6v-.2c-.2-1.4-1.4-2.5-2.8-2.4M111.7 27.5c0 .8.8 1.1 1.5 1.1 1.1 0 2.1-.9 2.2-2-.5-.3-1.1-.4-1.7-.4-1 0-2 .3-2 1.3M68 9.5c.2-.2.3-.5.3-.8s-.1-.5-.3-.7-.5-.3-.8-.3h-1.3v2.1h1.2c.4.1.7-.1.9-.3M56 9.3c.3-.4.3-.9 0-1.3-.2-.2-.4-.3-.7-.3h-1.4v1.9h1.4c.3 0 .6-.1.7-.3"/>
19299    <path d="M130 .8H5C2.7.8.8 2.7.8 5v30c0 2.3 1.9 4.2 4.2 4.2h125c2.3 0 4.2-1.9 4.2-4.2V5c0-2.3-1.9-4.2-4.2-4.2M76.8 12.2 80 7.7h-3.1V7h4v.8l-3.2 4.5h3.2v.7h-4.2v-.8zm-7 0L73 7.7h-3V7h4v.8l-3.2 4.5H74v.7h-4.2zM65.2 7h2c.5 0 1 .2 1.3.5.7.6.7 1.7.2 2.4-.3.3-.6.5-1 .6l1.7 2.5h-.9l-1.6-2.4H66V13h-.8zm-4.7 0H64v.7h-2.8v1.9h2.5v.7h-2.5v1.9H64v.8h-3.5zm-2.2 0h.8v6h-.8zm-5.1 0h2.2c.5 0 .9.2 1.2.5s.5.7.5 1.2c0 .3-.1.5-.2.8-.1.2-.4.4-.6.5.3.1.5.3.7.5s.3.5.3.9c0 .5-.2.9-.5 1.2s-.8.5-1.3.5h-2.3zm-6.4.8c1.2-1.2 3.2-1.2 4.4 0s1.2 3.2 0 4.4-3.2 1.2-4.4 0-1.2-3.2 0-4.4M41.4 7h2c.5 0 1 .2 1.3.5.7.7.8 1.8.1 2.5l-.1.1c-.4.3-.8.5-1.3.5h-1.2V13h-.8zm10.9 21.4c-1.2 1.3-2.9 1.9-4.6 1.9h-.5c-3.6-.1-6.5-3.2-6.3-6.9.1-3.6 3.2-6.5 6.9-6.3 1.7 0 3.3.7 4.5 1.9L51 20.1c-.9-.8-2.1-1.3-3.3-1.3-2.7 0-4.8 2.1-4.8 4.8s2.1 4.8 4.8 4.8c1.2 0 2.5-.4 3.3-1.3.6-.6.9-1.4 1-2.3h-4.3V23h6.1c.1.4.1.8.1 1.1.1 1.6-.5 3.1-1.6 4.3m6.5 1.8c-2.3 0-4.3-1.9-4.3-4.2s1.9-4.3 4.2-4.3h.1c2.3 0 4.2 1.9 4.1 4.3.2 2.3-1.7 4.2-4.1 4.2m9.4 0c-2.3 0-4.3-1.9-4.3-4.2s1.9-4.3 4.2-4.3h.1c2.3 0 4.2 1.9 4.1 4.3.1 2.3-1.8 4.2-4.1 4.2m13.1-.6c0 3.1-1.8 4.4-4 4.4-1.7 0-3.1-1-3.8-2.5l1.6-.7c.3.9 1.2 1.5 2.1 1.5 1.4 0 2.3-.9 2.3-2.5v-.6h-.1c-.6.6-1.4 1-2.2 1-2.2-.1-3.9-1.9-4-4-.1-2.3 1.7-4.3 4-4.5.9 0 1.7.4 2.2 1h.1V22h1.7v7.6zm3.2.4h-1.9V17.5h1.9zm5.1-1.5q1.35 0 2.1-1.2l1.4 1c-.8 1.2-2.1 1.9-3.5 1.9h-.2c-2.3 0-4.1-2-4.1-4.2v-.3c0-2.2 1.8-4 4-4 1.7.1 3.1 1.1 3.6 2.7l.2.4-5.7 2.4c.5.9 1.3 1.4 2.2 1.3m12.2-3.2h-2.6V30h-1.9V17.5h5.1c2.1.2 3.8 2 3.6 4.2s-2 3.7-4.2 3.6m7 4.7h-1.9V17.5h1.9zm8.4 0h-1.8v-1h-.1c-.5.8-1.4 1.3-2.4 1.2h-.1c-1.6.1-2.9-1.2-3-2.8 0-1.8 1.8-2.8 3.6-2.8.7 0 1.3.2 2 .5V25c-.1-1-1-1.7-2-1.6-.7-.1-1.4.3-1.7.9l-1.7-.7c.6-1.2 1.9-2 3.3-1.9 2.1 0 3.8 1.3 3.8 3.5V30zm3.5 3.8h-2l1.9-4.2-3.3-7.6h2l2.2 5.4h.1l2.1-5.4h2.1z"/>
19300    <path d="M101.8 19.2h-2.6v4.3h2.6c1.2 0 2.1-1 2.1-2.1.1-1.2-.9-2.2-2.1-2.2"/>
19301    <path d="M130 0H5C2.2 0 0 2.2 0 5v30c0 2.8 2.2 5 5 5h125c2.8 0 5-2.2 5-5V5c0-2.8-2.2-5-5-5m4.2 35c0 2.3-1.9 4.2-4.2 4.2H5C2.7 39.2.8 37.3.8 35V5C.8 2.7 2.7.8 5 .8h125c2.3 0 4.2 1.9 4.2 4.2z" fill="#a6a6a6"/>
19302    <path d="M102.4 17.5h-5.1V30h1.9v-4.7h2.6c2.1.2 4-1.5 4.2-3.6s-1.5-4-3.6-4.2m-.6 6h-2.6v-4.3h2.6c1.2 0 2.1 1 2.1 2.1.1 1.3-.9 2.2-2.1 2.2M113.4 21.7c-1.4-.1-2.7.6-3.4 1.9l1.7.7c.3-.6 1-1 1.7-.9 1-.1 1.9.6 2 1.6v.1c-.6-.3-1.3-.5-2-.5-1.8 0-3.6 1-3.6 2.8.1 1.6 1.4 2.8 3 2.8h.1c1 .1 1.9-.4 2.4-1.2h.1v1h1.8v-4.8c0-2.2-1.7-3.5-3.8-3.5m-.2 6.9c-.7 0-1.5-.3-1.5-1.1 0-1 1.1-1.3 2-1.3.6 0 1.2.1 1.7.4-.2 
193021.1-1.1 2-2.2 2M59 21.7h-.1c-2.3 0-4.2 1.9-4.2 4.3 0 2.3 1.9 4.2 4.3 4.2 2.3 0 4.2-1.9 4.2-4.2-.1-2.3-1.9-4.2-4.2-4.3m-.1 6.9s-.1 0 0 0c-1.5.1-2.7-1-2.8-2.4s1-2.7 2.4-2.8 2.7 1 2.8 2.4v.2c0 1.4-1.1 2.5-2.4 2.6M121.6 27.4h-.1l-2.2-5.4h-2l3.4 7.6-1.9 4.2h1.9l5.1-11.8h-2.1zM47.7 23.1v1.8H52c-.1.8-.4 1.6-1 2.3-.9.9-2.1 1.4-3.3 1.3-2.7 0-4.8-2.1-4.8-4.8s2.1-4.8 4.8-4.8c1.2 0 2.4.4 3.3 1.3l1.3-1.3c-1.2-1.2-2.8-1.9-4.5-1.9-3.6-.1-6.7 2.7-6.9 6.3-.1 3.6 2.7 6.7 6.3 6.9h.5c1.7.1 3.4-.6 4.6-1.9 1-1.2 1.6-2.7 1.6-4.2 0-.4 0-.8-.1-1.1zM106.9 17.5h1.9V30h-1.9zM82.6 17.5h1.9V30h-1.9zM79.6 22.7c-.6-.6-1.5-1-2.3-1-2.3.1-4.2 2.1-4 4.5.1 2.2 1.9 3.9 4 4 .9 0 1.7-.4 2.2-1h.1v.6c0 1.6-.9 2.5-2.3 2.5-1 0-1.8-.6-2.1-1.5l-1.6.7c.6 1.5 2.1 2.5 3.8 2.5 2.2 0 4-1.3 4-4.4V22h-1.7v.7zm.1 3.3c.1 1.3-.9 2.5-2.2 2.6h-.1c-1.4-.1-2.5-1.4-2.4-2.8.1-1.3 1.1-2.2 2.4-2.4 1.4.1 2.4 1.2 2.3 2.6M93 24.5c-.5-1.6-2-2.6-3.6-2.7-2.2 0-4 1.8-4 4v.3c0 2.3 1.8 4.2 4.1 4.2h.2c1.4 0 2.8-.7 3.5-1.9l-1.4-1c-.4.7-1.2 1.2-2.1 1.2s-1.7-.5-2.1-1.3l5.7-2.4zm-5.8 1.4c-.1-1.3.9-2.4 2.2-2.5.7 0 1.3.3 1.6.9zM68.3 21.7h-.1c-2.3 0-4.2 1.9-4.2 4.3s1.9 4.2 4.3 4.2c2.3 0 4.2-1.9 4.2-4.2-.1-2.3-1.9-4.2-4.2-4.3m-.1 6.9c-1.5.1-2.7-1-2.8-2.4s1-2.7 2.4-2.8 2.7 1 2.8 2.4v.2c0 1.4-1 2.5-2.4 2.6M74 12.3h-3.2L74 7.8V7h-4v.7h3l-3.2 4.5v.8H74zM42.2 10.6h1.2c.5 0 1-.2 1.3-.5l.1-.1c.7-.7.6-1.8-.1-2.5-.4-.3-.8-.5-1.3-.5h-2v6h.8zm0-2.9h1.3c.3 0 .6.1.8.3.4.4.4 1 0 1.4-.2.2-.5.3-.8.3h-1.3zM80.9 12.3h-3.2l3.2-4.5V7h-4v.7h3l-3.1 4.5v.8h4.1zM64 12.3h-2.8v-1.9h2.5v-.8h-2.5V7.7H64V7h-3.5v6H64zM65.9 10.6h.9l1.6 2.4h.9l-1.7-2.5c.4-.1.7-.3 1-.6.6-.7.5-1.8-.2-2.4-.4-.3-.8-.5-1.3-.5h-2v6h.8zm0-2.9h1.3c.3 0 .6.1.8.3s.3.5.3.7c0 .3-.1.6-.3.8s-.5.3-.8.3H66V7.7zM51.2 12.2c1.2-1.2 1.2-3.2 0-4.4s-3.2-1.2-4.4 
193020-1.2 3.2 0 4.4 3.2 1.2 4.4 0m-3.8-3.9c.9-.9 2.4-.9 3.3 0 .9 1 .9 2.5 0 3.4s-2.4.9-3.3 0c-.9-1-.9-2.4 0-3.4M58.3 7h.8v6h-.8zM56.8 12.5c.4-.3.6-.8.5-1.2q0-.45-.3-.9c-.2-.2-.4-.4-.7-.5.2-.1.4-.3.6-.5.1-.2.2-.5.2-.8 0-.4-.2-.9-.5-1.2s-.8-.5-1.2-.5h-2.2v6h2.3c.4.1.9-.1 1.3-.4m-2.9-4.8h1.4c.3 0 .5.1.7.3.4.3.4.9 0 1.3-.2.2-.4.3-.7.3h-1.4zm0 2.6h1.5c.6 0 1 .4 1 1 0 .3-.1.5-.3.7s-.4.3-.7.3h-1.5z" fill="#fff"/>
19303    <path d="m20.717 19.424-10.646 11.3.001.007a2.875 2.875 0 0 0 4.237 1.734l.034-.02 11.983-6.914z" fill="#e84436"/>
19304    <path d="m31.488 17.5-.01-.007-5.174-3-5.828 5.188 5.849 5.848 5.146-2.97a2.878 2.878 0 0 0 .017-5.06" fill="#fbbc0c"/>
19305    <path d="M10.07 9.277a2.8 2.8 0 0 0-.097.74v19.968q0 .385.098.739l11.012-11.01z" fill="#517cbe"/>
19306    <path d="m20.796 20 5.51-5.508-11.97-6.94a2.88 2.88 0 0 0-4.265 1.722l-.001.003z" fill="#32a853"/>
19307<title>Pobierz z Google Play</title></svg>
19308            </a>
19309            <a href="https://apps.apple.com/pl/app/id6443771523"
19310               target="_blank"
19311               aria-label="Pobierz w App Store"
19312               rel="nofollow">
19313                <svg xmlns="http://www.w3.org/2000/svg" width="120" height="40" viewBox="0 0 119.664 40" class="shrink-0" role="img">
19314  <path fill="#a6a6a6" d="M110.135 0H9.535Q8.986 0 8.44.002q-.457.004-.919.013A13 13 0 0 0 5.517.19a6.7 6.7 0 0 0-1.9.627 6.4 6.4 0 0 0-1.62 1.18A6.3 6.3 0 0 0 .82 3.617 6.6 6.6 0 0 0 .195 5.52a13 13 0 0 0-.179 2.002c-.01.307-.01.615-.015.921V31.56c.005.31.006.61.015.921a13 13 0 0 0 .18 2.002 6.6 6.6 0 0 0 .624 1.905A6.2 6.2 0 0 0 1.998 38a6.3 6.3 0 0 0 1.618 1.179 6.7 6.7 0 0 0 1.901.63 13.5 13.5 0 0 0 2.004.177c.31.007.613.011.919.011.366.002.728.002 1.095.002h100.6c.36 0 .724 0 1.084-.002.304 0 .617-.004.922-.01a13 13 0 0 0 2-.178 6.8 6.8 0 0 0 1.908-.63A6.3 6.3 0 0 0 117.666 38a6.4 6.4 0 0 0 1.182-1.614 6.6 6.6 0 0 0 .619-1.905 13.5 13.5 0 0 0 .185-2.002c.004-.31.004-.61.004-.921.008-.364.008-.725.008-1.094V9.536q.002-.549-.008-1.092.001-.46-.004-.92a13.5 13.5 0 0 0-.185-2.003 6.6 6.6 0 0 0-.62-1.903 6.47 6.47 0 0 0-2.798-2.8 6.8 6.8 0 0 0-1.908-.627 13 13 0 0 0-2-.176c-.305-.005-.618-.011-.922-.013-.36-.002-.725-.002-1.084-.002"/>
19315  <path d="M8.445 39.125c-.305 0-.602-.004-.904-.01a13 13 0 0 1-1.87-.164 5.9 5.9 0 0 1-1.656-.548 5.4 5.4 0 0 1-1.397-1.016 5.3 5.3 0 0 1-1.02-1.397 5.7 5.7 0 0 1-.544-1.657 12.4 12.4 0 0 1-.166-1.875c-.007-.21-.015-.913-.015-.913v-23.1s.009-.692.015-.895a12.4 12.4 0 0 1 .165-1.872 5.8 5.8 0 0 1 .544-1.662 5.4 5.4 0 0 1 1.015-1.398 5.6 5.6 0 0 1 1.402-1.023 5.8 5.8 0 0 1 1.653-.544A12.6 12.6 0 0 1 7.543.887l.902-.012h102.769l.913.013a12.4 12.4 0 0 1 1.858.162 6 6 0 0 1 1.671.548 5.6 5.6 0 0 1 2.415 2.42 5.8 5.8 0 0 1 .535 1.649 13 13 0 0 1 .174 1.887c.003.283.003.588.003.89.008.375.008.732.008 1.092v20.929c0 .363 0 .718-.008 1.075 0 .325 0 .623-.004.93a13 13 0 0 1-.17 1.853 5.7 5.7 0 0 1-.54 1.67 5.5 5.5 0 0 1-1.016 1.386 5.4 5.4 0 0 1-1.4 1.022 5.9 5.9 0 0 1-1.668.55 12.5 12.5 0 0 1-1.869.163c-.293.007-.6.011-.897.011l-1.084.002z"/>
19316  <g fill="#fff">
19317    <g>
19318      <path d="M24.769 20.3a4.95 4.95 0 0 1 2.356-4.151 5.07 5.07 0 0 0-3.99-2.158c-1.68-.176-3.308 1.005-4.164 1.005-.872 0-2.19-.988-3.608-.958a5.32 5.32 0 0 0-4.473 2.728c-1.934 3.348-.491 8.269 1.361 10.976.927 1.325 2.01 2.805 3.428 2.753 1.387-.058 1.905-.885 3.58-.885 1.658 0 2.144.885 3.59.852 1.489-.025 2.426-1.332 3.32-2.67a11 11 0 0 0 1.52-3.092 4.78 4.78 0 0 1-2.92-4.4m-2.732-8.09a4.87 4.87 0 0 0 1.115-3.49 4.96 4.96 0 0 0-3.208 1.66 4.64 4.64 0 0 0-1.144 3.36 4.1 4.1 0 0 0 3.237-1.53"/>
19319    </g>
19320    <path d="M42.302 27.14H37.57l-1.137 3.356h-2.005l4.484-12.418h2.083l4.483 12.418h-2.039zm-4.243-1.55h3.752l-1.85-5.446h-.051zm17.101.38c0 2.813-1.506 4.62-3.779 4.62a3.07 3.07 0 0 1-2.848-1.583h-.043v4.484h-1.86V21.442h1.8v1.506h.033a3.21 3.21 0 0 1 2.883-1.6c2.298 0 3.813 1.816 3.813 4.622zm-1.91 0c0-1.833-.948-3.038-2.393-3.038-1.42 0-2.375 1.23-2.375 3.038 0 1.824.955 3.046 2.375 3.046 1.445 0 2.393-1.197 2.393-3.046m11.875 0c0 2.813-1.506 4.62-3.779 4.62a3.07 3.07 0 0 1-2.848-1.583h-.043v4.484h-1.859V21.442h1.799v1.506h.034a3.21 3.21 0 0 1 2.883-1.6c2.298 0 3.813 1.816 3.813 4.622m-1.91 0c0-1.833-.948-3.038-2.393-3.038-1.42 0-2.375 1.23-2.375 3.038 0 1.824.955 3.046 2.375 3.046 1.445 0 2.392-1.197 2.392-3.046zm8.495 1.066c.138 1.232 1.334 2.04 2.97 2.04 1.566 0 2.693-.808 2.693-1.919 0-.964-.68-1.54-2.29-1.936l-1.609-.388c-2.28-.55-3.339-1.617-3.339-3.348 0-2.142 1.867-3.614 4.519-3.614 2.624 0 4.423 1.472 4.483 3.614h-1.876c-.112-1.239-1.136-1.987-2.634-1.987s-2.521.757-2.521 1.858c0 .878.654 1.395 2.255 1.79l1.368.336c2.548.603 3.606 1.626 3.606 3.443 0 2.323-1.85 3.778-4.793 3.778-2.754 0-4.614-1.42-4.734-3.667zM83.346 19.3v2.142h1.722v1.472h-1.722v4.991c0 .776.345 1.137 1.102 1.137a6 6 0 0 0 .611-.043v1.463a5 5 0 0 1-1.032.086c-1.833 0-2.548-.689-2.548-2.445v-5.189h-1.316v-1.472h1.316V19.3zm2.719 6.67c0-2.849 1.678-4.639 4.294-4.639 2.625 0 4.295 1.79 4.295 4.639 0 2.856-1.661 4.638-4.295 4.638s-4.294-1.782-4.294-4.638m6.695 0c0-1.954-.895-3.108-2.401-3.108s-2.4 1.162-2.4 3.108c0 1.962.894 3.106 2.4 3.106s2.401-1.144 2.401-3.106m3.426-4.528h1.773v1.541h.043a2.16 2.16 0 0 1 2.177-1.635 3 3 0 0 1 .637.069v1.738a2.6 2.6 0 0 0-.835-.112 1.873 1.873 0 0 0-1.937 2.083v5.37h-1.858zm13.198 6.395c-.25 1.643-1.85 2.771-3.898 2.771-2.634 0-4.269-1.764-4.269-4.595 0-2.84 1.644-4.682 4.19-4.682 2.506 0 4.08 1.72 4.08 4.466v.637h-6.394v.112a2.358 2.358 0 0 0 2.436 2.564 2.05 2.05 0 0 0 2.09-1.273zm-6.282-2.702h4.526a2.177 2.177 0 0 0-2.22-2.298 2.29 2.29 0 0 0-2.306 2.298"/>
19321  </g>
19322  <path fill="#fff" d="M38.008 8.731a1.88 1.88 0 0 1 1.968 1.989 1.896 1.896 0 0 1-1.997 1.968h-1.381v2.01h-.927V8.73zm-1.41 3.143h1.166c.798 0 1.265-.414 1.265-1.154 0-.757-.45-1.17-1.265-1.17h-1.166zm4.244.57a2.133 2.133 0 1 1 4.247 0 2.134 2.134 0 1 1-4.247 0m3.333 0c0-.976-.439-1.547-1.208-1.547-.773 0-1.207.571-1.207 1.547 0 .984.434 1.55 1.207 1.55.77 0 1.208-.57 1.208-1.55m3.069 1.542h-.066v.712h-.856V8.437h.889v2.473h.07a1.5 1.5 0 0 1 1.386-.79c1.14 0 1.86.893 1.86 2.324 0 1.427-.723 2.328-1.86 2.328a1.56 1.56 0 0 1-1.423-.786m-.05-1.538c.005.943.468 1.526 1.216 1.526.753 0 1.203-.575 1.203-1.53 0-.947-.45-1.526-1.203-1.526-.744 0-1.21.587-1.216 1.53m4.411-3.585a.576.576 0 1 1 .575.542.547.547 0 0 1-.575-.542m.131 1.332h.886v4.503h-.886zm6.127 3.287a1.83 1.83 0 0 1-1.95 1.303 2.045 2.045 0 0 1-2.08-2.325 2.077 2.077 0 0 1 2.075-2.352c1.253 0 2.009.856 2.009 2.27v.31h-3.18v.05a1.19 1.19 0 0 0 1.2 1.29 1.08 1.08 0 0 0 1.07-.546zm-3.126-1.451h2.275a1.086 1.086 0 0 0-1.109-1.167 1.15 1.15 0 0 0-1.166 1.167m4.373-1.836h.856v.69h.066a1.22 1.22 0 0 1 1.216-.765 2 2 0 0 1 .397.037v.877a2.4 2.4 0 0 0-.497-.053A1.055 1.055 0 0 0 60 12.039v2.659h-.889zm3.413 3.899L65 11.018v-.07h-2.46v-.753h3.523v.649l-2.423 3.031v.07h2.448v.753h-3.565zm11.947.604h-.922l-.93-3.317h-.07l-.927 3.317h-.913l-1.242-4.503h.902l.806 3.436h.067l.926-3.436h.852l.926 3.436h.07l.803-3.436h.889z"/>
19323<title>Pobierz w App Store</title></svg>
19324            </a>
19325        </div>
19326    </div>
19327</div>
19328</div><div>
19329<div
19330    class="grid grid-cols-2 justify-center items-center gap-y-2 gap-x-6 text-[10px] md:grid-cols-[repeat(3,auto)] md:justify-start">
19331    <a
19332        class="col-span-2 justify-self-center md:col-span-1"
19333        href="https://www.wetgiw.gov.pl/nadzor-weterynaryjny/obrot-detaliczny-produktami-otc-na-odleglosc"
19334        target="_blank"
19335        rel="nofollow">
19336                <img
19337            src="https://static.fera.pl/version1790219430/frontend/Tooks/default/pl_PL/Hyva_Theme/svg/veterinary-badge.svg"
19338            alt="Główny Inspektorat Sanitarny"
19339            width="90"
19340            height="75"
19341            loading="lazy"
19342        />
19343    </a>
19344    <a
19345        class="max-w-[103px]"
19346        href="https://pasze.wetgiw.gov.pl/otc/demo/index.php?jezyk=1"
19347        target="_blank"
19348        rel="nofollow">Wykaz podmiotów prowadzących internetową sprzedaż detaliczną OTC</a>
19349    <a
19350        class="max-w-[134px]"
19351        href="https://wroc.wiw.gov.pl"
19352        target="_blank"
19353        aria-label="Provincial Veterinary Inspectorate"
19354        rel="nofollow">Wojewódzki Inspektorat Weterynaryjny we Wrocławiu ul.&nbsp;Januszowicka 48, 50-983 Wrocław</a>
19355</div>
19356</div><div class="flex gap-4 flex-col items-center justify-between w-full xl:flex-row">
19357
19358<div class="flex flex-wrap gap-4">
19359            
19360                    <img src="https://static.fera.pl/version1790219430/frontend/Tooks/default/pl_PL/Hyva_Theme/svg/polska-marka.svg" alt="Polska&#x20;Marka" class="w-[54px] h-[54px] object-contain" width="54" height="54" loading="lazy">                    
19361                    <img src="https://static.fera.pl/version1790219430/frontend/Tooks/default/pl_PL/Hyva_Theme/svg/laur-konsumenta.svg" alt="Laur&#x20;Konsumenta&#x20;2019" class="w-[54px] h-[54px] object-contain" width="54" height="54" loading="lazy">                    
19362                    <img src="https://static.fera.pl/version1790219430/frontend/Tooks/default/pl_PL/images/topfordog.png" alt="Top&#x20;for&#x20;Dog" class="w-[54px] h-[54px] object-contain" width="54" height="54" loading="lazy">            </div>
19363<div class="flex gap-2.5 items-center">
19364    <a id="footer.social.link.facebook"
19365       href="https://www.facebook.com/sklepferapl"
19366       title="Facebook"
19367       aria-label="Facebook"
19368       target="_blank"
19369       rel="nofollow"
19370    >
19371        <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" fill="none" aria-hidden="true">
19372    <path d="M16 0C24.8364 0 31.9998 7.16385 32 16C32 24.8363 24.8365 32.001 16 32.001C7.16347 32.001 0 24.8363 0 16C0.000151283 7.16386 7.16357 5.92263e-06 16 0ZM17.2695 6.52441C14.435 6.34965 12.8653 8.57394 12.8652 11.2344V13.8945H9.6377V17.4707H12.8652V26.3232H16.7031V17.4707H19.5371L20.1045 13.8945H16.7031V11.1904C16.7034 10.1878 17.6624 9.62012 18.5781 9.62012H20.2354V6.65527L17.2695 6.52441Z" fill="white"/>
19373</svg>
19374    </a>
19375
19376
19377    <a id="footer.social.link.instagram"
19378       href="https://www.instagram.com/fera_pl"
19379       title="Instagram"
19380       aria-label="Instagram"
19381       target="_blank"
19382       rel="nofollow"
19383    >
19384        <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" fill="none" aria-hidden="true">
19385    <path d="M16 0C24.8365 0 31.9998 7.16384 32 16C32 24.8363 24.8365 32.001 16 32.001C7.16339 32.001 0 24.8363 0 16C0.00016117 7.16386 7.16349 2.4533e-05 16 0ZM11.7129 6.7627C8.95837 6.7627 6.69238 9.02834 6.69238 11.7832V20.3135C6.6924 23.0683 8.95839 25.334 11.7129 25.334H20.2871C23.0416 25.334 25.3076 23.0683 25.3076 20.3135V11.7832C25.3076 9.02834 23.0416 6.7627 20.2871 6.7627H11.7129ZM20.2432 8.3623C22.1535 8.36244 23.708 9.91764 23.708 11.8281V20.2686C23.708 22.179 22.1535 23.7342 20.2432 23.7344H11.7568C9.84656 23.7342 8.29199 22.179 8.29199 20.2686V11.8281C8.29199 9.91764 9.84656 8.36245 11.7568 8.3623H20.2432ZM15.9775 10.9834C13.2233 10.9835 10.9573 13.2933 10.957 16.0479C10.957 18.8463 13.2231 21.1132 15.9775 21.1133H16.0225C18.7769 21.1132 21.0869 18.8464 21.0869 16.0479C21.0867 13.2933 18.7767 10.9835 16.0225 10.9834H15.9775ZM16.0225 12.7168C17.8437 12.7169 19.3542 14.2267 19.3545 16.0479C19.3545 17.9138 17.8439 19.4247 16.0225 19.4248H15.9775C14.1561 19.4247 12.6455 17.9138 12.6455 16.0479C12.6458 14.2267 14.1563 12.7169 15.9775 12.7168H16.0225ZM20.998 10.
193850059C20.3763 10.0059 19.9318 10.4947 19.9316 11.0723C19.9316 11.65 20.3762 12.1386 20.998 12.1387C21.5757 12.1387 22.0645 11.65 22.0645 11.0723C22.0643 10.4947 21.5756 10.0059 20.998 10.0059Z" fill="white"/>
19386</svg>
19387    </a>
19388
19389    <a id="footer.social.link.youtube"
19390       href="https://www.youtube.com/FeraPlsklepzoologiczny"
19391       title="YouTube"
19392       aria-label="YouTube"
19393       target="_blank"
19394       rel="nofollow"
19395    >
19396        <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" fill="none" aria-hidden="true">
19397    <path d="M16 0C24.837 0.000235779 31.9999 7.16361 32 16C32 24.8365 24.837 31.9998 16 32C7.16364 32 0 24.8366 0 16C9.67478e-05 7.16346 7.1637 0 16 0ZM16.0254 9.47559C14.4184 9.47559 12.3107 9.54659 10.5254 9.68945C8.4186 9.86799 7.31087 10.2251 7.02539 12.332C6.91826 13.2962 6.8467 14.6176 6.84668 15.9746C6.84668 17.3317 6.91825 18.6896 7.02539 19.6182C7.31089 21.7607 8.41862 22.0822 10.5254 22.2607C12.3107 22.4393 14.4184 22.4746 16.0254 22.4746C17.6316 22.4746 19.7031 22.4393 21.5244 22.2607C23.6312 22.0822 24.7029 21.7607 24.9893 19.6182C25.1315 18.6896 25.2041 17.3317 25.2041 15.9746C25.2041 14.6176 25.1315 13.2962 24.9893 12.332C24.7029 10.2251 23.6312 9.86799 21.5244 9.68945C19.7031 9.54659 17.6316 9.47559 16.0254 9.47559ZM18.9531 15.9746L14.168 18.7607V13.2256L18.9531 15.9746Z" fill="white"/>
19398</svg>
19399    </a>
19400</div></div>            </div>
19401        </div>
19402        <div class="bg-brandTertiary-800">
19403        <div class="container py-6">
19404            <small class="flex flex-col xl:flex-row xl:justify-between gap-3 text-sm text-white">
19405    
19406<div class="flex flex-col gap-y-1.5 gap-x-6 font-medium xl:flex-row" aria-label="Store information">
19407            <div aria-label="Store address">
19408            Fera sp. z o.o., Zbąszyńska 3, 91-342 Łódź        </div>
19409    
19410            <div aria-label="VAT ID">
19411            VAT ID 8992750635        </div>
19412    </div>
19413
19414<nav
19415    >
19416    <ul class="flex flex-col gap-y-2 gap-x-6 font-semibold xl:flex-row">
19417                    <li>
19418                
19419<a href="https://fera.pl/o-nas"
19420                data-menu="menu-1"
19421    >
19422    O nas</a>
19423            </li>
19424                    <li>
19425                
19426        <a href="https://fera.pl/centrum-pomocy/pomoc-zwroty-i-reklamacje-jak-moge-zwrocic-zakupiony-produkt-w-ciagu-40-dni/"
19427                            data-menu="menu-3"
19428                        data-menu="menu-3"    >
19429        Zwroty    </a>
19430            </li>
19431                    <li>
19432                
19433        <a href="/contact"
19434                            data-menu="menu-4"
19435                        data-menu="menu-4"    >
19436        Kontakt    </a>
19437            </li>
19438                    <li>
19439                
19440<a href="https://fera.pl/sygnalisci"
19441                data-menu="menu-6"
19442    >
19443    Sygnaliści</a>
19444            </li>
19445            </ul>
19446</nav>
19447</small>
19448        </div>
19449    </div>
19450</div>
19451</div></footer>
19452<script type="text&#x2F;javascript">window.dataLayer = window.dataLayer || [];
19453
19454(function () {
19455        /**
19456     * @var {[Object]}
19457     */
19458    const dataToPush = JSON.parse('[]');
19459
19460    dataToPush.forEach((dataObject) => {
19461        window.dataLayer.push(dataObject);
19462    });
19463})();
19464</script>
19464
19465
19466<script>
19467    (_ => {
19468        'use strict';
19469
19470        const SECTION_KEY = 'amga4_hyva_event_pool';
19471        const MAGE_CACHE_SECTION_KEY = 'mage-cache-storage';
19472        const storage = hyva.getBrowserStorage();
19473
19474        window.addEventListener('private-content-loaded', ({ detail }) => {
19475            if (!detail?.data) {
19476                return;
19477            }
19478
19479            const data = detail?.data[SECTION_KEY];
19480            if (!data) {
19481                return;
19482            }
19483
19484            let eventsPool = data?.events || [];
19485            if (eventsPool.length) {
19486                eventsPool.forEach(event => {
19487                    window.dataLayer.push({ecommerce: null});
19488                    window.dataLayer.push(event);
19489                });
19490
19491                setTimeout(() => {
19492                    storage.setItem(
19493                        MAGE_CACHE_SECTION_KEY,
19494                        JSON.stringify({
19495                            ...detail.data,
19496                            [SECTION_KEY]: {}
19497                        })
19498                    );
19499                }, 0);
19500            }
19501        });
19502    })();
19503</script>
19503
19504
19505<div x-data="initAmGdprPolicyPopup" x-bind="eventListeners">
19506    <div x-cloak
19507         x-bind="overlay"
19508         class="fixed inset-0 flex items-center justify-center text-left bg-black bg-opacity-50 z-60"
19509    >
19510        <div x-ref="amgdpr-policy-popup" role="dialog" aria-labelledby="amgdpr-policy-content"
19511             class="flex flex-col bg-white shadow-xl rounded-lg p-10 max-h-[95vh] max-w-6xl relative">
19512            <div tabindex="0" @focusin="focusAcceptButton"></div>
19513            <button @click.stop="hidePopup"
19514                    x-ref="amgdpr-close-policy"
19515                    aria-label="Zamknij"
19516                    class="absolute right-4 top-4 text-gray-300 transition
19517                    hover:text-black focus:drop-shadow-md hover:drop-shadow-md"
19518            >
19519                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="h-6 w-6" width="24" height="24" role="img">
19520  <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"/>
19521<title>x</title></svg>
19522            </button>
19523            <div class="flex w-full">
19524                <p class="w-full text-brandSecondary-900 text-3xl mb-5 ml-3" x-text="title"></p>
19525            </div>
19526            <div x-show="isNotificationTextVisible" class="flex w-full">
19527                <p class="mb-4 p-4 bg-yellow-100 w-full" x-text="notificationText"></p>
19528            </div>
19529            <div id="amgdpr-policy-content"
19530                 class="max-h-[500px] overflow-auto first:mx-0 child:mx-0"
19531                 tabindex="0"
19532                 x-html="policyText"
19533            ></div>
19534            <div class="mt-8 flex w-full justify-center">
19535                <button x-focus-first
19536                        @click.stop="triggerAcceptPolicy"
19537                        x-ref="amgdpr-accept-policy"
19538                        type="button"
19539                        class="btn btn-primary"
19540                        aria-label="Przeczyta&#x0142;em&#x20;i&#x20;akceptuj&#x0119;"
19541                >
19542                    Przeczytałem i akceptuję                </button>
19543            </div>
19544            <div tabindex="0" @focusin="focusCloseButton"></div>
19545        </div>
19546
19547    </div>
19548</div>
19549
19550<script data-cfasync="false">
19551    'use strict';
19552
19553    /**
19554     * @typedef PolicyData
19555     * @property {string} policyVersion
19556     * @property {boolean} show
19557     * @property {string} title
19558     * @property{boolean} versionChanged
19559     * @property {boolean} hideClose
19560     * @property {boolean} action
19561     */
19562
19563    function initAmGdprPolicyPopup() {
19564        return {
19565            ...hyva.modal({
19566                dialog: 'amgdpr-policy-popup'
19567            }),
19568            eventListeners: {
19569                ['@amgdpr-accept-policy']() {
19570                    if (this.consentId) {
19571                        window.dispatchEvent(new CustomEvent('amgdpr-consent-accepted', {detail: this.consentId}));
19572                        this.consentId = undefined;
19573                        this.hidePopup();
19574                    } else {
19575                        this.acceptPolicy();
19576                    }
19577                },
19578                ['@amgdpr-show-policy.window'](event) {
19579                    this.consentId = event.detail;
19580                    this.fetchPolicyContent().then(() => {
19581                        this.$nextTick(() => {
19582                            this.showPopup();
19583                        });
19584                    });
19585                },
19586                ['@amgdpr-close-policy']() {
19587                    this.hidePopup();
19588                }
19589            },
19590            textUrl: 'https://fera.pl/gdpr/policy/policytext/',
19591            acceptUrl: 'https://fera.pl/gdpr/policy/accept/',
19592            popupDataUrl: 'https://fera.pl/gdpr/policy/popupData/',
19593            notificationText: 'We would like to inform you that our Privacy Policy has been amended.Please, read and accept the new terms.',
19594            showOnPageLoad: false,
19595            /**
19596             * @type PolicyData
19597             */
19598            policyData: {
19599                policyVersion: '',
19600                show: false,
19601                title: '',
19602                versionChanged: false,
19603                hideClose: false,
19604                action: true
19605            },
19606            title: '',
19607            policyText: '',
19608            consentId: undefined,
19609            init: async function () {
19610                await this.fetchPolicyData();
19611                if ((this.showOnPageLoad && this.policyData.show) || this.policyData.versionChanged) {
19612                    await this.fetchPolicyContent();
19613                    this.$nextTick(() => {
19614                        this.show('amgdpr-policy-popup');
19615                    });
19616                }
19617            },
19618
19619            /**
19620             * @returns {void}
19621             */
19622            hidePopup: function () {
19623                this.hide('amgdpr-policy-popup');
19624            },
19625
19626            /**
19627             * @returns {void}
19628             */
19629            showPopup: function () {
19630                this.show('amgdpr-policy-popup');
19631            },
19632
19633            /**
19634             * @returns {void}
19635             */
19636            triggerAcceptPolicy: function () {
19637                this.$dispatch('amgdpr-accept-policy');
19638            },
19639
19640            /**
19641             * @returns {Boolean}
19642             */
19643            isNotificationTextVisible: function () {
19644                return this.notificationText && this.policyData.versionChanged;
19645            },
19646
19647            /**
19648             * @returns {Promise}
19649             */
19650            fetchPolicyData: function () {
19651                return fetch(this.popupDataUrl)
19652                    .then(response => response.json())
19653                    .then((data) => {
19654                        this.policyData = {...data}
19655                    })
19656                    .catch(error => this.dispatchErrorMessage(error));
19657            },
19658
19659            /**
19660             * @returns {Promise}
19661             */
19662            fetchPolicyContent: function () {
19663                this.title = '';
19664                this.policyText = '';
19665
19666                const params = !!this.consentId
19667                    ? '?' + new URLSearchParams({consent_id: this.consentId})
19668                    : ''
19669
19670                return fetch(this.textUrl + params)
19671                    .then(response => response.json())
19672                    .then(policyContent => {
19673                        this.title = policyContent.title;
19674                        this.policyText = policyContent.content;
19675                    }).catch(error => this.dispatchErrorMessage(error));
19676            },
19677
19678            /**
19679             * @returns {void}
19680             */
19681            acceptPolicy: function () {
19682                window.dispatchEvent(new Event('amgdpr-loading-start'));
19683
19684                const body = new URLSearchParams({form_key: hyva.getFormKey(), ...this.policyData});
19685                const contentType = 'application/x-www-form-urlencoded; charset=UTF-8';
19686
19687                fetch(this.acceptUrl, {method: 'POST', body, headers: {'Content-Type': contentType}})
19688                    .then(response => response.json())
19689                    .then(data => {
19690                        if (data.error) {
19691                            this.dispatchErrorMessage(data.message)
19692                        } else {
19693                            this.notificationText = '';
19694                            this.hide('amgdpr-policy-popup');
19695                        }
19696                    })
19697                    .catch(error => this.dispatchErrorMessage(error))
19698                    .finally(() => window.dispatchEvent(new Event('amgdpr-loading-stop')));
19699            },
19700
19701            /**
19702             * @param {string} message
19703             * @returns {void}
19704             */
19705            dispatchErrorMessage: function (message) {
19706                typeof window.dispatchMessages !== "undefined" && window.dispatchMessages([
19707                    {
19708                        type: "error",
19709                        text: message
19710                    }
19711                ]);
19712            },
19713
19714            /**
19715             * @returns {void}
19716             */
19717            focusAcceptButton: function () {
19718                this.$refs['amgdpr-accept-policy']?.focus();
19719            },
19720
19721            /**
19722             * @returns {void}
19723             */
19724            focusCloseButton: function () {
19725                this.$refs['amgdpr-close-policy']?.focus();
19726            }
19727        }
19728    }
19729
19730    window.addEventListener(
19731        'alpine:init',
19732        () => Alpine.data('initAmGdprPolicyPopup', initAmGdprPolicyPopup),
19733        { once: true }
19734    );
19735</script>
vendor: 1 bytes, line 19735
19735
19736<script>
19737    'use strict';
19738
19739    (function() {
19740        window.AmClarityGdprTrackEvents = {
19741            /**
19742             * @param {array}
19743             */
19744            allGroups: ['0'],
19745
19746            /**
19747             * @param {object}
19748             */
19749            resolveAllowEvent: {
19750                getAllowedGroups: () => window.AmClarityGdprTrackEvents.allGroups
19751            },
19752
19753            /**
19754             * @param {object}
19755             */
19756            resolveAcceptEvent: {
19757                getAllowedGroups: () => Alpine.store('AmastyCookieGroups')?.getCheckedGroupIds() ?? []
19758            },
19759
19760            /**
19761             * @return {void}
19762             */
19763            init: function () {
19764                window.addEventListener('cookiebar-action-accept-finish', this.updateConsent.bind(this.resolveAcceptEvent));
19765                window.addEventListener('cookiebar-action-allow-finish', this.updateConsent.bind(this.resolveAllowEvent));
19766            },
19767
19768            /**
19769             * @return {void}
19770             */
19771            updateConsent: function () {
19772                if (!window.amClarityConsentManager) {
19773                    return;
19774                }
19775
19776                window.amClarityConsentManager.updateConsent(
19777                    window.amClarityConsentManager.getConsentTypeStateByGroupIds(this.getAllowedGroups())
19778                );
19779            }
19780        }
19781
19782        window.AmClarityGdprTrackEvents.init();
19783    })()
19784</script>
vendor: 1 bytes, line 19784
19784
19785<script>
19786    'use strict';
19787
19788    (function() {
19789        const allGroups = ['0'];
19790
19791        const resolveAllowEvent = {
19792            getAllowedGroups: () => allGroups
19793        }
19794
19795        const resolveAcceptEvent = {
19796            getAllowedGroups: () => Alpine.store('AmastyCookieGroups').getCheckedGroupIds() ?? []
19797        }
19798
19799        function updateConsent () {
19800            if (!window.amConsentManager) {
19801                return;
19802            }
19803
19804            window.amConsentManager.updateConsent(
19805                window.amConsentManager.getConsentTypeStateByGroupIds(this.getAllowedGroups())
19806            );
19807        }
19808
19809        window.addEventListener('cookiebar-action-accept-finish', updateConsent.bind(resolveAcceptEvent));
19810        window.addEventListener('cookiebar-action-allow-finish', updateConsent.bind(resolveAllowEvent));
19811    })()
19812</script>
vendor: 1 bytes, line 19812
19812
19813<script>
19814    'use strict';
19815
19816    (function() {
19817        window.AmPixelBingTrackEvents = {
19818            /**
19819             * @param {array}
19820             */
19821            allGroups: ['0'],
19822
19823            /**
19824             * @param {object}
19825             */
19826            resolveAllowEvent: {
19827                getAllowedGroups: () => window.AmPixelBingTrackEvents.allGroups
19828            },
19829
19830            /**
19831             * @param {object}
19832             */
19833            resolveAcceptEvent: {
19834                getAllowedGroups: () => Alpine.store('AmastyCookieGroups').getCheckedGroupIds() ?? []
19835            },
19836
19837            /**
19838             * @return {void}
19839             */
19840            init: function () {
19841                window.addEventListener('cookiebar-action-accept-finish', this.updateConsent.bind(this.resolveAcceptEvent));
19842                window.addEventListener('cookiebar-action-allow-finish', this.updateConsent.bind(this.resolveAllowEvent));
19843            },
19844
19845            /**
19846             * @return {void}
19847             */
19848            updateConsent: function () {
19849                if (!window.amMicrosoftConsentManager) {
19850                    return;
19851                }
19852
19853                window.amMicrosoftConsentManager.updateConsent(
19854                    window.amMicrosoftConsentManager.getConsentTypeStateByGroupIds(this.getAllowedGroups())
19855                );
19856            }
19857        }
19858
19859        window.AmPixelBingTrackEvents.init();
19860    })()
19861</script>
19861
19862
19863<script>document.addEventListener("DOMContentLoaded", function() {
19864        if (document.querySelectorAll('.mf-ytw-wrapper').length 
19865            || document.querySelectorAll('[data-mf-ytw-youtube-link]').length) {
19866            !function (f, b, e, v, t, s) {
19867                if(f.mfytwcss)return;
19868                f.mfytwcss=1;
19869                t = b.createElement(e);
19870                t.rel = 'stylesheet';
19871                t.type = 'text/css';
19872                t.href = v;
19873                s = b.getElementsByTagName('HEAD')[0];
19874                s.appendChild(t)
19875            }(window, document, 'link', 'https://static.fera.pl/version1790219430/frontend/Tooks/default/pl_PL/Magefan_YouTubeWidget/css/youtubewidget.css');
19876        }
19877        if (document.querySelectorAll('.mf-ytw-wrapper').length) {
19878            !function (f, b, e, v, t, s) {
19879                if(f.mfytwjs)return;
19880                f.mfytwjs=1;
19881                t = b.createElement(e);
19882                t.type = 'text/javascript';
19883                t.src = v;
19884                s = b.getElementsByTagName('HEAD')[0];
19885                s.appendChild(t)
19886            }(window, document, 'script', 'https://static.fera.pl/version1790219430/frontend/Tooks/default/pl_PL/Magefan_YouTubeWidget/js/iframe.js');
19887        }
19888        if (document.querySelectorAll('[data-mf-ytw-youtube-link]').length) {
19889            !function (f, b, e, v, t) {
19890                if(f.mflinkjs)return;
19891                f.mflinkjs=1;
19892                t = b.createElement(e);
19893                t.type = 'text/javascript';
19894                t.src = v;
19895                s = b.getElementsByTagName('HEAD')[0];
19896                s.appendChild(t)
19897            }(window, document, 'script', 'https://static.fera.pl/version1790219430/frontend/Tooks/default/pl_PL/Magefan_YouTubeWidget/js/link.js');
19898        }
19899    });</script>
19899<script>try {
19900smileTracker.addPageVar('type.identifier', 'blog_index_index');
19901smileTracker.addPageVar('type.label', 'Blog Homepage');
19902smileTracker.addPageVar('locale', 'pl_PL');
19903} catch (err) { ; }</script>
19903<link rel="preconnect" href="//web.snrbox.com">
19904<link rel="dns-prefetch" href="//web.snrbox.com">
19905<link rel="dns-prefetch" href="//snrcdn.net">
19906<style>
19907    body.synerise-unavailable li.category-list-desktop-banner:has([id^="synerise"]),
19908    body.synerise-unavailable li.category-list-mobile-banner:has([id^="synerise"]),
19909    body.synerise-unavailable div[id^="synerise-"] {
19910        display: none !important;
19911    }
19912</style>
19913<script nonce="ZWJ1MW9odHdwdmRzNDRja3pscG81ZmUwOGs5Mm05dTE&#x3D;">
19914    /* tooks-synerise-consent-gate */
19915    (function () {
19916        var isInitialized = false;
19917        var maxDeferTimer = null;
19918
19919        var syneriseExternalResources = [];
19920
19921function loadSyneriseExternalResources(next) {
19922    var pending = 0;
19923
19924    function onSettled() {
19925        if (--pending === 0) {
19926            next();
19927        }
19928    }
19929
19930    syneriseExternalResources.forEach(function (resource) {
19931        var element = document.createElement(resource.tag);
19932
19933        Object.keys(resource.attributes).forEach(function (name) {
19934            element.setAttribute(name, resource.attributes[name]);
19935        });
19936
19937        if (resource.tag === 'script') {
19938            element.async = false;
19939            pending++;
19940            element.addEventListener('load', onSettled, { once: true });
19941            element.addEventListener('error', onSettled, { once: true });
19942        }
19943
19944        document.head.appendChild(element);
19945    });
19946
19947    if (pending === 0) {
19948        next();
19949    }
19950}
19951
19952        function initSynerise() {
19953            if (isInitialized) {
19954                return;
19955            }
19956            isInitialized = true;
19957            clearTimeout(maxDeferTimer);
19958            window.removeEventListener('load', initSynerise);
19959
19960            // Watchdog: mark body as unavailable if SDK fails to init within 8000ms
19961            var watchdog = setTimeout(function () {
19962                document.body.classList.add('synerise-unavailable');
19963            }, 8000);
19964
19965            // Intercept window.onSyneriseLoad BEFORE running vendor code.
19966            // The SDK may load synchronously from browser cache and fire the callback
19967            // during insertBefore — before a post-hoc override would have a chance to run.
19968            // defineProperty captures whatever the vendor script assigns while always
19969            // routing the actual call through our watchdog-clearing try/catch wrapper.
19970            var _capturedInit = null;
19971            Object.defineProperty(window, 'onSyneriseLoad', {
19972                configurable: true,
19973                enumerable: true,
19974                get: function () {
19975                    return function () {
19976                        clearTimeout(watchdog);
19977                        document.body.classList.remove('synerise-unavailable');
19978                        Object.defineProperty(window, 'onSyneriseLoad', {
19979                            configurable: true,
19980                            writable: true,
19981                            value: _capturedInit
19982                        });
19983                        try {
19984                            if (typeof _capturedInit === 'function') {
19985                                _capturedInit();
19986                            }
19987                        } catch (e) {
19988                            console.error('Synerise initialization failed:', e);
19989                            document.body.classList.add('synerise-unavailable');
19990                        }
19991                    };
19992                },
19993                set: function (fn) {
19994                    _capturedInit = fn;
19995                }
19996            });
19997
19998            // Run original Synerise tracking code.
19999            // Any assignment to window.onSyneriseLoad is captured by the setter above;
20000            // any synchronous call to window.onSyneriseLoad goes through the getter wrapper.
20001            loadSyneriseExternalResources(function () {
20002                window.onSyneriseLoad = onSyneriseLoad; function onSyneriseLoad() {       SR.init({nonce: "ZWJ1MW9odHdwdmRzNDRja3pscG81ZmUwOGs5Mm05dTE=",         trackerKey: "b95c4270-6a6d-424d-ba8e-5954d857d00b",         dataLayer: dataLayer,           gaVersion: "GA_4"       });   }   (function(s,y,n,e,r,i,se){s["SyneriseObjectNamespace"]=r;s[r]=s[r]||[],    s[r]._t=1*new Date(),s[r]._i=0,s[r]._l=i;var z=y.createElement(n),    se=y.getElementsByTagName(n)[0];z.async=1;z.src=e;se.parentNode.insertBefore(z,se);    z.onload=z.onreadystatechange=function(){var rdy=z.readyState;    if(!rdy||/complete|loaded/.test(z.readyState)){s[i]();z.onload = null;    z.onreadystatechange=null;}};})(window,document,"script", "//web.snrbox.com/synerise-javascript-sdk.min.js", "SR", "onSyneriseLoad");
20003            });
20004        }
20005
20006        function armSyneriseDeferredBoot() {
20007            if (document.readyState === 'complete') {
20008                initSynerise();
20009            } else {
20010                window.addEventListener('load', initSynerise);
20011                maxDeferTimer = setTimeout(initSynerise, 3000);
20012            }
20013        }
20014
20015        var syneriseConsentEvents = [
20016    'user-allowed-save-cookie',
20017    'cookiebar-action-accept-finish',
20018    'cookiebar-action-allow-finish',
20019    'amasty-cookie-group-updated'
20020];
20021
20022var syneriseGatedCookies = ["_snrs_uuid","_snrs_puuid","_snrs_p","_snrs_sa","_snrs_sb"];
20023
20024function getSyneriseCookieGroups() {
20025    return typeof window.amastyCookieManager !== 'undefined'
20026        && typeof window.amastyCookieManager.getAmastyCookieGroupStorage === 'function'
20027        ? window.amastyCookieManager.getAmastyCookieGroupStorage()
20028        : null;
20029}
20030
20031function isSyneriseCookieDeclared(cookieGroups, cookieName) {
20032    return (cookieGroups.groupData || []).some(function (group) {
20033        if (group.isEssential) {
20034            return false;
20035        }
20036
20037        return (group.cookies || []).some(function (cookie) {
20038            var wildcard = String(cookie.name).match(/^\{(.*)\}$/);
20039
20040            return wildcard
20041                ? new RegExp(cookieGroups.getCookiePattern(wildcard[1])).test(cookieName)
20042                : cookie.name === cookieName;
20043        });
20044    });
20045}
20046
20047function hasSyneriseConsent() {
20048    try {
20049        var cookieGroups = getSyneriseCookieGroups();
20050
20051        if (!cookieGroups
20052            || typeof cookieGroups.hasGroupData !== 'function'
20053            || !cookieGroups.hasGroupData()
20054        ) {
20055            return false;
20056        }
20057
20058        if (typeof window.hyva === 'undefined'
20059            || typeof window.hyva.getCookie !== 'function'
20060            || !window.hyva.getCookie('amcookie_allowed')
20061        ) {
20062            return false;
20063        }
20064
20065        return syneriseGatedCookies.some(function (cookieName) {
20066            return isSyneriseCookieDeclared(cookieGroups, cookieName)
20067                && window.amastyCookieManager.isCookieAllowed(cookieName);
20068        });
20069    } catch (e) {
20070        return false;
20071    }
20072}
20073
20074function removeSyneriseConsentListeners() {
20075    syneriseConsentEvents.forEach(function (eventName) {
20076        window.removeEventListener(eventName, onSyneriseConsentGranted);
20077    });
20078}
20079
20080// Re-checks consent on every firing rather than trusting the event alone: several of
20081// these events fire on state changes that are not necessarily "granted" (e.g.
20082// amasty-cookie-group-updated also fires when a group is toggled OFF).
20083function onSyneriseConsentGranted() {
20084    if (!hasSyneriseConsent()) {
20085        return;
20086    }
20087    removeSyneriseConsentListeners();
20088    armSyneriseDeferredBoot();
20089}
20090
20091function bindSyneriseConsentListeners() {
20092    syneriseConsentEvents.forEach(function (eventName) {
20093        window.addEventListener(eventName, onSyneriseConsentGranted, { passive: true });
20094    });
20095}
20096
20097if (hasSyneriseConsent()) {
20098    armSyneriseDeferredBoot();
20099} else {
20100    bindSyneriseConsentListeners();
20101}
20102    })();
20103</script>
20103<div
20104    class="z-50 fixed inset-0 grid place-items-center bg-white/70 text-slate-800"
20105    x-data="initLoading"
20106    x-bind="loaderListeners"
20107    x-show="isLoading"
20108    x-cloak
20109    x-transition.opacity.duration.200ms
20110>
20111    <div class="flex gap-10 items-center p-4">
20112        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 57 57" width="57" height="57" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true">
20113    <style>
20114        @keyframes spinner-ball-triangle1 {
20115            0% { transform: translate(0%, 0%); }
20116            33% { transform: translate(38%, -79%); }
20117            66% { transform: translate(77%, 0%); }
20118            100% { transform: translate(0%, 0%); }
20119        }
20120
20121        @keyframes spinner-ball-triangle2 {
20122            0% { transform: translate(0%, 0%); }
20123            33% { transform: translate(38%, 79%); }
20124            66% { transform: translate(-38%, 79%); }
20125            100% { transform: translate(0%, 0%); }
20126        }
20127
20128        @keyframes spinner-ball-triangle3 {
20129            0% { transform: translate(0%, 0%); }
20130            33% { transform: translate(-77%, 0%); }
20131            66% { transform: translate(-38%, -79%); }
20132            100% { transform: translate(0%, 0%); }
20133        }
20134    </style>
20135    <circle cx="5" cy="50" r="5" style="animation: spinner-ball-triangle1 2.2s linear infinite"/>
20136    <circle cx="27" cy="5" r="5" style="animation: spinner-ball-triangle2 2.2s linear infinite"/>
20137    <circle cx="49" cy="50" r="5" style="animation: spinner-ball-triangle3 2.2s linear infinite"/>
20138</svg>
20139        <span class="text-xl select-none">
20140            Ładuję...        </span>
20141    </div>
20142</div>
20143<script>
20144    function initLoading() {
20145        return {
20146            isLoading: false,
20147            toggleLoader(event) {
20148                if (event.detail && event.detail.isLoading) {
20149                    this.isLoading = event.detail.isLoading;
20150                } else {
20151                    this.isLoading = !this.isLoading;
20152                }
20153            },
20154            loaderListeners: {
20155                ['@loader.window'](event) {
20156                    this.toggleLoader(event);
20157                }
20158            }
20159        };
20160    }
20161
20162    window.addEventListener('alpine:init', () => {
20163        Alpine.data('initLoading', initLoading);
20164    }, { once: true })
20165
20166</script>
20166
20167
20168<script>
20169    'use strict';
20170
20171    function showMessage(text, type = 'success') {
20172        dispatchMessages([{type, text}]);
20173    }
20174
20175    async function sendCartRequest(
20176        {
20177            form = null,
20178            url = '',
20179            body = '',
20180            redirect = 'default',
20181            message = '',
20182        } = {},
20183    ) {
20184        if (form && (form.hasAttribute('enctype') || !form.reportValidity())) return form.submit();
20185
20186        const formData = body ? body : (form ? new FormData(form) : '');
20187        const formUenc = hyva.getUenc();
20188
20189        const postUrl = url ? url : (form ? form.action.replace('%25uenc%25', formUenc) : '');
20190
20191        if (!formData || !postUrl) {
20192            console.warn('You must provide the form or formData and postUrl!');
20193            return;
20194        }
20195
20196        const itemId = body ? new URLSearchParams(body).get('item_id') : formData.get('item_id');
20197        const bodyUrl = new URLSearchParams(formData);
20198
20199        bodyUrl.append('uenc', formUenc);
20200
20201        if (bodyUrl.get('qty') === '') bodyUrl.delete('qty');
20202
20203        window.dispatchEvent(new CustomEvent('loader'));
20204
20205        try {
20206            const response = await fetch(postUrl, {
20207                method: 'POST',
20208                body: bodyUrl.toString(),
20209                credentials: 'include',
20210                headers: {
20211                    'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
20212                    'X-Requested-With': 'XMLHttpRequest'
20213                }
20214            });
20215
20216            if (form && !response.ok) return form.submit();
20217
20218            if (redirect === 'default' && response.redirected) {
20219                return window.location.href = response.url;
20220            } else if (redirect !== 'default' && redirect !== false) {
20221                return window.location.href = redirect;
20222            }
20223
20224            const responseData = await response.json();
20225
20226            if (responseData.success === false) {
20227                showMessage(responseData.error_message, 'error');
20228                // Re-sync the sections so optimistic counters fall back to the real server state.
20229                window.dispatchEvent(new CustomEvent('reload-customer-section-data'));
20230                return false;
20231            }
20232
20233            if (responseData.backUrl && responseData.backUrl.includes('checkout/cart')) {
20234                return window.location.href = responseData.backUrl;
20235            }
20236
20237            if (message) showMessage(message);
20238            window.dispatchEvent(new CustomEvent('reload-customer-section-data'));
20239
20240            return true;
20241        } catch (error) {
20242            window.dispatchEvent(new CustomEvent('product-cart-error', { detail: { itemId, message: error } }));
20243            return false;
20244        } finally {
20245            window.dispatchEvent(new CustomEvent('loader'));
20246        }
20247    }
20248
20249    function addToCart(form) {
20250        return sendCartRequest({form});
20251    }
20252
20253    function updateItemQty(item, qty) {
20254        return sendCartRequest(
20255            {
20256                url: 'https\u003A\u002F\u002Ffera.pl\u002Fcheckout\u002Fsidebar\u002FupdateItemQty\u002F',
20257                body: `form_key=${hyva.getFormKey()}&item_id=${item.item_id}&item_qty=${qty}`,
20258                message: hyva.strf('Zmieni\u0142e\u015B\u0020ilo\u015B\u0107\u0020\u00250\u0020na\u0020\u00251\u0020szt.', item.product_name, qty)
20259            }
20260        );
20261    }
20262
20263    function removeItem(item) {
20264        return sendCartRequest(
20265            {
20266                url: 'https\u003A\u002F\u002Ffera.pl\u002Fcheckout\u002Fsidebar\u002FremoveItem\u002F',
20267                body: `form_key=${hyva.getFormKey()}&item_id=${item.item_id}`,
20268                message: 'Usuni\u0119to\u0020element.'
20269            },
20270        );
20271    }
20272
20273    /**
20274     * Quantity bounds (minSalesQty / maxSalesQty / step) MUST be injected from PHP by the calling template.
20275     * They cannot be read from `$refs` here: Alpine runs the root `x-data` init() before the `x-ref`
20276     * directives of its children are registered, so `$refs` is still empty at this point.
20277     */
20278    function initAddToCart(config = {}) {
20279        const positiveNumber = (value, fallback) => {
20280            const number = Number(value);
20281
20282            return Number.isFinite(number) && number > 0 ? number : fallback;
20283        };
20284
20285        return {
20286            show: false,
20287            cartItem: null,
20288            productId: null,
20289            itemQty: null,
20290            prevQty: null,
20291            cartId: null,
20292            closeTimer: null,
20293            step: positiveNumber(config.step, 1),
20294            minSalesQty: positiveNumber(config.minSalesQty, 1),
20295            maxSalesQty: positiveNumber(config.maxSalesQty, 0),
20296            form: null,
20297            debouncedUpdateQty: null,
20298            pendingRemoval: false,
20299            isReward: false,
20300            rewardPointsCost: 0,
20301            customerRewardBalance: 0,
20302            canRedeem: true,
20303
20304            init() {
20305                this.productId = Number(this.$root.dataset.id);
20306                this.form = this.$root.closest('form') || document.querySelector('form[action*="checkout/cart/add"]');
20307
20308                if (this.form) {
20309                    this.isReward = this.form.dataset.isReward === '1' ||
20310                        this.form.dataset.isReward === 'true' ||
20311                        !!this.form.querySelector('input[name="is_reward"]');
20312
20313                    const costInput = this.form.querySelector('input[name="reward_points_cost"]');
20314                    if (costInput) {
20315                        this.rewardPointsCost = Number(costInput.value);
20316                    }
20317
20318                    if (!this.isReward && this.form.dataset.cartParams) {
20319                        try {
20320                            const params = JSON.parse(this.form.dataset.cartParams);
20321                            if (params.is_reward) this.isReward = true;
20322                        } catch (e) {
20323                            console.error('Invalid cart params JSON', e);
20324                        }
20325                    }
20326                }
20327
20328                // Initial validation (might be 0 balance until data loads, but safer to block early)
20329                this.validateRewardPurchase();
20330
20331                this.debouncedUpdateQty = Alpine.debounce(() => this.commitQty(), 1000);
20332            },
20333
20334            /**
20335             * Single commit point for every stepper interaction.
20336             * The operation is picked by the *intent* recorded by the caller, never by the quantity bounds,
20337             * so removal stays reachable from decrement() only.
20338             */
20339            commitQty() {
20340                if (this.pendingRemoval) {
20341                    this.pendingRemoval = false;
20342                    this.removeItem();
20343
20344                    return;
20345                }
20346
20347                if (this.cartItem === null) {
20348                    this.form?.dispatchEvent(new Event('submit', {bubbles: true, cancelable: true}));
20349
20350                    return;
20351                }
20352
20353                this.updateQty(this.itemQty);
20354            },
20355
20356            onGetCartData(data) {
20357                if (this.isReward) {
20358                    const rewardSection = data?.reward || data?.['magento-reward'];
20359                    if (rewardSection) {
20360                        if (typeof rewardSection.available_reward_points_amount !== 'undefined') {
20361                            this.customerRewardBalance = Number(rewardSection.available_reward_points_amount);
20362                        } else if (typeof rewardSection.balance !== 'undefined') {
20363                            this.customerRewardBalance = Number(rewardSection.balance);
20364                        }
20365                    }
20366                }
20367
20368                const cart = data?.cart;
20369                if (!cart) return;
20370
20371                this.cartId = cart.cartId;
20372
20373                const cartItem = cart.items?.find(item => {
20374                    // `product_id` may arrive as a string or an int depending on the section provider.
20375                    return Number(item.product_id) === this.productId && !!item.is_reward_product === this.isReward;
20376                });
20377
20378                if (cartItem?.qty) {
20379                    this.itemQty = Number(cartItem.qty);
20380                    this.prevQty = Number(cartItem.qty);
20381                    this.cartItem = cartItem;
20382                } else {
20383                    this.resetItem();
20384                }
20385
20386                // Validate after updating itemQty
20387                this.validateRewardPurchase();
20388            },
20389
20390            resetItem() {
20391                this.itemQty = null;
20392                this.prevQty = null;
20393                this.cartItem = null;
20394                this.pendingRemoval = false;
20395                this.show = false;
20396            },
20397
20398            buttonText() {
20399                return hyva.strf('\u00250\u0020szt.\u0020w\u0020koszyku', this.itemQty || 0);
20400            },
20401
20402            open() {
20403                if (!this.itemQty) return;
20404                this.show = true;
20405                this.cancelCloseTimer();
20406            },
20407
20408            close(shouldRestoreFocus = true) {
20409                if (!this.show) return;
20410
20411                this.show = false;
20412                if (shouldRestoreFocus) this.$refs.addToButton?.focus();
20413            },
20414
20415            delayedClose() {
20416                this.cancelCloseTimer();
20417                this.closeTimer = setTimeout(() => this.close(false), 500);
20418            },
20419
20420            cancelCloseTimer() {
20421                if (this.closeTimer) {
20422                    clearTimeout(this.closeTimer);
20423                    this.closeTimer = null;
20424                }
20425            },
20426
20427            changeQty(qty) {
20428                const nextQty = Number(qty);
20429
20430                this.pendingRemoval = false;
20431
20432                if (!Number.isFinite(nextQty) || nextQty <= 0 || (this.maxSalesQty && nextQty > this.maxSalesQty)) {
20433                    this.itemQty = this.prevQty;
20434
20435                    return;
20436                }
20437
20438                this.itemQty = nextQty;
20439                this.commitQty();
20440            },
20441
20442            increment() {
20443                const nextQty = Math.max((Number(this.itemQty) || 0) + this.step, this.minSalesQty);
20444
20445                if (!this.maxSalesQty || nextQty <= this.maxSalesQty) {
20446                    this.pendingRemoval = false;
20447                    this.itemQty = nextQty;
20448                    this.debouncedUpdateQty();
20449                }
20450
20451                this.open();
20452            },
20453
20454            decrement() {
20455                const nextQty = Math.max(0, (Number(this.itemQty) || 0) - this.step);
20456
20457                // Removal is the only operation reachable from here, and only once the stepper hits the floor.
20458                this.pendingRemoval = nextQty <= 0 || nextQty < this.minSalesQty;
20459                this.itemQty = nextQty;
20460                this.debouncedUpdateQty();
20461            },
20462
20463            validateRewardPurchase() {
20464                if (!this.isReward) return;
20465
20466                this.canRedeem = this.customerRewardBalance >= this.rewardPointsCost;
20467            },
20468
20469            async updateQty(qty) {
20470                const nextQty = Number(qty);
20471                const isOutOfBounds = !Number.isFinite(nextQty)
20472                    || nextQty <= 0
20473                    || (this.maxSalesQty && nextQty > this.maxSalesQty);
20474
20475                // Roll the optimistic counter back instead of leaving it ahead of the server.
20476                if (!this.cartItem || isOutOfBounds) {
20477                    this.itemQty = this.prevQty;
20478
20479                    return;
20480                }
20481
20482                if (nextQty === this.prevQty) return;
20483
20484                const response = await updateItemQty(this.cartItem, nextQty);
20485                if (!response) this.itemQty = this.prevQty;
20486            },
20487
20488            async removeItem() {
20489                if (!this.cartItem) {
20490                    this.itemQty = this.prevQty;
20491
20492                    return;
20493                }
20494
20495                const response = await removeItem(this.cartItem);
20496
20497                if (response) {
20498                    this.resetItem();
20499                } else {
20500                    this.itemQty = this.prevQty;
20501                }
20502            }
20503        };
20504    }
20505
20506    window.addEventListener('alpine:init', () => {
20507        Alpine.data('initAddToCart', initAddToCart);
20508    }, {once: true});
20509
20510    document.addEventListener('submit', (event) => {
20511        const form = event.target;
20512
20513        if (!form.matches('#product_addtocart_form, .product_addtocart_form')) return;
20514
20515        event.preventDefault();
20516
20517        addToCart(form);
20518    });
20519
20520    document.addEventListener('keydown', (event) => {
20521        if ((event.key === 'Enter' || event.keyCode === 13) && event.target.name === 'qty') {
20522            const form = event.target.closest('form');
20523            if (form?.matches('#product_addtocart_form, .product_addtocart_form')) {
20524                event.preventDefault();
20525            }
20526        }
20527    });
20528</script>
20528
20529
20530<div id="mobile-bottom-nav" class="sticky bottom-0 left-0 right-0 grid grid-cols-[1fr_1fr_82px_1fr_1fr] align-center py-1 border-t border-secondary-lighter bg-white z-50 xl:hidden">
20531    
20532<button
20533    type="button"
20534    class="flex flex-col gap-y-2 items-center justify-center p-1 min-h-[72px]"
20535    aria-label="Otw&#xF3;rz&#x20;menu"
20536    aria-haspopup="dialog"
20537    x-data="initMenuButton"
20538    x-ref="menuButton"
20539    @click.prevent="openMenu"
20540    @toggle-menu.window="toggleMenu"
20541    :aria-expanded="isMenuOpen"
20542>
20543    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" width="20" height="20" aria-hidden="true">
20544  <path fill-rule="evenodd" d="M3 5a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 10a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 15a1 1 0 011-1h6a1 1 0 110 2H4a1 1 0 01-1-1z" clip-rule="evenodd"/>
20545</svg>
20546            <span class="text-sm font-semibold">
20547        Menu    </span>
20548    </button>
20549
20550<script>
20551    function initMenuButton() {
20552        return {
20553            isMenuOpen: false,
20554            openMenu() {
20555                this.$dispatch('toggle-menu', {
20556                    isOpen: true
20557                })
20558            },
20559            toggleMenu() {
20560                const event = this.$event;
20561                if (event.detail && event.detail.isOpen !== undefined) {
20562                    this.isMenuOpen = event.detail.isOpen
20563                    if (!this.isMenuOpen && this.$refs && this.$refs.menuButton) {
20564                        this.$refs.menuButton.focus()
20565                    }
20566                } else {
20567                                        this.isMenuOpen = true
20568                }
20569            },
20570            hasActiveSubMenu() {
20571                this.isSubMenuOpen = !!this.$root.querySelector('[data-open]');
20572            },
20573        }
20574    }
20575
20576    document.addEventListener('alpine:init', () => {
20577        Alpine.data('initMenuButton', initMenuButton);
20578    });
20579</script>
20579
20580    
20580<script>
20581    function initWishlistLink() {
20582        return {
20583            wishlistProducts: null,
20584            itemCount: 0,
20585            linkAriaLabel() {
20586                const countLabel = this.itemCount > 1
20587                    ? hyva.str('Produkty\u0020\u00251', this.itemCount)
20588                    : hyva.str('\u00251\u0020element', this.itemCount);
20589                return `Ulubione (${countLabel})`;
20590            },
20591            receiveWishlistData() {
20592                const data = this.$event.detail.data;
20593
20594                if (data.wishlist && data.wishlist.wishlist_item_count !== undefined) {
20595                    this.itemCount = data.wishlist.wishlist_item_count;
20596                } else {
20597                    this.itemCount = data.wishlist && data.wishlist.items
20598                        ? data.wishlist.items.length
20599                        : 0;
20600                }
20601            }
20602        }
20603    }
20604
20605    window.addEventListener('alpine:init', () => {
20606        Alpine.data('initWishlistLink', initWishlistLink);
20607    }, {once: true})
20608</script>
20608
20609<a
20610    href="https://fera.pl/wishlist/"
20611    class="relative flex flex-col gap-y-2 items-center justify-center p-1 min-h-[72px]"
20612    x-data="initWishlistLink"
20613    @private-content-loaded.window="receiveWishlistData"
20614    aria-label="Ulubione"
20615    :aria-label="linkAriaLabel"
20616>
20617    <span class="relative">
20618        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" width="20" height="20" aria-hidden="true">
20619  <path fill-rule="evenodd" d="M3.172 5.172a4 4 0 015.656 0L10 6.343l1.172-1.171a4 4 0 115.656 5.656L10 17.657l-6.828-6.829a4 4 0 010-5.656z" clip-rule="evenodd"/>
20620</svg>
20621        <template x-if="itemCount">
20622            <span
20623                x-text="itemCount"
20624                class="absolute -top-2.5 -right-2 p-0.5 min-w-4 rounded-full bg-red-600 text-white
20625                            text-xs font-medium leading-none text-center uppercase tabular-nums"
20626                aria-hidden="true"
20627            ></span>
20628    </template>
20629    </span>
20630            <span class="text-sm font-semibold text-center">
20631            Ulubione        </span>
20632    </a>
20633    <a href="https://fera.pl/"
20634       class="flex items-center justify-center rounded-full mx-2 w-[66px] h-[66px] bg-primary text-white"
20635       title="Przejd&#x017A;&#x20;do&#x20;strony&#x20;g&#x0142;&#xF3;wnej"
20636    >
20637        <svg xmlns="http://www.w3.org/2000/svg" width="29" height="50" viewBox="0 0 277 588" fill="none" aria-hidden="true">
20638    <path d="M193.084 0.44751C285.291 0.447795 325.344 49.4212 330.99 105.229L330.995 105.22C330.995 105.22 331.528 123.562 321.143 139.461C321.152 139.49 321.163 139.52 321.172 139.549C321.063 139.673 320.95 139.795 320.841 139.919C317.317 145.191 312.576 150.174 306.188 154.097C306.064 154.175 303.652 155.697 301.303 157.181C299.828 158.187 298.329 159.152 296.793 160.043L296.787 160.032L296.784 160.038L296.787 160.026L254.879 45.5734C252.525 39.3441 246.612 36.7495 241.263 37.5651C240.136 37.6496 239.079 37.9659 238.029 38.4507C234.463 39.9062 231.623 42.9025 230.658 47.4237L222.961 85.2598H201.724C181.631 85.2602 165.352 100.447 163.322 119.606H125.235C118.272 119.606 112.683 125.19 112.598 132.136V132.221C112.598 143.05 115.354 153.246 120.295 162.134C130.902 181.772 151.812 195.193 175.71 195.193H203.262L212.259 216.23C218.703 230.494 225.185 243.54 232.954 260.552V333.943H196.473V587.448H42.822C47.9669 573.638 58.3927 553.013 66.0679 544.864C76.7033 533.556 96.1256 491.102 95.2094 475.866C94.2932 460.637 84.1102 442.862 83.8838 434.79C83.6441 426.711 82.4948 411.943 88.274 405.938C94.0675 399.934 115.69 398.964 120.546 393.423C125.41 387.882 123.154 385.448 124.535 384.415C125.924 383.381 128.178 381.82 129.743 379.057C131.286 376.28 129.906 373.172 131.471 371.955C133.035 370.739 134.946 368.145 134.763 364.51C134.594 360.861 133.029 357.407 131.119 355.502C129.21 353.596 124.515 348.585 122.436 345.118C120.342 341.666 116.88 325.565 113.06 320.551C109.241 315.517 95.0262 299.955 85.3072 297.177C75.6029 294.414 73.8545 294.414 72.4732 291.82C71.0707 289.219 80.6273 267.759 79.4086 264.995C78.1893 262.218 74.3678 264.994 72.2886 266.716C70.2095 268.446 66.0453 273.98 64.8261 273.291C63.6076 272.6 63.6066 268.11 61.3525 267.933C59.0972 267.757 45.7323 277.285 40.3618 281.61C34.9916 285.934 30.6569 289.824 19.0284 298.57C13.2072 302.937 6.64574 307.521 0 314.481V197.352H34.4222V178.291C34.4222 165.382 35.374 153.478 37.1782 142.643C44.5503 50.7287 109.891 0.44751 193.084 0.44751Z" fill="currentColor"/>
20639</svg>
20640    </a>
20641    
20642<script>
20643    function initCart() {
20644        return {
20645            cart: {},
20646            summaryCount() {
20647                return this.cart.summary_count || 0;
20648            },
20649            isCartOpen: false,
20650            getData() {
20651                const data = this.$event.detail.data;
20652                if (data.cart) {
20653                    this.cart = data.cart
20654                }
20655            },
20656            ariaLabel() {
20657                return 'Poka\u017C\u002Fukryj\u0020koszyk, ' +
20658                    (this.isCartEmpty() ? 'Koszyk\u0020jest\u0020pusty' : (
20659                        Math.abs(this.summaryCount()) > 1 ?
20660                            hyva.str('\u00251\u0020element\u00F3w', this.summaryCount()) :
20661                            hyva.str('\u00251\u0020pozycja', this.summaryCount())
20662                    ))
20663            },
20664            isCartEmpty() {
20665                return !this.summaryCount()
20666            },
20667            openCart() {
20668                this.$dispatch('toggle-cart', {
20669                    isOpen: true
20670                })
20671            },
20672            toggleCart() {
20673                const event = this.$event;
20674                if (event.detail && event.detail.isOpen !== undefined) {
20675                    this.isCartOpen = event.detail.isOpen
20676                    if (!this.isCartOpen && this.$refs && this.$refs.cartButton) {
20677                        this.$refs.cartButton.focus()
20678                    }
20679                } else {
20680                                        this.isCartOpen = true
20681                }
20682            },
20683        }
20684    }
20685
20686    window.addEventListener('alpine:init', () => {
20687        Alpine.data('initCart', initCart);
20688    }, {once: true})
20689</script>
20689
20690
20691    <button
20692    class="relative flex flex-col gap-y-2 items-center justify-center p-1 min-h-[72px]"
20693    x-data="initCart"
20694    x-ref="cartButton"
20695    @private-content-loaded.window="getData"
20696    :aria-disabled="isCartEmpty"
20697    :aria-label="ariaLabel"
20698            @click.prevent="openCart"
20699        @toggle-cart.window="toggleCart"
20700        :aria-expanded="isCartOpen"
20701        aria-haspopup="dialog"
20702    >
20703    <span class="relative">
20704        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" width="20" height="20" aria-hidden="true">
20705  <path d="M3 1a1 1 0 000 2h1.22l.305 1.222a.997.997 0 00.01.042l1.358 5.43-.893.892C3.74 11.846 4.632 14 6.414 14H15a1 1 0 000-2H6.414l1-1H14a1 1 0 00.894-.553l3-6A1 1 0 0017 3H6.28l-.31-1.243A1 1 0 005 1H3zM16 16.5a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zM6.5 18a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"/>
20706</svg>
20707        <span
20708            x-text="summaryCount"
20709            x-show="summaryCount"
20710            x-cloak
20711            class="absolute -top-2.5 -right-2 p-0.5 min-w-4 rounded-full bg-red-600 text-white
20712                            text-xs font-medium leading-none text-center uppercase tabular-nums"
20713            aria-hidden="true"
20714        ></span>
20715    </span>
20716            <span class="text-sm font-semibold">
20717                Koszyk            </span>
20718                </button>
20719        <!-- BLOCK mobile.bottom.nav.customer -->
20720    <a class="relative flex flex-col gap-y-2 items-center justify-center p-1 min-h-[72px]"
20721       aria-label="Konto"
20722       onclick="hyva.setCookie && hyva.setCookie(
20723           'login_redirect',
20724           window.location.href,
20725           1
20726       )"
20727       href="https://fera.pl/customer/account/index/"
20728       title="Konto"
20729    >
20730        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" width="20" height="20" aria-hidden="true">
20731  <path fill-rule="evenodd" d="M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z" clip-rule="evenodd"/>
20732</svg>
20733        <span class="text-sm font-semibold">
20734            Konto        </span>
20735    </a>
20736<!-- /BLOCK mobile.bottom.nav.customer --></div>
20737
vendor: 2,348 bytes, lines 20738-20797
20738<script>
20739    (() => {
20740        function src_default(Alpine) {
20741            Alpine.directive("intersect", Alpine.skipDuringClone((el, { value, expression, modifiers }, { evaluateLater, cleanup }) => {
20742                let evaluate = evaluateLater(expression);
20743                let options = {
20744                    rootMargin: getRootMargin(modifiers),
20745                    threshold: getThreshold(modifiers)
20746                };
20747                let observer = new IntersectionObserver((entries) => {
20748                    entries.forEach((entry) => {
20749                        if (entry.isIntersecting === (value === "leave"))
20750                            return;
20751                        evaluate();
20752                        modifiers.includes("once") && observer.disconnect();
20753                    });
20754                }, options);
20755                observer.observe(el);
20756                cleanup(() => {
20757                    observer.disconnect();
20758                });
20759            }));
20760        }
20761        function getThreshold(modifiers) {
20762            if (modifiers.includes("full"))
20763                return 0.99;
20764            if (modifiers.includes("half"))
20765                return 0.5;
20766            if (!modifiers.includes("threshold"))
20767                return 0;
20768            let threshold = modifiers[modifiers.indexOf("threshold") + 1];
20769            if (threshold === "100")
20770                return 1;
20771            if (threshold === "0")
20772                return 0;
20773            return Number(`.${threshold}`);
20774        }
20775        function getLengthValue(rawValue) {
20776            let match = rawValue.match(/^(-?[0-9]+)(px|%)?$/);
20777            return match ? match[1] + (match[2] || "px") : void 0;
20778        }
20779        function getRootMargin(modifiers) {
20780            const key = "margin";
20781            const fallback = "0px 0px 0px 0px";
20782            const index = modifiers.indexOf(key);
20783            if (index === -1)
20784                return fallback;
20785            let values = [];
20786            for (let i = 1; i < 5; i++) {
20787                values.push(getLengthValue(modifiers[index + i] || ""));
20788            }
20789            values = values.filter((v) => v !== void 0);
20790            return values.length ? values.join(" ").trim() : fallback;
20791        }
20792
20793        document.addEventListener("alpine:init", () => {
20794            window.Alpine.plugin(src_default);
20795        });
20796    })();
20797</script>
vendor: 1 bytes, line 20797
20797
20798<script>
20799    for (const [selector, deferUntil] of Object.entries({".product-slider section[x-data]:not([x-data] [x-data])":"intersect",".product-info [x-data]:not([x-data] [x-data])":"intersect","#filters-content [x-data]:not([x-data] [x-data])":"intersect","#review_form":"intersect","section[x-data^=initRecentlyViewedProductsComponent]":"intersect","div[x-data^=initBundleOptions]":"intersect","#product_addtocart_form [x-data]:not([x-data] [x-data])":"intersect","#notice-cookie-block":"idle"})) {
20800        document.querySelectorAll(selector).forEach(el => el.setAttribute('x-defer', `${deferUntil}`));
20801    }
20802</script>
vendor: 1 bytes, line 20802
20802
20803<script>
20804    (function () {
20805        "use strict";
20806
20807        const hasAlpine = new Promise(resolve => {
20808            window.addEventListener('alpine:initialized', resolve, {once: true, passive: true});
20809        });
20810
20811        const hasInteract = new Promise(resolve => {
20812            (events => {
20813                const onInteract = () => {
20814                    resolve();
20815                    events.forEach(type => window.removeEventListener(type, onInteract));
20816                }
20817                events.forEach(type => window.addEventListener(type, onInteract, {once: true, passive: true}))
20818            })(['touchstart', 'mouseover', 'wheel', 'scroll', 'keydown'])
20819        });
20820
20821        const onIntersect = (el) => {
20822            return new Promise(resolve => {
20823                const observer = new IntersectionObserver(entries => {
20824                    for (const entry of entries) {
20825                        if (entry.isIntersecting) {
20826                            observer.disconnect()
20827                            resolve();
20828                        }
20829                    }
20830                }, {});
20831                observer.observe(el);
20832            });
20833        }
20834
20835        function runComponent(el) {
20836            hasAlpine.then(() => {
20837                el.removeAttribute('x-ignore');
20838                queueMicrotask(() => Alpine.initTree(el));
20839            });
20840        }
20841
20842        function initDeferredComponents() {
20843            document.querySelectorAll('[x-data][x-defer]').forEach(el => {
20844                el.setAttribute('x-ignore', '');
20845                const deferUntil = (el.getAttribute('x-defer') || '').trim();
20846                switch (deferUntil) {
20847                    case 'interact':
20848                        hasInteract.then(() => runComponent(el));
20849                        break;
20850                    case 'intersect':
20851                        onIntersect(el).then(() => runComponent(el))
20852                        break;
20853                    case 'idle':
20854                        window.requestIdleCallback
20855                            ? window.requestIdleCallback(() => runComponent(el), {timeout: 4000})
20856                            : setTimeout(() => runComponent(el), 4000);
20857                        break;
20858                    case 'eager':
20859                        runComponent(el);
20860                        break;
20861                    default:
20862                        if (deferUntil.startsWith('event:') && deferUntil.length > 6) {
20863                            window.addEventListener(deferUntil.substring(6), () => runComponent(el), {once: true, passive: true});
20864                        }
20865                }
20866            });
20867        }
20868
20869        window.addEventListener('alpine:init', initDeferredComponents, {once: true, passive: true});
20870    })()
20871</script>
vendor: 1 bytes, line 20871
20871
20872<script>
20873    (() => {
20874        // src/dialog.js
20875        function dialog_default(Alpine) {
20876            Alpine.directive("htmldialog", fylgjaAlpineDialog);
20877
20878            function fylgjaAlpineDialog(el, {
20879                expression,
20880                modifiers
20881            }, {
20882                evaluateLater,
20883                cleanup
20884            }) {
20885                const evaluate = expression.length ? evaluateLater(expression) : () => {};
20886                const lockPageScroll = modifiers.includes("noscroll");
20887                const closeby = el.getAttribute("closeby") || modifierValue(modifiers, "closeby", "closerequest");
20888                el.style.display = null;
20889                el.hidden = false;
20890                el.style.length === 0 && el.removeAttribute("style");
20891                el.addEventListener("keydown", escapeDialog);
20892                el.addEventListener("click", backdropDialog);
20893                el.addEventListener("submit", methodDialog);
20894
20895                function scrollLock(use = true) {
20896                    document.body.style.overflow = use ? "hidden" : "";
20897                }
20898
20899                function methodDialog(event) {
20900                    if (event.target.getAttribute("method") === "dialog" || event.submitter && event.submitter.getAttribute("formmethod") === "dialog") {
20901                        evaluate();
20902                    }
20903                }
20904
20905                function escapeDialog(event) {
20906                    if (event.key !== "Escape")
20907                        return;
20908                    event.preventDefault();
20909                    if (closeby !== "any" && closeby !== "closerequest")
20910                        return;
20911                    evaluate();
20912                }
20913
20914                function backdropDialog(event) {
20915                    if (event.target !== el || closeby !== "any")
20916                        return;
20917                    const rect = el.getBoundingClientRect();
20918                    const isInDialog = rect.top <= event.clientY && event.clientY <= rect.top + rect.height && rect.left <= event.clientX && event.clientX <= rect.left + rect.width;
20919                    if (isInDialog)
20920                        return;
20921                    evaluate();
20922                }
20923                el._x_doShow = () => {
20924                    if (el.hasAttribute("open"))
20925                        return;
20926                    el.showModal();
20927                    scrollLock(lockPageScroll);
20928                };
20929                el._x_doHide = () => {
20930                    if (!el.hasAttribute("open"))
20931                        return;
20932                    el.close();
20933                    scrollLock(false);
20934                };
20935                cleanup(() => {
20936                    el.removeEventListener("keydown", escapeDialog);
20937                    el.removeEventListener("click", backdropDialog);
20938                    el.removeEventListener("submit", methodDialog);
20939                    scrollLock(false);
20940                });
20941            }
20942        }
20943
20944        function modifierValue(modifiers, key, fallback) {
20945            if (modifiers.indexOf(key) === -1)
20946                return fallback;
20947            const rawValue = modifiers[modifiers.indexOf(key) + 1];
20948            if (!rawValue)
20949                return fallback;
20950            if (key === "closeby") {
20951                const allowedValues = ["auto", "none", "closerequest", "any"];
20952                const options = allowedValues.join(", ");
20953                if (!allowedValues.includes(rawValue)) {
20954                    console.warn(
20955                        `"${rawValue}" is not one of the allowed values for closeby: ${options}`
20956                    );
20957                }
20958                return rawValue;
20959            }
20960            return rawValue;
20961        }
20962
20963        // src/cdn.js
20964        document.addEventListener("alpine:init", () => {
20965            window.Alpine.plugin(dialog_default);
20966        });
20967    })();
20968</script>
vendor: 1 bytes, line 20968
20968
20969<script>
20970    (() => {
20971        // src/index.js
20972        function truncate_default(Alpine) {
20973            const appendEllipsis = (string, parameters) => {
20974                if (parameters[0].length <= string.length) return string
20975
20976                let ellipsis = '…'
20977
20978                // 3rd parameter is an optional '…' override (soon to be deprecated)
20979                if (typeof parameters[2] !== 'undefined') {
20980                    ellipsis = parameters[2]
20981                }
20982
20983                // If the second parameter is an object
20984                if (Object.prototype.hasOwnProperty.call(parameters[1], 'ellipsis')) {
20985                    ellipsis = parameters[1].ellipsis
20986                }
20987
20988                return string + ellipsis
20989            }
20990
20991            Alpine.magic('truncate', () => {
20992                return function (...parameters) {
20993                    if (typeof parameters[0] !== 'string') return parameters[0]
20994
20995                    // If the second parameter isn't truthy, return the full string
20996                    if (!parameters[1]) return parameters[0]
20997
20998                    // if only a number or string is passed in, keep it simple
20999                    if (typeof parameters[1] !== 'object') {
21000                        return appendEllipsis(parameters[0].slice(0, parameters[1]), parameters)
21001                    }
21002
21003                    // If words or characters is set, also check that they are truthy. Setting to 0, for example, shoudld show all
21004                    if (Object.prototype.hasOwnProperty.call(parameters[1], 'words') && parameters[1].words) {
21005                        return appendEllipsis(parameters[0].split(' ').splice(0, parameters[1].words).join(' '), parameters)
21006                    }
21007
21008                    if (Object.prototype.hasOwnProperty.call(parameters[1], 'characters') && parameters[1].characters) {
21009                        return appendEllipsis(parameters[0].slice(0, parameters[1].characters), parameters)
21010                    }
21011
21012                    return parameters[0]
21013                }
21014            })
21015        }
21016
21017        // builds/cdn.js
21018        document.addEventListener("alpine:init", () => {
21019            window.Alpine.plugin(truncate_default);
21020        });
21021    })();
21022</script>
21022
21023
21024<script>
21025    (() => {
21026        function input_sanitize_default(Alpine) {
21027            Alpine.directive('input-sanitize', inputSanitize);
21028
21029            function inputSanitize(el, { expression }) {
21030                const createAllowedPattern = (value) => {
21031                    try {
21032                        return new RegExp(`[${value}]`);
21033                    } catch (error) {
21034                        console.warn('[input-sanitize] Invalid expression; allowing all input instead.', value, error);
21035                        return /[\s\S]/;
21036                    }
21037                };
21038
21039                const allowed = createAllowedPattern(expression);
21040
21041                const filterText = (text) => text
21042                    .split('')
21043                    .filter(char => allowed.test(char))
21044                    .join('');
21045
21046                const insertAtCursor = (text) => {
21047                    const start = el.selectionStart;
21048                    const end = el.selectionEnd;
21049                    el.setRangeText(text, start, end, 'end');
21050                    el.dispatchEvent(new Event('input', { bubbles: true }));
21051                };
21052
21053                el.addEventListener('keydown', (e) => {
21054                    if (e.ctrlKey || e.metaKey) return;
21055                    if (e.key.length !== 1) return;
21056                    if (!allowed.test(e.key)) {
21057                        e.preventDefault();
21058                    }
21059                });
21060
21061                el.addEventListener('paste', (e) => {
21062                    e.preventDefault();
21063                    const filtered = filterText(e.clipboardData.getData('text'));
21064                    if (filtered) insertAtCursor(filtered);
21065                });
21066
21067                el.addEventListener('drop', (e) => {
21068                    e.preventDefault();
21069                    const filtered = filterText(e.dataTransfer.getData('text'));
21070                    if (filtered) insertAtCursor(filtered);
21071                });
21072
21073                el.addEventListener('input', () => {
21074                    const filtered = filterText(el.value);
21075
21076                    if (filtered !== el.value) {
21077                        const start = el.selectionStart;
21078                        const end = el.selectionEnd;
21079
21080                        const removedBefore = el.value
21081                            .slice(0, start)
21082                            .split('')
21083                            .filter(char => !allowed.test(char))
21084                            .length;
21085
21086                        el.value = filtered;
21087
21088                        const newPos = Math.max(0, start - removedBefore);
21089                        el.setSelectionRange(newPos, Math.max(0, end - removedBefore));
21090
21091                        el.dispatchEvent(new Event('input', { bubbles: true }));
21092                    }
21093                });
21094            }
21095        }
21096
21097        document.addEventListener('alpine:init', () => {
21098            window.Alpine.plugin(input_sanitize_default);
21099        });
21100    })();
21101</script>
21101
21102
21103<script type="module"
21104        src="https://static.fera.pl/version1790219430/frontend/Tooks/default/pl_PL/Hyva_Theme/js/alpine3.min.js"
21105        defer
21106        crossorigin
21107></script>
vendor: 1 bytes, line 21107
21107
21108<script>
21109    'use strict';
21110    function dispatchMessages(messages, hideAfter) {
21111        const messagesEvent = new CustomEvent("messages-loaded", {
21112            detail: {
21113                messages: messages,
21114                hideAfter: hideAfter
21115            }
21116        });
21117        window.dispatchEvent(messagesEvent);
21118    }
21119
21120    if (typeof hyva === 'undefined' || (!hyva.getBrowserStorage || !hyva.getCookie || !hyva.setCookie)) {
21121        console.warn("Hyvä helpers are not loaded yet. Make sure they are included before this script");
21122    }
21123
21124    (function( hyva, undefined ) {
21125
21126        hyva.initFormKey = () => {
21127            const inputSelector = 'input[name="form_key"]',
21128                formKey = hyva.getFormKey();
21129
21130            Array.from(document.querySelectorAll(inputSelector)).map(function (input) {
21131                input.value = formKey
21132            });
21133        }
21134
21135        hyva.initMessages = () => {
21136            try {
21137                const messages = hyva.getCookie('mage-messages');
21138                window.mageMessages = messages ? JSON.parse(decodeURIComponent(messages).replace(/\+/g, ' ')) : [];
21139
21140                dispatchMessages(window.mageMessages);
21141
21142                                // empty `mage-messages` cookie
21143                const skipSetDomain = true;
21144                hyva.setCookie('mage-messages','', -1, skipSetDomain);
21145
21146            } catch (error) {
21147                console.warn('Error parsing Cookie Messages:', error);
21148            }
21149        }
21150
21151        window.addEventListener('DOMContentLoaded', hyva.initFormKey);
21152        hyva.alpineInitialized(hyva.initMessages)
21153
21154    }( window.hyva = window.hyva || {} ));
21155</script>
vendor: 1 bytes, line 21155
21155
21156<script>
21157    'use strict';
21158    {
21159        const private_content_key = 'mage-cache-storage';
21160        const private_content_expire_key = 'mage-cache-timeout';
21161        const private_content_version_key = 'private_content_version';
21162        const section_data_ids_key = 'section_data_ids';
21163        const mage_cache_session_id_key = 'mage-cache-sessid';
21164        const last_visited_store_key = 'last_visited_store';
21165
21166        const ttl = 3600;
21167
21168        if (typeof hyva === 'undefined' || (!hyva.getBrowserStorage || !hyva.getCookie || !hyva.setCookie)) {
21169            console.warn("Hyvä helpers are not loaded yet. Make sure they are included before this script");
21170        }
21171
21172        function loadSectionData () {
21173            const browserStorage = hyva.getBrowserStorage();
21174            if (!browserStorage) {
21175                typeof window.dispatchMessages !== "undefined" && window.dispatchMessages(
21176                    [{
21177                        type: "warning",
21178                        text: "W przeglądarce należy włączyć funkcję LocalStorage."
21179                    }]
21180                );
21181                return;
21182            }
21183            try {
21184                let isInvalid = false;
21185
21186                if (hyva.getCookie(last_visited_store_key) !== CURRENT_STORE_CODE) {
21187                    isInvalid = true;
21188                }
21189                hyva.setCookie(last_visited_store_key, CURRENT_STORE_CODE, false, false);
21190
21191                if (!hyva.getCookie(mage_cache_session_id_key)) {
21192                    isInvalid = true;
21193                    browserStorage.removeItem(private_content_key);
21194                    const skipSetDomain = true;
21195                    const days = false;
21196                    hyva.setCookie(mage_cache_session_id_key, true, days, skipSetDomain)
21197                }
21198
21199                const cookieVersion = hyva.getCookie(private_content_version_key);
21200                const storageVersion = browserStorage.getItem(private_content_version_key);
21201
21202                if (cookieVersion && !storageVersion || cookieVersion !== storageVersion) {
21203                    isInvalid = true;
21204                }
21205
21206                const privateContentExpires = browserStorage.getItem(private_content_expire_key);
21207                if (privateContentExpires && new Date(privateContentExpires) < new Date()) {
21208                    browserStorage.removeItem(private_content_key);
21209                }
21210
21211                if (isInvalid && cookieVersion) {
21212                    fetchPrivateContent([]);
21213                } else if (cookieVersion && storageVersion && cookieVersion === storageVersion) {
21214                    const privateContent = JSON.parse(browserStorage.getItem(private_content_key));
21215                    if (
21216                        privateContent &&
21217                        privateContentExpires &&
21218                        privateContent.cart &&
21219                        privateContent.customer
21220                    ) {
21221                        dispatchPrivateContent(privateContent);
21222                    } else {
21223                        fetchPrivateContent([]);
21224                    }
21225                } else {
21226                    if (document.getElementById('default-section-data')) {
21227                        const privateContent = JSON.parse(document.getElementById('default-section-data').innerText.trim());
21228                        dispatchPrivateContent(privateContent);
21229                    } else {
21230                        dispatchPrivateContent({});
21231                    }
21232                }
21233
21234            } catch (error) {
21235                console.warn('Error retrieving Private Content:', error);
21236            }
21237        }
21238
21239        hyva.alpineInitialized(loadSectionData)
21240        window.addEventListener('reload-customer-section-data', loadSectionData);
21241
21242        window.processSectionDataBeforeDispatch = window.processSectionDataBeforeDispatch || (data => data);
21243
21244        function dispatchPrivateContent(data) {
21245
21246            const privateContentEvent = new CustomEvent("private-content-loaded", {
21247                detail: {
21248                    data: window.processSectionDataBeforeDispatch(data)
21249                }
21250            });
21251            window.dispatchEvent(privateContentEvent);
21252        }
21253
21254        function fetchPrivateContent(sections) {
21255            fetch(`${BASE_URL}customer/section/load/?sections=${encodeURIComponent(sections.join(','))}`, {
21256                method: 'GET',
21257                headers: {
21258                    'Content-Type': 'application/json',
21259                    'X-Requested-With': 'XMLHttpRequest'
21260                }
21261            })
21262                .then(response => response.ok && response.json())
21263                .then(
21264                    data => {
21265                        if (data) {
21266                            try {
21267                                const browserStorage = hyva.getBrowserStorage();
21268
21269                                // merge new data preserving non-invalidated sections
21270                                const oldSectionData = JSON.parse(browserStorage.getItem(private_content_key) || '{}') || {};
21271
21272                                if ((! data.cart || ! data.cart.cartId) && oldSectionData['checkout-data']) {
21273                                    delete oldSectionData['checkout-data'];
21274                                }
21275                                const newSectionData = Object.assign(oldSectionData, data);
21276
21277                                dispatchPrivateContent(newSectionData);
21278
21279                                // don't persist messages, they've been dispatched already
21280                                if (newSectionData.messages && newSectionData.messages.messages ) {
21281                                    newSectionData.messages.messages = [];
21282                                }
21283
21284                                browserStorage.setItem(private_content_key, JSON.stringify(newSectionData));
21285
21286                                const expiresAt = new Date(Date.now() + (ttl * 1000)).toISOString();
21287                                browserStorage.setItem(private_content_expire_key, expiresAt);
21288
21289                                const newCookieVersion = hyva.getCookie(private_content_version_key);
21290                                browserStorage.setItem(private_content_version_key, newCookieVersion);
21291
21292                                // We don't need the section_data_ids in Hyvä, but we store them for compatibility
21293                                // with Luma Fallback. Otherwise, not all sections are loaded in Luma Checkout
21294                                hyva.setCookie(
21295                                    section_data_ids_key,
21296                                    JSON.stringify(
21297                                        Object.keys(data).reduce((sectionDataIds, sectionKey) => {
21298                                            sectionDataIds[sectionKey] = data[sectionKey]['data_id'];
21299                                            return sectionDataIds;
21300                                        }, {})
21301                                    ),
21302                                    false,
21303                                    true
21304                                );
21305                            } catch (error) {
21306                                console.warn("Couldn't store privateContent", error);
21307                            }
21308                        }
21309                    }
21310                );
21311        }
21312    }
21313</script>
vendor: 1 bytes, line 21313
21313
21314<script>
21315    (() => {
21316        document.addEventListener('submit', event => event.target.action = event.target.action.replace('%25uenc%25', hyva.getUenc()));
21317    })()
21318</script>
vendor: 1 bytes, line 21318
21318
21319<script>
21320    (events => {
21321        const dispatchUserInteractionEvent = () => {
21322            events.forEach(type => window.removeEventListener(type, dispatchUserInteractionEvent))
21323            window.dispatchEvent(new Event('init-external-scripts'))
21324        };
21325        events.forEach(type => window.addEventListener(type, dispatchUserInteractionEvent, {once: true, passive: true}))
21326    })(['touchstart', 'mousemove', 'wheel', 'scroll', 'keydown'])
21327</script>
vendor: 1 bytes, line 21327
21327
21328<script type="application/ld+json">
21329    {"@context":"https:\/\/schema.org","@type":"Organization","name":"Fera sp. z o.o.","url":"https:\/\/fera.pl\/","logo":"https:\/\/media.fera.pl\/logo\/default\/Path_0.png","sameAs":["https:\/\/www.facebook.com\/sklepferapl","https:\/\/www.instagram.com\/fera_pl","https:\/\/www.youtube.com\/FeraPlsklepzoologiczny"]}</script>
21329
21330
21331<div
21332    id="scroll-to-top"
21333    class="z-30 fixed bottom-6 sm:bottom-12 lg:bottom-32 xl:bottom-40 hidden lg:block  right-4 sm:left-auto sm:right-8 md:right-12 lg:right-20"
21334    x-data="initScrollToTop"
21335    x-cloak
21336    x-show="visible"
21337    x-transition.duration.250ms
21338    x-bind="eventListeners"
21339>
21340    <button
21341        type="button"
21342        class="btn btn-icon-size-2xl rounded-full"
21343        @click="scrollToTop"
21344        aria-label="Scroll&#x20;back&#x20;to&#x20;the&#x20;top&#x20;of&#x20;the&#x20;page"
21345    >
21346        <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">
21347  <path stroke-linecap="round" stroke-linejoin="round" d="M5 10l7-7m0 0l7 7m-7-7v18"/>
21348</svg>
21349    </button>
21350
21351    
21351<script>
21352        function initScrollToTop() {
21353            return {
21354                visible: false,
21355                scrollOffset: 200,
21356                scrollPosition: 0,
21357                init() {
21358                    scrollPosition = document.documentElement.scrollTop;
21359                    this.$watch('scrollPosition', (pos, prevPos) => {
21360                        this.visible = pos > this.scrollOffset;
21361                    });
21362                },
21363                scrollToTop() {
21364                    this.visible = false;
21365                    document.documentElement.scrollIntoView({ behavior: 'smooth' })
21366                },
21367                eventListeners: {
21368                    ['@scroll.window.throttle.50ms']() {
21369                        this.scrollPosition = document.documentElement.scrollTop;
21370                    },
21371                                            ['@scroll.window.debounce.4000ms']() {
21372                            this.visible = false;
21373                        }
21374                                    }
21375            }
21376        }
21377        window.addEventListener('alpine:init', () => Alpine.data('initScrollToTop', initScrollToTop), { once: true });
21378    </script>
21378
21379    </div>
21380
21381<script>
21382    (() => {
21383        window.lastPageYOffset = window.pageYOffset;
21384        document.documentElement.dataset.scrollDirY = 'initial';
21385
21386        const throttle = (fn, wait) => {
21387            let timer;
21388            return function () {
21389                const context = this;
21390                const args = arguments;
21391                clearTimeout(timer);
21392                timer = setTimeout(() => { fn.apply(context, args) }, wait);
21393            };
21394        };
21395
21396        const setScrollDirY = () => {
21397            const lastScrollPosition = window.lastPageYOffset;
21398            const newScrollPosition = window.pageYOffset;
21399            const scrollDir = newScrollPosition < 1
21400                ? 'initial'
21401                : newScrollPosition > lastScrollPosition ? 'down' : 'up';
21402
21403            document.documentElement.dataset.scrollDirY = scrollDir;
21404            window.lastPageYOffset = newScrollPosition;
21405            window.dispatchEvent(new Event('scrollPosition'));
21406        }
21407
21408        window.addEventListener('scroll', throttle(setScrollDirY, 30));
21409    })();
21410</script>
vendor: 1 bytes, line 21410
21410
21411<script>
21412    function initConfigurableOptions(productId, optionConfig) {
21413
21414        function findPathParam(key) {
21415                        const baseUrl = (BASE_URL.substring(0, 2) === '//' ? 'http:' : '') + BASE_URL;
21416            const baseUrlParts = (new URL(baseUrl)).pathname.replace(/\/$/, '').split('/');
21417            const pathParts = window.location.pathname.split('/').slice(baseUrlParts.length + 3);
21418            for (let i = 0; i < pathParts.length; i += 2) {
21419                if (pathParts[i] === key && pathParts.length > i) {
21420                    return pathParts[i + 1];
21421                }
21422            }
21423        }
21424
21425        return {
21426            optionConfig,
21427            productId,
21428            itemId: (new URLSearchParams(window.location.search)).get('id') || findPathParam('id'),
21429            allowedAttributeOptions: [],
21430            selectedValues: [],
21431            init() {
21432                this.findAllowedAttributeOptions();
21433                this.$nextTick(() => {
21434                    if (typeof this.optionConfig.defaultValues === 'object') {
21435                        for (const [attributeId, value] of Object.entries(this.optionConfig.defaultValues)) {
21436                            this.changeOption(attributeId, value + '');
21437                        }
21438                    }
21439                    this.preselectQuerystringItems();
21440                    this.preselectLocationHashItems();
21441                });
21442            },
21443            productIndex: 0,
21444            productIndexForPrice: 0,
21445            optionIsActive(attributeId, optionId) {
21446                                return !!this.getAllowedAttributeOptions(attributeId).find(
21447                    option => option.id === optionId
21448                )
21449            },
21450            optionIsEnabled(attributeId, optionId) {
21451                                for (const productId in this.optionConfig.index) {
21452                    if (this.optionConfig.index[productId][attributeId] === optionId) {
21453                        return true;
21454                    }
21455                }
21456                return false;
21457            },
21458            findSimpleIndex() {
21459                                this.productIndex = this.calculateSimpleIndexForPartialSelection(this.selectedValues);
21460                this.productIndexForPrice = this.findCheapestProductForPartialSelection(this.selectedValues);
21461            },
21462            calculateSimpleIndexForPartialSelection(selectedValues) {
21463                if (selectedValues.length === 0) return 0;
21464                return this.findProductIdsForPartialSelection(selectedValues)[0];
21465            },
21466            calculateSimpleIndexForFullSelection(selectedValues) {
21467                if (! this.isFullSelection(selectedValues)) return false;
21468
21469                const productIndexes = this.optionConfig.index;
21470                return Object.keys(productIndexes).find(productIndex => {
21471                    const productCandidateOptions = productIndexes[productIndex];
21472
21473                    for (const productOption in productCandidateOptions) {
21474                        if (
21475                            !selectedValues[productOption] ||
21476                            selectedValues[productOption] !== productCandidateOptions[productOption]
21477                        ) {
21478                            return false;
21479                        }
21480                    }
21481                    return productIndex;
21482                });
21483            },
21484            findAllowedAttributeOptions() {
21485                                this.allowedAttributeOptions = this.calculateAllowedAttributeOptions(this.selectedValues);
21486            },
21487            calculateAllowedAttributeOptions(selectedValues) {
21488                const allAttributes = this.optionConfig.attributes;
21489                const allAttributesSorted = Object.values(allAttributes).sort((a,b) => {
21490                    return a.position - b.position
21491                });
21492
21493                const newAllowedAttributeOptions = [];
21494
21495                allAttributesSorted.forEach(attribute => {
21496                    const selectionWithoutAttr = Object.assign({}, this.removeAttrFromSelection(selectedValues, attribute.id));
21497                    const availableIndexes = this.calculateAvailableProductIndexes(selectionWithoutAttr);
21498                    newAllowedAttributeOptions[attribute.id] = allAttributes[attribute.id].options.filter(option => {
21499                        return !!option.products.find(product => {
21500                            return availableIndexes.includes(product);
21501                        })
21502                    });
21503                });
21504                return newAllowedAttributeOptions;
21505            },
21506            calculateAvailableProductIndexes(selectedOptions) {
21507                if (Object.keys(selectedOptions).length === 0) {
21508                                        if (Object.values(this.optionConfig.salable || {}).length) {
21509                                                return [].concat.apply([], [].concat.apply([], Object.values(this.optionConfig.salable).map(Object.values))).filter((x, i, a) => a.indexOf(x) === i)
21510                    }
21511                                        return Object.keys(this.optionConfig.index);
21512                }
21513
21514                                const selectedIds = Object.keys(selectedOptions);
21515                if (Object.values(this.optionConfig.salable || {}).length) {
21516                                        const selectedOptionIndexes = selectedIds.map(attrId => {
21517                        const optionValue = selectedOptions[attrId];
21518                        return this.optionConfig.salable[attrId] && this.optionConfig.salable[attrId][optionValue] || []
21519                    })
21520                                        return selectedOptionIndexes.reduce((acc, optionIndexes) => {
21521                        return acc.filter(index => optionIndexes.includes(index));
21522                    });
21523                } else {
21524                                        const productIndexes = this.optionConfig.index;
21525                    return Object.keys(productIndexes).filter(index => {
21526                                                for (const attrId of selectedIds) {
21527                            if (productIndexes[index][attrId] !== `${selectedOptions[attrId]}`) return false
21528                        }
21529                        return true
21530                    });
21531                }
21532            },
21533            findAttributeByOptionId(optionId) {
21534                for (const attributeId in this.optionConfig.attributes) {
21535                    const attributeOptions = this.optionConfig.attributes[attributeId].options || [];
21536                    if (attributeOptions.find(option => option.id === optionId)) {
21537                        return attributeId;
21538                    }
21539                }
21540            },
21541            getAllowedAttributeOptions(attributeId) {
21542                return this.allowedAttributeOptions[attributeId] || []
21543            },
21544            getAllAttributeOptions(attributeId) {
21545                return (
21546                    this.optionConfig.attributes[attributeId] &&
21547                    this.optionConfig.attributes[attributeId].options
21548                ) || []
21549            },
21550            getProductIdsForOption(option) {
21551                const attributeId = this.findAttributeByOptionId(option.id);
21552                const allOptions = this.optionConfig.attributes[attributeId];
21553                const opt = (allOptions && allOptions.options || []).find(o => o.id === option.id);
21554                return opt && opt.products
21555                    ? opt.products
21556                    : [];
21557            },
21558            findProductIdsForPartialSelection(optionSelection) {
21559                const candidateProducts = Object.values(optionSelection).reduce((candidates, optionId) => {
21560                    const newCandidates = this.getProductIdsForOption({id: optionId});
21561                    return candidates === null
21562                        ? newCandidates
21563                        : candidates.filter(productId => newCandidates.includes(productId));
21564                }, null);
21565                return candidateProducts || [];
21566            },
21567            findCheapestProductForPartialSelection(optionSelection) {
21568                const candidateProducts = this.findProductIdsForPartialSelection(optionSelection);
21569                return candidateProducts.reduce((cheapest, simpleIdx) => {
21570                    // in the first iteration we start with simpleIdx as the currently cheapest product
21571                    if (! this.optionConfig.optionPrices[cheapest]) return simpleIdx;
21572                    const knownCheapestPrice = this.optionConfig.optionPrices[cheapest].finalPrice.amount;
21573                    return knownCheapestPrice > this.optionConfig.optionPrices[simpleIdx].finalPrice.amount
21574                        ? simpleIdx
21575                        : cheapest;
21576                }, 0)
21577            },
21578            findProductIdToUseForOptionPrice(option) {
21579                // try to find a product for a complete selection
21580                const attributeId = this.findAttributeByOptionId(option.id);
21581                const optionSelection = Object.assign({}, this.selectedValues, {[attributeId]: option.id});
21582                const matchingSimpleIndex = this.calculateSimpleIndexForFullSelection(optionSelection);
21583                // if there is no complete selection, use the cheapest product for the option
21584                return matchingSimpleIndex || this.findCheapestProductForPartialSelection(optionSelection);
21585            },
21586            getAttributeOptionLabel(option) {
21587                const optionProduct = this.findProductIdToUseForOptionPrice(option);
21588
21589                if ((! optionProduct) || (optionProduct === this.productIndexForPrice)) {
21590                    return option.label;
21591                }
21592
21593                const currentPrice = this.getOptionPriceAdjustmentBasePrice();
21594
21595                if (this.optionConfig.optionPrices[optionProduct]) {
21596                    const optionPrice = this.optionConfig.optionPrices[optionProduct].finalPrice.amount;
21597                    if (optionPrice !== currentPrice){
21598                        return option.label + ' ' + hyva.formatPrice(optionPrice - currentPrice, true);
21599                    }
21600                }
21601                return option.label;
21602            },
21603            getOptionPriceAdjustmentBasePrice() {
21604                if (this.optionConfig.optionPrices[this.productIndexForPrice]) {
21605                    return this.optionConfig.optionPrices[this.productIndexForPrice].finalPrice.amount
21606                }
21607                return this.optionConfig.prices.finalPrice.amount; // default price if no option selection
21608            },
21609            clearOptionIfActive(optionId, value) {
21610                if (this.selectedValues[optionId] === value) {
21611                    this.blurLabel()
21612                    this.changeOption(optionId, '')
21613                }
21614            },
21615            removeAttrFromSelection(selectedValues, attributeId) {
21616                                attributeId = parseInt(attributeId);
21617                return selectedValues.reduce((newSelection, val, attr) => {
21618                    if (attr !== attributeId) {
21619                        newSelection[attr] = val;
21620                    }
21621                    return newSelection;
21622                }, []);
21623            },
21624            changeOption(attributeId, value) {
21625                if (value === '') {
21626                    this.selectedValues = this.removeAttrFromSelection(this.selectedValues, attributeId)
21627                } else if (value && this.getAllowedAttributeOptions(attributeId).find(option => option.id === value)) {
21628                                        this.selectedValues[attributeId] = value;
21629                }
21630                this.findSimpleIndex();
21631                this.findAllowedAttributeOptions();
21632                this.updatePrices();
21633                this.updateGallery();
21634
21635                const candidates = this.findProductIdsForPartialSelection(this.selectedValues);
21636
21637                                window.dispatchEvent(
21638                    new CustomEvent(
21639                        'configurable-selection-changed',
21640                        {
21641                            detail: {
21642                                productId: this.productId,
21643                                optionId: attributeId,
21644                                value: value,
21645                                productIndex: this.productIndex,
21646                                selectedValues: this.selectedValues,
21647                                candidates: candidates,
21648                                skuCandidates: Object.values(candidates).map(id =>
21648 this.optionConfig.sku?.[id] ?? null).filter(Boolean),
21649                            }
21650                        }
21651                    )
21652                );
21653            },
21654            calculateIsMinimalPrice() {
21655                return ! this.isFullSelection(this.selectedValues);
21656            },
21657            isFullSelection(selectedValues) {
21658                return Object.values(selectedValues).length === Object.keys(this.optionConfig.attributes).length;
21659            },
21660            updatePrices() {
21661                const value = this.optionConfig.optionPrices[this.productIndexForPrice] || this.optionConfig.prices;
21662                window.dispatchEvent(
21663                    new CustomEvent(
21664                        "update-prices-" + this.productId,
21665                        {
21666                            detail: Object.assign(
21667                                value,
21668                                { isMinimalPrice: this.calculateIsMinimalPrice() }
21669                            )
21670                        }
21671                    )
21672                );
21673            },
21674            updateGallery () {
21675                if (this.productIndex) {
21676                    const images = this.optionConfig.images[this.productIndex];
21677                    images && window.dispatchEvent(new CustomEvent(
21678                        "update-gallery",
21679                        { detail: this.sortImagesByPosition(images) }
21680                    ));
21681                } else {
21682                    window.dispatchEvent(new Event("reset-gallery"));
21683                }
21684            },
21685            sortImagesByPosition(images) {
21686                return images.sort((x, y) => {
21687                    return x.position === y.position ? 0 : (parseInt(x.position) > parseInt(y.position) ? 1 : -1)
21688                });
21689            },
21690            onGetCartData(data) {
21691                            },
21692            preselectCartItems(data) {
21693                // pre-select options based on cart data for current (quote) itemId
21694                const cart = data && data.cart;
21695                if (cart && cart.items) {
21696                    const cartItem = cart.items.find((item) => {
21697                        return (
21698                            item.item_id === this.itemId
21699                            && item.product_id === this.productId
21700                        )
21701                    });
21702                    if (cartItem && cartItem.options && cartItem.options.length) {
21703                        cartItem.options.map(option => {
21704                            this.changeOption(option.option_id, option.option_value);
21705                        })
21706                    }
21707                }
21708            },
21709            preselectQuerystringItems() {
21710                // pre-select option like ?size=167
21711                const urlQueryParams = new URLSearchParams(window.location.search.replace('?',''));
21712                this.preselectItemsBasedOnLocation(attribute => urlQueryParams.get(attribute.code));
21713            },
21714            preselectLocationHashItems() {
21715                // pre-select option like #144=167
21716                const urlHashParams = new URLSearchParams(window.location.hash.replace('#',''));
21717                this.preselectItemsBasedOnLocation(attribute => urlHashParams.get(attribute.id));
21718            },
21719            preselectItemsBasedOnLocation(getLocationValue) {
21720                Object.values(this.optionConfig.attributes).map(attribute => {
21721                    const v = getLocationValue(attribute);
21722                    v && this.changeOption(attribute.id, v)
21723                });
21724            }
21725        }
21726    }
21727</script>
21727
21728
21729<script>
21730    function initSwatchOptions(swatchConfig) {
21731        return {
21732            swatchConfig,
21733            getAttributeSwatchData(attributeId) {
21734                const swatchConfig = Object.assign({}, this.swatchConfig[attributeId]);
21735                swatchConfig['details'] = JSON.parse(swatchConfig['additional_data']);
21736
21737                return swatchConfig;
21738            },
21739            mapSwatchTypeNumberToTypeCode(typeNumber) {
21740                switch ("" + typeNumber) {
21741                    case "1":
21742                        return "color"
21743                    case "2":
21744                        return "image"
21745                    case "3":
21746                        return "empty"
21747                    case "0":
21748                    default:
21749                        return "text"
21750                }
21751            },
21752            getTypeOfFirstOption(attributeId) {
21753                for (const optionId in this.swatchConfig[attributeId]) {
21754                    const option = this.swatchConfig[attributeId][optionId];
21755                    if (typeof option.type !== 'undefined') {
21756                        return this.mapSwatchTypeNumberToTypeCode(option.type);
21757                    }
21758                }
21759            },
21760            getVisualSwatchType(attributeId, targetOptionId) {
21761                // If a type configuration is present for the given option id, use it
21762                const config = this.swatchConfig[attributeId];
21763                if (config[targetOptionId] && typeof config[targetOptionId].type !== 'undefined') {
21764                    return this.mapSwatchTypeNumberToTypeCode(config[targetOptionId].type);
21765                }
21766
21767                // Otherwise - if no config is present for the target option - use the type of the first option
21768                // with a type property from the attribute, thus assuming its the same type as the target option.
21769                // (This edge case condition can occur on single swatch products if some options are not salable)
21770                return this.getTypeOfFirstOption(attributeId);
21771            },
21772            getSwatchType(attributeId, optionId) {
21773                // Deserialize the attribute details the first time they are used
21774                if (this.swatchConfig[attributeId] && ! this.swatchConfig[attributeId].details) {
21775                    this.swatchConfig[attributeId] = this.getAttributeSwatchData(attributeId);
21776                }
21777                const type =  this.swatchConfig[attributeId] &&
21778                    this.swatchConfig[attributeId].details &&
21779                    this.swatchConfig[attributeId].details.swatch_input_type ||
21780                    "empty";
21781                return type === 'visual' ? this.getVisualSwatchType(attributeId, optionId) : type;
21782            },
21783            isTextSwatch(attributeId, optionId) {
21784                return this.getSwatchType(attributeId, optionId) === 'text';
21785            },
21786            isVisualSwatch(attributeId, optionId) {
21787                const type = this.getSwatchType(attributeId, optionId);
21788
21789                return ['image', 'color'].includes(type);
21790            },
21791            getSwatchBackgroundStyle(attributeId, optionId) {
21792                const config = this.getSwatchConfig(attributeId, optionId);
21793                const type = this.getSwatchType(attributeId, optionId);
21794
21795                if (type === "color") {
21796                        return 'background-color:' + config.value;
21797                } else if (type === "image") {
21798                        return "background: #fff url('" + config.value + "') no-repeat center";
21799                } else {
21800                    return '';
21801                }
21802            },
21803            getSwatchText(attributeId, optionId) {
21804                const config = this.getSwatchConfig(attributeId, optionId);
21805                return config.label || config.value || this.getOptionLabelFromOptionConfig(attributeId, optionId);
21806            },
21807            getOptionLabelFromOptionConfig(attributeId, optionId) {
21808                // Fallback if no value is present in swatchConfig data
21809                // Reference issue https://gitlab.hyva.io/hyva-themes/magento2-default-theme/-/issues/190
21810                const option = this.getAllAttributeOptions(attributeId).filter(option => option.id === optionId);
21811                return option && option[0] && option[0].label ||'';
21812            },
21813            getSwatchConfig(attributeId, optionId) {
21814                return this.swatchConfig[attributeId] && this.swatchConfig[attributeId][optionId]
21815                    ? this.swatchConfig[attributeId][optionId]
21816                    : false;
21817            },
21818            activeTooltipItem: false,
21819            tooltipPositionElement: false,
21820            isTooltipVisible() {
21821                return this.activeTooltipItem &&
21822                    this.getSwatchConfig(
21823                        this.activeTooltipItem.attribute,
21824                        this.activeTooltipItem.item
21825                    );
21826            },
21827            isFirstItemCol() {
21828                return this.activeTooltipItem.index === 0;
21829            },
21830            getTooltipImageStyle(attributeId, optionId) {
21831                const config = this.getSwatchConfig(attributeId, optionId);
21832                const type = this.getSwatchType(attributeId, optionId);
21833
21834                if (type === "color") {
21835                    return 'background-color:' + config.value + '; width: 110px; height: 90px;';
21836                } else if (type === "image") {
21837                    return "background: #ffffff url('" + config.thumb +
21838                        "') center center no-repeat; width: 110px; height: 90px;";
21839                } else {
21840                    return 'display:none';
21841                }
21842            },
21843            getTooltipPosition() {
21844                return this.tooltipPositionElement ?
21845                    `top: ${this.tooltipPositionElement.offsetTop}px;` +
21846                    `left: ${
21847                        this.tooltipPositionElement.offsetLeft - (
21848                            this.tooltipPositionElement.closest('.snap') &&
21849                            this.tooltipPositionElement.closest('.snap').scrollLeft ||
21850                            0
21851                        )
21852                    }px;` : ''
21853            },
21854            getTooltipLabel() {
21855                return this.getSwatchConfig(this.activeTooltipItem.attribute, this.activeTooltipItem.item).label
21856            },
21857            focusedLabel: false,
21858            focusLabel(optionId) {
21859                this.focusedLabel = optionId;
21860            },
21861            blurLabel() {
21862                this.focusedLabel = false;
21863            },
21864            showSwatches: false,
21865            initShowSwatchesIntersect() {
21866                if ('IntersectionObserver' in window && !window.scrollY) {
21867                    let io = new IntersectionObserver(
21868                        entries => {
21869                            entries.map(entry => {
21870                                if (entry.isIntersecting) {
21871                                    this.showSwatches = true;
21872                                    io.unobserve(this.$root);
21873                                }
21874                            })
21875                        }
21876                    );
21877                    io.observe(this.$root);
21878                } else {
21879                    this.showSwatches = true
21880                }
21881            }
21882        }
21883    }
21884</script>
vendor: 1 bytes, line 21884
21884
21885<script>
21886    'use strict';
21887
21888    (function () {
21889        const modals = [];
21890        const excludedFromFocusTrapping = new Set();
21891
21892        function trapFocusInNextModalWithOverlay() {
21893            for (let idx = modals.length -1; idx >= 0; idx--) {
21894                const nextOnStack = modals[idx];
21895                const nextDialogElement = nextOnStack.instance.$refs[nextOnStack.name];
21896                if (! isOverlayDisabled(nextDialogElement)) {
21897                    hyva.trapFocus(nextDialogElement);
21898                    break;
21899                }
21900            }
21901        }
21902
21903        function focusables(dialogElement) {
21904            const selector = 'button, [href], input, textarea, select, details, [tabindex]:not([tabindex="-1"])';
21905            return Array.from(dialogElement.querySelectorAll(selector))
21906                .filter(el => !el.hasAttribute('disabled'));
21907        }
21908
21909        function firstVisible(elements) {
21910            const a = Array.from(elements);
21911            for (let i = 0; i < a.length; i++) {
21912                if (a[i].offsetWidth || a[i].offsetHeight || a[i].getClientRects().length) return a[i];
21913            }
21914            return null;
21915        }
21916
21917        function isInViewport(element) {
21918            const rect = element && element.getBoundingClientRect();
21919            return rect &&
21920                rect.top >= 0 &&
21921                rect.left >= 0 &&
21922                rect.right <= window.innerWidth &&
21923                rect.bottom <= window.innerHeight;
21924        }
21925
21926        function setFocusAfterTransition(dialogElement, duration) {
21927                        const nested = Array.from(dialogElement.querySelectorAll('[role="dialog"]'));
21928            const candidates = Array.from(dialogElement.querySelectorAll('[x-focus-first]'));
21929            next: for (let candidate of candidates) {
21930                for (let child of nested) {
21931                    if (child.contains(candidate)) continue next;
21932                }
21933                setTimeout(() => candidate.focus(), 50);
21934                break;
21935            }
21936            window.setTimeout(() => {
21937                const focusElement = firstVisible(dialogElement.querySelectorAll('[x-focus-first]')) ||
21938                    focusables(dialogElement)[0] ||
21939                    null;
21940                focusElement && isInViewport(focusElement) && focusElement.focus();
21941            }, Math.max(1, duration));
21942        }
21943
21944        function determineTrigger($refs, dialog, trigger) {
21945                        if (typeof trigger === 'undefined' && typeof dialog === 'object' && dialog.target instanceof HTMLElement) {
21946                return dialog.target;
21947            }
21948                        if (typeof dialog === 'string' && typeof trigger === 'object' && trigger.target instanceof HTMLElement) {
21949                return trigger.target;
21950            }
21951                        if (typeof trigger === 'string') {
21952                try {
21953                    return $refs[trigger] || document.querySelector(trigger)
21954                } catch (e) {}
21955            }
21956                        if (trigger instanceof Element) {
21957                return trigger;
21958            }
21959
21960                        return null;
21961        }
21962
21963        function isOverlayDisabled(dialog) {
21964            return dialog && dialog.hasAttribute('x-no-overlay')
21965        }
21966
21967        function areRemainingModalsWithoutOverlay(modals)
21968        {
21969            const overflowDisabled = modals.map(modal => modal.instance.$refs[modal.name]).filter(isOverlayDisabled);
21970
21971            return overflowDisabled.length === modals.length;
21972        }
21973
21974        window.hyva.modal = function(options = {}) {
21975                        if (this.$el && this.$el.dataset && this.$el.dataset.options) {
21976                try {
21977                    options = Object.assign(options, JSON.parse(this.$el.dataset.options || '{}'));
21978                } catch (e) {
21979                    throw new Error('Cannot read the dialog options from the data-options attribute: not valid JSON');
21980                }
21981            }
21982
21983            const config = Object.assign({
21984                dialog: 'dialog',                 duration: 300,                 transitionEnter: 'transition ease-out duration-300',
21985                transitionEnterStart: 'opacity-0',
21986                transitionEnterEnd: 'opacity-100',
21987                transitionLeave: 'transition ease-in duration-300',
21988                transitionLeaveStart: 'opacity-100',
21989                transitionLeaveEnd: 'opacity-0',
21990            }, options);
21991            let lastHide = 0;
21992
21993            return {
21994                opened: {},
21995                show(dialog, trigger) {
21996                    const focusTargetAfterHide = determineTrigger(this.$refs, dialog, trigger);
21997                    const name = typeof dialog === 'string' ? dialog : config.dialog;
21998                    const dialogElement = this.$refs[name];
21999                    if (! dialogElement) {
22000                                                return;
22001                    }
22002                    const useOverlay = ! dialogElement.hasAttribute('x-no-overlay');
22003
22004                    dialogElement.scrollTop = 0;
22005
22006                                        if (this.opened[name]) {
22007                        return;
22008                    }
22009
22010                    if (focusTargetAfterHide) {
22011                        focusTargetAfterHide.setAttribute('aria-expanded', 'true');
22012                    }
22013
22014                    this.opened[name] = true;
22015                    useOverlay && this.$nextTick(() => hyva.trapFocus(dialogElement));
22016                    setFocusAfterTransition(dialogElement, config.duration);
22017
22018                    const frame = {name, instance: this, focusTarget: focu
22018sTargetAfterHide, time: Date.now()};
22019
22020                    modals.push(frame);
22021                    if (useOverlay) {
22022                        document.body.classList.add('overflow-hidden');
22023                    }
22024                    return new Promise(resolve => frame.resolve = resolve);
22025                },
22026                cancel() {
22027                    this.hide(false);
22028                },
22029                ok() {
22030                    this.hide(true);
22031                },
22032                hide(value) {
22033                                        if (Date.now() - lastHide < config.duration) {
22034                        return;
22035                    }
22036                    lastHide = Date.now();
22037
22038                    const modal = modals.pop() || {};
22039                    if (! modal.instance) {
22040                        return;
22041                    }
22042
22043                    const name = modal.name;
22044                    this.opened[name] = false;
22045                    hyva.releaseFocus(modal.instance.$refs[modal.name])
22046                    trapFocusInNextModalWithOverlay();
22047
22048                    const nextFocusAfterHide = modal.focusTarget;
22049                    nextFocusAfterHide && setTimeout(() => {
22050                        nextFocusAfterHide.setAttribute('aria-expanded', 'false');
22051                        nextFocusAfterHide.focus()
22052                    }, config.duration);
22053
22054                    if (modals.length === 0 || areRemainingModalsWithoutOverlay(modals)) {
22055                        document.body.classList.remove('overflow-hidden');
22056                    }
22057
22058                    modal.resolve(value);
22059                },
22060                overlay(dialog) {
22061                    dialog = this.$el.dataset.dialogRefName || dialog;
22062                    const name = typeof dialog === 'string' ? dialog : config.dialog;
22063                    return {
22064                        ['x-show']() {
22065                            return this.opened[name]
22066                        },
22067                        ['x-transition:enter']: config.transitionEnter,
22068                        ['x-transition:enter-start']: config.transitionEnterStart,
22069                        ['x-transition:enter-end']: config.transitionEnterEnd,
22070                        ['x-transition:leave']: config.transitionLeave,
22071                        ['x-transition:leave-start']: config.transitionLeaveStart,
22072                        ['x-transition:leave-end']: config.transitionLeaveEnd,
22073                        ['@hyva-modal-show.window'](event) {
22074                            event.detail && event.detail.dialog === name && this.show(name, event.detail.focusAfterHide)
22075                        }
22076                    };
22077                },
22078                showDialogOnInit() {
22079                    const parent = this.$el.closest('[data-dialog-ref-name]');
22080                    if (parent && parent.dataset.dialogRefName) {
22081                        this.$dispatch('hyva-modal-show', {dialog: parent.dataset.dialogRefName})
22082                    }
22083                }
22084            };
22085        }
22086
22087        window.hyva.modal.peek = () => modals.length > 0 && modals[modals.length -1]
22088
22089        window.hyva.modal.pop = function () {
22090            if (modals.length > 0) {
22091                const modal = modals[modals.length -1];
22092                modal.instance.hide();
22093            }
22094        }
22095
22096        window.hyva.modal.excludeSelectorsFromFocusTrap = function (selectors) {
22097            typeof selectors === 'string' || selectors instanceof String
22098                ? excludedFromFocusTrapping.add(selectors)
22099                : selectors.map(selector => excludedFromFocusTrapping.add(selector));
22100        }
22101
22102        window.hyva.modal.eventListeners = {
22103            keydown: event => {
22104                if (event.key === 'Escape') {
22105                    window.hyva.modal.pop();
22106                }
22107            },
22108                        click: event => {
22109                if (modals.length > 0) {
22110                    const modal = modals[modals.length -1];
22111                    const dialog = modal.instance.$refs[modal.name];
22112                    if (modal.time + 50 < Date.now() && // if last click processing is more than 50ms ago
22113                        ! isOverlayDisabled(dialog) && // if dialog has overlay
22114                        ! dialog.contains(event.target)) { // if click is outside of dialog
22115                        modal.instance.hide();
22116                    }
22117                }
22118            }
22119        };
22120
22121        document.addEventListener('keydown', window.hyva.modal.eventListeners.keydown);
22122
22123        document.addEventListener('click', window.hyva.modal.eventListeners.click);
22124    })();
22125    window.addEventListener('alpine:init', () => {
22126        Alpine.data('hyvaModal', window.hyva.modal);
22127    }, {once: true});
22128</script>
vendor: 1 bytes, line 22128
22128
22129<script>
22130    function initRating() {
22131        return {
22132            reviewsSection: document.getElementById('customer-review-list')
22133                || document.getElementById('customer-reviews')
22134                || document.getElementById('review-form'),
22135            scrollToRatingsClasses() {
22136                return {
22137                    'cursor-pointer': this.reviewsSection
22138                }
22139            },
22140            scrollToRatingsTabIndex() {
22141                return this.reviewsSection ? '0' : '-1';
22142            },
22143            scrollToRatingsAriaLabel() {
22144                return this.reviewsSection
22145                    ? this.$el.dataset.ariaLabelReviewSection
22146                    : this.$el.dataset.ariaLabelNoReviewSection
22147
22148            },
22149            elementRole() {
22150                return this.reviewsSection ? 'button' : 'img';
22151            },
22152            scrollToRatings() {
22153                let scrollTimeout = null
22154
22155                if (!this.reviewsSection) {
22156                    return
22157                }
22158
22159                addEventListener('scroll', () => {
22160                    clearTimeout(scrollTimeout);
22161
22162                    scrollTimeout = setTimeout(() => {
22163                        if (this.reviewsSection) {
22164                            this.reviewsSection.focus()
22165                        }
22166                    }, 50);
22167                }, { once: true });
22168
22169                this.reviewsSection.scrollIntoView({behavior: 'smooth'})
22170            }
22171        }
22172    }
22173    window.addEventListener('alpine:init', () => Alpine.data('initRating', initRating), {once: true})
22174</script>
22174
22175
22176<script data-cfasync="false">
22177    'use strict';
22178
22179    /**
22180     * @typedef {Object} CookieGroupData
22181     * @prop {Boolean} checked
22182     * @prop {[{description: string, lifetime: number|null, name: string, provider: string, type: string}]} cookies
22183     * @prop {String} description
22184     * @prop {string|null} groupId
22185     * @prop {Boolean} isEssential
22186     * @prop {String} name
22187     */
22188
22189    function initAmastyCookieGroupsStorage() {
22190        return {
22191            /**
22192             * @type {[CookieGroupData]}
22193             */
22194            groupData: [],
22195            cookiePolicy: undefined,
22196            lastUpdate: undefined,
22197
22198            /**
22199             * @returns {string|number[]}
22200             */
22201            getEssentialGroupIds: function () {
22202                return this.groupData.reduce(function (essentialGroupIds, group) {
22203                    if (group.isEssential) {
22204                        essentialGroupIds.push(group.groupId)
22205                    }
22206
22207                    return essentialGroupIds;
22208                }, []);
22209            },
22210
22211            /**
22212             * @returns {string|number[]}
22213             */
22214            getCheckedGroupIds: function () {
22215                return this.groupData.reduce(function (checkedGroupIds, group) {
22216                    if (group.checked) {
22217                        checkedGroupIds.push(group.groupId);
22218                    }
22219
22220                    return checkedGroupIds;
22221                }, []);
22222            },
22223
22224            /**
22225             * @param {string} cookieName
22226             * @returns {boolean}
22227             */
22228            isCookieEssential: function (cookieName) {
22229                const allEssentialCookies = this.getEssentialCookies();
22230
22231                return !!allEssentialCookies.find(cookie => cookie.name === cookieName);
22232            },
22233
22234            /**
22235             * @returns {array}
22236             */
22237            getEssentialCookies: function () {
22238                return this.groupData
22239                    .filter(group => group.isEssential)
22240                    .map(group => group.cookies)
22241                    .flat();
22242            },
22243
22244            /**
22245             * @returns {boolean}
22246             */
22247            hasGroupData: function () {
22248                return !!this.groupData.length;
22249            },
22250
22251            /**
22252             * @param {string} cookieName
22253             * @param {string} pattern
22254             * @returns {boolean}
22255             */
22256            isEssentialByPattern: function (cookieName, pattern) {
22257                const essentialCookiePatterns = this.getEssentialCookiesPattern(pattern);
22258
22259                return essentialCookiePatterns.some((pattern) => !!cookieName.match(this.getCookiePattern(pattern)));
22260            },
22261
22262            /**
22263             * @param {string} pattern
22264             * @return {Array}
22265             */
22266            getEssentialCookiesPattern: function (pattern) {
22267                return this.getCookiesByPattern(pattern, this.getEssentialCookies());
22268            },
22269
22270            /**
22271             * @param {string} pattern
22272             * @param {Array|undefined} cookies
22273             * @return {Array}
22274             */
22275            getCookiesByPattern: function (pattern, cookies) {
22276                if (typeof cookie === 'undefined') {
22277                    cookies = this.getAllCookies();
22278                }
22279
22280                return cookies
22281                    .map((cookie) => typeof cookie === 'object' ? cookie.name : cookie.split('=')[0].trim())
22282                    .filter((cookie) => cookie.match(pattern) !== null);
22283            },
22284
22285            /**
22286             * @returns {array}
22287             */
22288            getDisallowedCookies: function () {
22289                const disallowedCookie = decodeURIComponent(hyva.getCookie('amcookie_disallowed') ?? '');
22290                if (!disallowedCookie) {
22291                    return [];
22292                }
22293
22294                return disallowedCookie.split(',');
22295            },
22296
22297            /**
22298             * @returns {string}
22299             */
22300            getCookiePattern: function (pattern) {
22301                return `^${pattern.replaceAll('*', '.*')}$`;
22302            },
22303
22304            /**
22305             * @returns {array}
22306             */
22307            getAllCookies: function () {
22308                return document.cookie.split(';');
22309            },
22310
22311            /**
22312             * @param {boolean} setAcceptance
22313             * @returns {Promise}
22314             */
22315            updateGroupData: function (setAcceptance = false) {
22316                const cookieFetchUrl = `${BASE_URL}amcookie/cookie/cookies`;
22317                return fetch(cookieFetchUrl, {
22318                    method: "POST",
22319                    headers: {
22320                        'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
22321                        'X-Requested-With': 'XMLHttpRequest'
22322                    },
22323                    body: new URLSearchParams({
22324                        allowed: hyva.getCookie('amcookie_allowed'),
22325                        restriction: hyva.getCookie('amcookie_policy_restriction')
22326                    })
22327                }).then(response => {
22328                    if (response.ok) {
22329                        return response.json();
22330                    }
22331
22332                    return Promise.reject(`${response.status} ${response.statusText}`);
22333                }).then(data => {
22334                    this.cookiePolicy = data.cookiePolicy ?? 'allowed';
22335                    this.lastUpdate = data.lastUpdate ?? 0;
22336                    this.groupData = [...data.groupData];
22337
22338                    hyva.setCookie('amcookie_policy_restriction', this.cookiePolicy, 10);
22339                    if (setAcceptance) {
22340                        amastyCookieManager.setLastCookieAcceptance(this.lastUpdate);
22341                    }
22342
22343                    return data;
22344                }).catch(error => {
22345                    typeof window.dispatchMessages !== "undefined" && window.dispatchMessages([
22346                        {
22347                            type: "error",
22348                            text: error
22349                        }
22350                    ]);
22351                }).finally(() => window.dispatchEvent(new CustomEvent('amasty-cookie-group-updated')));
22352            }
22353        }
22354    }
22355
22356    window.addEventListener(
22357        'alpine:init',
22358        () => Alpine.store('AmastyCookieGroups', initAmastyCookieGroupsStorage()),
22359        { once: true }
22360    );
22361</script>
22361
22362
22363<script data-cfasync="false">
22364    (function (amastyCookieManager) {
22365        'use strict';
22366
22367        amastyCookieManager.pattern = '{(?<cookiePattern>.*)}';
22368
22369        amastyCookieManager.getAmastyCookieGroupStorage = function () {
22370            return Alpine.store('AmastyCookieGroups') ?? {};
22371        };
22372
22373        amastyCookieManager.deleteDisallowedCookie = function () {
22374            const amastyCookieGroupStorage = this.getAmastyCookieGroupStorage();
22375            const disallowedCookies = amastyCookieGroupStorage?.getDisallowedCookies() ?? [];
22376
22377            disallowedCookies.forEach((name) => {
22378                const pattern = name.match(this.pattern);
22379                if (!!pattern && !!amastyCookieGroupStorage) {
22380                    const cookiePattern = amastyCookieGroupStorage.getCookiePattern(pattern.groups.cookiePattern) ?? '';
22381
22382                    amastyCookieGroupStorage.getCookiesByPattern(cookiePattern).forEach((cookieName) => {
22383                        this.deleteNotEssentialCookie(cookieName);
22384                    });
22385                } else {
22386                    this.deleteNotEssentialCookie(name);
22387                }
22388            });
22389        };
22390
22391        amastyCookieManager.isCookieAllowed = function (cookieName) {
22392            const allowedGroups = hyva.getCookie('amcookie_allowed');
22393            const disallowedCookie = this.getAmastyCookieGroupStorage()?.getDisallowedCookies() ?? [];
22394            const isCookiePolicyAllowed = hyva.getCookie('amcookie_policy_restriction') === 'allowed';
22395            const isCookieEssential = this.getAmastyCookieGroupStorage()?.isCookieEssential(cookieName);
22396            const isCookieEssentialByPattern = this.getAmastyCookieGroupStorage()?.isEssentialByPattern(cookieName, this.pattern);
22397
22398            if (!isCookiePolicyAllowed || isCookieEssential || isCookieEssentialByPattern) {
22399                return true;
22400            }
22401
22402            return !((!allowedGroups && !disallowedCookie) || this.isCookieDisallowed(cookieName));
22403        };
22404
22405        amastyCookieManager.isCookieDisallowed = function (cookieName) {
22406            const amastyCookieGroupStorage = this.getAmastyCookieGroupStorage();
22407            const disallowedCookies = amastyCookieGroupStorage?.getDisallowedCookies() ?? [];
22408
22409            return disallowedCookies.some((cookie) => {
22410                const pattern = cookie.match(this.pattern);
22411
22412                return !!pattern && !!cookieName.match(amastyCookieGroupStorage?.getCookiePattern(pattern.groups.cookiePattern));
22413            }) || disallowedCookies.indexOf(cookieName) !== -1;
22414        };
22415
22416        amastyCookieManager.processManageableCookies = function () {
22417            let cookieScripts = document.querySelectorAll('script[data-amcookie-groupid][type="text/plain"]');
22418
22419            cookieScripts.forEach((elem) => {
22420                if (this.isChecked(elem.dataset['amcookie-groupid'])) {
22421                    let elClone = elem.cloneNode(true).setAttribute('type', 'text/javascript');
22422
22423                    elem.remove();
22424                    document.body.appendChild(elClone);
22425                }
22426            });
22427        };
22428
22429        amastyCookieManager.deleteNotEssentialCookie = function (cookieName) {
22430            if (!this.getAmastyCookieGroupStorage()?.isCookieEssential(cookieName)) {
22431                hyva.setCookie(cookieName, '', -1, true);
22432            }
22433        };
22434
22435        amastyCookieManager.setLastCookieAcceptance = function (lastUpdate) {
22436            localStorage.setItem('am-last-cookie-acceptance', lastUpdate);
22437        };
22438
22439        window.addEventListener('amasty-cookie-group-updated', () => {
22440            amastyCookieManager.deleteDisallowedCookie();
22441        });
22442
22443        window.addEventListener('private-content-loaded', () => {
22444            amastyCookieManager.getAmastyCookieGroupStorage()?.hasGroupData() && amastyCookieManager.deleteDisallowedCookie();
22445        });
22446    }(window.amastyCookieManager = window.amastyCookieManager || {}));
22447</script>
22447
22448
22449<script data-cfasync="false">
22450    (function () {
22451        'use strict';
22452
22453        window.addEventListener('cookiebar-action-accept', (event) => {
22454            const groups = event.detail?.include_checked_groups ? Alpine.store('AmastyCookieGroups').getCheckedGroupIds() : [];
22455            const url = `${BASE_URL}amcookie/cookie/savegroups`;
22456            const contentType = 'application/x-www-form-urlencoded; charset=UTF-8';
22457            const body = new URLSearchParams({
22458                form_key: hyva.getFormKey()
22459            });
22460            groups.length && groups.map(groupId => body.append('groups[]', groupId));
22461
22462            fetch(url, {method: 'POST', body, headers: {'Content-Type': contentType}})
22463                .then(response => {
22464                    if (response.ok) {
22465                        return response.json();
22466                    }
22467
22468                    return Promise.reject(`${response.status} ${response.statusText}`);
22469                })
22470                .then(data => {
22471                    !!data.success && Alpine.store('AmastyCookieGroups').updateGroupData(true);
22472                })
22473                .catch(error => {
22474                    typeof window.dispatchMessages !== "undefined" && window.dispatchMessages([
22475                        {
22476                            type: "error",
22477                            text: error
22478                        }
22479                    ]);
22480                })
22481                .finally(() => {
22482                    amastyCookieManager.processManageableCookies();
22483                    window.dispatchEvent(new CustomEvent('cookiebar-action-accept-finish'));
22484                    window.dispatchEvent(new CustomEvent('amasty-cookie-group-updated'));
22485                    // Wait cookiebar close animation
22486                    setTimeout(() => {
22487                        window.dispatchEvent(new CustomEvent('reload-customer-section-data'));
22488                    }, 100);
22489                });
22490        });
22491    })();
22492</script>
22492
22493
22494<script data-cfasync="false">
22495    (function () {
22496        'use strict';
22497
22498        window.addEventListener('cookiebar-action-allow', () => {
22499            const url = `${BASE_URL}amcookie/cookie/allow`;
22500            const contentType = 'application/x-www-form-urlencoded; charset=UTF-8';
22501            const body = new URLSearchParams({
22502                form_key: hyva.getFormKey()
22503            });
22504            fetch(url, {method: 'POST', body, headers: {'Content-Type': contentType}})
22505                .then(response => {
22506                    if (response.ok) {
22507                        return response;
22508                    }
22509
22510                    return Promise.reject(`${response.status} ${response.statusText}`);
22511                })
22512                .then(() => {
22513                    Alpine.store('AmastyCookieGroups').updateGroupData(true);
22514                })
22515                .catch(error => {
22516                    typeof window.dispatchMessages !== "undefined" && window.dispatchMessages([
22517                        {
22518                            type: "error",
22519                            text: error
22520                        }
22521                    ]);
22522                })
22523                .finally(() => {
22524                    amastyCookieManager.processManageableCookies();
22525                    window.dispatchEvent(new CustomEvent('cookiebar-action-allow-finish'));
22526                    // Wait cookiebar close animation
22527                    setTimeout(() => {
22528                        window.dispatchEvent(new CustomEvent('reload-customer-section-data'));
22529                    }, 100);
22530                });
22531        });
22532    })();
22533</script>
22533
22534
22535<script data-cfasync="false">
22536    (function () {
22537        'use strict';
22538
22539        window.addEventListener('cookiebar-action-settings', () => {
22540            window.dispatchEvent(new Event('open-am-cookie-bar-settings'));
22541        });
22542    })();
22543</script>
22543
22544
22545<style>
22546    :root {
22547        /* Bar Color Settings */
22548        --ambar-background: #fff;
22549        --ambar-links-color: #326ed1;
22550        --ambar-policy-text: #374151;
22551        --ambar-toggle-active-color: #2563eb;
22552        --ambar-toggle-inactive-color: #fff;
22553
22554        /* Buttons Color Settings */
22555        --ambar-button-accept-color: #337ab7;
22556        --ambar-button-accept-hover-color: #337ab7;
22557        --ambar-button-accept-text: #fff;
22558        --ambar-button-accept-hover-text: #fff;
22559
22560        --ambar-button-allow-color: #337ab7;
22561        --ambar-button-allow-hover-color: #337ab7;
22562        --ambar-button-allow-text: #fff;
22563        --ambar-button-allow-hover-text: #fff;
22564
22565        --ambar-button-decline-color: #337ab7;
22566        --ambar-button-decline-hover-color: #337ab7;
22567        --ambar-button-decline-text: #fff;
22568        --ambar-button-decline-hover-text: #fff;
22569
22570        --ambar-button-settings-color: #337ab7;
22571        --ambar-button-settings-hover-color: #337ab7;
22572        --ambar-button-settings-text: #fff;
22573        --ambar-button-settings-hover-text: #fff;
22574
22575        /* Buttons Order Settings */
22576        --ambar-button-accept-order: 0;
22577        --ambar-button-allow-order: 0;
22578        --ambar-button-settings-order: 0;
22579        --ambar-button-decline-order: 0;
22580
22581        /* Cookie Information Bar Color Settings */
22582        --ambar-information-background: #fff;
22583        --ambar-information-title: #374151;
22584        --ambar-information-description: #374151;
22585        --ambar-information-table-header: #374151;
22586        --ambar-information-table-content: #374151;
22587
22588        /* Cookie Information Bar Done Button Settings */
22589        --ambar-information-button-color: #1d4ed8;
22590        --ambar-information-button-hover-color: #1d4ed8;
22591        --ambar-information-button-text: #fff;
22592        --ambar-information-button-hover-text: #fff;
22593
22594        /* Settings Bar Done Button Settings */
22595        --ambar-setting-button-color: #1d4ed8;
22596        --ambar-setting-button-hover-color: #1d4ed8;
22597        --ambar-setting-button-text: #fff;
22598        --ambar-setting-button-hover-text: #fff;
22599    }
22600</style>
22601
22602<script data-cfasync="false">
22603    'use strict';
22604
22605    function initAmCookieActionDispatcherBtn() {
22606        return {
22607            actiondispatchHandler: function (event) {
22608                const { dispatchAction, dispatchPayload } = event.currentTarget.dataset;
22609                this.$dispatch(dispatchAction, this.parsePayload(dispatchPayload));
22610            },
22611            parsePayload: function (payload) {
22612                try {
22613                    return JSON.parse(payload);
22614                } catch (e) {
22615                    return null;
22616                }
22617            }
22618        };
22619    }
22620
22621    window.addEventListener(
22622        'alpine:init',
22623        () => Alpine.data('initAmCookieActionDispatcherBtn', initAmCookieActionDispatcherBtn),
22624        { once: true }
22625    );
22626</script>
22626
22627
22628<script data-cfasync="false">
22629    'use strict';
22630
22631    function initAmCookieGroups() {
22632        return {
22633            /**
22634             * @withContext x-for: $store.AmastyCookieGroups.groupData
22635             * @returns {string}
22636             */
22637            getInputGroupId: function () {
22638                return `amcookie-${this.$el.dataset.groupPrefix}group-${this.group.groupId}`
22639            },
22640
22641            /**
22642             * @withContext x-for: $store.AmastyCookieGroups.groupData
22643             * @returns {{"!bg-gray-400": boolean}}
22644             */
22645            getInputStyles: function () {
22646                return {
22647                    '!bg-gray-400': this.group.isEssential
22648                }
22649            },
22650
22651            /**
22652             * @withContext x-for: $store.AmastyCookieGroups.groupData
22653             * @returns {void}
22654             */
22655            toggleGroup: function () {
22656                this.group.checked = !this.group.checked;
22657            },
22658
22659            /**
22660             * @withContext x-for: $store.AmastyCookieGroups.groupData
22661             * @returns {void}
22662             */
22663            moreInfoClickHandler: function () {
22664                this.$dispatch(this.$el.dataset.dispatchAction, this.group);
22665            },
22666
22667            moreInformationAboutCookieGroup: function () {
22668                return hyva.str('About\u0020\u0022\u00251\u0022\u0020Cookie\u0020Group', this.group.name);
22669            }
22670        }
22671    }
22672
22673    window.addEventListener(
22674        'alpine:init',
22675        () => Alpine.data('initAmCookieGroups', initAmCookieGroups),
22676        {once: true}
22677    );
22678</script>
22678
22679
22680<section x-data="initAmGdprLoader"
22681         @amgdpr-loading-start.window="showLoader"
22682         @amgdpr-loading-stop.window="hideLoader"
22683>
22684    <div
22685    class="z-50 fixed inset-0 grid place-items-center bg-white/70 text-slate-800"
22686    x-cloak
22687    x-show="isLoading"
22688    x-transition.opacity.duration.200ms
22689>
22690    <div class="flex gap-10 items-center p-4">
22691        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 57 57" width="57" height="57" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true">
22692    <style>
22693        @keyframes spinner-ball-triangle1 {
22694            0% { transform: translate(0%, 0%); }
22695            33% { transform: translate(38%, -79%); }
22696            66% { transform: translate(77%, 0%); }
22697            100% { transform: translate(0%, 0%); }
22698        }
22699
22700        @keyframes spinner-ball-triangle2 {
22701            0% { transform: translate(0%, 0%); }
22702            33% { transform: translate(38%, 79%); }
22703            66% { transform: translate(-38%, 79%); }
22704            100% { transform: translate(0%, 0%); }
22705        }
22706
22707        @keyframes spinner-ball-triangle3 {
22708            0% { transform: translate(0%, 0%); }
22709            33% { transform: translate(-77%, 0%); }
22710            66% { transform: translate(-38%, -79%); }
22711            100% { transform: translate(0%, 0%); }
22712        }
22713    </style>
22714    <circle cx="5" cy="50" r="5" style="animation: spinner-ball-triangle1 2.2s linear infinite"/>
22715    <circle cx="27" cy="5" r="5" style="animation: spinner-ball-triangle2 2.2s linear infinite"/>
22716    <circle cx="49" cy="50" r="5" style="animation: spinner-ball-triangle3 2.2s linear infinite"/>
22717</svg>
22718        <span class="text-xl select-none">
22719            Ładuję...        </span>
22720    </div>
22721</div>
22722</section>
22723
22724<script data-cfasync="false">
22725    'use strict';
22726
22727    function initAmGdprLoader() {
22728        return {
22729            isLoading: false,
22730
22731            /**
22732             * @returns {void}
22733             */
22734            showLoader: function () {
22735                this.isLoading = true;
22736            },
22737
22738            /**
22739             * @returns {void}
22740             */
22741            hideLoader: function () {
22742                this.isLoading = false;
22743            }
22744        }
22745    }
22746
22747    window.addEventListener(
22748        'alpine:init',
22749        () => Alpine.data('initAmGdprLoader', initAmGdprLoader),
22750        { once: true }
22751    );
22752</script>
22752
22753
22754<script>
22755    'use strict';
22756    (() => {
22757        function _calculateStrength({elementID, valid}) {
22758            const password = document.getElementById(elementID),
22759                emailElm = document.getElementById('email_address');
22760            let displayScore;
22761            // Display score is based on combination of whether password is empty, valid, and zxcvbn strength
22762            if (!password || !password.value) {
22763                displayScore = 0;
22764            } else {
22765                // We should only perform this check in case there is an email field on screen
22766                if (emailElm && password.value && emailElm.value &&
22767                    password.value.toLowerCase() === emailElm.value.toLowerCase()) {
22768                    displayScore = 1;
22769                } else {
22770                    const zxcvbnScore = zxcvbn(password.value).score;
22771                    displayScore = valid && zxcvbnScore > 0 ? zxcvbnScore : 1;
22772                }
22773            }
22774
22775            _displayStrength(displayScore);
22776        }
22777
22778        function _displayStrength(displayScore) {
22779            let strengthLabel = '',
22780                className;
22781
22782            switch (displayScore) {
22783                case 0:
22784                    strengthLabel = "Bez\u0020has\u0142a";
22785                    className = 'password-none';
22786                    break;
22787
22788                case 1:
22789                    strengthLabel = "S\u0142aby";
22790                    className = 'password-weak';
22791                    break;
22792
22793                case 2:
22794                    strengthLabel = "\u015Aredni";
22795                    className = 'password-medium';
22796                    break;
22797
22798                case 3:
22799                    strengthLabel = "Silny";
22800                    className = 'password-strong';
22801                    break;
22802
22803                case 4:
22804                    strengthLabel = "Bardzo\u0020silne";
22805                    className = 'password-very-strong';
22806                    break;
22807            }
22808            const meterElm = document.getElementById('password-strength-meter-container'),
22809                meterLabelElm = document.getElementById('password-strength-meter-label');
22810            meterElm.className = '';
22811            meterElm.classList.add(className);
22812            meterLabelElm.textContent = strengthLabel;
22813        }
22814
22815        let loading = false;
22816        const callbacks = [];
22817
22818        function loadZxcvbn(cb) {
22819            callbacks.push(cb);
22820            if (loading) return;
22821            loading = true;
22822
22823            const script = document.createElement('script');
22824            script.type = 'text/javascript';
22825            script.src = 'https\u003A\u002F\u002Fstatic.fera.pl\u002Fversion1790219430\u002Ffrontend\u002FTooks\u002Fdefault\u002Fpl_PL\u002Fjs\u002Fzxcvbn.js';
22826            script.async = true;
22827            script.onload = () => callbacks.forEach(cb => cb());
22828            document.head.appendChild(script);
22829        }
22830
22831        window.addEventListener('password-validate', function (evt) {
22832            const meterElm = document.getElementById('password-strength-meter-container'),
22833                meterLabelElm = document.getElementById('password-strength-meter-label');
22834            if (meterElm && meterLabelElm) {
22835                if (evt.detail && evt.detail.elementID) {
22836                    const cb = () => _calculateStrength(evt.detail);
22837                    window.zxcvbn ? cb() : loadZxcvbn(cb)
22838                }
22839            }
22840        });
22841
22842
22843        document.addEventListener('DOMContentLoaded', () => {
22844            hyva && hyva.formValidation && hyva.formValidation.addRule('password-strength', function(value, options, field, context) {
22845                let counter = 0;
22846                const minCharacterSets = options.minCharacterSets !== undefined ?  options.minCharacterSets : 1;
22847                if (value.match(/\d+/)) {
22848                    counter++;
22849                }
22850
22851                if (value.match(/[a-z]+/)) {
22852                    counter++;
22853                }
22854
22855                if (value.match(/[A-Z]+/)) {
22856                    counter++;
22857                }
22858
22859                if (value.match(/[^a-zA-Z0-9]+/)) {
22860                    counter++;
22861                }
22862
22863                queueMicrotask(() => {
22864                    window.dispatchEvent(new CustomEvent('password-validate', { detail: {
22865                            elementID: field.element.id || 'password',
22866                            valid: field.state.valid
22867                        }}));
22868                });
22869
22870                if (counter < minCharacterSets) {
22871                    const missing = minCharacterSets - counter;
22872                    return hyva.str('Has\u0142o\u0020musi\u0020zawiera\u0107\u0020co\u0020najmniej\u0020\u00251\u0020lub\u0020wi\u0119cej\u0020z\u003A\u0020wielkich\u0020liter\u0020\u0028A\u002DZ\u0029,\u0020ma\u0142ych\u0020liter\u0020\u0028a\u002Dz\u0029,\u0020cyfr\u0020i\u0020symboli.', missing);
22873                }
22874                return true;
22875            });
22876        })
22877    })();
22878
22879</script>
22879
22880
22881<script>
22882    'use strict';
22883
22884    (() => {
22885        const browserStorage = hyva.getBrowserStorage();
22886        const storageKey = 'mage-banners-cache-storage';
22887        const cacheTimeoutKey = 'mage-banners-cache-timeout';
22888        const storeIdKey = 'mage-banners-storeId';
22889        const cartIdKey = 'mage-banners-cartDataId';
22890        const options = {
22891            cacheTtl: 30000,
22892            sectionLoadUrl: 'https://fera.pl/banner/ajax/load/'
22893        };
22894
22895        if (browserStorage && browserStorage.getItem(storageKey) === null) {
22896            browserStorage.setItem(storageKey, "{}");
22897        }
22898
22899        async function initBanners(elements) {
22900            invalidateCacheBySessionTimeOut();
22901
22902            const storageData = JSON.parse(browserStorage.getItem(storageKey));
22903            let items = [];
22904
22905            if (storageData.data) {
22906                items = getFromStorage();
22907            } else {
22908                items = await getFromServer();
22909            }
22910
22911            populateDynamicBlocks(elements, items);
22912        }
22913
22914        // Cache invalidation. Banner cache ttl is 30 sec by default.
22915        function invalidateCacheBySessionTimeOut() {
22916            const cacheEol = new Date(browserStorage.getItem(cacheTimeoutKey))
22917            const dateTo = new Date(Date.now() + options.cacheTtl);
22918            const globalStoreId = hyva.getCookie('store') || 'default';
22919            const mageCacheStorage = JSON.parse(browserStorage.getItem('mage-cache-storage'));
22920            let cartDataId = null;
22921
22922            if (browserStorage.getItem(storeIdKey) === null) {
22923                browserStorage.setItem(storeIdKey, globalStoreId);
22924            }
22925
22926            if (mageCacheStorage !== null &&
22927                mageCacheStorage.hasOwnProperty('cart')) {
22928                cartDataId = mageCacheStorage.cart['data_id'];
22929            }
22930
22931            if (cacheEol < new Date() ||
22932                browserStorage.getItem(storeIdKey) !== globalStoreId ||
22933                Number(browserStorage.getItem(cartIdKey)) !== cartDataId)
22934            {
22935                browserStorage.setItem(storageKey, "{}");
22936                browserStorage.setItem(cacheTimeoutKey, dateTo);
22937                browserStorage.setItem(storeIdKey, globalStoreId);
22938
22939                if (cartDataId) {
22940                    browserStorage.setItem(cartIdKey, cartDataId);
22941                }
22942            }
22943        }
22944
22945        async function getFromServer() {
22946            try {
22947                const url = new URL(options.sectionLoadUrl);
22948                url.searchParams.append('requesting_page_url', url.origin);
22949                url.searchParams.append('_', Date.now());
22950
22951                const response = await fetch(url.href, {
22952                    headers: {
22953                        'Content-Type': 'application/json',
22954                        'X-Requested-With': 'XMLHttpRequest'
22955                    }
22956                });
22957                const storageData = await response.json();
22958
22959                browserStorage.setItem(storageKey, JSON.stringify(storageData));
22960
22961                if (storageData.data && storageData.data.items) {
22962                    return storageData.data.items.fixed ? storageData.data.items.fixed : [];
22963                }
22964            } catch (error) {
22965                console.warn(error);
22966
22967                return [];
22968            }
22969        }
22970
22971        function getFromStorage() {
22972            const storageData = JSON.parse(browserStorage.getItem(storageKey));
22973            if (storageData.data && storageData.data.items) {
22974                return storageData.data.items.fixed || [];
22975            }
22976        }
22977
22978        function populateDynamicBlocks(elements, items) {
22979            if (!items || items.length === 0) {
22980                console.log(`No\u0020banners\u0020found`);
22981
22982                return;
22983            }
22984
22985            for (const element of elements) {
22986                // Filter IDs by those allowed for current customer segment
22987                const ids = element.getAttribute('data-ids').split(',').filter((id) => items.hasOwnProperty(id));
22988                const config = {
22989                    type: element.getAttribute('data-rotate'),
22990                    dynamicBlockId: element.getAttribute('data-banner-id'),
22991                };
22992
22993                getByType(config, element, items, ids);
22994            }
22995        }
22996
22997        function getByType(config = null, element, items, ids) {
22998            if (!config) return;
22999
23000            if (config.type === 'random') {
23001                ids = [ids[Math.floor(Math.random() * ids.length)]];
23002            }
23003
23004            if (config.type === 'series' || config.type === 'shuffle') {
23005                ids = [getNextInOrder(config, ids)];
23006            }
23007
23008            for (const id of ids) {
23009                if (items[id]) {
23010                    element.insertAdjacentHTML('beforeend', items[id].content);
23011                }
23012            }
23013        }
23014
23015        function getNextInOrder(config, ids) {
23016            const dynamicBlockId = config.dynamicBlockId;
23017            const localStorageKey = 'dynamic-block-banner-rotator';
23018            let localStorageData = JSON.parse(localStorage.getItem(localStorageKey)) || {};
23019            let nextId;
23020
23021            if (localStorageData[dynamicBlockId] && localStorageData[dynamicBlockId].length > 0) {
23022                nextId = localStorageData[dynamicBlockId].shift(0);
23023            } else {
23024                if (config.type === 'shuffle') {
23025                    ids.sort(() => Math.random() - 0.5);
23026                }
23027                nextId = ids.shift(0);
23028                localStorageData[dynamicBlockId] = ids;
23029            }
23030
23031            localStorage.setItem(
23032                localStorageKey,
23033                JSON.stringify(localStorageData)
23034            );
23035
23036            return nextId;
23037        }
23038
23039        const elements = document.querySelectorAll('[data-banner-id][data-ids]');
23040        if (elements.length > 0) {
23041            initBanners(elements);
23042        }
23043    })();
23044</script>
vendor: 1 bytes, line 23044
23044
23045<script type="text&#x2F;javascript">    window.amClarityConsentManager = window.amClarityConsentManager || {
23046        microsoftPixels: [],
23047        consentStates: {
23048            denied: 'denied',
23049            granted: 'granted'
23050        },
23051        storageName: 'amClarityConsentMode',
23052        gdprCookie: {
23053            cookieGroupName: 'amcookie_allowed',
23054            allCookiesAllowed: '0'
23055        },
23056        defaultConsentTypesData: {"analytics_Storage":{"default":"0","group":"4"},"ad_Storage":{"default":"0","group":"2"}},
23057        currentStoreId: 1,
23058        init: function () {
23059            this.initStorage();
23060            this.setDefaultConsent();
23061        },
23062        initStorage: function () {
23063            const persistedConsentTypes = this.getPersistedConsentTypeState();
23064
23065            if (Object.keys(persistedConsentTypes).length !== 0 && !this.shouldResetConsentState(persistedConsentTypes)) {
23066                return;
23067            }
23068
23069            let consentState = {};
23070            for (const [type, data] of Object.entries(this.defaultConsentTypesData)) {
23071                consentState[type] = {
23072                    group: data.group,
23073                    status: data.default === '1' ? this.consentStates.granted : this.consentStates.denied
23074                };
23075            }
23076
23077            this.resetAllowedCookiesGroups();
23078            this.persistConsentTypeState(consentState);
23079        },
23080        setDefaultConsent: function () {
23081            !!window.clarity && window.clarity('consentv2', this.getPersistedConsentTypeStateForClarity());
23082        },
23083        updateConsent: function (consent) {
23084            const storageConsent = this.getPersistedConsentTypeState();
23085            const consentState = {...storageConsent, ...consent};
23086
23087            this.persistConsentTypeState(consentState);
23088            !!window.clarity && window.clarity('consentv2', this.getPersistedConsentTypeStateForClarity());
23089        },
23090        getConsentTypeStateByGroupIds: function (groups) {
23091            let consentTypeState = {};
23092
23093            for (const [type, data] of Object.entries(this.defaultConsentTypesData)) {
23094                consentTypeState[type] = {
23095                    group: data.group,
23096                    status: (groups.includes(data.group) || groups.includes(this.gdprCookie.allCookiesAllowed))
23097                        ? this.consentStates.granted
23098                        : this.consentStates.denied
23099                }
23100            }
23101
23102            return consentTypeState;
23103        },
23104        persistConsentTypeState: function (consentTypeState) {
23105            let persistedState = this.getPersistedConsentTypeState(false);
23106            persistedState[this.currentStoreId] = consentTypeState;
23107            localStorage.setItem(this.storageName, JSON.stringify(persistedState));
23108        },
23109        getPersistedConsentTypeState: function (forCurrentStore = true) {
23110            let persistedStates = JSON.parse(localStorage.getItem(this.storageName)) ?? {};
23111
23112            if (forCurrentStore) {
23113                return persistedStates?.[this.currentStoreId] ?? {};
23114            }
23115
23116            return persistedStates;
23117        },
23118        getPersistedConsentTypeStateForClarity: function () {
23119            let consentTypeState = {};
23120            let persistedState = this.getPersistedConsentTypeState();
23121
23122            for (const [type, data] of Object.entries(persistedState)) {
23123                consentTypeState[type] = data.status;
23124            }
23125
23126            return consentTypeState;
23127        },
23128        shouldResetConsentState: function (persistedConsentTypes) {
23129            if (Object.keys(persistedConsentTypes).length != Object.keys(this.defaultConsentTypesData).length
23130                || !document.cookie.includes(this.gdprCookie.cookieGroupName)
23131            ) {
23132                return true;
23133            }
23134
23135            for (const [type, data] of Object.entries(persistedConsentTypes)) {
23136                if (data.group !== this.defaultConsentTypesData[type].group) {
23137                    return true;
23138                }
23139            }
23140
23141            return false;
23142        },
23143        resetAllowedCookiesGroups: function () {
23144            document.cookie = this.gdprCookie.cookieGroupName + '=0;max-age=-1;domain=' + location.hostname;
23145            !!window.clarity && window.clarity('consent', false);
23146        }
23147    };
23148
23149    window.amClarityConsentManager.init();</script>
23149<script type="text/json" id="default-section-data">
23150    {"messages":[],"customer":[],"compare-products":[],"last-ordered-items":[],"cart":[],"directory-data":{"PL":{"name":"Polska","regions":{"1018":{"code":"PL-02","name":"dolno\u015bl\u0105skie"},"1019":{"code":"PL-04","name":"kujawsko-pomorskie"},"1020":{"code":"PL-06","name":"lubelskie"},"1021":{"code":"PL-08","name":"lubuskie"},"1024":{"code":"PL-14","name":"mazowieckie"},"1023":{"code":"PL-12","name":"ma\u0142opolskie"},"1025":{"code":"PL-16","name":"opolskie"},"1026":{"code":"PL-18","name":"podkarpackie"},"1027":{"code":"PL-20","name":"podlaskie"},"1028":{"code":"PL-22","name":"pomorskie"},"1029":{"code":"PL-24","name":"\u015bl\u0105skie"},"1030":{"code":"PL-26","name":"\u015bwi\u0119tokrzyskie"},"1031":{"code":"PL-28","name":"warmi\u0144sko-mazurskie"},"1032":{"code":"PL-30","name":"wielkopolskie"},"1033":{"code":"PL-32","name":"zachodniopomorskie"},"1022":{"code":"PL-10","name":"\u0142\u00f3dzkie"}}},"data_id":1790244742},"captcha":[],"wishlist":{"items":[]},"instant-purchase":[],"loggedAsCustomer":[],"multiplewishlist":[],"company":[],"company_authorization":[],"customer-companies":[],"persistent":[],"review":[],"negotiable_quote":[],"payments":[],"faq":[],"amga4_event_pool":[],"amga4_hyva_event_pool":[],"hyva_checkout":[],"ammessages":[],"cepdtech_gtm":[],"reward":[],"hyva_enterprise":[],"recently_viewed_product":[],"recently_compared_product":[],"product_data_storage":[],"paypal-billing-agreement":[],"paypal-buyer-country":[]}</script>
23150
23151<svg xmlns="http://www.w3.org/2000/svg" class="hidden" aria-hidden="true" width="0" height="0" style="position:absolute">
23152    <defs>
23153                    <symbol id="tk-icon-star-solid" viewBox="0&#x20;0&#x20;20&#x20;20" fill="currentColor">
23154  <path 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 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 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 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"/>
23155</symbol>                    <symbol id="tk-icon-shopping-cart-solid" viewBox="0&#x20;0&#x20;20&#x20;20" fill="currentColor">
23156  <path d="M3 1a1 1 0 000 2h1.22l.305 1.222a.997.997 0 00.01.042l1.358 5.43-.893.892C3.74 11.846 4.632 14 6.414 14H15a1 1 0 000-2H6.414l1-1H14a1 1 0 00.894-.553l3-6A1 1 0 0017 3H6.28l-.31-1.243A1 1 0 005 1H3zM16 16.5a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zM6.5 18a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"/>
23157</symbol>                    <symbol id="tk-icon-plus-solid" viewBox="0&#x20;0&#x20;20&#x20;20" fill="currentColor">
23158  <path fill-rule="evenodd" d="M10 3a1 1 0 011 1v5h5a1 1 0 110 2h-5v5a1 1 0 11-2 0v-5H4a1 1 0 110-2h5V4a1 1 0 011-1z" clip-rule="evenodd"/>
23159</symbol>                    <symbol id="tk-icon-minus-solid" viewBox="0&#x20;0&#x20;20&#x20;20" fill="currentColor">
23160  <path fill-rule="evenodd" d="M3 10a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z" clip-rule="evenodd"/>
23161</symbol>                    <symbol id="tk-icon-trash-outline" viewBox="0&#x20;0&#x20;24&#x20;24" fill="none" stroke="currentColor" stroke-width="2">
23162  <path stroke-linecap="round" stroke-linejoin="round" d="M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"/>
23163</symbol>                    <symbol id="tk-icon-heart-outline" viewBox="0&#x20;0&#x20;24&#x20;24" fill="none" stroke="currentColor" stroke-width="2">
23164  <path stroke-linecap="round" stroke-linejoin="round" d="M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"/>
23165</symbol>                    <symbol id="tk-icon-heart-solid" viewBox="0&#x20;0&#x20;20&#x20;20" fill="currentColor">
23166  <path fill-rule="evenodd" d="M3.172 5.172a4 4 0 015.656 0L10 6.343l1.172-1.171a4 4 0 115.656 5.656L10 17.657l-6.828-6.829a4 4 0 010-5.656z" clip-rule="evenodd"/>
23167</symbol>                    <symbol id="tk-icon-chevron-right-solid" viewBox="0&#x20;0&#x20;20&#x20;20" fill="currentColor">
23168  <path fill-rule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clip-rule="evenodd"/>
23169</symbol>                    <symbol id="tk-icon-chevron-left-solid" viewBox="0&#x20;0&#x20;20&#x20;20" fill="currentColor">
23170  <path fill-rule="evenodd" d="M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z" clip-rule="evenodd"/>
23171</symbol>            </defs>
23172</svg>
23173<div x-data="amMessage" x-bind="eventListeners"></div>
23174
23175<script>
23176    function amMessage() {
23177        let lastProcessedDataId = null;
23178        const processedMessageHashes = new Set();
23179        let debounceTimer;
23180
23181        return {
23182            init() {
23183                this.processStoredMessages();
23184
23185                window.addEventListener('beforeunload', () => {
23186                    processedMessageHashes.clear();
23187                    lastProcessedDataId = null;
23188                });
23189            },
23190
23191            eventListeners: {
23192                ['@private-content-loaded.window'](event) {
23193                    const { ammessages } = event.detail.data;
23194
23195                    clearTimeout(debounceTimer);
23196                    debounceTimer = setTimeout(() => {
23197                        if (ammessages?.data_id && ammessages.data_id === lastProcessedDataId) {
23198                            return;
23199                        }
23200
23201                        lastProcessedDataId = ammessages?.data_id;
23202
23203                        // Checking hash message
23204                        if (ammessages?.messages) {
23205                            const messageHash = JSON.stringify(ammessages.messages);
23206                            if (processedMessageHashes.has(messageHash)) {
23207                                return;
23208                            }
23209                            processedMessageHashes.add(messageHash);
23210                        }
23211
23212                        const isCartPage = document.body.classList.contains('checkout-cart-index');
23213                        const isCheckoutPage = document.body.classList.contains('hyva_checkout-index-index');
23214                        const onePageSuccessPage = document.body.classList.contains('hyva_checkout_onepage_success');
23215
23216                        if (!isCartPage && !isCheckoutPage && !onePageSuccessPage && ammessages?.messages) {
23217                            this.processMessages(ammessages.messages);
23218                        }
23219                    }, 500);
23220                },
23221                ['@am-promo:initialized.window']() {
23222                    this.processStoredMessages();
23223                },
23224                ['@am-promo-products-recollect.window']() {
23225                    this.processStoredMessages();
23226                }
23227            },
23228
23229            processStoredMessages() {
23230                try {
23231                    const messages = JSON.parse(localStorage.getItem('amFreeGiftCartMessages'));
23232                    if (messages?.length) {
23233                        messages.forEach(message => dispatchMessages([message], 5000));
23234                        localStorage.removeItem('amFreeGiftCartMessages');
23235                    }
23236                } catch (e) {
23237                    console.error('Error processing stored messages:', e);
23238                }
23239            },
23240
23241            processMessages(messages) {
23242                if (messages?.notice) {
23243                    this.handleNoticeMessage(messages.notice);
23244                }
23245            },
23246
23247            handleNoticeMessage(notice) {
23248                if (!notice) return;
23249                dispatchMessages([{ type: notice.type, text: notice.text }]);
23250            }
23251        }
23252    }
23253
23254    window.addEventListener(
23255        'alpine:init',
23256        () => Alpine.data(
23257            'amMessage',
23258            amMessage
23259        ),
23260        {once: true}
23261    );
23262</script>
23262
23263    
23263<script>
23264    const AmAuthPopupReloadContent = function () {
23265        const customerMenuSelector = '\u0023customer\u002Dmenu\u0020\u007E\u0020nav';
23266
23267        return {
23268            contentUpdaters: [],
23269
23270            initContentUpdaters() {
23271                window.addEventListener('amsl-register-content-updater', (event) => {
23272                    event.stopPropagation();
23273                    if (typeof event.detail === 'function') {
23274                        this.registerContentUpdater(event.detail);
23275                    }
23276                }, true)
23277            },
23278
23279            reloadContent() {
23280                return Promise.all([
23281                    this.reloadHeader(),
23282                    ...this.contentUpdaters.map(updater => updater())
23283                ]).then(this.updateFormKey);
23284            },
23285
23286            registerContentUpdater(updater) {
23287                this.contentUpdaters.push(updater);
23288            },
23289
23290            async reloadHeader() {
23291                const response = await fetch(
23292                    `${BASE_URL}amsociallogin_hyva\u002Fheader\u002Fupdate?isAjax=1`,
23293                    {
23294                        method: 'GET',
23295                        headers: {
23296                            'Content-type': 'application/json'
23297                        }
23298                    }
23299                );
23300
23301                const result = await response.json();
23302                const {customer_menu_html: customerMenuHtml} = result;
23303                const container = document.createElement('div');
23304                container.innerHTML = customerMenuHtml;
23305                const currentMenu = document.querySelector(customerMenuSelector);
23306                const newMenu = container.querySelector(customerMenuSelector);
23307
23308                if (currentMenu && newMenu) {
23309                    currentMenu.replaceWith(newMenu);
23310                }
23311            },
23312
23313            updateFormKey() {
23314                const formKeyInputs = document.querySelectorAll('input[name="form_key"]');
23315                formKeyInputs.forEach(input => input.value = hyva.getFormKey());
23316            }
23317        }
23318    }
23319</script>
vendor: 1 bytes, line 23319
23319
23320<script>
23321        const AmAuthPopupRedirect = function () {
23322        const redirectTimeout = 2000;
23323        const redirectUrl = 'https://fera.pl/customer/account/';
23324
23325        return {
23326            processRedirect(forceRedirectUrl) {
23327                if (forceRedirectUrl) {
23328                    setTimeout(() => {
23329                        this.resetSessionCookie();
23330                        window.location.assign(forceRedirectUrl);
23331                    }, redirectTimeout);
23332                    return;
23333                }
23334                                                    this.reloadPage();
23335                                            },
23336
23337            reloadCustomerData() {
23338                this.resetSessionCookie();
23339                window.dispatchEvent(new CustomEvent("reload-customer-section-data"));
23340            },
23341
23342            resetSessionCookie() {
23343                hyva.setCookie('mage-cache-sessid', '', -1, true);
23344            },
23345
23346            reloadPage() {
23347                                setTimeout(() => {
23348                    this.resetSessionCookie();
23349                    window.location.reload(true)
23350                }, redirectTimeout)
23351            },
23352
23353            reloadViaAjax() {
23354                window.addEventListener('private-content-loaded', () => {
23355                    this.reloadContent().then(() => {
23356                                                window.dispatchEvent(
23357                            new CustomEvent('amsl-content-updated')
23358                        );
23359                    }).catch(
23360                        (error) => {
23361                            console.error(error);
23362                            this.reloadPage();
23363                        }
23364                    );
23365                }, {once: true});
23366                this.reloadCustomerData();
23367                                window.dispatchEvent(
23368                    new CustomEvent('amsl-popup-ajax-login-success')
23369                );
23370            }
23371        }
23372    }
23373</script>
vendor: 1 bytes, line 23373
23373
23374<script>
23375    const AmAuthPopupNotification = function () {
23376        const modalName = 'amsl\u002Dpopup\u002Dnotification';
23377
23378        return {
23379            ...AmAuthPopupModal(modalName),
23380            notification: '',
23381
23382            initialize() {
23383                this.initModalSettings();
23384            },
23385
23386            showNotification(messages) {
23387                if (!messages) {
23388                    return;
23389                }
23390
23391                this.notification = Array.isArray(messages) ? messages.join('<br>') : messages;
23392
23393                window.dispatchEvent(
23394                    new CustomEvent('amsl-hide-popup')
23395                );
23396
23397                this.show(modalName);
23398            }
23399        }
23400    }
23401</script>
vendor: 1 bytes, line 23401
23401
23402<script>
23403    const AmAuthPopupModal = function (modalName) {
23404        const canCloseByOverlayClick = false;
23405
23406        return {
23407            ...hyva.modal(),
23408            animationDuration: 500,
23409
23410            initModalSettings() {
23411                if (!canCloseByOverlayClick) {
23412                    this.restrictOverlayClick();
23413                }
23414            },
23415
23416            restrictOverlayClick() {
23417                document.addEventListener('click', (event) => {
23418                    const modal = this.$refs[modalName];
23419                    const isVisible = this.opened[modalName];
23420                    const topModal = window.hyva.modal.peek();
23421                    const isThisModalOnTop = !topModal || topModal.name === modalName;
23422                    if (isVisible && isThisModalOnTop && !modal.contains(event.target) && !modal.hasAttribute('x-no-overlay')) {
23423                        event.stopPropagation();
23424                    }
23425                }, {capture: true});
23426            }
23427        }
23428    }
23429</script>
23429
23430
23431            <div x-data="AmAuthPopup()"
23432            x-on:private-content-loaded.window="initializeAuthPopup(event.detail)"
23433            x-on:amsl-show-popup.window="showOnExternalEvent(event)"
23434            x-on:amsl-hide-popup.window="hide(modalName)"
23435            x-on:amsl-content-updated.window="bindLinksEvents()"
23436        >
23437            <div x-cloak    data-dialog-ref-name="social-login-popup"
23438    x-bind="overlay"
23439    class="fixed inset-0 bg-black/25 z-50 backdrop-blur-sm">
23440    <div class="fixed flex justify-center items-center text-left z-40 amsl-popup-modal md:p-6 inset-0">
23441        <div x-ref="social-login-popup" role="dialog" aria-modal="true"
23442                                                     aria-labelledby="social-login-popup"
23443                         class="w-full max-w-[960px] h-full mx-auto inline-block bg-container shadow-xl overflow-hidden md:h-auto md:rounded-4xl">
23444                <div id="social-login-popup"
23445         class="amsl-popup-block relative focus:outline-none focus-within:outline-none
23446            -social-bottom"
23447         role="dialog"
23448         aria-labelledby="amsl-popup-dialog"
23449         tabindex="0"
23450         x-on:click.stop
23451    >
23452        <button
23453            type="button"
23454            class="btn btn-secondary btn-icon-size-l rounded-full absolute top-4 right-4"
23455            aria-label="Zamknij"
23456            x-on:click="hide()"
23457        >
23458            <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" width="20" height="20" aria-hidden="true">
23459  <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"/>
23460</svg>
23461        </button>
23462        <h2 class="amsl-dialog-title sr-only" id="amsl-popup-dialog">
23463            Formularz logowania i rejestracji        </h2>
23464        <div
23465            class="amsl-tabs-wrapper"
23466            title="Formularz logowania i rejestracji"
23467        >
23468            <div id="amsl-login-content"
23469                 x-show="activeTab === 'amsl-login'"
23470                 x-cloak
23471                 role="tabpanel"
23472            >
23473                <div class="grid grid-cols-1 xl:grid-cols-2 items-center">
23474                    <div
23475                        class="amsl-content amsl-login-content
23476                        p-8 max-h-screen overflow-y-auto md:max-h-[calc(100vh-48px)]                        "
23477                    >
23478                        <template x-if="!isLogged">
23479                            <div class="amsl-form">
23480                                
23481
23482
23483<template x-if="formMessages.has('amsl-login')">
23484    <template
23485        x-for="message in formMessages.get('amsl-login')"
23486        :key="message"
23487    >
23488        <div class="message error">
23489            <span x-html="message"></span>
23490        </div>
23491    </template>
23492</template>
23493<form class="form form-login"
23494      action="https://fera.pl/customer/account/loginPost/"
23495      method="post"
23496      x-data="Object.assign(hyva.formValidation($el), initCustomerLoginForm())"
23497      @submit.prevent="submitForm()"
23498      id="customer-login-form">
23499    <input name="form_key" type="hidden" value="6aqf5MmWWJaNsQwZ" />                <legend class="block text-brandSecondary-900 text-2xl font-extrabold title-font font-heading mb-2">
23500            Logowanie        </legend>
23501        <fieldset class="fieldset login">
23502        <div class="field field-reserved w-full email required">
23503            <label class="label" for="email">
23504                <span>E-mail</span>
23505            </label>
23506            <div class="control">
23507                <input name="login[username]"
23508                       class="form-input w-full"
23509                       required
23510                       value=""
23511                       autocomplete="off"
23512                       id="email"
23513                       type="email"
23514                       title="E-mail"
23515                       @input.debounce="onChange"
23516                />
23517            </div>
23518        </div>
23519        <div class="field field-reserved w-full password required">
23520            <label for="am-pass" class="label">
23521                <span>Hasło</span>
23522            </label>
23523            <div class="control relative flex items-center">
23524                <div class="sr-only" aria-live="polite">
23525                    <template x-if="!customer_form_login_popup_showPassword">
23526                        <span>
23527                            Hasło ukryte                        </span>
23528                    </template>
23529                    <template x-if="customer_form_login_popup_showPassword">
23530                        <span>
23531                            Hasło widoczne                        </span>
23532                    </template>
23533                </div>
23534                <input name="login[password]"
23535                       class="form-input w-full pr-11"
23536                       required
23537                       :type="customer_form_login_popup_showPassword ? 'text' : 'password'"
23538                       autocomplete="off"
23539                       id="am-pass"
23540                       title="Has&#x0142;o"
23541                       @input.debounce="onChange"
23542                />
23543                <button
23544                    type="button"
23545                    x-on:click="customer_form_login_popup_showPassword = !customer_form_login_popup_showPassword"
23546                    :aria-pressed="customer_form_login_popup_showPassword ? 'true' : 'false'"
23547                    class="absolute top-0 right-px p-3"
23548                    :aria-label="customer_form_login_popup_showPassword ? 'Ukryj\u0020has\u0142o' : 'Poka\u017C\u0020has\u0142o'"
23549                >
23550                    <template x-if="!customer_form_login_popup_showPassword">
23551                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" width="20" height="20" aria-hidden="true">
23552  <path d="M10 12a2 2 0 100-4 2 2 0 000 4z"/>
23553  <path fill-rule="evenodd" d="M.458 10C1.732 5.943 5.522 3 10 3s8.268 2.943 9.542 7c-1.274 4.057-5.064 7-9.542 7S1.732 14.057.458 10zM14 10a4 4 0 11-8 0 4 4 0 018 0z" clip-rule="evenodd"/>
23554</svg>
23555                    </template>
23556                    <template x-if="customer_form_login_popup_showPassword">
23557                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" width="20" height="20" aria-hidden="true">
23558  <path fill-rule="evenodd" d="M3.707 2.293a1 1 0 00-1.414 1.414l14 14a1 1 0 001.414-1.414l-1.473-1.473A10.014 10.014 0 0019.542 10C18.268 5.943 14.478 3 10 3a9.958 9.958 0 00-4.512 1.074l-1.78-1.781zm4.261 4.26l1.514 1.515a2.003 2.003 0 012.45 2.45l1.514 1.514a4 4 0 00-5.478-5.478z" clip-rule="evenodd"/>
23559  <path d="M12.454 16.697L9.75 13.992a4 4 0 01-3.742-3.741L2.335 6.578A9.98 9.98 0 00.458 10c1.274 4.057 5.065 7 9.542 7 .847 0 1.669-.105 2.454-.303z"/>
23560</svg>
23561                    </template>
23562                </button>
23563            </div>
23564        </div>
23565
23566                        <div class="actions-toolbar">
23567            <button type="submit" class="btn btn-primary w-full disabled:opacity-75" name="send"
23568                            >
23569                <span>Zaloguj się</span>
23570            </button>
23571            <a class="ml-auto text-sm text-secondary" href="https://fera.pl/customer/account/forgotpassword/"><span>Zapomniałem hasła</span>
23572            </a>
23573        </div>
23574        <div>
23575            <template x-if="displayErrorMessage">
23576                <p class="text-red flex items-center">
23577                    <span class="inline-block w-8 h-8 mr-3">
23578                        <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" width="24" height="24" aria-hidden="true">
23579  <path stroke-linecap="round" stroke-linejoin="round" d="M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"/>
23580</svg>
23581                    </span>
23582                    <template x-for="errorMessage in errorMessages">
23583                        <span x-html="errorMessage"></span>
23584                    </template>
23585                </p>
23586            </template>
23587        </div>
23588    </fieldset>
23589</form>
23590
23591    <div class="amsl-separator text-center py-6">
23592        <span>lub zaloguj się za pośrednictwem</span>
23593    </div>
23594    <div class="amsl-social-wrapper"
23595                    x-data="AmSocialLogin()"
23596            x-init="initializeSocialLogin()"
23597            >
23598        <div class="amsl-social-login">
23599            <template x-if="socialErrorMessage">
23600                <p class="amsl-error -social message error mb-4" x-text="socialErrorMessage"></p>
23601            </template>
23602            <div class="amsl-buttons flex flex-wrap justify-center gap-2"
23603                                >
23604                                    <div class="flex-grow">
23605                        <a class="btn btn-social"
23606                           x-on:click="socialLoginClick($event)"
23607                           href="https://fera.pl/amsociallogin/social/login/?type=google"
23608                           title="Zaloguj się za pomocą Google"
23609                           role="link"
23610                        >
23611                            <svg xmlns="http://www.w3.org/2000/svg" xmlns:v="https://vecta.io/nano" viewBox="0 0 31 33" fill="none" width="24" height="24" aria-hidden="true"><path d="M1.125 10.662c-.726 1.85-1.1 3.841-1.023 5.869-.061 3.005.825 5.947 2.383 8.465l4.781-3.654c-.261-.501-.478-1.03-.643-1.586-.625-1.678-.712-3.469-.371-5.174l-5.127-3.92z" fill="#fbbc05"/><path d="M15.832.502l-.775.045c-6.14.075-11.7 4.435-13.93 10.115l5.125 3.918c.711-3.552 3.289-6.733 6.809-7.75 3.23-1.155 6.557.145 9.322 1.85 1.399-1.331 2.71-2.751 3.998-4.189C23.437 1.989 19.706.395 15.832.502zm.016 13.736v.041l.047-.041c-.016 0-.031 0-.047 0z" fill="#ea4335"/><path d="M23.387 14.219c-2.298-.001-4.595.006-6.891.01l-.648.496.008 4.953 9.035.107c-.76 2.645-2.493 5.106-5.121 6.061-4.56 2.039-10.247-.148-12.514-4.533l-4.777 3.662c1.906 3.086 4.822 5.537 8.256 6.682 5.873 2.003 13.093.505 17.002-4.602 2.853-3.577 3.502-8.348 3.193-12.805l-7.543-.031z" fill="#34a853"/><path d="M23.385 14.219c-2.514-.001-5.026.006-7.537.01l.008 5.449 9.035.107c-.69 2.401-2.185 4.647-4.42 5.756l4.959 3.84c.852-.669 1.63-1.442 2.307-2.326 2.853-3.577 3.502-8.348 3.193-12.805l-7.545-.031z" fill="#4285f4"/></svg>
23612                        </a>
23613                    </div>
23614                                    <div class="flex-grow">
23615                        <a class="btn btn-social"
23616                           x-on:click="socialLoginClick($event)"
23617                           href="https://fera.pl/amsociallogin/social/login/?type=facebook"
23618                           title="Zaloguj się za pomocą Facebook"
23619                           role="link"
23620                        >
23621                            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 25 25" fill="none" aria-hidden="true">
23622    <g clip-path="url(#clip0_637_9019)">
23623        <path d="M24.25 12.5C24.25 5.87258 18.8774 0.5 12.25 0.5C5.62258 0.5 0.25 5.87258 0.25 12.5C0.25 18.4895 4.6382 23.454 10.375 24.3542V15.9688H7.32812V12.5H10.375V9.85625C10.375 6.84875 12.1666 5.1875 14.9076 5.1875C16.2201 5.1875 17.5938 5.42188 17.5938 5.42188V8.375H16.0806C14.59 8.375 14.125 9.30008 14.125 10.25V12.5H17.4531L16.9211 15.9688H14.125V24.3542C19.8618 23.454 24.25 18.4895 24.25 12.5Z" fill="#1877F2"/>
23624        <path d="M16.9211 15.9688L17.4531 12.5H14.125V10.25C14.125 9.30102 14.59 8.375 16.0806 8.375H17.5938V5.42188C17.5938 5.42188 16.2205 5.1875 14.9076 5.1875C12.1666 5.1875 10.375 6.84875 10.375 9.85625V12.5H7.32812V15.9688H10.375V24.3542C11.6174 24.5486 12.8826 24.5486 14.125 24.3542V15.9688H16.9211Z" fill="white"/>
23625    </g>
23626    <defs>
23627        <clipPath id="clip0_637_9019">
23628            <rect width="24" height="24" fill="white" transform="translate(0.25 0.5)"/>
23629        </clipPath>
23630    </defs>
23631</svg>
23632                        </a>
23633                    </div>
23634                            </div>
23635                    </div>
23636    </div>
23637            
23637<script>
23638    function AmSocialLogin() {
23639        return {
23640            socialErrorMessage: '',
23641            isPopupEnabled: '1',
23642
23643            initializeSocialLogin() {
23644                this.initContentUpdaters();
23645            },
23646
23647            socialLoginClick(event) {
23648                if (this.messageEventListener) {
23649                    window.removeEventListener('message', this.messageEventListener);
23650                }
23651                this.messageEventListener = this.onMessageEvent.bind(this);
23652                window.addEventListener('message', this.messageEventListener);
23653                if (this.isPopupEnabled) {
23654                    window.open(
23655                        event.currentTarget.href + '&isAjax=true',
23656                        event.currentTarget.title,
23657                        this.getPopupParams()
23658                    );
23659                } else {
23660                    window.location.assign(event.currentTarget.href);
23661                }
23662                event.stopPropagation();
23663                event.preventDefault();
23664
23665                return false;
23666            },
23667
23668            onSocialResponse(data) {
23669                const isSuccessfulResult = data.result === 1;
23670
23671                if (isSuccessfulResult) {
23672                    window.dispatchEvent(
23673                        new CustomEvent(
23674                            'amsl-popup-show-notification',
23675                            {
23676                                detail: data.messages
23677                            }
23678                        )
23679                    );
23680                    this.processRedirect();
23681                } else {
23682                    const redirectData = data?.redirect_data;
23683
23684                    this.socialErrorMessage = data.messages.pop();
23685                    setTimeout(() => {
23686                        this.socialErrorMessage = '';
23687                    }, 5000);
23688
23689                    if (this.shouldCustomUrlRedirectWithError(redirectData)) {
23690                        return this.processRedirect(redirectData?.url);
23691                    }
23692
23693                    if (redirectData.redirectWithError) {
23694                        this.processRedirect();
23695                    }
23696                }
23697            },
23698
23699            shouldCustomUrlRedirectWithError(redirectData) {
23700                return (
23701                    redirectData &&
23702                    redirectData.redirect &&
23703                    redirectData.redirectWithError &&
23704                    redirectData.url
23705                );
23706            },
23707
23708            onMessageEvent(event) {
23709                if (event.data['redirect_data']) {
23710                    this.onSocialResponse(event.data);
23711                }
23712            },
23713
23714            getPopupParams(w, h, l, t) {
23715                let screenX = typeof window.screenX !== 'undefined' ? window.screenX : window.screenLeft,
23716                    screenY = typeof window.screenY !== 'undefined' ? window.screenY : window.screenTop,
23717                    outerWidth = typeof window.outerWidth !== 'undefined'
23718                        ? window.outerWidth
23719                        : document.body.clientWidth,
23720                    outerHeight = typeof window.outerHeight !== 'undefined'
23721                        ? window.outerHeight
23722                        : (document.body.clientHeight - 22),
23723                    width = w ? w : 500,
23724                    height = h ? h : 420,
23725                    left = l ? l : parseInt(screenX + ((outerWidth - width) / 2), 10),
23726                    top = t ? t : parseInt(screenY + ((outerHeight - height) / 2.5), 10);
23727
23728                return (
23729                    'width=' + width +
23730                    ',height=' + height +
23731                    ',left=' + left +
23732                    ',top=' + top
23733                );
23734            },
23735
23736            ...AmAuthPopupRedirect(),
23737            ...AmAuthPopupReloadContent()
23738        }
23739    }
23740</script>
23740
23741    <div class="flex flex-col items-center gap-4 mt-6 pt-6 border-t border-secondary-lighter">
23742        <span>Nie masz jeszcze konta?</span>
23743        <button class="btn btn-secondary w-full"
23744                x-on:click.prevent="activeTab = 'amsl-register'">
23745            Zarejestruj się        </button>
23746    </div>
23747
23748<script>
23749    function initCustomerLoginForm() {
23750        return {
23751            errors: 0,
23752            hasCaptchaToken: 0,
23753            customer_form_login_popup_showPassword: false,
23754            displayErrorMessage: false,
23755            errorMessages: [],
23756            setErrorMessages(messages) {
23757                this.errorMessages = [messages]
23758                this.displayErrorMessage = this.errorMessages.length
23759            },
23760            submitForm() {
23761                this.validate()
23762                    .then(() => {
23763                        // Do not rename $form, the variable is expected to be declared in the recaptcha output
23764                        const $form = document.querySelector('#customer-login-form');
23765                        
23766                        if (this.errors === 0) {
23767                            $form.submit();
23768                        }
23769                    })
23770                    .catch((invalid) => {
23771                        if (invalid.length > 0) {
23772                            invalid[0].focus();
23773                        }
23774                    });
23775            },
23776        }
23777    }
23778</script>
23778
23779                            </div>
23780                        </template>
23781                    </div>
23782                    <div class="hidden self-stretch xl:flex">
23783                        <img class="object-cover" src="https://static.fera.pl/version1790219430/frontend/Tooks/default/pl_PL/Tooks_AmastySocialLogin/images/amsl-login.webp" alt="" width="792" height="688" loading="lazy"/>
23784                    </div>
23785                </div>
23786            </div>
23787            <div id="amsl-register-content"
23788                 x-show="activeTab === 'amsl-register'"
23789                 x-cloak
23790                 role="tabpanel"
23791            >
23792                <div class="amsl-content amsl-register-content p-8 max-h-screen overflow-y-auto md:max-h-[calc(100vh-48px)]">
23793                    <template x-if="!isLogged">
23794                        <div class="amsl-form">
23795                            
23796
23797
23798<template x-if="formMessages.has('amsl-register')">
23799    <template
23800        x-for="message in formMessages.get('amsl-register')"
23801        :key="message"
23802    >
23803        <div class="message error">
23804            <span x-html="message"></span>
23805        </div>
23806    </template>
23807</template>
23808<form class="form create account form-create-account "
23809      action="https://fera.pl/customer/account/createpost/"
23810      x-data="Object.assign(hyva.formValidation($el), initForm())"
23811          id="accountcreate"
23812      @submit.prevent="submitForm()"
23813      method="post" id="form-validate" enctype="multipart/form-data" autocomplete="off"
23814>
23815    <input name="form_key" type="hidden" value="6aqf5MmWWJaNsQwZ" />            <input type="hidden" name="success_url" value="">
23816    <input type="hidden" name="error_url" value="">
23817
23818            <legend class="block text-brandSecondary-900 text-2xl font-extrabold title-font font-heading mb-0 ">
23819            Rejestracja        </legend>
23820            <div class="grid grid-cols-1 md:grid-cols-2 md:items-start gap-y-6 md:gap-x-6">
23821        <div class="contents md:flex md:flex-col md:col-start-1 md:gap-y-6">
23822            <div class="order-1">
23823            <fieldset class="flex flex-col md:flex-row gap-x-3">
23824                <div class="field field-reserved w-full field-name-firstname required">
23825        <label class="label" for="firstname">
23826            <span>
23827                Imię            </span>
23828        </label>
23829        <div class="control">
23830            <input type="text" id="firstname"
23831                   name="firstname"
23832                   value=""
23833                   required
23834                   title="Imi&#x0119;"
23835                   class="form-input w-full required-entry"
23836                   @input.debounce="onChange"
23837                 required            >
23838        </div>
23839    </div>
23840    <div class="field field-reserved w-full field-name-lastname required">
23841        <label class="label" for="lastname">
23842            <span>
23843                Nazwisko            </span>
23844        </label>
23845        <div class="control">
23846            <input type="text" id="lastname"
23847                   name="lastname"
23848                   required
23849                   value=""
23850                   title="Nazwisko"
23851                   class="form-input w-full required-entry"
23852                   @input.debounce="onChange"
23853                 required            >
23854        </div>
23855    </div>
23856        </fieldset>
23857
23858                
23859                
23860                        <div class="field field-reserved required">
23861            <label for="am-email-address" class="label">
23862                <span>E-mail</span>
23863            </label>
23864            <div class="control">
23865                <input
23866                    type="email"
23867                    name="email"
23868                    autocomplete="email"
23869                    id="am-email-address"
23870                    required
23871                    value=""
23872                    title="E-mail"
23873                    class="form-input w-full"
23874                    @input.debounce="onChange"
23875                >
23876            </div>
23877        </div>
23878        <div class="field field-reserved required">
23879            <label for="phone_number" class="label">
23880                <span>Numer telefonu</span>
23881            </label>
23882            <div class="control">
23883                <input
23884                    type="tel"
23885                    name="phone_number"
23886                    autocomplete="tel"
23887                    id="phone_number"
23888                    required
23889                    value=""
23890                    title="Numer&#x20;telefonu"
23891                    class="form-input w-full"
23892                    data-validate='{"international-telephone": true}'
23893                    @input.debounce="onChange"
23894                >
23895            </div>
23896        </div>
23897        <div class="field field-reserved required">
23898            <label for="password" class="label">
23899                <span>Hasło</span>
23900            </label>
23901            <div class="control relative flex items-center">
23902                                <div class="sr-only" aria-live="polite">
23903                    <template x-if="!customer_form_register_popup_showPassword">
23904                        <span>
23905                            Hasło ukryte                        </span>
23906                    </template>
23907                    <template x-if="customer_form_register_popup_showPassword">
23908                        <span>
23909                            Hasło widoczne                        </span>
23910                    </template>
23911                </div>
23912                <input
23913                    :type="customer_form_register_popup_showPassword ? 'text' : 'password'"
23914                    type="password"
23915                    id="password"
23916                    name="password"
23917                    title="Has&#x0142;o"
23918                    minlength="8"
23919                    class="form-input w-full pr-11"
23920                    required
23921                    data-validate='{"password-strength": {"minCharacterSets": 3}}'
23922                    @input.debounce="onChange"
23923                    autocomplete="off"
23924                >
23925                <button
23926                    type="button"
23927                    :aria-pressed="customer_form_register_popup_showPassword ? true : false"
23928                    x-on:click="customer_form_register_popup_showPassword = !customer_form_register_popup_showPassword"
23929                    class="absolute top-0 right-px p-3"
23930                    :aria-label="customer_form_register_popup_showPassword ? 'Ukryj\u0020has\u0142o' : 'Poka\u017C\u0020has\u0142o'"
23931                >
23932                    <template x-if="!customer_form_register_popup_showPassword">
23933                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" width="20" height="20" aria-hidden="true">
23934  <path d="M10 12a2 2 0 100-4 2 2 0 000 4z"/>
23935  <path fill-rule="evenodd" d="M.458 10C1.732 5.943 5.522 3 10 3s8.268 2.943 9.542 7c-1.274 4.057-5.064 7-9.542 7S1.732 14.057.458 10zM14 10a4 4 0 11-8 0 4 4 0 018 0z" clip-rule="evenodd"/>
23936</svg>
23937                    </template>
23938                    <template x-if="customer_form_register_popup_showPassword">
23939                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" width="20" height="20" aria-hidden="true">
23940  <path fill-rule="evenodd" d="M3.707 2.293a1 1 0 00-1.414 1.414l14 14a1 1 0 001.414-1.414l-1.473-1.473A10.014 10.014 0 0019.542 10C18.268 5.943 14.478 3 10 3a9.958 9.958 0 00-4.512 1.074l-1.78-1.781zm4.261 4.26l1.514 1.515a2.003 2.003 0 012.45 2.45l1.514 1.514a4 4 0 00-5.478-5.478z" clip-rule="evenodd"/>
23941  <path d="M12.454 16.697L9.75 13.992a4 4 0 01-3.742-3.741L2.335 6.578A9.98 9.98 0 00.458 10c1.274 4.057 5.065 7 9.542 7 .847 0 1.669-.105 2.454-.303z"/>
23942</svg>
23943                    </template>
23944                </button>
23945            </div>
23946        </div>
23947        <div class="field field-reserved required">
23948            <label for="password-confirmation" class="label">
23949                <span>Powtórz hasło</span>
23950            </label>
23951            <div class="control relative flex items-center">
23952                <div class="sr-only" aria-live="polite">
23953                    <template x-if="!customer_form_register_popup_showPasswordConfirm">
23954                        <span>
23955                            Repeat Password Hidden                        </span>
23956                    </template>
23957                    <template x-if="customer_form_register_popup_showPasswordConfirm">
23958                        <span>
23959                            Repeat Password Shown                        </span>
23960                    </template>
23961                </div>
23962                <input
23963                    :type="customer_form_register_popup_showPasswordConfirm ? 'text' : 'password'"
23964                    type="password"
23965                    name="password_confirmation"
23966                    title="Potwierd&#x017A;&#x20;has&#x0142;o"
23967                    id="password-confirmation"
23968                    data-validate='{"equalTo": "password"}'
23969                    @input.debounce="onChange"
23970                    required
23971                    class="form-input w-full pr-11"
23972                    autocomplete="off"
23973                >
23974                <button
23975                    type="button"
23976                    x-on:click="customer_form_register_popup_showPasswordConfirm = !customer_form_register_popup_showPasswordConfirm"
23977                    :aria-pressed="customer_form_register_popup_showPasswordConfirm ? true : false"
23978                    class="absolute top-0 right-px p-3"
23979                    :aria-label="
23980                            customer_form_register_popup_showPasswordConfirm ? 'Ukryj\u0020has\u0142o' : 'Poka\u017C\u0020has\u0142o'
23981                        "
23982                >
23983                    <template x-if="!customer_form_register_popup_showPasswordConfirm">
23984                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" width="20" height="20" aria-hidden="true">
23985  <path d="M10 12a2 2 0 100-4 2 2 0 000 4z"/>
23986  <path fill-rule="evenodd" d="M.458 10C1.732 5.943 5.522 3 10 3s8.268 2.943 9.542 7c-1.274 4.057-5.064 7-9.542 7S1.732 14.057.458 10zM14 10a4 4 0 11-8 0 4 4 0 018 0z" clip-rule="evenodd"/>
23987</svg>
23988                    </template>
23989                    <template x-if="customer_form_register_popup_showPasswordConfirm">
23990                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" width="20" height="20" aria-hidden="true">
23991  <path fill-rule="evenodd" d="M3.707 2.293a1 1 0 00-1.414 1.414l14 14a1 1 0 001.414-1.414l-1.473-1.473A10.014 10.014 0 0019.542 10C18.268 5.943 14.478 3 10 3a9.958 9.958 0 00-4.512 1.074l-1.78-1.781zm4.261 4.26l1.514 1.515a2.003 2.003 0 012.45 2.45l1.514 1.514a4 4 0 00-5.478-5.478z" clip-rule="evenodd"/>
23992  <path d="M12.454 16.697L9.75 13.992a4 4 0 01-3.742-3.741L2.335 6.578A9.98 9.98 0 00.458 10c1.274 4.057 5.065 7 9.542 7 .847 0 1.669-.105 2.454-.303z"/>
23993</svg>
23994                    </template>
23995                </button>
23996            </div>
23997        </div>
23998
23999                        </div>
24000            <div class="order-4">
24001                    <div class="amsl-separator text-center py-6">
24002        <span>lub zaloguj się za pośrednictwem</span>
24003    </div>
24004    <div class="amsl-social-wrapper"
24005                    x-data="AmSocialLogin()"
24006            x-init="initializeSocialLogin()"
24007            >
24008        <div class="amsl-social-login">
24009            <template x-if="socialErrorMessage">
24010                <p class="amsl-error -social message error mb-4" x-text="socialErrorMessage"></p>
24011            </template>
24012            <div class="amsl-buttons flex flex-wrap justify-center gap-2"
24013                                >
24014                                    <div class="flex-grow">
24015                        <a class="btn btn-social"
24016                           x-on:click="socialLoginClick($event)"
24017                           href="https://fera.pl/amsociallogin/social/login/?type=google"
24018                           title="Zaloguj się za pomocą Google"
24019                           role="link"
24020                        >
24021                            <svg xmlns="http://www.w3.org/2000/svg" xmlns:v="https://vecta.io/nano" viewBox="0 0 31 33" fill="none" width="24" height="24" aria-hidden="true"><path d="M1.125 10.662c-.726 1.85-1.1 3.841-1.023 5.869-.061 3.005.825 5.947 2.383 8.465l4.781-3.654c-.261-.501-.478-1.03-.643-1.586-.625-1.678-.712-3.469-.371-5.174l-5.127-3.92z" fill="#fbbc05"/><path d="M15.832.502l-.775.045c-6.14.075-11.7 4.435-13.93 10.115l5.125 3.918c.711-3.552 3.289-6.733 6.809-7.75 3.23-1.155 6.557.145 9.322 1.85 1.399-1.331 2.71-2.751 3.998-4.189C23.437 1.989 19.706.395 15.832.502zm.016 13.736v.041l.047-.041c-.016 0-.031 0-.047 0z" fill="#ea4335"/><path d="M23.387 14.219c-2.298-.001-4.595.006-6.891.01l-.648.496.008 4.953 9.035.107c-.76 2.645-2.493 5.106-5.121 6.061-4.56 2.039-10.247-.148-12.514-4.533l-4.777 3.662c1.906 3.086 4.822 5.537 8.256 6.682 5.873 2.003 13.093.505 17.002-4.602 2.853-3.577 3.502-8.348 3.193-12.805l-7.543-.031z" fill="#34a853"/><path d="M23.385 14.219c-2.514-.001-5.026.006-7.537.01l.008 5.449 9.035.107c-.69 2.401-2.185 4.647-4.42 5.756l4.959 3.84c.852-.669 1.63-1.442 2.307-2.326 2.853-3.577 3.502-8.348 3.193-12.805l-7.545-.031z" fill="#4285f4"/></svg>
24022                        </a>
24023                    </div>
24024                                    <div class="flex-grow">
24025                        <a class="btn btn-social"
24026                           x-on:click="socialLoginClick($event)"
24027                           href="https://fera.pl/amsociallogin/social/login/?type=facebook"
24028                           title="Zaloguj się za pomocą Facebook"
24029                           role="link"
24030                        >
24031                            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 25 25" fill="none" aria-hidden="true">
24032    <g clip-path="url(#clip0_637_9019)">
24033        <path d="M24.25 12.5C24.25 5.87258 18.8774 0.5 12.25 0.5C5.62258 0.5 0.25 5.87258 0.25 12.5C0.25 18.4895 4.6382 23.454 10.375 24.3542V15.9688H7.32812V12.5H10.375V9.85625C10.375 6.84875 12.1666 5.1875 14.9076 5.1875C16.2201 5.1875 17.5938 5.42188 17.5938 5.42188V8.375H16.0806C14.59 8.375 14.125 9.30008 14.125 10.25V12.5H17.4531L16.9211 15.9688H14.125V24.3542C19.8618 23.454 24.25 18.4895 24.25 12.5Z" fill="#1877F2"/>
24034        <path d="M16.9211 15.9688L17.4531 12.5H14.125V10.25C14.125 9.30102 14.59 8.375 16.0806 8.375H17.5938V5.42188C17.5938 5.42188 16.2205 5.1875 14.9076 5.1875C12.1666 5.1875 10.375 6.84875 10.375 9.85625V12.5H7.32812V15.9688H10.375V24.3542C11.6174 24.5486 12.8826 24.5486 14.125 24.3542V15.9688H16.9211Z" fill="white"/>
24035    </g>
24036    <defs>
24037        <clipPath id="clip0_637_9019">
24038            <rect width="24" height="24" fill="white" transform="translate(0.25 0.5)"/>
24039        </clipPath>
24040    </defs>
24041</svg>
24042                        </a>
24043                    </div>
24044                            </div>
24045                    </div>
24046    </div>
24047            
24047<script>
24048    function AmSocialLogin() {
24049        return {
24050            socialErrorMessage: '',
24051            isPopupEnabled: '1',
24052
24053            initializeSocialLogin() {
24054                this.initContentUpdaters();
24055            },
24056
24057            socialLoginClick(event) {
24058                if (this.messageEventListener) {
24059                    window.removeEventListener('message', this.messageEventListener);
24060                }
24061                this.messageEventListener = this.onMessageEvent.bind(this);
24062                window.addEventListener('message', this.messageEventListener);
24063                if (this.isPopupEnabled) {
24064                    window.open(
24065                        event.currentTarget.href + '&isAjax=true',
24066                        event.currentTarget.title,
24067                        this.getPopupParams()
24068                    );
24069                } else {
24070                    window.location.assign(event.currentTarget.href);
24071                }
24072                event.stopPropagation();
24073                event.preventDefault();
24074
24075                return false;
24076            },
24077
24078            onSocialResponse(data) {
24079                const isSuccessfulResult = data.result === 1;
24080
24081                if (isSuccessfulResult) {
24082                    window.dispatchEvent(
24083                        new CustomEvent(
24084                            'amsl-popup-show-notification',
24085                            {
24086                                detail: data.messages
24087                            }
24088                        )
24089                    );
24090                    this.processRedirect();
24091                } else {
24092                    const redirectData = data?.redirect_data;
24093
24094                    this.socialErrorMessage = data.messages.pop();
24095                    setTimeout(() => {
24096                        this.socialErrorMessage = '';
24097                    }, 5000);
24098
24099                    if (this.shouldCustomUrlRedirectWithError(redirectData)) {
24100                        return this.processRedirect(redirectData?.url);
24101                    }
24102
24103                    if (redirectData.redirectWithError) {
24104                        this.processRedirect();
24105                    }
24106                }
24107            },
24108
24109            shouldCustomUrlRedirectWithError(redirectData) {
24110                return (
24111                    redirectData &&
24112                    redirectData.redirect &&
24113                    redirectData.redirectWithError &&
24114                    redirectData.url
24115                );
24116            },
24117
24118            onMessageEvent(event) {
24119                if (event.data['redirect_data']) {
24120                    this.onSocialResponse(event.data);
24121                }
24122            },
24123
24124            getPopupParams(w, h, l, t) {
24125                let screenX = typeof window.screenX !== 'undefined' ? window.screenX : window.screenLeft,
24126                    screenY = typeof window.screenY !== 'undefined' ? window.screenY : window.screenTop,
24127                    outerWidth = typeof window.outerWidth !== 'undefined'
24128                        ? window.outerWidth
24129                        : document.body.clientWidth,
24130                    outerHeight = typeof window.outerHeight !== 'undefined'
24131                        ? window.outerHeight
24132                        : (document.body.clientHeight - 22),
24133                    width = w ? w : 500,
24134                    height = h ? h : 420,
24135                    left = l ? l : parseInt(screenX + ((outerWidth - width) / 2), 10),
24136                    top = t ? t : parseInt(screenY + ((outerHeight - height) / 2.5), 10);
24137
24138                return (
24139                    'width=' + width +
24140                    ',height=' + height +
24141                    ',left=' + left +
24142                    ',top=' + top
24143                );
24144            },
24145
24146            ...AmAuthPopupRedirect(),
24147            ...AmAuthPopupReloadContent()
24148        }
24149    }
24150</script>
24150
24151
24152<div class="flex items-center justify-center gap-4 pt-4">
24153    <span>Masz już konto?</span>
24154    <button
24155        class="flex items-center gap-2"
24156        x-on:click.prevent="activeTab = 'amsl-login'">
24157        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" width="20" height="20" aria-hidden="true">
24158  <path fill-rule="evenodd" d="M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z" clip-rule="evenodd"/>
24159</svg>
24160        Zaloguj się    </button>
24161</div>
24162            </div>
24163            <div class="order-5">
24164                <div class="actions-toolbar">
24165                    <button type="submit" class="btn btn-primary w-full disabled:opacity-75"
24166                            title="Zarejestruj&#x20;si&#x0119;"
24167                        >
24168                        <span>Zarejestruj się</span>
24169                    </button>
24170                </div>
24171            </div>
24172            <div class="order-6">
24173                            </div>
24174        </div>
24175        <div class="contents md:flex md:flex-col md:col-start-2 md:gap-y-6">
24176            <div class="order-3">
24177                
24178<div id="snr-ma-registration-page"></div>
24179<div class="amasty-gdpr-checkboxes bg-brandPrimary-50 border border-brandPrimary-400 rounded-xl w-full flex flex-col"
24180     x-data="initAmGdprCheckbox">
24181    <fieldset class="fieldset">
24182        <div class="relative border-b border-brandPrimary-400 px-6 py-4 flex gap-4 items-start w-full">
24183            <div class="flex flex-col gap-1 items-start flex-1">
24184                <div class="flex items-start gap-2.5 w-full">
24185                    <input type="checkbox"
24186                           id="allCheckboxesCheck"
24187                           name="allCheckboxesCheck"
24188                           class="form-checkbox rounded w-5 h-5 border-brandPrimary-500 text-brandPrimary-500"
24189                           @change="toggleAllConsents"
24190                           x-ref="allCheckboxesCheck"
24191                           data-validation-container="#amgdpr-selectall-validation"
24192                    >
24193                    <label for="allCheckboxesCheck" class="label font-bold text-sm text-brandSecondary-700 mb-0">
24194                        Zaznacz wszystkie                    </label>
24195                    <span class="absolute top-4 right-6 flex justify-center items-center gap-2.5 bg-brandPrimary-500 text-brandPrimary-950 font-bold text-sm rounded-sm px-1.5 py-0.5">
24196                        NAJPROŚCIEJ                    </span>
24197                    <div id="amgdpr-selectall-validation" class="sr-only"></div>
24198                </div>
24199                <span class="font-medium text-sm text-brandSecondary-700">
24200                    Zgadzam się na wszystkie poniższe zgody.                </span>
24201            </div>
24202        </div>
24203        <div class="flex flex-col w-full">
24204            <div>
24205                                                        <div class="field field-wrapper field-reserved border-brandPrimary-100 px-6 py-2 flex gap-3 items-start w-full border-b">
24206                        <div>
24207                            <input type="hidden"
24208                                   name="amgdpr_agreement[regulations]"
24209                                   value="0"
24210                            />
24211                            <input type="checkbox"
24212                                   name="amgdpr_agreement[regulations]"
24213                                   title="Regulamin"
24214                                   value="1"
24215                                   id="amprivacy-checkbox-2"
24216                                   class="amgdpr-consent-checkbox form-checkbox rounded w-5 h-5 border-brandPrimary-500 text-brandPrimary-500"
24217                                   @amgdpr-consent-accepted.window="consentAcceptedHandler"
24218                                   x-model="checkbox.regulations.checked"
24219                                   data-validation-container="#amgdpr-validation-2"
24220                                                                    required
24221                                                            />
24222                                                    </div>
24223                                                <div class="flex flex-col gap-1 flex-1 field field-wrapper required">
24224                            <label for="amprivacy-checkbox-2" class="label font-bold text-sm text-brandSecondary-700 mb-0 self-stretch">
24225                                <span class="amgdpr-consent-span [&_a]:underline [&_a]:text-brandSecondary-700 [&_a]:font-bold"
24226                                      @click.prevent="openLink"
24227                                      data-consent-id="2">
24228                                    Akceptuję warunki <a href="#">Regulaminu</a>                                </span>
24229                            </label>
24230                                                            <div id="amgdpr-validation-2" class="field field-wrapper mb-1"></div>
24231                                                                                </div>
24232                    </div>
24233
24234                    <input type="hidden"
24235                           name="am-gdpr-checkboxes-from"
24236                           value="amsociallogin_popup_form"
24237                    />
24238                                                        <div class="field field-wrapper field-reserved border-brandPrimary-100 px-6 py-2 flex gap-3 items-start w-full border-b">
24239                        <div>
24240                            <input type="hidden"
24241                                   name="amgdpr_agreement[sms_marketing_information]"
24242                                   value="0"
24243                            />
24244                            <input type="checkbox"
24245                                   name="amgdpr_agreement[sms_marketing_information]"
24246                                   title="Informacje&#x20;SMS"
24247                                   value="1"
24248                                   id="amprivacy-checkbox-6"
24249                                   class="amgdpr-consent-checkbox form-checkbox rounded w-5 h-5 border-brandPrimary-500 text-brandPrimary-500"
24250                                   @amgdpr-consent-accepted.window="consentAcceptedHandler"
24251                                   x-model="checkbox.sms_marketing_information.checked"
24252                                   data-validation-container="#amgdpr-validation-6"
24253                                                            />
24254                                                            <div id="amgdpr-validation-6" class="sr-only"></div>
24255                                                    </div>
24256                                                <div class="flex flex-col gap-1 flex-1">
24257                            <label for="amprivacy-checkbox-6" class="label font-bold text-sm text-brandSecondary-700 mb-0 self-stretch">
24258                                <span class="amgdpr-consent-span [&_a]:underline [&_a]:text-brandSecondary-700 [&_a]:font-bold"
24259                                      @click.prevent="openLink"
24260                                      data-consent-id="6">
24261                                    Chcę otrzymywać informacje SMS o promocjach i ofertach specjalnych.                                </span>
24262                            </label>
24263                                                                                </div>
24264                    </div>
24265
24266                    <input type="hidden"
24267                           name="am-gdpr-checkboxes-from"
24268                           value="amsociallogin_popup_form"
24269                    />
24270                                                        <div class="field field-wrapper field-reserved border-brandPrimary-100 px-6 py-2 flex gap-3 items-start w-full border-b">
24271                        <div>
24272                            <input type="hidden"
24273                                   name="amgdpr_agreement[commercial_information_email]"
24274                                   value="0"
24275                            />
24276                            <input type="checkbox"
24277                                   name="amgdpr_agreement[commercial_information_email]"
24278                                   title="Informacje&#x20;handlowe"
24279                                   value="1"
24280                                   id="amprivacy-checkbox-7"
24281                                   class="amgdpr-consent-checkbox form-checkbox rounded w-5 h-5 border-brandPrimary-500 text-brandPrimary-500"
24282                                   @amgdpr-consent-accepted.window="consentAcceptedHandler"
24283                                   x-model="checkbox.commercial_information_email.checked"
24284                                   data-validation-container="#amgdpr-validation-
242847"
24285                                                            />
24286                                                            <div id="amgdpr-validation-7" class="sr-only"></div>
24287                                                    </div>
24288                                                <div class="flex flex-col gap-1 flex-1">
24289                            <label for="amprivacy-checkbox-7" class="label font-bold text-sm text-brandSecondary-700 mb-0 self-stretch">
24290                                <span class="amgdpr-consent-span [&_a]:underline [&_a]:text-brandSecondary-700 [&_a]:font-bold"
24291                                      @click.prevent="openLink"
24292                                      data-consent-id="7">
24293                                    Chcę otrzymywać informacje handlowe o rabatach, produktach, promocjach i usługach, w tym newsletter od Fera sp. z o.o. i wyrażam zgodę na przekazanie ich na wskazany adres e-mail.                                </span>
24294                            </label>
24295                                                                                </div>
24296                    </div>
24297
24298                    <input type="hidden"
24299                           name="am-gdpr-checkboxes-from"
24300                           value="amsociallogin_popup_form"
24301                    />
24302                                                        <div class="field field-wrapper field-reserved border-brandPrimary-100 px-6 py-2 flex gap-3 items-start w-full border-b">
24303                        <div>
24304                            <input type="hidden"
24305                                   name="amgdpr_agreement[commercial_information_partners]"
24306                                   value="0"
24307                            />
24308                            <input type="checkbox"
24309                                   name="amgdpr_agreement[commercial_information_partners]"
24310                                   title="Informacje&#x20;handlowe&#x20;podmiot&#xF3;w&#x20;trzecich"
24311                                   value="1"
24312                                   id="amprivacy-checkbox-4"
24313                                   class="amgdpr-consent-checkbox form-checkbox rounded w-5 h-5 border-brandPrimary-500 text-brandPrimary-500"
24314                                   @amgdpr-consent-accepted.window="consentAcceptedHandler"
24315                                   x-model="checkbox.commercial_information_partners.checked"
24316                                   data-validation-container="#amgdpr-validation-4"
24317                                                            />
24318                                                            <div id="amgdpr-validation-4" class="sr-only"></div>
24319                                                    </div>
24320                                                <div class="flex flex-col gap-1 flex-1">
24321                            <label for="amprivacy-checkbox-4" class="label font-bold text-sm text-brandSecondary-700 mb-0 self-stretch">
24322                                <span class="amgdpr-consent-span [&_a]:underline [&_a]:text-brandSecondary-700 [&_a]:font-bold"
24323                                      @click.prevent="openLink"
24324                                      data-consent-id="4">
24325                                    Chcę też otrzymywać informacje handlowe o produktach, ofertach i usługach podmiotów trzecich i wyrażam zgodę na przekazanie ich na wskazany adres e-mail.                                </span>
24326                            </label>
24327                                                                                </div>
24328                    </div>
24329
24330                    <input type="hidden"
24331                           name="am-gdpr-checkboxes-from"
24332                           value="amsociallogin_popup_form"
24333                    />
24334                                                        <div class="field field-wrapper field-reserved border-brandPrimary-100 px-6 py-2 flex gap-3 items-start w-full ">
24335                        <div>
24336                            <input type="hidden"
24337                                   name="amgdpr_agreement[commercial_information_sms]"
24338                                   value="0"
24339                            />
24340                            <input type="checkbox"
24341                                   name="amgdpr_agreement[commercial_information_sms]"
24342                                   title="Informacje&#x20;handlowe&#x3A;&#x20;SMS"
24343                                   value="1"
24344                                   id="amprivacy-checkbox-5"
24345                                   class="amgdpr-consent-checkbox form-checkbox rounded w-5 h-5 border-brandPrimary-500 text-brandPrimary-500"
24346                                   @amgdpr-consent-accepted.window="consentAcceptedHandler"
24347                                   x-model="checkbox.commercial_information_sms.checked"
24348                                   data-validation-container="#amgdpr-validation-5"
24349                                                            />
24350                                                            <div id="amgdpr-validation-5" class="sr-only"></div>
24351                                                    </div>
24352                                                <div class="flex flex-col gap-1 flex-1">
24353                            <label for="amprivacy-checkbox-5" class="label font-bold text-sm text-brandSecondary-700 mb-0 self-stretch">
24354                                <span class="amgdpr-consent-span [&_a]:underline [&_a]:text-brandSecondary-700 [&_a]:font-bold"
24355                                      @click.prevent="openLink"
24356                                      data-consent-id="5">
24357                                    Chcę otrzymywać informacje handlowe o rabatach, produktach, promocjach i usługach od Fera sp. z o.o. i wyrażam zgodę na przekazanie ich na mój numer telefonu.                                </span>
24358                            </label>
24359                                                                                </div>
24360                    </div>
24361
24362                    <input type="hidden"
24363                           name="am-gdpr-checkboxes-from"
24364                           value="amsociallogin_popup_form"
24365                    />
24366                            </div>
24367        </div>
24368    </fieldset>
24369</div>
24370
24371    <div class="font-medium text-sm text-brandSecondary-700 [&_a]:underline mt-4">
24372        <p>Powyższą zgodę można wycofać w każdej chwili, korzystając z linku w wiadomości lub pisząc na <a href="/cdn-cgi/l/email-protection#90f9fff4d0f6f5e2f1bee0fc"><span class="__cf_email__" data-cfemail="dab3b5be9abcbfa8bbf4aab6">[email&#160;protected]</span></a><br>Administratorem danych osobowych jest Fera Sp. z o.o. Pola oznaczone gwiazdką są wymagane. Więcej informacji o przetwarzaniu danych osobowych znajduje się w polityce prywatności i plików cookies.</p>    </div>
vendor: 110 bytes, lines 24372-24374
24372
24373
24374<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
24374<script data-cfasync="false">
24375    'use strict';
24376
24377    function initAmGdprCheckbox() {
24378        return {
24379            checkbox: {"regulations":{"required":true,"checked":false,"consent_code":"regulations","consent_id":2,"expanded":false,"overflows":false},"sms_marketing_information":{"required":false,"checked":false,"consent_code":"sms_marketing_information","consent_id":6,"expanded":false,"overflows":false},"commercial_information_email":{"required":false,"checked":false,"consent_code":"commercial_information_email","consent_id":7,"expanded":false,"overflows":false},"commercial_information_partners":{"required":false,"checked":false,"consent_code":"commercial_information_partners","consent_id":4,"expanded":false,"overflows":false},"commercial_information_sms":{"required":false,"checked":false,"consent_code":"commercial_information_sms","consent_id":5,"expanded":false,"overflows":false}},
24380
24381            /**
24382             * @returns {void}
24383             */
24384            init: function () {
24385                this.$watch('checkbox', () => {
24386                    this.$refs.allCheckboxesCheck.checked = Object.values(this.checkbox).every(checkbox => checkbox.checked);
24387                });
24388                // ResizeObserver, not a one-off $nextTick/rAF measurement: this card can be
24389                // initialized while still hidden (display:none) - e.g. inside the AmastySocialLogin
24390                // popup's inactive "register" tab - where scrollHeight/clientHeight both read 0,
24391                // making any one-time overflow check always false. ResizeObserver re-fires when the
24392                // element's box actually changes size, including the 0x0 -> real-size transition
24393                // that happens when a hidden tab/modal becomes visible, so it self-corrects instead
24394                // of getting stuck on a measurement taken while nothing was rendered yet.
24395                Object.keys(this.checkbox).forEach((consentCode) => {
24396                    const el = this.$refs['moreInfo-' + consentCode];
24397                    if (!el) {
24398                        return;
24399                    }
24400                    const measureOverflow = () => {
24401                        this.checkbox[consentCode].overflows = el.scrollHeight > el.clientHeight;
24402                    };
24403                    measureOverflow();
24404                    new ResizeObserver(measureOverflow).observe(el);
24405                });
24406            },
24407
24408            /**
24409             * @param {HTMLElement} target
24410             * @returns {void}
24411             */
24412            openLink({ target }) {
24413                if (target.tagName !== 'A') {
24414                    return;
24415                }
24416
24417                const linkHref = target.getAttribute('href');
24418                const consentId = target.parentElement.dataset.consentId;
24419                linkHref === '#'
24420                    ? this.$dispatch('amgdpr-show-policy', consentId)
24421                    : location.href = linkHref;
24422            },
24423
24424            /**
24425             * @param {string} consentId
24426             * @returns {void}
24427             */
24428            consentAcceptedHandler: function ({ detail: consentId }) {
24429                this.getAcceptedConsentCodes(parseInt(consentId)).forEach((consentCode) => {
24430                    this.checkbox[consentCode].checked = true;
24431                });
24432            },
24433
24434            /**
24435             * @param {Number} consentId
24436             * @returns {Array}
24437             */
24438            getAcceptedConsentCodes: function (consentId) {
24439                return Object.values(this.checkbox)
24440                    .filter(consent => consent.consent_id === consentId)
24441                    .map(consent => consent.consent_code);
24442            },
24443
24444            toggleAllConsents(event) {
24445                Object.keys(this.checkbox).forEach(consentCode => {
24446                    if (this.checkbox[consentCode].required && !event.target.checked) {
24447                        return;
24448                    }
24449                    this.checkbox[consentCode].checked = event.target.checked;
24450                });
24451            },
24452
24453            /**
24454             * @param {string} consentCode
24455             * @returns {void}
24456             */
24457            toggleExpand: function (consentCode) {
24458                this.checkbox[consentCode].expanded = !this.checkbox[consentCode].expanded;
24459            }
24460        }
24461    }
24462
24463    window.addEventListener(
24464        'alpine:init',
24465        () => Alpine.data('initAmGdprCheckbox', initAmGdprCheckbox),
24466        { once: true }
24467    );
24468</script>
24468
24469                                            </div>
24470        </div>
24471    </div>
24472    </form>
24473
24474<script>
24475    function initForm() {
24476        return {
24477            errors: 0,
24478            hasCaptchaToken: 0,
24479            customer_form_register_popup_showPassword: false,
24480            customer_form_register_popup_showPasswordConfirm: false,
24481            submitForm() {
24482                this.validate()
24483                    .then(() => {
24484                        // Do not rename $form, the variable is expected to be declared in the recaptcha output
24485                        const $form = document.querySelector('#accountcreate');
24486                        
24487                        if (this.errors === 0) {
24488                            $form.submit();
24489                        }
24490                    })
24491                    .catch((invalid) => {
24492                        if (invalid.length > 0) {
24493                            invalid[0].focus();
24494                        }
24495                    });
24496            },
24497                    }
24498    }
24499
24500    window.addEventListener('DOMContentLoaded', () => {
24501
24502        const postCodeSpecs = {"AD":{"pattern_1":{"example":"AD100","pattern":"^AD\\d{3}$"}},"AM":{"pattern_1":{"example":"123456","pattern":"^[0-9]{6}$"}},"AR":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"},"pattern_2":{"example":"A1234BCD","pattern":"^[a-zA-z]{1}[0-9]{4}[a-zA-z]{3}$"}},"AS":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"AT":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"}},"AU":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"}},"AX":{"pattern_1":{"example":"22123","pattern":"^22\\d{3}$"}},"AZ":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"},"pattern_2":{"example":"123456","pattern":"^[0-9]{6}$"}},"BA":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"BB":{"pattern_1":{"example":"BB12345","pattern":"^(BB\\d{5})?$"}},"BD":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"}},"BE":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"}},"BG":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"}},"BH":{"pattern_1":{"example":"323","pattern":"^((1[0-2]|[1-9])\\d{2})?$"}},"BM":{"pattern_1":{"example":"MA 02","pattern":"^[A-Z]{2}[ ]?[A-Z0-9]{2}$"}},"BN":{"pattern_1":{"example":"AB1234","pattern":"^[a-zA-z]{2}[0-9]{4}$"}},"BR":{"pattern_1":{"example":"12345678","pattern":"^[0-9]{8}$"},"pattern_2":{"example":"12345-678","pattern":"^[0-9]{5}\\-[0-9]{3}$"}},"BY":{"pattern_1":{"example":"123456","pattern":"^[0-9]{6}$"}},"CA":{"pattern_1":{"example":"A1B 2C3","pattern":"^[a-zA-z]{1}[0-9]{1}[a-zA-z]{1}\\s[0-9]{1}[a-zA-z]{1}[0-9]{1}$"},"pattern_2":{"example":"A1B2C3","pattern":"^[a-zA-z]{1}[0-9]{1}[a-zA-z]{1}[0-9]{1}[a-zA-z]{1}[0-9]{1}$"},"pattern_3":{"example":"A1B","pattern":"^[a-zA-z]{1}[0-9]{1}[a-zA-z]{1}$"}},"CC":{"pattern_1":{"example":"6799","pattern":"^6799$"}},"CH":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"}},"CK":{"pattern_1":{"example":"1234","pattern":"^\\d{4}$"}},"CL":{"pattern_1":{"example":"1234567","pattern":"^\\d{7}$"}},"CN":{"pattern_1":{"example":"123456","pattern":"^[0-9]{6}$"}},"CR":{"pattern_1":{"example":"12345 or 123-1234","pattern":"^\\d{4,5}|\\d{3}-\\d{4}$"}},"CS":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"CU":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"CV":{"pattern_1":{"example":"1234","pattern":"^\\d{4}$"}},"CX":{"pattern_1":{"example":"6798","pattern":"^6798$"}},"CY":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"}},"CZ":{"pattern_1":{"example":"123 45","pattern":"^[0-9]{3}\\s[0-9]{2}$"}},"DE":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"DK":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"}},"DO":{"pattern_1":{"example":"12345","pattern":"^\\d{5}$"}},"DZ":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"EC":{"pattern_1":{"example":"A1234B or AB123456 or 123456","pattern":"^([A-Z]\\d{4}[A-Z]|(?:[A-Z]{2})?\\d{6})?$"}},"EE":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"EG":{"pattern_1":{"example":"12345","pattern":"^\\d{5}$"}},"ES":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"ET":{"pattern_1":{"example":"1234","pattern":"^\\d{4}$"}},"FI":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"FK":{"pattern_1":{"example":"FIQQ 1ZZ","pattern":"^FIQQ 1ZZ$"}},"FM":{"pattern_1":{"example":"96941","pattern":"^(9694[1-4])([ \\-]\\d{4})?$"}},"FO":{"pattern_1":{"example":"123","pattern":"^\\d{3}$"}},"FR":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"GB":{"pattern_1":{"example":"AB12 3CD","pattern":"^[a-zA-Z]{2}[0-9]{2}\\s?[0-9]{1}[a-zA-Z]{2}$"},"pattern_2":{"example":"A1B 2CD","pattern":"^[a-zA-Z]{1}[0-9]{1}[a-zA-Z]{1}\\s?[0-9]{1}[a-zA-Z]{2}$"},"pattern_3":{"example":"AB1 2CD","pattern":"^[a-zA-Z]{2}[0-9]{1}\\s?[0-9]{1}[a-zA-Z]{2}$"},"pattern_4":{"example":"AB1C 2DF","pattern":"^[a-zA-Z]{2}[0-9]{1}[a-zA-Z]{1}\\s?[0-9]{1}[a-zA-Z]{2}$"},"pattern_5":{"example":"A12 3BC","pattern":"^[a-zA-Z]{1}[0-9]{2}\\s?[0-9]{1}[a-zA-Z]{2}$"},"pattern_6":{"example":"A1 2BC","pattern":"^[a-zA-Z]{1}[0-9]{1}\\s?[0-9]{1}[a-zA-Z]{2}$"}},"GE":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"}},"GF":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"GG":{"pattern_1":{"example":"GY10 2AB","pattern":"^[gG][yY]([1-9]|10)\\s?[0-9]{1}[a-zA-Z]{2}$"}},"GH":{"pattern_1":{"example":"GA18400","pattern":"^[A-Z][A-Z0-9]\\d{3,5}$"}},"GL":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"}},"GN":{"pattern_1":{"example":"123","pattern":"^\\d{3}$"}},"GP":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"GR":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"GS":{"pattern_1":{"example":"SIQQ 1ZZ","pattern":"^SIQQ 1ZZ$"}},"GT":{"pattern_1":{"example":"12345","pattern":"^\\d{5}$"}},"GU":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"GW":{"pattern_1":{"example":"1234","pattern":"^\\d{4}$"}},"HM":{"pattern_1":{"example":"1234","pattern":"^\\d{4}$"}},"HN":{"pattern_1":{"example":"12345","pattern":"^(?:\\d{5})?$"}},"HR":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"HT":{"pattern_1":{"example":"1234","pattern":"^\\d{4}$"}},"HU":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"}},"IC":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"ID":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"IL":{"pattern_1":{"example":"6687865","pattern":"^[0-9]{7}$"}},"IM":{"pattern_1":{"example":"IM1 1AD","pattern":"^IM\\d[\\dA-Z]?[ ]?\\d[ABD-HJLN-UW-Z]{2}$"}},"IN":{"pattern_1":{"example":"123456","pattern":"^[0-9]{6}$"}},"IO":{"pattern_1":{"example":"BBND 1ZZ","pattern":"^BBND 1ZZ$"}},"IS":{"pattern_1":{"example":"123","pattern":"^[0-9]{3}$"}},"IQ":{"pattern_1":{"example":"12345","pattern":"^\\d{5}$"}},"IT":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}}
24502,"JE":{"pattern_1":{"example":"JE2 4PJ","pattern":"^[jJ][eE][1-5]{1}\\s?[0-9]{1}[a-zA-Z]{2}$"}},"JO":{"pattern_1":{"example":"12345","pattern":"^\\d{5}$"}},"JP":{"pattern_1":{"example":"123-4567","pattern":"^[0-9]{3}-[0-9]{4}$"},"pattern_2":{"example":"1234567","pattern":"^[0-9]{7}$"}},"KE":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"KG":{"pattern_1":{"example":"123456","pattern":"^[0-9]{6}$"}},"KR":{"pattern_1":{"example":"123-456","pattern":"^[0-9]{3}-[0-9]{3}$"},"pattern_2":{"example":"12345","pattern":"^[0-9]{5}$"}},"KH":{"pattern_1":{"example":"12345","pattern":"^\\d{5}$"}},"KW":{"pattern_1":{"example":"12345","pattern":"^\\d{5}$"}},"KZ":{"pattern_1":{"example":"123456","pattern":"^[0-9]{6}$"}},"LA":{"pattern_1":{"example":"12345","pattern":"^\\d{5}$"}},"LB":{"pattern_1":{"example":"1234 5678","pattern":"^(\\d{4}([ ]?\\d{4})?)?$"}},"LI":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"}},"LK":{"pattern_1":{"example":"12345","pattern":"^\\d{5}$"}},"LT":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"LU":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"}},"LV":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"}},"MA":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"MC":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"MD":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"}},"ME":{"pattern_1":{"example":"81101","pattern":"^8\\d{4}$"}},"MG":{"pattern_1":{"example":"123","pattern":"^[0-9]{3}$"}},"MH":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"MK":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"}},"MN":{"pattern_1":{"example":"123456","pattern":"^[0-9]{6}$"}},"MP":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"MS":{"pattern_1":{"example":"MSR1250","pattern":"^MSR\\s?\\d{4}$"}},"MQ":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"MT":{"pattern_1":{"example":"ABC 1234","pattern":"^[a-zA-Z]{3}\\s[0-9]{4}$"},"pattern_2":{"example":"ABC 123","pattern":"^[a-zA-Z]{3}\\s[0-9]{3}$"},"pattern_3":{"example":"ABC 12","pattern":"^[a-zA-Z]{3}\\s[0-9]{2}$"}},"MU":{"pattern_1":{"example":"A1201 or 80110","pattern":"^([AR]|[0-9])\\d{4,5}$"}},"MV":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"},"pattern_2":{"example":"1234","pattern":"^[0-9]{4}$"}},"MX":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"MY":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"NC":{"pattern_1":{"example":"98800","pattern":"^988\\d{2}$"}},"NE":{"pattern_1":{"example":"1234","pattern":"^\\d{4}$"}},"NF":{"pattern_1":{"example":"2899","pattern":"^2899$"}},"NG":{"pattern_1":{"example":"123456","pattern":"^(\\d{6})?$"}},"NI":{"pattern_1":{"example":"22500","pattern":"^\\d{5}$"}},"NL":{"pattern_1":{"example":"1234 AB\/1234AB","pattern":"^[1-9][0-9]{3}\\s?[a-zA-Z]{2}$"},"pattern_2":{"example":"1234","pattern":"^[1-9][0-9]{3}$"}},"NO":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"}},"NP":{"pattern_1":{"example":"12345","pattern":"^\\d{5}$"}},"NZ":{"pattern_1":{"example":"1234","pattern":"^\\d{4}$"}},"OM":{"pattern_1":{"example":"PC 123 or 123","pattern":"^(PC )?\\d{3}$"}},"PA":{"pattern_1":{"example":"1234","pattern":"^\\d{4}$"}},"PF":{"pattern_1":{"example":"98701","pattern":"^987\\d{2}$"}},"PG":{"pattern_1":{"example":"123","pattern":"^\\d{3}$"}},"PH":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"}},"PK":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"PL":{"pattern_1":{"example":"12-345","pattern":"^[0-9]{2}-[0-9]{3}$"}},"PM":{"pattern_1":{"example":"97500","pattern":"^9[78]5\\d{2}$"}},"PN":{"pattern_1":{"example":"PCRN 1ZZ","pattern":"^PCRN 1ZZ$"}},"PR":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"PT":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"},"pattern_2":{"example":"1234-567","pattern":"^[0-9]{4}-[0-9]{3}$"}},"PW":{"pattern_1":{"example":"96939 or 96940","pattern":"^(?:96939|96940)$"}}
24502,"PY":{"pattern_1":{"example":"1234","pattern":"^\\d{4}$"}},"RE":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"RO":{"pattern_1":{"example":"123456","pattern":"^[0-9]{6}$"}},"RS":{"pattern_1":{"example":"123456","pattern":"^\\d{6}$"}},"RU":{"pattern_1":{"example":"123456","pattern":"^[0-9]{6}$"}},"SA":{"pattern_1":{"example":"12345","pattern":"^\\d{5}$"}},"SE":{"pattern_1":{"example":"123 45","pattern":"^[0-9]{3}\\s[0-9]{2}$"}},"SG":{"pattern_1":{"example":"123456","pattern":"^[0-9]{6}$"}},"SI":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"}},"SK":{"pattern_1":{"example":"123 45","pattern":"^[0-9]{3}\\s[0-9]{2}$"}},"SH":{"pattern_1":{"example":"ASCN 1ZZ","pattern":"^(ASCN|STHL) 1ZZ$"}},"SJ":{"pattern_1":{"example":"1234","pattern":"^\\d{4}$"}},"SM":{"pattern_1":{"example":"47890","pattern":"^4789\\d$"}},"SN":{"pattern_1":{"example":"12345","pattern":"^\\d{5}$"}},"SO":{"pattern_1":{"example":"12345","pattern":"^\\d{5}$"}},"SZ":{"pattern_1":{"example":"A123","pattern":"^[a-zA-Z]{1}[0-9]{3}$"}},"TC":{"pattern_1":{"example":"TKCA 1ZZ","pattern":"^TKCA 1ZZ$"}},"TH":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"TJ":{"pattern_1":{"example":"123456","pattern":"^[0-9]{6}$"}},"TM":{"pattern_1":{"example":"123456","pattern":"^[0-9]{6}$"}},"TN":{"pattern_1":{"example":"1234","pattern":"^\\d{4}$"}},"TR":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"TT":{"pattern_1":{"example":"120110","pattern":"^\\d{6}$"}},"TW":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"},"pattern_2":{"example":"123","pattern":"^[0-9]{3}$"}},"UA":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"US":{"pattern_1":{"example":"12345-6789","pattern":"^[0-9]{5}\\-[0-9]{4}$"},"pattern_2":{"example":"12345","pattern":"^[0-9]{5}$"}},"UY":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"UZ":{"pattern_1":{"example":"123456","pattern":"^[0-9]{6}$"}},"VA":{"pattern_1":{"example":"00120","pattern":"^00120$"}},"VE":{"pattern_1":{"example":"1234","pattern":"^\\d{4}$"}},"VI":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"WF":{"pattern_1":{"example":"98601","pattern":"^986\\d{2}$"}},"XK":{"pattern_1":{"example":"12345","pattern":"^\\d{5}$"}},"XY":{"pattern_1":{"example":"12345","pattern":"^[0-9]{5}$"}},"YT":{"pattern_1":{"example":"97601","pattern":"^976\\d{2}$"}},"ZA":{"pattern_1":{"example":"1234","pattern":"^[0-9]{4}$"}},"ZM":{"pattern_1":{"example":"12345","pattern":"^\\d{5}$"}}};
24503
24504        hyva.formValidation.addRule('postcode', (postCode, options, field, context) => {
24505            context.removeMessages(field, 'postcode-warning')
24506            const countryId = (context.fields['country_id'] && context.fields['country_id'].element.value),
24507                validatedPostCodeExamples = [],
24508                countryPostCodeSpecs = countryId && postCodeSpecs ? postCodeSpecs[countryId] : false;
24509
24510            if (! postCode || ! countryPostCodeSpecs) return true;
24511
24512            for (const postCodeSpec of Object.values(countryPostCodeSpecs)) {
24513                if (new RegExp(postCodeSpec.pattern).test(postCode)) return true;
24514                validatedPostCodeExamples.push(postCodeSpec.example);
24515            }
24516            if (validatedPostCodeExamples) {
24517                context.addMessages(field, 'postcode-warning', [
24518                    'Provided\u0020Zip\u002FPostal\u0020Code\u0020seems\u0020to\u0020be\u0020invalid.',
24519                    '\u0020Example\u003A\u0020' + validatedPostCodeExamples.join('; ') + '. ',
24520                    'If\u0020you\u0020believe\u0020it\u0020is\u0020the\u0020right\u0020one\u0020you\u0020can\u0020ignore\u0020this\u0020notice.'
24521                ]);
24522            }
24523
24524            return true;
24525        });
24526    })
24527</script>
24527
24528
24529                        </div>
24530                    </template>
24531                </div>
24532            </div>
24533            <div id="amsl-forgot-content"
24534                 x-show="activeTab === 'amsl-forgot'"
24535                 title="Formularz przypomnienia hasła"
24536                 x-cloak
24537                 role="tabpanel"
24538            >
24539                <div class="grid grid-cols-1 xl:grid-cols-2 items-center">
24540                    <div class="amsl-content amsl-forgot-content
24541                        p-8 max-h-screen overflow-y-auto md:max-h-[calc(100vh-48px)]                        "
24542                    >
24543                        <template x-if="!isLogged">
24544                            <div class="amsl-form">
24545                                
24546
24547
24548<template x-if="formMessages.has('amsl-forgot')">
24549    <template
24550        x-for="message in formMessages.get('amsl-forgot')"
24551        :key="message"
24552    >
24553        <div class="message error">
24554            <span x-html="message"></span>
24555        </div>
24556    </template>
24557</template>
24558<form class="form form-forgotpassword"
24559      action="https://fera.pl/customer/account/forgotpasswordpost/"
24560      method="post"
24561      x-data="Object.assign(hyva.formValidation($el), initPasswordForm())"
24562      @submit.prevent="submitForm();"
24563      id="user_forgotpassword">
24564    <input name="form_key" type="hidden" value="6aqf5MmWWJaNsQwZ" />    <input type="hidden" name="formId" value="user_forgotpassword"/>
24565                    <legend class="block text-brandSecondary-900 text-2xl font-extrabold title-font font-heading mb-6">
24566            Odzyskiwanie hasła        </legend>
24567        <div class="text-secondary-darker mb-6">
24568        W celu zresetowania hasła podaj adres e-mail, na który wyślemy dalsze instrukcje:    </div>
24569    <div class="field field-reserved w-full email required">
24570        <label for="email_address" class="label">
24571            <span>E-mail</span>
24572        </label>
24573        <div class="control">
24574            <input name="email"
24575                   class="form-input w-full"
24576                   required
24577                   value=""
24578                   autocomplete="off"
24579                   id="email_address"
24580                   type="email"
24581                   title="E-mail"
24582                   @input.debounce="onChange"
24583            >
24584        </div>
24585    </div>
24586            <div class="actions-toolbar">
24587        <button type="submit" class="btn btn-primary w-full disabled:opacity-75"
24588                    >
24589            <span>Odzyskaj hasło</span>
24590        </button>
24591    </div>
24592    <div>
24593        <template x-if="displayErrorMessage">
24594            <p class="text-red flex items-center">
24595                    <span class="inline-block w-8 h-8 mr-3">
24596                        <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" width="24" height="24" aria-hidden="true">
24597  <path stroke-linecap="round" stroke-linejoin="round" d="M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"/>
24598</svg>
24599                    </span>
24600                <template x-for="errorMessage in errorMessages">
24601                    <span x-html="errorMessage"></span>
24602                </template>
24603            </p>
24604        </template>
24605    </div>
24606</form>
24607
24608
24609<button class="btn w-full mt-4"
24610        x-on:click.prevent="activeTab = 'amsl-login'">
24611    Wróć</button>
24612
24613<script>
24614    function initPasswordForm() {
24615        return {
24616            errors: 0,
24617            hasCaptchaToken: 0,
24618            displayErrorMessage: false,
24619            errorMessages: [],
24620            setErrorMessages(messages) {
24621                this.errorMessages = [messages]
24622                this.displayErrorMessage = this.errorMessages.length
24623            },
24624            submitForm() {
24625                this.validate()
24626                    .then(() => {
24627                        // Do not rename $form, the variable is expected to be declared in the recaptcha output
24628                        const $form = document.querySelector('#user_forgotpassword');
24629                        
24630                        if (this.errors === 0) {
24631                            $form.submit();
24632                        }
24633                    })
24634                    .catch((invalid) => {
24635                        if (invalid.length > 0) {
24636                            invalid[0].focus();
24637                        }
24638                    });
24639            }
24640        }
24641    }
24642</script>
24642
24643                            </div>
24644                        </template>
24645                    </div>
24646                    <div class="hidden self-stretch xl:flex">
24647                        <img class="object-cover" src="https://static.fera.pl/version1790219430/frontend/Tooks/default/pl_PL/Tooks_AmastySocialLogin/images/amsl-login.webp" alt="" width="792" height="688" loading="lazy"/>
24648                    </div>
24649                </div>
24650            </div>
24651        </div>
24652    </div>
24653
24654        </div>
24655    </div>
24656    </div>
24657        </div>
24658        
24658<script>
24659    const AmAuthPopup = function () {
24660        const TAB_ID_LOGIN = 'amsl\u002Dlogin';
24661        const TAB_ID_REGISTER = 'amsl\u002Dregister';
24662        const TAB_ID_FORGOT = 'amsl\u002Dforgot';
24663        const IS_KNOWN_CUSTOMER = false;
24664        const modalName = 'social\u002Dlogin\u002Dpopup';
24665        let componentInitialized = false;
24666
24667        const reCaptchaStatusBySection = {
24668            login: '',
24669            register: '',
24670            forgotPassword: '',
24671        }
24672
24673        const reCaptchaStatusFor = section => reCaptchaStatusBySection[section];
24674
24675        return {
24676            isGuestCheckoutAllowed: true,
24677            isAccountForgotPasswordPage: false,
24678            activeTab: TAB_ID_LOGIN,
24679            tabs: [TAB_ID_LOGIN, TAB_ID_REGISTER],
24680            socialIconsExpansionState: {
24681                [TAB_ID_LOGIN]: false,
24682                [TAB_ID_REGISTER]: false
24683            },
24684            isLoading: false,
24685            modalName,
24686            isLogged: false,
24687            socialIconsExpanded: false,
24688
24689            initializeAuthPopup(privateData) {
24690                if (privateData?.data?.customer?.firstname && !IS_KNOWN_CUSTOMER) {
24691                    componentInitialized = false;
24692                    this.reloadExpiredCustomerData();
24693                    return;
24694                }
24695
24696                if (componentInitialized) {
24697                    return;
24698                }
24699
24700                componentInitialized = true;
24701
24702                const origShow = this.show;
24703                const origHide = this.hide;
24704                this.show = (name, event, activeTabName) => {
24705                    origShow.call(this, name, event);
24706                    this.activeTab = activeTabName || TAB_ID_LOGIN;
24707                }
24708                this.hide = (...args) => {
24709                    origHide.call(this, args);
24710                    setTimeout(() => {
24711                        this.clearForms();
24712                        this.clearFormMessages();
24713                    }, this.animationDuration + 1)
24714                }
24715
24716                this.initModalSettings();
24717                this.bindLinksEvents(privateData);
24718                this.initContentUpdaters();
24719                if (!this.isGuestCheckoutAllowed) {
24720                    this.bindAuthenticationEvent(privateData);
24721                }
24722            },
24723
24724            bindAuthenticationEvent(privateData) {
24725                window.addEventListener('toggle-authentication', (event) => {
24726                    event.stopPropagation();
24727
24728                    if (!this.isLoggedIn(privateData)) {
24729                        this.show(
24730                            this.modalName,
24731                            event
24732                        );
24733                    } else {
24734                        window.location.assign(event.detail.url)
24735                    }
24736                }, true)
24737            },
24738
24739            bindLinksEvents(privateData) {
24740                if (!this.isLoggedIn(privateData)) {
24741                    this.bindOpeningEvents();
24742                    this.bindForgotLinkEvent();
24743                    requestAnimationFrame(() => {
24744                        this.processForms();
24745                    })
24746                } else {
24747                    this.initLogout();
24748                }
24749            },
24750
24751            bindOpeningEvents() {
24752                const accountLinks = document.querySelectorAll(`#header a[href^="${BASE_URL}customer/account"], .columns a[href^="${BASE_URL}customer/account"], #mobile-bottom-nav a[href^="${BASE_URL}customer/account"]`) || [];
24753
24754                accountLinks.forEach(elem => {
24755                    const isRegisterLink = /\/create\/?(\?.+)?(\#.+)*/.test(elem.href);
24756                    elem.removeAttribute('onclick');
24757                    elem.setAttribute('aria-haspopup', 'dialog');
24758                    elem.addEventListener('click', (event) => {
24759                        event.preventDefault();
24760                                                event.stopPropagation();
24761                        this.show(
24762                            this.modalName,
24763                            event,
24764                            isRegisterLink ? TAB_ID_REGISTER : TAB_ID_LOGIN
24765                        );
24766                    })
24767                });
24768
24769                if (reCaptchaStatusFor('register')) {
24770                    this.moveRecaptchaElement('.recaptcha-create-wrapper');
24771                }
24772
24773                if (reCaptchaStatusFor('login')) {
24774                    this.moveRecaptchaElement('.recaptcha-login-wrapper');
24775                }
24776            },
24777
24778            bindForgotLinkEvent() {
24779                const modalContainer = this.$el || this.$root;
24780                const forgotLinks = modalContainer.querySelectorAll(
24781                    `a[href^="${BASE_URL}customer/account/forgotpassword"]`
24782                ) || [];
24783
24784                forgotLinks.forEach((element) => {
24785                    element.addEventListener('click', (event) => {
24786                        event.preventDefault();
24787                        element.setAttribute('aria-haspopup', 'dialog');
24788                        this.activeTab = TAB_ID_FORGOT;
24789                    })
24790                })
24791
24792                if (reCaptchaStatusFor('forgotPassword') && !this.isAccountForgotPasswordPage) {
24793                    this.moveRecaptchaElement('.recaptcha-forgot-wrapper');
24794                }
24795            },
24796
24797            isLoggedIn(privateData) {
24798                try {
24799                    privateData = privateData?.data ?? JSON.parse(hyva.getBrowserStorage()?.['mage-cache-storage'] || '{}');
24800                    this.isLogged = !!(privateData.customer && privateData.customer.firstname);
24801                } catch (error) {
24802                    console.error('Error parsing privateData:', error);
24803                    this.isLogged = false;
24804                }
24805                return this.isLogged;
24806            },
24807
24808            showOnExternalEvent(event) {
24809                const eventData = event.detail || {};
24810                const message = eventData?.message;
24811                const tabName = eventData?.tabName || TAB_ID_LOGIN;
24812
24813                this.show(this.modalName, event, tabName);
24814                if (message) {
24815                    this.setFormMessages(tabName, [message]);
24816                }
24817            },
24818
24819            canShowAllSocialIcons() {
24820                return this.socialIconsExpansionState[this.activeTab];
24821            },
24822
24823            showAllSocialIcons() {
24824                this.socialIconsExpanded = true;
24825                this.socialIconsExpansionState[this.activeTab] = true;
24826            },
24827
24828            setLoading(isLoading) {
24829                const formButtons = this.$refs[this.modalName].querySelectorAll('[type="submit"]');
24830                formButtons.forEach(button => {
24831                    if (isLoading) {
24832                        button.setAttribute('disabled', 'disabled')
24833                    } else {
24834                        button.removeAttribute('disabled');
24835                    }
24836                })
24837                this.isLoading = isLoading;
24838            },
24839
24840            reloadExpiredCustomerData() {
24841                const sections = ['mage-cache-storage', 'private_content_version', 'mage-cache-timeout'];
24842                sections.forEach(section => localStorage.removeItem(section));
24843
24844                hyva.setCookie('mage-cache-sessid', '', -1);
24845                window.dispatchEvent(new CustomEvent("reload-customer-section-data"));
24846            },
24847
24848            moveRecaptchaElement(element) {
24849                const captchaElement = document.querySelector(element);
24850                if (!captchaElement) {
24851                    return;
24852                }
24853
24854                const container = captchaElement.closest('.amsl-form').querySelector('.actions-toolbar');
24855                container.prepend(captchaElement);
24856            },
24857
24858            onKeypress(event) {
24859                const activeTabIndex = this.tabs.indexOf(this.activeTab);
24860
24861                if (activeTabIndex < 0 || event.code === 'Tab') {
24862                    return;
24863                }
24864
24865                switch (event.code) {
24866                    case 'Enter':
24867                    case 'Space':
24868                        this.activeTab = event.target.id.replace('tab-', '');
24869                        break;
24870
24871                    case 'ArrowRight':
24872                        this.activeTab = this.tabs[(activeTabIndex + 1) % this.tabs.length]
24873                        break;
24874
24875                    case 'ArrowLeft':
24876                        this.activeTab = this.tabs[(activeTabIndex + this.tabs.length - 1) % this.tabs.length]
24877                        break;
24878
24879                    case 'End':
24880                        this.activeTab = this.tabs[this.tabs.length - 1]
24881                        break;
24882
24883                    case 'Home':
24884                        this.activeTab = this.tabs[0]
24885                        break;
24886                }
24887
24888                document.getElementById('tab-' + this.activeTab).focus();
24889            },
24890
24891            ...AmAuthPopupModal(modalName),
24892            ...AmAuthPopupForms(),
24893            ...AmAuthPopupRedirect(),
24894            ...AmAuthPopupReloadContent(),
24895            ...AmAuthPopupLogout(),
24896            ...(typeof AmSocialLogin === 'function' ? AmSocialLogin() : {})
24897        }
24898    }
24899</script>
vendor: 1 bytes, line 24899
24899
24900<script>
24901    (function () {
24902        const resetPasswordForms = document.querySelectorAll('form[action*="/forgotpasswordpost"]');
24903        resetPasswordForms.forEach(form => {
24904            // add selector which is used for Amasty_InvisibleCaptcha
24905            form.classList.add('form','password', 'forget');
24906        });
24907    })();
24908
24909    // Part of an authentication popup component, which is responsible for form actions
24910    const AmAuthPopupForms = function () {
24911        const TAB_ID_LOGIN = 'amsl\u002Dlogin';
24912        const TAB_ID_REGISTER = 'amsl\u002Dregister';
24913        const TAB_ID_FORGOT = 'amsl\u002Dforgot';
24914        const formsConfig = JSON.parse(`\u007B\u0022amsl\u002Dlogin\u0022\u003A\u007B\u0022formType\u0022\u003A\u0022amsl\u002Dlogin\u0022,\u0022formId\u0022\u003A\u0022customer\u002Dlogin\u002Dform\u0022,\u0022successMessage\u0022\u003A\u0022Zalogowano\u0020pomy\u005Cu015blnie.\u0022,\u0022submitUrlReplacement\u0022\u003A\u0022amsociallogin\u005C\u002Faccount\u0022\u007D,\u0022amsl\u002Dregister\u0022\u003A\u007B\u0022formType\u0022\u003A\u0022amsl\u002Dregister\u0022,\u0022formId\u0022\u003A\u0022accountcreate\u0022,\u0022successMessage\u0022\u003A\u0022Thank\u0020you\u0020for\u0020registering\u0020with\u0020us.\u0022,\u0022submitUrlReplacement\u0022\u003A\u0022amsociallogin\u005C\u002Faccount\u0022\u007D,\u0022amsl\u002Dforgot\u0022\u003A\u007B\u0022formType\u0022\u003A\u0022amsl\u002Dforgot\u0022,\u0022formId\u0022\u003A\u0022user_forgotpassword\u0022,\u0022customSubmitUrl\u0022\u003A\u0022customer\u005C\u002Faccount\u005C\u002Fforgotpasswordpost\u0022\u007D\u007D`);
24915
24916        // Tooks (FERA-2065): hard ceiling after which a still-loading button is force-enabled.
24917        const AMSL_SUBMIT_SAFETY_TIMEOUT = 20000;
24918
24919        return {
24920            formMessages: new Map(),
24921
24922            processForms() {
24923                Object.values(formsConfig).forEach((formOptions) => {
24924                    this.processForm(formOptions);
24925                })
24926            },
24927
24928            processForm(formOptions) {
24929                const { formId } = formOptions;
24930                const formElement = document.querySelector(`#social-login-popup #${formId}`);
24931
24932                if (formElement) {
24933                    this.bindFormSubmit(formElement, formOptions);
24934                }
24935            },
24936
24937            // Tooks (FERA-2065): $refs-independent re-enable. Resolves the modal root from
24938            // whatever is still attached to the DOM and clears the disabled state set by
24939            // setLoading(true). Never throws, so it is safe to call from catch/finally.
24940            forceEnableSubmit() {
24941                try {
24942                    const root = (this.$refs && this.$refs[this.modalName])
24943                        || (typeof this.$root !== 'undefined' && this.$root)
24944                        || document.getElementById(this.modalName)
24945                        || document.querySelector('#social-login-popup');
24946
24947                    if (root) {
24948                        root.querySelectorAll('[type="submit"]').forEach((button) => {
24949                            button.removeAttribute('disabled');
24950                        });
24951                    }
24952                } catch (error) {
24953                    console.error(error);
24954                } finally {
24955                    this.isLoading = false;
24956                }
24957            },
24958
24959            bindFormSubmit(formElement, formOptions) {
24960                const { formType, successMessage, submitUrlReplacement, customSubmitUrl } = formOptions;
24961
24962                let submitUrl = formElement.action;
24963                if (submitUrlReplacement) {
24964                    submitUrl = submitUrl.replace('customer/account', submitUrlReplacement);
24965                }
24966
24967                if (customSubmitUrl) {
24968                    let baseUrl = 'https://fera.pl/';
24969                    submitUrl = baseUrl + customSubmitUrl;
24970                }
24971
24972                // Hyva calls $form.submit() after successful validation.
24973                // Tooks (FERA-2065): guarantee the button is always re-enabled -
24974                //  - safety timeout covers a hung/never-settling fetch,
24975                //  - the whole flow is wrapped so a synchronous throw cannot skip re-enable,
24976                //  - both catch and finally restore the button defensively.
24977                formElement.submit = () => {
24978                    let safetyTimer = setTimeout(() => this.forceEnableSubmit(), AMSL_SUBMIT_SAFETY_TIMEOUT);
24979
24980                    const restore = () => {
24981                        clearTimeout(safetyTimer);
24982                        try {
24983                            this.setLoading(false);
24984                        } catch (error) {
24985                            console.error(error);
24986                        }
24987                        this.forceEnableSubmit();
24988                    };
24989
24990                    try {
24991                        this.clearFormMessages();
24992                        this.setLoading(true);
24993
24994                        this.formAjaxSubmit(
24995                            formElement,
24996                            submitUrl
24997                        ).then((result) => {
24998                            if (!result.errors.length) {
24999                                this.hide(this.modalName);
25000                                const notification = result.success || successMessage;
25001                                if (notification) {
25002                                    window.dispatchEvent(
25003                                        new CustomEvent(
25004                                            'amsl-popup-show-notification',
25005                                            {
25006                                                detail: notification
25007                                            }
25008                                        )
25009                                    );
25010                                }
25011                            }
25012                            if (result.errors.length) {
25013                                this.setFormMessages(formType, result.errors);
25014                                return;
25015                            }
25016                            this.processRedirect();
25017                        }).catch((error) => {
25018                            console.error(error);
25019                        }).finally(restore);
25020                    } catch (error) {
25021                        console.error(error);
25022                        restore();
25023                    }
25024                }
25025            },
25026
25027            async formAjaxSubmit(form, url) {
25028                let errors = [];
25029                let success = '';
25030
25031                try {
25032                    await fetch(url, {
25033                        method: 'POST',
25034                        body: new FormData(form)
25035                    });
25036
25037                    const messages = this.extractMageMessages();
25038                    const errorMessages = messages.filter(({ type }) => type === 'error');
25039                    const successMessages = messages.filter(({ type }) => type === 'success');
25040
25041                    errors = errorMessages.map(({ text }) => text);
25042                    if (successMessages.length) {
25043                        success = successMessages.pop().text || '';
25044                    }
25045                } catch (error) {
25046                    console.error(error);
25047                    errors.push('Przepraszamy\u0020co\u015B\u0020posz\u0142o\u0020nie\u0020tak.\u0020Prosimy\u0020spr\u00F3bowa\u0107\u0020ponownie\u0020p\u00F3\u017Aniej.');
25048                }
25049
25050                return { errors, success };
25051            },
25052
25053            extractMageMessages() {
25054                const messagesCookie = hyva.getCookie('mage-messages');
25055                const messages = messagesCookie
25056                    ? JSON.parse(decodeURIComponent(messagesCookie).replace(/\+/g, ' '))
25057                    : [];
25058                hyva.setCookie('mage-messages','', -1, true);
25059
25060                return messages;
25061            },
25062
25063            clearFormMessages() {
25064                this.formMessages = new Map();
25065            },
25066
25067            setFormMessages(formType, messages) {
25068                const formMessages = new Map(this.formMessages);
25069
25070                formMessages.set(formType, messages);
25071                this.formMessages = formMessages;
25072            },
25073
25074            clearForms() {
25075                const forms = this.$refs[this.modalName].querySelectorAll('form') || [];
25076                forms.forEach((form) => form.reset());
25077            }
25078        }
25079    }
25080</script>
vendor: 1 bytes, line 25080
25080
25081<script>
25082    const AmAuthPopupLogout = function () {
25083        return {
25084            initLogout() {
25085                const logoutLinks = document.querySelectorAll(`a[href*="customer/account/logout"]`) || [];
25086
25087                logoutLinks.forEach(elem => {
25088                    elem.addEventListener('click', (event) => {
25089                        event.preventDefault();
25090                        this.sendLogOut()
25091                    })
25092                })
25093            },
25094
25095            sendLogOut() {
25096                fetch(BASE_URL + "customer/account/logout", {
25097                    method: 'GET',
25098                    credentials: "include"
25099                }).then(response => {
25100                    window.dispatchEvent(
25101                        new CustomEvent(
25102                            'amsl-popup-show-notification',
25103                            {
25104                                detail: 'Zosta\u0142e\u015B\u0020wylogowany.'
25105                            }
25106                        )
25107                    );
25108                    this.processRedirect(this.isInAccountSection() ? BASE_URL : '');
25109                })
25110                .catch(error => {
25111                    console.error(error);
25112                    this.processRedirect();
25113                })
25114            },
25115
25116            isInAccountSection() {
25117                return document.querySelector('body').classList.contains('account');
25118            }
25119        }
25120    }
25121</script>
25121
25122        <div x-data="AmAuthPopupNotification()"
25123        x-init="initialize()"
25124        x-on:amsl-popup-show-notification.window="showNotification($event.detail)"
25125    >
25126        <div x-cloak    data-dialog-ref-name="amsl-popup-notification"
25127    x-bind="overlay"
25128    class="fixed inset-0 bg-black bg-opacity-50 z-50">
25129    <div class="fixed flex justify-center items-center text-left z-40 amsl-popup-notification text-green-600 px-2 min-w-[300px] inset-0">
25130        <div x-ref="amsl-popup-notification" role="dialog" aria-modal="true"
25131                                                  class="inline-block bg-white shadow-xl rounded-lg p-10 max-h-screen overflow-auto overscroll-y-contain">
25132            <div class="relative">
25133    <button
25134        type="button"
25135        class="amsl-close absolute left-full bottom-full transform translate-x-2
25136            -translate-y-2 text-gray-400 hover:text-blue-800"
25137        x-on:click="hide()"
25138        title="Zamknij"
25139        aria-label="Zamknij"
25140        role="button"
25141    >
25142        <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">
25143  <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"/>
25144<title>x</title></svg>
25145    </button>
25146    <template x-if="notification">
25147        <div x-html="notification"></div>
25148    </template>
25149</div>
25150        </div>
25151    </div>
25152    </div>
25153    </div>
25154
25155
25156<script>
25157    (() => {
25158        const promotionsObject = {
25159            options: {
25160                observerConfig: {
25161                    root: null,
25162                    threshold: 1
25163                },
25164                trackFlagAttribute: 'promo-tracked',
25165                selectPromoEvent: 'select_promotion',
25166                viewPromoEvent: 'view_promotion'
25167            },
25168            selectors: {
25169                container: '[data-promotion-event]',
25170            },
25171            dataAttributes: {
25172                creativeName: 'promotionCreativeName',
25173                creativeSlot: 'promotionCreativeSlot',
25174                promotionId: 'promotionId',
25175                promotionName: 'promotionName',
25176                promotionItems: 'promotionItems'
25177            },
25178
25179            trackPromoNodes() {
25180                const untrackedPromoNodes = this.getUntrackedPromoNodes();
25181                untrackedPromoNodes.forEach((node) => {
25182                    node.addEventListener('click', (event) => {
25183                        this.trackSelectPromoEvent(event);
25184                    });
25185                    this.createIntersectionObserver(node);
25186                });
25187                this.markPromoNodesAsTracked(untrackedPromoNodes);
25188            },
25189
25190            handleViewPromotion(event) {
25191                const element = event.detail?.element;
25192                if (element) {
25193                    this.pushEventInDataLayer(element, this.options.viewPromoEvent);
25194                }
25195            },
25196
25197            trackSelectPromoEvent(event) {
25198                const target = event.target.closest(this.selectors.container);
25199                if (!target) {
25200                    return;
25201                }
25202                this.pushEventInDataLayer(target, this.options.selectPromoEvent);
25203            },
25204
25205            getUntrackedPromoNodes() {
25206                return Array.from(document.querySelectorAll(`${this.selectors.container}:not([${this.options.trackFlagAttribute}])`));
25207            },
25208
25209            markPromoNodesAsTracked(nodes) {
25210                nodes.forEach((node) => {
25211                    node.setAttribute(this.options.trackFlagAttribute, 'true');
25212                });
25213            },
25214
25215            createIntersectionObserver(target) {
25216                const observer = new IntersectionObserver((entries) => {
25217                    entries.forEach((entry) => {
25218                        if (!entry.isIntersecting) return;
25219
25220                        this.pushEventInDataLayer(entry.target, this.options.viewPromoEvent);
25221                        observer.disconnect();
25222                    });
25223                }, this.options.observerConfig);
25224                observer.observe(target);
25225            },
25226
25227            pushEventInDataLayer(element, eventName) {
25228                const container = element.closest(this.selectors.container);
25229                if (!container) return;
25230                const promotionData = {
25231                    creative_name: container.dataset[this.dataAttributes.creativeName],
25232                    creative_slot: container.dataset[this.dataAttributes.creativeSlot],
25233                    promotion_id: container.dataset[this.dataAttributes.promotionId],
25234                    promotion_name: container.dataset[this.dataAttributes.promotionName],
25235                };
25236                const promotionItems = container.dataset[this.dataAttributes.promotionItems];
25237                if (promotionItems) {
25238                    promotionData.items = JSON.parse(promotionItems);
25239                }
25240                window.dataLayer = window.dataLayer || [];
25241                window.dataLayer.push({ ecommerce: null });
25242                window.dataLayer.push(this.getPromotionObject(promotionData, eventName));
25243            },
25244
25245            getPromotionObject(promotionData, eventName) {
25246                return {
25247                    event: eventName,
25248                    ecommerce: { ...promotionData },
25249                };
25250            }
25251        }
25252
25253        window.addEventListener('init-external-scripts', () => {
25254            promotionsObject.trackPromoNodes();
25255        }, { once: true, passive: true });
25256    })();
25257</script>
25257
25258</div>
25258<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"4b47da4b9f5048d99f777cb2417b0db8","spa":2}' crossorigin="anonymous"></script>
25258
25259</body>
25260</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.