/* =========================================================
BO - Vehicle Slider Shared
Owns reusable slider shell, viewport, arrows and pagination used by latest/similar.
========================================================= */

/* =========================================================
BO - Swiper (Senaste, Liknande)
========================================================= */

.bo-content-slider {
    position: relative;
    overflow: visible;
}

.bo-slider-shell {
    position: relative;
}

.bo-slider-viewport {
    overflow: hidden;
}

.bo-latest-swiper.swiper,
.bo-similar-swiper.swiper {
    padding-block: var(--bo-slider-swiper-padding, 1rem);
}

.bo-slider-prev,
.bo-slider-next {
    position: absolute;
    top: 50%;
    display: grid;
    place-items: center;
    transform: translateY(-50%);
    width: var(--bo-size-8xl);
    height: var(--bo-size-8xl);
    padding: 0;
    border: 0;
    border-radius: var(--bo-radius-pill);
    background: var(--bo-theme-primary);
    color: var(--bo-text-on-primary);
    box-shadow: 0 0.625rem 1.5rem var(--bo-alpha-black-18);
    z-index: 20;
    cursor: pointer;
    transition: box-shadow 180ms ease, filter 180ms ease, transform 180ms ease;
}

.bo-slider-navigation-icon {
    position: relative;
    inset-inline-start: 0;
    display: block;
    width: 1.25rem;
    height: 1.25rem;
    fill: none;
    transition: inset-inline-start 180ms ease;
}

.bo-slider-prev {
    left: -1.75rem;
}

.bo-slider-next {
    right: -1.75rem;
}

.bo-slider-prev:focus-visible,
.bo-slider-next:focus-visible {
    outline: 3px solid currentColor;
    outline-offset: 3px;
}

.bo-slider-prev:active,
.bo-slider-next:active {
    transform: translateY(-50%) scale(0.96);
}

.bo-slider-prev.swiper-button-disabled,
.bo-slider-next.swiper-button-disabled {
    cursor: default;
    opacity: 0.45;
    pointer-events: none;
}

@media (hover: hover) and (pointer: fine) {
    .bo-slider-prev:hover,
    .bo-slider-next:hover {
        filter: brightness(1.08);
        box-shadow: 0 0.75rem 1.75rem var(--bo-alpha-black-25);
        transform: translateY(-50%) scale(1.06);
    }

    .bo-slider-prev:hover .bo-slider-navigation-icon {
        inset-inline-start: -0.125rem;
    }

    .bo-slider-next:hover .bo-slider-navigation-icon {
        inset-inline-start: 0.125rem;
    }
}

.bo-slider-pagination .swiper-pagination-bullet-active {
    background: var(--bo-theme-primary);
    opacity: 1;
}


/* Hide arrows on small screens (swipe instead) */
@media (max-width: 767.98px) {

    .bo-slider-pagination {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bo-slider-prev,
    .bo-slider-next,
    .bo-slider-navigation-icon {
        transition: none;
    }
}


