/* Corrections d'affichage tablette et mobile.
   Chargé après la feuille de style principale : ne change rien au-dessus de 991px. */

@media screen and (max-width: 991px) {
  /* --- Rythme vertical : la marge fixe de 132px au-dessus de chaque bloc est supprimée --- */
  .padding-global { margin-top: 0; }
  .section-padding-large { margin-top: 0; padding-top: 3.5rem; padding-bottom: 3.5rem; }
  .section-client-logos { display: none; }
  .services-component-wrapper,
  .stats-component-wrapper { margin-top: 0; }

  /* --- Première section : juste sous la barre de navigation fixe --- */
  .section-hero-header,
  .section-subpage-hero-header { padding-top: 7.5rem; }
  .section-hero-header .section-padding-large,
  .section-subpage-hero-header .section-padding-large { padding-top: 0; padding-bottom: 2.5rem; }
  .section-contact,
  .section-case-study-header { margin-top: 7.5rem; }
  .section-contact .section-padding-large,
  .section-case-study-header .section-padding-large { padding-top: 0; }
  .header-component { margin-top: 0; }
  .margin-bottom.margin-xxlarge { margin-bottom: 2.5rem !important; }

  /* --- Barre de navigation --- */
  .navbar-logo { width: 7rem; }
  .navbar-container { background-color: rgba(248, 248, 248, .94); }
  .navbar-menu { max-height: calc(100vh - 7rem); }
  .navbar-link { min-height: 44px; display: flex; align-items: center; justify-content: center; }

  /* --- Zones tactiles --- */
  .button, .button-secondary { min-height: 44px; justify-content: center; }

  /* --- Accueil : image principale --- */
  .header-image-wrapper { height: auto; margin-top: 0; }
  .header-image { width: 100%; height: auto; max-height: none; aspect-ratio: 3 / 2; margin: 1.5rem 0 0; }
  .paragraph { margin-top: 0; }
}

@media screen and (max-width: 767px) {
  .section-padding-large { padding-top: 2.75rem; padding-bottom: 2.75rem; }
  .section-hero-header,
  .section-subpage-hero-header { padding-top: 6.5rem; }
  .section-contact,
  .section-case-study-header { margin-top: 6.5rem; }

  .navbar-logo { width: 6rem; }

  .heading-style-h1 { font-size: 2.25rem; line-height: 1.15; }
  .heading-style-h2 { font-size: 1.875rem; line-height: 1.2; }
  .heading-style-h3 { font-size: 1.5rem; }
  .paragraph { font-size: 1.0625rem; line-height: 1.6; }

  /* Boutons d'en-tête : pleine largeur, empilés */
  .button-group.is-center { justify-content: center; }

  /* Formulaire : 16px minimum pour éviter le zoom automatique sur iPhone */
  .input-form, .w-input, .w-select, textarea.w-input { font-size: 16px; }
  .input-form { min-height: 48px; }

  /* Blocs gris arrondis : un peu d'air entre eux */
  .services-component-wrapper,
  .faq-component-wrapper,
  .testimonials-component-wrapper,
  .stats-component-wrapper { margin-top: 1.5rem; }

  .stat-number { font-size: 3rem; line-height: 1.15; }
  .footer-menu-wrapper { grid-template-columns: 1fr 1fr; grid-row-gap: 2rem; }
}

@media screen and (max-width: 479px) {
  .section-padding-large { padding-top: 2.25rem; padding-bottom: 2.25rem; }
  .section-hero-header,
  .section-subpage-hero-header { padding-top: 6rem; }
  .section-contact,
  .section-case-study-header { margin-top: 6rem; }

  .navbar-component { margin-top: .75rem; }
  .navbar-logo { width: 5.25rem; }

  .heading-style-h1 { font-size: 2rem; }
  .heading-style-h2 { font-size: 1.625rem; }
  .heading-style-h3 { font-size: 1.375rem; }
  .paragraph { margin-top: 0; }

  /* Accueil : image principale */
  .header-image-wrapper { height: auto; }
  .header-image { min-height: 0; aspect-ratio: 4 / 3; }

  /* "Nos valeurs" : cartes empilées au lieu d'un défilement horizontal */
  .team-list {
    display: grid; grid-template: none; grid-template-columns: 1fr;
    grid-auto-flow: row; grid-row-gap: 1rem; overflow: visible;
  }
  .team-item { border-radius: 1.25rem; }
  .team-image { aspect-ratio: 16 / 10; }
  .team-item .text-size-regular { margin-bottom: 0; }

  /* Sections qui passaient en défilement horizontal */
  .section-faq, .section-testimonials { display: block; overflow: visible; }

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

  /* Sections mariage */
  .mz-section { padding-top: 3rem; }
  .mz-title { font-size: 1.75rem; }
  .mz-head { margin-bottom: 1.75rem; }
  .mz-step { padding: 1.25rem; border-radius: 1.25rem; }
  .mz-gallery { column-gap: .625rem; }
  .mz-gallery-item { margin-bottom: .625rem; border-radius: 1rem; }
  .mz-hero-photos { gap: .625rem; }
  .mz-hero-photos .mz-photo, .mz-split .mz-photo { border-radius: 1.25rem; }
  .mz-buttons .button, .mz-buttons .button-secondary { flex: 1 1 100%; }
}

/* Textes riches (pages services) : espacement entre titres et paragraphes */
.w-richtext h2 { margin-top: 2rem; margin-bottom: .75rem; font-size: 1.625rem; line-height: 1.2; }
.w-richtext h2:first-child { margin-top: 0; }
.w-richtext h3 { margin-top: 1.5rem; margin-bottom: .5rem; }
.w-richtext p { margin-bottom: 1rem; }
.w-richtext ul, .w-richtext ol { margin-bottom: 1.25rem; }
