/* =========================================================
   La Ronde des Robes — Responsive
   Mobile-first breakpoints : 480px / 768px / 1024px
   ========================================================= */

/* ---------- Tablette (< 1024px) ---------- */
@media (max-width: 1024px) {
  .container { padding: 0 2rem; }
  .header-inner { padding: 0 2rem; }

  .hero { grid-template-columns: 55fr 45fr; }
  .hero-content-side { padding: calc(var(--header-h) + 2rem) 3rem 3rem 3rem; }
  .hero-title { font-size: clamp(3rem, 5vw, 4.5rem); }

  .histoire-editorial {
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
  }
  .histoire-col-void { display: none; }

  .services-cards { gap: 1.5rem; }
  .service-card--2 { margin-top: 3rem; }

  .infos-layout { gap: 0 3rem; }

  .footer-inner { grid-template-columns: 1fr 1fr; gap: 2.5rem; }
  .footer-brand { grid-column: 1 / -1; }
}

/* ---------- Mobile (< 768px) ---------- */
@media (max-width: 768px) {
  :root { --header-h: 64px; }

  .container { padding: 0 1.5rem; }
  .header-inner { padding: 0 1.5rem; }
  .section { padding: 80px 0; }

  /* Nav */
  .main-nav { display: none; }
  .nav-cta  { display: none; }
  .nav-toggle { display: flex; }

  /* Hero : empiler */
  .hero {
    grid-template-columns: 1fr;
    grid-template-rows: 55vh auto;
    height: auto;
    min-height: 100svh;
  }
  .hero-image-side { grid-row: 1; min-height: 55vh; }
  .hero-content-side {
    grid-row: 2;
    padding: 3rem 1.5rem 3.5rem;
    justify-content: flex-start;
  }
  .hero-title { font-size: clamp(3rem, 12vw, 3.5rem); }
  .hero-lead  { font-size: 1.1rem; max-width: 100%; }
  .hero-line--offset { padding-left: 0.75rem; }

  /* Histoire */
  .histoire-h2 { font-size: clamp(2rem, 7vw, 2.5rem); }
  .histoire-editorial { grid-template-columns: 1fr; gap: 2rem; }
  .histoire-col-void  { display: none; }
  .histoire-col-image { max-width: 80%; }
  .lettrine { font-size: 8rem; }
  .pull-quote p { font-size: clamp(1.2rem, 4vw, 1.5rem); }
  .histoire-suite { max-width: 100%; }

  /* Services */
  .services-h2 { text-align: left; padding-right: 0; }
  .services-cards { grid-template-columns: 1fr; gap: 2rem; }
  .service-card--1,
  .service-card--2,
  .service-card--3 { margin-top: 0; }
  .service-card-image { height: 280px; }

  /* Témoignages */
  .temoignages-h2 { font-size: clamp(1.75rem, 6vw, 2.25rem); }
  .temoignages-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .temoignage-divider {
    width: 100%;
    height: 1px;
    min-height: 0;
    margin: 2rem 0;
  }

  /* Infos */
  .infos-layout { grid-template-columns: 1fr; gap: 3rem; }
  .infos-h2 { font-size: clamp(2.5rem, 8vw, 3rem); }

  /* Contact */
  .contact-h2 { font-size: clamp(2.5rem, 8vw, 3rem); }
  .form-row { grid-template-columns: 1fr; gap: 0; }

  /* Footer */
  .footer-inner { grid-template-columns: 1fr; gap: 2rem; padding-bottom: 40px; }
  .footer-divider { margin: 0 1.5rem; }
  .footer-bottom { padding: 1.25rem 1.5rem; }
}

/* ---------- Petit mobile (< 480px) ---------- */
@media (max-width: 480px) {
  .section { padding: 64px 0; }
  .hero-title { font-size: 2.75rem; }
  .histoire-h2 { font-size: 2rem; }
  .lettrine { font-size: 6rem; }
  .pull-quote p { font-size: 1.15rem; }
  .signature-manuscript { font-size: 2.5rem; }
  .services-h2 { font-size: 2rem; }
  .temoignages-h2 { font-size: 1.75rem; }
  .contact-h2 { font-size: 2.25rem; }
  .footer-script { font-size: 2rem; }
  .service-card-image { height: 220px; }
}

/* ---------- Grand écran (> 1600px) ---------- */
@media (min-width: 1600px) {
  .hero-content-side { padding-left: 7rem; padding-right: 7rem; }
  .section { padding: 160px 0; }
}
