!function(){const t=window.customDataCart;if(!t)return;const c=".cst-catalog__filters--mobile ",e=".cst-catalog__filters-title",s="#root-catalog",a=".cst-catalog__filter-button",n=".cst-catalog__product",o=".cst-catalog__filter-button--reset",l="cst-catalog__filters--open",r="cst-catalog__filter-button--active",i="hidden",d="mobile",u="desktop",_={currentFilter:null};function m(){return window.innerWidth<=768}const p=t=>{const c=document.querySelector(".cst-catalog__filters");"add"===t&&c?c.classList.add("cst-catalog__filters--mobile"):"remove"===t&&c&&c.classList.remove("cst-catalog__filters--mobile")},g=()=>{var t;t=()=>{p("add")},m()&&t(),function(t){m()||t()}((()=>{p("remove")})),window.addEventListener("resize",(()=>{m()?p("add"):p("remove")}))},v=t=>`\n            <div class="cst-catalog__header-inner cst-catalog__header-inner--${t===d?d:u}">\n                <div class="cst-catalog__header">\n                    <p class="cst-catalog__title">Авторские материалы</p>\n                </div>\n                <div class="cst-catalog__description">\n                    <p class="cst-catalog__text">\n                        &laquo;Неважно, на&nbsp;каком этапе вы&nbsp;сейчас&nbsp;&mdash; только начинаете путь или давно\n                        практикуете. В&nbsp;наших курсах\n                        вы&nbsp;найдёте знания, которые помогут углубить практику и&nbsp;выйти на&nbsp;новый уровень\n                        осознанности&raquo;.\n                    </p>\n                </div>\n            </div>`,f=t=>{const c=(t=>{const c=t.map((t=>t.tags));return[...new Set((e=c,e.flat(1/0)))];var e})(t);return`\n            <div class="cst-catalog__filters">\n                <p class="cst-catalog__filters-title">Поиск по&nbsp;темам:</p>\n                <div class="cst-catalog__filters-buttons">\n                    ${c.map((t=>{return`<button class="cst-reset-btn cst-catalog__filter-button ${!1?r:""}" data-filter="${c=t}">${c}</button>`;var c})).join("")}\n                    <button class="cst-reset-btn cst-catalog__filter-button cst-catalog__filter-button--reset ${i}">Сбросить</button>\n                </div>\n            </div>`},b=()=>{const t=document.querySelectorAll(n);null!==_.currentFilter?t.forEach((t=>{t.dataset.theme.split(",").map((t=>t.trim())).includes(_.currentFilter)?(t.classList.add("cst-catalog__product--visible"),t.classList.remove("cst-catalog__product--hidden")):(t.classList.remove("cst-catalog__product--visible"),t.classList.add("cst-catalog__product--hidden"))})):t.forEach((t=>{t.classList.add("cst-catalog__product--visible"),t.classList.remove("cst-catalog__product--hidden")}))},y=()=>{const t=document.querySelectorAll(a);document.querySelector(o);_.currentFilter=null,t.forEach((t=>{t.classList.remove(r)})),b()},h=()=>{const t=document.querySelector(c),e=document.querySelectorAll(a),s=document.querySelector(o);e.forEach((c=>{c.classList.contains("cst-catalog__filter-button--reset")||c.addEventListener("click",(()=>{((t,c)=>{const e=document.querySelectorAll(a);document.querySelector(o),_.currentFilter!==t?(e.forEach((t=>{t.classList.remove(r)})),c.classList.add(r),_.currentFilter=t,b()):y()})(c.dataset.filter,c),t.classList.remove("cst-catalog__filters--open")}))})),s&&s.addEventListener("click",y)};(()=>{const c=document.querySelector(s);var e;c&&c.insertAdjacentHTML("beforeend",(e=t,`\n            <section class="cst-catalog">\n                <div class="cst-catalog__container">\n                    <div class="cst-catalog__column cst-catalog__column--filters">\n                        ${v(d)}\n                        ${f(e)}\n                    </div>\n                    <div class="cst-catalog__column cst-catalog__column--content">\n                        ${v(u)}\n                        <div class="cst-catalog__products">\n                            ${(t=>t.map((t=>(t=>{const{img:c,description:e,link:s,modal:a,tags:n,popupTag:o,price:l}=t;return`\n            <div class="cst-catalog__product" data-theme="${n}">\n                <div class="cst-catalog__product-image" data-modal="${a}">\n                    <img class="cst-catalog__image" src="${c}" alt="${e}">\n                </div>\n                <div class="cst-catalog__product-info">\n                    <p class="cst-catalog__product-title">${e}</p>\n                    <div class="cst-catalog__product-link-wrapper">\n                        <p class="cst-catalog__product-tag">${o}</p>\n                        \n                        <div class="cst-catalog__product-inner">\n                            <p class="cst-catalog__product-price">${l}</p>\n                            <a class="cst-catalog__product-link cst-reset-btn" href="${s}">Подробнее</a>\n                        </div>\n                    </div>\n                </div>\n            </div>`})(t))).join(""))(e)}\n                        </div>\n                    </div>\n                </div>\n            </section>`))})(),g(),h(),(()=>{const t=document.querySelector(c),s=document.querySelector(e);t&&s&&s.addEventListener("click",(()=>{t.classList.toggle(l)}))})()}(),function(){const t=window.customDataCart;if(!t)return;const c="#recommended-root",e=".cst-catalog__product",s=".modal-overlay",a=()=>{document.querySelectorAll(e).forEach((t=>{const c=t.querySelector(".cst-catalog__product-image");if(c){const t=c.dataset.modalTrigger;t&&(c.addEventListener("click",(()=>(t=>{if(!t)return;const c=document.getElementById(t);if(!c)return;let e=document.querySelector(s);e||(e=document.createElement("div"),e.className="modal-overlay",document.body.appendChild(e)),c.style.display="block",e.style.display="block";const a=()=>{c.style.display="none",e.style.display="none",e.removeEventListener("click",a)};e.addEventListener("click",a)})(t))),c.style.cursor="pointer")}const e=t.querySelector(".cst-catalog__product-link");e&&e.addEventListener("click",(t=>{t.stopPropagation()}))}))},n=()=>{const e=document.querySelector(c);if(!e)return;const s=document.querySelector(".cst-product-block");if(!s)return;const n=Number(s.querySelector("label.form-position")?.dataset.offerId),o=t.filter((t=>t.idOffer===n));if(0===o.length)return;const l=o[0].recommendedOffers;if(0===l.length)return;const r=new Map(t.map((t=>[t.idOffer,t]))),i=l.map((t=>r.get(t))).filter(Boolean);e.innerHTML=(t=>0===t.length?"":`\n            <section class="cst-recommended">\n                <div class="cst-recommended__container">\n                    <h2 class="cst-recommended__title"><span>Рекомендуем</span></h2>\n                    <div class="cst-recommended__products">\n                        ${t.map((t=>(t=>{const{img:c,description:e,link:s,recommendedModal:a,tags:n}=t;return`\n            <div class="cst-catalog__product" data-theme="${n}" data-modal="${a}">\n                <div class="cst-catalog__product-image" data-modal-trigger="${a}">\n                    <img class="cst-catalog__image" src="${c}" alt="${e}">\n                </div>\n                <div class="cst-catalog__product-info">\n                    <p class="cst-catalog__product-title">${e}</p>\n                    <div class="cst-catalog__product-link-wrapper">\n                        <a class="cst-catalog__product-link cst-reset-btn" href="${s}">Подробнее</a>\n                    </div>\n                </div>\n            </div>`})(t))).join("")}\n                    </div>\n                </div>\n            </section>`)(i),a()};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",n):n()}();