/* =========================
   VERSION MOBILE AMÉLIORÉE
   ========================= */
@media (max-width: 768px) {

  /* HEADER */
  header {
    flex-direction: row;
    justify-content: space-between;
    height: auto;
    padding: 0.8rem 1.2rem;
  }

  /* LOGO */
  .logo {
    height: 150px; /* avant ~120px */
  }

  /* NAVIGATION */
  nav {
    display: none;
  }
  .burger {
    right: 150px; /* décale un peu vers la gauche (diminue pour plus) */
    display: flex;
  }

  /* HERO */
  .hero {
    padding: 6rem 1rem 3rem;
    background-position: center;
    background-size: cover;
  }
  .hero h2 {
    font-size: 2rem;
  }
  .hero p {
    font-size: 1rem;
    max-width: 95%;
  }

  /* SERVICES / CARDS */
  .cards-container {
    margin: 0;              /* supprime les gros décalages */
    padding: 0 1rem;
    transform: translateY(-30px); /* remonte légèrement le bloc */
  }

  .card {
    margin-bottom: 1rem;
    transform: none;
    opacity: 1;
    padding: 1.2rem;
  }

  .services, .projects, .team, .testimonials {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  /* IMAGE DE SERVICE */
  .services-image img {
    margin: 1.5rem auto 0;
    display: block;
    max-width: 90%;
    height: auto;
    border-radius: 14px;
    object-fit: cover;
  }

  /* ABOUT */
  .about {
    padding: 3rem 1rem;
    margin: 2rem 0;
  }
  .about-content {
    flex-direction: column;
    gap: 1.5rem;
  }

  /* BOUTONS */
  .btn {
    padding: 0.8rem 1.5rem;
    font-size: 1rem;
  }

  /* FOOTER */
  footer {
    font-size: 0.85rem;
    padding: 1.5rem 1rem;
  }


   .reviews-container {
    flex-direction: column;
    gap: 1rem;
  }

  .reviews-left,
  .reviews-right {
    flex: 1 1 100%;
  }

  .reviews-divider {
    width: 100%;
    height: 4px;
    margin: 1rem 0;
    background: linear-gradient(to right, #FFD700, #FF8C00);
    align-self: auto;
  }

  .reviews-slider {
    margin: 1rem 0;
  }

  .reviews-wrapper,
  .reviews-track {
    display: flex;
    flex-direction: column; /* <--- force les cartes à s'empiler */
    gap: 0.5rem;
  }

  .card {
    flex: 1 1 100%; /* prend toute la largeur */
    padding: 0.75rem;
    max-width: 100%;
  }

  button.prev,
  button.next {
    font-size: 1.5rem;
    padding: 0.25rem 0.5rem;
  }
}

/* Très petits écrans (max 480px) */
@media (max-width: 480px) {
  .burger {
    display: flex;
    position: relative;
    right: 30px; /* décale un peu vers la gauche (diminue pour plus) */
  }
  .hero h2 {
    font-size: 1.7rem;
  }
  .hero p {
    font-size: 0.9rem;
  }
  .logo {
    height: 200px;
  }
  .card {
    padding: 1rem;
  }
}


/* --- RESPONSIVE GLOBAL --- */
@media(max-width:1200px){
  .about-content{flex-direction: column; gap:30px;}
  .about h2{font-size:2.4rem;}
  .about-values h3, .about-methodology h3{font-size:1.7rem;}
}
@media(max-width:992px){
  section{padding:3rem 4%;}
  .services, .projects, .team, .testimonials{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}
}
@media(max-width:768px){
  .hero h2{font-size:2.2rem;} 
  .hero p{font-size:1rem; max-width:520px;}
  .services, .team, .projects, .testimonials{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));}
  nav{display:none;}
}
@media(max-width:480px){
  .hero h2{font-size:1.8rem;} 
  .hero p{font-size:0.95rem; max-width:95%;}
  .btn{padding:0.7rem 1.4rem; font-size:1rem;}
  section h2{font-size:2rem;}
  .team, .projects, .testimonials{grid-template-columns:1fr; gap:1.2rem;}
  header{padding:0 15px; height:120px;}
  #loginBubble{top:80px; right:15px; width:200px;}
}
@media(max-width:360px){
  .hero h2{font-size:1.6rem;}
  .hero p{font-size:0.9rem;}
  .btn{padding:0.6rem 1.2rem; font-size:0.95rem;}
  section h2{font-size:1.8rem;}
}