#footer-avenirbat {
  /* --footer-bg: #111111;       /* Fond du footer */
  --footer-text: #ffffff;     /* Couleur du texte principal */
  --footer-accent: #f0b648;   /* Orange au survol */
  --footer-line: #333333;     /* Séparateurs verticaux */

  /* background: var(--footer-bg) !important; */
  color: var(--footer-text);
  padding: 30px 20px 30px 20px !important;
  display: flex;
  align-items: flex-start !important;
  justify-content: space-between !important;
  flex-wrap: nowrap;
  gap: 0 !important;

  /* Police globale Elementor "Text" */
  font-family: var(--e-global-typography-text-font-family), sans-serif;
  font-weight: var(--e-global-typography-text-font-weight, 400);
}

/* Colonnes + séparateurs verticaux */
#footer-avenirbat > .e-con,
#footer-avenirbat > .elementor-widget,
#footer-avenirbat > .e-con-inner > .e-con,
#footer-avenirbat > .e-con-inner > .elementor-widget {
  padding: 0 30px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  /* flex: 1; */
  text-align: left !important;
}

#footer-avenirbat > *:first-child { padding-left: 0 !important; }
#footer-avenirbat > *:last-child { padding-right: 0 !important; }

/* Logos / images */
#footer-avenirbat img {
  display: block;
  width: 100%;
  max-width: 180px;
  height: auto;
  margin: 0;
}

#footer-avenirbat > *:nth-child(4) img {
  max-width: 100%;
  margin: 0 auto;
}

/* ==========================================================
   POLICES GLOBALES ELEMENTOR
   ========================================================== */

/* Titres : police "Primary" */
/* #footer-avenirbat .elementor-heading-title { */
  /* font-family: var(--e-global-typography-primary-font-family), sans-serif; */
  /* font-weight: var(--e-global-typography-primary-font-weight, 700); */
/* } */

/* Textes : police "Text" */
#footer-avenirbat .elementor-widget-text-editor,
#footer-avenirbat .elementor-widget-text-editor p {
  font-family: var(--e-global-typography-text-font-family), sans-serif;
  font-weight: var(--e-global-typography-text-font-weight, 400);
}

/* Liens et menu : police "Accent" */
#footer-avenirbat a,
#footer-avenirbat .elementor-nav-menu .elementor-item {
  font-family: var(--e-global-typography-accent-font-family), sans-serif;
  font-weight: var(--e-global-typography-accent-font-weight, 500);
}

/* ==========================================================
   TITRE "SAS AVENIR BÂT" : MAJUSCULES FORCÉES AUTOMATIQUEMENT
   (colonne 3 : titre, ou première ligne en gras du bloc texte)
   ========================================================== */

/* Si c'est un widget Titre */
#footer-avenirbat > *:nth-child(3) .elementor-heading-title,
#footer-avenirbat > .e-con-inner > *:nth-child(3) .elementor-heading-title {
  text-transform: uppercase !important;
}

/* Si c'est la première ligne en gras d'un bloc texte */
#footer-avenirbat > *:nth-child(3) .elementor-widget-text-editor p:first-child strong,
#footer-avenirbat > *:nth-child(3) .elementor-widget-text-editor p:first-child b,
#footer-avenirbat > .e-con-inner > *:nth-child(3) .elementor-widget-text-editor p:first-child strong,
#footer-avenirbat > .e-con-inner > *:nth-child(3) .elementor-widget-text-editor p:first-child b {
  text-transform: uppercase !important;
}

/* Option manuelle : classe "titre-majuscule" à ajouter sur n'importe quel titre */
#footer-avenirbat .titre-majuscule,
#footer-avenirbat .titre-majuscule .elementor-heading-title,
#footer-avenirbat .elementor-heading-title.titre-majuscule {
  text-transform: uppercase !important;
}

/* Textes */
#footer-avenirbat .elementor-widget-text-editor,
#footer-avenirbat .elementor-widget-text-editor p {
  color: var(--footer-text) !important;
  text-align: left !important;
  margin: 0 0 8px 0;
}

