/* ===========================================================
   PARAÍBA AGORA — sistema de design (padrão G1)
   Vermelho como cor de marca (referência direta ao vermelho da
   bandeira da Paraíba), tipografia sans-serif bold, grid modular,
   eyebrow de categoria em texto simples. Mesorregiões (Mata /
   Agreste / Sertão / Borborema) seguem como navegação-assinatura.
   =========================================================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=IBM+Plex+Mono:wght@400;500&display=swap');

:root{
  --ink:        #1A1A1A;
  --paper:      #F4F4F4;   /* cinza claríssimo, estilo G1 — não branco puro */
  --paper-2:    #FFFFFF;
  --brand:      #C8102E;   /* vermelho — bandeira da PB + convenção de portal de notícia */
  --brand-dark: #9E0C24;
  --line:       #E2E2E2;
  --muted:      #5A5A5A;
  --muted-lt:   #8A8A8A;

  /* mesorregiões — selo de cor própria, discreto */
  --meso-mata:       #1A1A1A;
  --meso-agreste:    #8A5A00;
  --meso-sertao:     #C8102E;
  --meso-borborema:  #2A4A8A;

  --font-display: 'Inter', -apple-system, sans-serif;
  --font-body:    'Inter', -apple-system, sans-serif;
  --font-mono:    'IBM Plex Mono', monospace;

  --sh: 0 1px 3px rgba(0,0,0,.08);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-body);
  background:var(--paper);
  color:var(--ink);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.w{max-width:1180px;margin:0 auto;padding:0 20px;}
ul{list-style:none;}

/* ---------- barra utilitária (estilo globo.com / g1 / ge...) ---------- */
.top-bar{background:var(--paper-2);border-bottom:1px solid var(--line);font-size:12.5px;}
.top-bar .w{display:flex;align-items:center;justify-content:space-between;height:38px;}
.top-bar .plantao{display:flex;align-items:center;gap:10px;overflow:hidden;flex:1;margin-right:24px;color:var(--muted);min-width:0;}
.top-bar .plantao .tag{
  flex:none;background:var(--brand);color:#fff;padding:2px 9px;font-weight:800;letter-spacing:.04em;font-size:11px;border-radius:2px;
}
.top-bar .plantao .track{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;min-width:0;}
.top-bar .plantao .track a:hover{color:var(--brand);}
.top-bar time{font-family:var(--font-mono);font-size:11.5px;color:var(--muted-lt);}

/* ---------- masthead vermelho (padrão g1) ---------- */
.masthead{background:var(--brand);}
.masthead .w{display:flex;align-items:center;justify-content:space-between;height:76px;}
.masthead .brand{
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(24px,3.4vw,32px);
  letter-spacing:-.01em;
  color:#fff;
  display:flex;align-items:baseline;gap:8px;
}
.masthead .brand .politica{
  font-weight:600;font-size:.55em;background:rgba(255,255,255,.18);padding:3px 9px;border-radius:3px;
}
.masthead .slogan{display:none;} /* estilo g1 não usa slogan visível no masthead */

/* ---------- ribbon de mesorregiões (elemento assinatura) ---------- */
.meso-ribbon{background:var(--ink);}
.meso-ribbon ul{display:flex;justify-content:center;flex-wrap:wrap;}
.meso-ribbon a{
  display:block;padding:10px 20px;
  font-size:12.5px;font-weight:600;
  color:rgba(255,255,255,.72);
  border-right:1px solid rgba(255,255,255,.12);
  transition:background .15s, color .15s;
}
.meso-ribbon li:first-child a{border-left:1px solid rgba(255,255,255,.12);}
.meso-ribbon a:hover{background:rgba(255,255,255,.08);color:#fff;}
.meso-ribbon a.ativo{background:var(--brand);color:#fff;}
.meso-ribbon a .dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:7px;position:relative;top:-1px;}

/* ---------- navegação de editorias ---------- */
.nav-editorias{background:var(--paper-2);border-bottom:1px solid var(--line);}
.nav-editorias .w{display:flex;gap:0;flex-wrap:wrap;justify-content:center;}
.nav-editorias a{
  padding:13px 18px;font-size:13.5px;font-weight:700;color:var(--ink);
  border-right:1px solid var(--line);
}
.nav-editorias a:hover{color:var(--brand);}

/* ---------- eyebrow de categoria (texto simples, sem chip colorido) ---------- */
.eyebrow{
  font-size:12.5px;font-weight:700;color:var(--muted);
  text-transform:none;letter-spacing:0;
}
.eyebrow.destaque{color:var(--brand);}

/* ---------- hero / grid modular ---------- */
.hero{padding:28px 0 10px;}
.hero-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:0;border:1px solid var(--line);background:var(--paper-2);}
.hero-principal{padding:26px;border-right:1px solid var(--line);}
.hero-principal img{width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--line);margin-bottom:16px;}
.hero-principal h1{
  font-family:var(--font-display);font-weight:800;
  font-size:clamp(24px,2.8vw,36px);line-height:1.12;margin-top:8px;color:var(--brand);
}
.hero-principal h1 a:hover{text-decoration:underline;}
.hero-principal .resumo{color:var(--muted);font-size:15.5px;margin-top:12px;max-width:640px;}
.hero-principal .meta{
  font-family:var(--font-mono);font-size:11.5px;color:var(--muted-lt);
  margin-top:14px;display:flex;gap:14px;
}

