/* f13.8 (T55, D-71, kit 65): a pagina PUBLICA de acompanhamento do lancamento, no tema escuro da landing. Familia .lc-* portada 1 para 1 do kit
   (docs/mockups/html/componentes.css, bloco "A PAGINA DE ACOMPANHAMENTO DO LANCAMENTO"); toda cor vem de tokens --ctm-launch-* (wwwroot/css/tokens.css),
   regra 9: nenhuma cor solta aqui. Celular primeiro (regra 22): a base e 360 px, uma coluna, e o kit ".web" virou @media (min-width: 720px). Nada rola para o lado
   (so o carrossel, dentro dele); alvo de toque >= 44 px; selo e estado sempre com icone e texto (a cor nunca e o unico sinal); animacao so sem prefers-reduced-motion.
   O "ic" (svg) do kit virou Bootstrap Icons (.bi): a largura/altura do desenho virou font-size. */

.lc-pagina {
    --ctm-launch-t-corpo: 14px;
    --ctm-launch-t-linha: 15px;
    --ctm-launch-t-apoio: 13px;
    --ctm-launch-t-meta: 12px;
    --ctm-launch-t-selo: 11px;
    --ctm-launch-t-barra: 17px;
    --ctm-launch-t-detalhe: 20px;
    --ctm-launch-t-secao: 16px;
    --ctm-launch-raio-card: 12px;
    --ctm-launch-raio-folha: 16px;
    --ctm-launch-raio-selo: 6px;
}

/* Tema da pagina: o fundo vai ate as bordas da janela e o container do site sai da frente (a pagina tem o seu proprio limite, .lc-limite). */
.ctm-tema-lancamento {
    background: var(--ctm-launch-fundo);
    color: var(--ctm-launch-txt);
}

.ctm-tema-lancamento > .container {
    max-width: none;
    margin-top: 0 !important;
    padding: 0;
}

.ctm-tema-lancamento > .container > main {
    padding-bottom: 0 !important;
}

.ctm-tema-lancamento .footer {
    background: var(--ctm-launch-fundo-2) !important;
    border-color: var(--ctm-launch-linha) !important;
    color: var(--ctm-launch-txt-s) !important;
}

.ctm-tema-lancamento .footer a {
    color: var(--ctm-launch-txt) !important;
}

.lc-pagina {
    font-family:var(--ctm-font);
    font-size:var(--ctm-launch-t-corpo);
    line-height:1.5;
    color:var(--ctm-launch-txt);
    overflow-x:hidden;
}

.lc-fundo {
    background:var(--ctm-launch-fundo);
    background-image:radial-gradient(900px 420px at 70% -10%, var(--ctm-launch-brilho) 0, transparent 60%);
}

.lc-pagina a:not(.lc-btn) {
    color:inherit;
}

.lc-pagina :focus-visible {
    outline:3px solid var(--ctm-launch-destaque);
    outline-offset:3px;
    border-radius:8px;
}

.lc-limite {
    max-width:1360px;
    margin:0 auto;
    padding:0 16px;
}

.lc-rolagem {
    flex:1;
    min-height:0;
    overflow-y:auto;
    overflow-x:hidden;
}

.lc-topo {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
    padding:16px 0;
}

.lc-marca {
    display:flex;
    align-items:center;
    gap:10px;
    font-family:var(--ctm-font-display);
    font-weight:600;
    font-size:var(--ctm-launch-t-barra);
    text-decoration:none;
}

.lc-marca .bi {
    color:var(--ctm-launch-destaque);
    font-size:26px;
    line-height:1;
}

.lc-pilula {
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:44px;
    padding:0 18px;
    border:1px solid var(--ctm-launch-linha);
    border-radius:999px;
    background:var(--ctm-launch-vidro);
    font-weight:600;
    font-size:var(--ctm-launch-t-apoio);
    text-decoration:none;
    color:var(--ctm-launch-txt);
}

.lc-pilula .bi {
    font-size:16px;
    line-height:1;
}

