/* === RESPONSIVE — mobile-first, overrides au-dessus de 640/768/1024 === */

/* Cibles tactiles minimum 44px (accessibilité) */
.btn, .faq-trigger, .contact-item, .gal-item {
  min-height: 44px;
}

/* Galerie — 1 colonne sous 560px (cf PIÈGE #7) */
@media (max-width: 559px) {
  .gal-grid { grid-template-columns: 1fr; }
}

/* Desktop : nav visible, burger masqué */
@media (min-width: 768px) {
  .burger { display: none; }
  .menu-mobile { display: none; }
  .header-cta { display: inline-flex; }
  .nav-desktop { display: flex; }

  /* Sections espacement desktop */
  .stats-grid { gap: 56px; justify-content: center; }
  .stats-sep { display: block; }
}

/* Large desktop */
@media (min-width: 1024px) {
  .zone-cols { grid-template-columns: 1fr 1.3fr; }
  .contact-grid { grid-template-columns: 1fr 1.3fr; }
}

/* Header sur mobile : masquer le CTA texte, montrer juste le burger */
@media (max-width: 767px) {
  .header-cta { display: none; }

  /* CTA hero : pleine largeur, empilés */
  .hero-cta {
    flex-direction: column;
  }
  .hero-cta .btn {
    width: 100%;
    justify-content: center;
  }

  /* Sections bordées : margin réduit */
  .realisations-section,
  .faq-section {
    margin: 0;
    border-radius: 0;
  }
}

/* Correction overflow potentiel sur petits écrans */
@media (max-width: 390px) {
  .hero-immersif__title {
    font-size: 2.2rem;
  }

  .stats-grid {
    flex-direction: column;
    align-items: center;
  }
}

/* wf-noxoverflow : reveal vertical (le slide horizontal deborde la largeur sur mobile) */
[data-reveal]:not(.in){ transform: translateY(18px) !important; }
