/* =========================================================
   SIFEC — Global footer gap & float fixes
   Fichier : css/footer_gap_fix.css
   Effet : espace fiable avant les footers + clearfix globaux
   Dépendance : Bootstrap 4 (ok)
   ========================================================= */

/* 1) Clearfix génériques sur les sections de page fréquentes */
.single-news::after,
.sn-container::after,
.sn-content::after,
.contact::after,
.gallery::after,
.sector::after,
.careers::after,
.page-section::after {
  content: "";
  display: block;
  clear: both;
}

/* 2) Espacement par défaut sous les blocs de contenu principaux
      (évite que le contenu colle aux footers) */
.single-news,
.contact,
.gallery,
.sector,
.careers,
.page-section {
  padding-bottom: 2rem;   /* espace interne bas */
  margin-bottom: 2rem;    /* espace externe avant les footers */
}

/* 3) Séparation systématique avant les différents types de footers */
.footer,
.footer-menu,
.footer-bottom {
  clear: both;        /* s’assure que rien ne “remonte” à côté */
  margin-top: 2rem;   /* espace au-dessus du footer */
}

/* 4) Images de contenu : éviter les chevauchements & coller un espace dessous */
.sn-img img,
.sn-content img {
  display: block;
  max-width: 100%;
  height: auto;
  margin-bottom: 1rem;
}

/* 5) Cas legacy : images alignées via l’attribut HTML align="right"/"left"
      (présent dans certaines pages) — on ajoute un espacement sûr */
.sn-content img[align="right"] {
  float: right;
  margin-left: 1rem;
  margin-bottom: 1rem;
}
.sn-content img[align="left"] {
  float: left;
  margin-right: 1rem;
  margin-bottom: 1rem;
}

/* 6) Petits conforts de mise en page */
.content-col .sn-container,
.sidebar {
  margin-bottom: 1.5rem;
}

/* 7) Optionnel : si certaines pages utilisent .container toute seule juste avant footer,
      on renforce un léger padding bas pour éviter les collages accidentels */
.single-news > .container,
.contact > .container,
.gallery > .container,
.sector > .container,
.careers > .container {
  padding-bottom: 1rem;
}

/* 8) Robustesse mobile : on limite les floats agressifs sur très petits écrans */
@media (max-width: 576px) {
  .sn-content img[align="right"],
  .sn-content img[align="left"] {
    float: none !important;
    margin: 0 0 1rem 0;
  }
}
/* Empilement sans espace des 3 footers */
.footers-stack {
  display: flex;
  flex-direction: column;
  gap: 0 !important;            /* par sécurité si un navigateur applique gap */
}

/* Supprime toute marge verticale sur les 3 blocs et leurs enfants terminaux */
.footers-stack > * {
  margin: 0 !important;
}
.footers-stack > * .container {
  padding-top: 10px !important;   /* ajuste à ton goût */
  padding-bottom: 10px !important;
}

/* Si des titres/paragraphes laissent des marges résiduelles */
.footers-stack h1, .footers-stack h2, .footers-stack h3,
.footers-stack h4, .footers-stack h5, .footers-stack h6,
.footers-stack p, .footers-stack ul, .footers-stack ol {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Derniers enfants : aucune marge basse possible */
.footers-stack *:last-child {
  margin-bottom: 0 !important;
}

/* Enchaînements précis, au cas où les classes diffèrent */
.footers-stack .footer,
.footers-stack .footer2,
.footers-stack .copyr {
  margin: 0 !important;
  padding-top: 10px !important;    /* homogénéise visuel */
  padding-bottom: 10px !important;
  border: 0 !important;            /* si un border-top créait une “ligne blanche” */
}

/* Si ton bloc de contenu juste au-dessus poussait le bas de page */
.single-news, .contact, .content, main {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

