/* =====================================================================
   Estrela Ardente — base de estilo compartilhada (landing + páginas de
   conteúdo: termos, privacidade, contato). Fundação do site futuro.
   Mesmos tokens da landing (identidade "Branco Puro").
   ===================================================================== */
:root {
  --bg:#000; --card:#14141F; --muted:#22222E; --border:#2B2B36;
  --fg:#EBE8E0; --muted-fg:#8A8A91; --primary:#FFFFFF; --primary-fg:#0A0A0F;
  --glow-soft:0 0 16px rgba(255,255,255,0.18);
  --tglow:0 0 12px rgba(255,255,255,0.30);
  --font-brand:'Jolly Lodger',cursive;
  --font-display:'Barrio',system-ui,sans-serif;
  --font-poetic:'Mansalva',cursive;
  --font-label:'Cinzel',serif;
  --font-body:'Raleway',system-ui,sans-serif;
  --outline:-1.5px -1.5px 0 #000,1.5px -1.5px 0 #000,-1.5px 1.5px 0 #000,1.5px 1.5px 0 #000,
            0 -1.5px 0 #000,0 1.5px 0 #000,-1.5px 0 0 #000,1.5px 0 0 #000;
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  background:
    radial-gradient(ellipse 120% 60% at 50% -8%, rgba(40,40,55,0.28), transparent 55%),
    #05050a;
  color:var(--fg); font-family:var(--font-body); line-height:1.7;
  -webkit-font-smoothing:antialiased; min-height:100vh;
}
a { color:inherit; }
::selection { background:rgba(235,232,224,0.25); color:#fff; }

/* Barra de topo */
.doc-nav {
  display:flex; align-items:center; justify-content:space-between;
  max-width:820px; margin:0 auto; padding:22px 24px;
}
.doc-nav .brand { display:flex; align-items:center; gap:10px; text-decoration:none; }
.doc-nav .brand img { width:32px; height:32px; border-radius:50%; filter:drop-shadow(var(--glow-soft)); }
.doc-nav .brand span {
  font-family:var(--font-brand); font-size:25px; letter-spacing:1px; color:var(--fg);
  text-shadow:var(--outline), 0 0 12px rgba(255,255,255,0.3);
}
.doc-nav .back {
  font-family:var(--font-display); font-size:14px; letter-spacing:1px; color:var(--muted-fg);
  text-decoration:none; transition:color .25s;
}
.doc-nav .back:hover { color:var(--fg); }

/* Documento */
.doc { max-width:820px; margin:0 auto; padding:28px 24px 90px; }
.doc h1 {
  font-family:var(--font-display); font-size:clamp(34px,6vw,52px); line-height:1.05;
  letter-spacing:1px; margin:12px 0 6px; color:var(--fg);
  text-shadow:var(--outline), 0 0 14px rgba(255,255,255,0.28);
}
.doc h2 {
  font-family:var(--font-display); font-size:clamp(22px,3.4vw,28px); letter-spacing:.5px;
  margin:44px 0 14px; color:var(--fg); text-shadow:0 0 12px rgba(255,255,255,0.22);
}
.doc h3 { font-family:var(--font-body); font-weight:700; font-size:18px; color:var(--fg); margin:26px 0 10px; letter-spacing:.3px; }
.doc p { color:rgba(235,232,224,0.82); margin:0 0 16px; font-size:16px; }
.doc strong { color:var(--fg); font-weight:700; }
.doc a { color:var(--fg); text-decoration:underline; text-underline-offset:3px; text-decoration-color:rgba(235,232,224,0.4); }
.doc a:hover { text-decoration-color:var(--fg); }
.doc code {
  font-family:ui-monospace,Menlo,Consolas,monospace; font-size:.92em;
  background:var(--muted); border:1px solid var(--border); border-radius:6px; padding:1px 6px; color:var(--fg);
}
.doc ul { list-style:none; margin:0 0 18px; padding:0; }
.doc ul li { position:relative; padding-left:22px; margin-bottom:9px; color:rgba(235,232,224,0.82); }
.doc ul li::before { content:'✦'; position:absolute; left:0; top:1px; color:var(--fg); font-size:11px; text-shadow:var(--tglow); }
.doc blockquote {
  border-left:2px solid rgba(235,232,224,0.4); margin:0 0 18px; padding:8px 20px;
  font-family:var(--font-poetic); font-size:18px; color:rgba(235,232,224,0.9);
  background:linear-gradient(90deg, rgba(235,232,224,0.04), transparent);
}
.doc hr { border:none; border-top:1px solid var(--border); margin:40px 0; }
.doc .meta { color:var(--muted-fg); font-size:14px; }

/* Tabelas */
.doc .table-wrap { overflow-x:auto; margin:0 0 20px; border:1px solid var(--border); border-radius:14px; }
.doc table { width:100%; border-collapse:collapse; font-size:14px; min-width:520px; }
.doc th, .doc td { text-align:left; padding:12px 16px; border-bottom:1px solid var(--border); vertical-align:top; }
.doc th { font-family:var(--font-display); font-weight:400; letter-spacing:.5px; color:var(--fg); background:rgba(235,232,224,0.04); }
.doc td { color:rgba(235,232,224,0.8); }
.doc tr:last-child td { border-bottom:none; }

/* Rodapé */
.doc-foot {
  border-top:1px solid var(--border); background:#050506;
  padding:34px 24px; text-align:center;
}
.doc-foot .fbrand { font-family:var(--font-brand); font-size:26px; letter-spacing:1px; text-shadow:var(--tglow); margin-bottom:12px; }
.doc-foot nav { display:flex; gap:22px; justify-content:center; flex-wrap:wrap; margin-bottom:12px; }
.doc-foot a { font-family:var(--font-display); font-size:13px; letter-spacing:1px; color:var(--muted-fg); text-decoration:none; }
.doc-foot a:hover { color:var(--fg); }
.doc-foot .copy { font-size:12px; color:var(--muted-fg); }

/* Formulário de contato */
.contact-form { max-width:560px; margin:6px 0 8px; }
.contact-form label { display:block; font-family:var(--font-display); font-size:14px; letter-spacing:.5px; color:var(--fg); margin:16px 0 6px; }
.contact-form input, .contact-form textarea {
  width:100%; background:#050506; border:1px solid var(--border); border-radius:12px;
  padding:13px 16px; color:var(--fg); font-family:var(--font-body); font-size:15px; outline:none;
  transition:border-color .25s, box-shadow .25s;
}
.contact-form textarea { min-height:130px; resize:vertical; }
.contact-form input:focus, .contact-form textarea:focus { border-color:rgba(235,232,224,0.5); box-shadow:var(--glow-soft); }
.contact-form input::placeholder, .contact-form textarea::placeholder { color:var(--muted-fg); }
.contact-btn {
  margin-top:20px; display:inline-flex; align-items:center; gap:10px; cursor:pointer;
  font-family:var(--font-display); letter-spacing:1.5px; text-transform:uppercase; font-size:15px;
  background:var(--primary); color:var(--primary-fg); border:none; padding:14px 30px; border-radius:999px;
  box-shadow:var(--glow-soft); transition:transform .25s, box-shadow .3s;
}
.contact-btn:hover { transform:translateY(-2px); box-shadow:0 0 26px rgba(255,255,255,0.4); }
.contact-msg { margin-top:16px; font-family:var(--font-poetic); font-size:18px; color:var(--fg); min-height:22px; text-shadow:var(--tglow); }

@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } }
