/* ============================================================
   Steps — passos com ícone, usado na seção "Alunos"
   + cards de público-alvo (Setor Público, Empresas, Terceiro Setor)
   ============================================================ */

.steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-7) var(--space-4);
  max-width: 880px;
  margin: 0 auto;
  padding: 0;
}

.steps--row2 {
  grid-template-columns: repeat(2, 1fr);
  max-width: 600px;
  margin-top: var(--space-7);
}

.step {
  text-align: center;
  padding: 0 var(--space-3);
  position: relative;
}

.step__icon {
  width: 56px;
  height: 56px;
  margin: 0 auto var(--space-3);
  color: var(--color-primary);
  background: var(--color-white);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.step__icon svg {
  width: 28px;
  height: 28px;
}

.step__title {
  color: var(--color-white);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-tight);
  margin: 0;
}

/* Cards de público-alvo (Setor Público / Empresas / Terceiro Setor) */
.target-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(var(--space-4), 3vw, var(--space-6));
  max-width: none;
  margin: 0;
}

.target-card {
  background: var(--color-bg-light);
  border-radius: 15px;
  padding: clamp(var(--space-5), 2.5vw, var(--space-6)) clamp(var(--space-4), 2vw, var(--space-5));
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-3);
  box-shadow: var(--shadow-md);
}

.target-card__icon {
  width: clamp(56px, 6vw, 80px);
  height: clamp(56px, 6vw, 80px);
  display: flex;
  align-items: center;
  justify-content: center;
}
.target-card__icon img,
.target-card__icon svg {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.target-card__title {
  font-size: clamp(1.125rem, 1.6vw, 1.5rem);
  font-weight: var(--font-weight-semibold);
  color: #000;
  margin: 0;
}

.target-card .btn--target {
  width: 100%;
  background: #2967f4;
  color: var(--color-white);
  font-size: clamp(0.875rem, 1vw, 1rem);
  font-weight: var(--font-weight-semibold);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: var(--space-3) var(--space-4);
  border-radius: 10px;
  border: none;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  margin-top: auto;
  transition: background-color var(--transition-base);
}
.target-card .btn--target:hover {
  background: #1f56d9;
}
