/* TerraViva – novo front (teste /site). Visual editorial moderno. */
/* Fontes da marca (arquivos em assets/fonts) */
@font-face { font-family: "Vesterbro"; src: url("../fonts/vesterbro-medium.otf") format("opentype"); font-weight: 500; font-display: swap; }
@font-face { font-family: "Vesterbro"; src: url("../fonts/vesterbro-bold.otf") format("opentype"); font-weight: 700; font-display: swap; }
@font-face { font-family: "Vesterbro"; src: url("../fonts/vesterbro-extrabold.otf") format("opentype"); font-weight: 800; font-display: swap; }
@font-face { font-family: "Caecilia"; src: url("../fonts/caecilia-light.ttf") format("truetype"); font-weight: 300; font-display: swap; }
@font-face { font-family: "Caecilia"; src: url("../fonts/caecilia-roman.ttf") format("truetype"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Caecilia"; src: url("../fonts/caecilia-italic.ttf") format("truetype"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Caecilia"; src: url("../fonts/caecilia-bold.ttf") format("truetype"); font-weight: 700; font-display: swap; }

:root {
  --tinta: #0f1c24;
  --tinta-2: #3a4a54;
  --suave: #6b7b85;
  --linha: #e6ebee;
  --fundo: #f6f8f9;
  --papel: #ffffff;
  --petrol: #0b1a22;
  --petrol-2: #11262f;
  --ceu: #2fb6f0;
  --campo: #7cc243;
  --sol: #f5b324;
  --whats: #1fa855;
  --raio: 16px;
  --raio-p: 10px;
  --sombra: 0 1px 2px rgba(15,28,36,.04), 0 8px 24px -12px rgba(15,28,36,.18);
  --sombra-forte: 0 2px 4px rgba(15,28,36,.06), 0 24px 48px -20px rgba(15,28,36,.35);
  --f-titulo: "Vesterbro", "Inter", Arial, sans-serif;
  --f-desc: "Caecilia", Georgia, serif;
  --f-texto: "Inter", "Segoe UI", system-ui, sans-serif;
  --f-leitura: "Caecilia", Georgia, serif;
  --wrap: 1240px;
  --topo-h: 72px;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 130px; }
body { margin: 0; background: var(--fundo); color: var(--tinta); font: 15.5px/1.6 var(--f-texto); -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 3px solid var(--ceu); outline-offset: 2px; border-radius: 6px; }
h1, h2, h3 { font-family: var(--f-titulo); font-weight: 700; line-height: 1.15; margin: 0; letter-spacing: 0; text-wrap: balance; }
.wrap { max-width: var(--wrap); margin: 0 auto; padding-inline: 20px; }
.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: #fff; padding: 8px 12px; z-index: 99; }
.pular:focus { left: 8px; }

/* ---------- Topo ---------- */
.topo { position: sticky; top: 0; z-index: 50; background: #fff; border-bottom: 1px solid var(--linha); box-shadow: 0 2px 10px rgba(15,28,36,.06); }
.topo::after { content: ""; position: absolute; inset: auto 0 -1px; height: 2px; background: linear-gradient(90deg, var(--ceu), var(--campo) 55%, var(--sol)); opacity: .9; }
.topo-barra { display: grid; grid-template-columns: auto 1fr auto auto; align-items: center; gap: 22px; min-height: var(--topo-h); }
.marca { display: flex; align-items: center; gap: 12px; }
.marca img { width: 50px; height: 50px; object-fit: contain; }
.marca-txt b { display: block; font: 700 21px/1 var(--f-titulo); color: var(--tinta); letter-spacing: -.01em; }
.marca-txt sup { font-size: .5em; }
.marca-txt small { display: block; font-size: 12px; color: var(--suave); margin-top: 3px; }
.busca-topo { justify-self: end; width: min(360px, 100%); align-items: center; color: var(--suave); }
.redes { display: flex; gap: 4px; }
.redes a { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; color: var(--tinta-2); transition: background .2s, color .2s; }
.redes a:hover { background: var(--fundo); color: var(--tinta); }
.r-whats:hover { color: var(--whats) !important; } .r-face:hover { color: #1877f2 !important; }
.r-insta:hover { color: #e1306c !important; } .r-casa { display: none !important; }
.btn-menu { display: flex; align-items: center; gap: 10px; border: 1px solid var(--linha); background: var(--papel); font: 600 14px var(--f-texto); color: var(--tinta); cursor: pointer; padding: 9px 14px; border-radius: 999px; transition: border-color .2s; }
.btn-menu:hover, .btn-menu[aria-expanded="true"] { border-color: var(--tinta); }
.hamb { display: grid; gap: 4px; width: 16px; }
.hamb i { display: block; height: 2px; border-radius: 2px; background: currentColor; transition: transform .2s, opacity .2s; }
.btn-menu[aria-expanded="true"] .hamb i:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.btn-menu[aria-expanded="true"] .hamb i:nth-child(2) { opacity: 0; }
.btn-menu[aria-expanded="true"] .hamb i:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

.nav { border-top: 1px solid var(--linha); }
.nav ul { list-style: none; margin: 0 auto; display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; padding-block: 8px; }
.nav ul::-webkit-scrollbar { display: none; }
.nav a { display: flex; align-items: center; gap: 7px; padding: 7px 14px; border-radius: 999px; white-space: nowrap; font-weight: 600; font-size: 14px; color: var(--tinta-2); transition: background .2s, color .2s; }
.nav a:hover { background: var(--fundo); color: var(--tinta); }
.nav a[aria-current] { background: var(--tinta); color: #fff; }

/* Menu flutuante */
.menu-flutuante { position: absolute; inset: 100% 0 auto; background: var(--papel); border-bottom: 1px solid var(--linha); box-shadow: var(--sombra-forte); max-height: calc(100vh - 120px); overflow: auto; animation: descer .2s ease; }
@keyframes descer { from { opacity: 0; transform: translateY(-6px); } }
.mf-grid { display: grid; grid-template-columns: 1fr 1.2fr 1.1fr; gap: 40px; padding-block: 32px; }
.mf-titulo { font: 700 13px var(--f-texto); letter-spacing: .08em; text-transform: uppercase; color: var(--suave); margin: 0 0 14px; }
.mf-sub { font: 700 12px var(--f-texto); letter-spacing: .08em; text-transform: uppercase; color: var(--suave); margin: 0 0 12px; }
.mf-lista { list-style: none; margin: 0 0 18px; padding: 0; display: grid; gap: 2px; }
.mf-lista a { display: block; padding: 6px 0; font-weight: 500; color: var(--tinta-2); }
.mf-lista a:hover { color: var(--tinta); }
.mf-editorias { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.mf-editorias a { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: var(--raio-p); font-weight: 600; transition: background .2s; }
.mf-editorias a:hover { background: color-mix(in srgb, var(--cat) 10%, transparent); }
.chk { width: 10px; height: 10px; border-radius: 3px; background: var(--cat); font-size: 0; flex-shrink: 0; }

/* Busca */
.busca { display: flex; align-items: center; gap: 8px; border: 1px solid var(--linha); border-radius: 999px; padding: 4px 4px 4px 14px; background: var(--fundo); transition: border-color .2s, background .2s; }
.busca:focus-within { border-color: var(--tinta-2); background: var(--papel); }
.busca input { flex: 1; min-width: 0; border: 0; outline: none; font: inherit; font-size: 14px; background: transparent; color: var(--tinta); padding: 6px 0; }
.busca button { border: 0; border-radius: 999px; background: var(--tinta); color: #fff; font: 600 13px var(--f-texto); padding: 8px 14px; cursor: pointer; }

/* ---------- Comuns ---------- */
main { padding-bottom: 56px; }
.banner { display: block; position: relative; margin: 24px auto; border-radius: var(--raio-p); overflow: hidden; width: fit-content; max-width: 100%; }
.banner img { margin: 0 auto; max-width: 100%; height: auto; }
.banner-topo { width: 100%; }
.banner-topo img { width: 100%; }
.banner-rot { position: absolute; top: 6px; right: 8px; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.85); background: rgba(0,0,0,.35); padding: 2px 6px; border-radius: 4px; z-index: 1; }
.selo { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; color: color-mix(in srgb, var(--cat, #1a8fc4) 80%, #000); background: color-mix(in srgb, var(--cat, #1a8fc4) 14%, #fff); padding: 4px 10px; border-radius: 999px; line-height: 1.3; }
.selo::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--cat, #1a8fc4); }
.meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; font-size: 13px; color: var(--suave); }
.meta > * + *::before { content: "·"; margin-right: 12px; color: #b9c4ca; }
.bloco { margin: 56px 0; }
.sec-head { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 22px; flex-wrap: wrap; }
.sec-head h2 { font-size: clamp(24px, 2.6vw, 32px); }
.sec-head h2 small { display: block; font: 600 12px var(--f-texto); letter-spacing: .1em; text-transform: uppercase; color: var(--suave); margin-bottom: 6px; }
.sec-mais { font-weight: 600; font-size: 14px; color: var(--tinta-2); padding: 8px 14px; border-radius: 999px; border: 1px solid var(--linha); background: var(--papel); transition: border-color .2s; }
.sec-mais:hover { border-color: var(--tinta); }
.caixa { background: var(--papel); border: 1px solid var(--linha); border-radius: var(--raio); padding: 22px; }
.caixa h3 { font-size: 19px; margin-bottom: 8px; }
.caixa p { font-size: 14px; color: var(--suave); margin: 0 0 14px; }
.btn-whats { display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: var(--whats); color: #fff; font-weight: 600; font-size: 14px; border-radius: 999px; padding: 11px 18px; transition: transform .15s, filter .2s; }
.btn-whats:hover { filter: brightness(1.06); transform: translateY(-1px); }
.btn-sec { display: inline-block; border: 1px solid var(--linha); background: var(--papel); color: var(--tinta); font-weight: 600; font-size: 14px; border-radius: 999px; padding: 10px 18px; margin: 4px 6px 4px 0; transition: border-color .2s; }
.btn-sec:hover { border-color: var(--tinta); }

/* Foto sem imagem */
.ph { width: 100%; height: 100%; min-height: 100%; background:
  radial-gradient(120% 90% at 85% 0%, color-mix(in srgb, var(--cat, #2fb6f0) 55%, #fff) 0, transparent 55%),
  linear-gradient(135deg, color-mix(in srgb, var(--cat, #2fb6f0) 75%, #000), var(--cat, #2fb6f0)); }

/* ---------- Cartões ---------- */
.cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.card { display: flex; flex-direction: column; background: var(--papel); border-radius: var(--raio); overflow: hidden; box-shadow: var(--sombra); transition: transform .25s ease, box-shadow .25s ease; }
.card:hover { transform: translateY(-3px); box-shadow: var(--sombra-forte); }
.card .foto { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--linha); }
.card .foto img, .card .foto .ph { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.card:hover .foto img { transform: scale(1.04); }
.card-corpo { display: flex; flex-direction: column; gap: 10px; padding: 18px 20px 20px; flex: 1; align-items: flex-start; }
.card h3 { font-size: 19px; line-height: 1.22; }
.card h3 a { background: linear-gradient(currentColor, currentColor) 0 100% / 0 1.5px no-repeat; transition: background-size .3s; }
.card h3 a:hover { background-size: 100% 1.5px; }
.card p { margin: 0; font-size: 14.5px; color: var(--suave); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.card .meta { margin-top: auto; padding-top: 6px; font-size: 12.5px; }
.card[hidden] { display: none; }

/* ---------- Hero ---------- */
.hero { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(0, 1fr); gap: 24px; margin-top: 8px; }
.lead { position: relative; border-radius: 20px; overflow: hidden; min-height: 520px; display: flex; align-items: flex-end; box-shadow: var(--sombra-forte); isolation: isolate; color: #fff; }
.lead-foto { position: absolute; inset: 0; z-index: -2; }
.lead-foto img, .lead-foto .ph { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s ease; }
.lead:hover .lead-foto img { transform: scale(1.03); }
.lead::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(5,14,19,0) 25%, rgba(5,14,19,.55) 55%, rgba(5,14,19,.92)); pointer-events: none; }
.lead-corpo { padding: 36px; display: grid; gap: 14px; justify-items: start; max-width: 760px; }
.lead .selo { background: var(--cat); color: #fff; }
.lead .selo::before { background: #fff; }
.lead h1 { font-size: clamp(28px, 3.6vw, 46px); line-height: 1.08; }
.lead h1 a:hover { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.lead p { margin: 0; font-size: 17px; color: rgba(255,255,255,.85); max-width: 62ch; }
.lead .meta { color: rgba(255,255,255,.72); }
.lead .meta > * + *::before { color: rgba(255,255,255,.4); }

.ultimas { background: var(--papel); border-radius: 20px; padding: 24px; box-shadow: var(--sombra); display: flex; flex-direction: column; }
.ultimas h2 { font: 700 13px var(--f-texto); letter-spacing: .1em; text-transform: uppercase; display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.pulso { width: 8px; height: 8px; border-radius: 50%; background: var(--campo); box-shadow: 0 0 0 0 rgba(124,194,67,.6); animation: pulso 2s infinite; }
@keyframes pulso { 70% { box-shadow: 0 0 0 8px rgba(124,194,67,0); } 100% { box-shadow: 0 0 0 0 rgba(124,194,67,0); } }
.ultimas ol { list-style: none; margin: 0; padding: 0; counter-reset: u; }
.ultimas li { counter-increment: u; display: grid; grid-template-columns: 30px 1fr; column-gap: 8px; padding: 14px 0; border-bottom: 1px solid var(--linha); }
.ultimas li:last-child { border-bottom: 0; }
.ultimas li::before { content: counter(u, decimal-leading-zero); grid-row: span 3; font: 700 15px var(--f-titulo); color: color-mix(in srgb, var(--cat) 75%, #000); padding-top: 1px; }
.ult-cat { font-size: 11.5px; font-weight: 700; color: color-mix(in srgb, var(--cat) 80%, #000); }
.ultimas li a { font: 600 15.5px/1.3 var(--f-titulo); margin: 2px 0 4px; }
.ultimas li a:hover { color: color-mix(in srgb, var(--cat) 80%, #000); }
.ultimas time { font-size: 12px; color: var(--suave); }
.ver-tudo { margin-top: auto; padding-top: 14px; font-weight: 600; font-size: 14px; color: var(--tinta-2); }
.ver-tudo:hover { color: var(--tinta); }

/* Cotações */
.cotacoes { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 28px; margin: 28px 0 0; padding: 14px 22px; background: var(--petrol); color: #c9d6dd; border-radius: var(--raio); font-size: 13.5px; }
.cot-rot { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--sol); margin-right: 6px; }
.cotacoes b { color: #fff; font-weight: 600; margin-left: 6px; font-variant-numeric: tabular-nums; }

/* Corpo com lateral */
.corpo { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 32px; align-items: start; margin-top: 56px; }
.cards-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cards-2 .card .foto { aspect-ratio: 16 / 9; }
.filtros { display: flex; flex-wrap: wrap; gap: 8px; margin: -6px 0 22px; }
.chip { border: 1px solid var(--linha); background: var(--papel); color: var(--tinta-2); font: 600 13px var(--f-texto); padding: 7px 14px; border-radius: 999px; cursor: pointer; transition: all .2s; display: inline-flex; align-items: center; gap: 7px; }
.chip[data-filtro]:not([data-filtro=""])::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--cat); }
.chip:hover { border-color: var(--tinta-2); }
.chip[aria-pressed="true"] { background: var(--tinta); border-color: var(--tinta); color: #fff; }
.lateral { display: grid; gap: 20px; position: sticky; top: calc(var(--topo-h) + 70px); }
.lateral .banner { margin: 0; }
.caixa-escura { background: linear-gradient(160deg, var(--petrol-2), var(--petrol)); border: 0; color: #e6edf1; position: relative; overflow: hidden; }
.caixa-escura::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: linear-gradient(90deg, var(--ceu), var(--campo) 55%, var(--sol)); }
.caixa-escura h3 { color: #fff; font-size: 22px; }
.caixa-escura p { color: #9fb1bb; }
.caixa-pub { position: relative; padding: 0; overflow: hidden; display: grid; place-items: center; background: var(--fundo); }
.links { list-style: none; margin: 0; padding: 0; }
.links a { display: flex; justify-content: space-between; align-items: center; padding: 11px 0; border-bottom: 1px solid var(--linha); font-weight: 500; font-size: 14.5px; }
.links li:last-child a { border-bottom: 0; }
.links a::after { content: "→"; color: var(--suave); transition: transform .2s; }
.links a:hover::after { transform: translateX(3px); color: var(--tinta); }

/* Apoio */
.apoio-faixa { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 14px; }
.apoio-faixa img { width: 100%; aspect-ratio: 1; object-fit: contain; padding: 14px; background: var(--papel); border: 1px solid var(--linha); border-radius: var(--raio); filter: grayscale(1); opacity: .8; transition: all .25s; }
.apoio-faixa img:hover { filter: none; opacity: 1; transform: translateY(-2px); box-shadow: var(--sombra); }

/* ---------- Notícia ---------- */
.materia-grade { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 48px; padding-top: 32px; align-items: start; }
.materia { background: var(--papel); border-radius: 20px; padding: clamp(22px, 4vw, 48px); box-shadow: var(--sombra); }
.materia-topo { display: grid; gap: 14px; justify-items: start; margin-bottom: 8px; }
.trilha { font-size: 13px; color: var(--suave); }
.trilha a:hover { color: var(--tinta); text-decoration: underline; }
.edicao { font-size: 12.5px; color: var(--suave); font-weight: 600; }
.materia h1 { font-size: clamp(28px, 3.6vw, 44px); line-height: 1.1; }
.linha-fina { margin: 0; font-size: 19px; line-height: 1.5; color: var(--tinta-2); }
.meta-wa { color: var(--whats); font-weight: 600; }
.materia-foto { margin: 14px 0 0; width: 100%; border-radius: var(--raio); overflow: hidden; }
.materia-foto img { width: 100%; max-height: 560px; object-fit: cover; }
.materia-texto { font: 18.5px/1.8 var(--f-leitura); color: #1f2a30; margin-top: 26px; overflow-wrap: anywhere; max-width: 72ch; }
.materia-texto p { margin: 0 0 1.1em; }
.materia-texto img, .materia-texto iframe, .materia-texto video { max-width: 100%; height: auto; border-radius: var(--raio-p); }
.materia-texto table { width: 100%; border-collapse: collapse; font: 14.5px/1.5 var(--f-texto); display: block; overflow-x: auto; }
.materia-texto td, .materia-texto th { border-bottom: 1px solid var(--linha); padding: 8px 10px; text-align: left; }
.materia-texto a { color: #0f6fae; text-decoration: underline; text-underline-offset: 3px; }
.materia-texto .seta { color: var(--cat); display: inline-flex; vertical-align: -2px; margin-right: 4px; }
.materia-texto h2, .materia-texto h3 { margin: 1.4em 0 .6em; }
.compartilhar { margin-top: 32px; padding-top: 22px; border-top: 1px solid var(--linha); display: flex; gap: 10px; flex-wrap: wrap; }
.rel { list-style: none; margin: 0; padding: 0; display: grid; }
.rel li { padding: 12px 0; border-bottom: 1px solid var(--linha); display: grid; gap: 3px; }
.rel li:last-child { border-bottom: 0; }
.rel small { font-size: 11.5px; font-weight: 700; color: color-mix(in srgb, var(--cat) 80%, #000); }
.rel a { font: 600 15px/1.3 var(--f-titulo); }
.rel a:hover { text-decoration: underline; }

/* Embeds de gráficos/mapas do WordPress */
.embed { margin: 22px 0; }
.embed iframe { width: 100%; border: 0; border-radius: var(--raio); box-shadow: var(--sombra); background: #fff; }

/* ---------- Listas, páginas, erros ---------- */
.lista-topo { padding: 40px 0 28px; display: grid; gap: 12px; }
.sobretitulo { margin: 0; font: 600 12px var(--f-texto); letter-spacing: .1em; text-transform: uppercase; color: var(--suave); }
.lista-topo h1 { font-size: clamp(30px, 4vw, 48px); }
.lista-topo .busca { max-width: 520px; background: var(--papel); }
.paginacao { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 44px 0 10px; }
.paginacao a, .paginacao span { min-width: 42px; height: 42px; display: grid; place-items: center; padding: 0 14px; border: 1px solid var(--linha); background: var(--papel); border-radius: 999px; font-weight: 600; font-size: 14px; }
.paginacao span { background: var(--tinta); border-color: var(--tinta); color: #fff; }
.paginacao a:hover { border-color: var(--tinta); }
.vazio { padding: 40px 0; color: var(--suave); font-size: 17px; }
.pagina { max-width: 880px; padding-top: 40px; }
.pagina h1 { font-size: clamp(30px, 4vw, 46px); margin-bottom: 8px; }
.erro { text-align: center; padding: 90px 20px; }
.erro-codigo { font: 700 96px/1 var(--f-titulo); margin: 0; background: linear-gradient(90deg, var(--ceu), var(--campo), var(--sol)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.erro h1 { font-size: 24px; margin: 14px 0 28px; }

/* ---------- Rodapé ---------- */
.rodape { background: radial-gradient(900px 400px at 0 0, rgba(47,182,240,.12), transparent 60%), radial-gradient(700px 380px at 100% 100%, rgba(124,194,67,.08), transparent 60%), linear-gradient(180deg, var(--petrol-2), var(--petrol)); color: #e6edf1; position: relative; }
.rodape::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: linear-gradient(90deg, var(--ceu), var(--campo) 55%, var(--sol)); }
.rod-grid { display: grid; grid-template-columns: 1.4fr .8fr 1.1fr 1.2fr; gap: 40px; padding-block: 60px 40px; }
.rod-marca { display: flex; gap: 12px; align-items: center; margin-bottom: 14px; }
.rod-marca b { font: 700 20px var(--f-titulo); display: block; }
.rod-marca small { color: #9fb1bb; font-size: 12px; }
.rodape p, .rodape li { color: #9fb1bb; font-size: 14px; }
.rodape h4 { margin: 0 0 18px; font: 700 12px var(--f-texto); letter-spacing: .12em; text-transform: uppercase; color: #fff; }
.rodape ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.rodape a:hover { color: #fff; }
.desde { display: flex; gap: 14px; align-items: center; margin-top: 18px; padding: 14px 16px; border: 1px solid rgba(255,255,255,.08); border-radius: var(--raio); background: linear-gradient(135deg, rgba(245,179,36,.12), rgba(47,182,240,.06)); max-width: 300px; }
.desde b { font: 700 38px/1 var(--f-titulo); color: var(--sol); }
.desde span { font-size: 13px; color: #9fb1bb; border-left: 1px solid rgba(255,255,255,.12); padding-left: 14px; }
.desde strong { display: block; color: #fff; }
.rod-news { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); border-radius: var(--raio); padding: 22px; }
.rod-base { border-top: 1px solid rgba(255,255,255,.08); padding-block: 20px 26px; font-size: 13px; color: #8ea2ad; display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; }

/* ---------- Responsivo ---------- */
@media (max-width: 1080px) {
  .hero, .corpo, .materia-grade { grid-template-columns: minmax(0, 1fr); }
  .lead { min-height: 440px; }
  .lateral { position: static; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); }
  .cards-2 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rod-grid { grid-template-columns: 1fr 1fr; }
  .mf-grid { grid-template-columns: 1fr 1fr; }
  .redes { display: none; }
  .topo-barra { grid-template-columns: auto 1fr auto; }
}
@media (max-width: 760px) {
  :root { --topo-h: 62px; }
  .wrap { padding-inline: 16px; }
  .busca-topo { display: none; }
  .marca img { width: 40px; height: 40px; }
  .marca-txt b { font-size: 18px; }
  .marca-txt small { display: none; }
  .btn-menu-txt { display: none; }
  .btn-menu { padding: 11px; justify-self: end; }
  .cards, .cards-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .lead { min-height: 380px; border-radius: var(--raio); }
  .lead-corpo { padding: 22px; }
  .lead p { font-size: 15px; }
  .ultimas { border-radius: var(--raio); }
  .mf-grid { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .materia { border-radius: var(--raio); }
  .materia-texto { font-size: 17.5px; }
  .bloco { margin: 44px 0; }
  .corpo { margin-top: 44px; }
}
@media (max-width: 560px) {
  .cards, .cards-2, .rod-grid { grid-template-columns: minmax(0, 1fr); }
  .card { display: grid; grid-template-columns: 112px minmax(0, 1fr); border-radius: 14px; }
  .card .foto { aspect-ratio: auto; height: 100%; min-height: 112px; }
  .card-corpo { padding: 12px 14px; gap: 6px; }
  .card h3 { font-size: 16px; }
  .card p { display: none; }
  .card .selo { font-size: 11px; padding: 2px 8px; }
  .especiais .card, .lista-cards .card { display: flex; }
  .especiais .card .foto { aspect-ratio: 16 / 9; height: auto; }
  .especiais .card p { display: -webkit-box; }
  .filtros { flex-wrap: nowrap; overflow-x: auto; margin-inline: -16px; padding-inline: 16px; scrollbar-width: none; }
  .chip { flex-shrink: 0; }
  .cotacoes { gap: 8px 18px; padding: 12px 16px; font-size: 12.5px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before { transition: none !important; animation: none !important; } }

/* ---------- Painel do Selectus do dia (como no site atual) ---------- */
.painel-edicao { background: var(--papel); border: 1px solid var(--linha); border-radius: var(--raio); box-shadow: var(--sombra); margin: 0 0 28px; overflow: hidden; }
.pe-topo { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 20px; background: #eaf4ee; }
.pe-topo h2 { display: flex; align-items: center; gap: 10px; font: 400 15.5px/1.4 var(--f-texto); color: var(--tinta); }
.pe-topo h2 svg { flex-shrink: 0; color: var(--tinta-2); }
.pe-topo b { font-weight: 700; }
.pe-acoes { display: flex; gap: 8px; flex-shrink: 0; }
.pe-acoes button { border: 1px solid var(--linha); background: var(--papel); border-radius: 999px; font: 600 13px var(--f-texto); color: var(--tinta-2); padding: 6px 12px; cursor: pointer; }
.pe-acoes button:hover { border-color: var(--tinta-2); color: var(--tinta); }
.pe-fechar { width: 32px; padding: 6px 0 !important; color: #1a6fb0 !important; }
.pe-lista { list-style: none; margin: 0; padding: 18px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 18px; }
.pe-lista[hidden] { display: none; }
.pe-lista li { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 14px; padding: 10px 10px 10px 12px; border-left: 4px solid var(--cat); border-radius: 4px 12px 12px 4px; transition: background .2s, box-shadow .2s; }
.pe-lista li:hover { background: color-mix(in srgb, var(--cat) 6%, #fff); box-shadow: var(--sombra); }
.pe-foto { display: block; width: 112px; height: 78px; border-radius: 8px; overflow: hidden; background: var(--linha); }
.pe-foto img, .pe-foto .ph { width: 100%; height: 100%; object-fit: cover; }
.pe-cat { font-size: 12px; font-weight: 800; letter-spacing: .02em; color: color-mix(in srgb, var(--cat) 85%, #000); }
.pe-lista h3 { font: 700 16px/1.25 var(--f-texto); margin: 2px 0 4px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pe-lista h3 a:hover { color: color-mix(in srgb, var(--cat) 85%, #000); }
.pe-meta { display: flex; gap: 12px; font-size: 12px; color: var(--suave); }
.pe-fonte { font-size: 11.5px; color: var(--suave); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pe-lista p { margin: 3px 0 0; font-size: 13.5px; line-height: 1.4; color: var(--tinta-2); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* Borda lateral na cor da editoria nos cards */
.card { border-left: 5px solid var(--cat); }
.card .foto { border-bottom: 3px solid var(--cat); }

@media (max-width: 1080px) { .pe-lista { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) {
  .pe-topo { align-items: flex-start; padding: 12px 14px; }
  .pe-topo h2 { font-size: 14px; }
  .pe-recolher { display: none; }
  .pe-lista { grid-template-columns: minmax(0, 1fr); padding: 10px; }
  .pe-lista li { grid-template-columns: 92px minmax(0, 1fr); gap: 10px; }
  .pe-foto { width: 92px; height: 70px; }
  .pe-lista p { display: none; }
}
@media (max-width: 560px) { .card .foto { border-bottom: 0; } }
.pe-anterior .pe-meta span b { color: var(--suave); font-weight: 600; }

/* Resumos e descrições em Caecilia */
.card p, .lead p, .linha-fina, .pe-lista p, .caixa p, .materia-texto { font-family: var(--f-desc); }
.card p { font-size: 15px; line-height: 1.5; }
.lead p { font-size: 18px; }
.pe-lista p { font-size: 14px; }
.pe-lista h3, .ultimas li a, .rel a { font-family: var(--f-titulo); font-weight: 700; }
.lead h1 { font-weight: 800; }

/* ---------- 4 colunas + quadro da Piracanjuba abaixo do banner do topo ---------- */
.cards { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.card h3 { font-size: 17.5px; }
.card p { font-size: 14px; }
.card-corpo { padding: 16px 16px 18px; }

.abertura { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 24px; align-items: start; margin-bottom: 28px; }
.abertura .painel-edicao { margin: 0; }
.abertura-pub { position: sticky; top: calc(var(--topo-h) + 70px); }
.banner-quadro { margin: 0; }
.abertura .pe-lista { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 12px; padding: 14px; }
.abertura .pe-lista li { grid-template-columns: 84px minmax(0, 1fr); gap: 10px; padding: 8px 8px 8px 10px; }
.abertura .pe-foto { width: 84px; height: 64px; }
.abertura .pe-lista h3 { font-size: 15px; }
.abertura .pe-topo h2 { font-size: 14.5px; }

.corpo-largo { display: block; }
.servicos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin-top: 40px; align-items: start; }
.servicos .caixa-pub { padding: 18px; }

@media (max-width: 1240px) {
  .abertura .pe-lista { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1080px) {
  .cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .servicos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
  .abertura { grid-template-columns: minmax(0, 1fr); }
  .abertura-pub { position: static; order: -1; display: grid; place-items: center; }
}
@media (max-width: 760px) {
  .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .abertura .pe-lista { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
  .cards, .servicos { grid-template-columns: minmax(0, 1fr); }
}
.pe-meta { flex-wrap: wrap; gap: 2px 10px; }
.pe-meta span, .pe-meta time { white-space: nowrap; }
.abertura .pe-cat { font-size: 11px; }

/* ---------- Topo da home no padrão do site atual ---------- */
.faixa-ultimas { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: stretch; background: var(--papel); border-radius: var(--raio-p); box-shadow: var(--sombra); overflow: hidden; margin-bottom: 28px; }
.faixa-ultimas h2 { display: flex; align-items: center; gap: 8px; background: var(--azul, #003366); color: #fff; font: 700 12.5px/1.2 var(--f-texto); letter-spacing: .06em; text-transform: uppercase; padding: 12px 16px; width: 150px; }
.faixa-ultimas ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.faixa-ultimas li + li { border-left: 1px solid var(--linha); }
.faixa-ultimas a { display: grid; grid-template-columns: 58px minmax(0, 1fr); gap: 12px; align-items: center; padding: 10px 14px; height: 100%; font: 700 14px/1.3 var(--f-titulo); transition: background .2s; }
.faixa-ultimas a:hover { background: color-mix(in srgb, var(--cat) 7%, #fff); }
.faixa-ultimas small { display: block; font: 700 10.5px var(--f-texto); color: color-mix(in srgb, var(--cat) 85%, #000); margin-bottom: 2px; }
.fu-foto { width: 58px; height: 44px; border-radius: 6px; overflow: hidden; border-left: 3px solid var(--cat); }
.fu-foto img, .fu-foto .ph { width: 100%; height: 100%; object-fit: cover; }

.destaque-grade { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 32px; align-items: start; }
.manchete .sec-rotulo { display: inline-block; font: 700 13px var(--f-titulo); text-transform: uppercase; color: var(--cat); border-bottom: 3px solid var(--cat); padding-bottom: 4px; margin-bottom: 14px; }
.manchete-foto { display: block; aspect-ratio: 16 / 9; border: 5px solid var(--cat); border-radius: 6px; overflow: hidden; box-shadow: 0 10px 28px rgba(0,0,0,.2); background: var(--linha); }
.manchete-foto img, .manchete-foto .ph { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.manchete-foto:hover img { transform: scale(1.03); }
.manchete .meta { margin-top: 14px; }
.manchete h1 { font-size: clamp(24px, 2.8vw, 34px); font-weight: 800; margin: 6px 0 10px; }
.manchete h1 a:hover { color: var(--cat); }
.manchete .linha-fina { border-left: 3px solid var(--linha); padding-left: 12px; font-size: 17px; }
.banner-meio { margin: 26px auto 0; }
.destaque-lateral { display: grid; gap: 18px; position: sticky; top: calc(var(--topo-h) + 70px); }
.destaque-lateral .banner { margin: 0; }
.caixa-news { text-align: center; }
.caixa-news h3 { font-size: 18px; }

@media (max-width: 1000px) {
  .destaque-grade { grid-template-columns: minmax(0, 1fr); }
  .destaque-lateral { position: static; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); justify-items: center; }
}
@media (max-width: 760px) {
  .faixa-ultimas { grid-template-columns: minmax(0, 1fr); }
  .faixa-ultimas h2 { width: auto; padding: 9px 14px; }
  .faixa-ultimas ul { grid-template-columns: minmax(0, 1fr); }
  .faixa-ultimas li + li { border-left: 0; border-top: 1px solid var(--linha); }
  .manchete-foto { border-width: 4px; }
}

/* Cards mais enxutos: sem fonte, resumo e data menores */
.card-corpo { gap: 8px; }
.card p { font-size: 13.5px; line-height: 1.45; -webkit-line-clamp: 2; }
.card .meta { margin-top: 2px; padding-top: 0; font-size: 11.5px; }
.selectus .servicos { margin: 32px 0; }
.selectus .servicos + .cards { margin-top: 0; }

/* Página toda em escala de 90% no computador (como o zoom de 90% do navegador) */
@media (min-width: 1000px) {
  body { zoom: .9; }
}

/* ---------- Anúncios antes do rodapé (padrão do site atual) ---------- */
.pre-rodape { padding: 36px 0 44px; }
.pr-banners { display: flex; flex-wrap: wrap; justify-content: space-around; gap: 20px; margin-bottom: 22px; }
.pr-banners img { width: 468px; max-width: 100%; height: auto; border-radius: 4px; }
.pr-logos { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.pr-logos img { width: 90px; height: 90px; object-fit: contain; background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,.18); transition: transform .2s; }
.pr-logos img:hover { transform: translateY(-2px); }
@media (max-width: 560px) { .pr-logos img { width: 72px; height: 72px; } }
.pr-banners a, .banner-meio { max-width: 100%; min-width: 0; } .banner-meio img { width: 468px; max-width: 100%; }

/* Antes do rodapé: 2 colunas de banners e 10 colunas de logos */
.pr-banners { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; justify-items: center; }
.pr-banners a:only-child { grid-column: 1 / -1; }
.pr-banners a { width: 100%; display: block; }
.pr-banners img { width: 100%; max-width: none; aspect-ratio: 468 / 60; object-fit: cover; }
.pr-logos { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 12px; }
.pr-logos img { width: 100%; height: auto; aspect-ratio: 1; }
.pr-banners a:only-child img { max-width: 50%; margin: 0 auto; }
@media (max-width: 760px) {
  .pr-banners { grid-template-columns: minmax(0, 1fr); }
  .pr-banners a:only-child img { max-width: 100%; }
  .pr-logos { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
}
@media (max-width: 560px) { .pr-logos img { width: 100%; height: auto; } }

/* Faixa "Últimas notícias" correndo da direita para a esquerda */
.fu-trilho { overflow: hidden; position: relative; mask-image: linear-gradient(90deg, transparent, #000 3%, #000 97%, transparent); }
.faixa-ultimas ul.fu-faixa { display: flex; width: max-content; grid-template-columns: none; animation: fu-correr 120s linear infinite; }
.fu-faixa li { width: 340px; flex-shrink: 0; border-left: 1px solid var(--linha); }
.fu-trilho:hover .fu-faixa, .fu-trilho:focus-within .fu-faixa { animation-play-state: paused; }
@keyframes fu-correr { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
  .fu-trilho { overflow-x: auto; }
  .faixa-ultimas ul.fu-faixa { animation: none; }
  .fu-faixa li[aria-hidden] { display: none; }
}
@media (max-width: 760px) {
  .faixa-ultimas ul.fu-faixa { grid-template-columns: none; }
  .fu-faixa li { width: 280px; border-top: 0 !important; border-left: 1px solid var(--linha) !important; }
}

/* ---------- Ajustes do painel admin (variáveis geradas em ajustes_css()) ---------- */
.cards { grid-template-columns: repeat(var(--cols, 4), minmax(0, 1fr)); }
.card h3 { font-size: var(--fs-card, 18px); }
.card p { font-size: var(--fs-resumo, 14px); }
.manchete h1 { font-size: min(var(--fs-manchete, 34px), 7vw); }
.materia h1 { font-size: min(var(--fs-materia-h1, 44px), 8vw); }
.materia-texto { font-size: var(--fs-materia, 18px); }
.faixa-ultimas ul.fu-faixa { animation-duration: var(--faixa-seg, 120s); }
@media (min-width: 1000px) { body { zoom: var(--escala, .9); } }
@media (max-width: 1080px) { .cards { grid-template-columns: repeat(min(var(--cols, 4), 2), minmax(0, 1fr)); } }
@media (max-width: 560px) { .cards { grid-template-columns: minmax(0, 1fr); } .materia-texto { font-size: calc(var(--fs-materia, 18px) - 1px); } }

/* ---------- Espaços de anúncio (tamanhos do mídia kit) ---------- */
.anuncio { position: relative; width: var(--w); max-width: 100%; aspect-ratio: var(--ar); margin-inline: auto; border-radius: 8px; overflow: hidden; background: var(--fundo); }
.anuncio-peca, .anuncio-peca img { display: block; width: 100%; height: 100%; }
.anuncio-peca img { object-fit: contain; }
.anuncio-peca[hidden] { display: none; }
.anuncio[data-transicao="esmaecer"] .anuncio-peca.entra { animation: anuncio-esmaecer .7s ease; }
.anuncio[data-transicao="deslizar"] .anuncio-peca.entra { animation: anuncio-deslizar .6s cubic-bezier(.2,.7,.2,1); }
@keyframes anuncio-esmaecer { from { opacity: 0; } }
@keyframes anuncio-deslizar { from { transform: translateX(100%); } }
.anuncio-vago { display: grid; place-items: center; text-align: center; border: 1.5px dashed #c8d2d8; background: repeating-linear-gradient(135deg, #fafbfc 0 10px, #f3f6f7 10px 20px); color: var(--suave); font: 600 13px/1.3 var(--f-texto); transition: border-color .2s, color .2s; }
.anuncio-vago small { display: block; font-weight: 500; font-size: 11px; margin-top: 3px; opacity: .8; }
.anuncio-vago:hover { border-color: var(--ceu); color: var(--tinta); }
.anuncio-logo.anuncio-vago { font-size: 11px; }

/* Conj. 1 – mídia destaque (1600x205) ocupa a largura toda */
.anuncio-topo { width: 100%; margin: 22px 0; border-radius: var(--raio-p); }
.anuncio-topo .anuncio-peca img { object-fit: cover; }
.anuncio-meio { margin: 26px auto 0; }
.destaque-lateral { position: static; justify-items: center; align-content: start; }
.destaque-lateral .caixa-news { width: 100%; }
/* 4.1–4.5 e 5.1–5.5: uma linha de 5 espaços */
.anuncios-linha { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px; margin: 32px 0; justify-items: center; }
.servicos .caixa-pub { padding: 0; border: 0; background: transparent; justify-self: center; }
.servicos .anuncio.caixa-pub { width: var(--w); }
/* Antes do rodapé: 6.1 e 6.2 em 2 colunas, 7.1–7.10 em 10 colunas */
.pre-rodape { padding: 36px 0 44px; border-top: 1px solid var(--linha); }
.pr-banners { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-bottom: 26px; justify-items: center; }
.pr-banners .anuncio { border-radius: 4px; }
.pr-logos { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 14px; justify-items: center; }
.pr-logos .anuncio { width: 100%; max-width: 100px; border-radius: 4px; background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,.14); transition: transform .2s; }
.pr-logos .anuncio:hover { transform: translateY(-2px); }
/* Páginas internas: lateral esquerda com Conj. 2 e 4.1–4.3 */
.interna-grade { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 36px; align-items: start; }
.interna-lateral { display: grid; gap: 18px; padding-top: 32px; justify-items: center; }
.interna-corpo { min-width: 0; }
@media (max-width: 1080px) {
  .anuncios-linha { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .interna-grade { grid-template-columns: minmax(0, 1fr); }
  .interna-lateral { order: 2; grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); }
}
@media (max-width: 760px) {
  .anuncios-linha { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .pr-banners { grid-template-columns: minmax(0, 1fr); }
  .pr-logos { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
}

/* Publicidade por aparelho (definido no admin) */
@media (max-width: 760px) { .so-pc { display: none !important; } }
@media (min-width: 761px) { .so-cel { display: none !important; } }
.anuncio[hidden] { display: none !important; }
@media (max-width: 760px) {
  .banner-rot { font-size: 8px; padding: 1px 4px; top: 4px; right: 4px; }
  .anuncio-topo .banner-rot { display: none; }
  .anuncio-topo { margin: 14px 0; }
}

/* Menu no celular/tablet: painel de tela cheia abaixo do topo, com rolagem própria */
@media (max-width: 999px) {
  .menu-flutuante { position: fixed; top: var(--menu-top, 64px); left: 0; right: 0; bottom: 0; max-height: none; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; z-index: 60; }
  .menu-flutuante .mf-grid { padding-bottom: 48px; }
  body.menu-aberto { overflow: hidden; }
}
@media (min-width: 1000px) { .menu-flutuante { max-height: calc(100dvh - 140px); } }

/* Data (🕗 dd/mm/aaaa) e fonte, como no site atual */
.data-fonte { display: grid; gap: 2px; margin-top: auto; padding-top: 10px; font: 500 11.5px/1.35 var(--f-texto); color: var(--suave); }
.data-fonte time { display: inline-flex; align-items: center; gap: 5px; font-weight: 600; color: var(--tinta-2); }
.data-fonte span { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-transform: uppercase; letter-spacing: .04em; font-size: 10px; }
.card-corpo { display: flex; flex-direction: column; flex: 1; }
.data-fonte-materia { margin: 14px 0 4px; padding: 0; font-size: 13px; }
.data-fonte-materia span { -webkit-line-clamp: unset; display: block; font-size: 11px; }
@media (max-width: 560px) { .card .data-fonte span { display: none; } }

/* Navegação rola com a página; só a barra do logo fica fixa */
.nav { background: var(--papel); border-top: 0; border-bottom: 1px solid var(--linha); }
.nav { background: var(--papel); border-top: 0; border-bottom: 1px solid var(--linha); }

/* Menu acima do logo (barra escura, estilo G100); rola com a página */
.nav { background: var(--petrol); border: 0; }
.nav .tb { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.nav ul { padding-block: 4px; margin: 0; }
.nav a { color: #cfe3ee; font-size: 13px; padding: 6px 12px; }
.nav a svg { opacity: .8; }
.nav a:hover { background: rgba(255,255,255,.08); color: #fff; }
.nav a[aria-current] { background: var(--sol); color: var(--petrol); }
.tb-data { color: #8fb0c0; font-size: 12px; white-space: nowrap; }
@media (max-width: 760px) { .tb-data { display: none; } }
.nav .tb ul { min-width: 0; }

/* ---------- Faixa de serviços: ADA ocupa 2 colunas e responde em sanfona ---------- */
.servicos .caixa-ada { grid-column: span 2; }
.caixa-ada .busca { padding: 5px 5px 5px 16px; background: var(--papel); border-color: #cdd6db; }
.caixa-ada .busca input { font-size: 15px; padding: 9px 0; }
.caixa-ada .busca button { padding: 10px 18px; font-size: 14px; }
.ada-sugestoes { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.ada-sugestoes button { border: 1px solid var(--linha); background: var(--fundo); color: var(--tinta-2); font: 600 12.5px var(--f-texto); padding: 6px 12px; border-radius: 999px; cursor: pointer; transition: border-color .2s, background .2s; }
.ada-sugestoes button:hover { border-color: var(--ceu); background: #fff; }
.ada-resposta { grid-column: 1 / -1; overflow: hidden; height: 0; transition: height .45s cubic-bezier(.2,.7,.2,1); scroll-margin-top: calc(var(--topo-h) + 16px); }
.ada-resposta-int { background: var(--papel); border: 1px solid var(--linha); border-top: 3px solid var(--ceu); border-radius: var(--raio); padding: 20px 22px 22px; box-shadow: var(--sombra); }
.ada-topo { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.ada-topo b { font: 700 12px var(--f-texto); letter-spacing: .1em; text-transform: uppercase; color: var(--ceu); }
.ada-fechar { border: 1px solid var(--linha); background: var(--papel); border-radius: 999px; padding: 6px 12px; font: 600 12.5px var(--f-texto); cursor: pointer; color: var(--tinta-2); }
.ada-pergunta { display: inline-block; margin: 0 0 12px; padding: 8px 14px; border-radius: 14px 14px 4px 14px; background: var(--tinta); color: #fff; font-weight: 600; font-size: 14px; }
.ada-texto { font: 15px/1.55 var(--f-desc); color: var(--tinta-2); margin-bottom: 14px; }
.ada-texto ul { margin: 8px 0; padding-left: 20px; }
.ada-resultados { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ada-resultados .res-card { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 12px; padding: 10px; border: 1px solid var(--linha); border-left: 4px solid var(--cor, var(--ceu)); border-radius: var(--raio-p); background: #fff; transition: box-shadow .2s, transform .2s; animation: ada-entra .4s ease both; animation-delay: calc(var(--i, 0) * 40ms); }
.ada-resultados .res-card:hover { box-shadow: var(--sombra); transform: translateY(-2px); }
@keyframes ada-entra { from { opacity: 0; transform: translateY(6px); } }
.res-thumb { width: 96px; height: 72px; border-radius: 8px; overflow: hidden; background: color-mix(in srgb, var(--cor, #2fb6f0) 20%, #fff); display: grid; place-items: center; }
.res-thumb img { width: 100%; height: 100%; object-fit: cover; }
.res-thumb.sem-img::after { content: attr(data-ini); font: 700 26px var(--f-titulo); color: var(--cor); }
.res-cat { font: 700 10.5px var(--f-texto); letter-spacing: .08em; text-transform: uppercase; color: var(--cor, var(--suave)); }
.res-tit { font: 700 15px/1.25 var(--f-titulo); color: var(--tinta); margin: 2px 0 4px; }
.res-tit mark, .res-desc mark { background: #fff1c2; color: inherit; padding: 0 2px; border-radius: 3px; }
.res-meta { display: flex; flex-wrap: wrap; gap: 4px 10px; font-size: 11.5px; color: var(--suave); }
.res-desc { font: 13px/1.45 var(--f-desc); color: var(--suave); margin-top: 4px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ada-mais { margin-top: 14px; }
.ada-bloco + .ada-bloco { margin-top: 12px; }
.ada-pensando { display: flex; gap: 5px; padding: 8px 0; }
.ada-pensando span { width: 8px; height: 8px; border-radius: 50%; background: var(--ceu); animation: ada-pulo 1s infinite ease-in-out; }
.ada-pensando span:nth-child(2) { animation-delay: .15s; } .ada-pensando span:nth-child(3) { animation-delay: .3s; }
@keyframes ada-pulo { 0%, 80%, 100% { opacity: .3; transform: translateY(0); } 40% { opacity: 1; transform: translateY(-4px); } }
.destaque-lateral .caixa-escura { width: 100%; }
/* ADA nas páginas de lista (outras notícias, matéria especial, infográficos...) */
.ada-lista { margin: 0 0 24px; }
.ada-lista .caixa-ada { margin: 0; }
.ada-lista .ada-resposta-int { margin-top: 14px; }
@media (max-width: 1080px) { .servicos .caixa-ada { grid-column: 1 / -1; } }
@media (max-width: 760px) { .ada-resultados { grid-template-columns: minmax(0, 1fr); } .ada-resposta-int { padding: 16px; } }
@media (max-width: 560px) { .ada-resultados .res-card { grid-template-columns: 72px minmax(0, 1fr); } .res-thumb { width: 72px; height: 56px; } }

/* ---------- Identidade definida no admin (logo, cores, fontes, tamanhos) ---------- */
.topo { background: var(--cor-topo, #fff); }
.marca img { width: var(--logo, 50px); height: var(--logo, 50px); }
.marca-txt b { font-size: var(--fs-nome, 21px); color: var(--cor-topo-texto, var(--tinta)); }
.marca-txt small { font-size: var(--fs-slogan, 12px); color: color-mix(in srgb, var(--cor-topo-texto, #0f1c24) 60%, var(--cor-topo, #fff)); }
.redes a, .btn-menu { color: var(--cor-topo-texto, var(--tinta-2)); }
.btn-menu { background: transparent; border-color: color-mix(in srgb, var(--cor-topo-texto, #0f1c24) 20%, transparent); }
.redes a:hover { background: color-mix(in srgb, var(--cor-topo-texto, #0f1c24) 10%, transparent); }
.nav { background: var(--cor-menu, var(--petrol)); }
.nav a { color: var(--cor-menu-texto, #cfe3ee); font-size: var(--fs-menu, 13px); }
.nav a[aria-current] { background: var(--cor-menu-ativo, var(--sol)); color: var(--cor-menu, var(--petrol)); }
.tb-data { color: color-mix(in srgb, var(--cor-menu-texto, #cfe3ee) 70%, var(--cor-menu, #0b1a22)); }
.mf-lista a, .mf-editorias a { font-size: var(--fs-menu-flut, 15px); }
.sec-head h2 { font-size: min(var(--fs-secao, 32px), 7vw); }
.rod-marca img { object-fit: contain; }
@media (max-width: 760px) {
  :root { --topo-h: var(--topo-h-cel, 62px); }
  .marca img { width: var(--logo-cel, 40px); height: var(--logo-cel, 40px); }
  .marca-txt b { font-size: min(var(--fs-nome, 21px), 20px); }
}

/* Linha de anúncios quadrados (4.1–4.5 e 5.1–5.5): carrossel no celular */
@media (max-width: 760px) {
  .anuncios-linha { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 0 16px 4px; margin-inline: -16px; scroll-padding-inline: 16px; overscroll-behavior-x: contain; }
  .anuncios-linha::-webkit-scrollbar { display: none; }
  .anuncios-linha > .anuncio { flex: 0 0 72%; max-width: 260px; scroll-snap-align: center; margin: 0; }
  .anuncios-linha > .anuncio:only-child { flex-basis: 100%; margin-inline: auto; }
  .carrossel-pontos { display: flex; justify-content: center; gap: 6px; margin: -20px 0 28px; }
  .carrossel-pontos button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 50%; background: #c8d2d8; cursor: pointer; transition: width .2s, background .2s; }
  .carrossel-pontos button[aria-current] { width: 20px; border-radius: 4px; background: var(--tinta); }
}
@media (min-width: 761px) { .carrossel-pontos { display: none; } }

/* Celular: espaço com "ajustar automaticamente" ligado segue a altura da própria imagem */
@media (max-width: 760px) {
  .anuncio-auto-cel { aspect-ratio: auto; }
  .anuncio-auto-cel .anuncio-peca, .anuncio-auto-cel .anuncio-peca img { height: auto; }
  .anuncio-auto-cel .anuncio-peca img { object-fit: contain; }
}

/* Atalhos do WordPress no texto: mapa e painéis */
.materia .embed iframe, .embed iframe { display: block; }
@media (max-width: 768px) {
  /* Painel com gráfico largo: rola para o lado no celular, como no tema antigo */
  .embed.painel { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .embed.painel iframe { width: 200%; }
}

/* Páginas internas: quadrados 4.1–4.7 girando (para cima no computador, para o lado no celular) */
.lateral-giro { --g: 18px; width: 200px; max-width: 100%; height: calc(var(--vis, 5) * 200px + (var(--vis, 5) - 1) * var(--g)); overflow: hidden; border-radius: 8px;
  -webkit-mask-image: linear-gradient(transparent, #000 24px, #000 calc(100% - 24px), transparent); mask-image: linear-gradient(transparent, #000 24px, #000 calc(100% - 24px), transparent); }
.lateral-giro.parado { height: auto; -webkit-mask-image: none; mask-image: none; }
.giro-trilho, .giro-set { display: flex; flex-direction: column; gap: var(--g); }
.giro-trilho { padding-bottom: var(--g); }
.lateral-giro .anuncio { flex: none; margin: 0; }
.lateral-giro.anda .giro-trilho { animation: giro-y var(--giro-seg, 30s) linear infinite; }
.lateral-giro:hover .giro-trilho, .lateral-giro.pausa .giro-trilho { animation-play-state: paused; }
@keyframes giro-y { to { transform: translateY(-50%); } }
@keyframes giro-x { to { transform: translateX(-50%); } }
@media (max-width: 1080px) {
  .interna-lateral { grid-template-columns: minmax(0, 1fr); }
  .lateral-giro { --g: 12px; width: 100%; height: auto; -webkit-mask-image: linear-gradient(90deg, transparent, #000 24px, #000 calc(100% - 24px), transparent); mask-image: linear-gradient(90deg, transparent, #000 24px, #000 calc(100% - 24px), transparent); }
  .giro-trilho, .giro-set { flex-direction: row; width: max-content; }
  .giro-trilho { padding-bottom: 0; padding-right: var(--g); }
  .lateral-giro .anuncio { width: 200px; }
  .lateral-giro.parado { overflow-x: auto; }
  .lateral-giro.anda .giro-trilho { animation-name: giro-x; }
}
@media (prefers-reduced-motion: reduce) { .lateral-giro { overflow: auto; } }
/* Painel "topo" (graficos/topo/): limpo, sem moldura, como no tema antigo */
.embed.painel.topo iframe { box-shadow: none; border-radius: 0; background: transparent; }
@media (max-width: 768px) { .embed.painel.topo { overflow: visible; } .embed.painel.topo iframe { width: 100%; } }

/* Foto de capa da notícia: moldura na cor da editoria, igual à manchete da página principal */
.materia-foto { border: 5px solid var(--cat, #f04e1f); border-radius: 6px; box-shadow: 0 10px 28px rgba(0,0,0,.2); background: var(--linha); }
.materia-foto img { display: block; }
