/* ============================================================
   RESPONSIVE - Media queries (mobile-first, mais ajustements desktop ici)
   ============================================================ */

/* ========== TABLET (>= 720px) ========== */
@media (min-width: 720px) {
  .container { padding-left: 32px; padding-right: 32px; }
  section { padding: 80px 0; }

  .stats-grid { gap: 2rem; }

  .gal-feat { grid-auto-rows: 220px; }

  .footer-grid {
    grid-template-columns: 1.4fr 1fr 1fr;
    gap: 2.5rem;
  }
}

/* ========== DESKTOP (>= 900px) ========== */
@media (min-width: 900px) {
  :root {
    --header-h: 80px;
  }

  .nav-desktop { display: flex; }
  .burger, .menu-mobile { display: none; }

  .header-cta {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .65rem 1.1rem;
    background: var(--accent);
    color: #fff;
    font-family: var(--ff-ui);
    font-size: .82rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .08em;
    border-radius: 0;
    transition: background .25s ease;
  }
  .header-cta:hover { background: var(--text); }
  .header-cta svg { width: 16px; height: 16px; }

  .fab-call { display: none; }
}

/* ========== MOBILE ADJUSTMENTS (< 720px) ========== */
@media (max-width: 719px) {
  section { padding: 56px 0; }

  /* Hero */
  .hero { padding: 28px 0 56px; }
  .hero-mega {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .hero-mega__title { font-size: clamp(2.4rem, 11vw, 3.6rem); }
  .hero-mega__cta { flex-direction: column; align-items: stretch; }
  .hero-mega__cta .btn { width: 100%; }
  .hero-mega__media {
    aspect-ratio: 4/5;
    order: -1;
    max-width: 100%;
  }
  .hero-mega__meta { gap: .85rem 1.4rem; font-size: .82rem; }

  /* Stats */
  .stats-grid { grid-template-columns: 1fr; gap: 1.25rem; }
  .stat-item + .stat-item::before {
    left: 12%; right: 12%; top: -.65rem;
    width: auto; height: 1px;
  }
  .stat-item { padding: .35rem 0; }

  /* Avis */
  .avis__head { align-items: flex-start; flex-direction: column; gap: 1.25rem; }
  .avis-rows__item {
    grid-template-columns: 1fr;
    gap: 1rem;
    padding: 24px 0;
  }
  .avis-rows__quote { padding-left: 1.2rem; font-size: 1.05rem; }

  /* Services */
  .services__head { grid-template-columns: 1fr; gap: 1.5rem; }
  .svc-asym { grid-template-columns: 1fr; gap: 14px; }
  .svc-asym__card,
  .svc-asym__card--wide,
  .svc-asym__card--lead { grid-column: 1 / -1; }
  .c-asym { padding: 24px 22px; }
  .c-asym__title { font-size: 1.35rem; }

  /* Galerie */
  .realisations__head { grid-template-columns: 1fr; gap: 1rem; align-items: flex-start; }
  .gal-feat {
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
    gap: 10px;
  }
  .gal-feat__item {
    aspect-ratio: 4/3;
    height: auto;
  }
  .gal-feat__item--big {
    grid-column: 1 / -1;
    grid-row: auto;
  }

  /* About */
  .about__grid { grid-template-columns: 1fr; gap: 2rem; }
  .about__media { max-width: 360px; margin: 0 auto; }
  .about__media-frame { aspect-ratio: 4/5; }
  .about__text p:first-of-type::first-letter {
    font-size: 3rem;
  }

  /* Zone */
  .zone-cols { grid-template-columns: 1fr; gap: 1.75rem; }
  .map-wrapper { min-height: 280px; }
  .map-wrapper iframe { min-height: 280px; }

  /* Contact */
  .contact__grid { grid-template-columns: 1fr; gap: 2rem; }
  .contact__form { padding: 1.5rem 1.25rem; }

  /* Footer */
  .footer-bottom { flex-direction: column; gap: .55rem; }

  /* Page realisations */
  .gal-masonry { column-count: 1; }
}

/* ========== Very small (< 400px) ========== */
@media (max-width: 399px) {
  .hero-mega__title { font-size: clamp(2.1rem, 10vw, 3rem); }
  .container { padding-left: 16px; padding-right: 16px; }
}

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