/* ═══ CNHia Blog — folha de estilo compartilhada ═══
   Identidade herdada de landing/index.html (cores, fontes, componentes) */

:root {
  --blue:       #2A6EBB;
  --blue-dark:  #1f5699;
  --green:      #2E9E4F;
  --yellow:     #FFC300;
  --yellow-dark:#e6af00;
  --black:      #111111;
  --gray:       #D7DCE4;
  --gray-light: #F4F6FA;
  --white:      #FFFFFF;
  --radius:     12px;
  --shadow:     0 4px 24px rgba(0,0,0,0.08);
}

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
  font-family: 'DM Sans', sans-serif;
  color: var(--black);
  background: var(--white);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

.container { max-width: 860px; margin: 0 auto; padding: 0 20px; }

h1, h2, h3 {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: 0.01em;
}

/* ── Nav ─────────────────────────────────────── */
.nav { border-bottom: 1px solid var(--gray); background: var(--white); position: sticky; top: 0; z-index: 50; }
.nav__inner { display: flex; align-items: center; justify-content: space-between; padding: 14px 20px; max-width: 1100px; margin: 0 auto; }
.nav__logo img { height: 40px; display: block; }
.nav__links { display: flex; gap: 22px; list-style: none; }
.nav__links a { color: var(--black); text-decoration: none; font-weight: 500; font-size: 0.95rem; }
.nav__links a:hover { color: var(--blue); }
.btn {
  display: inline-block; text-decoration: none; font-weight: 600;
  border-radius: 999px; padding: 10px 22px; font-size: 0.95rem;
  transition: transform .15s ease, background .15s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn-primary { background: var(--blue); color: var(--white); }
.btn-primary:hover { background: var(--blue-dark); }
.btn-yellow { background: var(--yellow); color: var(--black); }
.btn-yellow:hover { background: var(--yellow-dark); }
@media (max-width: 720px) { .nav__links { display: none; } }

/* ── Artigo ──────────────────────────────────── */
.article-header { background: var(--black); color: var(--white); padding: 56px 0 40px; }
.article-header .container { max-width: 860px; }
.article-header h1 { font-size: clamp(2rem, 5vw, 3.1rem); color: var(--white); }
.article-header .kicker {
  font-family: 'Barlow Condensed', sans-serif; font-weight: 700;
  color: var(--yellow); text-transform: uppercase; letter-spacing: 0.08em;
  font-size: 1rem; margin-bottom: 10px;
}
.article-header .sub { color: var(--gray); margin-top: 14px; font-size: 1.08rem; max-width: 640px; }

.badge-atualizado {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--yellow); color: var(--black);
  border-radius: 999px; padding: 6px 16px;
  font-weight: 600; font-size: 0.85rem; margin-top: 20px;
}

article { padding: 44px 0 24px; }
article .container > p { margin-bottom: 18px; font-size: 1.05rem; }
article h2 { font-size: 1.9rem; margin: 40px 0 14px; }
article h3 { font-size: 1.35rem; margin: 28px 0 10px; }
article ul, article ol { margin: 0 0 18px 24px; }
article li { margin-bottom: 8px; }
article a { color: var(--blue); }

.destaque {
  background: var(--gray-light); border-left: 4px solid var(--yellow);
  border-radius: 0 var(--radius) var(--radius) 0;
  padding: 18px 22px; margin: 24px 0; font-size: 1.02rem;
}

/* ── Tabela ──────────────────────────────────── */
.tabela-wrap { overflow-x: auto; margin: 20px 0 8px; border: 1px solid var(--gray); border-radius: var(--radius); }
table.dados { width: 100%; border-collapse: collapse; font-size: 0.92rem; min-width: 560px; }
table.dados th {
  background: var(--black); color: var(--white); text-align: left;
  padding: 10px 14px; font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700; letter-spacing: 0.03em; font-size: 0.95rem;
}
table.dados td { padding: 9px 14px; border-top: 1px solid var(--gray); vertical-align: top; }
table.dados tr:nth-child(even) td { background: var(--gray-light); }
table.dados a { color: var(--blue); text-decoration: none; }
table.dados a:hover { text-decoration: underline; }
.legenda { font-size: 0.85rem; color: #555; margin: 8px 0 24px; }

.st { font-weight: 700; white-space: nowrap; }
.st--ok { color: var(--green); }
.st--imprensa { color: var(--blue); }
.st--federal { color: #8a6d00; }

/* ── FAQ ─────────────────────────────────────── */
.faq-bloco details {
  border: 1px solid var(--gray); border-radius: var(--radius);
  margin-bottom: 10px; background: var(--white);
}
.faq-bloco summary {
  cursor: pointer; padding: 14px 18px; font-weight: 600; font-size: 1rem;
  list-style: none; display: flex; justify-content: space-between; gap: 12px;
}
.faq-bloco summary::after { content: "+"; font-weight: 700; color: var(--blue); }
.faq-bloco details[open] summary::after { content: "–"; }
.faq-bloco details p { padding: 0 18px 14px; color: #333; }

/* ── CTA ─────────────────────────────────────── */
.cta-final {
  background: var(--black); border-radius: var(--radius);
  padding: 36px 28px; text-align: center; margin: 44px 0;
}
.cta-final h2 { color: var(--white); margin: 0 0 8px; font-size: 1.8rem; }
.cta-final p { color: var(--gray); margin-bottom: 20px; }

.fonte-rodape { font-size: 0.85rem; color: #666; border-top: 1px solid var(--gray); padding-top: 18px; margin-top: 36px; }

/* ── Índice do blog ──────────────────────────── */
.card-artigo {
  display: block; border: 1px solid var(--gray); border-radius: var(--radius);
  padding: 22px 24px; margin-bottom: 16px; text-decoration: none; color: var(--black);
  transition: box-shadow .15s ease, transform .15s ease; background: var(--white);
}
.card-artigo:hover { box-shadow: var(--shadow); transform: translateY(-2px); }
.card-artigo h2 { font-size: 1.5rem; margin: 0 0 6px; color: var(--black); }
.card-artigo p { color: #444; font-size: 0.98rem; }
.card-artigo .meta { font-size: 0.82rem; color: var(--blue); font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; }

/* ── Footer ──────────────────────────────────── */
.footer { background: var(--gray-light); border-top: 1px solid var(--gray); padding: 32px 0; margin-top: 40px; }
.footer__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; max-width: 1100px; margin: 0 auto; padding: 0 20px; }
.footer__logo img { height: 36px; }
.footer__links { display: flex; flex-wrap: wrap; gap: 18px; list-style: none; }
.footer__links a { color: var(--black); text-decoration: none; font-size: 0.9rem; }
.footer__links a:hover { color: var(--blue); }
.footer__copy { font-size: 0.82rem; color: #666; width: 100%; }
