/* ============================================
   Footer Fusion - Design Moderne Corporate
   ============================================ */

.footer-fusion {
  background: var(--color-bg-light);
  color: var(--color-text);
  padding: calc(var(--spacing-xxl) + var(--spacing-xl)) 0 var(--spacing-md) 0; /* Padding-top augmenté : 48px + 32px = 80px */
  margin-top: 0; /* Pas de margin-top pour éviter le chevauchement */
  clear: both; /* Force le footer à être en dessous de tous les éléments flottants */
  position: relative; /* Créer un contexte de positionnement */
  z-index: 1; /* S'assurer que le footer est au-dessus des éléments absolus */
  overflow: hidden; /* Empêcher le débordement des éléments absolus */
}

/* Correction pour éviter le chevauchement avec bottom-wrap */
.bottom-wrap {
  margin-bottom: var(--spacing-xl); /* Espacement avant le footer */
  position: relative;
  z-index: 0; /* S'assurer que bottom-wrap est en dessous du footer */
  overflow: hidden; /* Empêcher le débordement du ::before */
}

.bottom-wrap::before {
  z-index: -1; /* Le ::before doit être en arrière-plan */
  position: absolute; /* Déjà défini dans custom.css, on s'assure juste du z-index */
}

.footer-fusion .container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--spacing-xl); /* Espacement latéral standard (32px) */
}

/* ============================================
   Footer Main Content
   ============================================ */

.footer-main-fusion {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* 4 colonnes fixes : SOMEF, Produits, Solutions, Contact */
  gap: var(--spacing-xxl); /* Espacement standard entre colonnes (48px) */
  margin-bottom: var(--spacing-xl);
  padding: var(--spacing-lg) 0 var(--spacing-xl) 0; /* Padding-top augmenté : 24px au lieu de 16px */
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

/* ============================================
   Footer Column - About
   ============================================ */

.footer-about-fusion {
  grid-column: 1; /* Première colonne : SOMEF */
  padding-right: var(--spacing-md); /* Espacement interne standard */
}

.footer-company-name-fusion {
  font-family: var(--font-family-bold);
  font-size: var(--font-size-large);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-light);
  margin: 0 0 var(--spacing-md) 0; /* Espacement standard : 0 top, 16px bottom */
  text-transform: uppercase;
  letter-spacing: 1px;
}

.footer-logo-fusion {
  margin: 0 0 var(--spacing-md) 0; /* Espacement standard : 0 top, 16px bottom */
  display: block; /* Logo visible */
}

.footer-logo-fusion img {
  max-width: 150px;
  height: auto;
  /* Logo normal (pas de filtre) sur fond clair */
}

.footer-description-fusion {
  font-size: var(--font-size-small);
  line-height: var(--line-height-base);
  color: var(--color-text-light);
  margin: 0 0 var(--spacing-lg) 0; /* Espacement standard : 0 top, 24px bottom */
  padding-right: var(--spacing-md); /* Espacement interne pour éviter que le texte touche le bord */
}

.footer-social-fusion {
  display: flex;
  gap: var(--spacing-sm);
  margin-top: var(--spacing-md);
}

.footer-social-fusion a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.05);
  color: var(--color-text-light);
  text-decoration: none;
  transition: all var(--transition-base);
  border: 1px solid rgba(0, 0, 0, 0.1);
}

.footer-social-fusion a:hover {
  background: var(--color-primary);
  border-color: var(--color-primary);
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(211, 51, 67, 0.3);
}

.footer-social-fusion a::before {
  font-family: 'Material Icons';
  font-size: 20px;
  content: attr(data-icon);
}

/* ============================================
   Footer Column - Links
   ============================================ */

.footer-column-fusion {
  grid-column: auto; /* Colonnes Produits et Solutions prennent leur place automatiquement */
  padding: 0 var(--spacing-sm); /* Espacement interne standard pour centrage */
}

.footer-column-title-fusion {
  font-family: var(--font-family-bold);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-light);
  margin: 0 0 var(--spacing-md) 0; /* Espacement standard : 0 top, 16px bottom */
  text-transform: uppercase;
  letter-spacing: 0.5px;
  position: relative;
  padding-bottom: var(--spacing-sm); /* Espacement standard pour l'accent (8px) */
}

.footer-column-title-fusion::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 40px;
  height: 2px;
  background: var(--color-primary);
}

.footer-links-fusion {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-links-fusion li {
  margin-bottom: var(--spacing-sm); /* Espacement standard entre liens (8px) */
}

.footer-links-fusion a {
  color: var(--color-text-light);
  text-decoration: none;
  font-size: var(--font-size-small);
  transition: all var(--transition-base);
  display: inline-block;
  line-height: var(--line-height-base);
}

.footer-links-fusion a:hover {
  color: var(--color-primary);
  padding-left: var(--spacing-xs);
}

/* ============================================
   Footer Column - Contact
   ============================================ */

.footer-contact-fusion {
  grid-column: 4; /* Quatrième colonne : Contact (séparé des réseaux sociaux) */
  padding-left: var(--spacing-md); /* Espacement interne standard */
}

.footer-contact-item-fusion {
  display: flex;
  align-items: flex-start;
  gap: var(--spacing-md); /* Espacement standard entre icône et texte (16px) */
  margin-bottom: var(--spacing-md); /* Espacement standard entre items (16px) */
  color: var(--color-text-light);
  font-size: var(--font-size-small);
  line-height: var(--line-height-base);
}

.footer-contact-item-fusion::before {
  font-family: 'Material Icons';
  font-size: 20px;
  color: var(--color-primary);
  content: attr(data-icon);
  flex-shrink: 0;
  margin-top: 2px; /* Alignement vertical avec le texte */
  width: 24px; /* Largeur fixe pour alignement */
  text-align: center; /* Centrage de l'icône */
}

.footer-contact-item-fusion a {
  color: var(--color-text-light);
  text-decoration: none;
  transition: color var(--transition-base);
}

.footer-contact-item-fusion a:hover {
  color: var(--color-primary);
}

/* ============================================
   Footer Bottom - Copyright
   ============================================ */

.footer-bottom-fusion {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--spacing-lg) 0 0 0; /* Padding standard : 24px top, 0 autres */
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  flex-wrap: wrap;
  gap: var(--spacing-lg); /* Espacement standard entre copyright et liens (24px) */
  margin-top: var(--spacing-md); /* Espacement standard au-dessus (16px) */
}