.lc-selo-evento {
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:44px;
    padding:0 18px;
    border:1px solid var(--ctm-launch-destaque);
    color:var(--ctm-launch-destaque);
    border-radius:999px;
    font-size:var(--ctm-launch-t-meta);
    font-weight:600;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.lc-selo-evento .bi {
    font-size:16px;
    line-height:1;
}

.lc-capa {
    margin:8px 0;
    border-radius:var(--ctm-launch-raio-folha);
    overflow:hidden;
    border:1px solid var(--ctm-launch-linha);
    background:var(--ctm-launch-fundo);
    box-shadow:0 20px 60px var(--ctm-launch-sombra);
}









.lc-hero {
    display:grid;
    grid-template-columns:1fr;
    gap:24px;
    align-items:center;
    padding:20px 0 32px;
}

.lc-selo {
    font-size:var(--ctm-launch-t-apoio);
    font-weight:600;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--ctm-launch-destaque);
}

.lc-titulo {
    font-family:var(--ctm-launch-fonte);
    font-weight:700;
    font-size:38px;
    line-height:1.02;
    text-transform:uppercase;
    letter-spacing:.01em;
    margin:12px 0 16px;
    color:var(--ctm-launch-txt);
    overflow-wrap:anywhere;
}

.lc-titulo em {
    font-style:normal;
    color:var(--ctm-launch-destaque);
}

.lc-texto {
    color:var(--ctm-launch-txt-s);
    font-size:var(--ctm-launch-t-linha);
    max-width:520px;
    margin:0 0 24px;
}

.lc-chamadas {
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
    max-width:560px;
    list-style:none;
    margin:0;
    padding:0;
}

.lc-chamada {
    display:flex;
    flex-direction:row;
    align-items:center;
    gap:12px;
    font-size:var(--ctm-launch-t-meta);
    font-weight:600;
    line-height:1.3;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.lc-chamada .bi {
    color:var(--ctm-launch-destaque);
    font-size:26px;
    line-height:1;
}

.lc-proxima {
    background:linear-gradient(180deg, var(--ctm-launch-cartao-2), var(--ctm-launch-cartao));
    border:1px solid var(--ctm-launch-linha);
    border-radius:var(--ctm-launch-raio-folha);
    padding:20px;
}

.lc-rotulo {
    display:flex;
    align-items:center;
    gap:10px;
    font-size:var(--ctm-launch-t-meta);
    font-weight:600;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--ctm-launch-txt-s);
}

.lc-ponto {
    width:10px;
    height:10px;
    border-radius:50%;
    background:var(--ctm-launch-ao-vivo);
    flex:none;
}

.lc-data {
    font-size:var(--ctm-launch-t-detalhe);
    font-weight:600;
    line-height:1.2;
    margin:14px 0 2px;
}

.lc-hora {
    font-size:22px;
    font-weight:600;
    color:var(--ctm-launch-destaque);
}

.lc-fuso {
    font-size:var(--ctm-launch-t-apoio);
    color:var(--ctm-launch-txt-s);
    margin-bottom:16px;
}

.lc-comeca {
    font-size:var(--ctm-launch-t-selo);
    font-weight:600;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--ctm-launch-txt-s);
    margin-bottom:8px;
}

.lc-contagem {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:8px;
    margin-bottom:18px;
}

.lc-celula {
    background:var(--ctm-launch-vidro);
    border:1px solid var(--ctm-launch-linha);
    border-radius:var(--ctm-launch-raio-card);
    text-align:center;
    padding:10px 4px;
}

.lc-celula b {
    display:block;
    font-family:var(--ctm-launch-fonte);
    font-weight:700;
    font-size:28px;
    line-height:1;
    font-variant-numeric:tabular-nums;
}

.lc-celula small {
    font-size:var(--ctm-launch-t-selo);
    font-weight:600;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--ctm-launch-txt-s);
}

.lc-btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:48px;
    padding:0 22px;
    border:0;
    border-radius:var(--ctm-launch-raio-card);
    background:var(--ctm-launch-destaque);
    color:var(--ctm-launch-destaque-sobre);
    font-family:var(--ctm-font);
    font-size:var(--ctm-launch-t-apoio);
    font-weight:600;
    letter-spacing:.06em;
    text-transform:uppercase;
    cursor:pointer;
    text-decoration:none;
}

.lc-btn.bloco {
    width:100%;
}

.lc-btn.ativo {
    background:var(--ctm-launch-ok);
    color:var(--ctm-launch-ok-sobre);
}

.lc-btn.contorno {
    background:transparent;
    color:var(--ctm-launch-txt);
    border:1px solid var(--ctm-launch-linha);
}

.lc-btn .bi {
    font-size:18px;
    line-height:1;
}

