
/* Slider */

.slider-wrap {
    display: block;
    position: relative;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}



/* Utilities */

.slider.x-5 .slick-list { margin: 0 -5px; }
.slider.x-5 .slick-list .slick-slide { padding: 0 5px; }

.slider.x-10 .slick-list { margin: 0 -10px; }
.slider.x-10 .slick-list .slick-slide { padding: 0 10px; }

.slider.x-15 .slick-list { margin: 0 -15px; }
.slider.x-15 .slick-list .slick-slide { padding: 0 15px; }

.slider.x-20 .slick-list { margin: 0 -20px; }
.slider.x-20 .slick-list .slick-slide { padding: 0 20px; }

.slider.x-30 .slick-list { margin: 0 -30px; }
.slider.x-30 .slick-list .slick-slide { padding: 0 30px; }


@media all and (min-width: 400px) {

    .slider.x-res .slick-list { margin: 0 -5px; }
    .slider.x-res .slick-list .slick-slide { padding: 0 5px; }

}

@media all and (min-width: 575px) {

    .slider.x-res .slick-list { margin: 0 -1vw; }
    .slider.x-res .slick-list .slick-slide { padding: 0 1vw; }

}

@media all and (min-width: 992px) {

    .slider.x-res .slick-list { margin: 0 -10px; }
    .slider.x-res .slick-list .slick-slide { padding: 0 10px; }

}







/* Slider */

.slider.lazy:not(.slick-initialized) {
    display: none;
    visibility: hidden;
}

.slider.lazy .slick-arrow[data-svg-element]:not(.ready) {
    display: none !important;
    visibility: hidden;
}

.slider.overflow {
    overflow: hidden;
}

.slider {
    width: 100%;
}

