/* 08 — Etapas do Processo Seletivo (Figma 27171:752) */
.proc {
  background: var(--color-white);
  padding: 80px 0;
  --proc-violet: #A44BFA;
}
.proc__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 48px;
  max-width: 1344px;
  margin-inline: auto;
  padding-inline: 112px;
}
.proc__title {
  font-size: var(--fs-h2);
  line-height: var(--lh-h2);
  font-weight: var(--fw-bold);
  color: var(--color-primary);
  text-align: center;
}

.proc__steps { position: relative; width: 100%; }
.proc__line {
  position: absolute;
  left: 50%; top: 36px;
  transform: translate(-50%, -50%);
  width: calc(75% + 12px);
  max-width: none;
  height: 5px;
  pointer-events: none;
}
.proc__list {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  list-style: none;
}
.proc__step { display: flex; flex-direction: column; min-width: 0; }

.proc__node {
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  width: 48px; height: 48px;
  margin-block: 12px;
  border: 2px solid var(--color-purple-01);
  border-radius: 24px;
  background: var(--color-white);
  color: var(--color-primary);
  font-size: var(--fs-body-lg);
  font-weight: var(--fw-bold);
  line-height: normal;
  position: relative;
}
.proc__step--active .proc__node { background: var(--color-primary); border-color: var(--color-primary); color: var(--color-white); }

.proc__card {
  position: relative;
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  min-height: 216px;
  margin-top: 0;
  padding: 24px;
  border: 1px solid var(--color-purple-01);
  border-radius: var(--radius-md);
  background: var(--color-white);
  overflow: hidden;
}
.proc__step--active .proc__card { border: 2px solid var(--proc-violet); background: var(--color-primary); }

.proc__badge {
  padding: 6px 12px;
  border-radius: 20px;
  background: var(--color-white);
  color: var(--color-primary);
  font-size: 12px;
  font-weight: var(--fw-bold);
  line-height: normal;
  white-space: nowrap;
}
.proc__icon {
  display: flex; align-items: center; justify-content: center;
  width: 63.5px; height: 63.5px;
  border: 0.635px solid var(--color-purple-02);
  border-radius: 10.16px;
  flex-shrink: 0;
}
.proc__icon img { display: block; }
.proc__icon--filled { width: 72px; height: 72px; border: 0; border-radius: var(--radius-md); background: rgba(56, 0, 84, 0.51); }

.proc__label { display: flex; flex-direction: column; align-items: center; gap: 4px; width: 100%; font-size: 12px; font-weight: var(--fw-regular); line-height: normal; text-align: center; }
.proc__name { color: var(--color-secondary); }
.proc__date { color: var(--color-purple-02); }
.proc__step--active .proc__name { color: var(--color-purple-01); }
.proc__step--active .proc__date { color: var(--color-white); }

.proc__deco { position: absolute; right: -15px; bottom: -36px; width: 88px; height: 125px; max-width: none; pointer-events: none; }

@media (max-width: 1024px) {
  .proc { padding: 64px 0; }
  .proc__inner { padding-inline: 40px; }
  .proc__line { display: none; }
  .proc__list { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 24px; }
}
@media (max-width: 640px) {
  .proc { padding: 48px 0; }
  .proc__inner { padding-inline: 16px; gap: 32px; }
  .proc__line { display: none; }
  .proc__list { --snap-w: 72%; margin-inline: -16px; }
}