.lc-ajuda {
    font-size:var(--ctm-launch-t-meta);
    color:var(--ctm-launch-txt-s);
    margin:8px 0 0;
    text-align:center;
}

.lc-secao {
    padding:0 0 32px;
}

.lc-secao-cab {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-bottom:20px;
}

.lc-secao-t {
    display:flex;
    gap:14px;
    align-items:flex-start;
    min-width:0;
}

.lc-icone-redondo {
    width:44px;
    height:44px;
    flex:none;
    border-radius:50%;
    background:var(--ctm-launch-destaque);
    color:var(--ctm-launch-destaque-sobre);
    display:grid;
    place-items:center;
}

.lc-icone-redondo .bi {
    font-size:22px;
    line-height:1;
}

.lc-h2 {
    font-family:var(--ctm-launch-fonte);
    font-weight:700;
    font-size:22px;
    letter-spacing:.06em;
    text-transform:uppercase;
    margin:0;
    color:var(--ctm-launch-txt);
    overflow-wrap:anywhere;
}

.lc-sub {
    color:var(--ctm-launch-txt-s);
    margin:2px 0 0;
    font-size:var(--ctm-launch-t-corpo);
}

.lc-progresso {
    width:100%;
    min-width:240px;
}

.lc-progresso-linha {
    display:flex;
    justify-content:space-between;
    font-size:var(--ctm-launch-t-apoio);
    color:var(--ctm-launch-txt-s);
    margin-bottom:6px;
}

.lc-progresso-linha b {
    color:var(--ctm-launch-txt);
}

.lc-barra {
    height:8px;
    border-radius:99px;
    background:var(--ctm-launch-vidro-forte);
    overflow:hidden;
}


.lc-carrossel-wrap {
    position:relative;
}

.lc-carrossel {
    display:flex;
    gap:16px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    padding:6px 2px 16px;
    list-style:none;
    margin:0;
    scroll-behavior: smooth;
    scrollbar-width: none;
}

.lc-carrossel::-webkit-scrollbar {
    display: none;
}

.lc-nav {
    display:none;
    position:absolute;
    top:34%;
    width:48px;
    height:48px;
    border-radius:50%;
    border:1px solid var(--ctm-launch-linha);
    background:var(--ctm-launch-fundo-2);
    color:var(--ctm-launch-txt);
    place-items:center;
    z-index:2;
    transition: all 0.2s ease;
    cursor: pointer;
}

@media (hover: hover) {
    .lc-nav:hover {
        background: var(--ctm-launch-vidro);
        transform: scale(1.05);
    }
}

.lc-nav .bi {
    font-size:20px;
    line-height:1;
}

.lc-nav.ant {
    left:-20px;
}

.lc-nav.prox {
    right:-20px;
}

.lc-aula {
    flex:0 0 78%;
    scroll-snap-align:start;
    background:var(--ctm-launch-cartao);
    border:1px solid var(--ctm-launch-linha);
    border-radius:var(--ctm-launch-raio-folha);
    overflow:hidden;
    display:flex;
    flex-direction:column;
    transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), border-color 0.3s ease;
}

@media (hover: hover) {
    .lc-aula:hover {
        transform: translateY(-4px);
        box-shadow: 0 12px 24px var(--ctm-launch-sombra);
    }
}

.lc-aula.concluida {
    border-color:var(--ctm-launch-ok);
}

.lc-aula.agora {
    border-color:var(--ctm-launch-info);
    box-shadow:0 0 0 2px var(--ctm-launch-info-halo);
    background:linear-gradient(180deg, var(--ctm-launch-info-fundo), var(--ctm-launch-cartao));
}

.lc-aula.ao-vivo-agora {
    border-color:var(--ctm-launch-ao-vivo);
    box-shadow:0 0 0 2px var(--ctm-launch-ao-vivo-halo);
}

.lc-aula.bloqueada .lc-miniatura, .lc-aula.bloqueada .lc-corpo {
    opacity:.7;
}

.lc-miniatura {
    position:relative;
    aspect-ratio:16 / 9;
    background:linear-gradient(135deg, var(--ctm-launch-miniatura-1), var(--ctm-launch-miniatura-2) 60%, var(--ctm-launch-miniatura-3));
    display:grid;
    place-items:center;
}

.lc-miniatura > .lc-fundo-icone {
    color:var(--ctm-launch-vidro-forte);
    font-size:54px;
    line-height:1;
}

