{"id":36686,"date":"2026-03-09T12:56:34","date_gmt":"2026-03-09T12:56:34","guid":{"rendered":"https:\/\/bmwparts24.pl\/glowna\/"},"modified":"2026-03-09T12:56:34","modified_gmt":"2026-03-09T12:56:34","slug":"glowna","status":"publish","type":"page","link":"https:\/\/bmwparts24.pl\/ru\/","title":{"rendered":"G\u0142\u00f3wna"},"content":{"rendered":"<link rel=\"stylesheet\" href=\"https:\/\/fonts.googleapis.com\/css2?family=Syne:wght@600;700;800&family=Instrument+Sans:wght@400;500;600&display=swap\">\r\n\r\n<section class=\"cls-bmwc-hero\" role=\"banner\">\r\n    <div class=\"cls-bmwc-hero__bg\" aria-hidden=\"true\">\r\n        <img src=\"https:\/\/bmwparts24.pl\/wp-content\/uploads\/2026\/03\/2149030398.jpg\" alt=\"T\u0142o hero (zdj\u0119cie) \u2014 Hero\" class=\"cls-bmwc-hero__bg-img\" fetchpriority=\"high\" decoding=\"async\">\r\n        <div class=\"cls-bmwc-hero__bg-overlay\"><\/div>\r\n    <\/div>\r\n\r\n    <div class=\"cls-bmwc-hero__inner\">\r\n        <div class=\"cls-bmwc-hero__content\">\r\n            <h1 class=\"cls-bmwc-hero__title\">\r\n                \u0417\u0430\u043f\u0447\u0430\u0441\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435\r\n                <br>\r\n                \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u0432\u0430\u0448\u0435\u043c\u0443\r\n                <br>\r\n                <span class=\"cls-bmwc-hero__title-accent\">BMW<\/span>\r\n            <\/h1>\r\n            <p class=\"cls-bmwc-hero__lead\">\r\n                \u041e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u0438 \u0430\u043d\u0430\u043b\u043e\u0433\u043e\u0432\u044b\u0435 \u0437\u0430\u043f\u0447\u0430\u0441\u0442\u0438 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 BMW. \u041d\u0430\u0439\u0434\u0438\u0442\u0435 \u043f\u043e \u043d\u043e\u043c\u0435\u0440\u0443 OE, \u0437\u0430\u043a\u0430\u0436\u0438\u0442\u0435 \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 \u0432\u0441\u0435\u0433\u043e \u0437\u0430 24 \u0447\u0430\u0441\u0430.\r\n            <\/p>\r\n\r\n            <!-- KREATOR WYBORU cz\u0119\u015bci (Model \u2192 Kategoria \u2192 Podkategoria) -->\r\n            <div class=\"cls-bmwc-kreator\" data-bmwc-kreator>\r\n                <div class=\"cls-bmwc-kreator__row\">\r\n                    <div class=\"cls-bmwc-kreator__field cls-bmwc-kreator__field--model\">\r\n                        <label for=\"bmwc-kreator-model\" class=\"cls-bmwc-kreator__label\">\r\n                            \u041c\u043e\u0434\u0435\u043b\u044c BMW\r\n                        <\/label>\r\n                        <div class=\"cls-bmwc-kreator__select-wrap\">\r\n                            <select id=\"bmwc-kreator-model\" class=\"cls-bmwc-kreator__select\" data-step=\"model\" aria-label=\"\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043c\u043e\u0434\u0435\u043b\u044c BMW\">\r\n                                <option value=\"\">\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043c\u043e\u0434\u0435\u043b\u044c...<\/option>\r\n                            <\/select>\r\n                            <svg class=\"cls-bmwc-kreator__select-arrow\" viewBox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polyline points=\"6 9 12 15 18 9\"\/><\/svg>\r\n                        <\/div>\r\n                    <\/div>\r\n\r\n                    <div class=\"cls-bmwc-kreator__field cls-bmwc-kreator__field--category\">\r\n                        <label for=\"bmwc-kreator-category\" class=\"cls-bmwc-kreator__label\">\r\n                            \u041a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044f \u0437\u0430\u043f\u0447\u0430\u0441\u0442\u0435\u0439\r\n                        <\/label>\r\n                        <div class=\"cls-bmwc-kreator__select-wrap\">\r\n                            <select id=\"bmwc-kreator-category\" class=\"cls-bmwc-kreator__select\" data-step=\"category\" disabled aria-label=\"\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044e \u0437\u0430\u043f\u0447\u0430\u0441\u0442\u0435\u0439\">\r\n                                <option value=\"\">\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043c\u043e\u0434\u0435\u043b\u044c...<\/option>\r\n                            <\/select>\r\n                            <svg class=\"cls-bmwc-kreator__select-arrow\" viewBox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polyline points=\"6 9 12 15 18 9\"\/><\/svg>\r\n                        <\/div>\r\n                    <\/div>\r\n\r\n                    <div class=\"cls-bmwc-kreator__field cls-bmwc-kreator__field--subcategory\">\r\n                        <label for=\"bmwc-kreator-subcategory\" class=\"cls-bmwc-kreator__label\">\r\n                            \u041f\u043e\u0434\u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044f\r\n                        <\/label>\r\n                        <div class=\"cls-bmwc-kreator__select-wrap\">\r\n                            <select id=\"bmwc-kreator-subcategory\" class=\"cls-bmwc-kreator__select\" data-step=\"subcategory\" disabled aria-label=\"\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043f\u043e\u0434\u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044e\">\r\n                                <option value=\"\">\u0412\u0441\u0435 \u043f\u043e\u0434\u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438<\/option>\r\n                            <\/select>\r\n                            <svg class=\"cls-bmwc-kreator__select-arrow\" viewBox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polyline points=\"6 9 12 15 18 9\"\/><\/svg>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <button type=\"button\" class=\"cls-bmwc-kreator__submit\" data-submit disabled>\r\n                    <svg viewBox=\"0 0 24 24\" width=\"18\" height=\"18\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"11\" cy=\"11\" r=\"8\"\/><line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\"\/><\/svg>\r\n                    <span data-submit-text>\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043c\u043e\u0434\u0435\u043b\u044c, \u0447\u0442\u043e\u0431\u044b \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0437\u0430\u043f\u0447\u0430\u0441\u0442\u0438<\/span>\r\n                <\/button>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/section>\r\n\r\n<style>\r\n.cls-bmwc-hero *, .cls-bmwc-hero *::before, .cls-bmwc-hero *::after { box-sizing: border-box; }\r\n.cls-bmwc-hero { position: relative; min-height: 600px; overflow: hidden; font-family: 'Instrument Sans', sans-serif; color: #fff; -webkit-font-smoothing: antialiased; isolation: isolate; }\r\n.cls-bmwc-hero__bg { position: absolute; inset: 0; z-index: 1; pointer-events: none; }\r\n.cls-bmwc-hero__bg-img { width: 100%; height: 100%; object-fit: cover; display: block; pointer-events: none; }\r\n.cls-bmwc-hero__bg-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(11, 14, 18, 0.88) 0%, rgba(11, 14, 18, 0.55) 45%, rgba(11, 14, 18, 0.2) 100%); pointer-events: none; }\r\n.cls-bmwc-hero__inner { position: relative; z-index: 10; max-width: 1400px; margin: 0 auto; padding: 5rem 2rem 4rem; display: flex; align-items: center; min-height: 600px; pointer-events: none; }\r\n.cls-bmwc-hero__content { max-width: 720px; width: 100%; pointer-events: auto; position: relative; z-index: 11; }\r\n\r\n.cls-bmwc-hero__title { font-family: 'Instrument Sans', sans-serif; font-weight: 700; font-size: clamp(2rem, 4.2vw, 3.4rem); line-height: 1.1; letter-spacing: -0.025em; margin: 0 0 1.25rem; color: #fff; pointer-events: none; }\r\n.cls-bmwc-hero__title-accent { color: #1A6DCC; border-bottom: 4px solid #1A6DCC; padding-bottom: 0.15rem; }\r\n.cls-bmwc-hero__lead { font-size: 1.05rem; line-height: 1.55; color: rgba(255, 255, 255, 0.82); margin: 0 0 2.5rem; max-width: 560px; pointer-events: none; }\r\n\r\n\/* KREATOR ====================================================== *\/\r\n.cls-bmwc-kreator { position: relative; z-index: 12; background: rgba(255, 255, 255, 0.96); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border-radius: 12px; padding: 1.5rem; max-width: 720px; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35); border: 1px solid rgba(255, 255, 255, 0.15); pointer-events: auto !important; }\r\n.cls-bmwc-kreator * { pointer-events: auto; }\r\n\r\n.cls-bmwc-kreator__row { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 0.8rem; margin-bottom: 1rem; }\r\n\r\n.cls-bmwc-kreator__field { display: flex; flex-direction: column; }\r\n.cls-bmwc-kreator__label { font-size: 0.68rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #5A616B; margin-bottom: 0.45rem; }\r\n\r\n.cls-bmwc-kreator__select-wrap { position: relative; }\r\n.cls-bmwc-kreator__select { width: 100%; appearance: none; -webkit-appearance: none; -moz-appearance: none; background: #F8F9FA; border: 1.5px solid #E0E0DE; border-radius: 8px; padding: 0.85rem 2.5rem 0.85rem 0.95rem; font-family: 'Instrument Sans', sans-serif; font-size: 0.95rem; font-weight: 500; color: #1B1F23; cursor: pointer; transition: border-color 0.2s, background 0.2s; min-height: 48px; }\r\n.cls-bmwc-kreator__select:focus { outline: none; border-color: #1A6DCC; background: #fff; }\r\n.cls-bmwc-kreator__select:disabled { opacity: 0.5; cursor: not-allowed; background: #F0F1F3; color: #9CA3AD; }\r\n.cls-bmwc-kreator__select:not(:disabled):hover { border-color: #B0B6BD; }\r\n\r\n.cls-bmwc-kreator__select-arrow { position: absolute; right: 0.9rem; top: 50%; transform: translateY(-50%); color: #5A616B; pointer-events: none; transition: color 0.2s; }\r\n.cls-bmwc-kreator__select:disabled + .cls-bmwc-kreator__select-arrow { color: #9CA3AD; }\r\n\r\n.cls-bmwc-kreator__submit { width: 100%; display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; background: #1A6DCC; color: #fff; border: none; border-radius: 8px; padding: 1rem 1.5rem; font-family: 'Instrument Sans', sans-serif; font-size: 1rem; font-weight: 700; cursor: pointer; transition: background 0.2s, transform 0.1s, box-shadow 0.2s; min-height: 52px; -webkit-tap-highlight-color: transparent; }\r\n.cls-bmwc-kreator__submit:not(:disabled):hover { background: #155BA8; box-shadow: 0 6px 18px rgba(26, 109, 204, 0.4); transform: translateY(-1px); }\r\n.cls-bmwc-kreator__submit:not(:disabled):active { transform: translateY(0); }\r\n.cls-bmwc-kreator__submit:disabled { background: #B0B6BD; cursor: not-allowed; }\r\n\r\n\/* Loading state *\/\r\n.cls-bmwc-kreator__select.is-loading { background-image: linear-gradient(90deg, transparent, rgba(26, 109, 204, 0.08), transparent); background-size: 200% 100%; animation: bmwcKreatorShimmer 1.2s infinite linear; }\r\n@keyframes bmwcKreatorShimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }\r\n\r\n@media (max-width: 768px) {\r\n    .cls-bmwc-hero { min-height: auto; }\r\n    .cls-bmwc-hero__inner { padding: 3rem 1rem; min-height: auto; }\r\n    .cls-bmwc-hero__bg-overlay { background: linear-gradient(180deg, rgba(11, 14, 18, 0.82) 0%, rgba(11, 14, 18, 0.95) 100%); }\r\n    .cls-bmwc-hero__lead { margin-bottom: 1.75rem; font-size: 0.95rem; }\r\n    .cls-bmwc-kreator { padding: 1.1rem; border-radius: 12px; }\r\n    .cls-bmwc-kreator__row { grid-template-columns: 1fr; gap: 0.7rem; margin-bottom: 0.85rem; }\r\n    .cls-bmwc-kreator__submit { padding: 0.95rem 1.25rem; font-size: 0.95rem; }\r\n}\r\n\r\n@media (max-width: 480px) {\r\n    .cls-bmwc-hero__inner { padding: 2.25rem 1rem 2.5rem; }\r\n    .cls-bmwc-hero__title { font-size: 2.1rem; }\r\n    .cls-bmwc-kreator { padding: 1rem; }\r\n}\r\n<\/style>\r\n\r\n<script>\r\n(function () {\r\n    var root = document.querySelector('[data-bmwc-kreator]');\r\n    if (!root) return;\r\n\r\n    \/\/ Config z PHP snippet (window.bmwcKreatorConfig)\r\n    \/\/ Fallback gdy snippet nie aktywny \u2014 zgadujemy podstawowe URL-e\r\n    var config = window.bmwcKreatorConfig || {};\r\n    var restUrl = config.restUrl || (window.location.origin + '\/wp-json\/bmwcp\/v1\/struktura');\r\n    var shopUrl = config.shopUrl || (window.location.origin + '\/sklep\/');\r\n    var lang = config.lang || (document.documentElement.lang || 'pl').slice(0, 2);\r\n\r\n    \/\/ Je\u015bli snippet jawnie raportuje \u017ce endpoint niedost\u0119pny \u2014 poka\u017c b\u0142\u0105d\r\n    if (config.available === false) {\r\n        var errEl = document.createElement('div');\r\n        errEl.style.cssText = 'padding:1rem;background:#FEF2F2;border:1px solid #FCA5A5;border-radius:8px;color:#991B1B;font-size:0.9rem;';\r\n        errEl.textContent = 'Wyszukiwarka jest tymczasowo niedost\u0119pna. Spr\u00f3buj od\u015bwie\u017cy\u0107 stron\u0119 za chwil\u0119.';\r\n        root.innerHTML = '';\r\n        root.appendChild(errEl);\r\n        return;\r\n    }\r\n\r\n    var selectModel = root.querySelector('[data-step=\"model\"]');\r\n    var selectCategory = root.querySelector('[data-step=\"category\"]');\r\n    var selectSubcategory = root.querySelector('[data-step=\"subcategory\"]');\r\n    var submitBtn = root.querySelector('[data-submit]');\r\n    var submitText = root.querySelector('[data-submit-text]');\r\n\r\n    if (!selectModel || !selectCategory || !selectSubcategory || !submitBtn) {\r\n        console.warn('[BMWC Kreator] Brak wymaganych element\u00f3w DOM');\r\n        return;\r\n    }\r\n\r\n    \/\/ Model select powinien by\u0107 NIEZABLOKOWANY na starcie (\u0142aduje si\u0119 jako pierwszy)\r\n    selectModel.disabled = false;\r\n\r\n    var state = {\r\n        model: 0,\r\n        modelName: '',\r\n        category: 0,\r\n        categoryUrl: '',\r\n        subcategory: 0,\r\n        subcategoryUrl: '',\r\n        totalProducts: 0,\r\n    };\r\n\r\n    var i18n = {\r\n        chooseModel: 'Wybierz model, aby zobaczy\u0107 cz\u0119\u015bci',\r\n        chooseCategory: 'Wybierz kategori\u0119',\r\n        showProducts: 'Poka\u017c produkty',\r\n        productsCount: function (n) { return 'Poka\u017c ' + n + ' ' + plural(n, 'produkt', 'produkty', 'produkt\u00f3w'); },\r\n        noProducts: 'Brak cz\u0119\u015bci dla tego wyboru',\r\n        loading: '\u0141adowanie...',\r\n        modelPlaceholder: selectModel.options[0]?.textContent || 'Wybierz model...',\r\n        categoryPlaceholder: 'Najpierw wybierz model...',\r\n        subcategoryPlaceholder: 'Wszystkie podkategorie',\r\n        allSubcategories: 'Wszystkie podkategorie',\r\n    };\r\n\r\n    function plural(n, one, few, many) {\r\n        n = Math.abs(n);\r\n        if (n === 1) return one;\r\n        var lastDigit = n % 10;\r\n        var lastTwo = n % 100;\r\n        if (lastDigit >= 2 && lastDigit <= 4 && (lastTwo < 10 || lastTwo >= 20)) return few;\r\n        return many;\r\n    }\r\n\r\n    function fetchStructure(params) {\r\n        var url = restUrl + '?lang=' + encodeURIComponent(lang);\r\n        Object.keys(params).forEach(function (k) {\r\n            if (params[k]) url += '&' + k + '=' + encodeURIComponent(params[k]);\r\n        });\r\n        return fetch(url, { headers: { 'Accept': 'application\/json' } }).then(function (r) {\r\n            if (!r.ok) throw new Error('HTTP ' + r.status);\r\n            return r.json();\r\n        });\r\n    }\r\n\r\n    function setSelectLoading(select, loading) {\r\n        if (loading) {\r\n            select.classList.add('is-loading');\r\n            select.disabled = true;\r\n        } else {\r\n            select.classList.remove('is-loading');\r\n        }\r\n    }\r\n\r\n    function fillSelect(select, items, placeholder, showCount) {\r\n        var html = '<option value=\"\">' + escapeHtml(placeholder) + '<\/option>';\r\n        items.forEach(function (item) {\r\n            var label = item.name;\r\n            if (showCount && item.count) {\r\n                label += ' (' + item.count + ')';\r\n            }\r\n            var dataAttrs = '';\r\n            if (item.url) dataAttrs += ' data-url=\"' + escapeHtml(item.url) + '\"';\r\n            html += '<option value=\"' + item.id + '\"' + dataAttrs + '>' + escapeHtml(label) + '<\/option>';\r\n        });\r\n        select.innerHTML = html;\r\n    }\r\n\r\n    function escapeHtml(s) {\r\n        return String(s).replace(\/[&<>\"']\/g, function (c) {\r\n            return { '&': '&amp;', '<': '&lt;', '>': '&gt;', '\"': '&quot;', \"'\": '&#39;' }[c];\r\n        });\r\n    }\r\n\r\n    function updateSubmitButton() {\r\n        if (!state.model) {\r\n            submitBtn.disabled = true;\r\n            submitText.textContent = i18n.chooseModel;\r\n            return;\r\n        }\r\n        if (!state.category) {\r\n            submitBtn.disabled = false; \/\/ model alone is enough to redirect\r\n            var modelCount = parseInt(selectModel.options[selectModel.selectedIndex]?.dataset.count || '0', 10);\r\n            \/\/ je\u015bli mamy total products dla modelu, u\u017cyjmy go\r\n            if (state.totalProducts > 0) {\r\n                submitText.textContent = i18n.productsCount(state.totalProducts);\r\n            } else {\r\n                submitText.textContent = i18n.showProducts;\r\n            }\r\n            return;\r\n        }\r\n        \/\/ model + category set\r\n        submitBtn.disabled = false;\r\n        if (state.totalProducts > 0) {\r\n            submitText.textContent = i18n.productsCount(state.totalProducts);\r\n        } else if (state.totalProducts === 0) {\r\n            submitText.textContent = i18n.noProducts;\r\n            submitBtn.disabled = true;\r\n        } else {\r\n            submitText.textContent = i18n.showProducts;\r\n        }\r\n    }\r\n\r\n    \/\/ 1. Za\u0142aduj modele BMW na starcie\r\n    function loadModels() {\r\n        setSelectLoading(selectModel, true);\r\n        fetchStructure({})\r\n            .then(function (data) {\r\n                setSelectLoading(selectModel, false);\r\n                selectModel.disabled = false;\r\n                var items = data.items || [];\r\n                var html = '<option value=\"\">' + escapeHtml(i18n.modelPlaceholder) + '<\/option>';\r\n                \/\/ Grupuj modele\r\n                var grouped = {};\r\n                items.forEach(function (item) {\r\n                    var g = item.group || 'Inne';\r\n                    if (!grouped[g]) grouped[g] = [];\r\n                    grouped[g].push(item);\r\n                });\r\n                Object.keys(grouped).sort().forEach(function (g) {\r\n                    html += '<optgroup label=\"' + escapeHtml(g) + '\">';\r\n                    grouped[g].forEach(function (item) {\r\n                        html += '<option value=\"' + item.id + '\" data-count=\"' + item.count + '\">' +\r\n                            escapeHtml(item.name) + ' (' + item.count + ')<\/option>';\r\n                    });\r\n                    html += '<\/optgroup>';\r\n                });\r\n                selectModel.innerHTML = html;\r\n            })\r\n            .catch(function (err) {\r\n                setSelectLoading(selectModel, false);\r\n                console.error('[BMWC Kreator] Failed loading models', err);\r\n            });\r\n    }\r\n\r\n    \/\/ 2. Po zmianie modelu \u2014 za\u0142aduj kategorie\r\n    selectModel.addEventListener('change', function () {\r\n        state.model = parseInt(selectModel.value, 10) || 0;\r\n        state.modelName = selectModel.options[selectModel.selectedIndex]?.textContent || '';\r\n        state.category = 0;\r\n        state.subcategory = 0;\r\n        state.totalProducts = parseInt(selectModel.options[selectModel.selectedIndex]?.dataset.count || '0', 10);\r\n\r\n        \/\/ Reset subcategori\u0119\r\n        selectSubcategory.innerHTML = '<option value=\"\">' + escapeHtml(i18n.subcategoryPlaceholder) + '<\/option>';\r\n        selectSubcategory.disabled = true;\r\n\r\n        if (!state.model) {\r\n            selectCategory.innerHTML = '<option value=\"\">' + escapeHtml(i18n.categoryPlaceholder) + '<\/option>';\r\n            selectCategory.disabled = true;\r\n            updateSubmitButton();\r\n            return;\r\n        }\r\n\r\n        setSelectLoading(selectCategory, true);\r\n        fetchStructure({ model: state.model })\r\n            .then(function (data) {\r\n                setSelectLoading(selectCategory, false);\r\n                selectCategory.disabled = false;\r\n                fillSelect(selectCategory, data.items || [], i18n.chooseCategory, true);\r\n                updateSubmitButton();\r\n            })\r\n            .catch(function (err) {\r\n                setSelectLoading(selectCategory, false);\r\n                console.error('[BMWC Kreator] Failed loading categories', err);\r\n                updateSubmitButton();\r\n            });\r\n    });\r\n\r\n    \/\/ 3. Po zmianie kategorii \u2014 za\u0142aduj subkategorie\r\n    selectCategory.addEventListener('change', function () {\r\n        state.category = parseInt(selectCategory.value, 10) || 0;\r\n        state.categoryUrl = selectCategory.options[selectCategory.selectedIndex]?.dataset.url || '';\r\n        state.subcategory = 0;\r\n        state.subcategoryUrl = '';\r\n        state.totalProducts = 0;\r\n\r\n        if (!state.category) {\r\n            selectSubcategory.innerHTML = '<option value=\"\">' + escapeHtml(i18n.subcategoryPlaceholder) + '<\/option>';\r\n            selectSubcategory.disabled = true;\r\n            updateSubmitButton();\r\n            return;\r\n        }\r\n\r\n        \/\/ Liczba produkt\u00f3w dla model+category\r\n        var categoryCount = parseInt(selectCategory.options[selectCategory.selectedIndex]?.dataset.count || '0', 10);\r\n        \/\/ Z fillSelect zapisujemy count w innym attribute, dodaj\u0119:\r\n        if (!categoryCount) {\r\n            \/\/ Warto\u015b\u0107 count jest w tek\u015bcie \"(N)\"\r\n            var match = (selectCategory.options[selectCategory.selectedIndex]?.textContent || '').match(\/\\((\\d+)\\)\/);\r\n            categoryCount = match ? parseInt(match[1], 10) : 0;\r\n        }\r\n        state.totalProducts = categoryCount;\r\n\r\n        setSelectLoading(selectSubcategory, true);\r\n        fetchStructure({ model: state.model, category: state.category })\r\n            .then(function (data) {\r\n                setSelectLoading(selectSubcategory, false);\r\n                var items = data.items || [];\r\n                if (items.length === 0) {\r\n                    selectSubcategory.innerHTML = '<option value=\"\">' + escapeHtml(i18n.allSubcategories) + '<\/option>';\r\n                    selectSubcategory.disabled = true;\r\n                } else {\r\n                    selectSubcategory.disabled = false;\r\n                    fillSelect(selectSubcategory, items, i18n.allSubcategories, true);\r\n                }\r\n                updateSubmitButton();\r\n            })\r\n            .catch(function (err) {\r\n                setSelectLoading(selectSubcategory, false);\r\n                console.error('[BMWC Kreator] Failed loading subcategories', err);\r\n                updateSubmitButton();\r\n            });\r\n    });\r\n\r\n    \/\/ 4. Subkategoria zmienia tylko URL docelowy\r\n    selectSubcategory.addEventListener('change', function () {\r\n        state.subcategory = parseInt(selectSubcategory.value, 10) || 0;\r\n        state.subcategoryUrl = selectSubcategory.options[selectSubcategory.selectedIndex]?.dataset.url || '';\r\n        var match = (selectSubcategory.options[selectSubcategory.selectedIndex]?.textContent || '').match(\/\\((\\d+)\\)\/);\r\n        if (match) {\r\n            state.totalProducts = parseInt(match[1], 10);\r\n        }\r\n        updateSubmitButton();\r\n    });\r\n\r\n    \/\/ 5. Submit \u2014 buduj URL i redirect\r\n    submitBtn.addEventListener('click', function () {\r\n        if (submitBtn.disabled) return;\r\n\r\n        var targetUrl = '';\r\n\r\n        \/\/ Priority: subcategory URL > category URL > shop URL\r\n        if (state.subcategory && state.subcategoryUrl) {\r\n            targetUrl = state.subcategoryUrl;\r\n        } else if (state.category && state.categoryUrl) {\r\n            targetUrl = state.categoryUrl;\r\n        } else {\r\n            targetUrl = shopUrl;\r\n        }\r\n\r\n        \/\/ Dodaj model jako query param (filtry sklepu rozpoznaj\u0105 ?model=X)\r\n        if (state.model) {\r\n            var sep = targetUrl.indexOf('?') === -1 ? '?' : '&';\r\n            targetUrl += sep + 'model=' + state.model;\r\n        }\r\n\r\n        window.location.href = targetUrl;\r\n    });\r\n\r\n    \/\/ Init\r\n    loadModels();\r\n})();\r\n<\/script>\n\n\n<link rel=\"stylesheet\" href=\"https:\/\/fonts.googleapis.com\/css2?family=Instrument+Sans:wght@400;500;600;700&display=swap\">\r\n\r\n<div class=\"cls-bmwc-dostawa\">\r\n    <p class=\"cls-bmwc-dostawa__tekst\"><span class=\"cls-bmwc-dostawa__badge\">\u0411\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u0430\u044f \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0430<\/span> \u043f\u043e \u041f\u043e\u043b\u044c\u0448\u0435 \u043f\u0440\u0438 \u043f\u043e\u043a\u0443\u043f\u043a\u0435 <strong>\u043e\u0442 8 000 \u0437\u043b<\/strong> &middot; \u0437\u0430 \u0433\u0440\u0430\u043d\u0438\u0446\u0443 \u043e\u0442 <strong>10 000 \u0437\u043b<\/strong><\/p>\r\n<\/div>\r\n\r\n<style>\r\n.cls-bmwc-dostawa *, .cls-bmwc-dostawa *::before, .cls-bmwc-dostawa *::after { box-sizing: border-box; margin: 0; padding: 0; }\r\n.cls-bmwc-dostawa {\r\n    font-family: 'Instrument Sans', sans-serif !important;\r\n    font-style: normal !important;\r\n    -webkit-font-smoothing: antialiased;\r\n    background: #1B1F23;\r\n    padding: 0.85rem 2rem;\r\n    text-align: center;\r\n}\r\n.cls-bmwc-dostawa__tekst {\r\n    font-family: 'Instrument Sans', sans-serif !important;\r\n    font-style: normal !important;\r\n    font-size: 0.85rem !important;\r\n    color: #9CA3AD !important;\r\n    line-height: 1.5 !important;\r\n    letter-spacing: 0.01em;\r\n}\r\n.cls-bmwc-dostawa__tekst strong {\r\n    font-weight: 600;\r\n    color: #E4E7EB !important;\r\n}\r\n.cls-bmwc-dostawa__badge {\r\n    display: inline-block;\r\n    background: #1A6DCC;\r\n    color: #FFFFFF !important;\r\n    font-weight: 600;\r\n    font-size: 0.75rem !important;\r\n    padding: 0.2rem 0.6rem;\r\n    border-radius: 3px;\r\n    letter-spacing: 0.02em;\r\n    margin-right: 0.3rem;\r\n    vertical-align: middle;\r\n}\r\n\r\n@media (max-width: 480px) {\r\n    .cls-bmwc-dostawa { padding: 0.75rem 1rem; }\r\n    .cls-bmwc-dostawa__tekst { font-size: 0.75rem !important; }\r\n    .cls-bmwc-dostawa__badge { font-size: 0.65rem !important; padding: 0.15rem 0.45rem; }\r\n}\r\n<\/style>\n\n\n\n\n\n<link rel=\"stylesheet\" href=\"https:\/\/fonts.googleapis.com\/css2?family=Instrument+Sans:wght@400;500;600;700&display=swap\">\r\n\r\n<section class=\"cls-bmwc-dlaczego\" aria-label=\"\u041f\u043e\u0447\u0435\u043c\u0443 \u0441\u0442\u043e\u0438\u0442 \u0432\u044b\u0431\u0440\u0430\u0442\u044c BMW CarParts24\">\r\n    <div class=\"cls-bmwc-dlaczego__wew\">\r\n\r\n        <div class=\"cls-bmwc-dlaczego__lewa\">\r\n            <h2 class=\"cls-bmwc-dlaczego__tytul\">\u0411\u043e\u043b\u0435\u0435 10 \u043b\u0435\u0442<br>\u0441 \u0437\u0430\u043f\u0447\u0430\u0441\u0442\u044f\u043c\u0438 BMW<\/h2>\r\n            <p class=\"cls-bmwc-dlaczego__opis\">\u041c\u044b \u043d\u0435 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0439 \u043f\u0440\u043e\u0434\u0430\u0432\u0435\u0446. \u0411\u043e\u043b\u0435\u0435 \u0434\u0435\u0441\u044f\u0442\u0438 \u043b\u0435\u0442 \u043c\u044b \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u043c\u0441\u044f \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0430 \u0437\u0430\u043f\u0447\u0430\u0441\u0442\u044f\u0445 \u0434\u043b\u044f BMW. \u0422\u044b\u0441\u044f\u0447\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u044b\u0445 \u0437\u0430\u043a\u0430\u0437\u043e\u0432, \u0441\u0442\u0430\u0442\u0443\u0441 \u0421\u0443\u043f\u0435\u0440 \u041f\u0440\u043e\u0434\u0430\u0432\u0446\u0430 \u043d\u0430 Allegro \u0438 \u0441\u043e\u0442\u043d\u0438 \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043e\u0442\u0437\u044b\u0432\u043e\u0432 \u0433\u043e\u0432\u043e\u0440\u044f\u0442 \u0441\u0430\u043c\u0438 \u0437\u0430 \u0441\u0435\u0431\u044f.<\/p>\r\n            <a href=\"https:\/\/allegro.pl\/uzytkownik\/BMW-CARPARTS24-\" target=\"_blank\" rel=\"nofollow noopener\" class=\"cls-bmwc-dlaczego__allegro-link\">\r\n                <svg viewBox=\"0 0 24 24\" width=\"18\" height=\"18\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"\/><polyline points=\"15 3 21 3 21 9\"\/><line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\"\/><\/svg>\r\n                \u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u043d\u0430\u0441 \u043d\u0430 Allegro\r\n            <\/a>\r\n        <\/div>\r\n\r\n        <div class=\"cls-bmwc-dlaczego__prawa\">\r\n\r\n            <div class=\"cls-bmwc-dlaczego__karta\">\r\n                <div class=\"cls-bmwc-dlaczego__karta-numer\">01<\/div>\r\n                <div class=\"cls-bmwc-dlaczego__karta-tresc\">\r\n                    <h3 class=\"cls-bmwc-dlaczego__karta-tytul\">\u0421\u0443\u043f\u0435\u0440 \u041f\u0440\u043e\u0434\u0430\u0432\u0435\u0446 Allegro<\/h3>\r\n                    <p class=\"cls-bmwc-dlaczego__karta-opis\">\u0412\u044b\u0441\u0448\u0438\u0439 \u0441\u0442\u0430\u0442\u0443\u0441 \u0434\u043e\u0432\u0435\u0440\u0438\u044f \u043d\u0430 \u043a\u0440\u0443\u043f\u043d\u0435\u0439\u0448\u0435\u0439 e-commerce \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 \u0432 \u041f\u043e\u043b\u044c\u0448\u0435. \u041f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u0434\u0430\u0432\u0446\u0430\u043c \u0441 \u043b\u0443\u0447\u0448\u0438\u043c \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u0435\u043c \u0438 \u0441\u0432\u043e\u0435\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0441\u0442\u044c\u044e.<\/p>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"cls-bmwc-dlaczego__karta\">\r\n                <div class=\"cls-bmwc-dlaczego__karta-numer\">02<\/div>\r\n                <div class=\"cls-bmwc-dlaczego__karta-tresc\">\r\n                    <h3 class=\"cls-bmwc-dlaczego__karta-tytul\">100% \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043e\u0442\u0437\u044b\u0432\u043e\u0432<\/h3>\r\n                    <p class=\"cls-bmwc-dlaczego__karta-opis\">\u0421\u043e\u0442\u043d\u0438 \u043e\u0446\u0435\u043d\u043e\u043a \u0438 \u043a\u0430\u0436\u0434\u0430\u044f \u0438\u0437 \u043d\u0438\u0445 \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f. \u041d\u0430\u0448\u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u044b \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0442\u0441\u044f, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0437\u043d\u0430\u044e\u0442, \u0447\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0430\u0442 \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u043e, \u0447\u0442\u043e \u0438\u043c \u043d\u0443\u0436\u043d\u043e \u2014 \u0431\u044b\u0441\u0442\u0440\u043e \u0438 \u0431\u0435\u0437 \u0441\u044e\u0440\u043f\u0440\u0438\u0437\u043e\u0432.<\/p>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"cls-bmwc-dlaczego__karta\">\r\n                <div class=\"cls-bmwc-dlaczego__karta-numer\">03<\/div>\r\n                <div class=\"cls-bmwc-dlaczego__karta-tresc\">\r\n                    <h3 class=\"cls-bmwc-dlaczego__karta-tytul\">\u0421\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u044b \u043f\u043e BMW<\/h3>\r\n                    <p class=\"cls-bmwc-dlaczego__karta-opis\">\u041c\u044b \u0437\u043d\u0430\u0435\u043c \u043a\u0430\u0436\u0434\u0443\u044e \u0441\u0435\u0440\u0438\u044e, \u043a\u0430\u0436\u0434\u044b\u0439 \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044c \u0438 \u043a\u0430\u0436\u0434\u044b\u0439 OE-\u043d\u043e\u043c\u0435\u0440. \u0411\u043e\u043b\u0435\u0435 10 \u043b\u0435\u0442 \u043e\u043f\u044b\u0442\u0430 \u043e\u0437\u043d\u0430\u0447\u0430\u044e\u0442, \u0447\u0442\u043e \u043c\u044b \u043f\u043e\u0434\u0431\u0435\u0440\u0435\u043c \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u0443\u044e \u0434\u0435\u0442\u0430\u043b\u044c \u0441 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0440\u0430\u0437\u0430.<\/p>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"cls-bmwc-dlaczego__karta\">\r\n                <div class=\"cls-bmwc-dlaczego__karta-numer\">04<\/div>\r\n                <div class=\"cls-bmwc-dlaczego__karta-tresc\">\r\n                    <h3 class=\"cls-bmwc-dlaczego__karta-tytul\">\u041e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 24 \u0447\u0430\u0441\u043e\u0432<\/h3>\r\n                    <p class=\"cls-bmwc-dlaczego__karta-opis\">\u0417\u0430\u043a\u0430\u0437, \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u043d\u044b\u0439 \u0434\u043e 14:00, \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u0442 \u0436\u0435 \u0434\u0435\u043d\u044c. \u0411\u0435\u0437 \u043b\u0438\u0448\u043d\u0435\u0433\u043e \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f \u2014 \u0432\u0430\u0448 BMW \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u0430\u0438\u0432\u0430\u0442\u044c \u0432 \u0433\u0430\u0440\u0430\u0436\u0435.<\/p>\r\n                <\/div>\r\n            <\/div>\r\n\r\n        <\/div>\r\n\r\n    <\/div>\r\n<\/section>\r\n\r\n<style>\r\n.cls-bmwc-dlaczego *, .cls-bmwc-dlaczego *::before, .cls-bmwc-dlaczego *::after { box-sizing: border-box; margin: 0; padding: 0; }\r\n.cls-bmwc-dlaczego {\r\n    font-family: 'Instrument Sans', sans-serif !important;\r\n    font-style: normal !important;\r\n    -webkit-font-smoothing: antialiased;\r\n    background: #FFFFFF;\r\n    padding: 6rem 2rem 6.5rem;\r\n}\r\n.cls-bmwc-dlaczego a { text-decoration: none !important; }\r\n.cls-bmwc-dlaczego h2, .cls-bmwc-dlaczego h3 { margin: 0; line-height: 1.2; font-style: normal !important; }\r\n.cls-bmwc-dlaczego p { margin: 0; font-style: normal !important; }\r\n\r\n.cls-bmwc-dlaczego__wew { max-width: 1400px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1.3fr; gap: 5rem; align-items: start; }\r\n\r\n.cls-bmwc-dlaczego__lewa { position: sticky; top: 8rem; }\r\n.cls-bmwc-dlaczego__tytul { font-family: 'Instrument Sans', sans-serif !important; font-style: normal !important; font-size: clamp(2rem, 4vw, 3rem) !important; font-weight: 700 !important; color: #1B1F23 !important; letter-spacing: -0.03em; margin-bottom: 1.5rem !important; line-height: 1.1 !important; }\r\n.cls-bmwc-dlaczego__opis { font-family: 'Instrument Sans', sans-serif !important; font-style: normal !important; font-size: 0.95rem !important; line-height: 1.75 !important; color: #6E757E !important; margin-bottom: 2rem !important; max-width: 420px; }\r\n.cls-bmwc-dlaczego__allegro-link { display: inline-flex; align-items: center; gap: 0.5rem; font-family: 'Instrument Sans', sans-serif !important; font-style: normal !important; font-size: 0.85rem !important; font-weight: 600; color: #1A6DCC !important; padding: 0.7rem 1.4rem; border: 1px solid #1A6DCC; border-radius: 4px; transition: background 0.28s cubic-bezier(0.25, 0, 0.25, 1), color 0.28s cubic-bezier(0.25, 0, 0.25, 1); }\r\n.cls-bmwc-dlaczego__allegro-link:hover { background: #1A6DCC; color: #FFFFFF !important; }\r\n.cls-bmwc-dlaczego__allegro-link svg { transition: transform 0.28s cubic-bezier(0.25, 0, 0.25, 1); }\r\n.cls-bmwc-dlaczego__allegro-link:hover svg { transform: translate(2px, -2px); }\r\n\r\n.cls-bmwc-dlaczego__prawa { display: flex; flex-direction: column; gap: 0; }\r\n.cls-bmwc-dlaczego__karta { display: flex; gap: 1.8rem; padding: 2.2rem 0; border-bottom: 1px solid #ECEEF0; align-items: flex-start; transition: padding-left 0.3s cubic-bezier(0.25, 0, 0.25, 1); }\r\n.cls-bmwc-dlaczego__karta:first-child { padding-top: 0; }\r\n.cls-bmwc-dlaczego__karta:last-child { border-bottom: none; padding-bottom: 0; }\r\n.cls-bmwc-dlaczego__karta:hover { padding-left: 0.6rem; }\r\n.cls-bmwc-dlaczego__karta:hover .cls-bmwc-dlaczego__karta-numer { color: #1A6DCC !important; }\r\n\r\n.cls-bmwc-dlaczego__karta-numer { font-family: 'Instrument Sans', sans-serif !important; font-style: normal !important; font-size: 2.5rem !important; font-weight: 700; color: #E5E7EB !important; line-height: 1; flex-shrink: 0; width: 60px; letter-spacing: -0.04em; }\r\n.cls-bmwc-dlaczego__karta-tresc { flex: 1; }\r\n.cls-bmwc-dlaczego__karta-tytul { font-family: 'Instrument Sans', sans-serif !important; font-style: normal !important; font-size: 1.05rem !important; font-weight: 600 !important; color: #1B1F23 !important; margin-bottom: 0.5rem !important; line-height: 1.3 !important; }\r\n.cls-bmwc-dlaczego__karta-opis { font-family: 'Instrument Sans', sans-serif !important; font-style: normal !important; font-size: 0.88rem !important; line-height: 1.7 !important; color: #6E757E !important; }\r\n\r\n@media (max-width: 1024px) { .cls-bmwc-dlaczego__wew { gap: 3rem; } .cls-bmwc-dlaczego { padding: 4.5rem 1.5rem 5rem; } }\r\n@media (max-width: 768px) { .cls-bmwc-dlaczego__wew { grid-template-columns: 1fr; gap: 2.5rem; } .cls-bmwc-dlaczego__lewa { position: static; } .cls-bmwc-dlaczego__opis { max-width: 100%; } .cls-bmwc-dlaczego { padding: 3.5rem 1.25rem 4rem; } }\r\n@media (max-width: 480px) { .cls-bmwc-dlaczego__karta { gap: 1.2rem; } .cls-bmwc-dlaczego__karta-numer { font-size: 2rem !important; width: 44px; } .cls-bmwc-dlaczego { padding: 3rem 1rem 3.5rem; } }\r\n<\/style>\n\n\n    <link rel=\"stylesheet\" href=\"https:\/\/fonts.googleapis.com\/css2?family=Instrument+Sans:wght@400;500;600;700&display=swap\">\n\n    <section class=\"cls-bmwc-best\">\n        <div class=\"cls-bmwc-best__wew\">\n            <div class=\"cls-bmwc-best__naglowek\">\n                <h2 class=\"cls-bmwc-best__tytul\">\u0411\u0435\u0441\u0442\u0441\u0435\u043b\u043b\u0435\u0440\u044b<\/h2>\n                <p class=\"cls-bmwc-best__podtytul\">\u0421\u0430\u043c\u044b\u0435 \u043f\u043e\u043a\u0443\u043f\u0430\u0435\u043c\u044b\u0435 \u0437\u0430\u043f\u0447\u0430\u0441\u0442\u0438 \u043d\u0430\u0448\u0438\u043c\u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c\u0438<\/p>\n            <\/div>\n\n            <div class=\"cls-bmwc-best__siatka\">\n                                <a href=\"https:\/\/bmwparts24.pl\/ru\/produkt\/podlokietnik-skora-nappa-oyster-szara-nic-bmw-5-g30-g31-lci-ideal-2\/\" class=\"cls-bmwc-best__karta\">\n                    <div class=\"cls-bmwc-best__obraz\">\n                        <img decoding=\"async\" src=\"https:\/\/bmwparts24.pl\/wp-content\/uploads\/2026\/05\/ftech_img_-lGuDAh.tmp_-225x300.webp\" alt=\"ARMREST LEATHER NAPPA OYSTER GREY THREAD BMW 5 G30 G31 LCI PERFECT CONDITION\" loading=\"lazy\">\n                    <\/div>\n                    <div class=\"cls-bmwc-best__tresc\">\n                                                    <span class=\"cls-bmwc-best__sku\">_18581644865<\/span>\n                                                <h3 class=\"cls-bmwc-best__nazwa\">ARMREST LEATHER NAPPA OYSTER GREY THREAD BMW 5 G30 G31 LCI PERFECT CONDITION<\/h3>\n                        <div class=\"cls-bmwc-best__cena\"><span class=\"woocommerce-Price-amount amount\">475,00&nbsp;<span class=\"woocommerce-Price-currencySymbol\">&#122;&#322;<\/span><\/span><\/div>\n                        <span class=\"cls-bmwc-best__cta\">\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0442\u043e\u0432\u0430\u0440 \u2192<\/span>\n                    <\/div>\n                <\/a>\n                                <a href=\"https:\/\/bmwparts24.pl\/ru\/produkt\/mirror-right-5-pin-assistant-shadow-line-bmw-x3-g01-color-a90\/\" class=\"cls-bmwc-best__karta\">\n                    <div class=\"cls-bmwc-best__obraz\">\n                        <img decoding=\"async\" src=\"https:\/\/bmwparts24.pl\/wp-content\/uploads\/2026\/05\/ftech_img_-1Z0tc3.tmp_-300x225.webp\" alt=\"MIRROR RIGHT 5 PIN ASSISTANT SHADOW LINE BMW X3 G01 COLOR A90\" loading=\"lazy\">\n                    <\/div>\n                    <div class=\"cls-bmwc-best__tresc\">\n                                                    <span class=\"cls-bmwc-best__sku\">_18550555200<\/span>\n                                                <h3 class=\"cls-bmwc-best__nazwa\">MIRROR RIGHT 5 PIN ASSISTANT SHADOW LINE BMW X3 G01 COLOR A90<\/h3>\n                        <div class=\"cls-bmwc-best__cena\"><span class=\"woocommerce-Price-amount amount\">1 300,00&nbsp;<span class=\"woocommerce-Price-currencySymbol\">&#122;&#322;<\/span><\/span><\/div>\n                        <span class=\"cls-bmwc-best__cta\">\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0442\u043e\u0432\u0430\u0440 \u2192<\/span>\n                    <\/div>\n                <\/a>\n                                <a href=\"https:\/\/bmwparts24.pl\/ru\/produkt\/cover-interior-mirror-bmw-5-g30-g31-lci\/\" class=\"cls-bmwc-best__karta\">\n                    <div class=\"cls-bmwc-best__obraz\">\n                        <img decoding=\"async\" src=\"https:\/\/bmwparts24.pl\/wp-content\/uploads\/2026\/05\/ftech_img_-45oLMf.tmp_-300x225.webp\" alt=\"COVER INTERIOR MIRROR BMW 5 G30 G31 LCI\" loading=\"lazy\">\n                    <\/div>\n                    <div class=\"cls-bmwc-best__tresc\">\n                                                    <span class=\"cls-bmwc-best__sku\">_18594897129<\/span>\n                                                <h3 class=\"cls-bmwc-best__nazwa\">COVER INTERIOR MIRROR BMW 5 G30 G31 LCI<\/h3>\n                        <div class=\"cls-bmwc-best__cena\"><span class=\"woocommerce-Price-amount amount\">95,00&nbsp;<span class=\"woocommerce-Price-currencySymbol\">&#122;&#322;<\/span><\/span><\/div>\n                        <span class=\"cls-bmwc-best__cta\">\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0442\u043e\u0432\u0430\u0440 \u2192<\/span>\n                    <\/div>\n                <\/a>\n                                <a href=\"https:\/\/bmwparts24.pl\/produkt\/uklad-wtryskowy-wtryski-pompa-bmw-x5-g05-g06-g07-lci-3-0d-b57d30b-24r-36km\/\" class=\"cls-bmwc-best__karta\">\n                    <div class=\"cls-bmwc-best__obraz\">\n                        <img decoding=\"async\" src=\"https:\/\/bmwparts24.pl\/wp-content\/uploads\/2026\/08\/ftech_img_-46NuFs.tmp_-300x225.webp\" alt=\"UK\u0141AD WTRYSKOWY WTRYSKI POMPA BMW X5 G05 G06 G07 LCI 3.0D B57D30B 24R 36KM\" loading=\"lazy\">\n                    <\/div>\n                    <div class=\"cls-bmwc-best__tresc\">\n                                                    <span class=\"cls-bmwc-best__sku\">BDF6_18807842061<\/span>\n                                                <h3 class=\"cls-bmwc-best__nazwa\">UK\u0141AD WTRYSKOWY WTRYSKI POMPA BMW X5 G05 G06 G07 LCI 3.0D B57D30B 24R 36KM<\/h3>\n                        <div class=\"cls-bmwc-best__cena\"><span class=\"woocommerce-Price-amount amount\">6 100,00&nbsp;<span class=\"woocommerce-Price-currencySymbol\">&#122;&#322;<\/span><\/span><\/div>\n                        <span class=\"cls-bmwc-best__cta\">\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0442\u043e\u0432\u0430\u0440 \u2192<\/span>\n                    <\/div>\n                <\/a>\n                                <a href=\"https:\/\/bmwparts24.pl\/ru\/produkt\/radiator-otrabotavshih-gazov-egr-bmw-x5-g05-lci-3-0d-b57d30b-24r-36km\/\" class=\"cls-bmwc-best__karta\">\n                    <div class=\"cls-bmwc-best__obraz\">\n                        <img decoding=\"async\" src=\"https:\/\/bmwparts24.pl\/wp-content\/uploads\/2026\/07\/ftech_img_-ywZ1sO.tmp_-300x225.webp\" alt=\"\u0420\u0410\u0414\u0418\u0410\u0422\u041e\u0420 \u041e\u0422\u0420\u0410\u0411\u041e\u0422\u0410\u0412\u0428\u0418\u0425 \u0413\u0410\u0417\u041e\u0412 EGR BMW X5 G05 LCI 3.0D B57D30B 24R 36KM\" loading=\"lazy\">\n                    <\/div>\n                    <div class=\"cls-bmwc-best__tresc\">\n                                                    <span class=\"cls-bmwc-best__sku\">_18804540520<\/span>\n                                                <h3 class=\"cls-bmwc-best__nazwa\">\u0420\u0410\u0414\u0418\u0410\u0422\u041e\u0420 \u041e\u0422\u0420\u0410\u0411\u041e\u0422\u0410\u0412\u0428\u0418\u0425 \u0413\u0410\u0417\u041e\u0412 EGR BMW X5 G05 LCI 3.0D B57D30B 24R 36KM<\/h3>\n                        <div class=\"cls-bmwc-best__cena\"><span class=\"woocommerce-Price-amount amount\">1 100,00&nbsp;<span class=\"woocommerce-Price-currencySymbol\">&#122;&#322;<\/span><\/span><\/div>\n                        <span class=\"cls-bmwc-best__cta\">\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0442\u043e\u0432\u0430\u0440 \u2192<\/span>\n                    <\/div>\n                <\/a>\n                                <a href=\"https:\/\/bmwparts24.pl\/ru\/produkt\/kompressor-konditsionera-bmw-x5-g05-lci-3-0d-b57d30b-24r-36km\/\" class=\"cls-bmwc-best__karta\">\n                    <div class=\"cls-bmwc-best__obraz\">\n                        <img decoding=\"async\" src=\"https:\/\/bmwparts24.pl\/wp-content\/uploads\/2026\/07\/ftech_img_-eaoGJ0.tmp_-300x225.webp\" alt=\"\u041a\u041e\u041c\u041f\u0420\u0415\u0421\u0421\u041e\u0420 \u041a\u041e\u041d\u0414\u0418\u0426\u0418\u041e\u041d\u0415\u0420\u0410 BMW X5 G05 LCI 3.0D B57D30B 24R 36KM\" loading=\"lazy\">\n                    <\/div>\n                    <div class=\"cls-bmwc-best__tresc\">\n                                                    <span class=\"cls-bmwc-best__sku\">_18804559527<\/span>\n                                                <h3 class=\"cls-bmwc-best__nazwa\">\u041a\u041e\u041c\u041f\u0420\u0415\u0421\u0421\u041e\u0420 \u041a\u041e\u041d\u0414\u0418\u0426\u0418\u041e\u041d\u0415\u0420\u0410 BMW X5 G05 LCI 3.0D B57D30B 24R 36KM<\/h3>\n                        <div class=\"cls-bmwc-best__cena\"><span class=\"woocommerce-Price-amount amount\">1 350,00&nbsp;<span class=\"woocommerce-Price-currencySymbol\">&#122;&#322;<\/span><\/span><\/div>\n                        <span class=\"cls-bmwc-best__cta\">\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0442\u043e\u0432\u0430\u0440 \u2192<\/span>\n                    <\/div>\n                <\/a>\n                                <a href=\"https:\/\/bmwparts24.pl\/ru\/produkt\/vodyanoj-nasos-bmw-x5-g05-lci-3-0d-b57d30b-24r-36km\/\" class=\"cls-bmwc-best__karta\">\n                    <div class=\"cls-bmwc-best__obraz\">\n                        <img decoding=\"async\" src=\"https:\/\/bmwparts24.pl\/wp-content\/uploads\/2026\/07\/ftech_img_-jvGSiI.tmp_-300x225.webp\" alt=\"\u0412\u041e\u0414\u042f\u041d\u041e\u0419 \u041d\u0410\u0421\u041e\u0421 BMW X5 G05 LCI 3.0D B57D30B 24R 36KM\" loading=\"lazy\">\n                    <\/div>\n                    <div class=\"cls-bmwc-best__tresc\">\n                                                    <span class=\"cls-bmwc-best__sku\">_18804574385<\/span>\n                                                <h3 class=\"cls-bmwc-best__nazwa\">\u0412\u041e\u0414\u042f\u041d\u041e\u0419 \u041d\u0410\u0421\u041e\u0421 BMW X5 G05 LCI 3.0D B57D30B 24R 36KM<\/h3>\n                        <div class=\"cls-bmwc-best__cena\"><span class=\"woocommerce-Price-amount amount\">1 250,00&nbsp;<span class=\"woocommerce-Price-currencySymbol\">&#122;&#322;<\/span><\/span><\/div>\n                        <span class=\"cls-bmwc-best__cta\">\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0442\u043e\u0432\u0430\u0440 \u2192<\/span>\n                    <\/div>\n                <\/a>\n                                <a href=\"https:\/\/bmwparts24.pl\/produkt\/podstawa-chlodniczka-filtra-oleju-bmw-x5-g05-lci-3-0d-b57d30b-24r-36km\/\" class=\"cls-bmwc-best__karta\">\n                    <div class=\"cls-bmwc-best__obraz\">\n                        <img decoding=\"async\" src=\"https:\/\/bmwparts24.pl\/wp-content\/uploads\/2026\/07\/ftech_img_-NFbbEY.tmp_-225x300.webp\" alt=\"PODSTAWA CH\u0141ODNICZKA FILTRA OLEJU BMW X5 G05 LCI 3.0D B57D30B 24R 36KM\" loading=\"lazy\">\n                    <\/div>\n                    <div class=\"cls-bmwc-best__tresc\">\n                                                    <span class=\"cls-bmwc-best__sku\">_18804602155<\/span>\n                                                <h3 class=\"cls-bmwc-best__nazwa\">PODSTAWA CH\u0141ODNICZKA FILTRA OLEJU BMW X5 G05 LCI 3.0D B57D30B 24R 36KM<\/h3>\n                        <div class=\"cls-bmwc-best__cena\"><span class=\"woocommerce-Price-amount amount\">425,00&nbsp;<span class=\"woocommerce-Price-currencySymbol\">&#122;&#322;<\/span><\/span><\/div>\n                        <span class=\"cls-bmwc-best__cta\">\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0442\u043e\u0432\u0430\u0440 \u2192<\/span>\n                    <\/div>\n                <\/a>\n                            <\/div>\n        <\/div>\n    <\/section>\n\n    <style>\n    .cls-bmwc-best *, .cls-bmwc-best *::before, .cls-bmwc-best *::after { box-sizing: border-box; margin: 0; padding: 0; }\n    .cls-bmwc-best {\n        font-family: 'Instrument Sans', sans-serif !important;\n        background: #FFFFFF;\n        padding: 5rem 2rem 5.5rem;\n    }\n    .cls-bmwc-best a { text-decoration: none !important; color: inherit; }\n    .cls-bmwc-best h2, .cls-bmwc-best h3 { margin: 0; line-height: 1.3; }\n    .cls-bmwc-best p { margin: 0; }\n    .cls-bmwc-best__wew { max-width: 1400px; margin: 0 auto; }\n    .cls-bmwc-best__naglowek { margin-bottom: 2.5rem; text-align: center; }\n    .cls-bmwc-best__tytul {\n        font-size: clamp(1.6rem, 3.5vw, 2.4rem) !important;\n        font-weight: 700 !important;\n        color: #1B1F23 !important;\n        letter-spacing: -0.02em;\n        margin-bottom: 0.5rem !important;\n    }\n    .cls-bmwc-best__podtytul {\n        font-size: 0.95rem !important;\n        color: #6E757E !important;\n        line-height: 1.6 !important;\n    }\n\n    .cls-bmwc-best__siatka {\n        display: grid;\n        grid-template-columns: repeat(4, 1fr);\n        gap: 1.25rem;\n    }\n\n    .cls-bmwc-best__karta {\n        display: flex;\n        flex-direction: column;\n        background: #FFFFFF;\n        border: 1px solid #E5E7EB;\n        border-radius: 8px;\n        overflow: hidden;\n        transition: border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;\n    }\n    .cls-bmwc-best__karta:hover {\n        border-color: #1A6DCC;\n        transform: translateY(-3px);\n        box-shadow: 0 6px 20px rgba(26, 109, 204, 0.12);\n    }\n\n    .cls-bmwc-best__obraz {\n        aspect-ratio: 4\/3;\n        overflow: hidden;\n        background: #F5F5F4;\n    }\n    .cls-bmwc-best__obraz img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }\n    .cls-bmwc-best__karta:hover .cls-bmwc-best__obraz img { transform: scale(1.05); }\n\n    .cls-bmwc-best__tresc { padding: 1rem 1.1rem 1.2rem; display: flex; flex-direction: column; flex: 1; }\n\n    .cls-bmwc-best__sku {\n        font-size: 0.7rem !important;\n        color: #B0B7BF !important;\n        text-transform: uppercase;\n        letter-spacing: 0.05em;\n        margin-bottom: 0.3rem;\n        font-weight: 600;\n    }\n\n    .cls-bmwc-best__nazwa {\n        font-size: 0.95rem !important;\n        font-weight: 600 !important;\n        color: #1B1F23 !important;\n        line-height: 1.3 !important;\n        margin-bottom: 0.6rem !important;\n        display: -webkit-box;\n        -webkit-line-clamp: 2;\n        -webkit-box-orient: vertical;\n        overflow: hidden;\n    }\n\n    .cls-bmwc-best__cena {\n        font-size: 1.05rem !important;\n        font-weight: 700 !important;\n        color: #1A6DCC !important;\n        margin-bottom: 0.8rem;\n    }\n    .cls-bmwc-best__cena bdi { color: inherit !important; font-weight: inherit !important; }\n    .cls-bmwc-best__cena del { color: #B0B7BF !important; font-weight: 400 !important; font-size: 0.85rem !important; }\n    .cls-bmwc-best__cena ins { text-decoration: none !important; }\n\n    .cls-bmwc-best__cta {\n        margin-top: auto;\n        font-size: 0.82rem !important;\n        font-weight: 600 !important;\n        color: #6E757E !important;\n        transition: color 0.2s ease;\n    }\n    .cls-bmwc-best__karta:hover .cls-bmwc-best__cta { color: #1A6DCC !important; }\n\n    @media (max-width: 1024px) { .cls-bmwc-best__siatka { grid-template-columns: repeat(3, 1fr); } }\n    @media (max-width: 768px)  { .cls-bmwc-best__siatka { grid-template-columns: repeat(2, 1fr); } .cls-bmwc-best { padding: 3.5rem 1.25rem; } }\n    @media (max-width: 480px)  { .cls-bmwc-best__siatka { grid-template-columns: 1fr; } }\n    <\/style>\n    \n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-36686","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/bmwparts24.pl\/ru\/wp-json\/wp\/v2\/pages\/36686","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bmwparts24.pl\/ru\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/bmwparts24.pl\/ru\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/bmwparts24.pl\/ru\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bmwparts24.pl\/ru\/wp-json\/wp\/v2\/comments?post=36686"}],"version-history":[{"count":0,"href":"https:\/\/bmwparts24.pl\/ru\/wp-json\/wp\/v2\/pages\/36686\/revisions"}],"wp:attachment":[{"href":"https:\/\/bmwparts24.pl\/ru\/wp-json\/wp\/v2\/media?parent=36686"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}