/* =====================================================
   RESPONSIVE
   Adaptations tablette et mobile
   ===================================================== */

/* ══════════════════════════════════════════════════════
   RESPONSIVE  ≤ 1024px
══════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .pillars-grid { grid-template-columns: repeat(3, 1fr); }
  .hero-grid    { gap: 40px; }
}

/* ══════════════════════════════════════════════════════
   RESPONSIVE  ≤ 900px
══════════════════════════════════════════════════════ */
@media (max-width: 900px) {
  :root { --nav-h: 64px; }
  section { padding: 64px 0; }

  /* Nav */
  .nav-links  { display: none; }
  .hamburger  { display: flex; }

  /* Hero */
  .hero-grid  { grid-template-columns: 1fr; text-align: center; gap: 36px; }
  .hero-btns  { justify-content: center; }
  .hero-stats { justify-content: center; }
  .hero-media { order: -1; display: flex; justify-content: center; }
  .hero-img   { max-width: 340px; height: 280px; }

  /* About */
  .about-grid { grid-template-columns: 1fr; gap: 44px; }
  .about-img-badge { right: 0; bottom: -18px; }
  .vm-row   { grid-template-columns: 1fr; }

  /* Grids */
  .pillars-grid  { grid-template-columns: repeat(2, 1fr); }
  .projects-grid { grid-template-columns: repeat(2, 1fr); }
  .partner-grid  { grid-template-columns: repeat(2, 1fr); }
  .trans-grid    { grid-template-columns: repeat(2, 1fr); }
  .news-grid     { grid-template-columns: repeat(2, 1fr); }
  .impliq-grid   { grid-template-columns: 1fr; }
  .don-grid      { grid-template-columns: 1fr; gap: 36px; }
  .contact-grid  { grid-template-columns: 1fr; gap: 36px; }
  .footer-grid   { grid-template-columns: 1fr 1fr; }

  /* Gallery */
  .gallery-mosaic {
    grid-template-columns: 1fr 1fr;
    grid-auto-rows: 180px;
  }
  .g-span2    { grid-row: span 1; }
  .g-span2col { grid-column: span 1; }
  /* la dernière vignette occupe toute la largeur pour éviter un vide */
  .gallery-mosaic .g-item:last-child { grid-column: span 2; }

  /* Form */
  .fg-row { grid-template-columns: 1fr; }
}

/* ══════════════════════════════════════════════════════
   RESPONSIVE  ≤ 600px
══════════════════════════════════════════════════════ */
@media (max-width: 600px) {
  .pillars-grid  { grid-template-columns: 1fr 1fr; }
  .projects-grid { grid-template-columns: 1fr; }
  .partner-grid  { grid-template-columns: 1fr; }
  .trans-grid    { grid-template-columns: 1fr; }
  .news-grid     { grid-template-columns: 1fr; }
  .footer-grid   { grid-template-columns: 1fr; }
  .gallery-mosaic { grid-template-columns: 1fr; grid-auto-rows: 200px; }
  .gallery-mosaic .g-item:last-child { grid-column: span 1; }
  .hero-btns     { flex-direction: column; align-items: stretch; }
  .hero-btns .btn { text-align: center; justify-content: center; }
  .cta-btns      { flex-direction: column; align-items: center; }
}
