@import url("./global-heading.css");
@import url("./global-text.css");
@import url("./global-button.css");
@import url("./bloc-offre-classement.css");
@import url("./bloc-etapes.css");
@import url("./bloc-text-chiffre.css");
@import url("./bloc-duo-text-chiffre.css");
@import url("./bloc-duo-titre-avantage.css");
@import url("./bloc-offre.css");
@import url("./bloc-conseil.css");
@import url("./bloc-produit.css");
@import url("./bloc-duo-text-image.css");
@import url("./bloc-duo-onglet-text-image.css");
@import url("./bloc-duo-liste-image.css");
@import url("./bloc-meilleures-assurance.css");
@import url("./bloc-usecase.css");
@import url("./bloc-stepper-etapes.css");
@import url("./bloc-carte-texte.css");
@import url("./bloc-carte-texte-picto.css");
@import url("./bloc-citation.css");
@import url("./bloc-duo-accordeon.css");
@import url("./bloc-resume.css");
@import url("./bloc-tableau.css");
@import url("./bloc-carousel.css");
@import url("./bloc-tableau-classement-par-avis.css");
@import url("./bloc-tableau-comparatif-offre.css");
@import url("./bloc-tableau-texte.css");
@import url("./bloc-subnav.css");
@import url("./bloc-carrousel-partenaires.css");
@import url("./bloc-avis-client-carte-quote.css");
@import url("./bloc-rdv.css");
@import url("./bloc-trio-offre-avantage-inconvenient.css");
@import url("./bloc-cards-taux.css");
@import url("./bloc-carte-texte-versus.css");
@import url("./bloc-calculette.css");
@import url("./bloc-cta-bas-de-page.css");
@import url("./bloc-avantages-inconvenients.css");
@import url("./bloc-offre-assurance.css");

.titre-h2 {
  text-align: center;
  position: relative;
  background: #f9f4f1;
  padding: 2rem;
  margin: 3rem 0;
}

body {
  overflow-x: clip;
}

.hero-section {
  margin-bottom: 64px;
}

.hero-section.sous-home-page-section {
  margin-top: 0;
}

.sous-home-page-section {
  margin: 96px 0;

  &:has(.bloc-avis-client-carte-quote) {
    margin-bottom: 36px;
  }
  &:has(.mt-0) {
    padding-top: 0;
  }

  &:has(.bloc-subnav) {
    margin-top: 36px;
  }
}

.sous-home-page-section--module-dynamique {
  margin: 64px 0;
}

.heading-page {
  text-align: center;
  padding: var(--Spacing-9, 36px) 0 var(--totem-space-19) 0;
}

@media (min-width: 992px) {
  
  .hero-section {
    margin-bottom: 64px;
  }
  
  .sous-home-page-section {
    margin: 90px 0;
  }

  /* Pas de margin-top pour le premier élément (hero) */
  .sous-home-page-section.hero-section {
    margin-top: 0;
  }

  .sous-home-page-section--module-dynamique {
    margin: 24px 0;
  }
  .content-cta.fixed-bottom.sticky-cta {
    padding: 0;
  }
  .content-cta.fixed-bottom.sticky-cta .bandeau-cta__content {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px;
    gap: var(--Spacing-4, 16px);
    color: var(--Couleurs-Gris-900, #302e2d);
  }
  .content-cta.fixed-bottom.sticky-cta .bandeau-cta__content p {
    font-size: var(--font-body-size-1, 16px);
    font-style: normal;
    font-weight: 600;
    line-height: 160%; /* 25.6px */
  }
  .content-cta.fixed-bottom.sticky-cta .bandeau-cta__content p span {
    color: var(--Couleurs-Terracotta-500, #c0543a);
    font-weight: 600;
  }

  /* Bloc rendez vous */
  .sous-home-page-section.section-conseiller .bloc-contact {
    padding: 0;
  }
  .sous-home-page-section.section-conseiller .bloc-contact__image-wrapper img, 
  .sous-home-page-section.section-conseiller .bloc-contact__image-wrapper picture {
    height: 100%;
  }

  /* Hero à CTA unique (peu de contenu texte) : l'image suit la hauteur de la
   zone texte au lieu d'être forcée à min-height:464px, pour aligner les deux
   colonnes en desktop. cf. index-assurance-pno.php */
  .hero.hero--image-fit .row {
      align-items: stretch;
  }
}

.sous-home-page-section :focus-visible {
  outline: 2px solid var(--Couleurs-Terracotta-500, #c0543a);
  outline-offset: 4px;
  border-radius: var(--totem-radius-7, 12px);
}