/* coluna modular à direita — blocos empilhados tipo "Rock in Rio / Luto" */
.hero-secundarias{display:flex;flex-direction:column;}
.hero-mod{position:relative;border-bottom:1px solid var(--line);min-height:170px;display:flex;align-items:flex-end;overflow:hidden;}
.hero-mod:last-child{border-bottom:none;}
.hero-mod img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.hero-mod .overlay{
  position:relative;z-index:1;width:100%;
  background:linear-gradient(to top, rgba(0,0,0,.82), rgba(0,0,0,.15) 70%, transparent);
  padding:16px;color:#fff;
}
.hero-mod .eyebrow{color:#fff;opacity:.85;font-size:11.5px;}
.hero-mod h3{font-family:var(--font-display);font-weight:800;font-size:16.5px;line-height:1.25;margin-top:4px;color:#fff;}
.hero-mod h3 a:hover{text-decoration:underline;}

/* sem imagem: cai pro modo texto simples (evita vazio feio) */
.hero-mod.sem-imagem{background:var(--ink);align-items:flex-start;}
.hero-mod.sem-imagem .overlay{background:none;}

/* ---------- publicidade ---------- */
.ad-slot{
  background:var(--paper-2);border:1px dashed var(--line);
  display:flex;align-items:center;justify-content:center;
  color:var(--muted-lt);font-family:var(--font-mono);font-size:12px;
  margin:22px 0;text-align:center;padding:10px;
}
.ad-970x150{height:150px;}
.ad-300x300{height:300px;width:300px;margin-left:auto;margin-right:auto;}
.ad-728x90{height:90px;}

/* ---------- grid principal + sidebar ---------- */
.conteudo{padding:26px 0 60px;}
.conteudo-grid{display:grid;grid-template-columns:1fr 320px;gap:32px;align-items:start;}

.secao-titulo{
  font-family:var(--font-display);font-weight:800;font-size:19px;
  border-bottom:3px solid var(--ink);padding-bottom:9px;margin-bottom:18px;
  display:flex;align-items:center;justify-content:space-between;
}
.secao-titulo a{font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--brand);}

.grid-noticias{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:32px;}
.card-noticia{background:var(--paper-2);border:1px solid var(--line);padding:14px;}
.card-noticia img{width:100%;aspect-ratio:16/10;object-fit:cover;background:var(--line);margin-bottom:12px;}
.card-noticia h3{font-family:var(--font-display);font-size:17px;font-weight:800;line-height:1.28;margin-top:6px;}
.card-noticia h3 a:hover{color:var(--brand);}
.card-noticia p{color:var(--muted);font-size:13.5px;margin-top:8px;}
.card-noticia .meta{font-family:var(--font-mono);font-size:10.5px;color:var(--muted-lt);margin-top:10px;}

.lista-compacta li{
  display:flex;gap:12px;padding:12px 0;border-top:1px solid var(--line);
}
.lista-compacta li:first-child{border-top:none;padding-top:0;}
.lista-compacta .num{
  font-family:var(--font-display);font-weight:900;font-size:20px;color:var(--line);flex:none;width:24px;
}
.lista-compacta h4{font-size:13.5px;font-weight:700;line-height:1.3;}
.lista-compacta h4 a:hover{color:var(--brand);}
.lista-compacta .meta{font-family:var(--font-mono);font-size:10.5px;color:var(--muted-lt);margin-top:4px;}

/* ---------- sidebar ---------- */
.sidebar-box{background:var(--paper-2);border:1px solid var(--line);padding:18px;margin-bottom:20px;}
.sidebar-box h4{
  font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.05em;
  text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);
  padding-bottom:9px;margin-bottom:13px;
}