.lc-play {
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    width:52px;
    height:52px;
    border-radius:50%;
    background:var(--ctm-launch-veu);
    border:2px solid var(--ctm-launch-txt);
    color:var(--ctm-launch-txt);
    display:grid;
    place-items:center;
}

.lc-play .bi {
    font-size:24px;
    line-height:1;
}

.lc-duracao {
    position:absolute;
    right:8px;
    bottom:8px;
    background:var(--ctm-launch-veu);
    font-size:var(--ctm-launch-t-meta);
    font-weight:600;
    padding:2px 8px;
    border-radius:var(--ctm-launch-raio-selo);
}

.lc-estado {
    position:absolute;
    left:8px;
    top:8px;
    display:inline-flex;
    gap:6px;
    align-items:center;
    font-size:var(--ctm-launch-t-selo);
    font-weight:600;
    letter-spacing:.07em;
    text-transform:uppercase;
    padding:5px 10px;
    border-radius:999px;
    background:var(--ctm-launch-veu);
    border:1px solid var(--ctm-launch-linha);
    color:var(--ctm-launch-txt-s);
}

.lc-estado .bi {
    font-size:12px;
    line-height:1;
}

.lc-estado.ok {
    color:var(--ctm-launch-ok);
    border-color:var(--ctm-launch-ok);
}

.lc-estado.info {
    background:var(--ctm-launch-info);
    border-color:var(--ctm-launch-info);
    color:var(--ctm-launch-info-sobre);
}

.lc-estado.vivo {
    background:var(--ctm-launch-ao-vivo);
    border-color:var(--ctm-launch-ao-vivo);
    color:var(--ctm-launch-ao-vivo-sobre);
}

.lc-corpo {
    padding:16px;
    display:flex;
    flex-direction:column;
    gap:6px;
    flex:1;
}

.lc-num {
    font-size:var(--ctm-launch-t-selo);
    font-weight:600;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--ctm-launch-destaque);
}

.lc-aula h3 {
    font-size:var(--ctm-launch-t-secao);
    font-weight:600;
    line-height:1.25;
    margin:0;
    color:var(--ctm-launch-txt);
}

