/* ============================================================
   Card de Desafio — usado nos carrosséis da home
   ============================================================ */

.card-desafio {
  background: var(--color-white);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  display: flex;
  flex-direction: column;
  border-top: 4px solid var(--color-accent);
  min-height: 260px;
  scroll-snap-align: start;
  overflow: hidden;
  transition:
    transform var(--transition-base),
    box-shadow var(--transition-base);
}
.card-desafio:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
}

/* Imagem temática do desafio — topo do card, full-bleed 16:9 */
.card-desafio__img {
  width: 100%;
  aspect-ratio: 16 / 9;
  background: var(--color-bg-light);
  overflow: hidden;
}
.card-desafio__img picture,
.card-desafio__img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Corpo do card — padding restaurado e gap entre os blocos */
.card-desafio > :not(.card-desafio__img) {
  margin-left: var(--space-4);
  margin-right: var(--space-4);
}
.card-desafio__company {
  margin-top: var(--space-3);
  font-size: var(--font-size-xs);
  color: var(--color-text-muted);
  text-align: center;
}

.card-desafio__meta {
  font-size: var(--font-size-xs);
  color: var(--color-text-muted);
  border-top: 1px solid var(--color-border);
  padding-top: var(--space-2);
  margin-top: var(--space-2);
}

.card-desafio__title {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text);
  line-height: var(--line-height-tight);
  margin-top: var(--space-2);
}

.card-desafio__desc {
  font-size: var(--font-size-sm);
  color: var(--color-text-muted);
  flex: 1;
  margin-top: var(--space-2);
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* CTA agora é botão — herda estilo do .btn .btn--primary */
.card-desafio__cta {
  align-self: stretch;
  margin-top: var(--space-3);
  margin-bottom: var(--space-4);
  text-align: center;
}