.footer-copyright-fusion {
  font-size: var(--font-size-small);
  color: var(--color-text-light);
  margin: 0; /* Pas de margin pour éviter les espacements inutiles */
  padding: 0; /* Pas de padding, géré par footer-bottom-fusion */
}

.footer-copyright-fusion p {
  margin: 0 0 var(--spacing-xs) 0; /* Espacement standard entre paragraphes (4px) */
}

.footer-copyright-fusion p:last-child {
  margin-bottom: 0; /* Pas de margin sur le dernier paragraphe */
}

.footer-credit-fusion {
  margin-top: var(--spacing-sm) !important; /* Espacement standard (8px) */
  font-size: 0.75rem; /* Taille réduite pour le crédit */
  color: var(--color-text-lighter); /* Couleur plus claire pour le crédit */
}

.footer-copyright-fusion a {
  color: var(--color-text-light);
  text-decoration: none;
  transition: color var(--transition-base);
}

.footer-copyright-fusion a:hover {
  color: var(--color-primary);
}

.footer-legal-links-fusion {
  display: flex;
  gap: var(--spacing-lg); /* Espacement standard entre liens légaux (24px) */
  list-style: none;
  padding: 0;
  margin: 0;
  align-items: center; /* Alignement vertical centré */
}

.footer-legal-links-fusion a {
  color: var(--color-text-light);
  text-decoration: none;
  font-size: var(--font-size-small);
  transition: color var(--transition-base);
}

.footer-legal-links-fusion a:hover {
  color: var(--color-primary);
}

/* ============================================
   Responsive
   ============================================ */

@media screen and (max-width: 992px) {
  .footer-fusion .container {
    padding: 0 var(--spacing-lg); /* Réduction de l'espacement latéral sur tablette */
  }
  
  .footer-main-fusion {
    grid-template-columns: repeat(2, 1fr); /* 2 colonnes sur tablette */
    gap: var(--spacing-xl); /* Espacement standard entre colonnes (32px) */
    padding: var(--spacing-md) 0 var(--spacing-lg) 0; /* Padding réduit */
  }
  
  .footer-about-fusion {
    grid-column: 1 / -1; /* About prend toute la largeur sur tablette */
    padding-right: 0; /* Pas de padding supplémentaire sur tablette */
    margin-bottom: var(--spacing-md); /* Espacement standard sous la colonne About */
  }
  
  .footer-column-fusion {
    grid-column: auto; /* Colonnes Produits et Solutions prennent leur place automatiquement */
    padding: 0 var(--spacing-xs); /* Padding réduit sur tablette */
  }
  
  .footer-contact-fusion {
    grid-column: auto; /* Contact prend sa place automatiquement */
    padding-left: var(--spacing-xs); /* Padding réduit sur tablette */
  }
}

@media screen and (max-width: 768px) {
  .footer-fusion {
    padding: var(--spacing-xl) 0 var(--spacing-md) 0; /* Padding standard mobile */
  }
  
  .footer-fusion .container {
    padding: 0 var(--spacing-md); /* Espacement latéral standard mobile (16px) */
  }
  
  .footer-main-fusion {
    grid-template-columns: 1fr;
    gap: var(--spacing-xl); /* Espacement standard entre colonnes (32px) */
    padding: var(--spacing-md) 0 var(--spacing-lg) 0; /* Padding standard mobile */
  }
  
  .footer-about-fusion {
    grid-column: 1; /* About en première position sur mobile */
    padding-right: 0; /* Pas de padding supplémentaire sur mobile */
    margin-bottom: var(--spacing-md); /* Espacement standard sous la colonne About */
  }
  
  .footer-column-fusion {
    grid-column: 1; /* Produits et Solutions en première position sur mobile */
    padding: 0; /* Pas de padding sur mobile */
  }
  
  .footer-contact-fusion {
    grid-column: 1; /* Contact en première position sur mobile */
    padding-left: 0; /* Pas de padding sur mobile */
  }
  
  .footer-description-fusion {
    padding-right: 0; /* Pas de padding supplémentaire sur mobile */
  }
  
  .footer-bottom-fusion {
    flex-direction: column;
    text-align: center;
    gap: var(--spacing-md); /* Espacement standard entre copyright et liens (16px) */
    padding-top: var(--spacing-md); /* Padding standard mobile */
  }
  
  .footer-legal-links-fusion {
    flex-direction: column;
    gap: var(--spacing-sm); /* Espacement standard entre liens (8px) */
    width: 100%; /* Largeur complète pour centrage */
  }
}

@media screen and (max-width: 480px) {
  .footer-social-fusion a {
    width: 36px;
    height: 36px;
  }
  
  .footer-social-fusion a::before {
    font-size: 18px;
  }
}

