/* Tema portal/revista. Cores e fontes vêm do site.yaml. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--fundo);color:var(--texto);font-family:var(--fonte-texto);font-size:1.1rem;line-height:1.65;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
a{color:var(--marca);text-decoration-thickness:.07em;text-underline-offset:.18em}
a:hover{text-decoration-color:var(--destaque)}
:focus-visible{outline:3px solid var(--destaque);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pular{position:absolute;left:-999px;top:0;background:var(--marca);color:#fff;padding:.5rem 1rem;z-index:30}
.pular:focus{left:1rem}

:root{--largura:78rem;--margem:clamp(1rem,3vw,1.75rem);--escuro:#101713}
.barra-in,.cabecalho-in,.menu-in,.mosaico,.faixa-in,.colunas,.rodape-in,.rodape-fim,.pagina-larga{max-width:var(--largura);margin-inline:auto;padding-inline:var(--margem)}

/* Barra do topo */
.barra{background:var(--escuro);color:#C9D3CD;font-size:.95rem}
.barra-in{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:2.4rem;flex-wrap:wrap}
.barra-data{margin:0;text-transform:none}
.barra-links{list-style:none;margin:0;padding:0;display:flex;gap:1.3rem}
.barra-links a{color:#C9D3CD;text-decoration:none}
.barra-links a:hover{color:#fff}

/* Cabeçalho */
.cabecalho{background:var(--superficie)}
.cabecalho-in{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-block:1.6rem;flex-wrap:wrap}
.marca{font-family:var(--fonte-titulo);font-weight:var(--peso-titulo);font-size:clamp(2.1rem,4.2vw,2.9rem);line-height:1;color:var(--texto);text-decoration:none;display:flex;flex-direction:column;gap:.45rem}
.marca-sub{font-family:var(--fonte-texto);font-weight:400;font-size:1rem;line-height:1.3;color:var(--suave);max-width:46ch}
.banner-topo{width:728px;max-width:100%;min-height:90px;overflow:hidden}
@media (max-width:1000px){.banner-topo{display:none}}

/* Menu */
.menu{background:var(--marca);position:sticky;top:0;z-index:15}
.menu-in{display:flex;align-items:stretch;justify-content:space-between;gap:1rem}
.menu ul{list-style:none;margin:0;padding:0;display:flex;overflow-x:auto;scrollbar-width:none}
.menu ul a{display:block;font-family:var(--fonte-ui);font-weight:500;font-size:1.02rem;letter-spacing:.005em;color:#fff;text-decoration:none;padding:.8rem 1.1rem;white-space:nowrap}
.menu ul a:hover{background:rgb(0 0 0 / .18)}
.menu ul a[aria-current]{background:var(--destaque);color:var(--escuro)}
.menu-busca{display:flex;align-items:center;gap:.45rem;color:#fff;text-decoration:none;font-family:var(--fonte-ui);font-weight:500;font-size:1rem;padding:0 .2rem 0 1rem;flex:none}
.menu-busca:hover{color:var(--destaque)}
@media (max-width:640px){.menu-busca span{display:none}}

/* Capas */
.capa{display:block;position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--cor-cat)}
.capa img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.capa-tipo{position:absolute;inset:0;display:flex;align-items:flex-end;padding:.9rem 1.1rem;background:var(--cor-cat)}
/* Padrões de capa (campo capa_padrao no site.yaml) */
.padrao-campo .capa-tipo{background:
  radial-gradient(circle at 50% 50%,transparent 21%,rgb(255 255 255 / .13) 21.4%,rgb(255 255 255 / .13) 22.2%,transparent 22.6%),
  linear-gradient(90deg,transparent calc(50% - 1px),rgb(255 255 255 / .13) calc(50% - 1px),rgb(255 255 255 / .13) calc(50% + 1px),transparent calc(50% + 1px)),
  var(--cor-cat)}
.padrao-pontos .capa-tipo{background:radial-gradient(rgb(255 255 255 / .16) 1.5px,transparent 1.7px) 0 0/18px 18px,var(--cor-cat)}
.padrao-diagonal .capa-tipo{background:repeating-linear-gradient(135deg,transparent 0 14px,rgb(255 255 255 / .08) 14px 16px),var(--cor-cat)}
  radial-gradient(circle at 50% 50%,transparent 21%,rgb(255 255 255 / .13) 21.4%,rgb(255 255 255 / .13) 22.2%,transparent 22.6%),
  linear-gradient(90deg,transparent calc(50% - 1px),rgb(255 255 255 / .13) calc(50% - 1px),rgb(255 255 255 / .13) calc(50% + 1px),transparent calc(50% + 1px)),
  var(--cor-cat)}
.capa-ano{font-family:var(--fonte-titulo);font-weight:var(--peso-titulo);font-size:clamp(2.4rem,4.6vw,3.4rem);line-height:.9;color:var(--destaque)}
.capa-rotulo{font-family:var(--fonte-titulo);font-weight:var(--peso-titulo);font-style:italic;font-size:clamp(1.6rem,2.8vw,2.2rem);line-height:1.05;color:#fff;opacity:.94;max-width:9ch}
.sob-grande .capa-rotulo{font-size:clamp(2.6rem,4.6vw,3.8rem)}
.capa-mini .capa-rotulo{font-size:.95rem;max-width:none}
.capa-mini{aspect-ratio:4/3}
.capa-mini .capa-tipo{padding:.35rem .5rem}
.capa-mini .capa-ano{font-size:1.15rem}

/* Etiqueta de categoria */
.etiqueta{display:inline-block;align-self:flex-start;background:var(--cor-cat);color:#fff;font-family:var(--fonte-ui);font-weight:600;font-size:.8rem;line-height:1;padding:.42rem .7rem;border-radius:999px;letter-spacing:.01em;text-decoration:none}
a.etiqueta:hover{background:var(--texto);color:var(--fundo)}
.meta-mini{display:flex;flex-wrap:wrap;gap:.1rem 1rem;margin:0;font-size:.85rem;color:var(--suave);font-family:var(--fonte-texto)}

/* Mosaico da abertura */
.mosaico{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,minmax(13rem,17rem));gap:4px;padding-top:var(--margem)}
.sob-grande{grid-row:1/3}
.sob,.sob-link{height:100%}
.sob-link{display:block;position:relative;color:#fff;text-decoration:none;overflow:hidden}
.sob .capa{position:absolute;inset:0;aspect-ratio:auto;height:100%}
.sob .capa-tipo{align-items:flex-start;padding:1rem 1.2rem}
.sob .capa-ano{font-size:clamp(2.6rem,4.6vw,3.6rem);opacity:.95}
.sob-grande .capa-ano{font-size:clamp(4.2rem,8.5vw,7rem)}
.sob-link::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgb(0 0 0 / .78) 100%)}
.sob-texto{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:1rem 1.2rem 1.15rem;display:flex;flex-direction:column;gap:.5rem}
.sob-titulo{font-family:var(--fonte-titulo);font-weight:var(--peso-titulo);font-size:1.3rem;line-height:1.25;text-wrap:balance;text-shadow:0 1px 8px rgb(0 0 0 / .35)}
.sob-grande .sob-texto{padding:1.5rem 1.7rem 1.7rem}
.sob-grande .sob-titulo{font-size:clamp(1.8rem,3.1vw,2.6rem);line-height:1.12}
.sob-desc{font-size:1.08rem;line-height:1.5;opacity:.92;max-width:36rem}
.sob-link:hover img{transform:scale(1.04)}
.sob-link:hover .sob-titulo{text-decoration:underline;text-decoration-color:var(--destaque);text-decoration-thickness:.08em;text-underline-offset:.15em}
@media (max-width:900px){.mosaico{grid-template-columns:1fr 1fr;grid-template-rows:auto}.sob-grande{grid-column:1/3;grid-row:auto;min-height:24rem}.sob:not(.sob-grande){min-height:14rem}}
@media (max-width:560px){.mosaico{grid-template-columns:1fr;padding-inline:0}.sob-grande{grid-column:auto}.sob-grande .sob-desc{display:none}}

/* Títulos de seção (faixa com rótulo colorido, como nos portais) */
.titulo-secao{margin:0;font-family:var(--fonte-titulo);font-weight:var(--peso-titulo);font-size:1.7rem;line-height:1.1;border-bottom:1px solid var(--linha)}
.titulo-secao span{display:inline-block;color:var(--texto);padding:0 0 .5rem;box-shadow:inset 0 -3px 0 var(--cor-cat,var(--marca))}
.titulo-secao-linha{display:flex;align-items:flex-end;gap:1rem;margin-bottom:1.4rem}
.titulo-secao-linha .titulo-secao{flex:1}
.ver-todos{font-size:1rem;white-space:nowrap;padding-bottom:.35rem;color:var(--cor-cat,var(--marca))}

/* Escolhas do editor */
.faixa{background:var(--superficie);border-block:1px solid var(--linha);margin-top:2.5rem;padding-block:2rem 2.5rem}
.faixa .titulo-secao{margin-bottom:1.4rem}
.grade-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.6rem}
@media (max-width:1000px){.grade-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.grade-4{grid-template-columns:1fr}}
.grade-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.2rem 1.8rem}
@media (max-width:640px){.grade-2{grid-template-columns:1fr}}

/* Cards */
.card{display:flex;flex-direction:column;gap:.55rem;min-width:0}
.card-capa{display:block;overflow:hidden;margin-bottom:.35rem}
.card-capa:hover img{transform:scale(1.04)}
.card-titulo{margin:0;font-family:var(--fonte-titulo);font-weight:var(--peso-titulo);font-size:1.32rem;line-height:1.28;text-wrap:balance}
.card-titulo a,.mini-titulo a{color:var(--texto);text-decoration:none}
.card-titulo a:hover,.mini-titulo a:hover{color:var(--marca);text-decoration:underline;text-decoration-color:var(--destaque)}
.card-desc{margin:0;color:var(--suave);font-size:1.05rem;line-height:1.55}
.card-destaque .card-titulo{font-size:clamp(1.6rem,2.4vw,1.95rem);line-height:1.15}

.mini{display:grid;grid-template-columns:6.5rem minmax(0,1fr);gap:.9rem;align-items:start;padding:.8rem 0;border-bottom:1px solid var(--linha)}
.mini:first-child{padding-top:0}
.mini:last-child{border-bottom:0}
.mini-capa{display:block}
.mini-titulo{margin:0 0 .25rem;font-family:var(--fonte-titulo);font-weight:var(--peso-titulo);font-size:1.08rem;line-height:1.3}

/* Colunas: conteúdo + barra lateral */
.colunas{display:grid;grid-template-columns:minmax(0,1fr) 20rem;gap:3rem;padding-top:2.5rem;padding-bottom:4rem;align-items:start}
@media (max-width:1000px){.colunas{grid-template-columns:1fr}}
.bloco-cat+.bloco-cat,.bloco-cat+.anuncio,.anuncio+.bloco-cat{margin-top:3rem}
.bloco-cat-grade{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:1.8rem}
@media (max-width:640px){.bloco-cat-grade{grid-template-columns:1fr}}

/* Barra lateral */
.lateral{display:flex;flex-direction:column;gap:2.2rem}
@media (min-width:1001px){.lateral{position:sticky;top:4.2rem}}
.widget-titulo{margin:0 0 1rem;font-family:var(--fonte-titulo);font-weight:var(--peso-titulo);font-size:1.45rem;line-height:1.1;color:var(--texto);padding:0 0 .55rem;border-bottom:1px solid var(--linha)}
.widget-anuncio{text-align:center;min-height:270px}
.anos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem}
.anos a{display:block;text-align:center;font-family:var(--fonte-titulo);font-weight:var(--peso-titulo);font-size:1.15rem;border-radius:6px;color:var(--marca);text-decoration:none;padding:.35rem 0;border:1px solid var(--linha);background:var(--superficie)}
.anos a:hover{background:var(--marca);color:#fff;border-color:var(--marca)}
.widget-cats{list-style:none;margin:0;padding:0}
.widget-cats a{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0 .6rem .8rem;border-left:4px solid var(--cor-cat);border-bottom:1px solid var(--linha);color:var(--texto);text-decoration:none;font-size:1.08rem}
.widget-cats a:hover{color:var(--marca)}
.widget-qtd{color:var(--suave);font-size:.95rem}

/* Anúncios */
.anuncio{padding:1rem 0;border-block:1px solid var(--linha);min-height:300px;margin:2.5rem 0}
.anuncio-rotulo{font-size:.82rem;color:var(--suave);margin:0 0 .5rem;text-align:center}

/* Categoria */
.cat-topo{margin-bottom:2rem}
.cat-h1{font-size:2.2rem}
.cat-desc{color:var(--suave);font-size:1.15rem;margin:1rem 0 0}
.migalhas{font-size:.98rem;color:var(--suave);display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}
.migalhas a{color:var(--suave)}

/* Artigo */
.colunas-artigo{padding-top:2rem}
.artigo{min-width:0;max-width:46rem}
.artigo-topo .etiqueta{margin-bottom:.4rem}
.artigo-ano{font-family:var(--fonte-titulo);font-weight:var(--peso-titulo);font-size:clamp(3.6rem,9vw,5.6rem);line-height:.9;color:var(--marca);margin:.8rem 0 0}
.artigo-ano::after{content:"";display:block;width:3rem;height:.4rem;background:var(--destaque);margin-top:.9rem}
.artigo h1{font-family:var(--fonte-titulo);font-weight:var(--peso-titulo);font-size:clamp(2.2rem,4.4vw,3.1rem);line-height:1.12;margin:1rem 0 .8rem;text-wrap:balance}
.linha-fina{font-size:1.35rem;line-height:1.5;color:var(--suave);margin:0 0 1.1rem}
.meta{display:flex;flex-wrap:wrap;gap:.2rem 1.4rem;font-size:1rem;color:var(--suave);margin:0;padding:.9rem 0;border-block:1px solid var(--linha)}
.artigo-imagem{margin:1.8rem 0 0}
.artigo-imagem figcaption{font-size:.92rem;color:var(--suave);margin-top:.5rem}
.texto{margin-top:2rem;font-size:1.2rem;line-height:1.75}
@media (max-width:600px){.texto{font-size:1.2rem}}
.texto>*:first-child{margin-top:0}
.texto p{margin:0 0 1.3em}
.texto h2{font-family:var(--fonte-titulo);font-weight:var(--peso-titulo);font-size:1.85rem;line-height:1.2;margin:2em 0 .55em}
.texto h3{font-size:1.35rem;line-height:1.3;margin:1.8em 0 .5em}
.texto ul,.texto ol{padding-left:1.3em;margin:0 0 1.3em}
.texto blockquote{margin:2em 0;padding:.2em 0 .2em 1.3em;border-left:5px solid var(--destaque);font-style:italic}
.texto figure{margin:2em 0}
.texto figcaption{font-size:.95rem;color:var(--suave);margin-top:.5em}
.texto table{width:100%;border-collapse:collapse;font-size:1.05rem;margin:0 0 1.5em;display:block;overflow-x:auto}
.texto th,.texto td{text-align:left;padding:.55em .75em;border-bottom:1px solid var(--linha)}
.artigo-simples{max-width:46rem;margin-inline:auto;padding:2.5rem var(--margem) 4rem}
.artigo-simples h1{margin-top:0}

.vizinhos{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:3rem}
@media (max-width:600px){.vizinhos{grid-template-columns:1fr}}
.vizinho{display:flex;flex-direction:column;gap:.25rem;padding:1rem 1.2rem;background:var(--superficie);border:1px solid var(--linha);text-decoration:none;color:var(--texto)}
.vizinho:hover{border-color:var(--marca)}
.vizinho-dir{text-align:right;grid-column:2}
@media (max-width:600px){.vizinho-dir{grid-column:1}}
.vizinho-rotulo{font-size:.95rem;color:var(--marca)}
.vizinho-titulo{font-weight:600;line-height:1.35}
.relacionados{margin-top:3rem}
.relacionados .secao-titulo{margin:0 0 .8rem;font-family:var(--fonte-titulo);font-weight:var(--peso-titulo);font-size:1.55rem;border-bottom:3px solid var(--marca);padding-bottom:.4rem}
.relacionados ul{list-style:none;margin:0;padding:0}
.relacionados li{border-bottom:1px solid var(--linha)}
.relacionados a{display:flex;gap:1rem;align-items:baseline;padding:.8rem 0;color:var(--texto);text-decoration:none;font-weight:600;line-height:1.35}
.relacionados a:hover{color:var(--marca)}
.rel-ano{font-family:var(--fonte-titulo);font-weight:var(--peso-titulo);font-size:1.25rem;color:var(--marca);min-width:3.2rem}

/* Busca e 404 */
.pagina-topo{max-width:var(--largura);margin-inline:auto;padding:2.5rem var(--margem) 4rem}
.pagina-topo h1{font-family:var(--fonte-titulo);font-weight:var(--peso-titulo);font-size:clamp(2.4rem,5vw,3.4rem);line-height:1.1;margin:.3rem 0 1rem}
.busca label{display:block;font-size:1.05rem;color:var(--suave);margin-bottom:.4rem}
.busca-linha{display:flex;gap:.6rem;max-width:40rem}
.busca input{flex:1;min-width:0;font:inherit;font-size:1.2rem;padding:.7rem .9rem;border:2px solid var(--linha);background:var(--superficie);color:var(--texto)}
.busca input:focus{border-color:var(--marca);outline:none}
.busca button,.cookies button{font-family:var(--fonte-ui);font-weight:600;font-size:1rem;border-radius:999px;padding:.55rem 1.3rem;background:var(--marca);color:#fff;border:0;cursor:pointer}
.busca button:hover,.cookies button:hover{background:var(--texto);color:var(--fundo)}
.busca-status{color:var(--suave);margin:1.5rem 0 .5rem}
.decada-itens{list-style:none;margin:0;padding:0;max-width:48rem}
.marco{display:grid;grid-template-columns:6rem minmax(0,1fr);gap:1.3rem;padding:1rem 0;border-bottom:1px solid var(--linha)}
.marco-sem-ano{grid-template-columns:1fr}
.marco-ano{font-family:var(--fonte-titulo);font-weight:var(--peso-titulo);font-size:2rem;line-height:1;color:var(--marca)}
.marco-titulo{font-weight:600;font-size:1.25rem;color:var(--texto);text-decoration:none}
.marco-titulo:hover{text-decoration:underline}
.marco-desc{margin:.3rem 0 0;color:var(--suave);font-size:1.05rem}
.vazio{color:var(--suave)}

/* Rodapé */
.rodape{background:var(--escuro);color:#C9D3CD}
.rodape-in{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem;padding-top:3rem;padding-bottom:2rem}
@media (max-width:760px){.rodape-in{grid-template-columns:1fr}}
.rodape-marca{font-family:var(--fonte-titulo);font-weight:var(--peso-titulo);font-size:1.8rem;color:#fff;margin:0 0 .4rem;line-height:1}
.rodape-desc{margin:0;font-size:1.02rem;max-width:32ch}
.rodape-titulo{font-family:var(--fonte-ui);font-weight:600;font-size:.95rem;letter-spacing:.02em;color:var(--destaque);margin:0 0 .5rem}
.rodape ul{list-style:none;margin:0;padding:0}
.rodape li{margin:.25rem 0}
.rodape a{color:#E3EAE5;font-size:1.02rem;text-decoration:none}
.rodape a:hover{color:#fff;text-decoration:underline}
.rodape-fim{padding-top:1.2rem;padding-bottom:1.8rem;border-top:1px solid rgb(255 255 255 / .12);font-size:.92rem;margin-block:0}

/* Aviso de cookies */
.cookies{position:fixed;left:1rem;right:1rem;bottom:1rem;max-width:40rem;margin-inline:auto;background:var(--superficie);border:1px solid var(--linha);border-left:5px solid var(--destaque);box-shadow:0 8px 30px rgb(0 0 0 / .18);padding:1rem 1.25rem;display:flex;gap:1rem;align-items:center;z-index:40}
.cookies[hidden]{display:none}
.cookies p{margin:0;font-size:1rem;line-height:1.5}
@media (max-width:520px){.cookies{flex-direction:column;align-items:stretch}}

@media (prefers-color-scheme:dark){:root{--escuro:#070C09}.capa-tipo{filter:brightness(.85)}.menu ul a[aria-current]{color:#101713}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
@media print{.barra,.menu,.lateral,.rodape,.cookies,.anuncio,.vizinhos,.relacionados{display:none}}