/* --- widget de clima --- */
.clima-widget{display:flex;align-items:center;gap:14px;}
.clima-widget .emoji{font-size:38px;line-height:1;}
.clima-widget .temp{font-family:var(--font-display);font-weight:900;font-size:30px;line-height:1;}
.clima-widget .cidade{font-size:13px;font-weight:700;margin-top:2px;}
.clima-widget .desc{font-size:12px;color:var(--muted);}
.clima-cidades{display:flex;gap:6px;margin-top:12px;flex-wrap:wrap;}
.clima-cidades a{font-family:var(--font-mono);font-size:10.5px;padding:4px 8px;background:var(--paper);border:1px solid var(--line);color:var(--muted);}
.clima-cidades a.ativo{background:var(--brand);color:#fff;border-color:var(--brand);}

/* --- widget de tabela de campeonato --- */
.tabela-campeonato{width:100%;border-collapse:collapse;font-size:12.5px;}
.tabela-campeonato th{
  text-align:left;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;
  color:var(--muted-lt);padding:6px 4px;border-bottom:2px solid var(--ink);
}
.tabela-campeonato td{padding:7px 4px;border-bottom:1px solid var(--line);}
.tabela-campeonato tr:nth-child(-n+4) td:first-child{color:var(--brand);font-weight:800;}
.tabela-campeonato .pos{width:22px;font-weight:800;}
.tabela-campeonato .pts{font-weight:800;text-align:right;}
.tabs-campeonatos{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:14px;}
.tabs-campeonatos a{
  font-family:var(--font-mono);font-size:11px;font-weight:600;padding:6px 10px;
  background:var(--paper);border:1px solid var(--line);color:var(--muted);
}
.tabs-campeonatos a.ativo{background:var(--brand);color:#fff;border-color:var(--brand);}
.aviso-exemplo{
  font-family:var(--font-mono);font-size:11px;background:#FFF3E0;color:#8A5A00;
  padding:8px 10px;margin-bottom:12px;border-left:3px solid #8A5A00;
}

/* ---------- rodapé ---------- */
footer{background:var(--ink);color:rgba(255,255,255,.68);padding:40px 0 24px;margin-top:36px;}
footer .brand{font-family:var(--font-display);font-weight:900;color:#fff;font-size:20px;}
footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px;margin-bottom:26px;}
footer a:hover{color:#fff;}
footer .fine{font-family:var(--font-mono);font-size:11px;color:rgba(255,255,255,.42);border-top:1px solid rgba(255,255,255,.14);padding-top:16px;}

/* ---------- página de matéria ---------- */
.materia{max-width:740px;margin:0 auto;padding:32px 20px 60px;}
.materia .editoria-tag{font-size:13px;font-weight:700;color:var(--brand);}
.materia h1{font-family:var(--font-display);font-weight:800;font-size:clamp(26px,3.6vw,40px);line-height:1.12;margin-top:10px;}
.materia .resumo-lead{font-size:18px;color:var(--muted);margin-top:14px;}
.materia .meta{
  font-family:var(--font-mono);font-size:11.5px;color:var(--muted-lt);
  display:flex;gap:16px;margin-top:16px;padding-bottom:16px;border-bottom:1px solid var(--line);
}
.materia img.capa{width:100%;margin-top:22px;background:var(--line);aspect-ratio:16/9;object-fit:cover;}
.materia .video-embed{position:relative;width:100%;aspect-ratio:16/9;margin-top:22px;background:var(--ink);}
.materia .video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}

/* selo de vídeo nas listagens (home, categorias) */
.badge-video{
  display:inline-flex;align-items:center;gap:4px;
  font-family:var(--font-mono);font-size:10.5px;font-weight:700;
  color:var(--brand);
}
.materia .corpo{margin-top:24px;font-size:17px;line-height:1.75;}
.materia .corpo p{margin-bottom:18px;}
.materia .fonte-original{
  margin-top:28px;padding:14px 16px;background:var(--paper-2);border-left:3px solid var(--brand);
  font-size:13.5px;color:var(--muted);
}

/* ---------- responsivo ---------- */
@media (max-width:860px){
  .hero-grid{grid-template-columns:1fr;}
  .hero-principal{border-right:none;border-bottom:1px solid var(--line);}
  .conteudo-grid{grid-template-columns:1fr;}
  .grid-noticias{grid-template-columns:1fr;}
  footer .cols{grid-template-columns:1fr;}
}
