/* Cartão de turma, compartilhado pela home e pela página de turmas.
   As cores vêm dos tokens da seção onde ele está (a seção bege define --sup, --texto etc.). */
.tc{position:relative;display:flex;flex-direction:column;background:var(--sup);border:1px solid var(--borda);
  border-radius:16px;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.tc:hover{transform:translateY(-3px);border-color:var(--borda2);box-shadow:0 20px 44px rgba(60,40,25,.16)}
.tc-capa{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:var(--sup2)}
.tc-capa img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease,opacity .3s ease}
.tc:hover .tc-capa img{transform:scale(1.04)}
.tc-selo{position:absolute;top:10px;left:10px;font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  padding:5px 9px;border-radius:999px;line-height:1}
.tc-selo-ab{background:var(--ouro);color:#1E1604}
.tc-selo-gratis{background:#1C0911;color:#E8C75A}
.tc-selo-fim{background:#4a4340;color:#f1ece6}
.tc-corpo{flex:1;display:flex;flex-direction:column;padding:16px}
.tc-area{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;color:var(--fraco)}
.tc-area i{width:7px;height:7px;border-radius:50%;flex:0 0 7px}
.tc h3{margin-top:7px;font-size:16px;line-height:1.3;letter-spacing:-.015em;display:-webkit-box;-webkit-line-clamp:2;
  -webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}
.tc h3 a{color:var(--texto);text-decoration:none}
.tc h3 a:hover{color:#8A6614}

/* fotinhas do corpo docente, com o +N */
.tc-profs{display:flex;align-items:center;gap:10px;margin-top:12px;padding:11px 0;border-top:1px solid var(--borda);border-bottom:1px solid var(--borda)}
.tc-pilha{display:flex;flex:0 0 auto}
.tc-pilha img,.tc-mais{width:30px;height:30px;border-radius:50%;border:2px solid var(--sup);object-fit:cover;object-position:center 18%;margin-left:-9px;background:var(--sup2)}
.tc-pilha img:first-child{margin-left:0}
.tc-mais{display:flex;align-items:center;justify-content:center;background:#1C0911;color:#fff;font:700 10.5px var(--tit);letter-spacing:-.02em}
/* so o texto ao lado: sem o ">" a regra pegava tambem o "+N", que ficava escuro sobre o circulo escuro */
.tc-profs > span{font-size:12px;color:var(--fraco);line-height:1.35}

/* preço em cima, botão embaixo ocupando a largura */
.tc-pe{margin-top:auto;padding-top:14px;display:flex;flex-direction:column}
.tc-preco b{display:block;font-family:var(--tit);font-size:24px;font-weight:800;color:var(--texto);letter-spacing:-.03em;line-height:1.05}
.tc-preco span{display:block;font-size:12px;color:var(--fraco);margin-top:3px}
.tc-bt{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;margin-top:14px;border-radius:10px;
  background:var(--ouro);color:#1E1604;font-size:13.5px;font-weight:600;text-decoration:none;transition:background .2s,border-color .2s,color .2s}
.tc-bt:hover{background:var(--ouro-cl)}
.tc-bt svg{transition:transform .2s}
.tc-bt:hover svg{transform:translateX(2px)}
.tc-bt-linha{background:transparent;border:1px solid var(--borda2);color:var(--texto)}
.tc-bt-linha:hover{background:rgba(60,40,25,.05);border-color:rgba(60,40,25,.42)}
.tc-ano{font-size:12px;color:var(--fraco)}

/* turma encerrada: imagem em preto e branco e opaca, cartão acinzentado, sem brilho de oferta */
.tc-fim{background:#ECE6DC;border-color:rgba(60,40,25,.09)}
.tc-fim .tc-capa{background:#d9d2c7}
.tc-fim .tc-capa img{filter:grayscale(1) contrast(.92);opacity:.62}
.tc-fim:hover .tc-capa img{opacity:.8}
.tc-fim h3 a{color:#5c514c}
.tc-fim .tc-pilha img{filter:grayscale(1);opacity:.85}
.tc-fim .tc-pilha img,.tc-fim .tc-mais{border-color:#ECE6DC}
.tc-fim .tc-mais{background:#6b605b}
.tc-fim .tc-area i{filter:grayscale(1);opacity:.7}
.tc-fim:hover{box-shadow:0 14px 32px rgba(60,40,25,.10)}

.grade-tc{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:560px){.grade-tc{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.grade-tc{grid-template-columns:repeat(4,1fr)}}
.tc-preco span b{display:inline;font-family:inherit;font-size:inherit;font-weight:700;letter-spacing:0;color:var(--texto)}
