/* responsive.css — mobile-first breakpoints */

/* ── Mobile ≤ 540px — CTA hero empilés ── */
@media (max-width: 540px) {
  .hero-mega__cta {
    flex-direction: column;
  }
  .hero-mega__cta .btn {
    width: 100%;
    justify-content: center;
  }
}

/* ── Mobile ≤ 560px — galerie 1 colonne ── */
@media (max-width: 560px) {
  .gal-masonry { column-count: 1; }
  .svc-grid { grid-template-columns: 1fr; }
  .avis-cards { grid-template-columns: 1fr; }
  .stats-grid { flex-direction: column; gap: 20px; }
  .stat-item + .stat-item::before { display: none; }
}

/* ── Mobile ≤ 768px — hero 1 colonne, apropos 1 col ── */
@media (max-width: 768px) {
  .site-header { height: var(--header-h-mobile); }

  .hero-section { padding-top: 0; }
  .hero-mega {
    grid-template-columns: 1fr;
    gap: 22px;
    padding: calc(var(--header-h-mobile) + 22px) 20px 40px;
  }
  .hero-mega__title { font-size: clamp(2.6rem, 13vw, 4rem); }
  .hero-mega__media {
    aspect-ratio: 16/10;
    order: -1;
  }
  .hero-mega__sub { max-width: 100%; }

  .apropos-grid { grid-template-columns: 1fr; }
  .apropos-photo { aspect-ratio: 16/9; }

  .zone-cols { grid-template-columns: 1fr; }
  .contact-grid { grid-template-columns: 1fr; }

  .footer-inner { grid-template-columns: 1fr; }
}

/* ── Tablet 640-900px — ajustements intermédiaires ── */
@media (min-width: 641px) and (max-width: 900px) {
  .svc-grid { grid-template-columns: repeat(2, 1fr); }
  .avis-cards { grid-template-columns: 1fr; }
  .gal-masonry { column-count: 2; }
}

/* ── Desktop ≥ 768px ── */
@media (min-width: 768px) {
  html { scroll-padding-top: var(--header-h); }
  .hero-section { padding-top: 0; }
  .apropos-grid { grid-template-columns: 1fr 1fr; }
  .zone-cols { grid-template-columns: 1fr 1.1fr; align-items: start; }
  .contact-grid { grid-template-columns: 1fr 1fr; }
  .footer-inner { grid-template-columns: 1.5fr 1fr 1fr; }
}

/* ── Grande desktop ≥ 900px ── */
@media (min-width: 900px) {
  .svc-grid { grid-template-columns: repeat(3, 1fr); }
  .avis-cards { grid-template-columns: repeat(3, 1fr); }
  .gal-masonry { column-count: 3; }
}

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