/* ==========================================================================
   Deus Me Dibre v2 — acabamento
   Carrega DEPOIS do CSS do tema. Não move nada de lugar: mexe em tipografia,
   espaçamento, superfície e hierarquia.
   Estética de card copiada do QG Minério: fundo de página cinza claro, card
   branco com canto arredondado, sombra discreta e nenhuma borda.
   ========================================================================== */

:root {
  --dmd-azul:        #002e95;
  --dmd-preto:       #16202a;  /* fora de uso: todo texto do site usa a neutra (30/jul) */
  --dmd-neutra:      #344b57;   /* cor de texto do projeto */
  --dmd-cinza:       #6b7785;
  --dmd-cinza-claro: #9aa4b0;

  /* Superfície (valores do QG Minério) */
  --dmd-papel:       #f4f4f6;  /* fundo da página */
  --dmd-card:        #ffffff;  /* fundo do card */
  --dmd-linha:       #eae9ef;
  --dmd-linha-forte: #d9d7e2;
  --dmd-raio:        12px;
  --dmd-raio-menor:  8px;
  --dmd-sombra:      0 4px 16px rgba(24, 16, 44, .05);
  --dmd-sombra-alta: 0 8px 22px rgba(24, 16, 44, .09);

  --dmd-ritmo: 40px;
}

@media screen and (min-width: 992px) {
  :root { --dmd-ritmo: 56px; }
}

/* --------------------------------------------------------------------------
   Fontes
   Título: serifada de leitura, no espírito de jornal moderno.
   Texto e etiquetas: grotesca neutra, boa em corpo pequeno.
   As duas são variáveis: um arquivo cobre a faixa de peso inteira.
   -------------------------------------------------------------------------- */

@font-face {
  font-family: "DMD Serif";
  src: url("../fonts/SourceSerif4-latin.woff2") format("woff2");
  font-weight: 200 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
                 U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
                 U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "DMD Serif";
  src: url("../fonts/SourceSerif4-latin-ext.woff2") format("woff2");
  font-weight: 200 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304,
                 U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB,
                 U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "DMD Serif";
  src: url("../fonts/SourceSerif4-italico-latin.woff2") format("woff2");
  font-weight: 200 900;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "DMD Sans";
  src: url("../fonts/PlusJakartaSans-latin.woff2") format("woff2");
  font-weight: 200 800;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
                 U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
                 U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "DMD Sans";
  src: url("../fonts/PlusJakartaSans-latin-ext.woff2") format("woff2");
  font-weight: 200 800;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304,
                 U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB,
                 U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "DMD Sans";
  src: url("../fonts/PlusJakartaSans-italico-latin.woff2") format("woff2");
  font-weight: 200 800;
  font-style: italic;
  font-display: swap;
}

/* Segunda serifada do projeto. Assina os títulos de SEÇÃO (Últimas Partidas,
   Cruzeiro, Atlético, Brasileirão) e também as citações, em itálico.
   A primeira serifada continua nos títulos de notícia. */
@font-face {
  font-family: "DMD Serif Secao";
  src: url("../fonts/Lora-latin.woff2") format("woff2");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
                 U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
                 U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "DMD Serif Secao";
  src: url("../fonts/Lora-latin-ext.woff2") format("woff2");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304,
                 U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB,
                 U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "DMD Serif Secao";
  src: url("../fonts/Lora-italico-latin.woff2") format("woff2");
  font-weight: 400 700;
  font-style: italic;
  font-display: swap;
}

/* Troca global: onde o tema pedia Roboto Condensed, entra a serifada; onde pedia
   PT Sans, entra a grotesca. */
body,
input, textarea, select, button,
.noticias-home-item-chapeu,
.noticia-card-chapeu,
.eyebrow,
.advert-label,
.image-chapeu,
.noticia-chapeu,
.card-meta,
.noticia-date,
.image-credit,
.image-subtitle {
  font-family: "DMD Sans", ui-sans-serif, system-ui, sans-serif !important;
}

/* Títulos de SEÇÃO: a segunda serifada, no tom neutro. */
.partidas h2,
.partidas-title,
.noticias-home-lista h2,
.titulo-campeonato,
.noticias-relacionadas-title,
.leia-mais-title,
.listagem-title {
  font-family: "DMD Serif Secao", ui-serif, Georgia, serif !important;
}

h1, h2, h3, h4, h5, h6,
.noticias-home-item-title,
.noticia-card-title,
.noticias-relacionadas-item-title,
.noticia-title,
.listagem-title,
.leia-mais a,
.leia-mais-title,
.titulo-campeonato,
.destaque-home-grande .image-subtitle,
.destaque-home-pequeno .image-subtitle {
  font-family: "DMD Serif", ui-serif, Georgia, serif !important;
}

/* Números e siglas seguem na grotesca: serifada em tabela atrapalha a leitura. */
table.tabela-campeonato,
table.tabela-campeonato th,
table.tabela-campeonato td,
.partidas,
.partidas * {
  font-family: "DMD Sans", ui-sans-serif, system-ui, sans-serif !important;
}

/* ==========================================================================
   1. FUNDO DA PÁGINA
   ========================================================================== */

body { background: var(--dmd-papel); }

/* Header e rodapé continuam sobre fundo próprio, para não sumirem no cinza. */
header { background: var(--dmd-card); }

/* ==========================================================================
   2. HIERARQUIA TIPOGRÁFICA
   O chapéu do destaque principal estava em 22px, do tamanho do TÍTULO dos
   destaques secundários. Metadado competindo com manchete.
   ========================================================================== */

.destaque-home-grande .image-chapeu {
  font-size: .8rem !important;
  line-height: 1 !important;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
  opacity: .92;
  margin-bottom: 10px;
}

.destaque-home-pequeno .image-chapeu {
  font-size: .7rem !important;
  line-height: 1 !important;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: .92;
  margin-bottom: 6px;
}

.destaque-home-grande .image-subtitle {
  font-size: 2.9rem !important;
  line-height: 1.06 !important;
  letter-spacing: -.015em;
}

.destaque-home-pequeno .image-subtitle {
  font-size: 1.2rem !important;
  line-height: 1.15 !important;
  letter-spacing: -.005em;
}

@media screen and (max-width: 991px) {
  .destaque-home-grande .image-subtitle { font-size: 2rem !important; }
  .destaque-home-pequeno .image-subtitle { font-size: 1.1rem !important; }
}

.titulo-campeonato {
  font-size: 1.05rem !important;
  letter-spacing: .06em;
  color: var(--dmd-cinza) !important;
}

/* ==========================================================================
   3. RITMO VERTICAL
   Os blocos são irmãos diretos de main.site-content e vinham todos com margem
   zero: uns colados, outros com quase 250px de vão.
   ========================================================================== */

.home main.site-content > article.destaque-home,
.home main.site-content > .container {
  margin-bottom: var(--dmd-ritmo);
}

.home main.site-content > .container:last-of-type { margin-bottom: 0; }

/* ==========================================================================
   4. HERO
   Canto arredondado, sem borda, sombra discreta.
   ========================================================================== */

.destaque-home-grande,
.destaque-home-pequeno {
  display: block;
  border: 0 !important;
  border-radius: var(--dmd-raio);
  overflow: hidden;
  box-shadow: var(--dmd-sombra);
  transition: box-shadow .2s ease, transform .2s ease;
}

/* No celular as fotos do hero vão de borda a borda da tela: canto arredondado ali
   vira recorte torto contra a lateral. Abaixo do ponto em que o respiro lateral
   volta (992px), os destaques ficam retos — card, foto e a moldura do legado (4px). */
@media screen and (max-width: 991.98px) {
  .destaque-home-grande,
  .destaque-home-pequeno,
  .destaque-home figure picture,
  .destaque-home figure picture img {
    border-radius: 0 !important;
  }
}

.destaque-home-grande:hover,
.destaque-home-pequeno:hover {
  box-shadow: var(--dmd-sombra-alta);
}

/* O height: 100% existe para o destaque grande fechar na mesma altura da coluna dos
   menores, e isso só acontece no desktop, quando os dois ficam lado a lado.
   Empilhado, a coluna não tem altura de referência e a imagem colapsa, o que
   embaralhava o hero no celular. Por isso a regra passa a valer só a partir de
   1200px; abaixo disso o hero usa proporção fixa, como qualquer card. */
.destaque-home-grande figure,
.destaque-home-grande picture,
.destaque-home-pequeno figure,
.destaque-home-pequeno picture {
  display: block;
  width: 100%;
  margin: 0;
}

.destaque-home-grande picture img,
.destaque-home-pequeno picture img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  object-position: center;
}

/* No desktop os destaques têm a altura ditada pela linha do grid, e a foto precisa
   preencher essa altura. Com proporção fixa ela ficava mais baixa que o card e
   sobrava uma faixa vazia embaixo (43px nos menores). */
@media screen and (min-width: 1200px) {

  /* Hero mais alto. O tema fixava 250px nos menores e 516px no grande, que é a soma
     de dois menores mais o espaço entre eles. Mantida essa relação: 300 × 2 + 16. */
  .destaque-home-pequeno {
    height: 300px !important;
    max-height: 300px !important;
  }

  .destaque-home-grande figure { max-height: 616px !important; }

  .destaque-home-grande,
  .destaque-home-pequeno { height: 100%; }

  .destaque-home-grande figure,
  .destaque-home-grande picture,
  .destaque-home-pequeno figure,
  .destaque-home-pequeno picture { height: 100%; }

  .destaque-home-grande picture img,
  .destaque-home-pequeno picture img {
    height: 100%;
    aspect-ratio: auto;
  }
}

/* O texto do destaque é sobreposto à foto (figcaption posicionado). Ancorado na
   figure, ele não escapa do card quando a coluna muda de largura. */
.destaque-home-grande figure,
.destaque-home-pequeno figure { position: relative; }

.destaque-home-grande figcaption,
.destaque-home-pequeno figcaption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  max-width: 100%;
  box-sizing: border-box;
}

/* No celular o hero tem menos largura, então o texto precisa de mais fôlego. */
@media screen and (max-width: 767px) {
  .destaque-home-grande figcaption,
  .destaque-home-pequeno figcaption { padding: 14px 14px 12px !important; }

  .destaque-home-grande .image-subtitle { font-size: 1.55rem !important; }
  .destaque-home-pequeno .image-subtitle { font-size: 1.1rem !important; }

  /* Espaço entre os destaques empilhados, que antes se encostavam. */
  .destaque-home .row > [class*="col-"] { margin-bottom: 12px; }
  .destaque-home .row > [class*="col-"]:last-child { margin-bottom: 0; }
}

