/* 03 — Duas oportunidades (Start, Expert e Summer) */
.opp {
  --opp-card-bg: #F7F0FC;
  --opp-card-border: #A44BFA;
  background: var(--color-off);
  padding-block: 80px;
}
.opp__container { max-width: calc(1260px + var(--gutter) * 2); }

.opp__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
  margin-bottom: var(--space-4);
  text-align: center;
}
.opp__title { max-width: 659px; color: var(--color-primary); }
.opp__lead { color: var(--color-gray); line-height: 1.45; }

.opp__cards {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 34px;
}
.opp__card {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  background: var(--opp-card-bg);
  border: 1px solid var(--opp-card-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.opp__media {
  display: block;
  width: 100%;
  height: 223px;
  object-fit: cover;
}
.opp__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: var(--space-4);
  padding: var(--space-4) var(--space-3);
}
.opp__info { display: flex; flex-direction: column; gap: var(--space-3); }

/* Selo da trilha */
.opp__tag {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 148px;
  background: var(--color-white);
  border-radius: 80px;
  color: var(--color-primary);
}
.opp__tag-text { font-size: 32px; font-weight: var(--fw-bold); line-height: 1.45; white-space: nowrap; }
.opp__tag-icon { position: absolute; top: 5px; right: -9px; width: 26.938px; height: 50px; }
.opp__tag-icon--summer { top: 4px; right: -16px; }

.opp__text { display: flex; flex-direction: column; gap: var(--space-2); line-height: 1.45; }
.opp__where { font-size: 14px; font-weight: var(--fw-regular); line-height: 1.45; color: var(--color-primary); }
.opp__desc { min-height: 130px; line-height: 1.45; color: var(--color-gray); }
.opp__card--summer .opp__desc { min-height: 165px; }
.opp__ideal { display: flex; flex-direction: column; gap: 12px; }
.opp__ideal-title { line-height: 1.45; color: var(--color-primary); }
.opp__ideal-text { line-height: 1.45; color: var(--color-gray); }

.opp__btn { width: 100%; padding: var(--space-2) var(--space-3); border-radius: 30px; line-height: 1.45; }

@media (max-width: 1024px) {
  .opp { padding-block: var(--space-6); }
  .opp__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); }
  .opp__card--summer { grid-column: 1 / -1; }
  .opp__desc, .opp__card--summer .opp__desc { min-height: 0; }
}
@media (max-width: 640px) {
  .opp { padding-block: var(--space-5); }
  .opp__head { gap: var(--space-2); margin-bottom: var(--space-3); }
  .opp__cards { margin-inline: calc(var(--gutter) * -1); }
  .opp__card--summer { grid-column: auto; }
  .opp__media { height: auto; aspect-ratio: 396 / 223; }
  .opp__body { padding: var(--space-3) var(--space-2); }
}
