:root {

  /* Couleurs */
  --primary-blue: #0057B8;
  --primary-blue-dark: #004494;

  --primary-orange: #FF7A00;
  --primary-orange-dark: #E66D00;

  --text-dark: #1F2937;
  --text-light: #FFFFFF;

  --bg-white: #FFFFFF;
  --bg-light: #F5F7FA;

  --border-color: #E5E7EB;

  /* Dimensions */
  --container-width: 1200px;
  --section-padding: 80px;
  --radius: 10px;

  /* Typographie */
  --font-family: 'Poppins', sans-serif;
  --h1-size: 3rem;
  --h2-size: 2.2rem;
  --text-size: 1rem;

  /* Boutons */
  --btn-padding: 12px 28px;
  --btn-radius: 15px;

  /* Ombres */
  --shadow: 0 4px 15px rgba(0,0,0,0.08);
}

/* Reset */
*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

body{
  font-family:var(--font-family);
  font-size:var(--text-size);
  color:var(--text-dark);
  background:var(--bg-white);
  line-height:1.6;
}

.container{
  width:90%;
  max-width:var(--container-width);
  margin:auto;
}

section{
  padding:var(--section-padding) 0;
}

h1{
  font-size:var(--h1-size);
  color:var(--primary-blue);
  margin-bottom:20px;
}

h2{
  font-size:var(--h2-size);
  color:var(--primary-blue);
  margin-bottom:15px;
}

p{
  margin-bottom:20px;
}

/* Boutons */
.btn{
  display:inline-block;
  padding:var(--btn-padding);
  border-radius:var(--btn-radius);
  text-decoration:none;
  font-weight:600;
  transition:0.3s;
}

.btn-primary{
  background:var(--primary-orange);
  color:#FFFFFF !important;
}

.btn-primary:hover{
  background:var(--primary-orange-dark);
}

.btn-secondary{
  background:var(--primary-blue);
  color:var(--text-light);
}

.btn-secondary:hover{
  background:var(--primary-blue-dark);
}

  /* ** **************HEADER GLOBAL****************************** */
.top-bar{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 40px;
    background: var(--primary-blue-dark);
    z-index: 10000;
    display: flex;
}

.top-bar-wrapper{
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 15px;
}

/* sections */
.top-bar-left,
.top-bar-center,
.top-bar-right{
    display: flex;
    align-items: center;
}

/* drapeau */
.flag-dk{
    width: 24px;
    height: auto;
    display: block;
}

/* links */
.top-bar-center a,
.top-bar-right a{
    color: var(--text-light);
    text-decoration: none;
    font-size: .85rem;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    transition: .3s;
}

.top-bar-center a:hover,
.top-bar-right a:hover{
    color: var(--primary-orange);
}

   /* MOBILE */

@media (max-width:768px){

    /* cacher drapeau */
    .top-bar-left{
        display: none;
    }

    /* garder email + whatsapp centrés */
    .top-bar-wrapper{
        justify-content: space-around;
    }

    .top-bar-center a,
    .top-bar-right a{
        font-size: .75rem;
    }
}
   /* NAVBAR */
.navbar{
    position: fixed;
    top: 40px; /* sous top bar */
    left: 0;
    width: 100%;
    height: 85px;
    background: var(--bg-white);
    box-shadow: var(--shadow);
    z-index: 9999;
}

.navbar-wrapper{
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

   /* LOGO */

.logo{
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
}

.logo img{
    width: 60px;
    height: 60px;
    object-fit: contain;
}

.logo-text{
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--primary-blue);
}

.logo-text span{
    color: var(--primary-orange);
}

   /* MENU */

.nav-menu{
    display: flex;
    align-items: center;
    list-style: none;
    gap: 35px;
}

.nav-menu a{
    text-decoration: none;
    color: var(--text-dark);
    font-weight: 600;
    transition: .3s;
    position: relative;
}

.nav-menu a:hover,
.nav-menu a.active{
    color: var(--primary-orange);
}

.nav-menu a.active::after,
.nav-menu a:hover::after{
    content: "";
    position: absolute;
    left: 0;
    bottom: -8px;
    width: 100%;
    height: 3px;
    background: var(--primary-orange);
    border-radius: 10px;
}

   /* CTA */

.desktop-btn{
    display: flex;
    align-items: center;
}

   /* HAMBURGER */

.menu-toggle{
    display: none;
    flex-direction: column;
    gap: 5px;
    border: none;
    background: transparent;
    cursor: pointer;
}

.menu-toggle span{
    width: 28px;
    height: 3px;
    background: var(--primary-blue);
    border-radius: 20px;
}

   /* BODY OFFSET */

body{
    padding-top: 125px; /* 40 + 85 */
}

   /* TABLET */

@media (max-width: 992px){
    .desktop-btn{
        display: none;
    }
}

   /* MOBILE */

@media (max-width:768px){

    /* NAVBAR POSITION */
    .navbar{
        top: 40px;
        height: 80px;
    }

    body{
        padding-top: 120px;
    }

    .logo img{
        width: 45px;
        height: 45px;
    }

    .logo-text{
        font-size: 1.4rem;
    }

    .menu-toggle{
        display: flex;
    }

    /* MENU MOBILE */
    .nav-menu{
        position: fixed;
        top: 120px; /* topbar + navbar */
        left: -100%;
        width: 100%;
        height: calc(100vh - 120px);
        background: var(--bg-white);
        flex-direction: column;
        justify-content: flex-start;
        padding-top: 40px;
        gap: 30px;
        transition: .4s ease;
        box-shadow: var(--shadow);
    }

    .nav-menu.active{
        left: 0;
    }
}

/* hamburger animation */
.menu-toggle span{
    transition: .3s;
}

.menu-toggle.active span:nth-child(1){
    transform: rotate(45deg) translate(5px, 5px);
}

.menu-toggle.active span:nth-child(2){
    opacity: 0;
}

.menu-toggle.active span:nth-child(3){
    transform: rotate(-45deg) translate(5px, -5px);
}


/* ********INDEX*********** */
/* ***************************************************** */
.hero{
    position: relative;
    width: 100%;
    height: 85vh;
    overflow: hidden;
}

/* SLIDES */
.hero-slide{
    position: absolute;
    inset: 0;

    background-size: cover;
    background-position: center;

    opacity: 0;
    transform: scale(1.08);

    transition: opacity 1s ease, transform 6s ease;
    will-change: opacity, transform;
}

.hero-slide.active{
    opacity: 1;
    transform: scale(1);
}

/* OVERLAY */
.overlay{
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.6);
}

/* CONTENT CENTER */
.hero-content{
    position: absolute;
    inset: 0;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    text-align: center;
    padding: 0 20px;
    color: #fff;
    z-index: 2;
}

.hero-content h1{
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.2;
    max-width: 900px;
    color: #fff;
}

.hero-content p{
    font-size: 1.1rem;
    margin-top: 12px;
    max-width: 700px;
    color: rgba(255,255,255,0.85);
}

.hero-content .btn{
    margin-top: 22px;
    padding: 12px 28px;
    border-radius: 8px;
    font-weight: 600;
}

/* MOBILE */
@media (max-width:768px){

    .hero{
        height: 50vh;
    }

    .hero-content h1{
        font-size: 1.6rem;
        padding: 0 10px;
    }

    .hero-content p{
        display: none;
    }

    .hero-content .btn{
        width: 80%;
        max-width: 260px;
    }
}
.hero-slide{
    position: absolute;
    inset: 0;

    background-size: cover;
    background-position: center;

    opacity: 0;
    transform: scale(1.08);

    pointer-events: none; /* AJOUT */

    transition: opacity 1s ease, transform 6s ease;
    will-change: opacity, transform;
}

.hero-slide.active{
    opacity: 1;
    transform: scale(1);

    pointer-events: auto; /* AJOUT */
}
/* ************TRUST SECTION****************** */

.trust-bar{
    position: relative;
    margin-top: -110px;
    z-index: 10;
}

   /* CONTAINER GRID */
   
