/* Slider */

.y-slider {
    position: relative;
    min-width: 0;
}

/* Carousel */

.y-slider--carousel {
    overflow: hidden;
}

.y-slider--visible {
    overflow: visible;
}

.y-slider--carousel > .y-slider__track {
    display: flex;
    will-change: transform;
}

.y-slider__slide {
    flex-shrink: 0;
}

.y-slider--grab > .y-slider__track {
    cursor: grab;
}

.y-slider--dragging > .y-slider__track,
.y-slider--dragging > .y-slider__track * {
    cursor: grabbing;
    user-select: none;
}

/* Native */

.y-slider__track--native {
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
}

.y-slider__track--native::-webkit-scrollbar {
    display: none;
}

.y-slider__track--native > * {
    flex-shrink: 0;
}

.y-slider__track--snap {
    scroll-snap-type: x mandatory;
}

.y-slider__track--snap > * {
    scroll-snap-align: start;
}

.y-slider__track--dragging,
.y-slider__track--dragging * {
    cursor: grabbing;
    user-select: none;
}

.y-slider__track--dragging {
    scroll-snap-type: none;
}

/* Arrows */

.y-slider__arrow {
    position: absolute;
    top: 50%;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: var(--y-win-bg, #fff);
    color: var(--y-win-text, #1d1d1f);
    box-shadow: 0 2px 10px rgba(0, 0, 0, .2);
    transform: translateY(-50%);
    cursor: pointer;
    opacity: 0;
    transition: opacity .15s;
}

.y-slider:hover .y-slider__arrow,
.y-slider__arrow:focus-visible {
    opacity: 1;
}

.y-slider__arrow[hidden] {
    display: none;
}

.y-slider__arrow--prev {
    left: 8px;
}

.y-slider__arrow--next {
    right: 8px;
}

.y-slider__arrow .material-symbols-rounded {
    font-size: 22px;
}

@media (hover: none) {
    .y-slider__arrow {
        display: none;
    }
}

/* Pagination */

.y-slider__pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.y-slider__dot {
    width: 6px;
    height: 6px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: currentColor;
    color: inherit;
    opacity: .3;
    cursor: pointer;
    transition: opacity .15s, width .15s;
}

.y-slider__dot.is-active {
    width: 16px;
    border-radius: 3px;
    opacity: 1;
}

.y-slider__pagination--fraction {
    font-size: 13px;
    font-variant-numeric: tabular-nums;
}

.y-slider__pagination--progress {
    height: 3px;
    overflow: hidden;
    border-radius: 3px;
    background: rgba(127, 127, 127, .25);
}

.y-slider__progress {
    display: block;
    width: 100%;
    height: 100%;
    background: currentColor;
    transform-origin: left;
    transition: transform .3s;
}

.y-slider__progress:dir(rtl) {
    transform-origin: right;
}

@media (prefers-reduced-motion: reduce) {
    .y-slider__dot,
    .y-slider__progress {
        transition: none;
    }
}
