/* ============================================================
   Slider Produits — Layout Spécifique
   Dépend de : bio-design-tokens.css (composants partagés)
   Contient UNIQUEMENT les styles de layout Splide du slider.
   ============================================================ */

/* ── WRAPPER ─────────────────────────────────────────────────── */
.bio-slider-wrapper {
    margin: 0;
    padding: 20px 10px 80px 10px;
    overflow: visible;
    width: 100%;
    position: relative;
    box-sizing: border-box;
    min-height: 460px;
    contain: layout style;
}
.bio-slider-wrapper * { box-sizing: border-box; }
@media(max-width:768px) {
    .bio-slider-wrapper { overflow: hidden; padding-bottom: 60px; min-height: 420px; }
}

/* ── SPLIDE TRACK ────────────────────────────────────────────── */
.bio-slider-wrapper .splide__track { overflow: visible !important; }
@media(max-width:768px) {
    .bio-slider-wrapper .splide__track { overflow: hidden !important; }
}

/* ── PRÉ-INITIALISATION (ANTI-FLASH) ────────────────────────── */
.bio-slider-wrapper .splide:not(.is-initialized) .splide__list {
    display: flex; gap: 20px; overflow: hidden;
}
.bio-slider-wrapper .splide:not(.is-initialized) .splide__slide {
    flex: 0 0 calc(16.666% - 17px); min-width: 0;
}
@media(max-width:1200px) {
    .bio-slider-wrapper .splide:not(.is-initialized) .splide__slide { flex: 0 0 calc(33.333% - 14px); }
}
@media(max-width:600px) {
    .bio-slider-wrapper .splide:not(.is-initialized) .splide__slide { flex: 0 0 80%; }
}

/* ── SPLIDE STRUCTURAL CSS ───────────────────────────────────── */
.bio-slider-wrapper .splide__list {
    display: flex; will-change: transform;
    backface-visibility: hidden;
    height: 100%; margin: 0; padding: 0;
}
.bio-slider-wrapper .splide__container { box-sizing: border-box; position: relative; }
.bio-slider-wrapper .splide.is-initialized:not(.is-active) .splide__list { display: block; }
.bio-slider-wrapper .splide__pagination {
    align-items: center; display: flex; flex-wrap: wrap;
    justify-content: center; margin: 0; pointer-events: none;
}
.bio-slider-wrapper .splide__pagination li {
    display: inline-block; line-height: 1;
    list-style-type: none; margin: 0; pointer-events: auto;
}
.bio-slider-wrapper .splide__slide {
    backface-visibility: hidden; box-sizing: border-box;
    flex-shrink: 0; list-style-type: none !important;
    margin: 0; position: relative;
}
.bio-slider-wrapper .splide__slide img { vertical-align: bottom; }
.bio-slider-wrapper .splide__slider { position: relative; }

/* ── PAGINATION POSITION ─────────────────────────────────────── */
.bio-slider-wrapper .splide__pagination {
    bottom: -35px;
    position: absolute;
    width: 100%;
    padding: 0;
    z-index: 5;
}

/* ── FLÈCHES POSITION ───────────────────────────────────────── */
.bio-slider-wrapper .splide__arrow--prev { left: var(--bio-arrow-offset, -15px); }
.bio-slider-wrapper .splide__arrow--next { right: var(--bio-arrow-offset, -15px); }
@media(max-width:768px) {
    .bio-slider-wrapper .splide__arrow--prev { left: 2px; }
    .bio-slider-wrapper .splide__arrow--next { right: 2px; }
    .bio-slider-wrapper .splide__arrow--prev,
    .bio-slider-wrapper .splide__arrow--next { width: 36px; height: 36px; min-width: 36px; min-height: 36px; }
    .bio-slider-wrapper { padding: 15px 5px 50px 5px; min-height: 380px; }
}