.lc-aula p {
    margin:0;
    color:var(--ctm-launch-txt-s);
    font-size:var(--ctm-launch-t-corpo);
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

.lc-pe {
    margin-top:auto;
    padding-top:10px;
    font-size:var(--ctm-launch-t-apoio);
    display:flex;
    align-items:center;
    gap:8px;
    color:var(--ctm-launch-txt-s);
    min-height:44px;
}

.lc-pe .bi {
    flex:none;
    font-size:16px;
    line-height:1;
}

.lc-pe.ok {
    color:var(--ctm-launch-ok);
}

.lc-colunas {
    display:grid;
    grid-template-columns:1fr;
    gap:16px;
    padding:0 0 32px;
}

.lc-painel {
    background:var(--ctm-launch-vidro);
    border:1px solid var(--ctm-launch-linha);
    border-radius:var(--ctm-launch-raio-folha);
    padding:20px;
}

.lc-painel .lc-h2 {
    font-size:18px;
    margin-bottom:16px;
    color:var(--ctm-launch-destaque);
}

.lc-aprender {
    list-style:none;
    margin:0;
    padding:0;
    display:grid;
    gap:16px;
}

.lc-aprender li {
    display:flex;
    gap:14px;
}

.lc-aprender .lc-icone-quadrado {
    flex:none;
    width:44px;
    height:44px;
    border-radius:var(--ctm-launch-raio-card);
    background:var(--ctm-launch-destaque-12);
    color:var(--ctm-launch-destaque);
    display:grid;
    place-items:center;
}

.lc-aprender .lc-icone-quadrado .bi {
    font-size:22px;
    line-height:1;
}

.lc-aprender b {
    display:block;
    color:var(--ctm-launch-txt);
}

.lc-aprender span {
    color:var(--ctm-launch-txt-s);
    font-size:var(--ctm-launch-t-corpo);
}

.lc-mentor {
    display:flex;
    gap:16px;
    align-items:center;
    margin-bottom:14px;
}

.lc-foto {
    width:88px;
    height:88px;
    flex:none;
    border-radius:50%;
    border:3px solid var(--ctm-launch-destaque);
    background:linear-gradient(135deg, var(--ctm-launch-miniatura-1), var(--ctm-launch-miniatura-3));
    color:var(--ctm-launch-txt-s);
    display:grid;
    place-items:center;
    overflow:hidden;
}

.lc-foto .bi {
    font-size:44px;
    line-height:1;
}

.lc-mentor b {
    font-size:var(--ctm-launch-t-detalhe);
    display:block;
    color:var(--ctm-launch-txt);
}

.lc-mentor span {
    color:var(--ctm-launch-destaque);
    font-size:var(--ctm-launch-t-corpo);
}

.lc-bio {
    color:var(--ctm-launch-txt-s);
    font-size:var(--ctm-launch-t-corpo);
    margin:0 0 18px;
}

.lc-numeros {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
}

.lc-numeros div {
    text-align:center;
    background:var(--ctm-launch-vidro-forte);
    border-radius:var(--ctm-launch-raio-card);
    padding:12px 4px;
}

.lc-numeros b {
    display:block;
    font-family:var(--ctm-launch-fonte);
    font-weight:700;
    font-size:var(--ctm-launch-t-detalhe);
    color:var(--ctm-launch-destaque);
}

.lc-numeros small {
    font-size:var(--ctm-launch-t-selo);
    color:var(--ctm-launch-txt-s);
}

.lc-faq details {
    border-bottom:1px solid var(--ctm-launch-linha);
}

.lc-faq details:last-child {
    border-bottom:0;
}

.lc-faq summary {
    cursor:pointer;
    min-height:44px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    font-weight:600;
    list-style:none;
    padding:6px 0;
}

.lc-faq summary::-webkit-details-marker {
    display:none;
}

.lc-faq summary .bi {
    color:var(--ctm-launch-destaque);
    flex:none;
    font-size:18px;
    line-height:1;
}

.lc-faq details[open] summary .bi {
    transform:rotate(180deg);
}

.lc-faq details p {
    margin:0 0 14px;
    color:var(--ctm-launch-txt-s);
    font-size:var(--ctm-launch-t-corpo);
}

.lc-faixa {
    margin:0 0 32px;
    border-radius:20px;
    border:1px solid var(--ctm-launch-destaque);
    background:linear-gradient(90deg, var(--ctm-launch-destaque-16), var(--ctm-launch-info-12));
    padding:24px 16px;
    display:flex;
    flex-direction:column;
    gap:12px;
    align-items:center;
    justify-content:center;
    text-align:center;
}

.lc-faixa .bi {
    color:var(--ctm-launch-destaque);
    flex:none;
    font-size:44px;
    line-height:1;
}

.lc-faixa b {
    display:block;
    font-family:var(--ctm-launch-fonte);
    font-weight:700;
    font-size:clamp(20px,2.4vw,28px);
    line-height:1.2;
    text-transform:uppercase;
    letter-spacing:.03em;
    overflow-wrap:anywhere;
}

.lc-faixa span {
    color:var(--ctm-launch-txt-s);
}

.lc-aviso {
    display:flex;
    gap:12px;
    align-items:flex-start;
    padding:14px 16px;
    border-radius:var(--ctm-launch-raio-card);
    border:1px solid var(--ctm-launch-linha);
    background:var(--ctm-launch-vidro);
    margin:0 0 20px;
}

.lc-aviso .bi {
    flex:none;
    color:var(--ctm-launch-txt-s);
    font-size:22px;
    line-height:1;
}

.lc-aviso p {
    margin:0;
    color:var(--ctm-launch-txt);
}

.lc-aviso.vivo {
    border-color:var(--ctm-launch-ao-vivo);
}

.lc-aviso.vivo .bi {
    color:var(--ctm-launch-ao-vivo);
}

.lc-compra {
    border:1px solid var(--ctm-launch-destaque);
    background:var(--ctm-launch-destaque-12);
    border-radius:var(--ctm-launch-raio-folha);
    padding:20px;
    margin:0 0 24px;
}

.lc-compra .lc-h2 {
    color:var(--ctm-launch-txt);
    font-size:var(--ctm-launch-t-secao);
    margin-bottom:6px;
}

.lc-compra p {
    color:var(--ctm-launch-txt-s);
    margin:0 0 14px;
}

.lc-conteudo {
    background:var(--ctm-launch-cartao);
    border:1px solid var(--ctm-launch-linha);
    border-radius:var(--ctm-launch-raio-folha);
    padding:16px;
    margin:0 0 16px;
}

.lc-conteudo h2 {
    font-size:var(--ctm-launch-t-detalhe);
    font-weight:600;
    margin:0 0 4px;
    color:var(--ctm-launch-txt);
}

.lc-player {
    aspect-ratio:16 / 9;
    border-radius:var(--ctm-launch-raio-card);
    background:linear-gradient(135deg, var(--ctm-launch-miniatura-1), var(--ctm-launch-miniatura-3));
    display:grid;
    place-items:center;
    margin:12px 0;
    color:var(--ctm-launch-txt);
}

.lc-player .bi {
    font-size:48px;
    line-height:1;
}

.lc-rodape-pagina {
    padding:0 0 32px;
    text-align:center;
    color:var(--ctm-launch-txt-s);
    font-size:var(--ctm-launch-t-meta);
}

.lc-estado-pagina {
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap:10px;
    padding:48px 16px;
}

.lc-estado-pagina .lc-icone-redondo {
    width:56px;
    height:56px;
}

.lc-estado-pagina .lc-icone-redondo .bi {
    font-size:28px;
    line-height:1;
}

.lc-estado-pagina p {
    color:var(--ctm-launch-txt-s);
    margin:0;
    max-width:420px;
}

.lc-coluna {
    max-width:640px;
    margin:0 auto;
}

@media (min-width: 720px) {
    .lc-pagina {
        font-size:16px;
    }

    .lc-limite {
        padding:0 24px;
    }

    .lc-topo {
        flex-direction:row;
        align-items:center;
        gap:16px;
        padding:18px 0;
        flex-wrap:wrap;
    }

    .lc-selo-evento {
        margin-inline-start:auto;
    }

    .lc-capa {
        border-radius:20px;
    }

    
    .lc-hero {
        grid-template-columns:1.4fr 1fr;
        gap:32px;
        padding:28px 0 48px;
    }

    .lc-hero.sem-lateral {
        grid-template-columns:1fr;
    }

    .lc-titulo {
        font-size:clamp(38px,5vw,68px);
    }

    .lc-texto {
        font-size:17px;
    }

    .lc-chamadas {
        grid-template-columns:repeat(3,1fr);
        gap:16px;
    }

    .lc-chamada {
        flex-direction:column;
        align-items:flex-start;
        gap:8px;
    }

    .lc-proxima {
        padding:24px;
    }

    .lc-data {
        font-size:24px;
    }

    .lc-h2 {
        font-size:clamp(22px,2.6vw,30px);
    }

    .lc-painel .lc-h2 {
        font-size:18px;
    }

    .lc-progresso {
        width:auto;
    }

    .lc-carrossel {
        gap:20px;
    }

    .lc-nav {
        display:grid;
    }

    .lc-aula {
        flex-basis:296px;
    }

    .lc-colunas {
        gap:24px;
        padding:16px 0 48px;
    }

    .lc-colunas.n2 {
        grid-template-columns:1fr 1fr;
    }

    .lc-colunas.n3 {
        grid-template-columns:1fr 1.1fr 1.1fr;
    }

    .lc-painel {
        padding:24px;
    }

    .lc-faixa {
        flex-direction:row;
        gap:20px;
        padding:28px;
        margin-bottom:48px;
        text-align:left;
    }

}
@media (prefers-reduced-motion:no-preference){
  .lc-ponto{ animation:lc-pulso 1.8s infinite }
  @keyframes lc-pulso{ 0%{ box-shadow:0 0 0 0 var(--ctm-launch-ao-vivo-halo) } 70%{ box-shadow:0 0 0 10px transparent } 100%{ box-shadow:0 0 0 0 transparent } }
  .lc-faq summary .bi{ transition:transform .2s }
}

/* ---- complementos do app (nao existem no kit porque la o desenho e SVG e a marcacao e estatica) ---- */
.lc-pagina [hidden] {
    display: none;
}

.lc-pagina .lc-btn:hover,
.lc-pagina .lc-btn:focus {
    color: var(--ctm-launch-destaque-sobre);
    filter: brightness(1.08);
}

.lc-pagina .lc-btn.ativo:hover {
    color: var(--ctm-launch-ok-sobre);
}

.lc-pagina .lc-btn.contorno:hover {
    color: var(--ctm-launch-txt);
    background: var(--ctm-launch-vidro);
}

.lc-estado-ativo {
    margin: 0;
    cursor: default;
}

.lc-btn--topo {
    margin-top: 14px;
}

.lc-ajuda--inicio {
    text-align: start;
    margin-top: 10px;
}

.lc-h2--livre {
    text-transform: none;
    letter-spacing: 0;
}

.lc-h2--topo {
    margin-top: 12px;
}

.lc-h2--detalhe {
    font-size: var(--ctm-launch-t-detalhe);
}

.lc-hora--texto {
    font-size: var(--ctm-launch-t-corpo);
    color: var(--ctm-launch-txt);
    margin: 0;
}

.lc-descricao {
    margin-bottom: 12px;
}

/* capa: no celular altura fixa e o ponto central vem do CoverFocus; no computador a capa aparece inteira, na proporcao original */
.lc-capa img {
    display: block;
    width: 100%;
    height: 122px;
    object-fit: cover;
}

.lc-capa--esquerda img {
    object-position: left center;
}

.lc-capa--centro img {
    object-position: center center;
}

.lc-capa--direita img {
    object-position: right center;
}

/* progresso: a barra e um SVG (a largura vai em atributo, nunca em style inline) */
.lc-barra-svg {
    display: block;
    width: 100%;
    height: 100%;
}

.lc-barra-svg rect {
    fill: var(--ctm-launch-destaque);
}

/* miniatura do cartao: a imagem enche o quadro 16:9; o selo, a duracao e o play ficam por cima */
/* o cartao e o bloco de contencao do que e absoluto dentro dele (inclusive o .visually-hidden do Bootstrap): sem isto o texto escondido de um cartao fora da tela
   alargaria a rolagem da PAGINA em vez de ficar dentro da rolagem do carrossel */
.lc-aula {
    position: relative;
}

.lc-miniatura-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.lc-miniatura > .lc-estado,
.lc-miniatura > .lc-duracao,
.lc-miniatura > .lc-play {
    z-index: 1;
}

.lc-estado .lc-ponto {
    width: 8px;
    height: 8px;
    background: var(--ctm-launch-ao-vivo-sobre);
}

.lc-estado[role="timer"] {
    font-variant-numeric: tabular-nums;
}

.lc-pe .bi + [role="timer"],
.lc-pe .bi + span {
    min-width: 0;
}

.lc-ajuda.lc-ajuda--inicio {
    text-align: start;
}

.lc-aula .lc-pe a.lc-btn {
    width: 100%;
}

/* mentor: foto redonda ou a inicial */
.lc-foto-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.lc-foto {
    position: relative;
}

/* aviso e agradecimento do fim */
.lc-compra--agradecimento {
    text-align: center;
}

.lc-compra--agradecimento p {
    margin: 0;
    color: var(--ctm-launch-txt);
    font-weight: 600;
}

.lc-compra .lc-btn {
    margin-bottom: 4px;
}

/* a sala da aula e o player do conteudo */
.lc-player {
    position: relative;
}

.lc-player iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: var(--ctm-launch-raio-card);
}