/* ==========================================================================
   5. SUBDESTAQUES (a grade ao lado da tabela)
   Viram card: foto colada no topo com os cantos de baixo arredondados, e o
   texto logo abaixo, com o chapéu perto do título.
   ========================================================================== */

.noticias-home > .col { margin-bottom: 24px; }

.noticias-home > .col > a {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--dmd-card);
  border: 0;
  border-radius: var(--dmd-raio);
  overflow: hidden;
  box-shadow: var(--dmd-sombra);
  transition: box-shadow .2s ease, transform .2s ease;
}

.noticias-home > .col > a:hover {
  box-shadow: var(--dmd-sombra-alta);
  transform: translateY(-2px);
}

.noticias-home > .col > a { position: relative; }

.noticias-home > .col > a > figure {
  margin: 0;
  overflow: hidden;
}

.noticias-home > .col > a > figure picture img {
  aspect-ratio: 3 / 2;
  width: 100%;
  object-fit: cover;
  object-position: center;
}

/* A categoria sai de cima do título e vira etiqueta no canto da foto.
   Uma cor só para qualquer editoria: a personalização por clube (azul do Cruzeiro,
   preto do Atlético) saiu do site inteiro por decisão do Douglas, 30/jul. */
.noticias-home .noticias-home-item-chapeu {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 2;
  margin: 0 !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 24px;
  padding: 0 10px;
  border-radius: 5px;
  background: var(--dmd-neutra);
  color: #fff !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  letter-spacing: .06em;
  text-transform: uppercase;
  line-height: 1 !important;
}

