/* ================= SPEAKERS CAROUSEL ================= */
.aag-speakers-section {
  text-align: center;
  padding: 50px 10px;
}

.aag-speakers-title {
  font-family: 'CSBoline-Regular', serif !important;
  font-size: 45px;
  color: #003f52;
  margin-bottom: 0px;
}
.aag-speakers-swiper {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 80px 0 90px;
  overflow: hidden;
}

.aag-speakers-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
}

.aag-speaker-card {
  width: calc(33.333% - 30px);
  margin-top: 60px;
  background: #ffffff;
  border-radius: 28px;
  text-align: center;
  padding: 70px 25px 45px;
  position: relative;
  min-height: 235px;
  box-shadow: 0 8px 22px rgba(0,0,0,0.16);
  transition: all 0.25s ease;
}

.aag-speaker-card:hover {
  transform: translateY(-6px);
}

/* ================= FOTO ================= */

/* Caso normal: agregamos aro */
.aag-speaker-photo {
  width: 112px;
  height: 112px;
  border: 7px solid #00364A;
  border-radius: 50%;
  overflow: hidden;
  position: absolute;
  top: -56px;
  left: 50%;
  transform: translateX(-50%);
  background: #ffffff;
}

/* Imagen limpia */
.aag-speaker-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 50% !important;
}

/*Caso clave: imagen ya tiene aro → NO duplicar */
.aag-speaker-photo.has-frame {
  border: none !important;
  background: transparent !important;
}

/* ================= TEXTO ================= */

.aag-speaker-name {
  color: #00364A !important;
  font-size: 18px !important;
  line-height: 22px;
  margin-bottom: 24px;
}

.aag-speaker-org {
  font-family: 'segoe-ui-semibold', sans-serif;
  color: #000000;
  font-size: 15px;
  line-height: 18px;
  margin-bottom: 14px;
}

.aag-speaker-job {
  color: #111111;
  font-size: 13px;
  line-height: 18px;
}

/* ================= BOTÓN ================= */

.aag-speaker-btn {
  position: absolute;
  bottom: -15px;
  left: 50%;
  transform: translateX(-50%);
  background: #00364A;
  color: #ffffff !important;
  border-radius: 30px;
  padding: 7px 18px;
  font-size: 14px;
  text-decoration: none;
}

.aag-speaker-btn:hover {
  background: #336473;
}

/* ================= MOBILE ================= */

@media screen and (max-width: 768px) {

  .aag-speakers-swiper {
    padding: 70px 0;
  }

  .aag-speakers-grid {
    flex-direction: column;
    align-items: center;
  }

  .aag-speaker-card {
    width: 95%;
    max-width: 380px;
    margin: 65px auto 35px;
  }
}