(function(){if(window.__civiusStoreActionsLoaded)return;window.__civiusStoreActionsLoaded=!0;const l=window.CiviusData?.store;if(!l)throw new Error("[civius] canonical runtime must load before site-store-actions.js");const f=l.keys.favorites,p=l.keys.cart,S=l.keys.cartQuantities,C=l.keys.homeServiceSelections,T=(e,t=document)=>t.querySelector(e),g=(e,t=document)=>Array.from(t.querySelectorAll(e)),k='';function m(e,t={}){window.CiviusMetrika?.goal?.(e,t)}function n(e){return l.canonicalServiceId(e)}function E(e,t){try{return JSON.parse(window.localStorage.getItem(e)||"")??t}catch{return t}}function j(e){try{window.dispatchEvent(new CustomEvent("civius:store-change",{detail:{key:e}}))}catch{}try{window.dispatchEvent(new StorageEvent("storage",{key:e}))}catch{window.dispatchEvent(new Event("storage"))}}function b(e,t){window.localStorage.setItem(e,JSON.stringify(t)),j(e)}function o(e){const t=E(e,[]);return Array.isArray(t)?t.map(n).filter(Boolean):[]}function M(e,t){b(e,Array.from(new Set((Array.isArray(t)?t:[]).map(n).filter(Boolean))))}function h(){const e=E(S,{});if(!e||typeof e!="object"||Array.isArray(e))return{};const t={};return Object.entries(e).forEach(([i,r])=>{const a=n(i),c=Math.max(0,Number(r||0));a&&c>0&&(t[a]=Math.max(0,Number(t[a]||0))+c)}),t}function I(e){const t={};Object.entries(e||{}).forEach(([i,r])=>{const a=n(i),c=Math.max(0,Number(r||0));a&&c>0&&(t[a]=Math.max(0,Number(t[a]||0))+c)}),b(S,t),M(p,Object.keys(t))}function B(){const e=E(C,{});return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}function w(e,t,i){const r=B(),a=r[e]&&typeof r[e]=="object"?{...r[e]}:{};i?a[t]=i:delete a[t],b(C,{...r,[e]:a})}function _(e,t,i){const r=e.closest(".civius-home-page [data-service-card][data-service-instance-id]");if(!r)return!0;const a=r.getAttribute("data-service-instance-id")||"",c=B()?.[t]?.[i]||"";return c?c===a:Array.from(document.querySelectorAll(".civius-home-page [data-service-card][data-service-instance-id]")).find(v=>v.getAttribute("data-service-id")===i)===r}function Q(){const e=h();return Object.values(e).reduce((i,r)=>i+Math.max(0,Number(r||0)),0)||o(p).length}function y(e){const t=h();return Math.max(0,Number(t[n(e)]||0))}function x(e,t){if(e=n(e),!e)return;const i=h(),r=Math.max(0,Number(t||0));r?i[e]=r:delete i[e],I(i),d()}function L(e,t){x(e,y(e)+t)}function K(){g(".civius-glass-nav__action--favorite, .civius-glass-nav__action--cart").forEach(e=>{if(T(".civius-nav-badge",e))return;const t=document.createElement("span");t.className="civius-nav-badge is-initializing",t.setAttribute("aria-hidden","true"),t.hidden=!0,e.appendChild(t),window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>t.classList.remove("is-initializing"))})})}function A(e=null){K();const t=Array.isArray(e?.cart)?e.cart.length:0,i=Array.isArray(e?.favorites)?e.favorites.length:0;let r=t;try{r=Math.max(Q(),t)}catch{r=t}const a=Math.max(o(f).length,i);g(".civius-glass-nav__action--favorite .civius-nav-badge").forEach(c=>{c.textContent=a>99?"99+":String(a||""),c.hidden=a<1}),g(".civius-glass-nav__action--cart .civius-nav-badge").forEach(c=>{c.textContent=r>99?"99+":String(r||""),c.hidden=r<1})}function R(e){return!!e.closest(".civius-home-page .service-card")}function F(e){return!!e.closest(".civius-home-page [data-service-card][data-service-instance-id]")}function q(e){(e.dataset.civiusCartRenderMode!=="icon"||!e.querySelector("svg"))&&(e.innerHTML=k,e.dataset.civiusCartRenderMode="icon")}function H(e){const t=n(e.getAttribute("data-service-id")),i=t?y(t):0,r=R(e),a=!r||_(e,"cart",t),c=i>0&&a,s=!r&&i>0;if(e.classList.toggle("civius-cart-stepper",s),e.classList.toggle("is-active",c),e.setAttribute("aria-pressed",c?"true":"false"),r){const v=c?"Убрать из корзины":"Добавить в корзину";e.setAttribute("aria-label",v),e.setAttribute("title",c?"Убрать из корзины":"В корзину"),q(e);return}if(s){if(e.setAttribute("aria-label","В корзине "+i+". Уменьшить или увеличить количество"),e.setAttribute("title","В корзине: "+i),e.dataset.civiusCartRenderMode!=="stepper")e.innerHTML=''+i+'',e.dataset.civiusCartRenderMode="stepper";else{const v=e.querySelector(".civius-cart-stepper__count");v&&v.textContent!==String(i)&&(v.textContent=String(i))}return}e.setAttribute("aria-label","Добавить в корзину"),e.setAttribute("title","В корзину"),q(e)}function N(e){const t=n(e.getAttribute("data-service-id"));if(!t)return;const r=!F(e)||_(e,"favorite",t),a=o(f).includes(t)&&r,c=a?"Убрать из избранного":"Добавить в избранное";e.classList.toggle("is-active",a),e.setAttribute("aria-pressed",a?"true":"false"),e.setAttribute("aria-label",c),e.setAttribute("title",c);const s=e.querySelector("[data-service-favorite-label]");s&&(s.textContent=c)}function d(){g('.civius-service-catalog-card [data-service-action="cart"], .civius-home-page .service-card [data-service-action="cart"]').forEach(H),A()}function u(){g('.civius-service-catalog-card [data-service-action="favorite"], .civius-home-page .service-card [data-service-action="favorite"]').forEach(N),A({favorites:o(f),cart:o(p)})}function P(){window.__civiusStoreFavoriteBound||(window.__civiusStoreFavoriteBound=!0,document.addEventListener("click",e=>{const t=e.target.closest('[data-service-action="favorite"]');if(!t)return;const i=n(t.getAttribute("data-service-id"));if(!i)return;e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation();const r=o(f),a=r.includes(i);if(F(t)){const c=a&&_(t,"favorite",i),s=t.closest("[data-service-instance-id]")?.getAttribute("data-service-instance-id")||"";if(a&&!c){w("favorite",i,s),u(),m("service_favorite_select",{serviceId:i});return}w("favorite",i,a?"":s)}M(f,a?r.filter(c=>c!==i):[...r,i]),u(),m(a?"service_favorite_remove":"service_favorite_add",{serviceId:i})},!0))}function U(){window.__civiusStoreCartBound||(window.__civiusStoreCartBound=!0,document.addEventListener("click",e=>{const t=e.target.closest('[data-service-action="cart"]');if(!t)return;const i=n(t.getAttribute("data-service-id"));if(!i)return;if(e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),R(t)){const a=y(i)>0,c=a&&_(t,"cart",i),s=t.closest("[data-service-instance-id]")?.getAttribute("data-service-instance-id")||"";if(a&&!c){w("cart",i,s),d(),m("service_cart_select",{serviceId:i});return}w("cart",i,a?"":s),x(i,a?0:1),m(a?"service_cart_remove":"service_cart_add",{serviceId:i});return}let r=e.target.closest("[data-civius-cart-step]")?.getAttribute("data-civius-cart-step")||"";if(!r&&t.classList.contains("civius-cart-stepper")){const a=t.getBoundingClientRect();r=e.clientX-a.left{u(),d()}),window.addEventListener("storage",()=>{u(),d()})})();