/* Capa clara (manchete serifada, sem o bloco escuro): aprovada, faz parte deste tema. */
.ct-hero-showcase { background: transparent; border-radius: 0; overflow: visible; }
.ct-hero-showcase-cover { aspect-ratio: auto; overflow: visible; }
.ct-hero-showcase-cover img { display: none; }
.ct-hero-showcase-overlay { position: static; background: none; padding: 4px 0 18px; gap: 0; }
.ct-hero-showcase-title {
    font-family: var(--font-serif, Georgia, serif);
    font-size: 64px; font-weight: 800; line-height: 1.05; letter-spacing: -.025em;
    color: #17191d; margin: 6px 0 0;
    -webkit-line-clamp: 4;
}
.ct-hero-showcase-principal:hover .ct-hero-showcase-title { color: #4a5260; text-decoration: none; }
.ct-hero-showcase .ct-hero-sub-grid { background: transparent; padding: 18px 0 0; border-top: 1px solid #d5d9e0; }
.ct-hero-showcase .ct-hero-sub-grid::before { display: none; }
.ct-hero-showcase .ct-hero-sub-card + .ct-hero-sub-card::before { background: #e2e5ea; }
.ct-hero-showcase .ct-hero-sub-img-wrap { background: #eef1f5; }
.ct-hero-showcase .ct-hero-sub-title { font-family: var(--font-serif, Georgia, serif); font-size: 17px; font-weight: 700; color: #17191d; line-height: 120%;letter-spacing: -.02em;}
.ct-hero-showcase .ct-hero-sub-card:hover .ct-hero-sub-title { color: #4a5260; text-decoration: none; }
@media (max-width: 860px) {
    .ct-hero-showcase-title { font-size: 30px; }
}

/* Sem o chapéu sobre a manchete: o título alinha com o topo do clima e das Últimas Notícias */
.ct-hero-showcase-chapeu { display: none; }
.ct-hero-showcase-overlay { padding-top: 0; }
.ct-hero-showcase-title { margin-top: 0; }
.ct-hero-showcase-principal > .ct-selo-exclusivo { margin-bottom: 8px; }

/* Trânsito e Nota de Pesar: abaixo do placar, lado a lado (lugar definitivo a decidir) */
.ct-capa-apoio { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; margin-top: 8px; margin-bottom: 8px; align-items: start; }
.ct-capa-apoio-col { min-width: 0; }
.ct-capa-apoio-col .ct-section-heading { margin-top: 0 !important; }
@media (max-width: 760px) { .ct-capa-apoio { grid-template-columns: 1fr; } }

/* Alinhamento: clima | manchete | Últimas Notícias seguem as mesmas 4 colunas da fileira de destaques abaixo
   (clima = coluna 1, manchete = colunas 2 e 3, Últimas Notícias = coluna 4), com o mesmo vão de 22 px. */
@media (min-width: 1101px) {
    .ct-hero-magazine-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
    .ct-hero-magazine-grid > .ct-hero-side-col:first-child { grid-column: 1; }
    .ct-hero-magazine-grid > .ct-hero-main-col { grid-column: 2 / span 2; }
    .ct-hero-magazine-grid > .ct-hero-side-col:last-child { grid-column: 4; }
}

/* Três destaques abaixo da manchete (a manchete ocupa 3 colunas) */
.ct-hero-showcase .ct-hero-sub-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* Sem a coluna do clima: manchete nas colunas 1 a 3, Últimas Notícias na 4 (alinhadas com a fileira de baixo) */
@media (min-width: 1101px) {
    .ct-hero-magazine-grid > .ct-hero-main-col { grid-column: 1 / span 3; }
    .ct-hero-magazine-grid > .ct-hero-side-col { grid-column: 4; }
}

/* Grade de 5 colunas: manchete + 3 chamadas = colunas 1 a 3; Últimas Notícias = colunas 4 e 5 */
@media (min-width: 1101px) {
    .ct-hero-magazine-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 22px; }
    .ct-hero-magazine-grid > .ct-hero-main-col { grid-column: 1 / span 3; }
    .ct-hero-magazine-grid > .ct-hero-side-col { grid-column: 4 / span 2; }
}
/* (maior especificidade que a regra anterior de :last-child) Últimas Notícias nas colunas 4 e 5 */
@media (min-width: 1101px) {
    .ct-hero-magazine-grid > .ct-hero-side-col:last-child { grid-column: 4 / span 2; }
}

/* Coluna das Últimas Notícias (colunas 4 e 5): rótulo, foto em 16:9 e miniaturas menores */
.ct-hero-side-col .ct-side-destaque { aspect-ratio: 16 / 9; height: auto; min-height: 0; }
.ct-hero-side-col .ct-side-feed-item .ct-side-feed-thumb { width: 84px; height: 84px; }
.ct-hero-side-col .ct-side-feed-title { font-size: 17px; }

/* Últimas notícias (2 colunas): foto maior e o chapéu acima do título, fora da foto */
.ct-hero-side-col .ct-side-feed-item { gap: 14px; align-items: flex-start; }
.ct-hero-side-col .ct-side-feed-item .ct-side-feed-thumb { width: 90px; height: 90px; aspect-ratio: 1 / 1; flex: 0 0 90px; }
.ct-hero-side-col .ct-side-feed-item .ct-side-feed-thumb .ct-side-feed-pilula { display: none; }
.ct-hero-side-col .ct-side-feed-item .ct-side-feed-chapeu { margin: 2px 0 6px; }
.ct-hero-side-col .ct-side-feed-item .ct-side-feed-title { font-size: 17px; }

/* Todos os chapéus da capa dentro de um badge (fundo suave na cor da editoria, texto na cor cheia) */
.ct-hero-sub-chapeu,
.ct-hero-side-col .ct-side-feed-item .ct-side-feed-chapeu {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    padding: 3px 8px;
    border-radius: 4px;
    background: color-mix(in srgb, var(--chapeu-cor, #008a20) 13%, #fff);
    color: var(--chapeu-cor, #008a20);
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: .04em;
    line-height: 1;
    text-transform: uppercase;
    margin-bottom: 7px;
}
.ct-hero-sub-chapeu::before,
.ct-hero-side-col .ct-side-feed-item .ct-side-feed-chapeu::before { display: none; }

/* Nota de Pesar na barra lateral: o título herdava um espaçamento negativo exagerado */
.ct-pesar-widget .ct-section-heading-title { font-size: 20px; letter-spacing: -.2px; white-space: normal; }
.ct-pesar-widget .ct-section-heading { margin-top: 0 !important; }

/* Mais notícias: 3 colunas, cada uma com 3 notícias (alinhadas com a grade de 5 colunas só no desktop largo) */
.cx-mais-grade.cx-mais-grade--colunas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 32px; align-items: start; }
.cx-mais-coluna { display: flex; flex-direction: column; min-width: 0; }
.cx-mais-coluna .ct-side-feed-item { padding: 14px 0; border-bottom: 1px solid #e8ebf0; gap: 14px; }
.cx-mais-coluna .ct-side-feed-item:first-child { padding-top: 0; }
.cx-mais-coluna .ct-side-feed-item:last-child { border-bottom: 0; }
.cx-mais-coluna .ct-side-feed-thumb { width: 90px; height: 90px; flex: 0 0 90px; }
@media (max-width: 900px) { .cx-mais-grade.cx-mais-grade--colunas { grid-template-columns: 1fr; } .cx-mais-coluna + .cx-mais-coluna { border-top: 1px solid #e8ebf0; margin-top: 14px; padding-top: 14px; } }

/* Badge em todos os chapéus da capa (inclui Mais notícias e demais listas da página inicial) */
.ct-side-feed-chapeu,
.ct-side-feed-item .ct-side-feed-chapeu,
.cx-mais-coluna .ct-side-feed-chapeu {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    padding: 3px 8px;
    border-radius: 4px;
    background: color-mix(in srgb, var(--chapeu-cor, #008a20) 13%, #fff);
    color: var(--chapeu-cor, #008a20);
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: .04em;
    line-height: 1;
    text-transform: uppercase;
    margin-bottom: 7px;
}
.ct-side-feed-chapeu::before { display: none; }

/* As hastes de baixo (g, p, q, j) eram cortadas na última linha: o limite de linhas esconde o que passa da caixa. */
.ct-hero-showcase-title { line-height: 105%; padding-bottom: .16em; margin-bottom: -.1em; }
@media (max-width: 860px) { .ct-hero-showcase-title { line-height: 1.15; padding-bottom: .14em; } }

/* Nota de pesar no feed das Últimas Notícias: sóbria (foto em preto e branco, sem cor de editoria) */
.ct-side-feed-item--luto .ct-side-feed-thumb img { filter: grayscale(1); }
.ct-side-feed-item--luto .ct-side-feed-thumb { display: flex; align-items: center; justify-content: center; background: #e9ebee; color: #555; font-size: 28px; }
.ct-side-feed-item--luto .ct-chapeu-luto { background: #2b2f36 !important; color: #fff !important; }
.ct-side-feed-item--luto .ct-side-feed-hora { font-size: 12px; color: #5b6472; }
.ct-side-feed-item--luto:hover .ct-side-feed-thumb img { filter: grayscale(1) brightness(.95); }

/* Nota de pesar como card grande do feed (ou item de lista): sóbria, com ★ nascimento e ✝ falecimento */
.ct-side-destaque--luto > img { filter: grayscale(1) contrast(1.05); }
.ct-side-destaque--luto .ct-luto-sem-foto { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: #2b2f36; color: #8b93a0; font-size: 64px; }
.ct-side-destaque--luto::after { background: linear-gradient(to top, rgba(10, 12, 16, .92) 0%, rgba(10, 12, 16, .55) 55%, rgba(10, 12, 16, .15) 100%); }
.ct-chapeu-luto { background: #2b2f36 !important; color: #fff !important; }
.ct-side-destaque--luto .ct-chapeu-luto { background: #fff !important; color: #17191d !important; }
.ct-luto-datas { display: flex; flex-wrap: wrap; gap: 4px 14px; margin-top: 6px; font-size: 13px; font-weight: 600; color: rgba(255, 255, 255, .88); font-variant-numeric: tabular-nums; }
.ct-luto-datas i { margin-right: 4px; font-size: 11px; }
.ct-luto-datas--lista { color: #5b6472; font-size: 12.5px; }

/* Celular: a foto do destaque volta, logo abaixo da manchete, em 16:8 com 12px de raio, padrão das imagens grandes no celular (no desktop e no tablet segue oculta).
   A foto vem antes do texto no HTML; a ordem do flex a coloca depois.
   Sem foto real (placeholder), nada aparece no lugar. */
@media (max-width: 768px) {
    .ct-hero-showcase-cover { display: flex; flex-direction: column; }
    .ct-hero-showcase-cover img {
        display: block;
        order: 2;
        width: 100%;
        height: auto;
        aspect-ratio: var(--ct-img-grande-mobile-ratio, 16 / 8);
        object-fit: cover;
        object-position: center;
        border-radius: var(--ct-img-grande-mobile-raio, 12px);
        margin-bottom: 18px;
    }
    .ct-hero-showcase-cover img[src*="sem-foto"] { display: none; }
    .ct-hero-showcase-overlay { order: 1; }
}

/* Celular: das editorias abaixo das Últimas Notícias, a primeira vira destaque (largura toda)
   e as outras ficam em duas colunas. Se sobrar uma sozinha na última linha, ela também ocupa a largura toda. */
@media (max-width: 900px) {
    .ct-capa-cats--editorias .ct-capa-cats-cartao:first-child { grid-column: 1 / -1; }
    .ct-capa-cats--editorias .ct-capa-cats-cartao:first-child .ct-capa-cats-titulo { font-size: 22px; line-height: 1.2; }
    .ct-capa-cats--editorias .ct-capa-cats-cartao:last-child:nth-child(even) { grid-column: 1 / -1; }
    .ct-capa-cats--editorias .ct-capa-cats-grade { gap: 22px 14px; }
}

/* Celular, "Mais notícias": as colunas viram uma lista só, com um único filete entre as matérias
   (antes cada coluna empilhada trazia o próprio filete e margem, e a emenda ficava com barras duplas). */
@media (max-width: 900px) {
    .cx-mais-grade.cx-mais-grade--colunas { display: block; }
    .cx-mais-coluna { display: contents; }
    .cx-mais-coluna + .cx-mais-coluna { border-top: 0; margin-top: 0; padding-top: 0; }
    .cx-mais-coluna .ct-side-feed-item,
    .cx-mais-coluna .ct-side-feed-item:first-child,
    .cx-mais-coluna .ct-side-feed-item:last-child { padding: 14px 0; border-bottom: 1px solid #e8ebf0; }
    .cx-mais-grade--colunas > .cx-mais-coluna:first-child > .ct-side-feed-item:first-child { padding-top: 0 !important; }
    .cx-mais-grade--colunas > .cx-mais-coluna:last-child > .ct-side-feed-item:last-child { border-bottom: 0 !important; }
}

/* Celular, "Reportagens em vídeo": cabeçalho mais enxuto e os vídeos secundários em lista compacta
   (miniatura à esquerda, título à direita) em vez de um cartão de largura toda para cada um. */
@media (max-width: 576px) {
    .ct-tv-section { padding: 26px 0 28px; }
    .ct-tv-header { margin-bottom: 16px; padding-bottom: 12px; }
    .ct-tv-header .ct-tv-titulo { font-size: 22px; line-height: 1.15; }
    .ct-tv-main-thumb { min-height: 0; aspect-ratio: 16 / 10; }
    .ct-tv-main-title { font-size: 19px; }
    .ct-tv-side-list { gap: 10px; }
    .ct-tv-side-card { flex-direction: row; align-items: center; gap: 12px; padding: 8px; }
    .ct-tv-side-thumb { width: 118px; min-width: 118px; aspect-ratio: 16 / 10; }
    .ct-tv-side-title { font-size: 14.5px; }
    .ct-tv-side-card .ct-tv-play-btn--sm { transform: translate(-50%, -50%) scale(.8); }
}

/* Celular, Classificados: dois anúncios por linha (antes um por linha, cada um com 300px de altura). */
@media (max-width: 992px) {
    .ct-classificados-grid { gap: 12px; }
    .ct-classificados-grid > .ct-classificado-card {
        flex: 0 0 calc((100% - 12px) / 2);
        min-width: 0;
        min-height: 230px;
        padding: 10px;
    }
    .ct-classificados-grid > .ct-convite { flex-basis: 100%; }
    .ct-classificado-card .ct-classificado-title { font-size: 14px; line-height: 1.25; }
    .ct-classificado-card .ct-classificado-price { font-size: 15px; }
    .ct-classificado-card .ct-classificado-btn { padding: 7px 10px; font-size: 11.5px; }
    .ct-classificado-card .ct-classificado-badge-cond,
    .ct-classificado-card .ct-classificado-badge-cat { font-size: 9.5px; padding: 3px 7px; }
    .ct-classificado-card .ct-classificado-top { gap: 4px; flex-wrap: wrap; }
}

/* Celular, Enquete: resultados mais organizados — texto e porcentagem alinhados, barra de cor sólida
   (o degradê terminava quase preto), contagem de votos logo abaixo da barra, alinhada à esquerda. */
@media (max-width: 992px) {
    .ct-enquete-widget .ct-enquete-title { font-size: 18px; line-height: 1.3; margin: 0 0 14px; }
    .ct-enquete-widget .ct-enquete-results-list { gap: 14px; margin-bottom: 12px; }
    .ct-enquete-widget .ct-enquete-res-item { gap: 5px; }
    .ct-enquete-widget .ct-enquete-res-header { align-items: baseline; gap: 12px; font-size: 14.5px; }
    .ct-enquete-widget .ct-enquete-res-percent { font-size: 15px; color: #17191d; }
    .ct-enquete-widget .ct-enquete-res-bar-bg { height: 10px; }
    .ct-enquete-widget .ct-enquete-res-bar-fill { background: #e3262e; }
    .ct-enquete-widget .ct-enquete-res-votes { align-self: flex-start; font-size: 11.5px; }
    .ct-enquete-widget .ct-enquete-results-footer { gap: 12px; padding-top: 12px; flex-wrap: wrap; }
}
@media (max-width: 992px) {
    .ct-enquete-widget { margin-bottom: 8px; }
}

/* Tablet (769 a 1100px): manchete grande sem foto e os 3 destaques abaixo; Últimas Notícias na largura toda,
   com o card grande à esquerda e as outras duas em lista à direita (antes ficava só em meia coluna). */
@media (min-width: 769px) and (max-width: 1100px) {
    .ct-hero-showcase-title { font-size: 44px; }
    .ct-hero-magazine-grid > .ct-hero-side-col:last-child { grid-column: 1 / -1; }
    .ct-hero-side-col .ct-side-feed-list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0 28px;
        align-items: start;
    }
    .ct-hero-side-col .ct-side-feed-list > .ct-side-destaque,
    .ct-hero-side-col .ct-side-feed-list > .ct-side-feed-item--luto:first-child { grid-column: 1; grid-row: 1 / span 2; }
    .ct-hero-side-col .ct-side-feed-list > .ct-side-feed-item { grid-column: 2; }
}

/* Tablet: card grande e lista da direita com o mesmo topo e a mesma altura */
@media (min-width: 769px) and (max-width: 1100px) {
    .ct-hero-side-col .ct-side-feed-list { align-items: stretch; row-gap: 0; }
    .ct-hero-side-col .ct-side-feed-list > .ct-side-destaque { aspect-ratio: auto; height: 100%; min-height: 260px; margin-bottom: 0; }
    .ct-hero-side-col .ct-side-feed-list > .ct-side-feed-item { margin: 0; padding: 0 0 16px; border-bottom: 1px solid #e8ebf0; align-self: start; }
    .ct-hero-side-col .ct-side-feed-list > .ct-side-feed-item ~ .ct-side-feed-item { padding: 16px 0 0; border-bottom: 0; }
}

/* Tablet e celular: o destaque (1ª editoria, largura toda) fica só com o título, sem foto e maior */
@media (max-width: 900px) {
    .ct-capa-cats--editorias .ct-capa-cats-cartao:first-child .ct-capa-cats-foto { display: none; }
    .ct-capa-cats--editorias .ct-capa-cats-cartao:first-child .ct-capa-cats-titulo { font-size: 32px; line-height: 1.15; }
    .ct-capa-cats--editorias .ct-capa-cats-cartao:first-child { padding-bottom: 8px; }
}
@media (max-width: 520px) {
    .ct-capa-cats--editorias .ct-capa-cats-cartao:first-child .ct-capa-cats-titulo { font-size: 26px; }
}

/* Tablet (577 a 992px): vídeo maior de um lado e os 3 menores do outro (antes empilhava tudo) */
@media (min-width: 577px) and (max-width: 992px) {
    .ct-tv-layout { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 18px; }
    .ct-tv-main-thumb { min-height: 0; height: 100%; aspect-ratio: auto; }
    .ct-tv-side-list { gap: 10px; }
    .ct-tv-side-card { flex-direction: column; align-items: stretch; gap: 8px; padding: 8px; }
    .ct-tv-side-thumb { width: 100%; min-width: 0; aspect-ratio: 16 / 9; }
    .ct-tv-side-title { font-size: 14px; }
}

/* Guia Comercial: as 3 empresas premium lado a lado também no tablet (só 1 por linha no celular) */
@media (min-width: 581px) {
    .ct-guia-grid-premium { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
}

/* Tablet, vídeos: como as Últimas Notícias — vídeo grande à esquerda, e à direita 3 itens em lista
   (miniatura à esquerda, texto à direita), todos com a mesma altura do vídeo. */
@media (min-width: 577px) and (max-width: 992px) {
    .ct-tv-layout { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; align-items: stretch; }
    .ct-tv-side-list { justify-content: space-between; gap: 10px; }
    .ct-tv-side-card { flex-direction: row; align-items: center; gap: 12px; padding: 8px; }
    .ct-tv-side-thumb { width: 120px; min-width: 120px; aspect-ratio: 16 / 10; }
    .ct-tv-side-title { font-size: 15px; line-height: 1.25; }
}

/* Faixa "Horóscopo, Placar e Loterias": três colunas de largura igual (duas no tablet, uma no celular) */
.ct-mercado-grade { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; align-items: start; }
.ct-mercado-col--horoscopo .ct-horoscopo-secao { margin: 0; }
.ct-mercado-col--horoscopo .ct-horoscopo-largo { max-width: 100%; }
.ct-mercado-col--placar .ct-copa-widget { width: 100%; }
@media (max-width: 992px) { .ct-mercado-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .ct-mercado-grade { grid-template-columns: 1fr; } }

/* Horóscopo, Placar e Loterias: os três cartões com o mesmo título e a mesma altura (um pouco acima da das loterias) */
.ct-mercado-grade { --mercado-altura: 400px; align-items: stretch; }
.ct-mercado-col { height: var(--mercado-altura); min-height: 0; display: flex; flex-direction: column; }
.ct-mercado-col > .ct-section-heading { flex: 0 0 auto; margin-top: 0; }
.ct-mercado-col .ct-horoscopo-secao,
.ct-mercado-col .ct-copa-widget { flex: 1 1 auto; min-height: 0; overflow-y: auto; scrollbar-width: thin; }
.ct-mercado-col--horoscopo .ct-dash-col-body { padding-top: 0; }
.ct-mercado-col--placar .ct-placar-titulo { display: none; }
.ct-mercado-col .ct-loterias-widget { flex: 1 1 auto; min-height: 0; overflow-y: auto; }
@media (max-width: 640px) { .ct-mercado-col { height: auto; max-height: none; } }

/* Loterias empilhadas, sem abas: Mega-Sena, Lotofácil e Quina, nessa ordem, dentro da mesma altura dos outros dois cartões */
.ct-mercado-col .ct-loterias-tabs { display: none; }
.ct-mercado-col .ct-loteria-panel { display: block; padding: 12px 0; border-top: 1px solid #e8ebf0; }
.ct-mercado-col .ct-loteria-panel:first-of-type { border-top: 0; padding-top: 0; }
.ct-loteria-titulo { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; font-size: 17px; font-weight: 800; color: var(--tab-color, #17191d); }
.ct-loteria-titulo .ct-trevo { width: 26px; height: 26px; fill: var(--tab-color, currentColor); flex: 0 0 auto; }

/* Horóscopo, Placar e Loterias: cartões limpos, no padrão dos grandes portais (sem filetes e bordas internas) */
.ct-mercado-grade { border: 0; padding: 4px 0 8px; gap: 20px; }
.ct-mercado-col { background: #fff; border-radius: 14px; padding: 18px 20px; box-shadow: 0 1px 3px rgba(15, 23, 42, .06), 0 8px 24px rgba(15, 23, 42, .07); }

.ct-mercado-col .ct-copa-widget,
.ct-mercado-col .ct-horoscopo-secao,
.ct-mercado-col .ct-dash-col-body,
.ct-mercado-col .ct-horoscopo-largo,
.ct-mercado-col .ct-placar-modulo,
.ct-mercado-col .ct-loterias-widget { border: 0; box-shadow: none; background: transparent; padding: 0; margin: 0; border-radius: 0; }

/* Placar: só os jogos, sem a tabela e sem filetes */
.ct-mercado-col--placar .ct-placar-tabela,
.ct-mercado-col--placar .ct-placar-secao,
.ct-mercado-col--placar .ct-placar-fase { display: none; }
.ct-mercado-col--placar .ct-placar-contexto { border: 0; padding: 0 0 8px; }
.ct-mercado-col--placar .ct-placar-camp-nome { font-size: 13px; color: #5b6472; }
.ct-mercado-col--placar .ct-placar-jogo { border: 0; padding: 12px 0; background: transparent; }
.ct-mercado-col--placar .ct-placar-jogo + .ct-placar-jogo { margin-top: 4px; }
.ct-mercado-col--placar .ct-placar-dia { border: 0; padding: 6px 0 0; color: #5b6472; }
.ct-mercado-col--placar .ct-placar-todos { font-weight: 700; color: #0f766e; }
.ct-mercado-col--placar .ct-placar-corpo,
.ct-mercado-col--placar .ct-placar-jogos { border: 0; padding: 0; }

/* Horóscopo: signo do dia, texto curto e os 12 signos para trocar */
.ct-mercado-col--horoscopo .ct-signo-aspects,
.ct-mercado-col--horoscopo .ct-horoscopo-extras { display: none; }
.ct-mercado-col--horoscopo .ct-signo-preview-text { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.ct-mercado-col--horoscopo .ct-signos-switch-row { border: 0; gap: 6px; padding-top: 10px; }

/* Loterias */
.ct-mercado-col .ct-loteria-panel { border-color: #eef0f3; }
.ct-mercado-col .ct-loterias-footer { border: 0; }

/* Títulos dos três blocos como eram: 22px, filete depois do título, sem fundo */
.ct-mercado-col > .ct-section-heading,
.ct-mercado-col .ct-horoscopo-secao > .ct-section-heading { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; padding: 0; border: 0; }
.ct-mercado-col .ct-section-heading::after { content: ""; display: block; flex: 1; height: 1px; background: #e2e8f0; }
.ct-mercado-col .ct-section-heading-title { font-size: 22px; font-weight: 700; letter-spacing: -.04em; color: #17191d; }
.ct-mercado-col .ct-section-heading-title { margin-bottom: 6px; }

/* Meu time do coração: o mesmo cartão do Horóscopo, Placar e Loterias (sombra suave, sem borda cinza),
   mantendo a faixa laranja do topo */
.ct-meutime-escolha,
.ct-meutime-cartao { border: 0; border-radius: 14px; background: #fff; box-shadow: 0 1px 3px rgba(15, 23, 42, .06), 0 8px 24px rgba(15, 23, 42, .07); }
.ct-meutime-corpo { padding: 18px 20px 20px; }
.ct-meutime-contexto { padding: 12px 20px; }
.ct-meutime { margin-top: 8px; margin-bottom: 36px; }

/* Cartões da faixa e do Meu time: cantos iguais aos das imagens e sombra bem leve */
.ct-mercado-col,
.ct-meutime-escolha,
.ct-meutime-cartao {
    border-radius: var(--ct-img-radius, 8px);
    box-shadow: 0 1px 2px rgba(15, 23, 42, .05);
    border: 1px solid #eceff3;
}

/* Opinião (capa): coluna mais recente em destaque e as anteriores em lista, na caixa editorial de borda fina */
.ct-opiniao { margin-top: 28px; }
.ct-opiniao .ct-editorial-box-titulo { position: relative; }
.ct-opiniao-todas { margin-left: auto; font-size: 12px; font-weight: 600; letter-spacing: 0; text-transform: none; color: #4a5260; text-decoration: none; }
.ct-opiniao-todas:hover { color: #17191d; text-decoration: underline; }
.ct-opiniao-destaque { display: block; }
.ct-opiniao-autor { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; margin-bottom: 14px; }
.ct-opiniao-avatar { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 50%; overflow: hidden; background: #eef1f5; color: #4a5260; font-weight: 800; font-size: 18px; flex: 0 0 auto; }
.ct-opiniao-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ct-opiniao-autor-txt { display: flex; flex-direction: column; gap: 2px; line-height: 1.2; }
.ct-opiniao-autor-txt strong { font-size: 13px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #17191d; }
.ct-opiniao-autor-txt small { font-size: 13px; color: #5b6472; }
.ct-opiniao-titulo { margin: 0 0 10px; font-family: var(--font-serif, Georgia, serif); font-size: 30px; font-weight: 800; line-height: 1.12; letter-spacing: -.01em; }
.ct-opiniao-titulo a { color: #17191d; text-decoration: none; }
.ct-opiniao-titulo a:hover { color: #4a5260; }
.ct-opiniao-resumo { margin: 0 0 12px; font-size: 16px; line-height: 1.5; color: #334155; max-width: 70ch; }
.ct-opiniao-ler { font-size: 13.5px; font-weight: 700; color: #17191d; text-decoration: none; }
.ct-opiniao-ler:hover { text-decoration: underline; }
.ct-opiniao-ler i { font-size: 11px; margin-left: 4px; }
.ct-opiniao-anteriores { margin-top: 22px; padding-top: 16px; border-top: 1px solid #e2e8f0; }
.ct-opiniao-rotulo { margin: 0 0 6px; font-size: 11.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #64748b; }
.ct-opiniao-anteriores ul { list-style: none; margin: 0; padding: 0; }
.ct-opiniao-anteriores li + li { border-top: 1px solid #eef1f5; }
.ct-opiniao-anteriores a { display: grid; grid-template-columns: 200px minmax(0, 1fr) auto; gap: 14px; align-items: baseline; padding: 10px 0; text-decoration: none; color: inherit; }
.ct-opiniao-ant-autor { font-size: 12px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: #5b6472; }
.ct-opiniao-ant-titulo { font-family: var(--font-serif, Georgia, serif); font-size: 17px; font-weight: 700; line-height: 1.25; color: #17191d; }
.ct-opiniao-anteriores a:hover .ct-opiniao-ant-titulo { color: #4a5260; text-decoration: underline; }
.ct-opiniao-anteriores time { font-size: 12px; color: #8b93a0; white-space: nowrap; }
.ct-opiniao-aviso { margin: 16px 0 0; font-size: 12px; color: #8b93a0; }
@media (max-width: 700px) {
    .ct-opiniao-titulo { font-size: 24px; }
    .ct-opiniao-anteriores a { grid-template-columns: 1fr; gap: 2px; }
}

/* Padrão das imagens grandes no celular: proporção 16:8 e cantos de 12px (manchete e imagem do Em foco) */
:root { --ct-img-grande-mobile-ratio: 16 / 8; --ct-img-grande-mobile-raio: 12px; }
@media (max-width: 768px) {
    .cx-cob-img { border-radius: var(--ct-img-grande-mobile-raio); overflow: hidden; }
    .cx-cob-img img { aspect-ratio: var(--ct-img-grande-mobile-ratio); height: auto; object-fit: cover; border-radius: var(--ct-img-grande-mobile-raio); }
}

/* Celular: miniaturas das listas (Últimas Notícias e Mais notícias) em 140 × 112 px, no lugar do quadrado de 90 px */
@media (max-width: 768px) {
    :root { --ct-mini-mobile-w: 140px; --ct-mini-mobile-h: 112px; }
    .ct-hero-side-col .ct-side-feed-item .ct-side-feed-thumb,
    .cx-mais-coluna .ct-side-feed-thumb {
        width: var(--ct-mini-mobile-w);
        height: var(--ct-mini-mobile-h);
        flex: 0 0 var(--ct-mini-mobile-w);
        aspect-ratio: 140 / 112;
    }
    .ct-hero-side-col .ct-side-feed-item .ct-side-feed-thumb img,
    .cx-mais-coluna .ct-side-feed-thumb img { width: 100%; height: 100%; object-fit: cover; }
}

/* Celular: miniaturas dos destaques sob a manchete também em 140 × 112 px */
@media (max-width: 768px) {
    .ct-hero-showcase .ct-hero-sub-img-wrap {
        width: var(--ct-mini-mobile-w, 140px);
        min-width: var(--ct-mini-mobile-w, 140px);
        height: var(--ct-mini-mobile-h, 112px);
        flex: 0 0 var(--ct-mini-mobile-w, 140px);
        aspect-ratio: 140 / 112;
    }
    .ct-hero-showcase .ct-hero-sub-img-wrap img { width: 100%; height: 100%; object-fit: cover; }
}

/* Celular: cards do Esportes com o padrão das imagens grandes (16:8, cantos de 12px) */
@media (max-width: 768px) {
    .cx-esp-img { border-radius: var(--ct-img-grande-mobile-raio, 12px); overflow: hidden; }
    .cx-esp-img img { aspect-ratio: var(--ct-img-grande-mobile-ratio, 16 / 8); width: 100%; height: auto; object-fit: cover; border-radius: var(--ct-img-grande-mobile-raio, 12px); }
}

/* Celular: foto dos cards do Guia Comercial com o padrão das imagens grandes (16:8, cantos de 12px) */
@media (max-width: 768px) {
    .ct-guia-card-premium-modern .cgc-thumb-box { aspect-ratio: var(--ct-img-grande-mobile-ratio, 16 / 8); border-radius: var(--ct-img-grande-mobile-raio, 12px); min-height: 0; }
    .ct-guia-card-premium-modern .cgc-thumb-link { position: absolute; inset: 0; height: auto; }
    .ct-guia-card-premium-modern .cgc-thumb-link { border-radius: var(--ct-img-grande-mobile-raio, 12px); }
    .ct-guia-card-premium-modern .cgc-thumb-box img { width: 100%; height: 100%; object-fit: cover; }
}

/* Desktop: imagens retangulares (sem texto por cima) também em 16:8.
   Cards de destaque sob a manchete, destaques das editorias, Esportes, Em foco e Guia Comercial. */
@media (min-width: 769px) {
    .ct-hero-showcase .ct-hero-sub-img-wrap,
    .ct-capa-cats-foto,
    .cx-esp-img,
    .cx-cob-img,
    .cgc-thumb-box { aspect-ratio: var(--ct-img-grande-mobile-ratio, 16 / 8); }
    .ct-hero-showcase .ct-hero-sub-img-wrap img,
    .ct-capa-cats-foto img,
    .cx-esp-img img,
    .cx-cob-img img,
    .cgc-thumb-box img { width: 100%; height: 100%; object-fit: cover; }
    .cx-esp-img, .cx-cob-img, .cgc-thumb-box { min-height: 0; }
    .cx-esp-img img, .cx-cob-img img { aspect-ratio: auto; }
    .ct-guia-card-premium-modern .cgc-thumb-link { position: absolute; inset: 0; height: auto; }
}

/* Desktop: miniaturas das listas (Últimas Notícias e Mais notícias) em 130 × 100 px, no lugar do quadrado de 90 px */
@media (min-width: 769px) {
    :root { --ct-mini-desktop-w: 130px; --ct-mini-desktop-h: 100px; }
    .ct-hero-side-col .ct-side-feed-item .ct-side-feed-thumb,
    .cx-mais-coluna .ct-side-feed-thumb {
        width: var(--ct-mini-desktop-w);
        height: var(--ct-mini-desktop-h);
        flex: 0 0 var(--ct-mini-desktop-w);
        aspect-ratio: 130 / 100;
    }
    .ct-hero-side-col .ct-side-feed-item .ct-side-feed-thumb img,
    .cx-mais-coluna .ct-side-feed-thumb img { width: 100%; height: 100%; object-fit: cover; }
}

/* Celular, Em foco: as matérias da cobertura viram lista (miniatura 140 × 112 à esquerda, título à direita),
   o padrão das miniaturas; a imagem principal segue o padrão das imagens grandes (16:8, cantos de 12px). */
@media (max-width: 768px) {
    .cx-cob-destaques { grid-template-columns: 1fr; gap: 0; margin-top: 18px; }
    .cx-cob-destaques a { display: flex; align-items: flex-start; gap: 14px; padding: 12px 0; border-top: 1px solid #e8ebf0; }
    .cx-cob-destaques a:first-child { border-top: 0; padding-top: 0; }
    .cx-cob-destaques .cx-cob-thumb { flex: 0 0 var(--ct-mini-mobile-w, 140px); width: var(--ct-mini-mobile-w, 140px); height: var(--ct-mini-mobile-h, 112px); border-radius: var(--ct-img-radius, 8px); }
    .cx-cob-destaques .cx-cob-thumb img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; }
    .cx-cob-destaques .cx-cob-dest-titulo { margin-top: 0; }
}

/* Em foco: as matérias da cobertura também levam o chapéu, como a principal */
.cx-cob-dest-texto { display: block; min-width: 0; margin-top: 8px; }
.cx-cob-dest-texto .cx-cob-dest-titulo { margin-top: 0; }
@media (max-width: 768px) { .cx-cob-dest-texto { margin-top: 0; flex: 1 1 auto; } }

/* Em foco em duas fileiras: em cima a imagem e o texto da principal, na mesma altura (texto centralizado na vertical);
   embaixo as matérias da cobertura em colunas, na largura toda, com foto 16:8 e o chapéu. No celular seguem em lista. */
.cx-cob-lead { align-items: stretch; }
.cx-cob-texto { display: flex; flex-direction: column; justify-content: center; }
.cx-cob-lead .cx-cob-img { align-self: start; }
@media (min-width: 769px) {
    .cx-cobertura > .cx-cob-destaques { margin-top: 28px; padding-top: 24px; border-top: 1px solid #e2e8f0; gap: 28px; }
    .cx-cobertura > .cx-cob-destaques a { display: block; }
    .cx-cobertura > .cx-cob-destaques .cx-cob-thumb { display: block; width: 100%; height: auto; aspect-ratio: var(--ct-img-grande-mobile-ratio, 16 / 8); border-radius: var(--ct-img-radius, 8px); }
    .cx-cobertura > .cx-cob-destaques .cx-cob-thumb img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; }
    .cx-cobertura > .cx-cob-destaques .cx-cob-dest-titulo { -webkit-line-clamp: 3; font-size: 18px; }
}
@media (max-width: 768px) {
    .cx-cobertura > .cx-cob-destaques { margin-top: 20px; }
}

/* Em foco: uma fileira com até 5 matérias da cobertura (as 5 colunas da capa).
   No tablet 3 colunas (mostra as 3 primeiras); no celular lista com as 4 primeiras. */
@media (min-width: 769px) and (max-width: 1100px) {
    .cx-cobertura > .cx-cob-destaques { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .cx-cobertura > .cx-cob-destaques a:nth-child(n+4) { display: none; }
}
@media (min-width: 1101px) {
    .cx-cobertura > .cx-cob-destaques { gap: 22px; }
    .cx-cobertura > .cx-cob-destaques .cx-cob-dest-titulo { font-size: 17px; }
}
@media (max-width: 768px) { .cx-cobertura > .cx-cob-destaques a:nth-child(n+5) { display: none; } }

/* Opinião no mesmo padrão do Horóscopo, Placar e Loterias: cartão com o contorno das imagens, sombra leve e título de 22px com a barra colorida */
.ct-opiniao.ct-cartao-faixa { background: #fff; border: 1px solid #eceff3; border-radius: var(--ct-img-radius, 8px); box-shadow: 0 1px 2px rgba(15, 23, 42, .05); padding: 18px 20px; margin-bottom: 20px; }
.ct-opiniao .ct-section-heading { display: flex; align-items: center; gap: 10px; margin: 0 0 16px; padding: 0; border: 0; }
.ct-opiniao .ct-section-heading::after { content: ""; display: block; flex: 1; height: 1px; background: #e2e8f0; order: 1; }
.ct-opiniao .ct-section-heading-title { font-size: 22px; font-weight: 700; letter-spacing: -.04em; color: #17191d; margin-bottom: 6px; }
.ct-opiniao .ct-opiniao-todas { order: 2; margin-left: 0; white-space: nowrap; }
