/* ---------------------------------------------------------------------------
   Bloc Slider (blocs_slider)

   Feuille volontairement courte : Swiper apporte déjà sa mise en page et ses
   contrôles. On ne fait ici que trois choses — ancrer les contrôles (qui vivent
   HORS du `.swiper`, pour ne pas être rognés par son `overflow: hidden`),
   habiller ces contrôles aux couleurs du site, et décrire le mode grille.

   Tout le reste se règle dans le champ CSS perso du bloc, où les contrôles sont
   accessibles via .atb-slider__nav, .atb-slider__pagination et
   .atb-slider__scrollbar.
   --------------------------------------------------------------------------- */

.atb-slider {
    position: relative;
    color: var(--text-color, inherit);
}

/* Sans `height: auto`, la slide hérite du `height: 100%` de Swiper et toutes les
   slides prennent la hauteur du viewport au lieu de s'étirer sur la plus haute. */
.atb-slide {
    height: auto;
    color: var(--text-color, inherit);
    border-radius: var(--border-radius, 0);
}

a.atb-slide {
    cursor: pointer;
    text-decoration: none;
    color: inherit;
}

/* --- Contrôles ------------------------------------------------------------ */

.atb-slider__nav {
    --swiper-navigation-size: 1.75rem;
    --swiper-navigation-color: var(--atb-primary, #0099DD);
}

.atb-slider__pagination {
    --swiper-pagination-color: var(--atb-primary, #0099DD);
    --swiper-pagination-bullet-inactive-color: var(--atb-grey, #6C7993);
}

.atb-slider__scrollbar {
    --swiper-scrollbar-drag-bg-color: var(--atb-primary, #0099DD);
}

/* Variante à poser dans le champ « Class css » du bloc : les contrôles passent
   sous le carrousel au lieu de le recouvrir. */
.atb-slider--controls-below .atb-slider__pagination {
    position: static;
    margin-top: 1rem;
}

/* --- Mode grille (atbGrid) -------------------------------------------------
   slider.js détruit Swiper au-delà de la largeur de conteneur demandée et pose
   `atb-slider--grid`. Le wrapper garde ses classes Swiper : c'est donc ici qu'on
   reprend la main sur son `display: flex`.
   --------------------------------------------------------------------------- */

.atb-slider--grid .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(var(--atb-slider-grid-cols, 3), minmax(0, 1fr));
    gap: var(--atb-slider-grid-gap, 0);
}

/* Swiper nettoie ses styles inline en se détruisant, mais une largeur calculée
   qui survivrait casserait la grille. */
.atb-slider--grid .atb-slide {
    width: auto !important;
}

.atb-slider--grid .atb-slider__nav,
.atb-slider--grid .atb-slider__pagination,
.atb-slider--grid .atb-slider__scrollbar {
    display: none;
}
