customElements.get("home-featured-products")||customElements.define("home-featured-products",class extends HTMLElement{constructor(){super()}connectedCallback(){window.addEventListener("DOMContentLoaded",()=>{this.observeElement(this,this.handleInViewport.bind(this))})}handleInViewport(){this.init()}observeElement(element,callback){const observer=new IntersectionObserver((entries,observerInstance)=>{entries.forEach(entry=>{entry.isIntersecting&&(callback(),observerInstance.unobserve(entry.target))})},{root:null,threshold:.5});if(this.isElementInViewport(element)){callback();return}observer.observe(element)}isElementInViewport(el){const rect=el.getBoundingClientRect();return rect.top>=-el.offsetHeight/2&&rect.bottom<=(window.innerHeight||document.documentElement.clientHeight)+el.offsetHeight/2}init(){const productGrid=this.querySelector(".products-grid");this.productGrid=productGrid;const row=Number(productGrid.getAttribute("data-row")),gridItemWidth=row,hasRightSidebar=this.querySelector(".halo-product-content .pro-page [data-has-right-sidebar]"),gridItemMobileWidth=productGrid.getAttribute("data-mobilerow"),slidesToShow=hasRightSidebar?5:row,slidesToShow1400=this.classList.contains("has-banner")?3:gridItemWidth>5?5:row;let slidesToShow1200=2;this.classList.contains("has-banner")||(gridItemWidth>=4?slidesToShow1200=4:(gridItemWidth=3)&&(slidesToShow1200=3));const vertical=productGrid.classList.contains("verticle"),slidesToScroll=productGrid.classList.contains("verticle")?1:row;let slidesToScroll1400=3;productGrid.classList.contains("verticle")?slidesToScroll1400=1:gridItemWidth>=4?slidesToScroll1400=4:(gridItemWidth=3)?slidesToScroll1400=3:slidesToScroll1400=2;let slidesToScroll1200=3;this.classList.contains("has-banner")||(gridItemWidth>=4?slidesToScroll1200=4:(gridItemWidth=3)&&(slidesToScroll1200=3)),this.mySwiper=new Swiper(this.querySelector(".swiper"),{loop:!0,centeredSlides:!1,slidesPerView:gridItemMobileWidth,slidesPerGroup:gridItemMobileWidth!=2?1:2,speed:800,observer:!0,resizeObserver:!0,navigation:{nextEl:this.querySelector(".swiper-btn-next"),prevEl:this.querySelector(".swiper-btn-prev")},pagination:{el:this.querySelector(".swiper-pagination"),clickable:!0},breakpoints:{590:{slidesPerView:2,slidesPerGroup:2},768:{slidesPerView:gridItemWidth>=3?3:2,slidesPerGroup:gridItemWidth>=3?3:2},992:{slidesPerView:slidesToScroll1200,slidesPerGroup:slidesToScroll1200},1200:{slidesPerView:slidesToShow1400,slidesPerGroup:slidesToShow1400},1400:{slidesPerView:slidesToShow,slidesPerGroup:slidesToShow}},on:{slideChange:function(swiper){let slides=swiper.slides,activeIndex=swiper.activeIndex,groupSize=swiper.params.slidesPerGroup;slides.forEach(slide=>{slide.setAttribute("aria-hidden",!0)});for(let i=activeIndex;i