/* JUR-PUB-01 — folha compartilhada das páginas legais públicas. Autossuficiente:
   não depende de styles.css nem de app.js. Reusa os woff2 do Jakarta já servidos
   em /fonts (mesmos do app). Tokens do norte visual copiados aqui (fundo claro,
   --ink, --muted). Tipografia confortável, base 1rem — nunca letra de contrato. */
@font-face {
  font-family:"Plus Jakarta Sans"; font-style:normal; font-weight:400; font-display:swap;
  src:url(/fonts/plus-jakarta-sans-latin-400-normal.woff2) format("woff2");
}
@font-face {
  font-family:"Plus Jakarta Sans"; font-style:normal; font-weight:600; font-display:swap;
  src:url(/fonts/plus-jakarta-sans-latin-600-normal.woff2) format("woff2");
}
@font-face {
  font-family:"Plus Jakarta Sans"; font-style:normal; font-weight:700; font-display:swap;
  src:url(/fonts/plus-jakarta-sans-latin-700-normal.woff2) format("woff2");
}
@font-face {
  font-family:"Plus Jakarta Sans"; font-style:normal; font-weight:800; font-display:swap;
  src:url(/fonts/plus-jakarta-sans-latin-800-normal.woff2) format("woff2");
}

:root {
  --ink:#223850;
  --muted:#49607a;
  --line:#dfe9f3;
  --accent-deep:#3e6da5;
  --bg:linear-gradient(180deg,#e8f0f9,#eef3f7);
  --surface:#ffffff;
}

* { box-sizing:border-box; }
html { font-size:100%; -webkit-text-size-adjust:100%; }
body {
  margin:0;
  background:var(--bg);
  background-attachment:fixed;
  color:var(--ink);
  font-family:"Plus Jakarta Sans", Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height:1.6;
}

.legal-page {
  max-width:760px;
  margin:0 auto;
  padding:24px 20px 64px;
}

.legal-back {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  color:var(--accent-deep);
  font-weight:700;
  text-decoration:none;
  font-size:1rem;
}
.legal-back:hover { text-decoration:underline; }

.legal-banner {
  margin:14px 0 24px;
  padding:14px 16px;
  border:1px solid #e7d3b6;
  border-radius:14px;
  background:#fdf6ea;
  color:#7a5a26;
  font-size:0.9375rem;
  line-height:1.5;
}

.legal-doc {
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:18px;
  padding:28px 26px;
  box-shadow:0 14px 30px rgba(43,72,102,.08);
}

.legal-doc h1 {
  margin:0 0 4px;
  font-size:1.75rem;
  line-height:1.15;
  letter-spacing:-.4px;
  color:var(--ink);
}
.legal-subtitle {
  margin:0 0 22px;
  color:var(--muted);
  font-size:1rem;
}
.legal-doc h2 {
  margin:32px 0 10px;
  font-size:1.25rem;
  line-height:1.25;
  color:var(--ink);
}
.legal-doc h3 {
  margin:28px 0 10px;
  font-size:1.0625rem;
  color:var(--ink);
}
.legal-doc p {
  margin:0 0 14px;
  font-size:1rem;
}
.legal-doc a { color:var(--accent-deep); }
.legal-doc strong { font-weight:700; color:var(--ink); }

.legal-list {
  margin:0 0 14px;
  padding-left:22px;
}
.legal-list li {
  margin:0 0 8px;
  font-size:1rem;
}

.legal-table-wrap {
  overflow-x:auto;
  margin:0 0 18px;
}
.legal-table {
  width:100%;
  border-collapse:collapse;
  font-size:0.9375rem;
}
.legal-table th, .legal-table td {
  border:1px solid var(--line);
  padding:10px 12px;
  text-align:left;
  vertical-align:top;
}
.legal-table th {
  background:#eef4fb;
  color:var(--ink);
  font-weight:700;
}

blockquote.legal-doc, .legal-doc blockquote {
  margin:18px 0;
  padding:14px 18px;
  border-left:4px solid var(--accent-deep);
  background:#f4f8fd;
  border-radius:0 12px 12px 0;
  color:var(--ink);
}

.legal-doc-footer {
  margin-top:28px;
  padding-top:16px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:0.875rem;
}

.legal-crosslinks {
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  margin-top:24px;
}
.legal-crosslinks a {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  color:var(--accent-deep);
  font-weight:700;
  text-decoration:none;
  font-size:0.9375rem;
}
.legal-crosslinks a:hover { text-decoration:underline; }
.legal-crosslinks a.current {
  color:var(--muted);
  text-decoration:none;
  cursor:default;
}