/* Listes de liens */
#footer-avenirbat ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
#footer-avenirbat ul li {
  list-style: none !important;
  margin: 0 0 10px 0 !important;
  padding: 0 !important;
}
#footer-avenirbat a,
#footer-avenirbat .elementor-nav-menu .elementor-item {
  color: var(--footer-text) !important;
  text-decoration: none !important;
  padding: 0 !important;
  transition: color .2s;
}
#footer-avenirbat a:hover,
#footer-avenirbat .elementor-nav-menu .elementor-item:hover {
  color: var(--footer-accent) !important;
}

/* Réseaux sociaux */
#footer-avenirbat .elementor-widget-social-icons {
  margin-top: 25px;
}
#footer-avenirbat .elementor-social-icons-wrapper {
  display: flex;
  justify-content: flex-start;
  gap: 12px;
}
#footer-avenirbat .elementor-social-icon {
  background-color: #ffffff !important;
  border-radius: 4px;
  width: 36px !important;
  height: 36px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  transition: background-color 0.2s;
}
#footer-avenirbat .elementor-social-icon i {
  color: #111111 !important;
  font-size: 18px !important;
}
#footer-avenirbat .elementor-social-icon svg {
  fill: #111111 !important;
  width: 18px !important;
  height: 18px !important;
}
#footer-avenirbat .elementor-social-icon:hover {
  background-color: var(--footer-accent) !important;
}
#footer-avenirbat .elementor-social-icon:hover i,
#footer-avenirbat .elementor-social-icon:hover svg {
  color: #ffffff !important;
  fill: #ffffff !important;
}

#footer-avenirbat > *:first-child img,
#footer-avenirbat > *:last-child img {
  width: 100% !important;
  max-width: 180px !important;
  height: auto !important;
  margin: 0 auto !important;
  display: block !important;
}

/* Tablette */
@media (max-width: 1024px) {
  #footer-avenirbat {
    flex-wrap: wrap !important;
    row-gap: 40px !important;
    padding: 40px 5% !important;
  }
  #footer-avenirbat > .e-con,
  #footer-avenirbat > .elementor-widget,
  #footer-avenirbat > .e-con-inner > .e-con,
  #footer-avenirbat > .e-con-inner > .elementor-widget {
    width: 45% !important;
    padding: 0 !important;
  }

  #footer-avenirbat > .e-con ~ .e-con,
  #footer-avenirbat > .elementor-widget ~ .elementor-widget {
    border-left: none !important;
  }
}

/* Mobile */
@media (max-width: 600px) {
  #footer-avenirbat {
    padding: 30px 20px !important;
  }
  #footer-avenirbat > .e-con,
  #footer-avenirbat > .elementor-widget,
  #footer-avenirbat > .e-con-inner > .e-con,
  #footer-avenirbat > .e-con-inner > .elementor-widget {
    width: 100% !important;
    border-left: none !important;
    padding: 0;
    align-items: center;
  }
  #footer-avenirbat .elementor-heading-title,
  #footer-avenirbat .elementor-widget-text-editor,
  #footer-avenirbat .elementor-widget-text-editor p,
  #footer-avenirbat .elementor-nav-menu .elementor-item {
    text-align: center !important;
  }
  #footer-avenirbat .elementor-social-icons-wrapper {
    justify-content: center;
  }
  #footer-avenirbat img {
    margin: 0 auto;
  }
}

/* SÉPARATEURS VERTICAUX PERSONNALISÉS */
#footer-avenirbat > .e-con,
#footer-avenirbat > .elementor-widget,
#footer-avenirbat > .e-con-inner > .e-con,
#footer-avenirbat > .e-con-inner > .elementor-widget {
  border-right: none !important;
  position: relative;
}

#footer-avenirbat > .e-con:not(:last-child)::after,
#footer-avenirbat > .elementor-widget:not(:last-child)::after,
#footer-avenirbat > .e-con-inner > .e-con:not(:last-child)::after,
#footer-avenirbat > .e-con-inner > .elementor-widget:not(:last-child)::after {
  content: "";
  position: absolute;
  right: 0;
  top: 15px;
  height: 150px;
  width: 1px;
  background-color: var(--footer-line);
  transform: none !important;
}

@media (max-width: 1024px) {
  #footer-avenirbat > .e-con:not(:last-child)::after,
  #footer-avenirbat > .elementor-widget:not(:last-child)::after,
  #footer-avenirbat > .e-con-inner > .e-con:not(:last-child)::after,
  #footer-avenirbat > .e-con-inner > .elementor-widget:not(:last-child)::after {
    display: none !important;
  }
}