/* Caderno Cursos — páginas do aluno. As cores e fontes vêm das variáveis --cc-* (Configurações › Identidade). */

.cc {
  --cc-texto: #1d2327; --cc-suave: #50575e; --cc-fundo: #fff; --cc-painel: #f6f7f7; --cc-linha: #dcdcde;
  --cc-destaque: #e7f0f8; --cc-botao: #135e96; --cc-botao-texto: #fff; --cc-ok: #00703c; --cc-raio: 10px;
  --cc-fonte-titulo: inherit; --cc-fonte-texto: inherit;
  color: var(--cc-texto);
  font-family: var(--cc-fonte-texto);
  line-height: 1.55;
  box-sizing: border-box;
}
.cc *, .cc *::before, .cc *::after { box-sizing: inherit; }
.cc-pagina { max-width: 1180px; margin: 0 auto; padding: 24px 16px 56px; }
.cc .screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.cc-titulo { font-family: var(--cc-fonte-titulo); font-size: clamp(1.6rem, 1.2rem + 1.6vw, 2.4rem); line-height: 1.15; margin: 0 0 .4em; }
.cc-subtitulo { font-family: var(--cc-fonte-titulo); font-size: 1.3rem; line-height: 1.25; margin: 0 0 .6em; }
.cc a { color: inherit; }
.cc-icone { flex: none; vertical-align: middle; }

/* Botões */
.cc-botao, .cc .cc-botao {
  display: inline-flex; align-items: center; justify-content: center; gap: .4em;
  min-height: 44px; padding: .6em 1.15em; border: 2px solid var(--cc-botao); border-radius: var(--cc-raio);
  background: var(--cc-botao); color: var(--cc-botao-texto); font: inherit; font-weight: 600; line-height: 1.2;
  text-decoration: none; cursor: pointer; transition: filter .15s, transform .15s;
}
.cc-botao:hover { filter: brightness(1.08); }
.cc-botao:active { transform: translateY(1px); }
.cc-botao--secundario, .cc .cc-botao--secundario { background: transparent; color: var(--cc-texto); border-color: var(--cc-linha); }
.cc-botao:disabled { opacity: .6; cursor: progress; }
.cc :focus-visible, .cc-player :focus-visible { outline: 3px solid var(--cc-botao); outline-offset: 2px; }
.cc-acoes { display: flex; flex-wrap: wrap; gap: 10px; }

