/* General styles */
.team-container {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  justify-content: center;
  padding: 30px;
  max-width: 100%; /* Asegura que el contenedor no se expanda más allá de su tamaño */
  box-sizing: border-box;
}

.team-card .image-container {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 130%; /* Mantener la relación de aspecto 1:1.5 */
  overflow: hidden;
}

.team-card .image-container img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: cover; /* Asegura que la imagen se cubra sin distorsionarse */
}

.team-card {
  background: #D4AF37;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  text-align: center;
  transition: transform 0.3s, border-color 1s;
  flex-basis: calc((100% - 90px) / 3); /* 3 cartas por fila */
  max-width: 33.33%; /* Máximo 33% del contenedor */
  box-sizing: border-box; /* Incluye padding y border en el tamaño total */
  aspect-ratio: 1 / 1.5; /* Relación de aspecto 1:1.5 para mantener proporción */
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: transform 1s, border 1s; /* Especificar las propiedades que tendrán transición */

}

.team-card:hover {
  transform: translateY(-10px);
  border: 2px solid #D4AF37;
}

.image-container {
  position: relative;
  overflow: hidden;
}

.image-container img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.3s;
}

.image-container:hover img {
  transform: scale(1.1); /* Slight zoom on hover */
}

.overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.80);
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  transition: opacity 0.3s;
  padding: 20px;
  box-sizing: border-box;
  text-align: center;
}

.image-container:hover .overlay {
  opacity: 1; /* Show overlay on hover */
}

.team-card h3 {
  margin-top: 20px;
  font-size: 1.2em;
  color: #333;
  font-weight: bold;
}

p {
  color: #ffffff;
  margin: 0 0 10px;
  font-size:larger;
  font-weight: 500;
  text-align: center;
}

@media (max-width: 992px) {
  .team-card {
    flex-basis: calc((100% - 30px) / 2); /* 2 cartas por fila en pantallas medianas */
    max-width: 50%; /* Asegura que no ocupe más del 50% */
  }
}

@media (max-width: 768px) {
  .team-card {
    flex-basis: 100%; /* 1 carta por fila en pantallas pequeñas */
    max-width: 100%; /* Asegura que ocupe el 100% del ancho del contenedor */
  }
  p {
    font-size: 22px;
  }
}

/* Estilo para la sección */
.grupo {
  text-align: center;
  background-color: #1a1a1a37; /* Fondo oscuro */
  color: #D4AF37; /* Texto dorado */
  padding: 20px;
  border-radius: 15px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); /* Sombra elegante */
  margin: 50px auto; /* Centra horizontalmente y añade espacio */
  width: 80%; /* Ancho adaptativo */
  max-width: 80%; /* Limita el ancho en pantallas grandes */
}

/* Título estilizado */
.grupo h3 {
  font-size: 2.5rem;
  margin-bottom: 10px;
  letter-spacing: 2px;
  text-transform: uppercase; /* Mayúsculas */
  border-bottom: 2px solid #D4AF37; /* Subrayado dorado */
  padding-bottom: 5px;
  animation: fadeIn 1s ease-out; /* Aparición suave */
}

/* Texto estético */
.grupo p {
  font-size: 1.2rem;
  text-align: justify; /* Justifica el texto */
  line-height: 1.8; /* Mejora la legibilidad */
  margin-top: 20px;
  animation: slideIn 1.2s ease-out; /* Efecto de deslizamiento */
  transition: color 0.3s ease;
  font-weight: 100;
}

.grupo p:hover {
  color: #f0f0f0; /* Cambia a blanco al pasar el cursor */
}

/* Contenedor de imagen y texto */
.grupo-contenido {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap; /* Permite que el contenido se adapte */
  gap: 20px; /* Espacio entre imagen y texto */
  margin-top: 15px;
}

.grupo img {
  max-width: 70%; /* Imagen más grande pero adaptable */
  height: auto;
  border-radius: 15px;
  transition: transform 0.5s ease, box-shadow 0.5s ease;
}

.grupo img:hover {
  transform: scale(1.02);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.5); /* Efecto de sombra al pasar el cursor */
}

/* Animaciones */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes slideIn {
  from {
    opacity: 0;
    transform: translateX(-20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* Media Query para pantallas pequeñas */
@media (max-width: 768px) {
  .grupo {
    text-align: center;
    background-color: #1a1a1a; /* Fondo oscuro */
    color: #D4AF37; /* Texto dorado */
    padding: 20px;
    border-radius: 15px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); /* Sombra elegante */
    margin: 50px auto; /* Centra horizontalmente y añade espacio */
    width: 100%; /* Ancho adaptativo */
    max-width: 90%; /* Limita el ancho en pantallas grandes */
    font-family: Arial, sans-serif;
  }
  .grupo img {
    max-width: 100%; /* Imagen más grande pero adaptable */
    height: auto;
    border-radius: 15px;
    transition: transform 0.5s ease, box-shadow 0.5s ease;
  }

  .grupo h3 {
    font-size: 2rem; /* Reduce el tamaño del título */
  }

  .grupo p {
    font-size: 1rem; /* Texto más compacto */
  }

  .grupo img {
    max-width: 90%; /* Imagen ocupa más en pantallas pequeñas */
  }
}