.noticias-home .noticias-home-item .noticias-home-item-chapeu { color: #fff !important; }

.noticias-home .noticias-home-item {
  padding: 14px 16px 18px;
  flex: 1;
}

/* Chapéu bem perto do título, como o Douglas pediu. */
.noticias-home-item-chapeu {
  font-size: .7rem !important;
  line-height: 1 !important;
  letter-spacing: .08em;
  color: var(--dmd-cinza) !important;
  margin-bottom: 4px !important;
}

.noticias-home-item-title {
  font-size: 1.1rem !important;
  line-height: 1.24 !important;
  letter-spacing: -.004em;
  text-wrap: pretty;
  transition: color .16s ease;
}

/* ==========================================================================
   6. PARTIDAS
   Sem card em volta do bloco: cada JOGO é um card branco próprio. Com os dois
   blocos lado a lado, dá oito cards na mesma linha.
   ========================================================================== */

.partidas {
  background: transparent;
  border: 0 !important;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  height: 100%;
}

/* Título de seção: segunda serifada, negrito, no tom neutro. */
.partidas h2::after,
.partidas h2::before,
.partidas-title::after,
.partidas-title::before { display: none !important; content: none !important; }

.partidas h2,
.partidas-title {
  font-family: "DMD Serif Secao", ui-serif, Georgia, serif !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  letter-spacing: 0;
  text-transform: none;
  color: var(--dmd-neutra) !important;
  text-align: left !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  border: 0 !important;
}

/* O vão entre os dois blocos vinha do gutter de 2rem do grid do tema. */
.row:has(> .col > .partidas) { --bs-gutter-x: .75rem !important; }

.partidas-content {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  align-items: stretch;
  padding: 0 !important;   /* o tema deixava 0 15px, que roubava largura dos cards */
  margin: 0 !important;
}

@media screen and (max-width: 575px) {
  .partidas-content { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---- Cada jogo é um card branco ---- */

.partida {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  gap: 0;
  position: relative;
  height: 100%;        /* acompanha a linha da grade: os cards nunca ficam de alturas diferentes */
  min-height: 158px;   /* os oito cards fecham na mesma altura */
  padding: 12px 5px 36px !important;   /* o espaço de baixo é reservado para o estádio */
  margin: 0 !important;
  background: var(--dmd-card);
  border: 0 !important;
  border-radius: var(--dmd-raio-menor);
  box-shadow: var(--dmd-sombra);
  text-align: center;
  transition: box-shadow .18s ease, transform .18s ease;
}

.partida:hover {
  box-shadow: var(--dmd-sombra-alta);
  transform: translateY(-2px);
}

/* O tema desenha um risco de 1px depois do confronto (um ::after de conteúdo vazio) que
   só aparecia no celular, e no último card de cada bloco nem isso. Fora. */
.partida::after,
.partida::before {
  display: none !important;
  content: none !important;
}

/* Metadados bem discretos: quem manda no card é o confronto. */
.partida .campeonato {
  font-family: "DMD Sans", ui-sans-serif, system-ui, sans-serif !important;
  font-size: .52rem !important;
  font-weight: 700 !important;
  letter-spacing: .07em;
  line-height: 1.25;
  text-transform: uppercase;
  color: var(--dmd-cinza-claro) !important;
  margin-bottom: 2px;
}

.partida .horario {
  font-family: "DMD Sans", ui-sans-serif, system-ui, sans-serif !important;
  font-size: .58rem !important;
  color: var(--dmd-cinza-claro) !important;
  margin: 0 0 9px !important;
}

/* Times e placar no miolo. */
/* O placar acompanha o ESCUDO, não o conjunto escudo+sigla: por isso o
   alinhamento é pelo topo e o placar recebe a mesma altura do escudo. */
.partida .times {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  justify-content: center;
  gap: 2px;
  width: 100%;
  flex: 1;
  margin-bottom: 9px;
}

.partida .time {
  display: flex !important;
  flex-direction: column !important;
  align-items: center;
  gap: 5px;
  flex: 1 1 0;
  min-width: 0;
}

/* Escudo é o elemento visual do card: cresce. */
.partida .escudo {
  width: 100% !important;
  max-width: 52px;
  height: 35px !important;   /* caixa de altura fixa: escudo alto não empurra o card */
  flex-shrink: 1;
  display: flex !important;
  align-items: center;
  justify-content: center;
  order: 0 !important;
}

.partida .escudo img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;   /* o tema fixava 25px, e max-height vence height */
  object-fit: contain;
}

.partida .sigla {
  font-family: "DMD Sans", ui-sans-serif, system-ui, sans-serif !important;
  font-size: .66rem !important;
  font-weight: 700 !important;
  letter-spacing: .03em;
  color: var(--dmd-cinza) !important;
  line-height: 1;
  order: 0 !important;
}

/* Placar mantém o peso: é a informação que se procura no card. */
/* Placar sem caixa: assim ele ocupa só o texto e o escudo fica com o resto. */
.partida .placar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  flex-shrink: 0;
  align-self: flex-start;
  min-width: 0;
  /* Mesma caixa do escudo: assim o placar nasce na mesma altura em todos os cards, tanto
     no bloco com resultado (0 : 1) quanto no de jogos futuros (vs), que têm corpos
     diferentes e ficavam 3px fora de registro entre os blocos. */
  height: 35px;
  padding: 0 3px;
  border-radius: 0;
  background: transparent;
  font-family: "DMD Sans", ui-sans-serif, system-ui, sans-serif !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  font-variant-numeric: tabular-nums;
  color: var(--dmd-neutra) !important;
  line-height: 1;
}

/* O separador do placar. O "x" do plugin vira dois-pontos (marcado no PHP com a
   classe .placar-sep); o "vs" das partidas futuras continua escrito. */
.partida .placar em {
  font-style: normal;
  line-height: 1;
  font-size: .62rem !important;
  font-weight: 600 !important;
  color: var(--dmd-cinza-claro) !important;
  text-transform: uppercase;
}

.partida .placar em.placar-sep {
  font-size: .95rem !important;
  font-weight: 700 !important;
  position: relative;
  top: -1px;
}

/* Estádio fecha o card, ancorado no rodapé.

   Antes ele descia por margin-top: auto, e o auto disputava o espaço livre com o flex do
   bloco de confronto: em algumas larguras o rodapé de um card parava 41px acima do dos
   vizinhos, como se tivesse uma linha a mais no fim. Ancorado ao pé do card, a linha do
   estádio fica na mesma altura nos oito, em qualquer largura de tela. */
.partida .estadio {
  position: absolute;
  left: 5px;
  right: 5px;
  bottom: 10px;
  width: auto;
  margin: 0 !important;
  padding-top: 7px;
  /* Sem risco separando o placar do estádio: com o rodapé no mesmo lugar nos oito cards,
     a linha só aparecia colada ao placar em alguns e desaparecia no último de cada bloco. */
  border-top: 0;
  font-family: "DMD Sans", ui-sans-serif, system-ui, sans-serif !important;
  font-size: .58rem !important;
  line-height: 1.3;
  color: var(--dmd-cinza-claro) !important;
}

/* Cada metadado ocupa uma linha, e o que não cabe termina em reticências. Sem isso, um
   nome de estádio comprido quebrava em duas linhas nas telas médias e aquele card ficava
   mais alto que os vizinhos: era o terceiro jogo saindo do alinhamento com o bloco ao
   lado. O confronto é o que importa no card; o resto é apoio. */
.partida .campeonato,
.partida .estadio {
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media screen and (max-width: 1199px) {
  /* Nessa faixa a coluna aperta: um corpo menor faz o nome caber inteiro em vez de
     terminar cortado. */
  .partida .campeonato { font-size: .48rem !important; letter-spacing: .05em; }
  .partida .estadio { font-size: .53rem !important; }
}

/* Entre 768px e 1023px o Bootstrap põe os dois blocos lado a lado e cada card fica com
   80px de largura — "Brasileirão Série A" precisa de 88px e terminava cortado. Empilhando
   os blocos, cada card volta a ter uns 230px e os quatro seguem na mesma linha. */
@media screen and (max-width: 1023px) {
  .row:has(> .col > .partidas) > .col {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

@media screen and (max-width: 991px) {
  .partida .escudo { max-width: 41px; height: 32px !important; }
  .partida .placar { height: 40px; min-width: 46px; font-size: 1.05rem !important; padding: 0 6px; }
  .partida .placar em::before { font-size: 1rem; }
}

/* ==========================================================================
   7. TABELA DO CAMPEONATO
   Cada linha vira uma pílula própria, com respiro entre elas, e a coluna de
   pontos ganha um bloco à parte.

   O CSS do plugin (tabelas-campeonatos/style.css) pinta célula sim, célula não
   com `td:nth-of-type(odd)` e `!important`, e usa a SIGLA do time como classe
   da linha (.CRU, .CAM). Por isso os seletores daqui repetem a mesma estrutura:
   é o que faz a regra vencer sem precisar mexer no plugin.
   ========================================================================== */

.tabela {
  background: var(--dmd-card);
  border: 0;
  border-radius: var(--dmd-raio);
  box-shadow: var(--dmd-sombra);
  overflow: hidden;
  padding: 14px 12px 12px;
}

table.tabela-campeonato {
  width: 100%;
  border-collapse: separate !important;
  border-spacing: 0 6px !important;
  font-family: "Roboto Condensed", sans-serif !important;
  font-variant-numeric: tabular-nums;
  margin-bottom: 0;
}

/* ---- Cabeçalho ---- */

table.tabela-campeonato thead tr,
table.tabela-campeonato thead tr th {
  background-color: transparent !important;
  border: 0 !important;
  color: var(--dmd-cinza-claro) !important;
}

table.tabela-campeonato thead tr th {
  padding: 0 6px 6px !important;
  font-size: .68rem !important;
  font-weight: 700 !important;
  letter-spacing: .07em;
  text-transform: uppercase;
}

table.tabela-campeonato thead tr th:first-of-type {
  text-align: left;
  padding-left: 14px !important;
}

table.tabela-campeonato thead tr th:nth-of-type(2) { color: var(--dmd-neutra) !important; }

/* ---- Linha: pílula de uma cor só ---- */

table.tabela-campeonato tbody tr,
table.tabela-campeonato tbody tr.CAM,
table.tabela-campeonato tbody tr.CRU {
  background-color: transparent !important;
  border: 0 !important;
  border-bottom: 0 !important;
}

table.tabela-campeonato tbody tr td,
table.tabela-campeonato tbody tr td:nth-of-type(odd),
table.tabela-campeonato tbody tr td:first-of-type {
  background-color: #f2f3f6 !important;
  border: 0 !important;
  padding: 11px 6px !important;
  font-family: "Roboto Condensed", sans-serif !important;
  font-size: .88rem !important;
  font-weight: 400 !important;
  color: var(--dmd-neutra) !important;
  text-align: center;
  vertical-align: middle;
}

/* Pontas arredondadas formam a pílula. */
table.tabela-campeonato tbody tr td:first-of-type {
  position: relative;
  border-radius: 8px 0 0 8px;
  padding-left: 16px !important;
  width: 36px;
  font-size: .76rem !important;
  font-weight: 700 !important;
  color: var(--dmd-cinza) !important;
}

/* Traço reto de classificação. Antes era box-shadow inset, que acompanhava o canto
   arredondado e virava um risco em forma de C. */
table.tabela-campeonato tbody tr td:first-of-type::before {
  content: "";
  position: absolute;
  left: 7px;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 18px;
  border-radius: 2px;
  background: var(--dmd-faixa, transparent);
}

table.tabela-campeonato tbody tr td:last-of-type {
  border-radius: 0 8px 8px 0;
  padding-right: 12px !important;
  font-weight: 700 !important;
}

/* Sigla do clube. */
table.tabela-campeonato tbody tr td:nth-of-type(2) {
  text-align: left;
  font-weight: 700 !important;
  letter-spacing: .02em;
  border-right: 7px solid transparent !important;
  background-clip: padding-box;
}

table.tabela-campeonato tbody tr td:nth-of-type(2) strong { font-weight: 700 !important; }

/* ---- Coluna de pontos: bloco separado ---- */

table.tabela-campeonato tbody tr td:nth-of-type(3),
table.tabela-campeonato tbody tr.CRU td:nth-of-type(3),
table.tabela-campeonato tbody tr.CAM td:nth-of-type(3) {
  background-color: #e5e9f0 !important;
  border-radius: 0 8px 8px 0;
  border-right: 7px solid transparent !important;
  background-clip: padding-box;
  font-weight: 700 !important;
  font-size: 1rem !important;
  color: var(--dmd-neutra) !important;
  min-width: 44px;
}

/* ---- Colunas secundárias mais discretas ---- */

table.tabela-campeonato tbody tr td:nth-of-type(n+4) {
  color: #6b7785 !important;
  font-size: .82rem !important;
}

/* ---- Faixa de classificação: filete dentro da pílula ---- */

table.tabela-campeonato tbody tr.libertadores,
table.tabela-campeonato tbody tr.classificado,
table.tabela-campeonato tbody tr.acesso,
table.tabela-campeonato tbody tr.classificado-8 { --dmd-faixa: #00b44a; border-left: 0 !important; }

table.tabela-campeonato tbody tr.pre-libertadores,
table.tabela-campeonato tbody tr.classificado-2,
table.tabela-campeonato tbody tr.classificado-16 { --dmd-faixa: #1877f2; border-left: 0 !important; }

table.tabela-campeonato tbody tr.sul-americana { --dmd-faixa: #ffb400; border-left: 0 !important; }
table.tabela-campeonato tbody tr.rebaixamento  { --dmd-faixa: #f02d2d; border-left: 0 !important; }

/* ---- Os dois times da casa ----
   O realce continua (achar Cruzeiro e Atlético na tabela é a função), mas na cor
   neutra do projeto para os dois: o azul e o preto de clube saíram do site. */

table.tabela-campeonato tbody tr.CRU td,
table.tabela-campeonato tbody tr.CRU td:nth-of-type(odd),
table.tabela-campeonato tbody tr.CRU td:first-of-type,
table.tabela-campeonato tbody tr.CAM td,
table.tabela-campeonato tbody tr.CAM td:nth-of-type(odd),
table.tabela-campeonato tbody tr.CAM td:first-of-type {
  background-color: #e6eaed !important;
  color: var(--dmd-neutra) !important;
}

table.tabela-campeonato tbody tr.CRU td:nth-of-type(3),
table.tabela-campeonato tbody tr.CAM td:nth-of-type(3) {
  background-color: var(--dmd-neutra) !important;
  color: #fff !important;
}

table.tabela-campeonato tbody tr.CRU td:nth-of-type(2),
table.tabela-campeonato tbody tr.CAM td:nth-of-type(2) { color: var(--dmd-neutra) !important; }

table.tabela-campeonato tbody tr.CRU td:first-of-type,
table.tabela-campeonato tbody tr.CAM td:first-of-type { color: var(--dmd-cinza) !important; }

table.tabela-campeonato tbody tr.CRU td:nth-of-type(n+4),
table.tabela-campeonato tbody tr.CAM td:nth-of-type(n+4) { color: #55606d !important; }

/* ---- Aproveitamento (última coluna) ---- */

table.tabela-campeonato tbody tr td:last-of-type { color: var(--dmd-neutra) !important; }

/* ---- Legenda ---- */

.classificacao-legenda {
  font-size: .7rem;
  margin-top: 14px !important;
  padding-left: 2px !important;
}

.classificacao-legenda li { margin-bottom: 7px !important; color: var(--dmd-cinza); }
.classificacao-legenda span { border-radius: 3px; }
.classificacao-legenda .libertadores span,
.classificacao-legenda .classificado span,
.classificacao-legenda .acesso span,
.classificacao-legenda .classificado-8 span { background-color: #00b44a !important; }
.classificacao-legenda .pre-libertadores span,
.classificacao-legenda .classificado-2 span,
.classificacao-legenda .classificado-16 span { background-color: #1877f2 !important; }
.classificacao-legenda .sul-americana span { background-color: #ffb400 !important; }
.classificacao-legenda .rebaixamento span  { background-color: #f02d2d !important; }

/* Em tela estreita a tabela rola sozinha, sem empurrar a página. */
@media screen and (max-width: 575px) {
  .tabela { overflow-x: auto; }
  table.tabela-campeonato { min-width: 420px; }
}

/* ==========================================================================
   8. COLUNAS ATLÉTICO / CRUZEIRO
   Sem a linha acima do título. Cada notícia vira card horizontal.
   ========================================================================== */

.noticias-home-lista h2,
.noticias-home-lista h2.atletico,
.noticias-home-lista h2.cruzeiro {
  font-size: 1.35rem !important;
  line-height: 1 !important;
  letter-spacing: .02em;
  text-transform: uppercase;
  /* Rótulo de seção no tom neutro, como no resto do site: sem azul nem preto de clube. */
  color: var(--dmd-neutra) !important;
  border-top: 0 !important;      /* a linha de cima sai */
  border-bottom: 3px solid currentColor;
  padding: 0 0 12px !important;
  margin-bottom: 18px;
}

.noticias-home-lista > .col { margin-bottom: 14px; }

/* Card horizontal: foto à esquerda, texto à direita. */
.noticias-home-lista > .col > a {
  display: grid;
  grid-template-columns: 132px 1fr;
  gap: 14px;
  align-items: stretch;
  background: var(--dmd-card);
  border: 0;
  border-radius: var(--dmd-raio);
  overflow: hidden;
  box-shadow: var(--dmd-sombra);
  transition: box-shadow .2s ease, transform .2s ease;
}

.noticias-home-lista > .col > a:hover {
  box-shadow: var(--dmd-sombra-alta);
  transform: translateY(-2px);
}

.noticias-home-lista > .col > a > figure {
  margin: 0;
  height: 100%;
}

.noticias-home-lista > .col > a > figure,
.noticias-home-lista > .col > a > figure picture {
  height: 100%;
  width: 100%;
  display: block;
}

.noticias-home-lista > .col > a > figure picture img {
  height: 100%;
  width: 100%;
  min-height: 96px;
  object-fit: cover;
  object-position: center;
  aspect-ratio: auto;
}

/* Todos os cards da coluna com a MESMA altura. O min-height sozinho não resolvia:
   título curto deixava o card mais baixo que os vizinhos. */
.noticias-home-lista > .col > a { height: 124px; }

.noticias-home-lista .noticias-home-item-title {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.noticias-home-lista .noticias-home-item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 12px 16px 12px 0;
  border-bottom: 0 !important;   /* a linha no fim do título sai */
  margin-bottom: 0 !important;
}

/* Mesma etiqueta dos subdestaques, mas no lugar onde já estava. */
.noticias-home-lista .noticias-home-item-chapeu {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;      /* centra o texto dentro da caixa */
  justify-content: center;
  margin: 0 0 9px !important;
  padding: 0 10px;
  height: 21px;             /* altura fixa: o padding sozinho descentralizava */
  border-radius: 5px;
  background: var(--dmd-neutra);
  color: #fff !important;
  font-size: .64rem !important;
  font-weight: 700 !important;
  letter-spacing: .06em;
  text-transform: uppercase;
  line-height: 1 !important;
}

.noticias-home-lista .noticias-home-item .noticias-home-item-chapeu { color: #fff !important; }

.noticias-home-lista .noticias-home-item-title {
  font-size: 1rem !important;
  line-height: 1.24 !important;
}

@media screen and (max-width: 575px) {
  .noticias-home-lista > .col > a { grid-template-columns: 104px 1fr; gap: 12px; }
}

/* ==========================================================================
   9. LISTAGEM DE CATEGORIA E NOTÍCIA
   ========================================================================== */

.listagem-item .noticia-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--dmd-card);
  border: 0;
  border-radius: var(--dmd-raio);
  overflow: hidden;
  box-shadow: var(--dmd-sombra);
  transition: box-shadow .2s ease, transform .2s ease;
}

.listagem-item .noticia-card:hover {
  box-shadow: var(--dmd-sombra-alta);
  transform: translateY(-2px);
}

.listagem-item .noticia-card figure { margin: 0; }

.listagem-item .noticia-card figure picture img,
.noticias-relacionadas-img picture img {
  aspect-ratio: 3 / 2;
  width: 100%;
  object-fit: cover;
  object-position: center;
}

.listagem-item .noticia-card-item { padding: 14px 16px 18px; flex: 1; }

.listagem-item .noticia-card-chapeu {
  font-size: .7rem;
  letter-spacing: .08em;
  color: var(--dmd-cinza);
  margin-bottom: 4px;
}

.listagem-item .noticia-card-title {
  font-size: 1.1rem;
  line-height: 1.24;
  text-wrap: pretty;
}

.listagem-title {
  font-family: "Roboto Condensed", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: .015em;
  margin: 28px 0 24px;
  padding-bottom: 12px;
  /* Rótulo de seção no tom neutro do projeto, texto e linha. */
  color: var(--dmd-neutra) !important;
  border-bottom: 3px solid var(--dmd-neutra) !important;
}

.noticia-image-featured figure picture img {
  aspect-ratio: 3 / 2;
  border-radius: var(--dmd-raio);
}

/* O conteúdo da matéria ocupa a largura inteira da coluna: nada de medida de linha
   encurtada. Vale para texto, citação, lista, título, foto, vídeo e tabela. */
.noticia-conteudo > *,
.noticia-conteudo figure,
.noticia-conteudo figure > *,
.noticia-conteudo .wp-block-embed,
.noticia-conteudo .wp-block-embed__wrapper {
  max-width: 100% !important;
  width: auto;
}

/* O figure do editor vem com display de tabela quando está centralizado, e aí encolhe até
   o tamanho da foto. Como bloco, ele acompanha a coluna. */
.noticia-conteudo > figure {
  display: block;
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}

.noticia-conteudo > img,
.noticia-conteudo > figure img,
.noticia-conteudo > p > img,
.noticia-conteudo > table,
.noticia-conteudo video {
  width: 100%;
  height: auto;
  /* Teto de altura para foto em pé: em largura cheia, uma imagem 579x1024 passaria de
     1.900px de altura e engoliria a matéria. O object-fit centraliza sem distorcer, e
     foto deitada (a maioria) não chega nesse teto, então ocupa a coluna inteira. */
  max-height: 780px;
  object-fit: contain;
}

/* Embed de vídeo: largura cheia e proporção mantida. O aspect-ratio fica restrito aos
   players conhecidos porque embed de rede social tem altura própria, definida pelo script
   deles, e forçar 16/9 cortaria o conteúdo. */
.noticia-conteudo iframe { max-width: 100%; }

.noticia-conteudo iframe[src*="youtube"],
.noticia-conteudo iframe[src*="youtu.be"],
.noticia-conteudo iframe[src*="vimeo"],
.noticia-conteudo iframe[src*="globo"] {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
}

.noticia-chapeu {
  font-size: .72rem !important;
  letter-spacing: .09em;
  color: var(--dmd-cinza) !important;
}

.noticia-title { letter-spacing: -.018em; }

/* Leia mais dentro da matéria */
.leia-mais {
  margin: 34px 0;
  padding: 18px 20px;
  background: var(--dmd-card);
  border-radius: var(--dmd-raio);
  box-shadow: var(--dmd-sombra);
}

.leia-mais-title {
  display: block;
  font-family: "Roboto Condensed", sans-serif;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--dmd-neutra);
  margin-bottom: 12px;
}

.leia-mais ul { margin: 0; padding: 0; list-style: none; }

.leia-mais li { position: relative; padding-left: 18px; margin-bottom: 10px; }
.leia-mais li:last-child { margin-bottom: 0; }

.leia-mais li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .72em;
  width: 9px;
  height: 1px;
  background: var(--dmd-neutra);
}

.leia-mais a {
  font-family: "Roboto Condensed", sans-serif;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  line-height: 1.24;
  color: var(--dmd-neutra) !important;
  text-decoration: none;
}

.leia-mais a:hover { color: var(--dmd-azul) !important; text-decoration: underline; }

.noticias-relacionadas { margin-top: var(--dmd-ritmo); }

/* Rótulo de seção usa a cor neutra do projeto, no texto e na linha. Azul e preto ficam
   reservados para o que é do clube: manchete da matéria, cards da editoria e as colunas
   de Atlético e Cruzeiro na home. */
.noticias-relacionadas-title {
  color: var(--dmd-neutra) !important;
  border-bottom: 3px solid var(--dmd-neutra) !important;
  border-top: 0;
  padding: 0 0 12px !important;
  font-size: 1.35rem !important;
  line-height: 1 !important;
  text-transform: uppercase;
  letter-spacing: .02em;
}

.noticias-relacionadas-item {
  display: block;
  background: var(--dmd-card);
  border-radius: var(--dmd-raio);
  overflow: hidden;
  box-shadow: var(--dmd-sombra);
  transition: box-shadow .2s ease, transform .2s ease;
}

.noticias-relacionadas-item:hover {
  box-shadow: var(--dmd-sombra-alta);
  transform: translateY(-2px);
}

.noticias-relacionadas-item-title {
  /* Respiro de baixo por MARGEM, não por padding: o -webkit-line-clamp desenha as linhas
     que sobraram dentro da área de padding do próprio elemento, e aparecia uma quarta
     linha cortada logo abaixo das reticências. */
  padding: 12px 14px 0;
  margin: 0 0 16px !important;
  font-size: 1.05rem !important;
}

/* ==========================================================================
   10. HEADER
   ========================================================================== */

header .menu-item > a {
  position: relative;
  padding-bottom: 5px;
  letter-spacing: -.005em;
}

header .menu-item > a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 2px;
  background: currentColor;
  transition: width .2s ease;
}

header .menu-item > a:hover::after,
header .menu-item.current-menu-item > a::after { width: 100%; }

/* ==========================================================================
   11. ESPAÇOS DE PUBLICIDADE
   ========================================================================== */

.advert {
  display: block;
  margin: var(--dmd-ritmo) auto;
  padding: 0 12px;
  max-width: 1320px;
  text-align: center;
}

.advert-label {
  display: block;
  font-size: 10px;
  line-height: 1;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--dmd-cinza-claro);
  margin-bottom: 7px;
}

.ad-frame {
  display: flex;
  align-items: center;
  justify-content: center;
  /* Tracejado diagonal: deixa claro que o espaço é reservado, sem competir com o
     branco dos cards. */
  background-color: #f0f1f4;
  background-image: repeating-linear-gradient(
    45deg,
    rgba(24, 16, 44, .028) 0,
    rgba(24, 16, 44, .028) 1.5px,
    transparent 1.5px,
    transparent 5px
  );
  border-radius: 0;
  box-shadow: none;
  padding: 14px 0;          /* respiro em cima e embaixo do criativo */
  min-height: var(--ad-h-mobile, 100px);
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .ad-frame { min-height: var(--ad-h-desktop, 90px); }
}

.advert .adsbygoogle { width: 100%; }

/* O criativo nunca estoura a caixa, mesmo quando a peça é mais larga que a tela
   (caso de um banner de desktop exibido no celular por falta da versão mobile).

   O teto de ALTURA é o que define o tamanho de exibição: as artes são enviadas no dobro
   da medida (970x90 vira 1940x180) para ficarem nítidas em tela retina, e sem esse teto
   o max-width esticava o banner até a largura do container — um 970x90 aparecia com
   1296x120. Preso pela altura reservada do espaço, cada arte volta à medida certa. */
.ad-frame img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: var(--ad-h-mobile, 100px);
}

/* O <picture> sai do layout e deixa a <img> ser filha direta da caixa. Recebendo
   max-height como flex item, ele colapsava para 0x0 — e imagem de tamanho zero com
   loading="lazy" o navegador nunca chega a baixar: o vertical da home ficava em branco. */
.ad-frame picture { display: contents; }

@media screen and (min-width: 768px) {
  .ad-frame img { max-height: var(--ad-h-desktop, 90px); }
}

.ad-frame a { display: block; max-width: 100%; }

.advert--rail { margin: 24px 0; padding: 0; }

.listagem-item--ad { display: flex; }

.advert--card {
  margin: 0 0 24px;
  padding: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
}

.advert--card .ad-frame { flex: 1; min-height: var(--ad-h-mobile, 250px); }

/* Dentro da grade da editoria o espaçamento é do gap da grade: a margem própria do
   bloco encurtava a caixa em 24px e o banner ficava desalinhado dos cards vizinhos. */
.listagem-item--ad .advert--card { margin: 0; }

/* ==========================================================================
   12. ACESSIBILIDADE
   ========================================================================== */

/* Texto que existe só para leitor de tela. O tema não tinha essas classes, e um
   <label class="visually-hidden"> aparecia escrito na tela (caso do "Buscar no site"
   ao lado do campo de busca). A dupla cobre o nome que o WordPress usa nos forms
   dele (screen-reader-text) e o do Bootstrap 5 (visually-hidden). */
.visually-hidden,
.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

a:focus-visible,
button:focus-visible,
input:focus-visible {
  outline: 2px solid var(--dmd-azul);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  .destaque-home-grande,
  .destaque-home-pequeno,
  .noticias-home > .col > a,
  .noticias-home-lista > .col > a,
  .listagem-item .noticia-card,
  .noticias-relacionadas-item,
  header .menu-item > a::after { transition: none; }

  .noticias-home > .col > a:hover,
  .noticias-home-lista > .col > a:hover,
  .listagem-item .noticia-card:hover,
  .noticias-relacionadas-item:hover { transform: none; }
}

/* ==========================================================================
   13. COLUNA VERTICAL DE PUBLICIDADE
   Terceiro bloco, na mesma linha de Atlético e Cruzeiro.
   ========================================================================== */

.coluna-vertical { height: 100%; }

.coluna-vertical .advert {
  margin: 0;
  padding: 0;
  max-width: none;
  height: 100%;
}

.coluna-vertical .ad-frame {
  height: calc(100% - 20px);
  min-height: var(--ad-h-desktop, 600px);
}

@media screen and (max-width: 991px) {
  .coluna-vertical .ad-frame { min-height: var(--ad-h-mobile, 250px); height: auto; }
}

/* No celular o espaço muda de lugar: o quadrado 300x250 entra entre a tabela e os
   subdestaques (.vertical-home-mobile), e a terceira coluna fica só no desktop. Até 991px
   a caixa e a imagem ficam presas à medida de celular — sem isso, a faixa de tablet
   (768–991) reservaria os 600px da peça vertical no meio da página. */
.vertical-home-mobile .advert { margin: 28px auto 4px; }

@media screen and (max-width: 991.98px) {
  .vertical-home-mobile .ad-frame { min-height: var(--ad-h-mobile, 250px); }
  .vertical-home-mobile .ad-frame img { max-height: var(--ad-h-mobile, 250px); }
}

/* ==========================================================================
   14. AJUSTES DE COR E DE BADGE
   ========================================================================== */

/* 2. Categoria dos cards do hero como etiqueta, igual à dos subdestaques. */
.destaque-home-grande .image-chapeu,
.destaque-home-pequeno .image-chapeu {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 24px;
  padding: 0 10px;
  margin: 0 !important;
  border-radius: 5px;
  background: var(--dmd-neutra);
  color: #fff !important;
  font-family: "DMD Sans", ui-sans-serif, system-ui, sans-serif !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  letter-spacing: .06em;
  text-transform: uppercase;
  line-height: 1 !important;
  opacity: 1;
}

.destaque-home-pequeno .image-chapeu { height: 21px; font-size: .64rem !important; padding: 0 8px; }

/* A referência do badge é o link inteiro. Quando era a figure, no destaque grande
   o badge caía no meio da foto, em cima do título. */
.destaque-home-grande,
.destaque-home-pequeno { position: relative; }

.destaque-home-grande figure,
.destaque-home-pequeno figure { position: static; }

/* ==========================================================================
   15. COR NEUTRA DO TEXTO (#344b57)
   Todo texto sobre fundo branco que não seja título usa a cor do projeto.
   ========================================================================== */

.noticias-home-item-title,
.noticia-card-title,
.noticias-relacionadas-item-title,
.noticia-conteudo,
.noticia-conteudo p,
.noticia-conteudo li,
.leia-mais-card__titulo,
.listagem-item .noticia-card-title,
.card-meta,
.noticia-date {
  color: var(--dmd-neutra) !important;
}

a:hover .noticias-home-item-title,
a:hover .noticia-card-title { color: var(--dmd-azul) !important; }

/* No "Leia mais" o hover mexe só na elevação do card, não na cor nem no sublinhado. */
.leia-mais-card a:hover .leia-mais-card__titulo,
.leia-mais-card a:hover,
.leia-mais a:hover {
  color: var(--dmd-neutra) !important;
  text-decoration: none !important;
}

/* ==========================================================================
   16. PÁGINA DE NOTÍCIA
   ========================================================================== */

/* 4 e 5. Título maior, à esquerda, e na cor da editoria. */
.noticia-title {
  text-align: left !important;
  font-size: 2.9rem !important;
  line-height: 1.1 !important;
  letter-spacing: -.018em;
}

@media screen and (max-width: 767px) {
  .noticia-title { font-size: 2rem !important; }
}

/* Manchete numa cor só, seja qual for a editoria: a personalização por clube saiu,
   e a cor única do site é a neutra (pedido do Douglas, 30/jul). */
.single .noticia-title { color: var(--dmd-neutra) !important; }

.noticia-chapeu { text-align: left !important; }

/* 6. Corpo do texto um pouco menor. */
.noticia-conteudo p,
.noticia-conteudo li { font-size: 1.15rem !important; line-height: 1.75 !important; }

@media screen and (max-width: 600px) {
  .noticia-conteudo p,
  .noticia-conteudo li { font-size: 1.05rem !important; }
}

/* 7. Leia mais: 4 cards com imagem e título embaixo.
   Sem caixa em volta — o bloco vive direto sobre a página, e só os cards têm superfície. */
.leia-mais {
  margin: 36px 0;
  padding: 0;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
}

.leia-mais-title {
  font-size: 1.05rem !important;
  letter-spacing: .06em;
  margin-bottom: 14px !important;
}

.leia-mais-grade {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

@media screen and (min-width: 768px) {
  .leia-mais-grade { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.leia-mais-card { margin: 0 !important; padding: 0 !important; display: flex; }
.leia-mais-card::before { display: none !important; }

.leia-mais-card a {
  display: flex !important;
  flex-direction: column;
  height: 100%;
  background: var(--dmd-card);
  border-radius: var(--dmd-raio-menor);
  overflow: hidden;
  box-shadow: var(--dmd-sombra);
  text-decoration: none !important;
  transition: box-shadow .18s ease, transform .18s ease;
}

.leia-mais-card a:hover { box-shadow: var(--dmd-sombra-alta); transform: translateY(-2px); }

.leia-mais-card__img { display: block; }

.leia-mais-card__img img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  object-position: center;
  display: block;
}

.leia-mais-card__titulo {
  display: block;
  padding: 10px 12px 14px;
  font-family: "DMD Serif", ui-serif, Georgia, serif !important;
  font-size: .95rem !important;
  font-weight: 600 !important;
  line-height: 1.24;
  color: var(--dmd-neutra) !important;
}

/* 8. Citação com fundo, aspa e serifada itálica própria.
   O editor aninha blockquote dentro de blockquote, então o estilo fica só no de
   primeiro nível e o de dentro é neutralizado. */
.noticia-conteudo > blockquote {
  position: relative;
  width: auto !important;
  max-width: none;
  margin: 34px 0 !important;
  padding: 26px 26px 22px 62px !important;
  background: #f4f6f8;
  border-left: 0 !important;
  border-radius: var(--dmd-raio);
  font-family: "DMD Serif Secao", ui-serif, Georgia, serif !important;
  font-style: italic !important;
  font-weight: 400 !important;
}

/* Citação aninhada não repete fundo, recuo nem aspa. */
.noticia-conteudo blockquote blockquote {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  max-width: none !important;
}

.noticia-conteudo blockquote blockquote::before { display: none !important; content: none !important; }

.noticia-conteudo > blockquote::before {
  content: "\201C";
  position: absolute;
  top: 2px;
  left: 18px;
  font-family: "DMD Serif", ui-serif, Georgia, serif;
  font-size: 4.4rem;
  line-height: 1;
  color: var(--dmd-neutra);
  opacity: .3;
}

.noticia-conteudo blockquote p,
.noticia-conteudo blockquote div {
  font-family: "DMD Serif Secao", ui-serif, Georgia, serif !important;
  font-style: italic !important;
  font-size: 1.3rem !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;
  color: var(--dmd-neutra) !important;
  margin-bottom: 0 !important;
}

.noticia-conteudo blockquote cite {
  display: block;
  margin-top: 12px;
  font-family: "DMD Sans", ui-sans-serif, system-ui, sans-serif !important;
  font-style: normal;
  font-size: .85rem !important;
  color: var(--dmd-neutra) !important;
}

/* 9. Cards de outras notícias todos do mesmo tamanho.

   O card é bloco, não flex: como flex item, o título tem o display: -webkit-box
   convertido em bloco e o -webkit-line-clamp deixa de valer, então o texto era cortado
   no meio da terceira linha em vez de terminar com reticências. A altura igual entre os
   cards vem do height: 100% dentro da coluna, que já é flex. */
.noticias-relacionadas .col { display: flex; }

/* O respiro entre os cards vem da própria grade: a margem no item não funcionava com
   o card em height 100% dentro da coluna flex (ficava além dos 100% e a coluna não
   crescia com ela — no celular os cards empilhavam colados). */
.noticias-relacionadas .row { row-gap: 18px; }

.noticias-relacionadas-item {
  display: block !important;
  width: 100%;
  height: 100%;
  margin-bottom: 0 !important;
}

/* O tema antigo dava margin-right de 10px na caixa da foto (herança do layout
   horizontal da v1): a imagem parava antes da borda do card. Aqui ela preenche. */
.noticias-relacionadas-img { flex-shrink: 0; margin: 0 !important; }

.noticias-relacionadas-item-title {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  /* Entrelinha um pouco mais folgada: em 1,24 a barriga da serifada era aparada pelo
     recorte do clamp. */
  line-height: 1.35 !important;
}

/* ==========================================================================
   17. HEADER
   Marca centralizada, redes logo abaixo, e ações (busca e menu) no canto
   direito. Some ao descer, volta ao subir, e encolhe fora do topo.
   ========================================================================== */

.dmd-header {
  position: sticky;
  top: 0;
  z-index: 900;
  background: transparent;   /* no topo, o header é parte da página */
  border-bottom: 0;
  transition: transform .28s ease, box-shadow .2s ease, background-color .2s ease;
  will-change: transform;
}

/* Encolhido, ele passa a flutuar sobre o conteúdo. Aí precisa de fundo e sombra. */
.dmd-header--compacto {
  background: var(--dmd-card);
  box-shadow: 0 2px 10px rgba(24, 16, 44, .07);
}

.dmd-header--oculto { transform: translateY(-100%); }

.dmd-header__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  max-width: 1320px;
  margin: 0 auto;
  padding: 20px 16px 14px;
  transition: padding .28s ease, gap .28s ease;
}

/* ---- Marca ---- */

.dmd-header__logo {
  display: block;
  line-height: 0;
}

.dmd-header__logo img {
  width: auto;
  height: 62px;
  max-width: 100%;
  object-fit: contain;
  transition: height .28s ease;
}

/* ---- Redes ---- */

.dmd-header__redes {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin: 0 auto !important;
  padding: 0 !important;
  list-style: none;
  transition: opacity .22s ease, max-height .28s ease, margin .28s ease;
}

.dmd-header__redes li,
.dmd-header__redes li:first-of-type,
.dmd-header__redes li:last-of-type {
  margin: 0 !important;
}

.dmd-header__redes a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  color: var(--dmd-neutra);
  transition: color .16s ease;
}

.dmd-header__redes a:hover { color: var(--dmd-azul); }
.dmd-header__redes i::after { font-size: 17px !important; }
.dmd-header__redes svg { width: 19px; height: 19px; fill: currentColor; }

/* ---- Ações no canto direito ---- */

.dmd-header__acoes {
  position: absolute;
  top: 18px;
  right: 16px;
  display: flex;
  align-items: center;
  gap: 4px;
  transition: top .28s ease;
}

.dmd-btn-icone {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--dmd-neutra);
  cursor: pointer;
  transition: background .16s ease, color .16s ease;
}

.dmd-btn-icone:hover { background: var(--dmd-papel); color: var(--dmd-azul); }

.dmd-btn-icone svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
}

/* Hambúrguer */
.dmd-hamburguer {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  width: 21px;
  height: 21px;
}

.dmd-hamburguer span {
  display: block;
  height: 2px;
  width: 100%;
  border-radius: 2px;
  background: currentColor;
  transition: transform .2s ease, opacity .2s ease;
}

.dmd-menu-aberto .dmd-hamburguer span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.dmd-menu-aberto .dmd-hamburguer span:nth-child(2) { opacity: 0; }
.dmd-menu-aberto .dmd-hamburguer span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* ---- Estado compacto ---- */

.dmd-header--compacto .dmd-header__inner { padding: 10px 16px 8px; gap: 0; }
.dmd-header--compacto .dmd-header__logo img { height: 38px; }
.dmd-header--compacto .dmd-header__acoes { top: 8px; }

/* No compacto as redes saem: a faixa fica só com marca e ações. */
.dmd-header--compacto .dmd-header__redes {
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  margin-top: 0 !important;
  pointer-events: none;
}

/* ---- Busca: campo que cresce ao lado do ícone ---- */

.dmd-busca {
  display: flex;
  align-items: center;
}

.dmd-busca__form {
  display: flex;
  align-items: center;
  overflow: hidden;
  /* Fechado, o campo tem largura zero. Aberto, cresce para a esquerda. */
  width: 0;
  opacity: 0;
  transition: width .26s ease, opacity .2s ease;
}

.dmd-busca--aberta .dmd-busca__form {
  width: 230px;
  opacity: 1;
}

.dmd-busca__form input {
  width: 100%;
  height: 38px;
  padding: 0 14px;
  border: 1px solid var(--dmd-linha-forte);
  border-radius: 19px;
  background: var(--dmd-card);
  font-family: "DMD Sans", ui-sans-serif, system-ui, sans-serif;
  font-size: .9rem;
  color: var(--dmd-neutra);
}

.dmd-busca__form input::placeholder { color: var(--dmd-cinza-claro); }

.dmd-busca__form input:focus {
  outline: 2px solid var(--dmd-azul);
  outline-offset: 1px;
  border-color: transparent;
}

/* O mesmo botão vira o X quando o campo está aberto. */
.dmd-busca .dmd-icone-fechar { display: none; }
.dmd-busca--aberta .dmd-icone-busca { display: none; }
.dmd-busca--aberta .dmd-icone-fechar { display: block; }
.dmd-busca--aberta .dmd-btn-icone { color: var(--dmd-azul); }

/* ---- Painel lateral ---- */

.dmd-menu-fundo {
  position: fixed;
  inset: 0;
  z-index: 1000;
  background: rgba(11, 18, 32, .45);
  opacity: 0;
  transition: opacity .26s ease;
}

.dmd-menu-aberto .dmd-menu-fundo { opacity: 1; }

.dmd-menu-lateral {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 1001;
  display: flex;
  flex-direction: column;
  width: min(320px, 86vw);
  padding: 18px 22px 28px;
  background: var(--dmd-card);
  box-shadow: -8px 0 30px rgba(24, 16, 44, .16);
  transform: translateX(100%);
  transition: transform .26s ease;
  overflow-y: auto;
}

.dmd-menu-aberto .dmd-menu-lateral { transform: translateX(0); }
.dmd-menu-aberto { overflow: hidden; }

.dmd-menu-lateral__topo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 14px;
  margin-bottom: 8px;
  border-bottom: 1px solid var(--dmd-linha);
}

.dmd-menu-lateral__titulo {
  font-family: "DMD Serif Secao", ui-serif, Georgia, serif;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--dmd-neutra);
}

.dmd-menu-lateral__lista {
  margin: 0;
  padding: 0;
  list-style: none;
}

.dmd-menu-lateral__lista li { border-bottom: 1px solid var(--dmd-linha); }

.dmd-menu-lateral__lista a {
  display: block;
  padding: 15px 2px;
  font-family: "DMD Serif Secao", ui-serif, Georgia, serif;
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--dmd-neutra);
  transition: color .16s ease, padding-left .16s ease;
}

.dmd-menu-lateral__lista a:hover,
.dmd-menu-lateral__lista .current-menu-item > a {
  color: var(--dmd-azul);
  padding-left: 6px;
  text-decoration: none;
}

.dmd-menu-lateral__redes {
  display: flex !important;
  gap: 18px;
  margin: auto 0 0 !important;
  padding: 20px 0 0 !important;
  list-style: none;
  border-top: 1px solid var(--dmd-linha);
}

.dmd-menu-lateral__redes li,
.dmd-menu-lateral__redes li:first-of-type,
.dmd-menu-lateral__redes li:last-of-type { margin: 0 !important; }

.dmd-menu-lateral__redes a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  color: var(--dmd-neutra);
}

.dmd-menu-lateral__redes a:hover { color: var(--dmd-azul); }
.dmd-menu-lateral__redes i::after { font-size: 19px !important; }

/* ---- Celular ---- */

@media screen and (max-width: 575px) {
  .dmd-header__inner { padding: 14px 12px 10px; gap: 8px; }
  .dmd-header__logo img { height: 44px; }
  .dmd-header__acoes { top: 10px; right: 6px; gap: 0; }
  .dmd-header__redes { gap: 14px; }
  .dmd-header--compacto .dmd-header__logo img { height: 30px; }

  /* No celular o campo aberto ocupa a faixa toda, ancorado à direita, para não
     empurrar a marca nem estourar a tela. */
  .dmd-busca--aberta .dmd-busca__form {
    position: absolute;
    top: 50%;
    right: 44px;
    transform: translateY(-50%);
    width: calc(100vw - 108px);
    z-index: 2;
  }

  .dmd-busca--aberta .dmd-busca__form input { height: 36px; }
}

@media (prefers-reduced-motion: reduce) {
  .dmd-header,
  .dmd-header__inner,
  .dmd-header__logo img,
  .dmd-menu-lateral,
  .dmd-menu-fundo { transition: none; }
}

/* ==========================================================================
   18. TELA DE EDITORIA
   Cabeçalho com escudo, nome e contagem; primeira notícia em destaque e o
   resto em grade. Substitui a faixa azul cheia que o tema colocava.
   ========================================================================== */

.editoria {
  padding-block: 8px var(--dmd-ritmo);
}

/* ---- Cabeçalho ---- */

.editoria__cabecalho {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 28px;
  padding-bottom: 20px;
  /* Linha do cabeçalho no tom neutro para toda editoria: a cor por clube saiu. */
  border-bottom: 3px solid var(--dmd-neutra);
}

.editoria__escudo {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 72px;
  height: 72px;
}

.editoria__escudo img {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: contain;
}

.editoria__identidade { min-width: 0; }

.editoria__nome {
  font-family: "DMD Serif Secao", ui-serif, Georgia, serif !important;
  font-size: 2.4rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: -.01em;
  color: var(--dmd-neutra) !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
  border: 0 !important;
  text-transform: none;
  text-align: left;
}

.editoria__meta {
  display: flex;
  align-items: baseline;
  gap: 5px;
  flex-wrap: wrap;
  margin: 0 !important;
  font-family: "DMD Sans", ui-sans-serif, system-ui, sans-serif;
  font-size: .82rem;
  color: var(--dmd-cinza);
}

.editoria__contagem { font-weight: 700; color: var(--dmd-neutra); }

.editoria__pagina {
  padding-left: 10px;
  margin-left: 5px;
  border-left: 1px solid var(--dmd-linha-forte);
}

.editoria__descricao {
  max-width: 62ch;
  margin-top: 10px;
  font-size: .92rem;
  line-height: 1.55;
  color: var(--dmd-neutra);
}

/* ---- Grade ---- */

.editoria__grade {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}

@media screen and (min-width: 576px) {
  .editoria__grade { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media screen and (min-width: 992px) {
  .editoria__grade { grid-template-columns: repeat(4, minmax(0, 1fr)); }

  /* A primeira notícia ocupa duas colunas e duas linhas: é a porta de entrada da
     editoria, e a grade uniforme não dava a ela nenhum peso. */
  .editoria__grade--com-destaque .editoria__item--destaque {
    grid-column: span 2;
    grid-row: span 2;
  }
}

/* O .listagem-item vem do tema com margin-bottom: 32px, de quando a listagem era uma
   pilha simples. Dentro da grade isso soma com o gap e ainda encurta a linha em 32px:
   é o que impedia o card de preencher a altura reservada. O espaçamento aqui é do gap. */
.editoria__item { display: flex; min-width: 0; margin: 0 !important; }

/* ---- Card ---- */

.editoria__item .noticia-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  background: var(--dmd-card);
  border: 0;
  border-radius: var(--dmd-raio);
  overflow: hidden;
  box-shadow: var(--dmd-sombra);
  transition: box-shadow .2s ease, transform .2s ease;
}

.editoria__item .noticia-card:hover {
  box-shadow: var(--dmd-sombra-alta);
  transform: translateY(-2px);
}

.editoria__item .noticia-card figure { margin: 0; }

.editoria__item .noticia-card img {
  width: 100%;
  /* height: auto é obrigatório aqui: os atributos width/height do HTML valem como estilo
     de apresentação, e com os dois definidos o aspect-ratio é ignorado. No celular a foto
     do destaque assumia os 600px do atributo e ficava vertical (339x600). */
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* Bloco, não flex: é o que mantém o -webkit-line-clamp do título funcionando (ver a
   observação na seção da altura da grade, mais abaixo). */
.editoria__item .noticia-card-item {
  display: block;
  flex: 1;
  padding: 14px 16px 16px;
}

/* Etiqueta da editoria sobre a foto, igual à da home. */
.editoria__item .noticia-card { position: relative; }

.editoria__item .noticia-card-chapeu {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 21px;
  padding: 0 9px;
  margin: 0 !important;
  border-radius: 5px;
  background: var(--dmd-neutra);
  color: #fff !important;
  font-family: "DMD Sans", ui-sans-serif, system-ui, sans-serif !important;
  font-size: .64rem !important;
  font-weight: 700 !important;
  letter-spacing: .06em;
  text-transform: uppercase;
  line-height: 1 !important;
}

.editoria__item .noticia-card-title {
  font-family: "DMD Serif", ui-serif, Georgia, serif !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  line-height: 1.28 !important;
  color: var(--dmd-neutra) !important;
  text-wrap: pretty;
  transition: color .16s ease;
  /* Ate 3 linhas: sem isso um titulo longo deixava o card mais alto que os vizinhos. */
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* No destaque o titulo pode respirar mais. */
.editoria__item--destaque .noticia-card-title { -webkit-line-clamp: 4; }

/* Altura da grade travada na medida do hero da home: a linha vale 298px, então o
   destaque (2 linhas + gap) fecha em 616px, exatamente o card grande da home, e os
   cards ao lado ficam com os mesmos 298px dos cards pequenos de lá.

   Com a linha fixa, quem se ajusta é a FOTO (flex: 1), não o bloco de texto. Se fosse
   o contrário o texto esticaria e a imagem sobraria — foi o que deixava o destaque com
   838px de altura e 238px só de área branca embaixo do título. */
@media screen and (min-width: 992px) {
  .editoria__grade {
    --dmd-linha-editoria: 298px;
    grid-auto-rows: var(--dmd-linha-editoria);
  }

  .editoria__item .noticia-card { height: 100%; }

  .editoria__item .noticia-card figure {
    flex: 1;
    min-height: 0;
    overflow: hidden;
  }

  /* aspect-ratio sai de cena aqui: a altura vem da linha da grade e o recorte fica
     por conta do object-fit, então a foto nunca estoura nem deixa brecha. */
  .editoria__item .noticia-card img {
    height: 100%;
    aspect-ratio: auto;
  }

  /* O bloco de texto tem altura reservada para o pior caso (3 linhas de título), então
     todas as fotos da grade terminam na mesma linha. Sem isso a foto encolhia conforme o
     título crescia e a base das imagens ficava desencontrada de um card para o outro.

     display: block e não flex de propósito: como flex item, o título tem o
     display: -webkit-box convertido em bloco e o -webkit-line-clamp deixa de valer — o
     texto era cortado no meio da terceira linha, sem reticências. Com o pai em bloco o
     recorte volta a ser por linha inteira. */
  .editoria__item .noticia-card-item {
    display: block;
    flex: 0 0 auto;
    /* 3 linhas de 22,7px + os 30px de padding, com folga para a barriga da serifada. */
    height: 104px;
    overflow: hidden;
  }

  .editoria__item .noticia-card-title { line-height: 1.35 !important; }

  /* O destaque é único na faixa: o texto dele tem a altura que precisa. */
  .editoria__item--destaque .noticia-card-item { height: auto; }
}

.editoria__item .noticia-card:hover .noticia-card-title { color: var(--dmd-azul) !important; }

.editoria__item .noticia-card-resumo {
  margin: 10px 0 0 !important;
  font-family: "DMD Sans", ui-sans-serif, system-ui, sans-serif;
  font-size: .92rem;
  line-height: 1.55;
  color: var(--dmd-cinza);
}

.editoria__item .noticia-card-data {
  margin-top: auto;
  padding-top: 12px;
  font-family: "DMD Sans", ui-sans-serif, system-ui, sans-serif;
  font-size: .72rem;
  color: var(--dmd-cinza-claro);
}

/* ---- Destaque ---- */

@media screen and (min-width: 992px) {
  /* Sem aspect-ratio: a foto do destaque preenche o que sobra das duas linhas da grade. */
  .editoria__item--destaque .noticia-card-item { padding: 20px 22px 22px; }

  .editoria__item--destaque .noticia-card-title {
    font-size: 1.85rem !important;
    line-height: 1.15 !important;
    letter-spacing: -.01em;
  }

  .editoria__item--destaque .noticia-card-chapeu {
    height: 25px;
    padding: 0 11px;
    font-size: .72rem !important;
  }
}

/* ---- Carregar mais e vazio ---- */

.editoria__carregar {
  display: block;
  width: fit-content;
  margin: var(--dmd-ritmo) auto 0;
  padding: 13px 30px;
  border: 0;
  border-radius: 24px;
  background: var(--dmd-card);
  box-shadow: var(--dmd-sombra);
  font-family: "DMD Sans", ui-sans-serif, system-ui, sans-serif;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--dmd-neutra);
  cursor: pointer;
  transition: box-shadow .18s ease, color .18s ease;
}

.editoria__carregar:hover { box-shadow: var(--dmd-sombra-alta); color: var(--dmd-azul); }

.editoria__vazio {
  padding-block: 60px;
  text-align: center;
}

.editoria__vazio h2 {
  font-family: "DMD Serif Secao", ui-serif, Georgia, serif !important;
  font-size: 1.4rem !important;
  color: var(--dmd-neutra) !important;
  margin-bottom: 10px !important;
}

.editoria__vazio p { color: var(--dmd-cinza); }

/* Form de busca padrão do WordPress, usado no vazio da editoria e da página de busca. */
.editoria__vazio .search-form {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-top: 24px;
}

.editoria__vazio .search-form label { margin: 0; }

.editoria__vazio .search-field {
  width: min(340px, 78vw);
  height: 46px;
  padding: 0 16px;
  border: 1px solid var(--dmd-linha-forte);
  border-radius: var(--dmd-raio-menor);
  background: var(--dmd-card);
  color: var(--dmd-neutra);
  font-size: .95rem;
}

.editoria__vazio .search-field::placeholder { color: var(--dmd-cinza-claro); }

.editoria__vazio .search-submit {
  height: 46px;
  padding: 0 22px;
  border: 0;
  border-radius: var(--dmd-raio-menor);
  background: var(--dmd-neutra);
  color: #fff;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .18s ease;
}

.editoria__vazio .search-submit:hover { background: #26333d; }

/* O termo pesquisado dentro do título da busca, em itálico serifado. */
.editoria--busca .editoria__termo { font-style: italic; }

/* ---- Celular ---- */

@media screen and (max-width: 575px) {
  .editoria__cabecalho { gap: 12px; margin-bottom: 20px; padding-bottom: 14px; }
  .editoria__escudo { width: 52px; height: 52px; }
  .editoria__nome { font-size: 1.7rem !important; }
  .editoria__grade { gap: 16px; }
}

/* ==========================================================================
   19. CORREÇÕES DE COR E DE EDITORIA
   ========================================================================== */

/* ---- Home: título dos subdestaques no tom neutro (estava azul) ---- */

.noticias-home .noticias-home-item-title,
.noticias-home-item.cruzeiro .noticias-home-item-title,
.noticias-home-item.atletico .noticias-home-item-title,
.noticias-home-item.america .noticias-home-item-title {
  color: var(--dmd-neutra) !important;
}

/* ---- Header igual em toda página ----
   O tema pinta os ícones sociais de branco quando o body é de clube
   (.cruzeiro/.atletico/.america .social-icons li a i). Isso vinha da época em que
   a faixa da editoria era azul; com o header claro, os ícones desapareciam. */

.dmd-header .social-icons li a i,
.dmd-header__redes li a i,
.dmd-menu-lateral__redes li a i {
  color: var(--dmd-neutra) !important;
}

/* ---- Faixa de editoria da matéria numa cor só ----
   O tema antigo pinta a faixa .header-title pela classe de clube do body: azul no
   Cruzeiro, preto no Atlético, verde no América. A personalização saiu do site:
   a faixa fica no neutro do projeto para qualquer editoria. */
.header-title,
.cruzeiro .header-title,
.atletico .header-title,
.america .header-title {
  background-color: var(--dmd-neutra) !important;
}

.header-title h1,
.header-title .header-title-single {
  color: #fff !important;
}

/* ---- Sombreamento das manchetes do hero numa cor só ----
   O degradê sob o texto das fotos era preto no Atlético, azul no Cruzeiro, verde no
   América e preto no padrão. Vira o neutro do projeto para qualquer editoria. Só no
   desktop: abaixo de 1200px o título sai da foto e o próprio tema remove o degradê. */
@media screen and (min-width: 1200.02px) {
  .destaque-home figure figcaption,
  .destaque-home-grande figure figcaption,
  .destaque-home-pequeno figure figcaption,
  .destaque-home-grande.atletico figure figcaption,
  .destaque-home-grande.cruzeiro figure figcaption,
  .destaque-home-grande.america figure figcaption,
  .destaque-home-pequeno.atletico figure figcaption,
  .destaque-home-pequeno.cruzeiro figure figcaption,
  .destaque-home-pequeno.america figure figcaption {
    /* Tom mais fundo da neutra (#26333d), a pedido do Douglas: a neutra pura clareava
       demais o pé da foto. */
    background: linear-gradient(to top, rgba(38, 51, 61, .97) 0%, rgba(38, 51, 61, .68) 52%, rgba(38, 51, 61, 0) 100%) !important;
  }
}

.dmd-header .social-icons li a:hover i,
.dmd-header__redes li a:hover i,
.dmd-menu-lateral__redes li a:hover i {
  color: var(--dmd-azul) !important;
}

.dmd-header__redes svg { fill: var(--dmd-neutra); }
.dmd-header__redes a:hover svg { fill: var(--dmd-azul); }

/* ---- Cabeçalho da editoria: sem caixa branca, título maior ---- */

.editoria__cabecalho {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 0 20px !important;
}

.editoria__nome { font-size: 3.4rem !important; }

@media screen and (max-width: 767px) {
  .editoria__nome { font-size: 2.2rem !important; }
}

/* ---- Cards da editoria: título no neutro do projeto (sem cor de clube), e o hover
        mexe só na elevação do card, não na cor do texto ---- */

.editoria__item .noticia-card:hover .noticia-card-title { color: inherit !important; }

/* Sem data nem resumo, o título ocupa o card todo. Três linhas é o teto: com o card na
   altura do hero da home, a quarta linha empurraria a foto. */
.editoria__item .noticia-card-item { justify-content: flex-start; }
.editoria__item .noticia-card-title { -webkit-line-clamp: 3; }
.editoria__item--destaque .noticia-card-title { -webkit-line-clamp: 3; }

/* ---- Rolagem infinita ---- */

.editoria__carregando {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 30px 0 10px;
}

.editoria__carregando-texto {
  font-family: "DMD Sans", ui-sans-serif, system-ui, sans-serif;
  font-size: .82rem;
  font-weight: 600;
  letter-spacing: .03em;
  color: var(--dmd-cinza);
}

/* Três pontos que pulsam, para o aviso não ficar parado na tela. */
.editoria__carregando-texto::after {
  content: "...";
  display: inline-block;
  width: 1.1em;
  text-align: left;
  animation: dmd-pontos 1.2s steps(4, end) infinite;
}

@keyframes dmd-pontos {
  0%   { clip-path: inset(0 100% 0 0); }
  100% { clip-path: inset(0 0 0 0); }
}

/* Link real da próxima página: fica para quem está sem JS. */
.editoria__proxima {
  display: flex;
  justify-content: center;
  margin-top: var(--dmd-ritmo);
}

.editoria__proxima a {
  padding: 13px 30px;
  border-radius: 24px;
  background: var(--dmd-card);
  box-shadow: var(--dmd-sombra);
  font-family: "DMD Sans", ui-sans-serif, system-ui, sans-serif;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--dmd-neutra);
  text-decoration: none;
}

.editoria__sentinela { height: 1px; }

@media (prefers-reduced-motion: reduce) {
  .editoria__carregando-texto::after { animation: none; clip-path: none; }
}

/* ==========================================================================
   22. HEADER ENXUTO EM TODO O SITE
   O topo compacto nasceu na página de notícia e passou a valer em todas as telas,
   inclusive na home: mesma faixa, mesmo respiro, com a marca 20% maior que a
   versão da matéria (44px viraram 53px).
   ========================================================================== */

.dmd-header__inner {
  padding: 12px 16px 10px;
  gap: 7px;
}

.dmd-header__logo img { height: 53px; }

.dmd-header__redes { gap: 15px; }

.dmd-header__redes a { width: 19px; height: 19px; }
.dmd-header__redes a i { font-size: 14px; }

.dmd-header__acoes { top: 14px; }

/* O banner do topo encosta mais no header e no que vem abaixo dele. */
.advert--horizontal[data-slot="noticia-topo"],
.advert--horizontal[data-slot="categoria-topo"],
.advert--horizontal[data-slot="home-topo"] { margin: 22px auto 26px; }

@media screen and (max-width: 767px) {
  .dmd-header__logo img { height: 46px; }

  .advert--horizontal[data-slot="noticia-topo"],
  .advert--horizontal[data-slot="categoria-topo"],
  .advert--horizontal[data-slot="home-topo"] { margin: 16px auto 20px; }
}

/* ==========================================================================
   23. TOM NEUTRO NOS RÓTULOS E NAS MANCHETES FORA DA FOTO
   ========================================================================== */

/* Até 1199px o tema tira a manchete do hero de cima da foto e ela passa a ser lida sobre
   o fundo claro — onde vinha em preto puro. Manchete da home é neutra, igual aos
   subdestaques e aos cards horizontais. Acima disso o texto volta para cima da foto, em
   branco, e nada aqui se aplica. */
@media screen and (max-width: 1199px) {
  .destaque-home-grande .image-subtitle,
  .destaque-home-pequeno .image-subtitle { color: var(--dmd-neutra) !important; }
}

/* ==========================================================================
   24. HERO DA HOME ABAIXO DE 1200px
   Nessa faixa o tema tira a manchete de cima da foto e a coloca no fluxo, embaixo. Só que
   a caixa da foto era calculada pelo espaço que sobrava, e a imagem, seguindo a própria
   proporção, ficava 39px mais alta do que essa caixa: a primeira linha do título nascia
   sobre a foto, ilegível. Aqui a foto manda na altura (3:2) e o texto vem depois dela.
   ========================================================================== */

@media screen and (max-width: 1199px) {
  .destaque-home-grande,
  .destaque-home-pequeno {
    height: auto !important;
    max-height: none !important;
  }

  .destaque-home-grande figure,
  .destaque-home-pequeno figure {
    aspect-ratio: auto !important;
    height: auto !important;
    max-height: none !important;
  }

  .destaque-home-grande picture,
  .destaque-home-pequeno picture {
    display: block !important;
    height: auto !important;
  }

  .destaque-home-grande picture img,
  .destaque-home-pequeno picture img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 3 / 2 !important;
    object-fit: cover !important;
  }
}

/* ==========================================================================
   25. PÁGINA DE QUEM ESCREVE
   Mesma grade da editoria, sem clube: nada de escudo, nada de azul nem de preto de
   time. Título, linha do cabeçalho e manchetes ficam no tom neutro do projeto.
   ========================================================================== */

/* Retrato no lugar do escudo, redondo e do mesmo tamanho. */
.editoria--autor .editoria__retrato {
  flex-shrink: 0;
  display: block;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  overflow: hidden;
  background: #e8ebee;
}

.editoria--autor .editoria__retrato img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Título, linha, manchetes e etiquetas já saem neutros das regras gerais da editoria:
   desde que a cor por clube deixou o site, esta página não precisa de exceção nenhuma. */

/* Minibiografia embaixo do nome. */
.editoria--autor .editoria__descricao {
  max-width: 62ch;
  margin-top: 8px;
}

.editoria--autor .editoria__descricao p {
  margin: 0 0 8px !important;
  font-size: .95rem !important;
  line-height: 1.6 !important;
  color: var(--dmd-cinza) !important;
}

.editoria--autor .editoria__descricao p:last-child { margin-bottom: 0 !important; }

/* Link de preferências de cookies no rodapé: precisa de respiro em volta, senão encosta na
   linha de direitos reservados. */
.footer-bottom-cookies {
  margin: 0 14px;
  opacity: .85;
}

.footer-bottom-cookies .dmd-cookies-link {
  font-size: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.footer-bottom-cookies .dmd-cookies-link:hover { opacity: 1; }

@media screen and (max-width: 767px) {
  .footer-bottom-cookies { margin: 8px 0; }
}

/* ==========================================================================
   26. PÁGINA DE CONTEÚDO (políticas, avisos e afins)
   Cabeçalho no padrão das editorias; corpo com medida de leitura e respiro.
   ========================================================================== */

.pagina-conteudo { padding-bottom: 40px; }

.pagina-conteudo__corpo {
  max-width: 72ch;
  font-size: 1.02rem;
  line-height: 1.75;
  color: var(--dmd-neutra);
}

.pagina-conteudo__corpo p { margin: 0 0 18px; }

/* Intertítulos na serifada de seção, com respiro maior antes do que depois:
   o espaço em volta é o que divide o documento em capítulos. */
.pagina-conteudo__corpo h2 {
  font-family: "DMD Serif Secao", ui-serif, Georgia, serif !important;
  font-size: 1.45rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  color: var(--dmd-neutra);
  margin: 42px 0 14px !important;
  padding: 0 0 10px !important;
  border-bottom: 1px solid var(--dmd-linha-forte);
}

.pagina-conteudo__corpo h3 {
  font-family: "DMD Serif Secao", ui-serif, Georgia, serif !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: var(--dmd-neutra);
  margin: 30px 0 10px !important;
}

.pagina-conteudo__corpo ul,
.pagina-conteudo__corpo ol {
  margin: 0 0 20px;
  padding-left: 22px;
}

.pagina-conteudo__corpo li { margin-bottom: 8px; }

.pagina-conteudo__corpo a {
  color: var(--dmd-neutra);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.pagina-conteudo__corpo a:hover { color: var(--dmd-azul); }

/* Tabelas (a política de cookies vive delas): linhas suaves, cabeçalho firme e
   rolagem própria no celular — a tabela nunca leva a página junto na horizontal. */
.pagina-conteudo__corpo table {
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 26px;
  font-size: .92rem;
  line-height: 1.5;
  display: block;
  overflow-x: auto;
}

.pagina-conteudo__corpo th,
.pagina-conteudo__corpo td {
  text-align: left;
  padding: 10px 14px;
  border-bottom: 1px solid var(--dmd-linha);
  vertical-align: top;
  min-width: 110px;
}

.pagina-conteudo__corpo th {
  background: var(--dmd-card);
  border-bottom: 2px solid var(--dmd-neutra);
  font-weight: 700;
  white-space: nowrap;
}

.pagina-conteudo__corpo tr:nth-child(even) td { background: rgba(255, 255, 255, .55); }

/* O formulário da página "Seus dados" respira em relação ao texto acima. */
.pagina-conteudo__corpo .dmd-formulario { margin-top: 30px; }

@media screen and (max-width: 767px) {
  .pagina-conteudo__corpo { font-size: .98rem; }
  .pagina-conteudo__corpo h2 { font-size: 1.3rem !important; margin-top: 34px !important; }
}

/* ==========================================================================
   26b. FOOTER NO NEUTRO
   O rodapé vinha do tema antigo em azul-quase-preto (#090f21); passa para a cor
   neutra do projeto, como todo o resto do site.
   ========================================================================== */

footer,
.footer { background-color: var(--dmd-neutra) !important; }

/* A logo da Minério no rodapé é um SVG embutido com gradiente; sobre o fundo neutro
   ela passa a ser branca, vencendo o fill de atributo dos paths. */
.footer-bottom-minerio svg,
.footer-bottom-minerio svg * {
  fill: #fff !important;
}

/* ==========================================================================
   27. BANNER FIXO DO CABULOSO
   Divulgação do programa diário na SamucaTV, abaixo das partidas da home.
   Não é publicidade: sem rótulo, sem moldura de espaço reservado.
   ========================================================================== */

.banner-cabuloso { margin: var(--dmd-ritmo) 0; }

.banner-cabuloso a { display: block; }

.banner-cabuloso img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;          /* arte quadrada no celular */
  object-fit: cover;
  border-radius: var(--dmd-raio);
  box-shadow: var(--dmd-sombra);
}

@media screen and (min-width: 768px) {
  .banner-cabuloso img { aspect-ratio: 33 / 5; }  /* faixa 1320x200 no desktop */
}

/* ==========================================================================
   28. PÁGINA 404
   Fundo branco de ponta a ponta (o mesmo da ilustração), mascote tonto no centro
   e a saída óbvia logo abaixo.
   ========================================================================== */

.pagina-404 {
  background: #fff;
  padding: 40px 0 70px;
  text-align: center;
}

.pagina-404__ilustracao {
  display: block;
  width: min(240px, 46vw);
  height: auto;
  margin: 0 auto 6px;
}

/* 30% maior no desktop, a pedido do Douglas (a imagem foi aparada nos brancos:
   estas larguras são só do personagem, o tamanho visual é o mesmo de antes). */
@media screen and (min-width: 768px) {
  .pagina-404__ilustracao { width: 310px; }
}

.pagina-404__erro {
  display: block;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--dmd-cinza-claro);
  margin-bottom: 10px;
}

.pagina-404__titulo {
  font-family: "DMD Serif Secao", ui-serif, Georgia, serif !important;
  font-size: clamp(1.7rem, 4.5vw, 2.5rem) !important;
  font-weight: 700 !important;
  color: var(--dmd-neutra) !important;
  margin: 0 0 10px !important;
}

.pagina-404__texto {
  color: var(--dmd-cinza);
  font-size: 1.02rem;
  margin: 0 0 26px;
}

.pagina-404__botao {
  display: inline-block;
  height: 46px;
  line-height: 46px;
  padding: 0 26px;
  border-radius: var(--dmd-raio-menor);
  background: var(--dmd-neutra);
  color: #fff !important;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background .18s ease;
}

.pagina-404__botao:hover { background: #26333d; }
