/* ─── TABLETTE ≤ 1024px ─────────────────────────────────────────────────── */
@media (max-width: 1024px) {
  :root { --sidebar-width: 260px; }

  .section { padding: 60px 48px; }

  .about-layout,
  .section--text-image .section__container {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .about__media img,
  .text-image__img img { height: 380px; }

  .contact-layout {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .gallery-preview-grid,
  .gallery-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .slide__photos { width: 42%; height: 60%; }

  .page-hero { padding: 80px 48px 50px; }
}

/* ─── MOBILE ≤ 768px ─────────────────────────────────────────────────────── */
@media (max-width: 768px) {

  /* Layout: sidebar devient overlay */
  .main-content {
    margin-left: 0;
  }

  /* Burger visible */
  .burger {
    display: flex;
  }

  /* Sidebar hors-écran par défaut */
  .sidebar {
    transform: translateX(-100%);
    transition: transform .35s cubic-bezier(.25,.46,.45,.94);
    z-index: 6500;
    width: min(var(--sidebar-width), 85vw);
  }
  .sidebar.is-open {
    transform: translateX(0);
  }

  /* Overlay activé */
  .sidebar__overlay {
    display: block;
  }
  body.sidebar-open .sidebar__overlay {
    opacity: 1;
  }

  /* Hero slider */
  .hero-slider { height: 90vh; }

  .slide__content {
    width: 90%;
    padding: 0 24px 80px;
  }
  .slide__title {
    font-size: clamp(1.8rem, 6vw, 2.8rem);
  }
  .slide__photos {
    display: none;
  }

  .slider__controls {
    bottom: 24px;
    right: 24px;
  }

  /* Sections */
  .section { padding: 48px 24px; }

  .page-hero {
    padding: 80px 24px 40px;
    min-height: 260px;
  }

  /* Services */
  .services-grid,
  .services-grid--full {
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }

  /* Gallery */
  .gallery-preview-grid,
  .gallery-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }

  /* About */
  .about__media img { height: 300px; }

  /* Contact */
  .form__row--half {
    grid-template-columns: 1fr;
  }

  /* Sections about */
  .about-layout { gap: 32px; }
}

/* ─── MOBILE ≤ 480px ─────────────────────────────────────────────────────── */
@media (max-width: 480px) {
  .services-grid,
  .services-grid--full { grid-template-columns: 1fr; }

  .gallery-preview-grid,
  .gallery-grid { grid-template-columns: 1fr; }

  .slider__btn { display: none; }

  .legal-modal__box { padding: 32px 24px; }
}

/* ─── LARGE DESKTOP ≥ 1400px ────────────────────────────────────────────── */
@media (min-width: 1400px) {
  :root { --sidebar-width: 300px; }

  .slide__title { font-size: 5rem; }
}

/* ─── PREFERS REDUCED MOTION ─────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
