/* Texte financeurs dans le footer */
.footer-financeurs, .footer-financeurs * {
  color: #000 !important;
}
/*
  footer.css
  Styles du footer, desktop et responsive.
  Factorisation, optimisation, documentation complète.
*/

/* Lien Atlantis Designs hover blanc */
.atlantis-link,
.partner-link {
  color: inherit;
  text-decoration: underline;
  transition: color 0.2s;
}
.atlantis-link:hover,
.partner-link:hover {
  color: #fff;
}
/* NAV LINKS FOOTER - BASE STYLES */
.footer-nav-link,
.header-nav-link-green,
.header-nav-link-purple,
.header-nav-link-orange {
  color: #000;
  text-decoration: none;
  transition: color 0.3s, text-decoration-color 0.3s;
  display: inline-block;
  font-family: var(--font-nav) !important;
  font-weight: 400;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

/* Styles spécifiques par page/section */

/* ACCUEIL et ASSOCIATION - vert */
.footer-nav-green a[href="/index"]:hover,
.footer-nav-green a[href="/index"].active,
.footer-nav-green a[href="/association"]:hover,
.footer-nav-green a[href="/association"].active,
.footer-nav-purple a[href="/index"]:hover,
.footer-nav-purple a[href="/index"].active,
.footer-nav-purple a[href="/association"]:hover,
.footer-nav-purple a[href="/association"].active,
.footer-nav-orange a[href="/index"]:hover,
.footer-nav-orange a[href="/index"].active,
.footer-nav-orange a[href="/association"]:hover,
.footer-nav-orange a[href="/association"].active {
  color: var(--color-green);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
  text-decoration-color: var(--color-green);
}

/* EVENEMENTS et ARTISTES - violet */
.footer-nav-green a[href="/evenements"]:hover,
.footer-nav-green a[href="/evenements"].active,
.footer-nav-green a[href="/artistes"]:hover,
.footer-nav-green a[href="/artistes"].active,
.footer-nav-purple a[href="/evenements"]:hover,
.footer-nav-purple a[href="/evenements"].active,
.footer-nav-purple a[href="/artistes"]:hover,
.footer-nav-purple a[href="/artistes"].active,
.footer-nav-orange a[href="/evenements"]:hover,
.footer-nav-orange a[href="/evenements"].active,
.footer-nav-orange a[href="/artistes"]:hover,
.footer-nav-orange a[href="/artistes"].active {
  color: var(--color-purple);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
  text-decoration-color: var(--color-purple);
}

/* CONTACT et MENTIONS LEGALES - orange */
.footer-nav-green a[href="/contact"]:hover,
.footer-nav-green a[href="/contact"].active,
.footer-nav-green a[href="/mentionslegales"]:hover,
.footer-nav-green a[href="/mentionslegales"].active,
.footer-nav-purple a[href="/contact"]:hover,
.footer-nav-purple a[href="/contact"].active,
.footer-nav-purple a[href="/mentionslegales"]:hover,
.footer-nav-purple a[href="/mentionslegales"].active,
.footer-nav-orange a[href="/contact"]:hover,
.footer-nav-orange a[href="/contact"].active,
.footer-nav-orange a[href="/mentionslegales"]:hover,
.footer-nav-orange a[href="/mentionslegales"].active {
  color: var(--color-orange);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
  text-decoration-color: var(--color-orange);
}

/* ------------------------------------------------------------------------SECTION----FOOTER---GREEN-------------------------------------------------------------- */
/* CSS SECTION FOOTER GREEN */
.section-footer-desktop-green {
  display: var(--footer-display);
  flex-direction: var(--footer-flex-direction);
  width: 100%;
  min-width: 0;
  max-width: 100%;
  gap: 0;
  padding: 0;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  margin-top: auto; /* Pousse le footer vers le bas */
  overflow: hidden; /* Empêche les dépassements */
  font-size: 0; /* Élimine les espaces potentiels entre blocs */
}

/* CSS BLOC BLOC NAV FOOTER + LOGO */
.footer-bloc-navigation-green{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  gap: 0;
  background: var(--gradient-principal-grey);
  min-height: 135px;
  box-sizing: border-box;
  padding: 25px 0;
}

/* CSS CONTENER1 / Nav footer */
.footer-nav-green {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 100px;
}

/* CSS CONTENER2 / Logo */
.footer-logo img {
  width: 100px;
  height: 100px;
  object-fit: contain;
}
/* CSS BLOC COPYRIGHT */
.contener-copyright {
  width: 100%;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  font-size: 0; /* Élimine les espaces blancs potentiels */
}

/* Rétablir la taille de police pour tous les éléments de texte du footer */
.footer-nav-green a,
.footer-nav-purple a,
.footer-nav-orange a,
.footer-financeurs-title,
.footer-financeurs-logos,
.copyright-site-green p,
.copyright-site-purple p,
.copyright-site-orange p {
  font-size: 14px;
}

.copyright-site-green {
  background-color: var(--color-green);
  color: #000;
  text-decoration: none;
  display: flex;
  align-items: center;      /* Centre verticalement le texte */
  justify-content: center;  /* Centre horizontalement le texte */
  text-align: center;
  height: 50px;
  width: 100vw;
  margin: 0;
  padding: 0;
  position: relative;
  left: 50%;
  right: 50%;
  transform: translateX(-50%);
  box-sizing: border-box;
  margin-bottom: -1px; /* Élimine l'espace potentiel en bas */
}

/* ------------------------------------------------------------------------SECTION----FOOTER---PURPLE-------------------------------------------------------------- */
/* CSS SECTION FOOTER PURPLE */
.section-footer-desktop-purple {
  display: var(--footer-display);
  flex-direction: var(--footer-flex-direction);
  width: 100%;
  min-width: 0;
  max-width: 100%;
  gap: 0;
  padding: 0;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  margin-top: auto; /* Pousse le footer vers le bas */
  overflow: hidden; /* Empêche les dépassements */
  font-size: 0; /* Élimine les espaces potentiels entre blocs */
}
 

/* CSS BLOC BLOC NAV FOOTER + LOGO */
.footer-bloc-navigation-purple{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  gap: 0;
  background: var(--gradient-principal-grey);
  min-height: 135px;
  box-sizing: border-box;
  padding: 25px 0;
}

/* CSS CONTENER1 / Nav footer */
.footer-nav-purple {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 100px;
}

/* CSS CONTENER2 / Logo OK UP */

/* CSS BLOC COPYRIGHT */
.copyright-site-purple {
  background-color: var(--color-purple);
  color: #000;
  text-decoration: none;
  display: flex;
  align-items: center;      /* Centre verticalement le texte */
  justify-content: center;  /* Centre horizontalement le texte */
  text-align: center;
  height: 50px;
  width: 100vw;
  margin: 0;
  padding: 0;
  position: relative;
  left: 50%;
  right: 50%;
  transform: translateX(-50%);
  box-sizing: border-box;
  margin-bottom: -1px; /* Élimine l'espace potentiel en bas */
}

/* ------------------------------------------------------------------------SECTION----FOOTER---ORANGE-------------------------------------------------------------- */
/* CSS SECTION FOOTER ORANGE */
/* Correction largeur pour la page contact : occupe toute la fenêtre */
.section-footer-desktop-orange {
  display: var(--footer-display);
  flex-direction: var(--footer-flex-direction);
  width: 100vw;
  min-width: 0;
  max-width: 100vw;
  gap: 0;
  padding: 0;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  margin-top: auto; /* Pousse le footer vers le bas */
  overflow: hidden; /* Empêche les dépassements */
  font-size: 0; /* Élimine les espaces potentiels entre blocs */
}
 

/* CSS BLOC BLOC NAV FOOTER + LOGO */
.footer-bloc-navigation-orange{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  gap: 0;
  background: var(--gradient-principal-grey);
  min-height: 135px;
  box-sizing: border-box;
  padding: 25px 0;
}

/* CSS CONTENER1 / Nav footer */
.footer-nav-orange {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 100px;
}

/* CSS CONTENER2 / Logo OK UP */

/* CSS BLOC COPYRIGHT */
.copyright-site-orange {
  background-color: var(--color-orange);
  color: #000;
  text-decoration: none;
  display: flex;
  align-items: center;      /* Centre verticalement le texte */
  justify-content: center;  /* Centre horizontalement le texte */
  text-align: center;
  height: 50px;
  width: 100vw;
  margin: 0;
  padding: 0;
  position: relative;
  left: 50%;
  right: 50%;
  transform: translateX(-50%);
  box-sizing: border-box;
  margin-bottom: -1px; /* Élimine l'espace potentiel en bas */
}
.header-separation-orange {
  width: 100vw;
  max-width: 100vw;
  height: 5px;
  background: var(--gradient-secondary-orange);
  margin-left: calc(-50vw + 50%);
  margin-right: 0;
  display: block;
  box-sizing: border-box;
}
/* CSS CONTENER FOOTER */
.contener-footer {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  width: 100%;
  gap: 50px;
  box-sizing: border-box;
  padding: 0 15px;
}
.footer-nav-orange,
.footer-nav-green,
.footer-nav-purple {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: 1fr 1fr; /* Deux lignes de même hauteur */
  height: 100%;
  gap: 0; /* Pas d'espace entre les cellules sur desktop */
}
.footer-nav-link {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%; /* Chaque lien occupe toute la hauteur de la cellule */
  padding: 8px 0; /* Un peu d'espace interne si besoin */
}
.footer-logo {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 120px;
}
.footer-financeurs {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 160px;
  background-color: white;
  border-radius: 25px;
  padding: 15px;
  border: 1px solid rgba(0, 0, 0, 0.05);
  margin: 10px 0;
  transition: transform 0.3s ease;
  text-align: center;
}

.footer-financeurs:hover {
  transform: translateY(-2px);
}

.footer-financeurs-title {
  font-weight: bold;
  margin-bottom: 12px;
  text-transform: uppercase;
  font-size: 13px;
  letter-spacing: 0.5px;
  position: relative;
  color: #333;
  text-align: center;
}

.footer-financeurs-title::after {
  content: '';
  display: block;
  width: 40px;
  height: 2px;
  background: #ddd;
  margin: 5px auto 0;
}

.footer-financeurs-logos {
  display: flex;
  justify-content: center;
  gap: 14px;
  padding: 5px 0;
    text-align: center;
}
.footer-financeur-logo {
  display: inline-block;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #ccc;
  border: 1px solid rgba(255, 255, 255, 0.6);
  transition: transform 0.2s ease;
}

.footer-financeur-logo:hover {
  transform: translateY(-2px);
}
.footer-financeur-orange {
  background: var(--color-orange, #ff9800);
}
.footer-financeur-purple {
  background: var(--color-purple, #a259e6);
}
.footer-financeur-green {
  background: var(--color-green, #4caf50);
}

.footer-financeur-link {
  display: inline-block;
  text-decoration: none;
  transition: transform 0.2s ease;
}

.footer-financeur-link:hover {
  transform: scale(1.12);
}
@media (max-width: 900px) {
  .contener-footer {
    flex-direction: column;
    align-items: center;
    gap: 20px;
    padding: 0 10px;
  }
  .footer-logo {
    margin: 18px 0;
  }
  .footer-financeurs {
    margin: 20px 0;
    padding: 15px;
    width: 85%;
    max-width: 280px;
  }
  .footer-financeurs-title {
    font-size: 12px;
    margin-bottom: 10px;
  }
  .footer-financeurs-logos {
    gap: 12px;
  }
  .footer-nav-orange,
  .footer-nav-purple,
  .footer-nav-green {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    gap: 10px 0;
    text-align: center;
    justify-items: center;
  }
}

@media (max-width: 480px) {
  .footer-financeurs {
    padding: 12px;
    margin: 15px 0;
  }
  .footer-financeurs-title {
    font-size: 11px;
  }
  .footer-financeur-logo {
    width: 32px;
    height: 32px;
  }
  .footer-financeurs-logos {
    gap: 10px;
  }
}

/* Ajoute un padding-bottom au contenu principal pour ne pas masquer le contenu */
body {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

/* Centrage garanti du texte copyright dans les trois footers */
.copyright-site-green p,
.copyright-site-purple p,
.copyright-site-orange p {
  margin: 0;
  padding: 0;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  height: 100%;
  box-sizing: border-box;
}