/* CSS spécifique à la page Partenaires.
   Noms “scopés” sous .partenaires-page pour éviter tout conflit. */

.partenaires-page h1 {
  font-size: 2.2rem;
  margin-bottom: 10px;
  text-transform: uppercase;
  color: var(--rouge);
  text-align: center;
}

.partenaires-page .intro {
  margin: 0 auto 30px;
  font-size: 1.1rem;
  text-align: center;
  max-width: 800px;
  color: #333;
}

/* Grille responsive de logos */
.partenaires-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 30px;
  justify-items: center;
  align-items: center;
  padding: 10px 0 40px;
}


.partenaires-grid a {
  display: inline-block;
}

.partenaires-grid img {
  max-height: 120px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  display: block;
  position: static;
}


.partenaires-grid a:hover img,
.partenaires-grid a:focus-visible img {
  filter: grayscale(0%);
  transform: scale(1.05);
}


.partenaires-page {
  background: none
}
/* Harmonise chaque cellule (logo ou texte) */
.partenaires-grid a {
  display: grid;
  place-items: center;
  width: 100%;
  min-height: 130px;           /* hauteur visuelle proche d’un logo 120px */
  border-radius: 12px;
  text-decoration: none;
}

/* Tuile “sans logo” : fond 100% transparent + texte blanc */
.partenaires-grid a.no-logo {
  background: transparent;      /* 100% transparent */
  border: 1px dashed rgba(255, 255, 255, 0);  /* pour matérialiser la tuile */
  color: #fff;
  padding: 16px;
  text-align: center;
  transition: transform .2s ease, border-color .2s ease, color .2s ease;
}

.partenaires-grid a.no-logo .partner-name {
  display: inline-block;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .5px;
  line-height: 1.2;
  /* Légère lisibilité sur fonds photo */
  text-shadow: 0 1px 2px rgba(0,0,0,.45);
}

/* États hover/focus */
.partenaires-grid a.no-logo:hover,
.partenaires-grid a.no-logo:focus-visible {
  transform: translateY(-2px);
  border-color: #e9090900;
  color: #e90909;
}

/* Garder le centrage des logos existants */
.partenaires-grid img {
  max-height: 120px;
  width: auto;
  object-fit: contain;
  filter: grayscale(100%);
  transition: filter .3s ease, transform .3s ease;
}

.partenaires-grid a:hover img,
.partenaires-grid a:focus-visible img {
  filter: grayscale(0%);
  transform: scale(1.05);
}


/* Mobile tweaks */
@media (max-width: 600px) {
  .partenaires-grid { gap: 20px; }
  .partenaires-grid img { max-height: 90px; }
}
