:root {
  --papel: #f7f3ea; --cartao: #fffdf8; --tinta: #1c1a16; --cinza: #6b6455; --linha: #e2d9c5;
  --cor: #b3261e; --cor-escura: #8a1c16; --opiniao: #fbefd0; --encruzilhada: #b3261e;
  --ensaio: #1f5f73; --ensaio-bg: #e3f0f3; --critica: #a3241c; --critica-bg: #f8e4e1;
  --estudo: #2f6a2a; --estudo-bg: #e5f1e1; --nota: #5f5a50; --nota-bg: #ede8dc;
}
@media (prefers-color-scheme: dark) {
  :root {
    --papel: #14120f; --cartao: #1d1a16; --tinta: #f1ece2; --cinza: #b1a896; --linha: #36312a;
    --cor: #ff6b5e; --cor-escura: #ff958a; --opiniao: #2c2516; --encruzilhada: #ff6b5e;
    --ensaio: #8fd0e0; --ensaio-bg: #143039; --critica: #ff9c92; --critica-bg: #3a1714;
    --estudo: #a3d99a; --estudo-bg: #1a3117; --nota: #c9c2b3; --nota-bg: #2a2620;
  }
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--papel); color: var(--tinta); font: 17px/1.65 Inter, system-ui, sans-serif; }
a { color: var(--cor-escura); }
.serif { font-family: Fraunces, Georgia, serif; }

