/* ================================================
   SECTION 1 — Hero (titre + image)
   ================================================ */

.u-section-1 .u-sheet-1 {
  min-height: 400px;
}

.u-section-1 .u-text-1 {
  font-weight: 700;
  font-size: 4.5rem;
  text-shadow: 2px 2px 8px rgba(0,0,0,0.4);
  margin: 47px 161px 0 auto;
}

.u-section-1 .u-image-1 {
  width: 789px;
  height: 388px;
  margin: 1px 161px -114px auto;
}

@media (max-width: 991px) {
  .u-section-1 .u-sheet-1 {
    min-height: 366px;
  }

  .u-section-1 .u-image-1 {
    width: 720px;
    height: 354px;
  }
}

@media (max-width: 767px) {
  .u-section-1 .u-sheet-1 {
    min-height: 278px;
  }

  .u-section-1 .u-text-1 {
    font-size: 3.75rem;
  }

  .u-section-1 .u-image-1 {
    width: 540px;
    height: 266px;
  }
}

/* -----------------------------------------------
   SECTION 1 — Correctifs mobile (≤ 575px)
   Supprime les marges fixes qui décalent vers la droite
   ----------------------------------------------- */
@media (max-width: 575px) {
  .u-section-1 .u-sheet-1 {
    min-height: auto;
    padding: 16px;
    box-sizing: border-box;
  }

  .u-section-1 .u-text-1 {
    font-size: 2.5rem;
    margin: 24px auto 16px auto !important;
    text-align: center;
  }

  .u-section-1 .u-image-1 {
    width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
    display: block;
  }
}


/* ================================================
   SECTION 2 — Contenu (titre, boutons, téléphone)
   ================================================ */

.u-section-2 .u-sheet-1 {
  min-height: 827px;
}

.u-section-2 .u-text-1 {
  font-weight: 700;
  text-shadow: 2px 2px 8px rgba(0,0,0,0.4);
  margin: 85px 353px 0 399px;
}

.u-section-2 .u-list-1 {
  width: 220px;
  margin: 60px auto 0 400px;
}

.u-section-2 .u-repeater-1 {
  min-height: 201px;
  grid-auto-columns: 100%;
  grid-template-columns: repeat(1, 100%);
  --gap: 8px;
}

.u-section-2 .u-container-layout-1,
.u-section-2 .u-container-layout-2,
.u-section-2 .u-container-layout-3 {
  padding: 6px 10px;
}

/* Tous les boutons de la liste : même taille, même style */
.u-section-2 .u-btn-1,
.u-section-2 .u-btn-2,
.u-section-2 .u-btn-3 {
  --radius: 50px;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 0.75rem;     /* légèrement réduit */
  letter-spacing: 0.8px;
  filter: none;
  margin: 0 auto 0 0;
  padding: 8px 18px;      /* padding réduit pour boutons plus compacts */
  width: 100%;            /* tous à la même largeur */
  text-align: center;
  box-sizing: border-box;
  display: block;
}

.u-section-2 .u-btn-4 {
  --radius: 0px;
  --top-left-radius: 0px;
  --top-right-radius: 0px;
  --bottom-right-radius: 0px;
  --bottom-left-radius: 0px;
  font-size: 1.5rem;
  background-image: none;
  font-weight: 700;
  box-shadow: 5px 5px 20px 0 rgba(0,0,0,0.4);
  margin: 97px auto 60px 398px;
  padding: 17px 48px;
}

@media (max-width: 1199px) {
  .u-section-2 .u-text-1 {
    margin-right: 253px;
    margin-left: 299px;
  }

  .u-section-2 .u-repeater-1 {
    grid-template-columns: 100%;
  }

  .u-section-2 .u-btn-4 {
    margin-left: 198px;
  }
}

@media (max-width: 991px) {
  .u-section-2 .u-text-1 {
    margin-right: 143px;
    margin-left: 189px;
  }

  .u-section-2 .u-repeater-1 {
    grid-auto-columns: calc(100% - 0px);
  }

  .u-section-2 .u-btn-4 {
    margin-left: 0;
  }
}

