.sports-stats strong {
  text-transform: uppercase;
}

.reference-cards {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px;
}

.reference-cards article {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--color-border-soft);
  border-radius: var(--radius-sm);
  background: linear-gradient(160deg, rgba(11, 23, 38, 0.94), rgba(4, 11, 20, 0.94));
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.26);
  transition: border-color 200ms ease, transform 200ms ease;
}

.reference-cards article:hover {
  border-color: rgba(66, 164, 255, 0.5);
  transform: translateY(-4px);
}

.reference-cards img {
  width: 100%;
  height: 172px;
  opacity: 0.9;
  transition: transform 260ms ease, opacity 260ms ease;
}

.reference-cards article:hover img {
  opacity: 1;
  transform: scale(1.05);
}

.reference-cards div {
  flex: 1;
  padding: 18px 18px 22px;
}

.reference-cards h3 {
  margin-bottom: 8px;
  font-size: 1.18rem;
}

.reference-cards p {
  margin: 0;
  color: var(--color-text-muted);
  font: 500 0.8rem/1.45 var(--font-body);
}

.plan-card {
  padding: 26px;
  border: 1px solid var(--color-border-soft);
  border-radius: var(--radius-sm);
  background:
    linear-gradient(145deg, rgba(11, 23, 38, 0.94), rgba(4, 11, 20, 0.94));
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.22);
}

.plan-card.highlighted {
  border-color: rgba(66, 164, 255, 0.55);
  background:
    radial-gradient(circle at 10% 0%, rgba(8, 119, 239, 0.24), transparent 18rem),
    linear-gradient(145deg, rgba(11, 23, 38, 0.98), rgba(4, 11, 20, 0.95));
}

.plan-head {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 18px;
}

.plan-icon {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  color: var(--color-primary-light);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xs);
  background: rgba(8, 119, 239, 0.1);
}

.plan-icon svg {
  width: 22px;
  height: 22px;
}

.plan-head h3 {
  margin-bottom: 6px;
}

.plan-head p {
  margin: 0;
  color: var(--color-text-muted);
  font: 500 0.86rem/1.5 var(--font-body);
}

/* Tarjeta horizontal: foto a la izquierda, nombre + disciplinas a la derecha */
.coach-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  column-gap: 14px;
  row-gap: 3px;
  padding: 14px 16px;
  text-align: left;
  border: 1px solid var(--color-border-soft);
  border-radius: var(--radius-sm);
  background: linear-gradient(180deg, rgba(11, 23, 38, 0.9), rgba(4, 11, 20, 0.94));
  transition: border-color 200ms ease, transform 200ms ease;
}

.coach-card:hover {
  border-color: rgba(66, 164, 255, 0.5);
  transform: translateY(-3px);
}

.coach-photo {
  grid-row: 1 / 3;
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  color: var(--color-primary-light);
  border: 1px solid var(--color-border);
  border-radius: 50%;
  background: radial-gradient(circle at 50% 30%, rgba(8, 119, 239, 0.28), rgba(4, 11, 20, 0.9));
}

.coach-photo svg {
  width: 30px;
  height: 30px;
}

/* Foto real del coach dentro del circulo */
.coach-photo img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  object-position: center top;
}

.coach-card strong {
  align-self: end;
  font: 900 0.92rem/1.15 var(--font-body);
  text-transform: uppercase;
}

.coach-role {
  align-self: start;
  color: var(--color-text-muted);
  font: 500 0.78rem/1.35 var(--font-body);
}

/* Variante con FOTO GRANDE arriba: para que se vea claramente quien es cada coach */
.coach-grid--photos .coach-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  padding: 0;
  overflow: hidden;
  text-align: center;
}

.coach-grid--photos .coach-photo {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 4;
  border: 0;
  border-radius: 0;
  border-bottom: 1px solid var(--color-border-soft);
}

.coach-grid--photos .coach-photo img {
  border-radius: 0;
}

.coach-grid--photos .coach-photo svg {
  width: 62px;
  height: 62px;
}

.coach-grid--photos .coach-card strong {
  align-self: stretch;
  padding: 15px 14px 0;
  font: 700 0.98rem/1.15 var(--font-heading);
  letter-spacing: 0.03em;
}

.coach-grid--photos .coach-role {
  align-self: stretch;
  padding: 4px 14px 18px;
  font-weight: 400;
}

/* Separacion del boton (p. ej. "Conoce a todo el equipo") tras las tarjetas */
.coach-grid + .centered,
.coach-row + .centered {
  margin-top: 34px;
}

/* Subtitulo dentro de una seccion de equipo */
.team-subhead {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 8px 0 16px;
  color: var(--color-text);
  font: 900 1.05rem/1 var(--font-heading);
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.team-subhead::after {
  flex: 1;
  height: 1px;
  content: "";
  background: var(--color-border-soft);
}

.team-subhead + .coach-grid {
  margin-bottom: 28px;
}

/* Fila unica de tarjetas (competidores): 1 linea en escritorio, scroll en pantallas chicas */
.coach-row {
  display: flex;
  gap: 12px;
  /* padding vertical: deja espacio para el realce/foco al elevarse la tarjeta,
     porque overflow-x:auto recorta el eje vertical */
  padding-block: 10px;
  overflow-x: auto;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.coach-row::-webkit-scrollbar {
  display: none;
}

.coach-row > .coach-card {
  flex: 1 0 118px;
  scroll-snap-align: start;
}

/* Testimonios (resenas de Google) */
.testimonial-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
  gap: 16px;
}

.testimonial-card {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 24px;
  border: 1px solid var(--color-border-soft);
  border-radius: var(--radius-sm);
  background: linear-gradient(160deg, rgba(11, 23, 38, 0.94), rgba(4, 11, 20, 0.94));
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.2);
}

.testimonial-stars {
  display: flex;
  gap: 3px;
  color: #f5b301;
}

.testimonial-stars svg {
  width: 18px;
  height: 18px;
}

.testimonial-card blockquote {
  margin: 0;
  color: var(--color-text-soft);
  font: 500 0.92rem/1.6 var(--font-body);
}

.testimonial-author {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: auto;
}

.testimonial-avatar {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  flex-shrink: 0;
  color: var(--color-primary-light);
  border: 1px solid var(--color-border);
  border-radius: 50%;
  background: rgba(8, 119, 239, 0.1);
  font: 900 0.95rem/1 var(--font-heading);
  text-transform: uppercase;
}

.testimonial-author strong {
  display: block;
  font: 900 0.84rem/1.25 var(--font-body);
}

.testimonial-author span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--color-text-muted);
  font: 500 0.74rem/1.2 var(--font-body);
}

.google-badge {
  font-weight: 900;
  letter-spacing: 0.02em;
}

.google-badge b:nth-child(1) { color: #4285f4; }
.google-badge b:nth-child(2) { color: #ea4335; }
.google-badge b:nth-child(3) { color: #fbbc05; }
.google-badge b:nth-child(4) { color: #4285f4; }
.google-badge b:nth-child(5) { color: #34a853; }
.google-badge b:nth-child(6) { color: #ea4335; }