:root{--pagina-fundo:#262f3a;--painel-fundo:#ffffff;--texto:#2b3340;--texto-suave:#566073;--titulo:#2b3340;--link:#a3374f;--link-hover:#6e1f31;--linha:#d5d9e1;--foco:#0a58ca;--topo-fundo:#ffffff;--topo-texto:#3a4350;--util-fundo:#1e2533;--util-texto:#e8edf3;--menu-fundo:#ffffff;--menu-texto:#2b3340;--menu-ativo-fundo:#d92f16;--menu-ativo-texto:#ffffff;--menu-painel-fundo:#1e2533;--menu-painel-texto:#ffffff;--menu-painel-link:#bcd7f0;--destaque-fundo-a:#436a85;--destaque-fundo-b:#294156;--destaque-texto:#ffffff;--destaque-link:#ffe69a;--caixa1-fundo:#ffffff;--caixa1-texto:#2b3340;--caixa1-titulo:#294156;--caixa1-link:#a3374f;--caixa2-fundo:#2b3340;--caixa2-texto:#f0f2f5;--caixa2-titulo:#ffffff;--caixa2-link:#f3b9c4;--caixa3-fundo:#f07f7f;--caixa3-texto:#1d2230;--caixa3-titulo:#1d2230;--caixa3-link:#5a0f1f;--promo-fundo:#1b2430;--promo-texto:#ffffff;--promo-link:#f3b9c4;--botao-fundo:#f2af1f;--botao-texto:#1d1400;--botao-borda:#d99b0f;--rodape-fundo:#252525;--rodape-texto:#cfd5dc;--rodape-titulo:#ffffff;--rodape-link:#9cc4ea;--tag-fundo:#6e1f31;--aviso-fundo:#fff6df;--aviso-borda:#c99a2e;}
/* AutoCMS — CSS base do site gerado.
   As CORES vêm das variáveis do tema (bloco :root gerado na tela Aparência).
   CSS puro, sem dependências externas. Unidades em rem para respeitar zoom e tamanho de texto. */

:root {
  --serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;
  --sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --largura: 78rem;
  --raio: 4px;
  --ico-ext: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M14 3h7v7M21 3l-9 9M19 14v6a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h6'/></svg>");
}

*, *::before, *::after { box-sizing: border-box; }
html { font-size: 100%; -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 1rem; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { animation: none !important; transition: none !important; } }

body {
  margin: 0;
  font-family: var(--sans);
  font-size: 1rem;
  line-height: 1.6;
  color: var(--texto);
  background-color: var(--pagina-fundo);
  background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.035) 0 2px, transparent 2px 9px);
}
img, svg, video { max-width: 100%; height: auto; }
a { color: var(--link); text-underline-offset: 0.18em; }
a:hover { color: var(--link-hover); text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--foco); outline-offset: 2px; border-radius: 2px; }
h1, h2, h3, h4 { font-family: var(--serif); line-height: 1.25; color: var(--titulo); }
p { margin: 0 0 1em; }
.visualmente-oculto { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.container { width: 100%; max-width: var(--largura); margin: 0 auto; padding: 0 1rem; }

/* ---------- Atalhos de teclado ---------- */
.atalhos { position: absolute; top: 0; left: 0; z-index: 1000; }
.atalhos a { position: absolute; left: -999rem; background: #000; color: #fff; padding: 0.75rem 1rem; font-weight: 600; }
.atalhos a:focus { left: 0; top: 0; }

/* ---------- Barra de ferramentas ---------- */
.barra-util { background: var(--util-fundo); color: var(--util-texto); font-size: 0.875rem; }
.barra-util .container { display: flex; flex-wrap: wrap; gap: 0.25rem 1.25rem; align-items: center; justify-content: flex-end; padding-top: 0.3rem; padding-bottom: 0.3rem; }
.barra-util ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.25rem 0.5rem; align-items: center; }
.barra-util a, .barra-util button { color: var(--util-texto); background: none; border: 0; font: inherit; cursor: pointer; padding: 0.35rem 0.5rem; text-decoration: none; border-radius: var(--raio); min-height: 2rem; }
.barra-util a:hover, .barra-util button:hover { background: rgba(255,255,255,.16); color: var(--util-texto); text-decoration: underline; }
.barra-util button[aria-pressed="true"] { background: var(--botao-fundo); color: var(--botao-texto); font-weight: 700; }
.barra-util .tam button { font-weight: 700; min-width: 2.25rem; border: 1px solid rgba(255,255,255,.45); }
.barra-util .rotulo { opacity: .9; }
.barra-util svg { width: 1.1rem; height: 1.1rem; vertical-align: -0.2em; }
.barra-util .redes a { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; padding: 0; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; }

/* ---------- Cabeçalho ---------- */
.cabecalho { background: var(--topo-fundo); color: var(--topo-texto); border-bottom: 1px solid var(--linha); }
.cabecalho .container { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 2rem; justify-content: space-between; padding-top: 1rem; padding-bottom: 1rem; }
.marca { display: flex; align-items: center; gap: 0.9rem; text-decoration: none; color: var(--topo-texto); }
.marca:hover { color: var(--topo-texto); text-decoration: none; }
.marca img, .marca svg { width: 4rem; height: 4rem; flex: none; object-fit: contain; }
.marca-texto { display: flex; flex-direction: column; line-height: 1.15; }
.marca-texto .pequeno { font-size: 0.9rem; letter-spacing: .01em; opacity: .85; }
.marca-texto .grande { font-family: var(--serif); font-size: 1.7rem; font-weight: 700; color: var(--titulo); }
.marca-texto .uf { font-size: 0.8rem; opacity: .85; }
.cabecalho-modulos { flex: 1 1 18rem; font-size: 0.82rem; line-height: 1.5; text-align: center; color: var(--topo-texto); }
.cabecalho-modulos a { color: var(--link); }
.cabecalho-modulos .modulo { margin: 0; }
.cabecalho-dir { display: flex; flex-direction: column; gap: 0.5rem; align-items: flex-end; max-width: 22rem; width: 100%; flex: 0 1 22rem; }
.busca-topo { display: flex; gap: 0; width: 100%; }
.busca-topo input { flex: 1; min-width: 0; }
.campo-busca { font: inherit; padding: 0.55rem 0.8rem; border: 2px solid var(--menu-painel-fundo); border-right: 0; border-radius: var(--raio) 0 0 var(--raio); background: #fff; color: #1d2230; }
.btn-busca { font: inherit; font-weight: 700; padding: 0.55rem 1rem; border: 2px solid var(--menu-painel-fundo); background: var(--menu-painel-fundo); color: var(--menu-painel-texto); cursor: pointer; border-radius: 0 var(--raio) var(--raio) 0; }
.btn-busca:hover { filter: brightness(1.25); }
.btn-menu { display: none; font: inherit; font-weight: 700; padding: 0.6rem 1rem; background: var(--menu-painel-fundo); color: var(--menu-painel-texto); border: 0; border-radius: var(--raio); cursor: pointer; }

/* ---------- Navegação principal ---------- */
.nav-principal { background: var(--menu-fundo); color: var(--menu-texto); position: relative; z-index: 50; border-top: 3px solid var(--menu-painel-fundo); border-bottom: 1px solid var(--linha); }
.nav-principal > .container { padding-top: 0; padding-bottom: 0; }
.nav-principal ul.nivel-0 { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; }
.nav-principal .item-0 { position: static; }
.nav-principal .item-0 > a, .nav-principal .item-0 > button { display: flex; align-items: center; gap: 0.4rem; padding: 0.8rem 0.95rem; color: var(--menu-texto); background: none; border: 0; font: inherit; font-size: 0.82rem; font-weight: 700; text-transform: uppercase; letter-spacing: .02em; cursor: pointer; text-decoration: none; white-space: nowrap; }
.nav-principal .item-0 > a:hover, .nav-principal .item-0 > button:hover, .nav-principal .item-0 > button[aria-expanded="true"], .nav-principal .item-0 > a[aria-current="page"], .nav-principal .item-0.atual > button, .nav-principal .item-0.atual > a { background: var(--menu-ativo-fundo); color: var(--menu-ativo-texto); }
.nav-principal .seta { width: 0.5rem; height: 0.5rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform .15s; }
.nav-principal button[aria-expanded="true"] .seta { transform: rotate(-135deg) translateY(-2px); }
.painel { position: absolute; left: 0; right: 0; background: var(--menu-painel-fundo); color: var(--menu-painel-texto); border-bottom: 4px solid var(--menu-ativo-fundo); box-shadow: 0 12px 24px rgba(0,0,0,.3); max-height: calc(100vh - 12rem); overflow: auto; }
.painel[hidden] { display: none; }
.painel .container { padding-top: 1.25rem; padding-bottom: 1.5rem; }
.painel ul { list-style: none; margin: 0; padding: 0; }
.painel .colunas { column-width: 17rem; column-gap: 2rem; }
.painel .grupo { break-inside: avoid; margin: 0 0 1.1rem; }
.painel .grupo > .rotulo-grupo { display: block; font-weight: 700; color: var(--menu-painel-texto); border-bottom: 1px solid rgba(255,255,255,.3); padding-bottom: 0.2rem; margin-bottom: 0.35rem; text-decoration: none; }
.painel a.rotulo-grupo:hover { text-decoration: underline; }
.painel li { margin: 0; }
.painel a { color: var(--menu-painel-link); }
.painel li a { display: block; padding: 0.28rem 0; text-decoration: none; }
.painel li a:hover { color: #fff; text-decoration: underline; }
.painel ul ul { margin: 0 0 0.2rem 0.9rem; padding-left: 0.7rem; border-left: 2px solid rgba(255,255,255,.25); font-size: 0.94rem; }
.painel .ver-tudo { display: inline-block; margin-bottom: 0.9rem; font-weight: 700; }
.ext::after { content: ""; display: inline-block; width: 0.7em; height: 0.7em; margin-left: 0.3em; background: currentColor; -webkit-mask: var(--ico-ext) center/contain no-repeat; mask: var(--ico-ext) center/contain no-repeat; opacity: .75; }

/* ---------- Estrutura da página ---------- */
main { display: block; outline: none; }
.destaque { background: var(--destaque-fundo-a); background-image: linear-gradient(180deg, var(--destaque-fundo-a), var(--destaque-fundo-b)); color: var(--destaque-texto); padding: 1.25rem 0; border-bottom: 1px solid rgba(0,0,0,.25); }
.destaque a { color: var(--destaque-link); }
.destaque h2, .destaque h3 { color: var(--destaque-texto); }
.grade-destaque { display: grid; grid-template-columns: var(--cols, 1fr); gap: 1rem; align-items: start; }
.painel-wrap { padding-top: 1rem; padding-bottom: 1.5rem; }
.painel-principal { background: var(--painel-fundo); color: var(--texto); padding: 1rem 1.25rem 1.5rem; box-shadow: 0 2px 14px rgba(0,0,0,.35); }
.trilha { font-size: 0.875rem; color: var(--texto-suave); padding: 0 0 0.5rem; }
.trilha ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.25rem; }
.trilha li + li::before { content: "›"; margin-right: 0.35rem; }
.trilha a { color: var(--texto-suave); }
.corpo { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25rem; align-items: start; }
.conteudo-principal { min-width: 0; }
.lateral { min-width: 0; }
@media (min-width: 62.01rem) {
  .corpo.com-laterais { grid-template-columns: var(--cols); }
  .corpo.tem-a .lateral-a { grid-column: 1; grid-row: 1; }
  .corpo.tem-a .conteudo-principal { grid-column: 2; grid-row: 1; }
  .corpo.tem-a .lateral-b { grid-column: 3; grid-row: 1; }
  .corpo:not(.tem-a) .conteudo-principal { grid-column: 1; grid-row: 1; }
  .corpo:not(.tem-a) .lateral-b { grid-column: 2; grid-row: 1; }
}
.base-modulos { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: 1rem; margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid var(--linha); align-items: start; }

/* ---------- Módulos e caixas ---------- */
.modulo { margin: 0 0 1rem; overflow-wrap: break-word; }
.modulo-titulo { font-size: 1.3rem; margin: 0 0 0.6rem; font-family: var(--serif); }
.modulo.caixa1, .modulo.caixa2, .modulo.caixa3, .modulo.promo { padding: 0.9rem 1rem 1rem; }
.modulo.caixa1 { background: var(--caixa1-fundo); color: var(--caixa1-texto); border: 1px solid var(--linha); }
.modulo.caixa1 .modulo-titulo { color: var(--caixa1-titulo); } .modulo.caixa1 a { color: var(--caixa1-link); }
.modulo.caixa2 { background: var(--caixa2-fundo); color: var(--caixa2-texto); }
.modulo.caixa2 .modulo-titulo { color: var(--caixa2-titulo); } .modulo.caixa2 a { color: var(--caixa2-link); }
.modulo.caixa3 { background: var(--caixa3-fundo); color: var(--caixa3-texto); }
.modulo.caixa3 .modulo-titulo { color: var(--caixa3-titulo); } .modulo.caixa3 a { color: var(--caixa3-link); }
.modulo.promo { background: var(--promo-fundo); color: var(--promo-texto); }
.modulo.promo .modulo-titulo { color: var(--promo-texto); } .modulo.promo a { color: var(--promo-link); }
.modulo img { max-width: 100%; height: auto; }
.modulo table { max-width: 100%; border-collapse: collapse; }
.modulo td { vertical-align: top; padding: 0.25rem; }
.modulo iframe { max-width: 100%; border: 0; }
.modulo center { display: block; text-align: center; }
.modulo.mod-iframe iframe { width: 100%; border: 1px solid var(--linha); background: #fff; }
.modulo .botao-link, .modulo .btn-default, .modulo a.btn { display: inline-block; padding: 0.45rem 0.9rem; background: var(--botao-fundo); color: var(--botao-texto) !important; border: 1px solid var(--botao-borda); border-radius: var(--raio); font-weight: 700; text-decoration: none; font-size: 0.9rem; }
.modulo .botao-link:hover, .modulo a.btn:hover { filter: brightness(.95); text-decoration: underline; }
.menu-modulo { list-style: none; margin: 0; padding: 0; }
.menu-modulo li { margin: 0; }
.menu-modulo a, .menu-modulo .rotulo-grupo { display: block; padding: 0.22rem 0; text-decoration: none; font-size: 0.94rem; line-height: 1.35; }
.menu-modulo a:hover { text-decoration: underline; }
.menu-modulo ul { list-style: none; margin: 0 0 0.2rem 0.8rem; padding-left: 0.6rem; border-left: 2px solid rgba(128,128,128,.4); }
.menu-modulo .rotulo-grupo { font-weight: 700; }
.mod-busca form { display: flex; }
.mod-busca .campo-busca { flex: 1; min-width: 0; }

/* ---------- Conteúdo ---------- */
.pagina { padding: 0 0 1rem; }
.titulo-pagina { font-size: clamp(1.6rem, 1.2rem + 1.6vw, 2.2rem); margin: 0.25rem 0 0.4rem; color: var(--titulo); }
.meta-artigo { color: var(--texto-suave); font-size: 0.9rem; margin: 0 0 1.25rem; padding-bottom: 0.75rem; border-bottom: 1px solid var(--linha); }
.conteudo-artigo { max-width: 62rem; overflow-wrap: break-word; display: flow-root; }
.conteudo-artigo.largo { max-width: none; }
.conteudo-artigo img { max-width: 100%; height: auto; }
.conteudo-artigo table { border-collapse: collapse; max-width: 100%; }
.conteudo-artigo td, .conteudo-artigo th { padding: 0.35rem 0.5rem; vertical-align: top; }
.conteudo-artigo iframe { max-width: 100%; border: 1px solid var(--linha); }
.conteudo-artigo hr { border: 0; border-top: 1px solid var(--linha); margin: 1.5rem 0; }
.conteudo-artigo button { font: inherit; padding: 0.4rem 0.9rem; cursor: pointer; border: 1px solid var(--botao-borda); background: var(--botao-fundo); color: var(--botao-texto); border-radius: var(--raio); }
.conteudo-artigo a.botao-link { display: inline-block; padding: 0.4rem 0.9rem; border: 1px solid var(--botao-borda); background: var(--botao-fundo); color: var(--botao-texto); border-radius: var(--raio); text-decoration: none; font-weight: 600; margin: 0.15rem 0; }
.conteudo-artigo a.botao-link:hover { filter: brightness(.95); text-decoration: underline; }
.conteudo-artigo a.botao-link::after { content: none !important; }
.tabela-rolavel { overflow-x: auto; max-width: 100%; margin: 0 0 1em; }
.tabela-rolavel:focus-visible { outline-offset: -3px; }
.conteudo-artigo a.link-pdf::after { content: " (PDF)"; font-size: .8em; color: var(--texto-suave); white-space: nowrap; }
.incorporado-barra { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; align-items: center; justify-content: space-between; background: #f3f4f7; color: #3a4350; border: 1px solid var(--linha); border-bottom: 0; padding: 0.6rem 0.9rem; font-size: 0.92rem; }
.incorporado-barra p { margin: 0; }
.btn { display: inline-block; font: inherit; font-weight: 700; padding: 0.55rem 1.1rem; border-radius: var(--raio); background: var(--botao-fundo); color: var(--botao-texto); border: 2px solid var(--botao-borda); text-decoration: none; cursor: pointer; }
.btn:hover { filter: brightness(.95); color: var(--botao-texto); text-decoration: underline; }
.btn-claro { background: #fff; color: #1d2230; border-color: #8a94a3; }
.btn-claro:hover { background: #f3f4f7; color: #1d2230; }
.quadro-incorporado { width: 100%; height: max(var(--h, 600px), 75vh); border: 1px solid var(--linha); display: block; background: #fff; }
.aviso { background: var(--aviso-fundo); color: #1d2230; border-left: 5px solid var(--aviso-borda); padding: 0.8rem 1rem; margin: 1rem 0; }
.aviso p:last-child { margin: 0; }
.aviso a { color: #6e1f31; }

/* ---------- Listagens ---------- */
.lista-artigos { list-style: none; margin: 0; padding: 0; }
.lista-artigos li { border-top: 1px solid var(--linha); padding: 0.7rem 0; display: grid; grid-template-columns: 7.5rem 1fr; gap: 0.25rem 1rem; }
.lista-artigos li:last-child { border-bottom: 1px solid var(--linha); }
.lista-artigos time { color: var(--texto-suave); font-size: 0.9rem; font-variant-numeric: tabular-nums; }
.lista-artigos a { font-weight: 600; }
.lista-artigos .resumo { grid-column: 2; color: var(--texto-suave); margin: 0.15rem 0 0; font-size: 0.95rem; }
.ano-titulo { font-size: 1.3rem; margin: 2rem 0 0.5rem; }
.anos-atalho { display: flex; flex-wrap: wrap; gap: 0.4rem; list-style: none; padding: 0; margin: 0 0 1rem; }
.anos-atalho a { display: inline-block; padding: 0.2rem 0.7rem; border: 1px solid var(--link); border-radius: 999px; text-decoration: none; font-size: 0.9rem; }
.anos-atalho a:hover { background: var(--link); color: var(--painel-fundo); }
.filtro { margin: 0 0 1.25rem; display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }
.filtro label { font-weight: 600; }
.filtro input { font: inherit; padding: 0.5rem 0.7rem; border: 2px solid var(--link); border-radius: var(--raio); min-width: min(100%, 20rem); background: #fff; color: #1d2230; }
.contador-filtro { color: var(--texto-suave); font-size: 0.9rem; }
.paginacao { display: flex; flex-wrap: wrap; gap: 0.4rem; list-style: none; margin: 1.5rem 0 0; padding: 0; }
.paginacao a, .paginacao span { display: block; min-width: 2.4rem; text-align: center; padding: 0.4rem 0.7rem; border: 1px solid var(--link); border-radius: var(--raio); text-decoration: none; }
.paginacao [aria-current="page"] { background: var(--tag-fundo); border-color: var(--tag-fundo); color: #fff; font-weight: 700; }
.subcategorias { list-style: none; margin: 0 0 2rem; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); gap: 0.75rem; }
.subcategorias a { display: block; padding: 0.9rem 1rem; border: 1px solid var(--linha); border-left: 4px solid var(--botao-fundo); text-decoration: none; font-weight: 600; }
.subcategorias a:hover { border-color: var(--link); border-left-color: var(--link); }
.subcategorias small { display: block; font-weight: 400; color: var(--texto-suave); }

/* ---------- Notícias em destaque (home) ---------- */
.secao-cab { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 0.5rem 1rem; border-bottom: 2px solid var(--link); margin-bottom: 1rem; }
.secao-cab h2 { font-size: 1.5rem; margin: 0 0 0.35rem; }
.cartoes { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.1rem; }
.cartao { border: 1px solid var(--linha); border-top: 4px solid var(--tag-fundo); padding: 0.9rem 1.1rem 1rem; background: var(--painel-fundo); }
.cartao h3 { font-size: 1.2rem; margin: 0 0 0.2rem; line-height: 1.3; }
.cartao h3 a { text-decoration: none; }
.cartao h3 a:hover { text-decoration: underline; }
.cartao .meta { color: var(--texto-suave); font-size: 0.85rem; margin: 0 0 0.5rem; }
.cartao .resumo { margin: 0 0 0.6rem; color: var(--texto); }
.cartao .leia-mais { font-weight: 700; font-size: 0.92rem; }
.ver-todas { margin: 1.2rem 0 0; }

/* ---------- Vereadores em grade ---------- */
.vereadores { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(9.5rem, 1fr)); gap: 1rem; }
.vereadores a { display: block; text-decoration: none; color: var(--texto); height: 100%; }
.vereadores img, .vereadores .sem-foto { display: block; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; object-position: top; background: #eef1f5; border-bottom: 4px solid var(--botao-fundo); }
.vereadores .sem-foto { display: grid; place-items: center; font-family: var(--serif); font-size: 2.4rem; color: var(--link); }
.vereadores span.nome { display: block; font-weight: 600; font-size: 0.95rem; line-height: 1.3; margin-top: 0.4rem; }
.vereadores a:hover span.nome { text-decoration: underline; color: var(--link); }
.vereadores .legenda { display: block; font-size: .8rem; color: var(--texto-suave); }

/* ---------- Busca ---------- */
.resultados { list-style: none; padding: 0; margin: 1rem 0; }
.resultados li { padding: 0.9rem 0; border-top: 1px solid var(--linha); }
.resultados h2 { font-size: 1.1rem; margin: 0 0 0.15rem; font-family: var(--sans); }
.resultados .origem { font-size: 0.85rem; color: var(--texto-suave); margin: 0 0 0.25rem; }
.resultados .trecho { margin: 0; font-size: 0.95rem; }
mark { background: #ffe38a; color: #1d1400; padding: 0 0.1em; }
.form-busca-grande { display: flex; max-width: 40rem; margin: 1rem 0; }
.form-busca-grande .campo-busca { flex: 1; font-size: 1.1rem; min-width: 0; }

/* ---------- Rodapé ---------- */
.rodape { background: var(--rodape-fundo); color: var(--rodape-texto); font-size: 0.95rem; margin-top: 0; }
.rodape a { color: var(--rodape-link); }
.rodape .container { padding-top: 2rem; padding-bottom: 1.25rem; }
.rodape h2, .rodape h3 { font-family: var(--serif); font-size: 1.3rem; margin: 0 0 0.6rem; color: var(--rodape-titulo); font-weight: 400; }
.rodape ul { list-style: none; margin: 0; padding: 0; }
.rodape li { margin: 0.2rem 0; }
.rodape address { font-style: normal; }
.rodape .modulo { margin-bottom: 1rem; }
.rodape-colunas { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 2rem; }
.rodape .fim { border-top: 1px solid rgba(255,255,255,.2); margin-top: 1.25rem; padding-top: 0.9rem; font-size: 0.85rem; }

/* ---------- Aviso de cookies e voltar ao topo ---------- */
.aviso-cookies { position: fixed; left: 0; right: 0; bottom: 0; z-index: 900; background: #1b2a41; color: #fff; border-top: 4px solid #f2af1f; box-shadow: 0 -6px 24px rgba(0,0,0,.35); }
.aviso-cookies[hidden] { display: none; }
.aviso-cookies .container { display: flex; flex-wrap: wrap; gap: 0.75rem 1.5rem; align-items: center; padding-top: 1rem; padding-bottom: 1rem; }
.aviso-cookies h2 { font-family: var(--sans); font-size: 1rem; margin: 0 0 0.2rem; color: #fff; }
.aviso-cookies p { margin: 0; font-size: 0.9rem; max-width: 52rem; }
.aviso-cookies .texto { flex: 1 1 24rem; }
.aviso-cookies a { color: #ffe38a; }
.aviso-cookies .acoes { display: flex; gap: 0.6rem; flex-wrap: wrap; }
.aviso-cookies .btn { background: #f2af1f; border-color: #f2af1f; color: #1d1400; }
.aviso-cookies .btn-claro { background: transparent; color: #fff; border-color: #fff; }
.voltar-topo { position: fixed; right: 1rem; bottom: 1rem; z-index: 800; width: 2.8rem; height: 2.8rem; border-radius: 50%; border: 2px solid var(--menu-painel-fundo); background: #fff; color: #1d2230; font-size: 1.3rem; cursor: pointer; display: none; line-height: 1; }
.voltar-topo.visivel { display: block; }

/* ---------- Responsivo ---------- */
@media (max-width: 62rem) {
  .grade-destaque { grid-template-columns: minmax(0, 1fr); }
  .rodape-colunas { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 56rem) {
  .btn-menu { display: inline-block; }
  .cabecalho-dir { order: 3; max-width: none; flex-basis: 100%; align-items: stretch; }
  .nav-principal { display: none; }
  .nav-principal.aberto { display: block; }
  .nav-principal ul.nivel-0 { flex-direction: column; }
  .nav-principal .item-0 > a, .nav-principal .item-0 > button { width: 100%; justify-content: space-between; border-top: 1px solid var(--linha); white-space: normal; text-align: left; }
  .painel { position: static; max-height: none; box-shadow: none; border-bottom-width: 0; }
  .painel .container { padding: 0.75rem 1rem 1rem; }
  .painel .colunas { column-width: auto; }
}
@media (max-width: 38rem) {
  .rodape-colunas { grid-template-columns: 1fr; }
  .lista-artigos li { grid-template-columns: 1fr; }
  .lista-artigos .resumo { grid-column: 1; }
  .marca img, .marca svg { width: 3rem; height: 3rem; }
  .marca-texto .grande { font-size: 1.35rem; }
  .barra-util .container { justify-content: center; }
  .painel-principal { padding: 0.75rem; }
}
.sem-js .painel[hidden] { display: block; position: static; }
.sem-js .nav-principal { display: block; }
.sem-js .nav-principal ul.nivel-0 { flex-direction: column; }

@media print {
  .atalhos, .barra-util, .cabecalho .busca-topo, .btn-menu, .nav-principal, .rodape, .aviso-cookies, .voltar-topo, .incorporado-barra .btn, .filtro, .acoes-pagina, .destaque, .lateral { display: none !important; }
  body { color: #000; background: #fff; }
  .painel-principal { box-shadow: none; padding: 0; }
  .conteudo-artigo a[href^="http"]::after { content: " (" attr(href) ")"; font-size: .8em; word-break: break-all; }
}

/* ---------- Alto contraste (padrão eMAG: fundo preto, texto claro, links amarelos) ---------- */
:root[data-contraste="alto"] {
  --pagina-fundo: #000; --painel-fundo: #000; --texto: #fff; --texto-suave: #fff; --titulo: #ffeb3b; --link: #ffeb3b; --link-hover: #fff; --linha: #fff; --foco: #00e5ff;
  --topo-fundo: #000; --topo-texto: #fff; --util-fundo: #000; --util-texto: #fff; --menu-fundo: #000; --menu-texto: #ffeb3b; --menu-ativo-fundo: #ffeb3b; --menu-ativo-texto: #000;
  --menu-painel-fundo: #000; --menu-painel-texto: #fff; --menu-painel-link: #ffeb3b;
  --destaque-fundo-a: #000; --destaque-fundo-b: #000; --destaque-texto: #fff; --destaque-link: #ffeb3b;
  --caixa1-fundo: #000; --caixa1-texto: #fff; --caixa1-titulo: #ffeb3b; --caixa1-link: #ffeb3b;
  --caixa2-fundo: #000; --caixa2-texto: #fff; --caixa2-titulo: #ffeb3b; --caixa2-link: #ffeb3b;
  --caixa3-fundo: #000; --caixa3-texto: #fff; --caixa3-titulo: #ffeb3b; --caixa3-link: #ffeb3b;
  --promo-fundo: #000; --promo-texto: #fff; --promo-link: #ffeb3b;
  --botao-fundo: #ffeb3b; --botao-texto: #000; --botao-borda: #ffeb3b;
  --rodape-fundo: #000; --rodape-texto: #fff; --rodape-titulo: #ffeb3b; --rodape-link: #ffeb3b;
  --tag-fundo: #ffeb3b; --aviso-fundo: #000; --aviso-borda: #ffeb3b;
}
:root[data-contraste="alto"] body { background-image: none; }
:root[data-contraste="alto"] .painel-principal, :root[data-contraste="alto"] .nav-principal, :root[data-contraste="alto"] .cabecalho, :root[data-contraste="alto"] .rodape, :root[data-contraste="alto"] .modulo.caixa1, :root[data-contraste="alto"] .modulo.caixa2, :root[data-contraste="alto"] .modulo.caixa3, :root[data-contraste="alto"] .modulo.promo, :root[data-contraste="alto"] .cartao { border: 1px solid #fff; }
:root[data-contraste="alto"] .paginacao [aria-current="page"], :root[data-contraste="alto"] .btn-menu, :root[data-contraste="alto"] .btn-busca { color: #000; }
:root[data-contraste="alto"] .btn-busca, :root[data-contraste="alto"] .btn-menu { background: #ffeb3b; border-color: #ffeb3b; }
:root[data-contraste="alto"] .btn-claro, :root[data-contraste="alto"] .incorporado-barra, :root[data-contraste="alto"] .aviso, :root[data-contraste="alto"] .aviso a { background: #000; color: #fff; border-color: #fff; }
:root[data-contraste="alto"] .btn-claro:hover { background: #fff; color: #000; }
:root[data-contraste="alto"] .conteudo-artigo,
:root[data-contraste="alto"] .conteudo-artigo * { color: #fff !important; background-color: transparent !important; border-color: #fff !important; text-shadow: none !important; box-shadow: none !important; }
:root[data-contraste="alto"] .conteudo-artigo a, :root[data-contraste="alto"] .conteudo-artigo a * { color: #ffeb3b !important; }
:root[data-contraste="alto"] .modulo a.botao-link, :root[data-contraste="alto"] .modulo a.btn { color: #000 !important; }
:root[data-contraste="alto"] img { filter: grayscale(.2) contrast(1.1); }
:root[data-contraste="alto"] mark { background: #ffeb3b; color: #000; }
:root[data-contraste="alto"] .aviso-cookies { background: #000; border-top-color: #ffeb3b; }
:root[data-contraste="alto"] .aviso-cookies .btn { background: #ffeb3b; border-color: #ffeb3b; color: #000; }
:root[data-contraste="alto"] .aviso-cookies .btn-claro { background: #000; color: #ffeb3b; border-color: #ffeb3b; }
:root[data-contraste="alto"] .aviso-cookies a:not(.btn) { color: #ffeb3b; }
:root[data-contraste="alto"] .voltar-topo { background: #000; color: #ffeb3b; border-color: #ffeb3b; }
