/* =================================================================== SWIPER (global) =================================================================== */
/* Theme for every Swiper on the site. Swiper itself loads from the CDN
   (swiper@11.1.14); this file only maps its look onto our tokens.
   Slide counts per breakpoint are set in vendor.js presets, not here. */
:root {
    --swiper-theme-color: var(--primary);
    --swiper-pagination-color: var(--primary);
    --swiper-pagination-bullet-inactive-color: var(--line);
    --swiper-pagination-bullet-inactive-opacity: 1;
    --swiper-pagination-bullet-size: 8px;
    --swiper-pagination-bullet-horizontal-gap: var(--sp4);
}

/* Cards in a row stretch to the tallest one */
[data-swiper="cards"] .swiper-slide { height: auto; }

/* Pagination sits below the slider, not over it */
[data-swiper] > .swiper-pagination {
    position: static;
    display: flex; justify-content: center;
    margin-top: var(--sp40);

    & .swiper-pagination-bullet { transition: var(--transition); }
    & .swiper-pagination-bullet-active { width: 24px; border-radius: var(--r-full); }
}

/* Disabled arrows (non-loop sliders at either end) */
[data-swiper] .btn-icon.swiper-button-disabled { opacity: .4; pointer-events: none; }
