/* ********************************************* */
/* HERO pleine hauteur : texte centré, logos en bas */
/* ********************************************* */
body .et_pb_section.tm-hero-full {
  min-height: 100vh;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  gap: 40px;                     /* Écart minimum entre le texte et les logos */
  padding-top: 90px !important;  /* Dégage le header, qui est en absolute */
  padding-bottom: 40px !important;
}
.tm-hero-full.et_pb_section > .et_pb_row {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
/* Toutes les rangées sauf la dernière (les logos) : centrage */
.tm-hero-full.et_pb_section > .et_pb_row:not(:last-child) {
  margin-top: auto !important;
  margin-bottom: auto !important;
}

/* Tablette et mobile : le contenu dicte la hauteur */
@media (max-width: 980px) {
  body .et_pb_section.tm-hero-full {
    min-height: auto;
  }
}
/* Mobile en paysage */
@media (max-width: 980px) and (orientation: landscape) {
  body .et_pb_section.tm-hero-full {
    min-height: 100vh;
    min-height: 100svh;
    padding-top: 80px !important;
    padding-bottom: 24px !important;
  }
}

/*	*********************************************	*/
/*	SOUS-PAGES - Hero Section Half Txt + Half Video	*/
/*	*********************************************	*/
.hero-vid {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 30px; /* à aligner sur l'arrondi actuel */
}