/* topo */
.topo { border-bottom: 1px solid var(--tinta); }
.topo .dentro, .abas .dentro, main, .rodape .dentro { max-width: 1040px; margin: 0 auto; padding-left: 16px; padding-right: 16px; }
.marca { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 22px 0 12px; flex-wrap: wrap; }
.marca a { color: var(--tinta); text-decoration: none; font-family: Fraunces, Georgia, serif; font-weight: 800; font-size: clamp(30px, 6vw, 44px); letter-spacing: -.5px; line-height: 1; }
.marca a em { font-style: italic; font-weight: 600; color: var(--cor); }
.marca span { color: var(--cinza); font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
.abas { border-bottom: 1px solid var(--linha); background: var(--papel); position: sticky; top: 0; z-index: 5; }
.abas nav { display: flex; gap: 22px; overflow-x: auto; scrollbar-width: none; font-size: 15px; }
.abas nav::-webkit-scrollbar { display: none; }
.abas a { color: var(--cinza); text-decoration: none; padding: 12px 0 10px; white-space: nowrap; border-bottom: 2px solid transparent; }
.abas a:hover { color: var(--tinta); }
.abas a.ativa { color: var(--tinta); font-weight: 600; border-bottom-color: var(--tinta); }
.abas a.cruz { color: var(--encruzilhada); }
.abas a.cruz.ativa { border-bottom-color: var(--encruzilhada); }

/* faixa da eleição */
.faixa { background: #b3261e; color: #fff; font-size: 14px; }
.faixa .dentro { max-width: 1040px; margin: 0 auto; padding: 8px 16px; }
.faixa a { color: #fff; font-weight: 600; }

/* etiquetas */
.selo { display: inline-block; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.selo .aba { color: var(--cinza); }
.selo .aba.cruz { color: var(--encruzilhada); }
.tipo { display: inline-block; font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; padding: 2px 8px; border-radius: 4px; margin-left: 6px; vertical-align: 1px; }
.tipo.ensaio { color: var(--ensaio); background: var(--ensaio-bg); }
.tipo.critica { color: var(--critica); background: var(--critica-bg); }
.tipo.estudo { color: var(--estudo); background: var(--estudo-bg); }
.tipo.nota { color: var(--nota); background: var(--nota-bg); }
.meta { color: var(--cinza); font-size: 13px; }

/* home */
main { padding-top: 28px; padding-bottom: 48px; }
.capa { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 32px; padding-bottom: 28px; border-bottom: 1px solid var(--linha); }
.capa .principal h2 { font-family: Fraunces, Georgia, serif; font-weight: 800; font-size: clamp(34px, 6vw, 56px); line-height: 1.03; margin: 8px 0 12px; }
.capa .principal h2 a, .lista h3 a, .lado h3 a { color: var(--tinta); text-decoration: none; }
.capa .principal h2 a:hover, .lista h3 a:hover, .lado h3 a:hover { text-decoration: underline; text-decoration-thickness: 1px; }
.capa .principal p { font-size: 19px; color: var(--cinza); margin: 0 0 10px; }
.lado { border-left: 1px solid var(--linha); padding-left: 24px; }
.lado article { padding: 0 0 16px; margin-bottom: 16px; border-bottom: 1px solid var(--linha); }
.lado article:last-child { border-bottom: 0; }
.lado h3 { font-family: Fraunces, Georgia, serif; font-size: 21px; line-height: 1.2; margin: 6px 0 4px; }
.secoes { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 24px; padding-top: 28px; }
.secao h4 { font-size: 13px; letter-spacing: .1em; text-transform: uppercase; margin: 0 0 6px; padding-top: 8px; border-top: 3px solid var(--tinta); }
.secao h4 a { color: var(--tinta); text-decoration: none; }
.secao.cruz h4 { border-top-color: var(--encruzilhada); }
.secao.cruz h4 a { color: var(--encruzilhada); }
.secao p { font-size: 15px; color: var(--cinza); margin: 0 0 8px; }
.secao ul { list-style: none; padding: 0; margin: 0; font-size: 15px; }
.secao li { margin-bottom: 6px; }
.secao li a { color: var(--tinta); }
.vazio { color: var(--cinza); font-style: italic; }

/* página de aba */
.cab-aba { padding-bottom: 18px; border-bottom: 1px solid var(--linha); margin-bottom: 8px; }
.cab-aba h1 { font-family: Fraunces, Georgia, serif; font-weight: 800; font-size: clamp(36px, 7vw, 56px); margin: 0 0 6px; line-height: 1.05; }
.cab-aba.cruz h1 { color: var(--encruzilhada); }
.cab-aba p { font-size: 19px; color: var(--cinza); margin: 0; max-width: 680px; }
.lista article { padding: 20px 0; border-bottom: 1px solid var(--linha); max-width: 720px; }
.lista h3 { font-family: Fraunces, Georgia, serif; font-size: 28px; line-height: 1.15; margin: 6px 0 6px; }
.lista p { margin: 0 0 6px; color: var(--cinza); }

/* texto */
.texto { max-width: 700px; margin: 0 auto; }
.texto header { margin-bottom: 26px; }
.texto h1 { font-family: Fraunces, Georgia, serif; font-weight: 800; font-size: clamp(38px, 8vw, 60px); line-height: 1.03; margin: 10px 0 12px; }
.texto h1 em { font-style: normal; color: var(--cor); }
.texto .linha-fina { font-size: 20px; color: var(--cinza); margin: 0 0 14px; line-height: 1.45; }
.texto h2 { font-family: Fraunces, Georgia, serif; font-size: 27px; line-height: 1.15; margin: 4px 0 10px; }
.texto h3 { font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: var(--cinza); margin: 18px 0 4px; }
.texto ul, .texto ol { padding-left: 22px; }
.sumario { background: var(--cartao); border: 1px solid var(--linha); border-radius: 10px; padding: 12px 18px; }
.sumario ol { margin: 6px 0; }
.post { border-top: 1px solid var(--linha); margin-top: 36px; padding-top: 8px; scroll-margin-top: 56px; }
.post .n { font-size: 12px; color: var(--cor); font-weight: 600; letter-spacing: .1em; }
.opiniao { background: var(--opiniao); border-radius: 10px; padding: 14px 16px; margin: 14px 0; }
.opiniao b { display: block; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--cor); }
.alerta { border: 1px dashed var(--cor); border-radius: 10px; padding: 12px 16px; margin: 14px 0; font-size: 15px; }
.fonte { font-size: 13px; color: var(--cinza); }
.razao { background: var(--cartao); border: 1px solid var(--linha); border-radius: 10px; padding: 16px 18px; margin: 12px 0; }
.razao b { display: block; font-size: 18px; margin-bottom: 4px; }
.urna { display: flex; align-items: center; gap: 16px; margin: 36px 0 8px; padding: 18px; border-radius: 10px; background: #b3261e; color: #fff; }
.urna .n { font-family: Fraunces, Georgia, serif; font-weight: 800; font-size: 56px; line-height: 1; }
.urna p { margin: 0; }
.texto table { width: 100%; border-collapse: collapse; font-size: 15px; margin: 10px 0; }
.texto td { border-bottom: 1px solid var(--linha); padding: 8px 6px; vertical-align: top; }
.texto td:first-child { font-weight: 600; width: 38%; }
.nota-texto { margin-top: 28px; font-size: 14px; color: var(--cinza); border-left: 3px solid var(--linha); padding-left: 12px; }
.partilhar { margin-top: 24px; display: flex; gap: 10px; flex-wrap: wrap; }
.partilhar a, .partilhar button { font: inherit; font-size: 14px; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--linha); background: var(--cartao); color: var(--tinta); cursor: pointer; text-decoration: none; }
.leia-mais { margin-top: 40px; padding-top: 16px; border-top: 3px solid var(--tinta); }
.leia-mais h4 { font-size: 13px; letter-spacing: .1em; text-transform: uppercase; margin: 0 0 10px; }

/* sobre */
.sobre p, .sobre li { font-size: 18px; }

/* rodapé */
.rodape { border-top: 1px solid var(--tinta); margin-top: 24px; }
.rodape .dentro { padding-top: 18px; padding-bottom: 32px; font-size: 13px; color: var(--cinza); }
.rodape nav { display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 10px; }
.rodape nav a { color: var(--tinta); text-decoration: none; }

@media (max-width: 760px) {
  .capa { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .lado { border-left: 0; padding-left: 0; border-top: 1px solid var(--linha); padding-top: 16px; }
}