.trust-grid{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;

    background: linear-gradient(135deg, #0b2a4a, #0d3b66);

    padding: 22px 26px;

    border-radius: 18px;

    box-shadow: 0 18px 45px rgba(0,0,0,0.25);

    max-width: 1200px;
    margin: auto;
}

   /* BOX ITEM */

.trust-box{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    color: #fff;
    font-size: 0.95rem;
    font-weight: 600;

    padding: 12px 14px;

    border-radius: 12px;

    transition: all .3s ease;

    white-space: nowrap;
}

/* ICON STYLE */

.trust-box i{
    color: #ff8a00;
    font-size: 18px;
}

/* HOVER */

.trust-box:hover{
    background: rgba(255,255,255,0.10);
    transform: translateY(-2px);
}

   /* TABLET */

@media (max-width: 992px){

    .trust-grid{
        grid-template-columns: repeat(2, 1fr);
        padding: 20px;
    }
}

   /* MOBILE */

@media (max-width: 600px){

    .trust-bar{
        margin-top: -50px;
    }

    .trust-grid{
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 18px;
    }

    .trust-box{
        justify-content: flex-start;
        font-size: 0.85rem;
        padding: 12px;
    }

    .trust-box i{
        font-size: 16px;
    }
}
/* ***********Section why?****************** */

/* SECTION */

.why-us{
    padding: 50px 0;
    background: #fff;
}

/* TITRE */

.section-title{
    text-align: center;
    margin-bottom: 30px;
}

.section-title h2{
    font-size: 2rem;
    font-weight: 700;
    color: var(--primary-blue);
    margin-bottom: 8px;
}

.section-title h2 span{
    color: var(--primary-orange);
}

.section-title p{
    font-size: .95rem;
    color: #6b7280;
    max-width: 500px;
    margin: 0 auto;
}

/* GRID */

.why-grid{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}

/* CARTE */

.why-card{
    background: var(--bg-white);

    border: 1px solid #edf2f7;

    border-radius: 12px;

    padding: 18px 12px;

    text-align: center;

    transition: .3s ease;

    box-shadow: 0 4px 12px rgba(0,0,0,.04);
}

.why-card:hover{
    transform: translateY(-4px);

    border-color: rgba(255,140,0,.25);

    box-shadow: 0 10px 20px rgba(0,0,0,.08);
}

/* ICON */

.why-card i{
    font-size: 1.4rem;
    color: var(--primary-orange);
    margin-bottom: 10px;
}

/* TITRE */

.why-card h3{
    font-size: .95rem;
    font-weight: 600;
    color: var(--primary-blue);
    margin-bottom: 5px;
}

/* TEXTE */

.why-card p{
    font-size: .78rem;
    color: #6b7280;
    line-height: 1.4;
    margin: 0;
}

/* TABLET */

@media (max-width: 992px){

    .why-grid{
        grid-template-columns: repeat(2,1fr);
    }

}

/* MOBILE */

@media (max-width: 768px){

    .why-us{
        padding: 40px 0;
    }

    .section-title{
        margin-bottom: 20px;
    }

    .section-title h2{
        font-size: 1.5rem;
    }

    .section-title p{
        font-size: .85rem;
        padding: 0 10px;
    }

    .why-grid{
        gap: 8px;
    }

    .why-card{
        padding: 14px 10px;
        border-radius: 10px;
    }

    .why-card i{
        font-size: 1.2rem;
        margin-bottom: 8px;
    }

    .why-card h3{
        font-size: .82rem;
    }

    .why-card p{
        font-size: .70rem;
    }

}
@media (max-width: 768px){

    .trust-bar{
        margin-top: -25px;
    }

    .why-us{
        padding-top: 15px;
    }

    .section-title{
        margin-bottom: 15px;
    }

}

/* *********SECTION DETAILLE************* */

.about-company{
    padding: 70px 0;
    background: #f8fafc;
}

.about-wrapper{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    align-items: center;
}

.about-image img{
    width: 100%;
    border-radius: 18px;
    display: block;
    box-shadow: 0 15px 35px rgba(0,0,0,.08);
}

.about-badge{
    display: inline-block;
    padding: 8px 18px;

    background: rgba(255,140,0,.12);

    color: var(--primary-orange);

    border-radius: 50px;

    font-size: .85rem;
    font-weight: 600;

    margin-bottom: 15px;
}

.about-content h2{
    font-size: 2.3rem;
    color: var(--primary-blue);
    margin-bottom: 15px;
}

.about-content h2 span{
    color: var(--primary-orange);
}

.about-content p{
    color: #64748b;
    line-height: 1.8;
    margin-bottom: 18px;
}

.rate-box{
    display: inline-flex;
    align-items: center;
    gap: 18px;

    background: #fff;

    padding: 18px 24px;

    border-radius: 14px;

    box-shadow: 0 10px 25px rgba(0,0,0,.06);

    margin-bottom: 15px;
}

.rate-number{
    font-size: 3rem;
    font-weight: 800;
    color: var(--primary-orange);
    line-height: 1;
}

.rate-text{
    color: var(--primary-blue);
    font-weight: 600;
}

.about-note{
    font-size: .8rem;
    color: #94a3b8;
}

@media (max-width: 768px){

    .about-company{
        padding: 50px 0;
    }

    .about-wrapper{
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .about-content{
        text-align: center;
    }

    .about-content h2{
        font-size: 1.7rem;
    }

    .rate-box{
        justify-content: center;
        width: 100%;
    }

    .rate-number{
        font-size: 2.3rem;
    }

}

/* *************SECTION ONFIANCE*************** */
.trust-section{
    padding: 70px 0;
    background: linear-gradient(135deg, #f8fafc, #eef4ff);
}

/* HEADER */
.trust-header{
    text-align: center;
    margin-bottom: 30px;
}

.trust-header h2{
    font-size: 2.2rem;
    font-weight: 700;
    color: var(--primary-blue);
    margin-bottom: 10px;
}

.trust-header h2 span{
    color: var(--primary-orange);
}

.trust-header p{
    max-width: 700px;
    margin: 0 auto;
    color: #64748b;
    font-size: .95rem;
    line-height: 1.6;
}

/* GRID */
.trust-grid{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
}

/* CARD */
.trust-card{
    background: #fff;
    border-radius: 14px;
    padding: 18px 14px;
    text-align: center;
    box-shadow: 0 8px 20px rgba(0,0,0,0.05);
    transition: .3s ease;
}

.trust-card:hover{
    transform: translateY(-4px);
}

.trust-card i{
    font-size: 1.4rem;
    color: var(--primary-orange);
    margin-bottom: 8px;
}

.trust-card h3{
    font-size: .95rem;
    color: var(--primary-blue);
    margin-bottom: 5px;
}

.trust-card p{
    font-size: .8rem;
    color: #64748b;
}

/* CTA */
.trust-cta{
    text-align: center;
    margin-top: 30px;
}

.trust-btn{
    display: inline-block;
    padding: 12px 28px;
    background: linear-gradient(135deg, var(--primary-orange), #ff6a00);
    color: #fff;
    font-weight: 600;
    border-radius: 10px;
    text-decoration: none;
    box-shadow: 0 10px 25px rgba(255,140,0,0.25);
    transition: .3s ease;
}

.trust-btn:hover{
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(255,140,0,0.35);
}

.trust-cta p{
    margin-top: 10px;
    font-size: .85rem;
    color: #64748b;
}

/* TABLET */
@media (max-width: 992px){
    .trust-grid{
        grid-template-columns: repeat(2, 1fr);
    }
}

/* MOBILE */
@media (max-width: 768px){

    .trust-section{
        padding: 50px 0;
    }

    .trust-header h2{
        font-size: 1.6rem;
    }

    .trust-grid{
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    .trust-card{
        padding: 14px 10px;
    }

    .trust-card i{
        font-size: 1.2rem;
    }

    .trust-card h3{
        font-size: .85rem;
    }

    .trust-card p{
        font-size: .75rem;
    }
}

/* ******************SECTION SIMULATION**************** */
.simulator{
    padding: 70px 0;
    background: #f8fafc;
}

.simulator-wrapper{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: start;
}

/* FORM */

.sim-form{
    background: #fff;
    padding: 25px;
    border-radius: 16px;
    box-shadow: 0 10px 25px rgba(0,0,0,.05);
}

.sim-form h2{
    color: var(--primary-blue);
    margin-bottom: 8px;
}

.sim-form p{
    font-size: .9rem;
    color: #64748b;
    margin-bottom: 20px;
}

.sim-form label{
    display: block;
    margin-top: 12px;
    font-size: .85rem;
    color: #334155;
}

.sim-form input{
    width: 100%;
    padding: 10px;
    margin-top: 5px;
    border-radius: 10px;
    border: 1px solid #e2e8f0;
    outline: none;
}

/* BUTTON */

.sim-form .btn{
    margin-top: 20px;
    width: 100%;
    padding: 12px;
    background: var(--primary-orange);
    color: #fff;
    border: none;
    border-radius: 10px;
    font-weight: 600;
    cursor: pointer;
}

/* RESULT CARD */

.result-card{
    background: linear-gradient(135deg, #0b2a4a, #0d3b66);
    color: #fff;
    padding: 25px;
    border-radius: 16px;
    box-shadow: 0 12px 30px rgba(0,0,0,.2);
}

.result-card h3{
    margin-bottom: 15px;
}

.result-line{
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
    font-size: .95rem;
}

.result-line.total{
    font-weight: 700;
    font-size: 1.1rem;
    margin-top: 10px;
    border-top: 1px solid rgba(255,255,255,.2);
    padding-top: 10px;
}

.note{
    font-size: .75rem;
    opacity: .8;
    margin-top: 15px;
}

/* MOBILE */

@media (max-width: 768px){

    .simulator-wrapper{
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .sim-form,
    .result-card{
        padding: 20px;
    }

}
.sim-header{
    text-align: center;
    margin-bottom: 35px;
}

.sim-header h2{
    font-size: 2.2rem;
    color: var(--primary-blue);
    font-weight: 700;
    margin-bottom: 10px;
}

.sim-header h2 span{
    color: var(--primary-orange);
}

.sim-header p{
    max-width: 650px;
    margin: 0 auto;
    color: #64748b;
    font-size: .95rem;
    line-height: 1.6;
}
   /* MOBILE */

@media (max-width: 768px){

    /* TITRE SECTION */
    .sim-header h2{
        font-size: 1.6rem;
        line-height: 1.3;
    }

    .sim-header p{
        font-size: .85rem;
        padding: 0 10px;
    }

    /* TITRE FORMULAIRE */

    .sim-form h2{
        font-size: 1.25rem;
        line-height: 1.3;
    }

    .sim-form p{
        font-size: .82rem;
        margin-bottom: 15px;
    }

    .sim-form,
    .result-card{
        padding: 18px;
    }
}

/* PETITS MOBILES */

@media (max-width: 480px){

    .sim-header h2{
        font-size: 1.4rem;
    }

    .sim-form h2{
        font-size: 1.1rem;
    }

    .sim-header p,
    .sim-form p{
        font-size: .8rem;
    }
}

/* *************SECTION PRESENTATION SERVICE INDEX******************* */
.services{
    padding: 70px 0;
    background: linear-gradient(180deg, hsl(203, 96%, 89%) 0%, #cee1fa 100%);
}

.services-wrapper{
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 50px;
    align-items: center;
}

/* HEADER */

.services-header h2{
    font-size: 2.2rem;
    color: var(--primary-blue);
    font-weight: 700;
    margin-bottom: 10px;
}

.services-header h2 span{
    color: var(--primary-orange);
}

.services-header p{
    font-size: .95rem;
    color: #64748b;
    line-height: 1.6;
    margin-bottom: 25px;
}

/* LIST (NO CARDS) */

.services-list{
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.service-item{
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.service-item i{
    font-size: 1.2rem;
    color: var(--primary-orange);
    margin-top: 4px;
}

.service-item h3{
    font-size: .95rem;
    color: var(--primary-blue);
    margin-bottom: 2px;
}

.service-item p{
    font-size: .82rem;
    color: #64748b;
    margin: 0;
}

/* IMAGE */

.services-image img{
    width: 100%;
    border-radius: 18px;
    box-shadow: 0 15px 35px rgba(0,0,0,.08);
}

/* RESPONSIVE */

@media (max-width: 992px){
    .services-wrapper{
        grid-template-columns: 1fr;
    }

    .services-image{
        order: -1;
    }
}

@media (max-width: 768px){

    .services{
        padding: 45px 0;
    }

    .services-header h2{
        font-size: 1.6rem;
    }

    .service-item h3{
        font-size: .9rem;
    }

    .service-item p{
        font-size: .75rem;
    }
}
@media (max-width: 768px){

    /* SECTION PLUS AÉRÉE */
    .services{
        padding: 50px 0;
    }

    /* GRID EN SIMPLE COLUMN */
    .services-wrapper{
        grid-template-columns: 1fr;
        gap: 25px;
    }

    /* IMAGE AU-DESSUS */
    .services-image{
        order: -1;
        display: flex;
        justify-content: center;
    }

    .services-image img{
        width: 95%;
        max-width: 420px;
        border-radius: 16px;
    }

    /* CENTRAGE GLOBAL TEXTE */
    .services-content{
        text-align: center;
    }

    .services-header h2{
        font-size: 1.7rem;
        text-align: center;
    }

    .services-header p{
        text-align: center;
        margin: 0 auto 20px;
        font-size: .9rem;
    }

    /* LISTE PROPRE MOBILE */
    .services-list{
        align-items: center;
        gap: 10px;
    }

    .service-item{
        width: 100%;
        max-width: 320px;

        margin: 0 auto;

        background: #fff;
        border-radius: 12px;

        padding: 12px 14px;

        display: flex;
        align-items: center;
        gap: 12px;

        box-shadow: 0 8px 18px rgba(0,0,0,0.05);
    }

    /* ICÔNE MOBILE */
    .service-item i{
        font-size: 1.2rem;
        color: var(--primary-orange);
        min-width: 24px;
    }

    /* TEXTE MOBILE */
    .service-item h3{
        font-size: .9rem;
        margin: 0;
    }

    .service-item p{
        font-size: .75rem;
        margin: 0;
        color: #64748b;
    }
}

/* **************AVIS CLIENTS******************* */
.testimonials{
    padding: 80px 0;
    background: linear-gradient(135deg, #becce7c1, #e8e8e8);
}

/* HEADER */
.testimonials-header{
    text-align: center;
    margin-bottom: 35px;
}

.testimonials-header h2{
    font-size: 2.2rem;
    font-weight: 800;
    color: var(--primary-blue);
}

.testimonials-header h2 span{
    color: var(--primary-orange);
}

.testimonials-header p{
    font-size: .95rem;
    color: #64748b;
    max-width: 600px;
    margin: 10px auto 0;
}

/* SLIDER WRAPPER */
.testimonial-slider{
    position: relative;
    max-width: 750px;
    margin: 0 auto;
    min-height: 180px;
}

/* SLIDE CARD STYLE */
.testimonial-slide{
    position: absolute;
    width: 100%;
    opacity: 0;
    transform: scale(0.98);
    transition: all .6s ease;

    background: rgba(255,255,255,0.75);
    backdrop-filter: blur(10px);

    border: 1px solid rgba(0,0,0,0.05);

    border-radius: 16px;

    padding: 28px 24px;

    text-align: center;

    box-shadow: 0 12px 30px rgba(0,0,0,0.05);
}

.testimonial-slide.active{
    opacity: 1;
    transform: scale(1);
    position: relative;
}

/* QUOTE TEXT */
.testimonial-slide p{
    font-size: 1.05rem;
    color: #334155;
    line-height: 1.7;
    font-style: italic;
    margin-bottom: 14px;
}

/* AUTHOR */
.testimonial-slide h4{
    font-size: .9rem;
    color: var(--primary-orange);
    font-weight: 700;
    letter-spacing: .3px;
}

/* QUOTE ICON DECOR */
.testimonial-slide::before{
    content: "“";
    font-size: 3rem;
    color: rgba(255,140,0,0.15);
    position: absolute;
    top: 10px;
    left: 20px;
}

/* DOTS */
.testimonial-dots{
    text-align: center;
    margin-top: 25px;
}

.dot{
    display: inline-block;
    width: 9px;
    height: 9px;
    margin: 0 4px;
    border-radius: 50%;
    background: #cbd5e1;
    cursor: pointer;
    transition: .3s;
}

.dot.active{
    background: var(--primary-orange);
    transform: scale(1.3);
}

/* MOBILE */
@media (max-width: 768px){

    .testimonials{
        padding: 55px 0;
    }

    .testimonials-header h2{
        font-size: 1.6rem;
    }

    .testimonial-slide{
        padding: 20px 16px;
        border-radius: 14px;
    }

    .testimonial-slide p{
        font-size: .9rem;
    }
}

/* ***************SECTION SEO-CTA INDEX******************* */
.seo-cta{
    padding: 80px 0;
    background: linear-gradient(135deg, #0b2a4a, #0d3b66);
    color: #fff;
    position: relative;
    overflow: hidden;
}
/* LIGHT EFFECT */
.seo-cta::before{
    content: "";
    position: absolute;
    width: 400px;
    height: 400px;
    background: rgba(255,140,0,0.15);
    top: -120px;
    right: -120px;
    border-radius: 50%;
    filter: blur(80px);
}

.seo-cta-wrapper{
    display: flex;
    justify-content: center;
    text-align: center;
}

.seo-cta-content{
    max-width: 800px;
}

.seo-cta h2{
    font-size: 2.2rem;
    font-weight: 800;
    line-height: 1.3;
    margin-bottom: 15px;
    color: #ffffff;
}

.seo-cta h2 span{
    color: var(--primary-orange);
}

.seo-cta p{
    font-size: 1rem;
    color: rgba(255,255,255,0.85);
    line-height: 1.7;
    margin-bottom: 25px;
}

/* BUTTON */
.seo-cta-btn{
    display: inline-block;
    padding: 14px 32px;
    background: linear-gradient(135deg, var(--primary-orange), #ff6a00);
    color: #fff;
    font-weight: 700;
    border-radius: 12px;
    text-decoration: none;
    box-shadow: 0 12px 30px rgba(255,140,0,0.25);
    transition: .3s ease;
}

.seo-cta-btn:hover{
    transform: translateY(-3px);
    box-shadow: 0 18px 40px rgba(255,140,0,0.35);
}

/* MOBILE */
@media (max-width: 768px){

    .seo-cta{
        padding: 55px 0;
    }

    .seo-cta h2{
        font-size: 1.6rem;
    }

    .seo-cta p{
        font-size: .9rem;
    }

    .seo-cta-btn{
        width: 85%;
        text-align: center;
    }
}

/* **************************************************
                  PAGE SERVICES
************************************************* */
.services-hero{
    padding: 50px 0;
    background: linear-gradient(135deg, #0b2a4a, #0d3b66);
    color: #fff;
    text-align: center;
    position: relative;
    overflow: hidden;
}

/* effet lumière */
.services-hero::before{
    content: "";
    position: absolute;
    width: 300px;
    height: 300px;
    background: rgba(97, 97, 96, 0.15);
    top: -100px;
    right: -100px;
    border-radius: 50%;
    filter: blur(80px);
}

.services-hero h2{
    font-size: 2rem; 
    font-weight: 800;
    margin-bottom: 8px;
    line-height: 1.2;
    color: #ffffff;
}

.services-hero p{
    font-size: 0.95rem;
    color: rgba(255,255,255,0.85);
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.6;
}

/* TABLET */
@media (max-width: 992px){
    .services-hero h2{
        font-size: 1.7rem;
    }
}

/* MOBILE */
@media (max-width: 768px){

    .services-hero{
        padding: 35px 0; /* encore plus compact */
    }

    .services-hero h2{
        font-size: 1.4rem;
        padding: 0 10px;
    }

    .services-hero p{
        display: none;
    }
}

/* *************TYPES DE SERVICES****************** */
.services{
    padding: 70px 0;
    background: #f8fafc;
}

/* HEADER */
.services-header{
    text-align: center;
    margin-bottom: 35px;
}

.services-header h2{
    font-size: 2rem;
    font-weight: 800;
    color: var(--primary-blue);
}

.services-header p{
    font-size: .95rem;
    color: #64748b;
    max-width: 600px;
    margin: 8px auto 0;
}

/* GRID */
.services-grid{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
}

/* CARD */
.service-card{
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    text-align: center;

    box-shadow: 0 8px 20px rgba(0,0,0,0.05);
    border: 1px solid #eef2f7;

    transition: .3s ease;
}

.service-card:hover{
    transform: translateY(-6px);
    box-shadow: 0 14px 30px rgba(0,0,0,0.08);
}

/* IMAGE */
.service-card img{
    width: 100%;
    height: 140px;
    object-fit: cover;
}

/* TITLE */
.service-card h3{
    font-size: 1rem;
    font-weight: 700;
    color: var(--primary-blue);
    margin: 12px 0 6px;
}

/* TEXT */
.service-card p{
    font-size: .82rem;
    color: #64748b;
    padding: 0 10px;
    margin-bottom: 12px;
}

/* BUTTON */
.service-btn{
    display: inline-block;
    margin-bottom: 14px;
    padding: 8px 16px;
    font-size: .8rem;
    font-weight: 600;

    background: var(--primary-orange);
    color: #fff;
    border-radius: 8px;
    text-decoration: none;

    transition: .3s ease;
}

.service-btn:hover{
    background: #ff7a00;
    transform: scale(1.05);
}

/* TABLET */
@media (max-width: 992px){
    .services-grid{
        grid-template-columns: repeat(2, 1fr);
    }
}

/* MOBILE */
@media (max-width: 768px){

    .services{
        padding: 50px 0;
    }

    .services-header h2{
        font-size: 1.5rem;
    }

    .services-grid{
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .service-card img{
        height: 160px;
    }
}

/* ***************SECTION COMMENT çA MARCHE ?************* */
.how-it-works{
    padding: 70px 0;
    background: #dbf5fc;
}

/* HEADER */
.section-header{
    text-align: center;
    margin-bottom: 40px;
}

.section-header h2{
    font-size: 2rem;
    font-weight: 800;
    color: var(--primary-blue);
}

.section-header p{
    font-size: .95rem;
    color: #64748b;
    max-width: 600px;
    margin: 8px auto 0;
}

/* GRID */
.steps-grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}

/* CARD */
.step-card{
    background: #f8fafc;
    border: 1px solid #eef2f7;
    border-radius: 14px;

    padding: 25px 18px;
    text-align: center;

    position: relative;

    transition: .3s ease;
}

.step-card:hover{
    transform: translateY(-5px);
    box-shadow: 0 12px 25px rgba(0,0,0,0.06);
}

/* NUMBER */
.step-number{
    position: absolute;
    top: 10px;
    left: 10px;

    width: 28px;
    height: 28px;
    border-radius: 50%;

    background: var(--primary-orange);
    color: #fff;

    font-size: .8rem;
    font-weight: bold;

    display: flex;
    align-items: center;
    justify-content: center;
}

/* ICON */
.step-card i{
    font-size: 1.6rem;
    color: var(--primary-blue);
    margin-bottom: 10px;
}

/* TITLE */
.step-card h3{
    font-size: 1rem;
    font-weight: 700;
    color: var(--primary-blue);
    margin-bottom: 6px;
}

/* TEXT */
.step-card p{
    font-size: .82rem;
    color: #64748b;
    line-height: 1.4;
}

/* TABLET */
@media (max-width: 992px){
    .steps-grid{
        grid-template-columns: 1fr;
    }
}

/* MOBILE */
@media (max-width: 768px){

    .how-it-works{
        padding: 50px 0;
    }

    .section-header h2{
        font-size: 1.5rem;
    }
}

/* ***********SECTION INFO SERVICES**************** */

.services-info{
    padding: 70px 0;
    background: #f8fafc;
}

/* WRAPPER */
.services-info-wrapper{
    display: flex;
    align-items: center;
    gap: 40px;
}

/* IMAGE */
.services-info-image{
    flex: 1;
}

.services-info-image img{
    width: 100%;
    border-radius: 16px;
    object-fit: cover;
    box-shadow: 0 12px 30px rgba(0,0,0,0.08);
}

/* CONTENT */
.services-info-content{
    flex: 1;
}

.services-info-content h2{
    font-size: 1.9rem;
    font-weight: 800;
    color: var(--primary-blue);
    margin-bottom: 12px;
}

.services-info-content p{
    font-size: .95rem;
    color: #64748b;
    line-height: 1.6;
    margin-bottom: 15px;
}

/* LIST */
.services-info-content ul{
    list-style: none;
    padding: 0;
    margin: 0 0 20px;
}

.services-info-content ul li{
    font-size: .9rem;
    color: #334155;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.services-info-content ul li i{
    color: var(--primary-orange);
}

/* BUTTON */
.info-btn{
    display: inline-block;
    padding: 10px 18px;
    background: var(--primary-orange);
    color: #fff;
    border-radius: 8px;
    font-size: .85rem;
    font-weight: 600;
    text-decoration: none;
    transition: .3s;
}

.info-btn:hover{
    background: #ff7a00;
    transform: translateY(-2px);
}

/* TABLET */
@media (max-width: 992px){
    .services-info-wrapper{
        flex-direction: column;
        text-align: center;
    }

    .services-info-content ul li{
        justify-content: center;
    }
}

/* MOBILE */
@media (max-width: 768px){

    .services-info{
        padding: 50px 0;
    }

    .services-info-content h2{
        font-size: 1.5rem;
    }

    .services-info-content p{
        font-size: .9rem;
    }
}

/* ************SECTION FAQ****************** */
.faq{
    padding: 70px 0;
    background: #f8fafc;
}

.faq-wrapper{
    display: flex;
    align-items: center;
    gap: 40px;
}

/* CONTENT */
.faq-content{
    flex: 1;
}

.faq-content h2{
    font-size: 2rem;
    font-weight: 800;
    color: var(--primary-blue);
    margin-bottom: 8px;
}

.faq-content p{
    font-size: .95rem;
    color: #64748b;
    margin-bottom: 20px;
}

/* ITEM */
.faq-item{
    background: #fff;
    border: 1px solid #eef2f7;
    border-radius: 12px;
    padding: 14px;
    margin-bottom: 10px;
    cursor: pointer;
    transition: .3s ease;
}

.faq-item:hover{
    box-shadow: 0 10px 20px rgba(0,0,0,0.05);
}

.faq-item h3{
    font-size: .95rem;
    color: var(--primary-blue);
    margin: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.faq-item h3::after{
    content: "+";
    color: var(--primary-orange);
    font-weight: bold;
    transition: .3s;
}

.faq-item.active h3::after{
    content: "−";
}

/* ANSWER */
.faq-item p{
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: all 0.4s ease;
    margin: 0;
    font-size: .85rem;
    color: #64748b;
}

.faq-item.active p{
    max-height: 200px;
    opacity: 1;
    margin-top: 8px;
}

/* IMAGE */
.faq-image{
    flex: 1;
}

.faq-image img{
    width: 100%;
    border-radius: 16px;
    object-fit: cover;
    box-shadow: 0 12px 30px rgba(0,0,0,0.08);
}

/* TABLET */
@media (max-width: 992px){
    .faq-wrapper{
        flex-direction: column;
    }

    .faq-content{
        text-align: center;
    }
}

/* MOBILE */
@media (max-width: 768px){
    .faq{
        padding: 50px 0;
    }

    .faq-content h2{
        font-size: 1.5rem;
    }
}
/* 
**********************************************
           PAGE A PROPOS
************************************************ */

.about-company{
    padding: 80px 0;
    background: #ffffff;
}

.about-company-wrapper{
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 50px;
    align-items: center;
}

/* TITRE */

.about-company-content h2{
    font-size: 2.2rem;
    font-weight: 700;
    color: var(--primary-blue);
    margin-bottom: 15px;
    line-height: 1.2;
}

.about-company-content h2 span{
    color: var(--primary-orange);
}

/* TEXTE */

.about-company-content p{
    font-size: .95rem;
    color: #64748b;
    line-height: 1.7;
    margin-bottom: 14px;
}

/* STATS */

.company-stats{
    display: flex;
    gap: 15px;
    margin-top: 25px;
    flex-wrap: wrap;
}

.stat-box{
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 14px 18px;
    min-width: 120px;
    text-align: center;

    transition: .3s ease;
}

.stat-box:hover{
    transform: translateY(-3px);
    border-color: rgba(255,140,0,.25);
}

.stat-box strong{
    display: block;
    font-size: 1.4rem;
    color: var(--primary-orange);
    margin-bottom: 4px;
}

.stat-box span{
    font-size: .8rem;
    color: #64748b;
}

/* IMAGE */

.about-company-image img{
    width: 100%;
    display: block;
    border-radius: 18px;
    box-shadow: 0 15px 35px rgba(0,0,0,.08);
}

/* TABLET */

@media (max-width:992px){

    .about-company-wrapper{
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .about-company-image{
        order: -1;
    }

}

/* MOBILE */

@media (max-width:768px){

    .about-company{
        padding: 50px 0;
    }

    .about-company-content{
        text-align: center;
    }

    .about-company-content h2{
        font-size: 1.7rem;
    }

    .about-company-content p{
        font-size: .9rem;
    }

    .company-stats{
        justify-content: center;
        gap: 10px;
    }

    .stat-box{
        min-width: 95px;
        padding: 12px;
    }

    .stat-box strong{
        font-size: 1.2rem;
    }

    .stat-box span{
        font-size: .75rem;
    }

}
/* ******************SECTION MISSION**************** */
.mission-section{
    padding: 90px 0;
    background:
    linear-gradient(
        180deg,
        #ffffff 0%,
        #a8cef4b0 100%
    );

    overflow: hidden;
}

.mission-wrapper{
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 60px;
    align-items: center;
}

/* IMAGE */

.mission-image{
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

.mission-image::before{
    content: "";
    position: absolute;

    width: 330px;
    height: 330px;

    border-radius: 50%;

    background:
    linear-gradient(
        135deg,
        rgba(255,140,0,.12),
        rgba(13,59,102,.12)
    );

    z-index: 0;
}

.mission-image img{
    position: relative;
    z-index: 2;

    width: 280px;
    height: 280px;

    object-fit: cover;

    border-radius: 50%;

    border: 8px solid #fff;

    box-shadow:
    0 20px 45px rgba(0,0,0,.12);

    transition: .4s ease;
}

.mission-image img:hover{
    transform: scale(1.03);
}

/* CONTENT */

.mission-content h2{
    font-size: 2.3rem;
    font-weight: 800;
    color: var(--primary-blue);

    line-height: 1.2;

    margin-bottom: 18px;
}

.mission-content h2 span{
    color: var(--primary-orange);
}

.mission-content p{
    font-size: .97rem;
    line-height: 1.8;

    color: #64748b;

    margin-bottom: 16px;
}

/* PETITE BARRE DESIGN */

.mission-content h2::after{
    content: "";

    display: block;

    width: 70px;
    height: 4px;

    margin-top: 12px;

    border-radius: 20px;

    background:
    linear-gradient(
        90deg,
        var(--primary-orange),
        var(--primary-blue)
    );
}

/* TABLET */

@media (max-width:992px){

    .mission-wrapper{
        grid-template-columns: 1fr;
        gap: 35px;
        text-align: center;
    }

    .mission-content h2::after{
        margin: 12px auto 0;
    }

}

/* MOBILE */

@media (max-width:768px){

    .mission-section{
        padding: 55px 0;
    }

    .mission-wrapper{
        gap: 25px;
    }

    .mission-image::before{
        width: 240px;
        height: 240px;
    }

    .mission-image img{
        width: 200px;
        height: 200px;
        border-width: 6px;
    }

    .mission-content h2{
        font-size: 1.7rem;
    }

    .mission-content p{
        font-size: .88rem;
        line-height: 1.7;
    }
}

/* ******************SECTION VALEURS********************* */
.values-section{
    padding: 90px 0;
    background: #ffffff;
    overflow: hidden;
}

.values-wrapper{
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 60px;
    align-items: center;
}

/* IMAGE */

.values-image{
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

.values-image::before{
    content: "";

    position: absolute;

    width: 330px;
    height: 330px;

    border-radius: 50%;

    background:
    linear-gradient(
        135deg,
        rgba(255,140,0,.12),
        rgba(13,59,102,.12)
    );

    z-index: 0;
}

.values-image img{
    position: relative;
    z-index: 2;

    width: 280px;
    height: 280px;

    object-fit: cover;

    border-radius: 50%;

    border: 8px solid #fff;

    box-shadow:
    0 20px 45px rgba(0,0,0,.12);

    transition: .4s ease;
}

.values-image img:hover{
    transform: scale(1.03);
}

/* CONTENT */

.values-content h2{
    font-size: 2.3rem;
    font-weight: 800;
    color: var(--primary-blue);

    margin-bottom: 18px;
    line-height: 1.2;
}

.values-content h2 span{
    color: var(--primary-orange);
}

.values-content h2::after{
    content: "";

    display: block;

    width: 70px;
    height: 4px;

    margin-top: 12px;

    border-radius: 20px;

    background:
    linear-gradient(
        90deg,
        var(--primary-orange),
        var(--primary-blue)
    );
}

.values-content p{
    font-size: .97rem;
    line-height: 1.8;
    color: #64748b;
    margin-bottom: 16px;
}

/* TABLET */

@media (max-width:992px){

    .values-wrapper{
        grid-template-columns: 1fr;
        gap: 35px;
        text-align: center;
    }

    .values-image{
        order: -1;
    }

    .values-content h2::after{
        margin: 12px auto 0;
    }
}

/* MOBILE */

@media (max-width:768px){

    .values-section{
        padding: 55px 0;
    }

    .values-image::before{
        width: 240px;
        height: 240px;
    }

    .values-image img{
        width: 200px;
        height: 200px;
        border-width: 6px;
    }

    .values-content h2{
        font-size: 1.7rem;
    }

    .values-content p{
        font-size: .88rem;
        line-height: 1.7;
    }
}

/* ***********************SECTION CTA A PROPOS************************* */
.about-cta{
    padding: 90px 20px;
    text-align: center;
    position: relative;
    overflow: hidden;

    /*  NOUVEAU FOND PREMIUM */
    background:
        radial-gradient(circle at top left, rgba(255,140,0,.25), transparent 40%),
        radial-gradient(circle at bottom right, rgba(13,59,102,.35), transparent 45%),
        linear-gradient(135deg, #0b2a4a, #061a2b);
}

/* effet lumière */
.about-cta::before{
    content:"";
    position:absolute;
    inset:0;
    background: url("images/loanperso.jpeg");
    opacity:.05;
    pointer-events:none;
}

/* TITRE */
.about-cta h2{
    color: #fff;
    font-size: 2.3rem;
    font-weight: 800;
    margin-bottom: 15px;
    line-height: 1.2;
}

.about-cta p{
    color: rgba(255,255,255,.78);
    max-width: 650px;
    margin: 0 auto 28px;
    font-size: .95rem;
    line-height: 1.7;
}

/* 🔥 CTA BUTTON GLASS STYLE */
.cta-btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 15px 38px;
    border-radius: 14px;

    text-decoration: none;
    font-weight: 700;
    font-size: 1rem;

    color: #fff;

    background: linear-gradient(135deg, #ff8a00, #ff6a00);

    box-shadow:
        0 10px 30px rgba(255,140,0,.35);

    position: relative;
    overflow: hidden;

    transition: .35s ease;
}

/* shine effect */
.cta-btn::before{
    content:"";
    position:absolute;
    top:0;
    left:-100%;
    width:100%;
    height:100%;
    background: rgba(255,255,255,.25);
    transform: skewX(-25deg);
    transition: .5s;
}

.cta-btn:hover::before{
    left: 120%;
}

.cta-btn:hover{
    transform: translateY(-3px) scale(1.03);
    box-shadow:
        0 15px 40px rgba(255,140,0,.5);
}

/* MOBILE */
@media (max-width:768px){

    .about-cta{
        padding: 60px 18px;
    }

    .about-cta h2{
        font-size: 1.7rem;
    }

    .about-cta p{
        font-size: .88rem;
    }

    .cta-btn{
        width: 100%;
        max-width: 280px;
    }
}

/* *****************************************
        PAGE CONTACTT
***************************************** */
.contact-section{
    padding: 100px 0;
    background:
        radial-gradient(circle at top left, rgba(255,140,0,.10), transparent 45%),
        radial-gradient(circle at bottom right, rgba(13,59,102,.12), transparent 50%),
        #f6f8fc;
}

/* WRAPPER */
.contact-wrapper{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: start;
}

/* LEFT SIDE */
.contact-info h2{
    font-size: 2.4rem;
    font-weight: 800;
    color: var(--primary-blue);
    margin-bottom: 12px;
}

.contact-info p{
    font-size: .95rem;
    color: #64748b;
    line-height: 1.7;
    margin-bottom: 28px;
}

/* CONTACT BOX */
.contact-box{
    display: flex;
    flex-direction: column;
    gap: 14px;
}

/* ITEM */
.info-item{
    display: flex;
    align-items: center;
    gap: 12px;

    background: #fff;
    padding: 15px 16px;

    border-radius: 14px;

    box-shadow: 0 12px 25px rgba(0,0,0,.06);

    transition: all .3s ease;
    cursor: default;
}

.info-item:hover{
    transform: translateY(-4px);
    box-shadow: 0 18px 35px rgba(0,0,0,.10);
}

/* ICON */
.info-item i{
    font-size: 1.25rem;
    color: var(--primary-orange);
    transition: .3s ease;
}

/* WHATSAPP SPECIAL */
.info-item.whatsapp i{
    color: #25D366;
}

.info-item a,
.info-item span{
    font-size: .92rem;
    color: #1f2937;
    text-decoration: none;
    font-weight: 600;
}

/* FORM CARD */
.contact-form{
    background: #fff;
    padding: 30px;
    border-radius: 18px;

    box-shadow: 0 18px 45px rgba(0,0,0,.08);

    border: 1px solid rgba(0,0,0,.04);
}

/* FORM */
.contact-form form{
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.contact-form label{
    font-size: .85rem;
    font-weight: 500;
    color: #64748b;
}

/* INPUTS */
.contact-form input,
.contact-form textarea{
    padding: 13px 14px;
    border-radius: 12px;

    border: 1px solid #e5e7eb;
    outline: none;

    font-size: .92rem;

    transition: .25s ease;
    background: #fafafa;
}

.contact-form input:focus,
.contact-form textarea:focus{
    background: #fff;
    border-color: var(--primary-orange);
    box-shadow: 0 0 0 4px rgba(255,140,0,.15);
}

/* BUTTON */
.contact-form button{
    margin-top: 10px;
    padding: 14px;

    border: none;

    border-radius: 14px;

    font-size: 1rem;
    font-weight: 700;

    color: #fff;

    background: linear-gradient(135deg,#ff8a00,#ff6a00);

    cursor: pointer;

    transition: all .3s ease;
}

.contact-form button:hover{
    transform: translateY(-3px);
    box-shadow: 0 18px 40px rgba(255,140,0,.35);
}

/* MOBILE */
@media (max-width: 768px){

    .contact-section{
        padding: 65px 0;
    }

    .contact-wrapper{
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .contact-info{
        text-align: center;
    }

    .info-item{
        justify-content: center;
    }

    .contact-form{
        padding: 22px;
    }
}

/* **************************************
        PAGE DEMANDES
**************************************         */
.credit-section{
    padding: 70px 0;
    background:
        radial-gradient(circle at 15% 20%, rgba(255,138,0,.05), transparent 45%),
        radial-gradient(circle at 85% 80%, rgba(13,59,102,.04), transparent 50%),
        #f6f8fc;
}

   /* MAIN CARD (WIDE + COMPACT HEIGHT) */

.credit-single-box{
    width: 100%;
    max-width: 1200px;
    margin: auto;

    background: #ffffff;

    padding: 55px 80px;

    border-radius: 28px;

    box-shadow: 0 35px 90px rgba(0,0,0,.10);

    border: 1px solid rgba(0,0,0,.04);

    position: relative;
    overflow: hidden;
}

/* TOP ACCENT LINE */
.credit-single-box::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 6px;

    background: linear-gradient(90deg,#ff8a00,#ff6a00,#0d3b66);
}

 
   /* HEADER */

.credit-head{
    text-align: center;
    margin-bottom: 30px;
}

.credit-head h2{
    font-size: 2.2rem;
    font-weight: 900;
    color: #0d3b66;
    margin-bottom: 10px;
}

.credit-head p{
    font-size: .95rem;
    color: #64748b;
    line-height: 1.7;
    max-width: 650px;
    margin: auto;
}

   /* FORM */

.credit-form{
    display: flex;
    flex-direction: column;
    gap: 14px;
}

/* FORM GROUP */
.form-group{
    display: flex;
    flex-direction: column;
    gap: 6px;
}

/* LABEL */

.form-group label{
    font-size: .8rem;
    font-weight: 600;
    color: var(--primary-blue-dark);
}

   /* INPUTS */

.credit-form input,
.credit-form select{
    width: 100%;

    padding: 13px 14px;

    border-radius: 14px;

    border: 1px solid #e5e7eb;

    background: #fafafa;

    font-size: .95rem;

    transition: all .25s ease;

    outline: none;
}

/* FOCUS EFFECT */

.credit-form input:focus,
.credit-form select:focus{
    background: #fff;
    border-color: #ff8a00;
    box-shadow: 0 0 0 5px rgba(255,138,0,.12);
}

   /* GRID */

.grid-2{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

   /* BUTTON */

.credit-btn{
    margin-top: 6px;

    padding: 14px;

    border: none;
    border-radius: 14px;

    background: linear-gradient(135deg,#ff8a00,#ff6a00);

    color: #fff;

    font-size: 1rem;
    font-weight: 800;

    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;

    cursor: pointer;

    transition: all .3s ease;

    box-shadow: 0 18px 40px rgba(255,138,0,.25);
}

.credit-btn:hover{
    transform: translateY(-4px);
    box-shadow: 0 25px 60px rgba(255,138,0,.35);
}

   /* SECURITY NOTE */

.security-note{
    font-size: .75rem;
    color: #6b7280;
    text-align: center;
    margin-top: 8px;
    line-height: 1.5;
}

.security-note i{
    color: #10b981;
    margin-right: 6px;
}

   /* MOBILE RESPONSIVE */

@media (max-width: 768px){

    .credit-section{
        padding: 60px 0;
    }

    .credit-single-box{
        padding: 35px 18px;
        border-radius: 18px;
    }

    .credit-head h2{
        font-size: 1.7rem;
    }

    .grid-2{
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .credit-form input,
    .credit-form select{
        padding: 12px;
    }
}

/* *******************SECTION POLITIQUE********************** */

.privacy-section{
    padding: 100px 0;
    background:
        radial-gradient(circle at 20% 20%, rgba(255,138,0,.05), transparent 45%),
        radial-gradient(circle at 80% 80%, rgba(13,59,102,.04), transparent 50%),
        #f6f8fc;
}

   /* BLOQUE LARGE (niveau container) */

.privacy-card{
    width: 100%;
    max-width: 1200px; 
    margin: auto;

    background: #ffffff;

    padding: 70px 90px;

    border-radius: 28px;

    box-shadow: 0 40px 100px rgba(0,0,0,.10);

    border: 1px solid rgba(0,0,0,.04);

    position: relative;
    overflow: hidden;
}

/* TOP ACCENT LINE */
.privacy-card::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 6px;

    background: linear-gradient(90deg,#ff8a00,#ff6a00,#0d3b66);
}

   /* HEADER (GRAND + AIRY) */
.privacy-header{
    text-align: center;
    margin-bottom: 50px;
}

.privacy-header h2{
    font-size: 2.6rem;
    font-weight: 900;
    color: #0d3b66;
    margin-bottom: 14px;
    letter-spacing: -0.6px;
}

.privacy-header p{
    font-size: 1.05rem;
    color: #64748b;
    line-height: 1.9;
    max-width: 750px;
    margin: auto;
}

   /* GRID CONTENT (AIRY + LARGE) */

.privacy-body{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

/* ITEM CARD */
.privacy-item{
    background: #fafafa;
    padding: 22px;

    border-radius: 18px;

    border: 1px solid #eee;

    transition: all .25s ease;
}

/* HOVER PREMIUM */
.privacy-item:hover{
    transform: translateY(-4px);
    background: #fff;
    box-shadow: 0 18px 40px rgba(0,0,0,.08);
}

/* TITLE */
.privacy-item h3{
    font-size: 1rem;
    font-weight: 800;
    color: #0d3b66;

    margin-bottom: 10px;

    display: flex;
    align-items: center;
    gap: 10px;
}

.privacy-item h3 i{
    color: #ff8a00;
}

/* TEXT */
.privacy-item p{
    font-size: .9rem;
    color: #64748b;
    line-height: 1.8;
    margin: 0;
}


   /* MOBILE FIX COMPLET (NO OVERFLOW) */

@media (max-width: 768px){

    .privacy-section{
        padding: 60px 0;
        overflow-x: hidden; 
    }

    /* CONTAINER SAFE */
    .privacy-card{
        width: calc(100% - 24px); 
        max-width: 100%;

        margin: 0 auto; 

        padding: 26px 18px;

        border-radius: 16px;

        box-sizing: border-box; 

        box-shadow: 0 15px 40px rgba(0,0,0,.08);
    }

    /* HEADER CENTRÉ */
    .privacy-header{
        text-align: center;
        margin-bottom: 22px;
    }

    .privacy-header h2{
        font-size: 1.6rem;
        line-height: 1.3;
    }

    .privacy-header p{
        font-size: .9rem;
        line-height: 1.6;
        max-width: 100%;
        margin: 0 auto;
    }

    /* GRID MOBILE */
    .privacy-body{
        grid-template-columns: 1fr;
        gap: 12px;
    }

    /* CARD ITEM */
    .privacy-item{
        padding: 14px;
        border-radius: 14px;

        text-align: center; 
        align-items: center;
    }

    .privacy-item h3{
        justify-content: center;
        text-align: center;
        font-size: .95rem;
    }

    .privacy-item p{
        text-align: center;
        font-size: .85rem;
        line-height: 1.6;
    }

    /* disable hover mobile */
    .privacy-item:hover{
        transform: none;
        box-shadow: none;
    }
}

/* ****************************
    PAGE MENTIONS LEGALES
***************************     */

.legal-section{
    padding: 100px 0;

    background:
        radial-gradient(circle at 20% 20%, rgba(255,138,0,.05), transparent 45%),
        radial-gradient(circle at 80% 80%, rgba(13,59,102,.04), transparent 50%),
        #f6f8fc;
}

   /* CARD LARGE (CONTAINER LEVEL) */

.legal-card{
    width: 100%;
    max-width: 1200px;
    margin: auto;

    background: #ffffff;

    padding: 70px 90px;

    border-radius: 28px;

    box-shadow: 0 40px 100px rgba(0,0,0,.10);

    border: 1px solid rgba(0,0,0,.04);

    position: relative;
    overflow: hidden;
}

/* TOP ACCENT LINE */
.legal-card::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 6px;

    background: linear-gradient(90deg,#ff8a00,#ff6a00,#0d3b66);
}

   /* HEADER */

.legal-header{
    text-align: center;
    margin-bottom: 50px;
}

.legal-header h2{
    font-size: 2.5rem;
    font-weight: 900;
    color: #0d3b66;
    margin-bottom: 12px;
}

.legal-header p{
    font-size: 1.05rem;
    color: #64748b;
    max-width: 750px;
    margin: auto;
    line-height: 1.8;
}

   /* GRID BODY */

.legal-body{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

/* ITEM CARD */
.legal-item{
    background: #fafafa;
    border: 1px solid #eee;

    padding: 22px;

    border-radius: 18px;

    transition: .25s ease;
}

/* HOVER EFFECT */
.legal-item:hover{
    background: #fff;
    transform: translateY(-4px);
    box-shadow: 0 18px 40px rgba(0,0,0,.08);
}

/* TITLE */
.legal-item h3{
    font-size: 1rem;
    font-weight: 800;
    color: #0d3b66;

    display: flex;
    align-items: center;
    gap: 10px;

    margin-bottom: 10px;
}

/* ICON */
.legal-item h3 i{
    color: #ff8a00;
}

/* TEXT */
.legal-item p{
    font-size: .95rem;
    color: #64748b;
    line-height: 1.7;
    margin: 0;
}


  /* MOBILE FIX CENTRÉ + NO OVERFLOW*/

@media (max-width: 768px){

    .legal-section{
        padding: 70px 0;
        overflow-x: hidden; 
    }

    /* CARD SAFE MOBILE */

    .legal-card{
        width: calc(100% - 24px);
        max-width: 100%;

        margin: 0 auto; 

        padding: 28px 18px;

        border-radius: 16px;

        box-sizing: border-box;

        box-shadow: 0 18px 45px rgba(0,0,0,.08);
    }

    /* HEADER MOBILE */
    .legal-header{
        text-align: center;
        margin-bottom: 25px;
    }

    .legal-header h2{
        font-size: 1.6rem;
        line-height: 1.3;
    }

    .legal-header p{
        font-size: .9rem;
        line-height: 1.6;
        max-width: 100%;
    }

    /* GRID MOBILE */
    .legal-body{
        grid-template-columns: 1fr;
        gap: 12px;
    }

    /* ITEM MOBILE */
    .legal-item{
        padding: 14px;
        border-radius: 14px;

        text-align: center;
        align-items: center;
    }

    /* TITLE CENTER */
    .legal-item h3{
        justify-content: center;
        text-align: center;
        font-size: .95rem;
    }

    /* TEXT CENTER */
    .legal-item p{
        text-align: center;
        font-size: .85rem;
        line-height: 1.6;
    }

    /* DISABLE HOVER MOBILE */
    .legal-item:hover{
        transform: none;
        box-shadow: none;
    }
}

/* *********************************
         PAGE MERCI
******************************** */

.thankyou-section{
    position: relative;

    padding: 70px 0;

    background:
    url("images/dank.jpg")
    center center / cover no-repeat;

    overflow: hidden;
}

/* OVERLAY */
.thankyou-overlay{
    position: absolute;
    inset: 0;

    background:
    linear-gradient(
    135deg,
    rgb(11, 42, 74),
    rgba(255, 123, 0, 0.473)
    );

    z-index: 1;
}

/* CONTAINER */
.thankyou-section .container{
    position: relative;
    z-index: 2;
}

   /* CARD */

.thankyou-card{

    max-width: 580px;

    margin: 0 auto;

    background: rgba(255,255,255,.98);

    padding: 32px 30px;

    border-radius: 22px;

    text-align: center;

    box-shadow:
    0 25px 60px rgba(0,0,0,.22);

    backdrop-filter: blur(10px);

    border: 1px solid rgba(255,255,255,.4);

    opacity: 0;
    transform: translateY(30px);
}

   /* SUCCESS ICON */

.thankyou-icon{
    margin-bottom: 12px;
}

.thankyou-icon i{

    font-size: 3.8rem;

    color: #16a34a;

    opacity: 0;
    transform: scale(.4);
}

   /* TITLE */
.thankyou-card h2{

    font-size: 1.9rem;

    font-weight: 700;

    color: var(--primary-blue);

    margin-bottom: 10px;
}

   /* TEXT */

.thankyou-text{

    font-size: .95rem;

    color: #64748b;

    line-height: 1.7;

    max-width: 460px;

    margin: 0 auto 18px;
}

   /* NOTE */

.thankyou-note{

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 10px;

    background: #f8fafc;

    border: 1px solid #e2e8f0;

    padding: 12px 16px;

    border-radius: 12px;

    margin-bottom: 18px;

    opacity: 0;
    transform: translateY(15px);
}

.thankyou-note i{

    color: var(--primary-orange);

    font-size: 1rem;

    flex-shrink: 0;
}

.thankyou-note span{

    font-size: .82rem;

    color: #475569;

    line-height: 1.5;
}

   /* BUTTON */

.thankyou-btn{

    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 8px;

    padding: 13px 26px;

    background:
    linear-gradient(
    135deg,
    var(--primary-orange),
    #ff6b00
    );

    color: #fff;

    text-decoration: none;

    border-radius: 12px;

    font-weight: 600;

    transition: .3s ease;

    opacity: 0;
    transform: translateY(15px);
}

.thankyou-btn:hover{

    transform: translateY(-3px);

    box-shadow:
    0 15px 30px rgba(255,138,0,.35);
}

  /* ANIMATIONS*/

.thankyou-card.show{
    animation: cardAppear .8s ease forwards;
}

.thankyou-icon i.show{
    animation: successPop 1s ease forwards;
}

.thankyou-note.show{
    animation: fadeUp .7s ease forwards;
}

.thankyou-btn.show{
    animation: fadeUp .7s ease forwards;
}

/* CARD */
@keyframes cardAppear{

    from{
        opacity:0;
        transform:translateY(30px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}

/* SUCCESS ICON */

@keyframes successPop{

    0%{
        opacity:0;
        transform:scale(.4) rotate(-20deg);
    }

    60%{
        transform:scale(1.15);
    }

    100%{
        opacity:1;
        transform:scale(1);
    }
}

/* ELEMENTS */

@keyframes fadeUp{

    from{
        opacity:0;
        transform:translateY(15px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}

   /*TABLET*/

@media (max-width: 992px){

    .thankyou-section{
        padding: 60px 0;
    }

    .thankyou-card{
        max-width: 540px;
    }
}

   /*MOBILE*/

@media (max-width: 768px){

    .thankyou-section{
        padding: 45px 0;
    }

    .thankyou-card{

        width: calc(100% - 24px);

        padding: 24px 18px;

        border-radius: 18px;

        box-sizing: border-box;
    }

    .thankyou-icon{
        margin-bottom: 10px;
    }

    .thankyou-icon i{
        font-size: 3rem;
    }

    .thankyou-card h2{
        font-size: 1.45rem;
    }

    .thankyou-text{

        font-size: .85rem;

        line-height: 1.6;

        margin-bottom: 15px;
    }

    .thankyou-note{

        flex-direction: column;

        text-align: center;

        gap: 6px;

        padding: 12px;
    }

    .thankyou-note span{

        text-align: center;

        font-size: .78rem;
    }

    .thankyou-btn{

        width: 100%;

        padding: 12px;

        font-size: .9rem;
    }
}

   /*SMALL MOBILE*/

@media (max-width: 480px){

    .thankyou-card{
        width: calc(100% - 18px);
        padding: 22px 16px;
    }

    .thankyou-card h2{
        font-size: 1.3rem;
    }

    .thankyou-text{
        font-size: .82rem;
    }

    .thankyou-note span{
        font-size: .75rem;
    }
}

/* *******FOOTER******* */

.footer{
    background: var(--primary-blue-dark);
    color: var(--text-light);
    padding: 35px 0 12px;
    font-size: 0.85rem;
}

   /* WRAPPER FIX RESPONSIVE */

.footer-wrapper{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;
    flex-wrap: wrap;
}

   /* LEFT */

.footer-left{
    flex: 1;
    min-width: 240px;
}

.footer-logo{
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 6px;
}

.footer-logo span{
    color: var(--primary-orange);
}

.footer-desc{
    font-size: 0.78rem;
    opacity: 0.75;
    line-height: 1.4;
    margin-bottom: 10px;
}

/* CONTACT */
.footer-contact{
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.footer-contact a,
.footer-contact span{
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.78rem;
    color: var(--text-light);
    text-decoration: none;
    opacity: 0.8;
}

   /* CENTER + RIGHT */

.footer-center,
.footer-right{
    flex: 1;
    min-width: 160px;

    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    gap: 6px;
}

.footer-center h4,
.footer-right h4{
    font-size: 0.9rem;
    margin-bottom: 6px;
}

/* LINKS */
.footer-center a,
.footer-right a{
    font-size: 0.78rem;
    color: var(--text-light);
    text-decoration: none;
    opacity: 0.75;
    transition: 0.3s;
}

.footer-center a:hover,
.footer-right a:hover{
    color: var(--primary-orange);
    opacity: 1;
}

   /* BOTTOM */

.footer-bottom{
    text-align: center;
    margin-top: 18px;
    padding-top: 10px;
    font-size: 0.72rem;
    font-weight: 600;
    opacity: 0.55;
    border-top: 1px solid rgba(255,255,255,0.08);
}

   /* MOBILE FIX TOTAL */

@media (max-width:768px){

    .footer-wrapper{
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 25px;
    }

    .footer-left,
    .footer-center,
    .footer-right{
        width: 100%;
        max-width: 100%;
        align-items: center;
        text-align: center;
    }

    .footer-contact{
        align-items: center;
    }
}