/* cartao-ep.css: o episódio em cartão. A .miniatura faz o papel da foto do episódio (o podcast ainda não tem foto
   por episódio): um quadro marinho com o número grande em dourado e o tema. A .grade-ep junta os cartões em três
   colunas no computador ("Comece por aqui", "Todos os episódios", "Do mesmo tema"); no telefone cada cartão vira
   uma linha com a miniatura pequena à esquerda.
   Depende de: base.css (o .cartao). Telefone nas regras soltas, computador no @media do fim. */

.miniatura {
  position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden;
  border-radius: var(--raio);
  background: linear-gradient(150deg, var(--marinho-claro), var(--marinho) 70%);
  color: var(--branco);
}
.miniatura::after { content: ""; position: absolute; left: 12px; bottom: 12px; width: 28px; height: 3px; border-radius: 2px; background: var(--dourado); }

.miniatura__tema {
  position: absolute; top: 10px; left: 12px;
  font-size: 11px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; opacity: .7;
}

.miniatura__numero {
  position: absolute; right: 12px; bottom: 4px;
  font-size: 52px; font-weight: 700; line-height: 1; letter-spacing: -0.04em; color: var(--dourado);
}

/* ------------------------------------------------------------ o cartão */

.cartao-ep { display: flex; overflow: hidden; transition: box-shadow .2s, transform .2s; }
.cartao-ep:hover { box-shadow: var(--sombra-alta); transform: translateY(-2px); }

.cartao-ep__link {
  display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 14px; width: 100%; padding: 12px;
  color: inherit; text-decoration: none;
}

.cartao-ep__miniatura { aspect-ratio: 1; border-radius: var(--raio-pequeno); }
.cartao-ep__miniatura::after { left: 8px; bottom: 8px; width: 16px; }
.cartao-ep__miniatura .miniatura__tema { display: none; }
.cartao-ep__miniatura .miniatura__numero { right: 8px; bottom: 2px; font-size: 34px; }

.cartao-ep__texto { display: grid; align-content: start; gap: 4px; min-width: 0; }

.cartao-ep__meta { font-size: 12px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: var(--texto-suave); }

.cartao-ep__titulo { font-size: 16px; font-weight: 700; line-height: 1.3; color: var(--marinho); }

.cartao-ep__resumo {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  font-size: 14px; color: var(--texto-suave);
}

.cartao-ep__duracao { display: inline-flex; align-items: center; gap: 6px; margin-top: 2px; font-size: 13px; font-weight: 600; color: var(--marinho); }
.cartao-ep__duracao::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--dourado); }

/* ------------------------------------------------------------ a grade */

.grade-ep { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }

@media (min-width: 900px) {
  .cartao-ep__link { grid-template-columns: minmax(0, 1fr); gap: 0; padding: 0; }
  .cartao-ep__miniatura { aspect-ratio: 16 / 9; border-radius: 0; }
  .cartao-ep__miniatura::after { left: 16px; bottom: 16px; width: 28px; }
  .cartao-ep__miniatura .miniatura__tema { display: block; top: 14px; left: 16px; }
  .cartao-ep__miniatura .miniatura__numero { right: 14px; bottom: 6px; font-size: 56px; }
  .cartao-ep__texto { gap: 8px; padding: 18px 20px 22px; }
  .cartao-ep__titulo { font-size: 18px; }
  .cartao-ep__resumo { -webkit-line-clamp: 3; font-size: 15px; }
  .grade-ep { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
}
