
/* ===== Certidões Template — CSS ===== */
/* Core tokens */
:root{
  --brand:#1d4ed8;
  --brand-ink:#0b3ab8;
  --ink:#0f172a;
  --muted:#64748b;
  --line:#e5e7eb;
  --soft:#f8fafc;
  --ok:#16a34a;
  --danger:#dc2626;
}

/* Reset-ish */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin: 0 20px;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif;
  line-height:1.6;
  color:var(--ink);
  background:#fff;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

/* Layout helpers */
.container{width:min(1120px,92%);margin-inline:auto}
.section{padding:36px 0}

/* Header */
.site-header{
  position:sticky; top:0; z-index:40;
  background:#fff; border-bottom:1px solid var(--line);
}
.site-header .wrap{
  display:flex; align-items:center; justify-content:space-between; padding:12px 0;
}
.site-nav ul{display:flex; gap:16px; list-style:none; margin:0; padding:0}
.site-nav a{padding:10px 12px; border-radius:8px}
.site-nav a:hover,.site-nav a:focus{background:#f3f4f6; outline:0}

/* Hero */
.hero{
  background:var(--brand);
  color:#fff;
  border-radius:16px;
  padding:48px 0 32px;
}
.hero h1{margin:0 0 8px; font-size:clamp(26px,4vw,44px); font-weight:800}
.hero p{margin:0; max-width:760px; font-size:clamp(16px,2vw,20px); opacity:.95}

/* Badges & buttons */
.badge{
  display:inline-block; padding:6px 10px;
  border-radius:999px; border:1px solid #c7d2fe; background:#e0e7ff; color:#1e3a8a;
  font-size:12px; font-weight:600;
}
.btn{
  display:inline-block; padding:12px 16px;
  border-radius:10px; border:1px solid #cbd5e1; background:#fff; color:var(--ink);
  font-weight:600; cursor:pointer;
}
.btn.primary{background:#fff; color:var(--brand); border-color:#fff}
.btn.brand{background:var(--brand); color:#fff; border-color:var(--brand)}
.btn:hover{filter:brightness(0.98)}

/* Cards, grids */
.card{background:#fff; border:1px solid var(--line); border-radius:12px; padding:16px}
.grid-2{display:grid; grid-template-columns:2fr 1fr; gap:20px}
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:20px}

/* Tables */
.table{width:100%; border-collapse:collapse}
.table th,.table td{border:1px solid var(--line); padding:10px; text-align:left}
.table thead th{background:var(--soft)}

/* Forms */
.form{display:grid; gap:12px}
.form .row{display:grid; grid-template-columns:repeat(2,1fr); gap:12px}
input,select,textarea{
  width:100%; padding:12px; border-radius:10px; border:1px solid #cbd5e1; font:inherit;
}
label{font-weight:600}
.notice{font-size:13px; color:var(--muted)}

/* FAQ */
.faq{max-width:820px}
.faq-item{border:1px solid var(--line); border-radius:10px; margin-bottom:8px; overflow:hidden}
.faq-q{background:#f9fafb; padding:12px; font-weight:600; cursor:pointer}
.faq-a{display:none; padding:12px; background:#fff}

/* Footer */
.footer-dark{background:#0f172a; color:#e2e8f0; margin-top:24px}
.footer-dark a{color:#93c5fd}
.footer-dark .grid{display:grid; gap:20px; grid-template-columns:2fr 1fr 1fr; padding:28px 0}
.copyright{border-top:1px solid #1f2937; background:#0b122a; text-align:center; color:#94a3b8; padding:12px}

/* Cookie banner */
.cookie-banner{
  position:fixed; left:50%; bottom:12px; transform:translateX(-50%);
  background:#111827; color:#fff; padding:12px 16px; border-radius:10px;
  display:none; z-index:9999;
}

/* Responsive */
@media (max-width:960px){
  .grid-2{grid-template-columns:1fr}
  .grid-3{grid-template-columns:1fr}
  .form .row{grid-template-columns:1fr}
  .footer-dark .grid{grid-template-columns:1fr}
}

/* Utilities */
.kpi{border:1px dashed #c7d2fe; border-radius:10px; padding:12px; background:#fff; min-width:160px}
.shadow-sm{box-shadow:0 1px 2px rgba(0,0,0,.04)}
.round{border-radius:12px}
.soft{background:var(--soft)}
.hide{display:none !important}
.show{display:block !important}
