/*
 * Hi Afrika — Hero Carousel
 * Fichier dédié avec sélecteurs hyper spécifiques pour éviter tout conflit.
 */

/* ── Wrapper externe ────────────────────────────────────────────────────── */
div.ha-hero-slider {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    z-index: 2 !important;
    /* reset tout ce que le thème pourrait imposer */
    display: block !important;
    float: none !important;
    overflow: visible !important;
}

/* ── Fenêtre visible : overflow:hidden ici ──────────────────────────────── */
div.ha-hero-slider__window {
    position: relative !important;
    width: 100% !important;
    /* height via padding-top trick — ratio 4:3 */
    height: 0 !important;
    padding-top: 75% !important;
    overflow: hidden !important;
    border-radius: 22px !important;
    background: #1a0e04 !important;
    box-shadow: 0 28px 65px rgba(0,0,0,.35), 0 6px 16px rgba(0,0,0,.12) !important;
}

/* ── Track : flex horizontal, position absolute pour remplir la window ─── */
div.ha-hero-slider__track {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
    -ms-flex-direction: row !important;
    flex-direction: row !important;
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    /* transition glissement */
    -webkit-transition: -webkit-transform 0.7s cubic-bezier(.65,0,.35,1) !important;
    transition: transform 0.7s cubic-bezier(.65,0,.35,1) !important;
    will-change: transform !important;
    cursor: grab !important;
}

div.ha-hero-slider__track.is-dragging {
    cursor: grabbing !important;
    -webkit-transition: none !important;
    transition: none !important;
}

/* ── Chaque slide : exactement 100% de la window ───────────────────────── */
div.ha-hero-slider__track > figure.ha-slide {
    position: relative !important;
    -webkit-box-flex: 0 !important;
    -ms-flex: 0 0 100% !important;
    flex: 0 0 100% !important;
    min-width: 100% !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    display: block !important;
    float: none !important;
}

/* ── L'image remplit le slide entièrement ───────────────────────────────── */
div.ha-hero-slider__track > figure.ha-slide > div.ha-slide__img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

div.ha-hero-slider__track > figure.ha-slide > div.ha-slide__img > img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    -webkit-transition: -webkit-transform 9s cubic-bezier(.4,0,.6,1) !important;
    transition: transform 9s cubic-bezier(.4,0,.6,1) !important;
    -webkit-transform: scale(1) !important;
    transform: scale(1) !important;
}

figure.ha-slide.is-active > div.ha-slide__img > img {
    -webkit-transform: scale(1.06) !important;
    transform: scale(1.06) !important;
}

/* ── Flèches ────────────────────────────────────────────────────────────── */
button.ha-slider__arrow {
    position: absolute !important;
    top: 50% !important;
    -webkit-transform: translateY(-50%) !important;
    transform: translateY(-50%) !important;
    z-index: 30 !important;
    width: 46px !important;
    height: 68px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 5px !important;
    background: rgba(255,255,255,.88) !important;
    color: #1a1a1a !important;
    cursor: pointer !important;
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
    -webkit-box-align: center !important;
    -ms-flex-align: center !important;
    align-items: center !important;
    -webkit-box-pack: center !important;
    -ms-flex-pack: center !important;
    justify-content: center !important;
    box-shadow: 0 4px 16px rgba(0,0,0,.22) !important;
    -webkit-transition: background .2s ease, color .2s ease !important;
    transition: background .2s ease, color .2s ease !important;
}

button.ha-slider__arrow:hover {
    background: #fff !important;
    color: #C4651A !important;
}

button.ha-slider__arrow--prev { left: 10px !important; }
button.ha-slider__arrow--next { right: 10px !important; }

button.ha-slider__arrow svg {
    width: 22px !important;
    height: 22px !important;
    pointer-events: none !important;
}

/* ── Dots ────────────────────────────────────────────────────────────────── */
div.ha-slider__dots {
    position: absolute !important;
    bottom: 16px !important;
    left: 50% !important;
    -webkit-transform: translateX(-50%) !important;
    transform: translateX(-50%) !important;
    z-index: 30 !important;
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
    -webkit-box-align: center !important;
    -ms-flex-align: center !important;
    align-items: center !important;
    gap: 7px !important;
    padding: 7px 14px !important;
    background: rgba(0,0,0,.42) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    backdrop-filter: blur(12px) !important;
    border-radius: 999px !important;
}

button.ha-slider__dot {
    width: 8px !important;
    height: 8px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.45) !important;
    cursor: pointer !important;
    -webkit-flex-shrink: 0 !important;
    -ms-flex-negative: 0 !important;
    flex-shrink: 0 !important;
    -webkit-transition: width .4s cubic-bezier(.4,0,.2,1),
                        background .4s ease !important;
    transition: width .4s cubic-bezier(.4,0,.2,1),
                background .4s ease !important;
}

button.ha-slider__dot.is-active {
    width: 26px !important;
    border-radius: 999px !important;
    background: -webkit-linear-gradient(left, #E8A33D, #C4651A) !important;
    background: linear-gradient(90deg, #E8A33D 0%, #C4651A 100%) !important;
}

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
    div.ha-hero-slider__window {
        padding-top: 100% !important; /* carré sur mobile */
        border-radius: 18px !important;
    }

    button.ha-slider__arrow {
        width: 38px !important;
        height: 52px !important;
    }

    button.ha-slider__arrow svg {
        width: 18px !important;
        height: 18px !important;
    }
}

@media (max-width: 480px) {
    button.ha-slider__arrow--prev { left: 6px !important; }
    button.ha-slider__arrow--next { right: 6px !important; }

    div.ha-slider__dots { bottom: 12px !important; }
}

@media (prefers-reduced-motion: reduce) {
    div.ha-hero-slider__track {
        -webkit-transition: none !important;
        transition: none !important;
    }
    div.ha-hero-slider__track > figure.ha-slide > div.ha-slide__img > img {
        -webkit-transition: none !important;
        transition: none !important;
        -webkit-transform: scale(1) !important;
        transform: scale(1) !important;
    }
}
