/* Algolia Slider – Public styles */

/* 1) Wrapper */
.algoslider-wrap {
    margin: 2rem 0 ;
}

.algoslider__title {
    margin: 0 0 1rem ;
    font-size: 1.5rem ;
    line-height: 1.3 ;
}

.algoslider__loader,
.algoslider__error,
.algoslider__empty {
    padding: 1rem ;
    text-align: center ;
    color: #666 ;
}

/* 2) List and items (custom classes) */
.algoslider .products {
    list-style: none ;
    margin: 0 ;
    padding: 0 ;
}

.algoslider .products li {
    height: auto ;
    margin: 0 ;
    padding: 0 5px ;
    display: block ;
}

/* 3) Visibility before/after slick init */
.algoslider .products {
    visibility: hidden ;
    opacity: 0 ;
    transition: opacity .15s linear ;
}

.algoslider .products.slick-initialized {
    visibility: visible ;
    opacity: 1 ;
}

.algoslider.algoslider--has-cache .algoslider__body {
    min-height: 320px ;
}

/* 4) Slick core adjustments */
.algoslider * {
    box-sizing: border-box ;
}

.algoslider .slick-list {
    padding-top: 10px ;
    padding-bottom: 25px ;
    overflow: hidden ;
}

.algoslider .slick-slide {
    float: left ;
    clear: none ;
}

[dir=rtl] .algoslider .slick-slide {
    float: right ;
    clear: none ;
}

.algoslider .slick-slide img {
    display: inline-block ;
}

/* 4.2) Override Woo grid on products UL inside slider */
.algoslider ul.products {
    display: block !important;
}

.algoslider ul.products:not(.elementor-grid) {
    display: block ;
    grid-template-columns: none ;
    gap: 0 ;
}

/* 4.1) Fixed thumbnail area 248x180 and centered image */
.algoslider .astra-shop-thumbnail-wrap {
    width: 248px;
    height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    overflow: hidden;
}

.algoslider .astra-shop-thumbnail-wrap > a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.algoslider .astra-shop-thumbnail-wrap img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

/* 5) Arrows */
.algoslider .slick-arrow {
    position: absolute ;
    top: 38% ;
    z-index: 9 ;
    width: 15px ;
    height: 26px ;
    border: 0 ;
    padding: 20px 15px ;
    text-indent: -9999px ;
    font-size: 0 ;
    line-height: 0 ;
    background: rgba(0,0,0,.5) ;
    cursor: pointer ;
    overflow: hidden ;
    color: transparent ;
    white-space: nowrap ;
}

.algoslider .slick-prev { left: 5px ; }
.algoslider .slick-next { right: 5px ; }

.algoslider .slick-prev:before,
.algoslider .slick-next:before {
    content: '' ;
    color: currentColor ;
}

.algoslider .slick-prev {
    mask: linear-gradient(#000 0 0) ;
    -webkit-mask: linear-gradient(#000 0 0) ;
    background: rgba(0,0,0,.5) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white"><path d="M15.41 16.59L10.83 12l4.58-4.59L14 6l-6 6 6 6z"/></svg>') center center no-repeat ;
    background-size: 15px 26px ;
}

.algoslider .slick-next {
    mask: linear-gradient(#000 0 0) ;
    -webkit-mask: linear-gradient(#000 0 0) ;
    background: rgba(0,0,0,.5) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white"><path d="M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6z"/></svg>') center center no-repeat ;
    background-size: 15px 26px ;
}

.algoslider .slick-prev:hover,
.algoslider .slick-prev:focus,
.algoslider .slick-next:hover,
.algoslider .slick-next:focus {
    background: rgba(0,0,0,.8) ;
}

/* 6) Dots */
.algoslider .slick-dots {
    padding: 0 ;
    margin: 0 ;
    text-align: center ;
    width: 100% ;
}

.algoslider .slick-dots li {
    list-style: none ;
    display: inline-block ;
    margin: 0 2px ;
    padding: 0 ;
    width: 10px ;
    height: 10px ;
    line-height: 0 ;
}

.algoslider .slick-dots li button {
    width: 10px ;
    height: 10px ;
    border-radius: 50% ;
    background: #fff ;
    border: 1px solid #000 ;
    text-indent: -9999px ;
    margin: 0 ;
    padding: 0 ;
}

.algoslider .slick-dots li.slick-active button {
    background: #444 ;
}

/* 7) Container safety */
.algoslider {
    position: relative ;
    max-width: 100% ;
    overflow: hidden ;
}

.algoslider .slick-track {
    margin-left: 0 ;
}

/* 8) Astra summary padding (within slider only) */
.algoslider ul.products li.product .astra-shop-summary-wrap {
    padding: 0 1.2em;
}

/* 9) Hide custom product terms inside slider */
.algoslider .custom_product-terms {
    display: none;
}