@media (max-width: 767px) {
  .u-section-2 .u-text-1 {
    margin-right: 53px;
    margin-left: 99px;
  }

  /* CORRECTIF : liste de boutons décalée à 357px → centrage */
  .u-section-2 .u-list-1 {
    width: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* -----------------------------------------------
   SECTION 2 — Correctifs mobile (≤ 575px)
   Supprime toutes les marges gauches fixes
   ----------------------------------------------- */
@media (max-width: 575px) {
  .u-section-2 .u-sheet-1 {
    min-height: auto;
    padding: 16px;
    box-sizing: border-box;
  }

  /* Titre : supprime les marges latérales fixes */
  .u-section-2 .u-text-1 {
    margin: 32px 0 16px 0 !important;
    font-size: 1.6rem;
    line-height: 1.3;
    text-align: center;
  }

  /* Liste de boutons : centrée, largeur adaptée au texte le plus long */
  .u-section-2 .u-list-1 {
    width: 100% !important;
    max-width: 260px;
    margin: 32px auto 0 auto !important;
  }

  /* Boutons : même largeur, texte réduit, centrés */
  .u-section-2 .u-btn-1,
  .u-section-2 .u-btn-2,
  .u-section-2 .u-btn-3 {
    width: 100% !important;
    font-size: 0.7rem !important;
    letter-spacing: 0.5px !important;
    padding: 9px 12px !important;
    text-align: center !important;
    margin: 0 auto !important;
    box-sizing: border-box;
    display: block;
    white-space: nowrap;
  }

  /* Bouton téléphone : centré, taille adaptée */
  .u-section-2 .u-btn-4 {
    display: block;
    width: auto;
    max-width: 90%;
    font-size: 1.1rem;
    margin: 32px auto 40px auto !important;
    padding: 14px 24px;
    text-align: center;
    box-sizing: border-box;
  }
}


/* ================================================
   HEADER — Correction menu hamburger mobile
   ================================================ */

@media (max-width: 575px) {
  /* Empêche le header de déborder */
  .u-header .u-sheet-1 {
    padding-right: 16px !important;
    box-sizing: border-box;
    overflow: visible;
  }

  /* Décale le bouton hamburger vers la gauche */
  .u-header .u-menu-1 {
    margin-right: 8px !important;
  }

  /* Sécurise le bouton hamburger lui-même */
  .menu-collapse {
    padding-right: 0 !important;
    margin-right: 0 !important;
  }

  .menu-collapse .u-nav-link {
    padding-right: 0 !important;
  }
}


/* ================================================
   FOOTER — Correctifs responsive (repris de À-propos-de.css)
   ================================================ */

html, body {
  width: 100%;
  overflow-x: hidden !important;
}

*, *::before, *::after {
  box-sizing: border-box;
}

.u-sheet,
.u-section,
.u-layout-wrap,
.u-layout-row,
.u-layout-cell {
  max-width: 100% !important;
}

img,
.u-image img {
  max-width: 100%;
  height: auto;
  display: block;
}

.u-footer,
.u-footer .u-sheet,
.u-footer .u-sheet-1,
.u-footer .u-layout-wrap,
.u-footer .u-layout-row,
.u-footer .u-layout-cell {
  max-width: 100% !important;
  overflow-x: hidden !important;
  box-sizing: border-box;
}

.u-footer .u-text-1 {
  width: auto !important;
  max-width: 100% !important;
  box-sizing: border-box;
  white-space: normal !important;
  overflow-wrap: break-word;
  word-break: break-word;
}

@media (max-width: 575px) {
  .u-footer {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .u-footer .u-sheet-1 {
    width: 100% !important;
    min-height: auto !important;
    padding: 12px 0;
  }

  .u-footer .u-text-1 {
    width: 100% !important;
    margin: 10px auto !important;
    font-size: 0.8rem;
    line-height: 1.5;
    text-align: center;
  }
}

@media (min-width: 576px) and (max-width: 767px) {
  .u-footer .u-sheet-1 {
    width: 100% !important;
  }

  .u-footer .u-text-1 {
    width: 90% !important;
    margin: 14px auto !important;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .u-footer .u-text-1 {
    width: 90% !important;
    max-width: 720px !important;
  }
}


/* ================================================
   BOUTONS — Agrandissement x1.5 sur ordinateur (≥ 768px)
   N'affecte PAS les smartphones
   ================================================ */
@media (min-width: 768px) {
  .u-section-2 .u-btn-1,
  .u-section-2 .u-btn-2,
  .u-section-2 .u-btn-3 {
    font-size: 0.875rem !important;   /* taille modérée pour ordinateur */
    padding: 12px 27px !important;    /* 8px/18px × 1.5 */
    letter-spacing: 1.2px !important;
    width: auto !important;
  }

  /* Agrandir aussi la liste pour qu'elle s'adapte */
  .u-section-2 .u-list-1 {
    width: 330px !important;          /* 220px × 1.5 */
  }
}
