:root{
    --font-titre: 'TA_POLICE_TITRE', 'Montserrat', sans-serif;
    --font-texte: 'TA_POLICE_TEXTE', 'Montserrat', sans-serif;
}

/* =====================================================
   SLIDER
   ===================================================== */

.slider-section{
    position:relative;
    width:100%;
    padding:100px 32px;
    background:
        radial-gradient(120% 120% at 100% 0%, #e3ecf1 0%, transparent 55%),
        #eef1f3;
    overflow:hidden;
}

.slider-wrap{
    position:relative;
    max-width:1500px;
    margin:auto;
    display:grid;
    grid-template-columns:minmax(300px,380px) 1fr;
    gap:60px;
    align-items:center;
}

/* ---------- Gauche ---------- */

.slider-left{
    position:relative;
}

.slider-dots{
    display:flex;
    flex-direction:column;
    gap:9px;
    position:absolute;
    left:-30px;
    top:8px;
}

.sl-dot{
    width:8px;
    height:8px;
    border-radius:50%;
    background:rgba(7,53,86,.22);
    cursor:pointer;
    transition:.3s ease;
}

.sl-dot.active{
    height:24px;
    border-radius:999px;
    background:#073556;
}

.slider-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-family:var(--font-texte);
    font-size:11px;
    font-weight:700;
    letter-spacing:1.5px;
    text-transform:uppercase;
    color:#95C8D8;
    margin-bottom:16px;
}

.slider-eyebrow::before{
    content:"";
    width:26px;
    height:2px;
    border-radius:2px;
    background:#95C8D8;
}

.slider-texts{
    position:relative;
}

.slide-text{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    opacity:0;
    visibility:hidden;
    transform:translateY(16px);
    transition:.55s ease;
    pointer-events:none;
}

.slide-text.active{
    position:relative;
    opacity:1;
    visibility:visible;
    transform:translateY(0);
    pointer-events:auto;
}

.slider-title{
    font-family:var(--font-titre);
    font-size:36px;
    font-weight:800;
    line-height:1.08;
    color:#073556;
    margin-bottom:16px;
}

.slider-text p,
.slide-text .desc{
    font-family:var(--font-texte);
    font-size:13px;
    font-weight:400;
    line-height:1.7;
    color:#5a6b78;
    margin-bottom:26px;
    max-width:340px;
}

.slider-btn{
    font-family:var(--font-texte);
    display:inline-flex;
    align-items:center;
    gap:9px;
    height:44px;
    padding:0 24px;
    border-radius:999px;
    background:#073556;
    color:#ffffff;
    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:1px;
    text-decoration:none;
    transition:.3s ease;
}

.slider-btn i{
    font-size:10px;
    transition:.3s ease;
}

.slider-btn:hover{
    background:#95C8D8;
    color:#073556;
    transform:translateY(-2px);
    box-shadow:0 12px 26px rgba(149,200,216,.45);
}

.slider-btn:hover i{
    transform:translateX(3px);
}

/* ---------- Droite ---------- */

.slider-right{
    position:relative;
    min-width:0;
}

.slider-stage{
    position:relative;
    height:380px;
    overflow:hidden;
}

.slide-group{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    gap:20px;
    opacity:0;
    visibility:hidden;
    transform:translateX(40px) scale(.98);
    transition:.65s cubic-bezier(.65,.05,.36,1);
    pointer-events:none;
}

.slide-group.active{
    opacity:1;
    visibility:visible;
    transform:translateX(0) scale(1);
    pointer-events:auto;
}

.slide-card{
    flex:1;
    height:100%;
    border-radius:20px;
    overflow:hidden;
    background:#2b2b2b;
    box-shadow:0 22px 45px rgba(7,53,86,.20);
}

/* cartes décalées pour un effet plus dynamique */
.slide-card:nth-child(1){ height:84%; }
.slide-card:nth-child(2){ height:100%; }
.slide-card:nth-child(3){ height:88%; }

.slide-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:.5s ease;
}

.slide-card:hover img{
    transform:scale(1.07);
}

/* ---------- Barre de nav ---------- */

.slider-nav{
    display:flex;
    align-items:center;
    gap:20px;
    margin-top:30px;
}

.slider-arrows{
    display:flex;
    gap:10px;
}

.slider-arrow{
    width:46px;
    height:46px;
    border:1px solid rgba(7,53,86,.12);
    border-radius:50%;
    background:#ffffff;
    color:#073556;
    font-size:14px;
    cursor:pointer;
    box-shadow:0 8px 20px rgba(7,53,86,.10);
    transition:.3s ease;
}

.slider-arrow:hover{
    background:#073556;
    color:#ffffff;
    border-color:#073556;
    transform:translateY(-2px);
}

.slider-progress{
    flex:1;
    height:3px;
    border-radius:999px;
    background:rgba(7,53,86,.12);
    overflow:hidden;
    max-width:220px;
}

.slider-progress span{
    display:block;
    height:100%;
    width:0;
    border-radius:999px;
    background:#073556;
    transition:width .3s linear;
}

.slider-count{
    font-family:var(--font-texte);
    font-size:13px;
    font-weight:700;
    color:#073556;
    letter-spacing:.5px;
}

.slider-count b{
    font-weight:800;
}

.slider-count i{
    font-style:normal;
    color:rgba(7,53,86,.4);
    margin:0 2px;
}

/* ---------- Responsive ---------- */

@media(max-width:992px){

    .slider-section{
        padding:64px 18px;
    }

    .slider-wrap{
        grid-template-columns:1fr;
        gap:36px;
    }

    .slider-dots{
        position:static;
        flex-direction:row;
        margin-bottom:16px;
    }

    .sl-dot.active{
        height:8px;
        width:24px;
    }

    .slider-title{
        font-size:30px;
    }

    .slider-text p{
        max-width:none;
    }

    .slider-stage{
        height:320px;
    }
}

@media(max-width:560px){

    .slider-title{
        font-size:26px;
    }

    .slider-stage{
        height:260px;
    }

    .slide-group{
        gap:12px;
    }

    .slide-card:nth-child(3){
        display:none;
    }

    .slide-card:nth-child(1),
    .slide-card:nth-child(2){
        height:100%;
    }

    .slider-progress{
        display:none;
    }
}