/* Avisos e mensagens */
.cc-aviso { padding: 12px 14px; border-radius: var(--cc-raio); background: var(--cc-painel); border-left: 4px solid var(--cc-botao); }
.cc-aviso--erro, .cc-mensagem--erro { border-color: #b32d2e; color: #8a1f1f; }
.cc-aviso--ok { border-color: var(--cc-ok); }
.cc-mensagem { min-height: 1.4em; margin: .4em 0 0; }
.cc-vazio { color: var(--cc-suave); }
.cc-ajuda, .cc-opcional { color: var(--cc-suave); font-size: .9em; }

/* Formulários */
.cc-form label { display: block; font-weight: 600; margin-bottom: 4px; }
.cc-form input[type=text], .cc-form input[type=email] {
  width: 100%; max-width: 440px; min-height: 44px; padding: 8px 12px; font: inherit; color: var(--cc-texto);
  background: var(--cc-fundo); border: 1px solid var(--cc-suave); border-radius: calc(var(--cc-raio) * .7);
}
.cc-opcao label { display: flex; gap: 8px; align-items: flex-start; font-weight: 400; }
.cc-opcao input { margin-top: .3em; width: 18px; height: 18px; }
.cc-isca { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.cc-entrar { max-width: 520px; }

/* Curso */
.cc-curso__topo { display: grid; gap: 14px; margin-bottom: 28px; }
.cc-curso__resumo { font-size: 1.15rem; margin: 0; }
.cc-curso__publico { margin: 0; color: var(--cc-suave); }
.cc-chips { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.cc-chips li { padding: 4px 12px; border: 1px solid var(--cc-linha); border-radius: 999px; font-size: .9rem; background: var(--cc-fundo); }
.cc-acao { display: grid; gap: 12px; justify-items: start; padding: 18px; border-radius: var(--cc-raio); background: var(--cc-painel); border: 1px solid var(--cc-linha); max-width: 640px; }
.cc-acao__texto { margin: 0; }
.cc-acao__texto--ok { display: flex; gap: 8px; align-items: center; color: var(--cc-ok); font-weight: 600; }
.cc-curso__descricao { margin: 0 0 28px; max-width: 72ch; }
.cc-curso__aulas { margin-bottom: 28px; }

/* Progresso */
.cc-progresso { width: 100%; max-width: 640px; }
.cc-progresso__texto { display: flex; justify-content: space-between; gap: 12px; font-size: .92rem; margin-bottom: 6px; }
.cc-progresso__pct { font-weight: 700; }
.cc-progresso__trilho { height: 8px; border-radius: 99px; background: var(--cc-linha); overflow: hidden; }
.cc-progresso__trilho span { display: block; height: 100%; background: var(--cc-ok); border-radius: 99px; transition: width .4s; }

/* Lista de aulas */
.cc-modulo { margin: 0 0 18px; }
.cc-modulo__titulo { font-family: var(--cc-fonte-titulo); font-size: 1rem; margin: 0 0 6px; padding-bottom: 6px; border-bottom: 1px solid var(--cc-linha); }
.cc-lista { list-style: none; margin: 0; padding: 0; }
.cc-lista__item { display: grid; grid-template-columns: 28px 1fr auto; align-items: center; gap: 6px 10px; padding: 9px 8px; border-radius: calc(var(--cc-raio) * .7); }
.cc-lista__item + .cc-lista__item { border-top: 1px solid var(--cc-linha); }
.cc-lista__item.is-atual { background: var(--cc-destaque); border-top-color: transparent; }
.cc-lista__icone { display: inline-flex; color: var(--cc-suave); }
.cc-lista__item--feita .cc-lista__icone { color: var(--cc-ok); }
.cc-lista__link { text-decoration: none; }
.cc-lista__link:hover { text-decoration: underline; }
.cc-lista__num { color: var(--cc-suave); font-variant-numeric: tabular-nums; }
.cc-lista__meta { color: var(--cc-suave); font-size: .85rem; white-space: nowrap; font-variant-numeric: tabular-nums; }

/* Certificado (caixa na página do curso) */
.cc-certificado-caixa { display: flex; gap: 14px; align-items: flex-start; padding: 18px; border: 1px dashed var(--cc-linha); border-radius: var(--cc-raio); max-width: 640px; }
.cc-certificado-caixa > .cc-icone { width: 32px; height: 32px; color: var(--cc-botao); }
.cc-certificado-caixa p { margin: 0 0 10px; }

/* Aula */
.cc-trilha { font-size: .92rem; color: var(--cc-suave); margin-bottom: 10px; }
.cc-trilha a { color: inherit; }
.cc-aula__grade { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; }
@media (min-width: 960px) {
  .cc-aula__grade { grid-template-columns: minmax(0, 1fr) 320px; align-items: start; }
  .cc-aula__lateral { position: sticky; top: 24px; max-height: calc(100vh - 48px); overflow: auto; }
}
.cc-aula__status { margin: 14px 0; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.cc-status { margin: 0; color: var(--cc-suave); display: flex; gap: 8px; align-items: center; }
.cc-status--ok { color: var(--cc-ok); font-weight: 600; }
.cc-aula__conteudo { max-width: 72ch; }
.cc-caixa { margin: 22px 0; padding: 16px 18px; border-radius: var(--cc-raio); background: var(--cc-painel); border: 1px solid var(--cc-linha); }
.cc-caixa__titulo { font-family: var(--cc-fonte-titulo); font-size: 1.05rem; margin: 0 0 8px; }
.cc-caixa p:last-child { margin-bottom: 0; }
.cc-caixa ul { margin: 0; padding-left: 1.2em; }
.cc-aula__nav { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 28px; }
.cc-aula__nav-link { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border: 1px solid var(--cc-linha); border-radius: var(--cc-raio); text-decoration: none; min-height: 44px; }
.cc-aula__nav-link small { display: block; color: var(--cc-suave); font-size: .8rem; }
.cc-aula__nav-link--proxima { grid-column: 2; justify-content: flex-end; text-align: right; }
.cc-aula__nav-link:hover { border-color: var(--cc-botao); }
.cc-sumario { border: 1px solid var(--cc-linha); border-radius: var(--cc-raio); padding: 12px 14px; background: var(--cc-fundo); }
.cc-sumario > summary { cursor: pointer; font-weight: 700; list-style-position: inside; margin-bottom: 8px; }
.cc-sumario .cc-progresso { margin: 6px 0 14px; }
.cc-sumario .cc-lista__item { grid-template-columns: 24px 1fr; font-size: .95rem; }
.cc-sumario .cc-lista__meta { grid-column: 2; }

/* Aula fechada */
.cc-bloqueio { position: relative; aspect-ratio: 16 / 9; border-radius: var(--cc-raio); overflow: hidden; background: #1b1f23; color: #fff; display: grid; place-items: center; padding: 20px; }
.cc-bloqueio--capa::before { content: ""; position: absolute; inset: -20px; background: var(--cc-capa) center / cover no-repeat; filter: blur(14px) brightness(.45); }
.cc-bloqueio__caixa { position: relative; text-align: center; max-width: 440px; display: grid; gap: 10px; justify-items: center; }
.cc-bloqueio__caixa p { margin: 0; }
.cc-bloqueio__caixa .cc-icone { width: 34px; height: 34px; }
.cc-bloqueio__meta { opacity: .85; font-size: .9rem; }

/* ---------------- Player ---------------- */
.cc-player { position: relative; border-radius: var(--cc-raio); overflow: hidden; background: #000; color: #fff; isolation: isolate; container-type: inline-size; container-name: cc-player; }
.cc-player__palco { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: #111 var(--cc-capa, none) center / cover no-repeat; user-select: none; -webkit-user-select: none; }
.cc-player__palco:not(.is-ativo)::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.15), rgba(0,0,0,.55)); }
.cc-player__palco.is-ativo { background-image: none; background-color: #000; }
.cc-player__iniciar {
  position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px;
  width: 100%; border: 0; background: transparent; color: #fff; font: inherit; font-weight: 600; font-size: 1.05rem; cursor: pointer; text-shadow: 0 1px 3px rgba(0,0,0,.6);
}
.cc-player__bola { display: grid; place-items: center; width: 76px; height: 76px; border-radius: 50%; background: var(--cc-botao, #135e96); color: var(--cc-botao-texto, #fff); box-shadow: 0 6px 24px rgba(0,0,0,.35); transition: transform .15s; }
.cc-player__bola .cc-icone { width: 32px; height: 32px; margin-left: 4px; }
.cc-player__iniciar:hover .cc-player__bola { transform: scale(1.06); }
.cc-player__iniciar:focus-visible { outline: 3px solid #fff; outline-offset: -6px; }
.cc-player__iniciar.is-carregando .cc-player__bola { animation: cc-pulso 1s ease-in-out infinite; }
@keyframes cc-pulso { 50% { transform: scale(.92); opacity: .8; } }

.cc-player__video { position: absolute; inset: 0; z-index: 1; }
/* YouTube: o iframe é mais alto que o palco; o título (em cima) e o logo (embaixo) ficam fora do recorte. */
.cc-player__video--yt { top: -60px; bottom: -60px; }
.cc-player__video iframe, .cc-player__video video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; pointer-events: none; background: #000; }
.cc-player__video video { object-fit: contain; }
.cc-player__escudo { position: absolute; inset: 0; z-index: 2; cursor: pointer; }
.cc-player__palco.is-toque .cc-player__video iframe { pointer-events: auto; }
.cc-player__palco.is-toque .cc-player__escudo { display: none; }

.cc-marca {
  position: absolute; z-index: 7; top: 8%; left: 6%; max-width: 92%;
  font: 600 clamp(11px, 1.55vw, 17px)/1.2 system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  color: #fff; text-shadow: 0 0 3px rgba(0,0,0,.9), 0 1px 2px rgba(0,0,0,.9);
  white-space: nowrap; overflow: hidden; text-overflow: clip; letter-spacing: .01em;
  cursor: pointer; user-select: none; -webkit-user-select: none; transition: opacity .3s;
}
.cc-marca.is-trocando { opacity: 0 !important; }
/* Marca fixa num canto (a configuração padrão) */
.cc-marca.cc-marca--fixa { top: auto; left: auto; right: auto; bottom: auto; max-width: 70%; }
.cc-marca--inf-dir { right: 2.5% !important; bottom: 4% !important; }
.cc-marca--inf-esq { left: 2.5% !important; bottom: 4% !important; }
.cc-marca--sup-dir { right: 2.5% !important; top: 4% !important; }
.cc-marca--sup-esq { left: 2.5% !important; top: 4% !important; }
.cc-marca-fundo { position: absolute; inset: 0; z-index: 6; pointer-events: none; opacity: .07; background-repeat: repeat; background-size: 260px 150px; }

.cc-player__tela {
  position: absolute; inset: 0; z-index: 4; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; padding: 20px; text-align: center;
  background: rgba(0,0,0,.62) var(--cc-capa, none) center / cover no-repeat; background-blend-mode: darken;
}
.cc-player__tela[hidden] { display: none; }
.cc-player__tela-texto { margin: 0; max-width: 520px; font-weight: 600; font-size: 1.05rem; text-shadow: 0 1px 3px rgba(0,0,0,.7); }
.cc-player__tela-botoes { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; align-items: center; }
.cc-player__tela .cc-botao--secundario { color: #fff; border-color: rgba(255,255,255,.7); background: rgba(0,0,0,.35); }
.cc-player__grande { display: grid; place-items: center; width: 72px; height: 72px; border-radius: 50%; border: 0; background: var(--cc-botao, #135e96); color: var(--cc-botao-texto, #fff); cursor: pointer; box-shadow: 0 6px 24px rgba(0,0,0,.35); }
.cc-player__grande svg { width: 30px; height: 30px; margin-left: 3px; }
.cc-player__grande:not(:has(svg)) { width: auto; height: auto; min-height: 44px; padding: .6em 1.2em; border-radius: var(--cc-raio, 10px); font: inherit; font-weight: 600; }

.cc-player__aviso {
  position: absolute; z-index: 5; left: 12px; bottom: 12px; max-width: calc(100% - 24px); display: flex; gap: 10px; align-items: center;
  padding: 8px 12px; border-radius: 8px; background: rgba(0,0,0,.78); font-size: .92rem; opacity: 0; transform: translateY(6px); transition: opacity .25s, transform .25s; pointer-events: none;
}
.cc-player__aviso.is-visivel { opacity: 1; transform: none; pointer-events: auto; }
.cc-player__aviso:empty { display: none; }
.cc-player__aviso-botao { border: 1px solid rgba(255,255,255,.7); background: transparent; color: #fff; border-radius: 6px; padding: 4px 10px; font: inherit; cursor: pointer; }

.cc-player__carregando { position: absolute; z-index: 3; top: 50%; left: 50%; width: 44px; height: 44px; margin: -22px 0 0 -22px; border-radius: 50%; border: 4px solid rgba(255,255,255,.25); border-top-color: #fff; opacity: 0; pointer-events: none; }
.cc-player__palco.is-girando .cc-player__carregando { opacity: 1; animation: cc-gira .8s linear infinite; }
@keyframes cc-gira { to { transform: rotate(360deg); } }

.cc-player__erro { position: absolute; inset: 0; z-index: 8; display: grid; place-content: center; justify-items: center; gap: 12px; padding: 20px; text-align: center; background: rgba(0,0,0,.78); }
.cc-player__erro p { margin: 0; max-width: 460px; }

/* Barra de controles */
.cc-controles { display: flex; align-items: center; gap: 4px 8px; flex-wrap: wrap; padding: 6px 10px; background: #111; color: #fff; }
.cc-controles[hidden] { display: none; }
.cc-controle { display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: 8px; background: transparent; color: #fff; cursor: pointer; }
.cc-controle:hover { background: rgba(255,255,255,.12); }
.cc-tempo { font-variant-numeric: tabular-nums; font-size: .88rem; white-space: nowrap; padding: 0 4px; }
.cc-busca { flex: 1 1 160px; min-width: 120px; accent-color: var(--cc-botao, #4f94d4); height: 32px; cursor: pointer; }
.cc-volume { width: 84px; accent-color: #fff; cursor: pointer; }
.cc-velocidade { min-height: 36px; border-radius: 8px; border: 1px solid rgba(255,255,255,.35); background: #111; color: #fff; font: inherit; font-size: .88rem; padding: 0 6px; cursor: pointer; }
.cc-player :focus-visible { outline: 3px solid #fff; outline-offset: 1px; }
/* Player estreito (celular, coluna apertada): a busca vai para cima, inteira; os botões numa linha só. */
@container cc-player (max-width: 620px) {
  .cc-controles { gap: 2px 4px; padding: 4px 6px 6px; }
  .cc-busca { order: -1; flex: 1 1 100%; height: 28px; }
  .cc-volume { display: none; }
  .cc-controle { width: 40px; height: 40px; }
  .cc-tempo { margin-right: auto; }
  .cc-player__tela { gap: 8px; padding: 10px; }
  .cc-player__tela-texto { font-size: .92rem; }
  .cc-player__tela .cc-botao { min-height: 38px; padding: .4em .8em; font-size: .9rem; }
  .cc-player__grande { width: 56px; height: 56px; }
  .cc-player__bola { width: 60px; height: 60px; }
}
@container cc-player (max-width: 400px) {
  .cc-controle--voltar { display: none; }
  .cc-velocidade { padding: 0 2px; }
}
@container cc-player (min-width: 621px) {
  .cc-controle--som { margin-left: auto; }
}

/* Tela cheia: vídeo, marca e controles juntos */
.cc-player:fullscreen, .cc-player:-webkit-full-screen { display: flex; flex-direction: column; justify-content: center; border-radius: 0; width: 100%; height: 100%; }
.cc-player:fullscreen .cc-player__palco { flex: 1 1 auto; aspect-ratio: auto; width: 100%; }
.cc-player.is-tela-cheia { position: fixed; inset: 0; z-index: 2147483000; display: flex; flex-direction: column; justify-content: center; border-radius: 0; }
.cc-player.is-tela-cheia .cc-player__palco { flex: 1 1 auto; aspect-ratio: auto; }
html.cc-sem-rolagem, html.cc-sem-rolagem body { overflow: hidden; }

/* Outro player (sem proteção) */
.cc-player--externo .cc-player__palco iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* Vitrine e Meus cursos */
.cc-cartoes { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.cc-cartao { height: 100%; display: flex; flex-direction: column; border: 1px solid var(--cc-linha); border-radius: var(--cc-raio); overflow: hidden; background: var(--cc-fundo); }
.cc-cartao__img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.cc-cartao__img--vazia { background: linear-gradient(135deg, var(--cc-destaque), var(--cc-painel)); }
.cc-cartao__corpo { padding: 14px 16px 18px; display: grid; gap: 8px; }
.cc-cartao__titulo { font-family: var(--cc-fonte-titulo); font-size: 1.15rem; margin: 0; }
.cc-cartao__titulo a { text-decoration: none; }
.cc-cartao__titulo a::after { content: ""; position: absolute; inset: 0; }
.cc-cartao { position: relative; }
.cc-cartao p { margin: 0; }
.cc-cartao__meta { color: var(--cc-suave); font-size: .9rem; }
.cc-meus { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.cc-meus__item { padding: 16px; border: 1px solid var(--cc-linha); border-radius: var(--cc-raio); display: grid; gap: 10px; }
.cc-meus__titulo { font-family: var(--cc-fonte-titulo); font-size: 1.1rem; margin: 0; }
.cc-meus__acoes { margin: 0; }

@media (prefers-reduced-motion: reduce) {
  .cc *, .cc-player * { transition: none !important; animation: none !important; }
}

/* ---------------- Defesa contra o tema ----------------
   Temas estilizam button, input e select com seletores fortes (ex.: .site button:not(:hover)...).
   O player e os botões do plugin são componentes fechados: aqui o visual é deles. */
.cc-player button, .cc .cc-botao, .cc-player .cc-botao {
  -webkit-appearance: none !important; appearance: none !important;
  box-shadow: none !important; text-transform: none !important; letter-spacing: normal !important;
  text-decoration: none !important; margin: 0 !important; font-family: inherit !important;
}
.cc-player .cc-controle {
  display: grid !important; place-items: center !important; width: 44px !important; height: 44px !important; min-width: 0 !important; min-height: 0 !important;
  padding: 0 !important; border: 0 !important; border-radius: 8px !important; background: transparent !important; color: #fff !important; line-height: 1 !important;
}
.cc-player .cc-controle:hover { background: rgba(255,255,255,.12) !important; }
.cc-player .cc-controle svg { width: 22px; height: 22px; }
.cc-player .cc-player__iniciar { padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; color: #fff !important; width: 100% !important; height: 100% !important; font-size: 1.05rem !important; }
.cc-player .cc-player__grande { padding: 0 !important; border: 0 !important; background: var(--cc-botao, #135e96) !important; color: var(--cc-botao-texto, #fff) !important; }
.cc-player .cc-player__grande:not(:has(svg)) { padding: .6em 1.2em !important; }
.cc-player .cc-player__aviso-botao { padding: 4px 10px !important; border: 1px solid rgba(255,255,255,.7) !important; background: transparent !important; color: #fff !important; border-radius: 6px !important; font-size: inherit !important; min-height: 0 !important; }
.cc .cc-botao, .cc-player .cc-botao { padding: .6em 1.15em !important; border: 2px solid var(--cc-botao) !important; border-radius: var(--cc-raio) !important; background: var(--cc-botao) !important; color: var(--cc-botao-texto) !important; font-size: 1rem !important; font-weight: 600 !important; line-height: 1.2 !important; min-height: 44px !important; }
.cc .cc-botao--secundario { background: transparent !important; color: var(--cc-texto) !important; border-color: var(--cc-linha) !important; }
.cc-player .cc-player__tela .cc-botao--secundario { color: #fff !important; border-color: rgba(255,255,255,.7) !important; background: rgba(0,0,0,.35) !important; }
.cc-player input[type=range] {
  -webkit-appearance: auto !important; appearance: auto !important; background: transparent !important; border: 0 !important; padding: 0 !important;
  margin: 0 !important; box-shadow: none !important; height: 28px !important; min-height: 0 !important; border-radius: 0 !important;
}
.cc-player .cc-busca { width: auto !important; }
.cc-player .cc-volume { width: 84px !important; flex: none; }
.cc-player select.cc-velocidade {
  -webkit-appearance: auto !important; appearance: auto !important; width: auto !important; height: 36px !important; min-height: 0 !important; max-width: none !important;
  padding: 0 6px !important; margin: 0 !important; border: 1px solid rgba(255,255,255,.35) !important; border-radius: 8px !important;
  background: #111 !important; color: #fff !important; font-size: .88rem !important; line-height: 1 !important; box-shadow: none !important;
}
@container cc-player (max-width: 620px) {
  .cc-player .cc-controle { width: 40px !important; height: 40px !important; }
  .cc-player .cc-busca { flex: 1 1 100% !important; }
  .cc-player .cc-volume { display: none !important; }
  .cc-player .cc-player__tela .cc-botao { min-height: 38px !important; padding: .4em .8em !important; font-size: .9rem !important; }
}
@container cc-player (max-width: 400px) {
  .cc-player .cc-controle--voltar { display: none !important; }
}

/* ---------------- Vendas ---------------- */
.cc-botao--grande, .cc .cc-botao--grande { min-height: 52px; font-size: 1.08rem; padding: .7em 1.4em; }
.cc-link, .cc .cc-link { background: none !important; border: 0 !important; padding: 0 !important; margin: 0 !important; min-height: 0 !important; color: inherit !important; font: inherit !important; text-decoration: underline !important; cursor: pointer; box-shadow: none !important; }
.cc-cartao__preco { margin: 0; display: flex; gap: 8px; align-items: baseline; }
.cc-cartao__preco s { color: var(--cc-suave); font-size: .9rem; }
.cc-cartao__preco strong { font-size: 1.15rem; font-variant-numeric: tabular-nums; }
.cc-preco { display: grid; gap: 10px; justify-items: start; width: 100%; }
.cc-preco__curso { margin: 0; font-family: var(--cc-fonte-titulo); font-weight: 700; font-size: 1.1rem; }
.cc-preco__aviso { margin: 0; padding: 8px 12px; border-radius: calc(var(--cc-raio) * .7); background: var(--cc-destaque); }
.cc-preco__valor { margin: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
.cc-preco__valor strong { font-family: var(--cc-fonte-titulo); font-size: clamp(1.8rem, 1.2rem + 2vw, 2.4rem); line-height: 1.05; font-variant-numeric: tabular-nums; }
.cc-preco__de { color: var(--cc-suave); }
.cc-preco__itens { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.cc-preco__itens li, .cc-checkout__itens li { position: relative; padding-left: 1.5em; }
.cc-preco__itens li::before, .cc-checkout__itens li::before { content: ""; position: absolute; left: .15em; top: .45em; width: .7em; height: .38em; border-left: 2px solid var(--cc-ok); border-bottom: 2px solid var(--cc-ok); transform: rotate(-45deg); }
.cc-preco .cc-botao--grande { width: 100%; max-width: 420px; }
.cc-preco__entrar, .cc-acao__amostra, .cc-bloqueio__entrar { margin: 0; font-size: .95rem; }
.cc-bloqueio__entrar a { color: inherit; }
.cc > .cc-preco { padding: 20px; border: 1px solid var(--cc-linha); border-radius: var(--cc-raio); background: var(--cc-painel); max-width: 520px; }

.cc-checkout { container-type: inline-size; container-name: cc-checkout; }
.cc-checkout__grade { display: grid; gap: 24px; }
.cc-checkout__resumo { display: grid; gap: 10px; align-content: start; padding: 20px; border: 1px solid var(--cc-linha); border-radius: var(--cc-raio); background: var(--cc-painel); }
.cc-checkout__img { width: 100%; height: auto; max-height: 180px; object-fit: cover; border-radius: calc(var(--cc-raio) * .7); }
.cc-checkout__rotulo { margin: 0; color: var(--cc-suave); font-size: .9rem; }
.cc-checkout__resumo .cc-subtitulo { margin: 0; }
.cc-checkout__itens { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.cc-checkout__valores { margin: 6px 0 0; display: grid; gap: 6px; border-top: 1px solid var(--cc-linha); padding-top: 10px; }
.cc-checkout__valores > div { display: flex; justify-content: space-between; gap: 12px; }
.cc-checkout__valores > div[hidden] { display: none; }
.cc-checkout__valores dt, .cc-checkout__valores dd { margin: 0; }
.cc-checkout__valores dd { font-variant-numeric: tabular-nums; text-align: right; }
.cc-checkout__valores s { color: var(--cc-suave); margin-right: 6px; }
.cc-checkout__total { font-weight: 700; font-size: 1.2rem; border-top: 1px solid var(--cc-linha); padding-top: 8px; }
.cc-checkout__form { display: grid; gap: 4px; align-content: start; }
.cc-checkout__form > p { margin: 0 0 12px; }
.cc-checkout__form .cc-subtitulo { margin-bottom: 10px; }
.cc-checkout__form input[type=text], .cc-checkout__form input[type=email] { max-width: none; }
.cc-checkout__form .cc-ajuda { display: block; margin-top: 4px; }
.cc-checkout__conta { padding: 10px 12px; border-radius: calc(var(--cc-raio) * .7); background: var(--cc-painel); }
.cc-checkout__cupom { margin: 0 0 12px; }
.cc-checkout__cupom-linha { display: flex; gap: 8px; }
.cc-checkout__cupom-linha input { flex: 1 1 auto; min-width: 0; text-transform: uppercase; }
.cc-checkout__pagar { width: 100%; }
.cc-checkout__seguro { margin: 0; }
@container cc-checkout (min-width: 760px) {
  .cc-checkout__grade { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); align-items: start; }
  .cc-checkout__resumo { order: 2; position: sticky; top: 24px; }
  .cc-checkout__form { order: 1; }
}
.cc-pedido { max-width: 640px; display: grid; gap: 8px; }
.cc-pedido p { margin: 0; }
.cc-pedido__titulo { margin: 4px 0 6px; }
.cc-pedido__titulo--ok { color: var(--cc-ok); }
.cc-pedido .cc-botao { justify-self: start; margin-top: 6px; }
.cc .cc-checkout__cupom-linha .cc-botao { min-height: 44px !important; white-space: nowrap; }
.cc .cc-botao--grande { min-height: 52px !important; font-size: 1.08rem !important; padding: .7em 1.4em !important; }
.cc-checkout .cc-opcao input[type=checkbox] { -webkit-appearance: auto !important; appearance: auto !important; width: 18px !important; height: 18px !important; min-height: 0 !important; margin: .25em 0 0 !important; padding: 0 !important; flex: none; }

/* ---------------- Questionário e liberação ---------------- */
.cc-lista__item--relogio { color: var(--cc-suave); }
.cc-quiz__regras, .cc-quiz__antes { color: var(--cc-suave); margin: 0 0 12px; }
.cc-quiz__form { display: grid; gap: 14px; }
.cc-quiz__q { margin: 0; padding: 14px 16px; border: 1px solid var(--cc-linha); border-radius: var(--cc-raio); background: var(--cc-fundo); min-width: 0; }
.cc-quiz__q legend { font-weight: 600; padding: 0 4px; margin-left: -4px; line-height: 1.4; }
.cc-quiz__num { color: var(--cc-suave); }
.cc-quiz__op { display: flex !important; gap: 10px; align-items: flex-start; font-weight: 400 !important; margin: 8px 0 0 !important; padding: 8px 10px; border-radius: calc(var(--cc-raio) * .7); cursor: pointer; }
.cc-quiz__op:hover { background: var(--cc-painel); }
.cc-quiz__op input { -webkit-appearance: auto !important; appearance: auto !important; width: 18px !important; height: 18px !important; min-height: 0 !important; margin: .2em 0 0 !important; padding: 0 !important; flex: none; }
.cc-quiz__q--falta { border-color: #b32d2e; box-shadow: inset 3px 0 0 #b32d2e; }
.cc-quiz__q--certa { border-color: var(--cc-ok); box-shadow: inset 3px 0 0 var(--cc-ok); }
.cc-quiz__q--errada { border-color: #b32d2e; box-shadow: inset 3px 0 0 #b32d2e; }
.cc-quiz__op--certa { background: var(--cc-destaque); font-weight: 600 !important; }
.cc-quiz__retorno { margin: 10px 0 0; font-size: .95rem; }
.cc-quiz__q--certa .cc-quiz__retorno { color: var(--cc-ok); }
.cc-quiz__q--errada .cc-quiz__retorno { color: #8a1f1f; }
.cc-quiz__resultado { display: grid; gap: 10px; justify-items: start; }
.cc-quiz__resultado:empty { display: none; }
.cc-quiz__resultado p { margin: 0; font-weight: 600; }
.cc-quiz__resultado--ok p { color: var(--cc-ok); }
.cc-quiz__resultado--erro p { color: #8a1f1f; }
.cc-quiz__resultado:focus { outline: none; }

/* ---------------- Tela limpa ---------------- */
body.cc-foco-corpo { margin: 0; background: var(--cc-fundo); }
.cc-foco { min-height: 100vh; }
.cc-foco__pular { position: absolute; left: -10000px; top: 8px; z-index: 10; padding: 8px 12px; background: var(--cc-botao); color: var(--cc-botao-texto); border-radius: 6px; }
.cc-foco__pular:focus { left: 8px; }
.cc-foco__topo { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px clamp(16px, 3vw, 32px); border-bottom: 1px solid var(--cc-linha); background: var(--cc-painel); position: sticky; top: 0; z-index: 5; }
.cc-foco__voltar { font-weight: 600; color: var(--cc-texto); text-decoration: none; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cc-foco__voltar:hover { text-decoration: underline; }
.cc-foco__site { color: var(--cc-suave); font-size: .9rem; text-decoration: none; white-space: nowrap; }
.cc-foco__miolo { max-width: 1240px; margin: 0 auto; padding: clamp(16px, 3vw, 32px); outline: none; }
.cc-foco__miolo > .cc-aula { margin: 0; }
.admin-bar .cc-foco__topo { top: 32px; }
@media (max-width: 782px) { .admin-bar .cc-foco__topo { top: 46px; } }
.cc-status[data-cc-quiz-pendente] { display: block; }

/* ---------------- Build 4: vitrine, notas, perguntas, assinaturas, pacote ---------------- */
.cc-filtros-vitrine { display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: flex-end; margin: 0 0 18px; padding: 14px; border: 1px solid var(--cc-linha); border-radius: var(--cc-raio); background: var(--cc-painel); }
.cc-filtros-vitrine p { margin: 0; display: grid; gap: 4px; }
.cc-filtros-vitrine label { font-weight: 600; font-size: .9rem; }
.cc-filtros-vitrine input[type=search], .cc-filtros-vitrine select { min-height: 44px; padding: 6px 10px; font: inherit; border: 1px solid var(--cc-suave); border-radius: calc(var(--cc-raio) * .7); background: var(--cc-fundo); color: var(--cc-texto); min-width: 160px; }
.cc-filtros-vitrine__botoes { display: flex !important; gap: 12px; align-items: center; }
.cc-filtros-vitrine__total { color: var(--cc-suave); margin: 0 0 12px; }
.cc-notas summary, .cc-downloads .cc-caixa__titulo { cursor: pointer; }
.cc-notas summary { list-style-position: inside; }
.cc-notas textarea, .cc-perguntas textarea { display: block; max-width: 100%; box-sizing: border-box !important; width: 100%; min-height: 110px; padding: 10px 12px; font: inherit; color: var(--cc-texto); background: var(--cc-fundo); border: 1px solid var(--cc-suave); border-radius: calc(var(--cc-raio) * .7); }
.cc-notas__barra { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 8px 0 0; }
.cc-perguntas__form { margin-bottom: 16px; }
.cc-perguntas__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.cc-perguntas__item { padding: 12px 14px; border: 1px solid var(--cc-linha); border-radius: var(--cc-raio); background: var(--cc-fundo); }
.cc-perguntas__quem { margin: 0 0 4px; color: var(--cc-suave); font-size: .9rem; }
.cc-perguntas__resposta { margin: 10px 0 0 14px; padding: 8px 12px; border-left: 3px solid var(--cc-botao); background: var(--cc-painel); border-radius: 0 6px 6px 0; }
.cc-perguntas__responder textarea { min-height: 70px; }
.cc-downloads__aula { font-size: 1rem; margin: 12px 0 4px; }
.cc-assinaturas { margin-top: 28px; }
.cc-assinatura__info { margin: 0; color: var(--cc-suave); }
.cc-preco__ciclo { color: var(--cc-suave); font-size: 1rem; }
.cc-entrar__google { display: grid; gap: 6px; justify-items: start; min-height: 44px; margin-bottom: 8px; }
.cc-entrar__ou { display: flex; align-items: center; gap: 10px; color: var(--cc-suave); font-size: .9rem; margin: 14px 0; }
.cc-entrar__ou::before, .cc-entrar__ou::after { content: ""; flex: 1; border-top: 1px solid var(--cc-linha); }
.cc-pacote .cc-acao { margin-bottom: 24px; }

/* ---------------- Build 5 ---------------- */

/* Pergunta dentro do vídeo */
.cc-player__palco.is-pergunta .cc-player__tela { justify-content: safe center; overflow-y: auto; background: rgba(0,0,0,.72); }
.cc-pausa { width: 100%; max-width: 560px; margin: auto; padding: 16px 18px; border-radius: var(--cc-raio, 10px); background: var(--cc-fundo, #fff); color: var(--cc-texto, #1d2327); text-align: left; box-shadow: 0 8px 30px rgba(0,0,0,.4); }
.cc-pausa__rotulo { margin: 0 0 4px; font-size: .8rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--cc-suave, #646970); }
.cc-pausa__opcoes { margin: 0; padding: 0; border: 0; min-width: 0; }
.cc-pausa__texto { padding: 0; margin: 0 0 8px; font-weight: 600; font-size: 1.02rem; line-height: 1.35; }
.cc-pausa__opcao { display: flex; gap: 10px; align-items: flex-start; padding: 8px 10px; margin: 4px 0; border-radius: 8px; border: 1px solid var(--cc-linha, #dcdcde); cursor: pointer; line-height: 1.35; }
.cc-pausa__opcao input { -webkit-appearance: auto !important; appearance: auto !important; width: 18px !important; height: 18px !important; margin: .1em 0 0 !important; flex: none; }
.cc-pausa__opcao.is-certa { border-color: var(--cc-ok, #1a7f37); background: var(--cc-destaque, #edfaef); font-weight: 600; }
.cc-pausa__opcao.is-errada { border-color: #b32d2e; }
.cc-pausa__retorno { margin: 8px 0 0; font-size: .95rem; }
.cc-pausa__retorno:empty { display: none; }
.cc-pausa__botoes { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.cc-player .cc-pausa .cc-botao--secundario { background: transparent !important; color: var(--cc-texto, #1d2327) !important; border-color: var(--cc-linha, #c3c4c7) !important; }
@container cc-player (max-width: 620px) {
  .cc-player__palco.is-pergunta .cc-player__tela { padding: 6px; }
  .cc-pausa { padding: 8px 10px; }
  .cc-pausa__rotulo { display: none; }
  .cc-pausa__texto { font-size: .92rem; margin-bottom: 4px; }
  .cc-player .cc-pausa__opcao { padding: 4px 8px; margin: 3px 0; font-size: .9rem !important; }
  .cc-pausa__retorno { font-size: .85rem; margin-top: 4px; }
  .cc-pausa__botoes { margin-top: 6px; }
  .cc-player .cc-pausa .cc-botao { min-height: 34px !important; padding: .3em .8em !important; font-size: .88rem !important; }
}

/* Questionário: tipos, tempo */
.cc-quiz__dica { font-weight: 400; color: var(--cc-suave); }
.cc-quiz__ordem { display: flex; gap: 10px; align-items: center; margin: 8px 0 0; }
.cc-quiz__ordem select { width: auto !important; min-width: 64px; }
.cc-quiz__ordem label { font-weight: 400 !important; margin: 0 !important; }
.cc-quiz__tempo { position: sticky; top: 8px; z-index: 2; justify-self: end; margin: 0; padding: 4px 12px; border-radius: 999px; border: 1px solid var(--cc-linha); background: var(--cc-fundo); font-variant-numeric: tabular-nums; font-weight: 600; }
.cc-quiz__tempo.is-acabando { border-color: #b32d2e; color: #b32d2e; }
.cc-quiz__comeco p { margin: 0 0 10px; }

/* Entrega de tarefa */
.cc-entrega__regra { color: var(--cc-suave); margin: 0 0 10px; }
.cc-entrega__situacao { padding: 10px 12px; border-radius: calc(var(--cc-raio) * .7); border: 1px solid var(--cc-linha); background: var(--cc-fundo); margin: 0 0 12px; }
.cc-entrega__situacao p { margin: 0 0 6px; }
.cc-entrega__situacao--aprovada { border-color: var(--cc-ok); box-shadow: inset 3px 0 0 var(--cc-ok); }
.cc-entrega__situacao--refazer { border-color: #b26200; box-shadow: inset 3px 0 0 #b26200; }
.cc-entrega__comentario { white-space: pre-line; }
.cc-entrega__form textarea { width: 100%; }
.cc-entrega__ok { font-weight: 600; margin: 0 0 10px; }
.cc-entrega__ok:focus { outline: none; }

/* Aula ao vivo */
.cc-ao-vivo--agora { border-color: #c62828; box-shadow: inset 4px 0 0 #c62828; }
.cc-ao-vivo__ponto { display: inline-block; width: .6em; height: .6em; margin-right: .45em; border-radius: 50%; background: #e53935; vertical-align: .05em; animation: cc-pisca 1.4s ease-in-out infinite; }
@keyframes cc-pisca { 50% { opacity: .35; } }
.cc-ao-vivo__fuso { color: var(--cc-suave); font-size: .92em; }

/* Resumo e tutor */
.cc-resumo > summary { cursor: pointer; margin: 0; }
.cc-resumo[open] > summary { margin-bottom: 8px; }
.cc-resumo__texto ul { margin: 6px 0 0; }
.cc-tutor__aviso { color: var(--cc-suave); font-size: .92rem; margin: 0 0 10px; }
.cc-tutor__conversa { display: grid; gap: 10px; margin: 0 0 10px; }
.cc-tutor__conversa:empty { display: none; }
.cc-tutor__fala { padding: 10px 12px; border-radius: calc(var(--cc-raio) * .7); border: 1px solid var(--cc-linha); background: var(--cc-fundo); }
.cc-tutor__fala p { margin: 0 0 6px; white-space: pre-line; }
.cc-tutor__fala p:last-child { margin-bottom: 0; }
.cc-tutor__fala--aluno { background: var(--cc-destaque); }
.cc-tutor__quem { font-size: .8rem; font-weight: 700; color: var(--cc-suave); }
.cc-tutor__form textarea { width: 100%; }
.cc-tutor__acoes { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; }
.cc-tutor__restam { color: var(--cc-suave); font-size: .9rem; }

/* Turma (página do gestor) */
.cc-turma__info, .cc-turma__cursos { color: var(--cc-suave); margin: 0 0 8px; }
.cc-turma__trocar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 14px; }
.cc-tabela-rolar { overflow-x: auto; margin: 0 0 12px; }
.cc-tabela-turma { width: 100%; border-collapse: collapse; font-size: .95rem; }
.cc-tabela-turma th, .cc-tabela-turma td { padding: 8px 10px; border-bottom: 1px solid var(--cc-linha); text-align: left; vertical-align: top; }
.cc-tabela-turma thead th { font-size: .85rem; color: var(--cc-suave); }
.cc .cc-pequeno { display: block; color: var(--cc-suave); font-size: .82rem; font-weight: 400; }
.cc .cc-mini-barra { display: inline-block; width: 60px; height: 6px; border-radius: 3px; background: var(--cc-linha); vertical-align: middle; overflow: hidden; }
.cc .cc-mini-barra > span { display: block; height: 100%; background: var(--cc-ok); }
.cc .cc-link-botao { background: none !important; border: 0 !important; padding: 0 !important; min-height: 0 !important; color: #b32d2e !important; text-decoration: underline !important; cursor: pointer; font: inherit !important; }
.cc-pausa__opcao, .cc-player .cc-pausa__opcao { font-size: 1rem !important; font-weight: 400 !important; }
.cc-entrega__form .cc-ajuda { display: block; margin-top: 4px; }
.cc-turma textarea, .cc-entrega textarea, .cc-tutor textarea { width: 100% !important; box-sizing: border-box; }
.cc-tutor__fala p { font-size: 1rem; line-height: 1.5; }