/* "Proximo conteudo" e o cartao inteiro como alvo de toque */
.lc-proximo {
    display: block;
    text-decoration: none;
    min-height: 44px;
}

.lc-proximo:hover {
    border-color: var(--ctm-launch-destaque);
}

.lc-proximo-titulo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: 4px;
    font-weight: 600;
    color: var(--ctm-launch-txt);
    overflow-wrap: anywhere;
}

/* texto livre do professor quebra em qualquer ponto: nada empurra a pagina para o lado */
.lc-aula h3,
.lc-aprender b,
.lc-aprender span,
.lc-bio,
.lc-faq summary,
.lc-faq details p,
.lc-chamada span,
.lc-texto,
.lc-sub,
.lc-mentor b,
.lc-mentor span,
.lc-numeros b,
.lc-faixa span {
    overflow-wrap: anywhere;
}

.lc-estado-pagina .lc-btn,
.lc-offline .lc-btn {
    margin-top: 8px;
}

.lc-offline {
    margin-bottom: 16px;
}

.lc-pe a.lc-btn .bi,
.lc-compra .lc-btn .bi {
    flex: none;
}

@media (min-width: 720px) {
    .lc-capa img {
        height: auto;
        object-fit: initial;
    }

    .lc-nav:not([hidden]) {
        display: grid;
    }
}

@media (prefers-reduced-motion: reduce) {
    .lc-carrossel {
        scroll-behavior: auto;
    }
}
