/* Pratigi Notícias: o portal (capa, notícia, editoria, cidade, busca). Paleta e fontes de docs/BRAND.md. */
:root {
  --verde: #173f35; --verde-2: #1f4a3f; --areia: #f5f0e6; --areia-2: #ede6d8; --grafite: #202725;
  --amarelo: #e8a52b; --laranja: #f07835; --cacau: #713f2d; --muted: #5c605d; --line: #d9d0be;
  --f-display: "Space Grotesk", system-ui, sans-serif; --f-text: "Inter", system-ui, sans-serif;
  --wrap: 1240px; --gut: 20px; --r: 10px;
}
@media (min-width: 768px) { :root { --gut: 32px; } }
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 120px; }
body { margin: 0; background: var(--areia); color: var(--grafite); font: 400 16px/1.6 var(--f-text); }
img { max-width: 100%; display: block; }
a { color: inherit; }
:focus-visible { outline: 2px solid var(--laranja); outline-offset: 2px; border-radius: 2px; }
.wrap { width: min(100% - 2 * var(--gut), var(--wrap)); margin-inline: auto; }
.skip { position: absolute; left: -9999px; top: 8px; background: var(--amarelo); color: var(--grafite); padding: 8px 14px; z-index: 50; }
.skip:focus { left: 8px; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------- topo: data, clima, redes */
.topbar { background: var(--grafite); color: #d8d4ca; font-size: 13px; }
.topbar .wrap { display: flex; align-items: center; gap: 20px; min-height: 36px; }
.topbar__date::first-letter { text-transform: uppercase; }
.topbar__wx { display: inline-flex; align-items: center; gap: 6px; }
.topbar__wx[hidden] { display: none; }
.topbar__wx b { color: var(--areia); font-weight: 600; }
.topbar__social { margin-left: auto; display: flex; gap: 14px; }
.topbar__social a { text-decoration: none; display: inline-flex; align-items: center; gap: 6px; color: var(--areia); }
.topbar__social a:hover { color: var(--amarelo); }
@media (max-width: 639px) { .topbar__date { display: none; } }

/* ---------- cabeçalho: marca, busca, ações */
.masthead { background: var(--areia); border-bottom: 1px solid var(--line); }
.masthead .wrap { display: flex; align-items: center; gap: 24px; min-height: 92px; }
.brand { display: inline-flex; align-items: center; gap: 14px; text-decoration: none; }
.brand img { width: 60px; height: 60px; flex: none; }
.brand__name { display: grid; line-height: 1; }
.brand__name b { font: 600 30px/1 var(--f-display); letter-spacing: -0.03em; color: var(--verde); }
.brand__name span { font: 600 13px/1 var(--f-text); letter-spacing: .22em; text-transform: uppercase; color: var(--laranja); margin-top: 6px; }
.brand__tag { font-size: 13px; color: var(--muted); border-left: 1px solid var(--line); padding-left: 20px; max-width: 18ch; line-height: 1.35; }
.search { margin-left: auto; display: flex; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 999px; padding: 0 6px 0 16px; height: 44px; width: min(320px, 100%); }
.search input { border: 0; background: none; font: inherit; font-size: 15px; flex: 1; min-width: 0; outline: none; color: var(--grafite); }
.search button { border: 0; background: var(--verde); color: var(--areia); width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; cursor: pointer; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 44px; padding: 0 18px; border-radius: 8px; font: 600 15px/1 var(--f-text); text-decoration: none; white-space: nowrap; transition: transform .15s ease, background-color .15s ease; }
.btn:hover { transform: translateY(-1px); }
.btn:active { transform: translateY(1px); }
.btn--pauta { background: var(--laranja); color: var(--grafite); }
.btn--pauta:hover { background: #f38a4f; }
.btn--verde { background: var(--verde); color: var(--areia); }
.btn--amarelo { background: var(--amarelo); color: var(--grafite); }
@media (max-width: 1023px) { .brand__tag { display: none; } }
@media (max-width: 767px) {
  .masthead .wrap { flex-wrap: wrap; gap: 12px; min-height: 0; padding-block: 14px; }
  .brand img { width: 46px; height: 46px; }
  .brand__name b { font-size: 24px; }
  .masthead .btn--pauta { margin-left: auto; height: 40px; padding: 0 14px; font-size: 14px; }
  .search { order: 3; width: 100%; margin-left: 0; }
}

/* ---------- barra de editorias */
.edbar { background: var(--verde); position: sticky; top: 0; z-index: 20; }
.edbar ul { list-style: none; margin: 0 auto; padding: 0; display: flex; gap: 2px; overflow-x: auto; scrollbar-width: none; }
.edbar ul::-webkit-scrollbar { display: none; }
.edbar a { display: block; padding: 14px 11px; color: var(--areia); text-decoration: none; font: 600 14px/1 var(--f-text); white-space: nowrap; border-bottom: 3px solid transparent; }
.edbar a:hover { color: var(--amarelo); }
.edbar a[aria-current="page"] { border-bottom-color: var(--amarelo); color: var(--amarelo); }
.edbar li:first-child a { padding-left: 0; }

/* ---------- faixa de últimas */
.ticker { border-bottom: 1px solid var(--line); background: #fbf8f2; }
.ticker .wrap { display: flex; align-items: center; gap: 16px; height: 46px; overflow: hidden; }
.ticker__label { flex: none; background: var(--laranja); color: var(--grafite); font: 700 12px/1 var(--f-text); letter-spacing: .08em; text-transform: uppercase; padding: 7px 10px; border-radius: 4px; }
.ticker__view { position: relative; flex: 1; height: 100%; min-width: 0; }
/* as 5 principais, uma por vez, 5 s em cada (portal.js troca a classe .on); pausa ao passar o mouse */
.ticker__view a { position: absolute; inset: 0; display: flex; align-items: center; text-decoration: none; font-size: 14px; line-height: 1.25; opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity .45s ease, transform .45s ease, visibility 0s .45s; }
.ticker__view a.on { opacity: 1; visibility: visible; transform: none; transition: opacity .45s ease, transform .45s ease; }
.ticker__view a b { color: var(--cacau); font-weight: 600; margin-right: 6px; flex: none; }
.ticker__view a:hover { text-decoration: underline; }
@media (max-width: 599px) { .ticker__view a { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; align-content: center; } .ticker__view { display: flex; align-items: center; } }
@media (prefers-reduced-motion: reduce) { .ticker__view a, .ticker__view a.on { transition: none; transform: none; } }

/* ---------- capa tipográfica (o lugar da foto até haver foto própria) */
.capa { position: relative; aspect-ratio: 4 / 3; border-radius: var(--r); overflow: hidden; background: var(--verde); color: var(--areia); display: flex; flex-direction: column; justify-content: flex-end; padding: 6% 7%; isolation: isolate; }
.capa--seg { background: var(--grafite); }
.capa--cacau { background: var(--cacau); }
.capa > img.capa__foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -1; transition: transform .5s ease; }
.capa__mark { position: absolute; right: -5%; bottom: -12%; width: 38%; opacity: .12; z-index: -1; transition: transform .6s ease; }
.capa__beat { position: absolute; top: 7%; left: 7%; background: var(--laranja); color: var(--grafite); font: 700 11px/1 var(--f-text); letter-spacing: .06em; text-transform: uppercase; padding: 6px 8px; border-radius: 4px; }
.capa__city { font: 600 clamp(22px, 2.4vw, 34px)/1 var(--f-display); letter-spacing: -0.03em; }
.capa__city small { display: block; font: 500 12px/1.2 var(--f-text); letter-spacing: 0; color: var(--amarelo); margin-bottom: 8px; }
.capa--hot .capa__city { color: var(--amarelo); }
a:hover .capa__mark, a:focus-visible .capa__mark { transform: scale(1.04) rotate(-2deg); }
a:hover .capa > img.capa__foto { transform: scale(1.03); }

/* ---------- cards */
.card { display: grid; gap: 12px; align-content: start; text-decoration: none; }
.card__meta { margin: 0; font-size: 12px; color: var(--muted); display: flex; flex-wrap: wrap; gap: 4px 10px; }
.card__meta b { color: var(--cacau); font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.card__title { margin: 0; font: 600 19px/1.25 var(--f-display); letter-spacing: -0.015em; text-wrap: balance; }
.card__text { margin: 0; font-size: 15px; line-height: 1.55; color: #3c423f; }
.card:hover .card__title, .card:focus-visible .card__title { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.card { transition: transform .2s ease; }
.card:hover { transform: translateY(-2px); }

/* ---------- capa do portal: manchete + destaques */
.sec { padding-block: 36px; }
.sec + .sec { border-top: 1px solid var(--line); }
.sec__head { display: flex; align-items: baseline; gap: 16px; margin-bottom: 22px; }
.sec__head h2 { margin: 0; font: 600 26px/1.1 var(--f-display); letter-spacing: -0.02em; color: var(--verde); display: flex; align-items: center; gap: 12px; }
.sec__head h2::before { content: ""; width: 6px; height: 26px; background: var(--laranja); border-radius: 2px; }
.sec__head a { margin-left: auto; font: 600 14px/1 var(--f-text); color: var(--verde); text-decoration: none; }
.sec__head a:hover { text-decoration: underline; }

.top { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 28px; padding-block: 28px 36px; }
.lead { display: grid; gap: 14px; align-content: start; text-decoration: none; }
.lead .capa { aspect-ratio: 16 / 10; padding: 6%; justify-content: flex-end; }
.lead .capa__mark { width: 30%; right: -3%; bottom: -8%; }
.lead .capa { aspect-ratio: 16 / 9; padding: 5.5%; }
.lead .capa__city { font-size: 15px; font-family: var(--f-text); font-weight: 500; }
.lead .capa__city small { margin: 0; font-size: 14px; }
.lead__title { margin: 10px 0 0; font: 600 clamp(26px, 2.8vw + 6px, 50px)/1.06 var(--f-display); letter-spacing: -0.03em; text-wrap: balance; max-width: 18ch; color: var(--areia); }
.lead__text { margin: 0; font-size: 17px; line-height: 1.55; color: #3c423f; max-width: 60ch; }
.lead:hover .lead__title, .lead:focus-visible .lead__title { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 5px; }
.side { display: grid; gap: 20px; align-content: start; }
.mini { display: grid; grid-template-columns: 42% minmax(0, 1fr); gap: 16px; align-items: start; text-decoration: none; }
.mini .capa { padding: 8%; }
.mini .capa__city { font-size: 18px; }
.mini .capa__beat { font-size: 10px; padding: 5px 6px; }
.mini:hover .card__title { text-decoration: underline; text-underline-offset: 3px; }
.list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.list li { border-bottom: 1px solid var(--line); }
.list a { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 10px; padding: 12px 0; text-decoration: none; font: 500 16px/1.35 var(--f-display); }
.list a::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--laranja); margin-top: 7px; }
.list a:hover span { text-decoration: underline; }
.list small { display: block; font: 400 12px/1.4 var(--f-text); color: var(--muted); margin-top: 3px; }
@media (max-width: 1023px) { .top { grid-template-columns: minmax(0, 1fr); } }

.grid4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px 24px; }
.grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 24px; }
@media (max-width: 1023px) { .grid4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .grid3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 599px) { .grid4, .grid3 { grid-template-columns: minmax(0, 1fr); } }

/* blocos por editoria */
.beats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.beat h3 { margin: 0 0 16px; font: 600 20px/1.1 var(--f-display); color: var(--verde); padding-bottom: 10px; border-bottom: 3px solid var(--verde); display: flex; justify-content: space-between; align-items: baseline; }
.beat h3 a { text-decoration: none; }
.beat h3 small { font: 600 13px/1 var(--f-text); color: var(--laranja); }
.beat .card { margin-bottom: 14px; }
@media (max-width: 1023px) { .beats { grid-template-columns: minmax(0, 1fr); } .beat { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 24px; } .beat h3 { grid-column: 1 / -1; } }
@media (max-width: 599px) { .beat { grid-template-columns: minmax(0, 1fr); } }

/* faixa verde: municípios */
.band { background: var(--verde); color: var(--areia); }
.band .sec__head h2 { color: var(--areia); }
.band .sec__head h2::before { background: var(--amarelo); }
.band .sec__head p { margin: 0 0 0 auto; color: #c3cbc4; font-size: 14px; }
.cities { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.cities a, .cities span { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 14px 16px; background: var(--verde-2); border-radius: 8px; text-decoration: none; font: 600 16px/1.2 var(--f-display); }
.cities a:hover { background: #285a4d; }
.cities small { font: 600 12px/1 var(--f-text); color: var(--amarelo); white-space: nowrap; }
.cities span { color: #a9b5ad; font-weight: 500; }
@media (max-width: 1023px) { .cities { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 599px) { .cities { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* espaço publicitário */
.ad { display: grid; place-items: center; text-align: center; gap: 4px; min-height: 120px; margin-block: 8px; border: 1px dashed #c8bea9; border-radius: var(--r); background: #fbf8f2; color: var(--muted); font-size: 13px; text-decoration: none; padding: 16px; }
.ad b { font: 600 18px/1.2 var(--f-display); color: var(--verde); }
.ad:hover b { text-decoration: underline; }

/* chamada de pauta */
.pauta { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: center; background: var(--amarelo); border-radius: 14px; padding: 32px 36px; }
.pauta h2 { margin: 0 0 6px; font: 600 clamp(24px, 2vw + 8px, 34px)/1.1 var(--f-display); letter-spacing: -0.02em; }
.pauta p { margin: 0; max-width: 56ch; }
@media (max-width: 767px) { .pauta { grid-template-columns: minmax(0, 1fr); padding: 26px 22px; } }

/* ---------- página da notícia */
.crumbs { font-size: 13px; color: var(--muted); padding-top: 24px; }
.crumbs a { color: var(--verde); }
.article { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: 48px; padding-block: 18px 48px; }
.article__beat { display: inline-block; background: var(--laranja); color: var(--grafite); font: 700 12px/1 var(--f-text); letter-spacing: .06em; text-transform: uppercase; padding: 7px 9px; border-radius: 4px; text-decoration: none; }
.article h1 { margin: 16px 0 14px; font: 600 clamp(30px, 2.6vw + 12px, 50px)/1.07 var(--f-display); letter-spacing: -0.03em; text-wrap: balance; color: var(--verde); }
.article__meta { font-size: 14px; color: var(--muted); display: flex; flex-wrap: wrap; gap: 6px 14px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.article__meta a { color: var(--verde); font-weight: 600; }
.share { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 16px 0 22px; font-size: 13px; color: var(--muted); }
.share a, .share button { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--line); background: #fff; font: 600 13px/1 var(--f-text); color: var(--grafite); text-decoration: none; cursor: pointer; }
.share a:hover, .share button:hover { border-color: var(--verde); }
.share .wa { background: #1f8a4c; border-color: #1f8a4c; color: #fff; }
.article .capa { aspect-ratio: 21 / 8; padding: 4% 5%; }
.article .capa__city { font-size: clamp(30px, 3vw, 48px); }
.article__lead { font: 400 20px/1.6 var(--f-text); margin: 24px 0; }
.article__body p { font: 400 18px/1.7 var(--f-text); margin: 0 0 18px; max-width: 68ch; }
.article__body { margin-bottom: 28px; }
.source { display: grid; gap: 8px; padding: 20px 22px; border-left: 4px solid var(--amarelo); background: #fbf8f2; border-radius: 0 var(--r) var(--r) 0; }
.source p { margin: 0; font-size: 15px; }
.source a.btn { justify-self: start; margin-top: 6px; }
.aside h2 { margin: 0 0 14px; font: 600 18px/1.2 var(--f-display); color: var(--verde); padding-bottom: 10px; border-bottom: 3px solid var(--verde); }
.aside > div + div { margin-top: 32px; }
.aside .ig { display: grid; gap: 12px; padding: 22px; background: var(--verde); color: var(--areia); border-radius: var(--r); }
.aside .ig p { margin: 0; }
.aside .ig b { color: var(--amarelo); }
@media (max-width: 1023px) { .article { grid-template-columns: minmax(0, 1fr); gap: 32px; } }

/* ---------- listas: editoria, cidade, busca */
.pagehead { padding-block: 32px 8px; }
.pagehead p.kicker { margin: 0 0 8px; font: 700 12px/1 var(--f-text); letter-spacing: .08em; text-transform: uppercase; color: var(--laranja); }
.pagehead h1 { margin: 0; font: 600 clamp(32px, 3vw + 12px, 56px)/1.05 var(--f-display); letter-spacing: -0.03em; color: var(--verde); }
.pagehead p { margin: 10px 0 0; color: var(--muted); max-width: 64ch; }
.empty { padding: 32px 0; color: var(--muted); }

/* ---------- rodapé */
.foot { background: var(--verde); color: var(--areia); margin-top: 48px; }
.foot .wrap { display: grid; grid-template-columns: minmax(0, 4fr) repeat(3, minmax(0, 2fr)); gap: 32px; padding-block: 48px 28px; }
.foot .brand__name b { color: var(--areia); }
.foot p { margin: 14px 0 0; color: #c3cbc4; font-size: 14px; max-width: 36ch; }
.foot .handle { color: var(--amarelo); font-weight: 600; text-decoration: none; }
.foot h2 { margin: 0 0 12px; font: 600 14px/1 var(--f-text); letter-spacing: .06em; text-transform: uppercase; color: var(--amarelo); }
.foot ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; font-size: 14px; }
.foot ul a { text-decoration: none; color: #e4e0d6; }
.foot ul a:hover { color: var(--amarelo); text-decoration: underline; }
.foot__legal { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px 20px; justify-content: space-between; border-top: 1px solid rgb(245 240 230 / .18); padding-top: 18px; font-size: 13px; color: #a9b5ad; }
.foot__legal a { color: inherit; }
@media (max-width: 1023px) { .foot .wrap { grid-template-columns: repeat(2, minmax(0, 1fr)); } .foot .wrap > :first-child { grid-column: 1 / -1; } }
@media (max-width: 599px) { .grid4 .capa, .grid3 .capa { aspect-ratio: 16 / 7; } }

/* ---------- legibilidade sobre foto: véu escuro + sombra atrás do texto, sempre */
.capa:has(> img.capa__foto)::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(to top, rgba(8,20,16,.88) 0%, rgba(8,20,16,.72) 32%, rgba(8,20,16,.28) 62%, rgba(8,20,16,0) 82%), linear-gradient(to bottom, rgba(8,20,16,.45) 0%, rgba(8,20,16,0) 28%); }
.capa:has(> img.capa__foto) .capa__city, .capa:has(> img.capa__foto) .lead__title, .capa:has(> img.capa__foto) .capa__beat {
  text-shadow: 0 1px 2px rgba(0,0,0,.65), 0 2px 14px rgba(0,0,0,.55); }
.capa:has(> img.capa__foto) .capa__beat { text-shadow: none; box-shadow: 0 2px 10px rgba(0,0,0,.35); }
.capa:has(> img.capa__foto) .capa__city small { color: #f4c25a; }

/* destaque da capa: carrossel das 6 mais relevantes, 5 s cada, passando para a esquerda */
.hero { position: relative; overflow: hidden; min-width: 0; }
.hero__track { display: flex; transition: transform .7s cubic-bezier(.65, 0, .35, 1); }
.hero__track.sem { transition: none; }
.hero__track > .lead { flex: 0 0 100%; min-width: 0; }
.hero__dots { display: flex; gap: 6px; margin-top: 12px; }
.hero__dots i { width: 22px; height: 4px; border-radius: 2px; background: var(--line); transition: background .3s; }
.hero__dots i.on { background: var(--laranja); }
@media (prefers-reduced-motion: reduce) { .hero__track { transition: none; } }
