/* tema escuro: mesma identidade do claro, com a paleta invertida.
   mesmas fontes, mesmas formas sólidas, mesmos acentos (azul e verde-limão). */
html[data-tema="escuro"] {
  --d-fundo: #0B1A3A;
  --d-superficie: #12244C;
  --d-superficie-2: #1A3060;
  --d-rodape: #071229;
  --d-texto: #EEF3FF;
  --d-suave: #AFC2F5;
  --d-borda: rgba(175,194,245,.18);
  --texto: var(--d-texto);
  --texto-suave: var(--d-suave);
  --borda: var(--d-borda);
  color-scheme: dark;
}
html[data-tema="escuro"] body { background: var(--d-fundo); color: var(--d-texto); }

/* topo */
html[data-tema="escuro"] .topo { background: rgba(11,26,58,.92); border-bottom-color: var(--d-borda); }
html[data-tema="escuro"] .logo, html[data-tema="escuro"] .menu a { color: var(--d-texto); }
html[data-tema="escuro"] .menu a:hover { color: var(--limao); }
html[data-tema="escuro"] .btn { background: var(--d-texto); color: var(--marinho); }
html[data-tema="escuro"] .btn:hover { background: var(--limao); color: var(--marinho); }
html[data-tema="escuro"] .menu a.btn { color: var(--marinho); }
html[data-tema="escuro"] .btn.limao { background: var(--limao); color: var(--marinho); }
html[data-tema="escuro"] .btn.limao:hover { background: var(--d-texto); }

/* capa */
html[data-tema="escuro"] .capa { background: var(--d-fundo); color: var(--d-texto); }
html[data-tema="escuro"] .capa::before {
  background-image:
    linear-gradient(rgba(175,194,245,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(175,194,245,.07) 1px, transparent 1px);
}
html[data-tema="escuro"] .capa .selo { color: var(--limao); border-color: rgba(200,241,105,.35); }
html[data-tema="escuro"] .menu-capa a:not(.btn) { color: var(--d-texto); }
html[data-tema="escuro"] .menu-capa a:not(.btn):hover { color: var(--limao); }
html[data-tema="escuro"] .marca-txt { color: var(--d-texto); }
html[data-tema="escuro"] .marca-txt .ponto-marca { color: var(--limao); }
html[data-tema="escuro"] .lema { color: var(--d-texto); }
html[data-tema="escuro"] .lema em { color: var(--limao); }
html[data-tema="escuro"] .capa p.lead { color: var(--d-suave); }
html[data-tema="escuro"] .capa-corpo .capa-base { border-color: var(--d-borda); }

/* seções */
html[data-tema="escuro"] .manifesto { background: var(--d-fundo); }
html[data-tema="escuro"] .manifesto-texto p { color: var(--d-texto); }
html[data-tema="escuro"] .rotulo { color: var(--limao); }
html[data-tema="escuro"] .titulo-secao a { color: var(--d-suave); }
html[data-tema="escuro"] .titulo-secao a:hover { color: var(--limao); }

html[data-tema="escuro"] .temas { background: var(--d-superficie); }
html[data-tema="escuro"] .frase .cinza { color: var(--d-suave); }
html[data-tema="escuro"] .frase .a4 { background: var(--d-texto); color: var(--marinho); }

/* cartões de artigo */
html[data-tema="escuro"] .card { background: var(--d-superficie); border-color: var(--d-borda); }
html[data-tema="escuro"] .card:hover { box-shadow: 0 14px 30px rgba(0,0,0,.25); }
html[data-tema="escuro"] .card .img.marinho {
  background-color: var(--d-superficie-2);
  background-image:
    linear-gradient(rgba(175,194,245,.12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(175,194,245,.12) 1px, transparent 1px);
}
html[data-tema="escuro"] .tag { background: rgba(45,91,255,.22); color: var(--d-texto); }

/* newsletter e apoio */
html[data-tema="escuro"] .chamada-apoio { background: var(--d-superficie); color: var(--d-texto); }
html[data-tema="escuro"] .chamada-apoio p { color: var(--d-suave); }

/* rodapé */
html[data-tema="escuro"] .rodape { background: var(--d-rodape); }

/* páginas internas */
html[data-tema="escuro"] .cabeca { background: var(--d-superficie); }
html[data-tema="escuro"] .filtros button { background: transparent; color: var(--d-texto); border-color: var(--d-borda); }
html[data-tema="escuro"] .filtros button.ativo, html[data-tema="escuro"] .filtros button:hover { background: var(--d-texto); color: var(--marinho); border-color: var(--d-texto); }
html[data-tema="escuro"] .artigo-topo { background: var(--d-superficie); color: var(--d-texto); }
html[data-tema="escuro"] .artigo-topo::before {
  background-image:
    linear-gradient(rgba(175,194,245,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(175,194,245,.07) 1px, transparent 1px);
}
html[data-tema="escuro"] .artigo-topo .tag { background: var(--d-fundo); color: var(--limao); }
html[data-tema="escuro"] .artigo-topo .sub, html[data-tema="escuro"] .artigo-topo .meta { color: var(--d-suave); }
html[data-tema="escuro"] .artigo a { color: var(--limao); }
html[data-tema="escuro"] .resumo { background: var(--d-superficie); }
html[data-tema="escuro"] .tabela th { background: var(--azul); }
html[data-tema="escuro"] .placeholder-img { background: var(--d-superficie); border-color: var(--d-suave); color: var(--d-suave); }
html[data-tema="escuro"] .fontes { background: var(--d-superficie-2); }
html[data-tema="escuro"] .pilar { background: var(--d-superficie); }
html[data-tema="escuro"] .sobre-grade a { color: var(--limao) !important; }

/* botão de tema */
html[data-tema="escuro"] .tema-btn { border-color: var(--d-borda); color: var(--d-texto); }
html[data-tema="escuro"] .tema-btn::before { background: var(--limao); box-shadow: none; }
html[data-tema="escuro"] .tema-btn .sol { display: inline; }
html[data-tema="escuro"] .tema-btn .lua { display: none; }
html[data-tema="escuro"] .chamada-news .btn { background: var(--marinho); color: #FFFFFF; }
html[data-tema="escuro"] .chamada-news .btn:hover { background: var(--azul); }
html[data-tema="escuro"] .crencas { border-top-color: var(--d-texto); }
html[data-tema="escuro"] .fecho span { color: var(--limao); }
html[data-tema="escuro"] .crencas li b { color: var(--limao); }
html[data-tema="escuro"] .artigo thead th { background: var(--azul); }
html[data-tema="escuro"] .artigo blockquote { background: var(--d-superficie); border-left-color: var(--limao); }
html[data-tema="escuro"] .artigo ol li::marker { color: var(--limao); }
html[data-tema="escuro"] .campo input, html[data-tema="escuro"] .campo select, html[data-tema="escuro"] .campo textarea { background: var(--d-superficie); color: var(--d-texto); border-color: var(--d-borda); }
html[data-tema="escuro"] .contato-lado a { color: var(--limao); }
html[data-tema="escuro"] .status-form.ok { color: var(--limao); }
html[data-tema="escuro"] .status-form.erro { color: #FDA29B; }