.slider .slide {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.slider .slide.contain {
    background-size: contain;
}

.slider .slide.slide-top {
    background-position: center 0%;
}

.slider .slide.slide-bottom {
    background-position: center 100%;
}

.slider.stretch {

    .slick-track {
        display: flex !important;
        align-items: stretch !important;
    }

    .slick-slide {
        height: auto !important;
        display: flex !important;
        flex-direction: column;
    }

}





/* Dots */

.slider.dots .slick-dots::-webkit-scrollbar-track {
    background: transparent;
}

.slider.dots .slick-dots::-webkit-scrollbar-thumb {
    box-shadow: inset 0 0 10px 10px var(--theme-gray);
}

.slider.dots .slick-dots::-webkit-scrollbar {
    height: 2px;
    width: 0;
}

.slider.dots {

    .slick-dots {

        justify-content: center;
        align-items: end;
        height: 40px;
        gap: 0;

        & > li {

            & > button {
                display: inline-flex;
                justify-content: center;
                align-items: center;
                width: 24px;
                height: 24px;
                cursor: pointer;
                background: none;
                outline: none;
                border: none;
                padding: 0;
                margin: 0;
                font-size: 0;

                &::before {
                    content: ' ';
                    width: 12px;
                    height: 12px;
                    border-radius: 999px;
                    overflow: hidden;

                    background: #fff;
                    border: 2px solid #b7b7b7;
                }

            }

            &.slick-active > button {

                &::before {
                    background: #646464;
                    border: 2px solid #646464;
                }

            }

        }
    }

}

.slider.dots.dots-line {

    --slider-dots-inactive: var(--theme-grayish, #d9d9d9);
    --slider-dots-active: var(--theme-primary-color, #000);


    .slick-dots {

        & > li {

            & > button {

                &::before {
                    content: ' ';
                    width: 100%;
                    height: 6px;
                    border: 0;
                    border-radius: 0;
                    background: var(--slider-dots-inactive, #d9d9d9);

                }

            }

            &.slick-active > button {

                &::before {
                    background: var(--slider-dots-active, #000);
                }

            }


            &:first-child > button::before {
                border-radius: 4px 0 0 4px;
            }


            &:last-child > button::before {
                border-radius: 0 4px 4px 0;
            }


        }
    }

}











/* Arrows */

.slider.arrows .slick-arrow {
    display: inline-flex;
    position: absolute;
    cursor: pointer;
    width: 40px;
    height: 40px;
    z-index: 45;
}

.slider.arrows .slick-arrow:not(.button) {
    background: none;
    outline: none;
    border: none;
}

.slider.arrows .slick-arrow.slick-prev {
    left: 0;
}

.slider.arrows .slick-arrow.slick-next {
    right: 0;
}

.slider.arrows-outline .slick-arrow {
    margin: 6px;
}

.slider.arrows-top .slick-arrow {
    top: 0;
}

.slider.arrows-bottom .slick-arrow {
    bottom: 0;
}

.slider.arrows:not(.arrows-top):not(.arrows-bottom) .slick-arrow {
    top: 50%;
    transform: translateY(-50%);
}

.slider .slick-arrow svg {
    width: 20px;
    height: 20px;
}

.slider .slick-arrow svg,
.slider .slick-arrow svg path {
    fill: currentColor;
}




/* Arrows Outside */

@media all and (min-width: 576px) {

    .slider.arrows-outside .slick-arrow.slick-prev {
        transform: translateX( -100% );
    }

    .slider.arrows-outside .slick-arrow.slick-next {
        transform: translateX( 100% );
    }

    .slider.arrows-outside:not(.arrows-top):not(.arrows-bottom) .slick-arrow.slick-prev {
        transform: translateX( -100% ) translateY(-50%);
    }

    .slider.arrows-outside:not(.arrows-top):not(.arrows-bottom) .slick-arrow.slick-next {
        transform: translateX( 100% ) translateY(-50%);
    }

}

@media all and (max-width: 575px) {


    .slider.arrows-outside .slick-arrow.slick-prev {
        left: 10px;
    }

    .slider.arrows-outside .slick-arrow.slick-next {
        right: 10px;
    }

}




/* Arrows Limit */

body.space-limit .slider.arrows-limit .slick-arrow {
    pointer-events: none;
    opacity: 0;
}



/* Arrows Fade */

.slider.arrows-fade:not(:hover):not(:focus) .slick-arrow {
    opacity: 0.35;
}

.slider.arrows-hover:not(:hover):not(:focus) .slick-arrow {
    opacity: 0;
}



/* Fullscreen */

.slider.is-fullscreen {
    position: absolute;
    inset: 0;
}
.slider.is-fullscreen .slick-list,
.slider.is-fullscreen .slick-track,
.slider.is-fullscreen .slick-slide,
.slider.is-fullscreen .slick-slide > div,
.slider.is-fullscreen .slick-slide .container,
.slider.is-fullscreen .slick-slide .slide {
    height: 100%;
}



/* Loaders */

.slider-loader {
    display: flex;
    position: relative;
    z-index: 35;
}

.slider-loader > .loader {
    display: inline-flex;
    background-color: currentColor;
    height: 2px;
    width: 0;
}
.slider-loader > .loader.size-1 { height: 1px; }
.slider-loader > .loader.size-2 { height: 2px; }
.slider-loader > .loader.size-3 { height: 3px; }
.slider-loader > .loader.size-4 { height: 4px; }
.slider-loader > .loader.size-10 { height: 10px; }

.slider-loader.fixed-top {
    position: absolute;
    inset: 0;
    bottom: auto;
}

.slider-loader.fixed-bottom {
    position: absolute;
    inset: 0;
    top: auto;
}



/* Actions */

body.ready .slider-wrap .slider-actions {
    transition: 0.25s;
}

.slider-wrap .slider-actions {

    --action-position-x: 0px;
    &.pull-40 {
        --action-position-x: -40px;
    }

    position: relative;
    pointer-events: none;

    .button {
        pointer-events: auto;
    }
}

.slider-wrap .slider-actions.space-15 {
    padding: 15px;
}

.slider-wrap .slider-actions.space-20 {
    padding: 20px;
}

.slider-wrap .slider-actions .action-prev,
.slider-wrap .slider-actions .action-next {
    position: absolute;
    left: var(--action-position-x, 0);
    bottom: 0;
    z-index: 25;
}

.slider-wrap .slider-actions.fixed-top .action-prev,
.slider-wrap .slider-actions.fixed-top .action-next {
    bottom: auto;
    top: 0;
}

.slider-wrap .slider-actions .action-next {
    right: var(--action-position-x, 0);
    left: auto;
}

.slider-actions.fixed-top {
    position: absolute;
    inset: 0;
    bottom: auto;
}

.slider-actions.fixed-bottom {
    position: absolute;
    inset: 0;
    top: auto;
}

.slider-actions.fixed-center {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
}






/* Slide Thumbnails */

.slider-thumbs {
    --slider-thumb-gap: var(--theme-slider-thumb-gap, 5px);

    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: center;
    gap: var(--slider-thumb-gap);

    &.top {
        margin-top: 20px;
    }

}

.slider-thumb {

    cursor: pointer;
    position: relative;
    display: flex;
    min-width: 48px;
    min-height: 48px;
    aspect-ratio: 1;
    background: none;
    border-radius: 4px;
    box-shadow: none;
    border: 2px solid #d9d9d9;
    width: calc(20% - var(--slider-thumb-gap));

    body.ready & {
        transition: 0.25s;
    }

    &.active {
        border-color: #000;
    }

    .picture-wrap {
        position: absolute;
        z-index: 5;
        inset: 5px;
        border-radius: 3px;
        overflow: hidden;

        picture {
            height: 100%;
        }
    }



}






/* Album Slider */

.album-slider {

    border-radius: 6px;
    overflow: hidden;

    .slide-label {

        display: block;
        position: absolute;
        top: 0;
        z-index: 46;
        color: #fff;
        background: #de0000;
        font-weight: 400;
        font-size: 0.9rem;
        padding: 5px 12px;

        &:not(.is-right) {
            border-radius: 0 0 6px 0;
            left: 0;
        }

        &.is-right {
            border-radius: 0 0 0 6px;
            right: 0;
        }

    }


}








/* Product Slider */

.product-slider {

    --slider-padding-x: 10px;

    margin-left: calc(-1 * var(--slider-padding-x));
    margin-right: calc(-1 * var(--slider-padding-x));

    .slider {
        overflow: hidden;
    }

    .slide {
        padding-left: var(--slider-padding-x);
        padding-right: var(--slider-padding-x);
    }

    .block-wrap,
    .block-content {
        height: 100%;
    }



}


