/*
 * Les membres sont des modules à part entière : Divi les enveloppe chacun dans
 * son propre conteneur. Les règles de colonnes visent donc l'enfant direct quel
 * qu'il soit, et non « .team-member », qui est un petit-fils — c'est pourquoi
 * le réglage « Colonnes » n'avait aucun effet en Divi 4.
 */

/* Team Grid Container */
.team-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  margin-bottom: 30px;
}

/* Colonnes */
.team-grid-columns-2 > * {
  flex: 0 0 calc(50% - 15px);
}

.team-grid-columns-3 > * {
  flex: 0 0 calc(33.333% - 20px);
}

.team-grid-columns-4 > * {
  flex: 0 0 calc(25% - 22.5px);
}

.team-grid-columns-5 > * {
  flex: 0 0 calc(20% - 24px);
}

.team-grid-columns-6 > * {
  flex: 0 0 calc(16.666% - 25px);
}

/* Team Member */
.team-member {
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease;
}

.team-member-linked {
  cursor: pointer;
  text-decoration: none;
  color: inherit;
}

.team-member-linked:hover {
  transform: translateY(-5px);
  text-decoration: none;
}

/* Image */
.team-member-image {
  width: 120px;
  height: 120px;
  margin-bottom: 15px;
  overflow: hidden;
  flex-shrink: 0;
}

.team-member-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.team-member-linked:hover .team-member-image img {
  transform: scale(1.1);
}

/* Styles d'image */
.team-grid-image-square .team-member-image {
  border-radius: 8px;
}

.team-grid-image-circle .team-member-image {
  border-radius: 50%;
}

.team-grid-image-natural .team-member-image {
  width: 100%;
  height: auto;
}

.team-grid-image-natural .team-member-image img {
  object-fit: contain;
}

/* Alignement */
.team-grid-align-center .team-member {
  align-items: center;
}

.team-grid-align-center .team-member-info {
  text-align: center;
}

.team-grid-align-left .team-member {
  align-items: flex-start;
}

.team-grid-align-left .team-member-info {
  text-align: left;
}

/* Info */
.team-member-info {
  flex: 1;
}

.team-member-name {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 5px;
  line-height: 1.3;
}

.team-member-role {
  font-size: 14px;
  line-height: 1.4;
  opacity: 0.7;
}

/* Hover effects pour les liens */
.team-member-linked:hover .team-member-name {
  opacity: 0.7;
}

/* Responsive */
@media (max-width: 980px) {
  .team-grid-columns-4 > *,
  .team-grid-columns-5 > *,
  .team-grid-columns-6 > * {
    flex: 0 0 calc(33.333% - 20px);
  }
}

@media (max-width: 767px) {
  .team-grid {
    gap: 20px;
  }
  
  .team-grid-columns-2 > *,
  .team-grid-columns-3 > *,
  .team-grid-columns-4 > *,
  .team-grid-columns-5 > *,
  .team-grid-columns-6 > * {
    flex: 0 0 calc(50% - 10px);
  }
  
  .team-member-name {
    font-size: 14px;
  }
  
  .team-member-role {
    font-size: 13px;
  }
}

@media (max-width: 480px) {
  .team-grid > * {
    flex: 0 0 100%;
  }
}