/* Páginas legais FOSInfo: Política de Privacidade, Termos de Serviço, Exclusão de dados */
body { margin:0; background:var(--color-surface-page); color:var(--color-text-primary); font-family:var(--font-body, Inter, sans-serif); }
a { color:var(--color-text-link); text-decoration:none; }
a:hover:not(.fos-btn) { color:var(--color-text-link-hover); text-decoration:underline; }
a.fos-btn:hover { text-decoration:none !important; }
.wrap { max-width:1180px; margin:0 auto; padding:0 32px; }

header.site { position:sticky; top:0; z-index:40; background:var(--color-surface-default); border-bottom:1px solid var(--color-border-subtle); }
header.site .wrap { padding-top:14px; padding-bottom:14px; display:flex; align-items:center; gap:24px; }
header.site nav { display:flex; gap:22px; margin-left:auto; font-size:14.5px; font-weight:500; }
header.site nav a { color:var(--color-text-secondary); white-space:nowrap; }
header.site nav a[aria-current="page"] { color:var(--color-brand-primary); font-weight:600; }
header.site .lang { font-size:13px; color:var(--color-text-secondary); white-space:nowrap; }
.fos-btn--wa { background:#1BA84A; color:#fff !important; }
.fos-btn--wa:hover { background:#12813A; color:#fff !important; }

.legal-hero { background:var(--gradient-brand-deep); color:var(--color-text-inverse); padding:56px 0 46px; }
.kicker { display:inline-flex; align-items:center; gap:8px; font-size:11.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--fos-yellow-500); }
.kicker::before { content:""; width:22px; height:2px; background:var(--fos-yellow-500); }
.legal-hero h1 { font-family:var(--font-display); font-weight:800; font-size:clamp(30px, 4.2vw, 48px); line-height:1.1; letter-spacing:-.02em; margin:14px 0 0; }
.legal-hero p { color:var(--color-text-inverse-secondary); max-width:72ch; font-size:17px; line-height:1.6; margin:16px 0 0; }
.legal-meta { display:flex; gap:10px 22px; flex-wrap:wrap; margin-top:22px; font-size:13.5px; color:var(--color-text-inverse-secondary); }
.legal-meta strong { color:#fff; font-weight:600; }

.legal-layout { display:grid; grid-template-columns:260px minmax(0, 1fr); gap:48px; padding:48px 0 72px; align-items:start; }
.toc { position:sticky; top:92px; background:var(--color-surface-default); border:1px solid var(--color-border-subtle); border-radius:var(--radius-lg); padding:18px 20px; font-size:13.5px; }
.toc strong { display:block; font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--color-text-secondary); }
.toc ol { margin:10px 0 0; padding-left:20px; display:flex; flex-direction:column; gap:7px; }
.toc a { color:var(--color-text-secondary); }
.toc a:hover { color:var(--color-brand-primary); }

.prose { max-width:78ch; font-size:16.5px; line-height:1.7; }
.prose h2 { font-family:var(--font-display); font-weight:800; font-size:clamp(21px, 2.4vw, 27px); line-height:1.2; letter-spacing:-.01em; margin:44px 0 12px; color:var(--color-brand-primary); scroll-margin-top:92px; }
.prose h2:first-child { margin-top:0; }
.prose h3 { font-family:var(--font-display); font-weight:700; font-size:18px; margin:26px 0 8px; }
.prose p { margin:0 0 14px; }
.prose ul, .prose ol { margin:0 0 14px; padding-left:22px; }
.prose li { margin:0 0 6px; }
.prose li::marker { color:var(--color-brand-action); }
.table-scroll { overflow-x:auto; max-width:100%; margin:12px 0 18px; }
.prose table { width:100%; border-collapse:collapse; font-size:14.5px; min-width:520px; }
.prose th, .prose td { text-align:left; padding:10px 12px; border-bottom:1px solid var(--color-border-subtle); vertical-align:top; }
.prose th { background:var(--color-surface-subtle); font-weight:700; }
.callout { background:var(--color-surface-subtle); border-left:4px solid var(--fos-yellow-500); border-radius:var(--radius-md); padding:14px 18px; margin:18px 0; }
.callout.blue { border-left-color:var(--color-brand-action); }
.callout p:last-child { margin-bottom:0; }
.idblock { background:var(--color-surface-default); border:1px solid var(--color-border-subtle); border-radius:var(--radius-lg); padding:18px 22px; margin:18px 0; font-size:15px; line-height:1.65; }
.idblock p { margin:0 0 6px; }
.idblock p:last-child { margin:0; }
.steps { counter-reset:st; list-style:none; padding:0; margin:14px 0 18px; display:grid; gap:12px; }
.steps li { position:relative; padding:14px 18px 14px 56px; background:var(--color-surface-default); border:1px solid var(--color-border-subtle); border-radius:var(--radius-lg); }
.steps li::before { counter-increment:st; content:counter(st); position:absolute; left:16px; top:14px; width:28px; height:28px; border-radius:50%; background:var(--fos-yellow-500); color:var(--fos-navy-900); font-family:var(--font-display); font-weight:800; font-size:14px; display:flex; align-items:center; justify-content:center; }
.steps li strong { display:block; margin-bottom:2px; }

footer.site { background:var(--color-surface-subtle); border-top:1px solid var(--color-border-subtle); font-size:13.5px; color:var(--color-text-secondary); }
footer.site .wrap { padding:26px 32px; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px; }
footer.site .links { display:flex; gap:16px; flex-wrap:wrap; }

@media (max-width: 900px) {
  .legal-layout { grid-template-columns:minmax(0, 1fr); gap:28px; padding-top:32px; }
  .toc { position:static; }
}
@media (max-width: 640px) {
  .wrap { padding-left:20px; padding-right:20px; }
  header.site nav { display:none; }
  header.site .wrap { gap:12px; }
  header.site img { height:32px !important; }
  header.site .hdr-cta { height:40px !important; padding:0 14px !important; font-size:13.5px !important; }
  .legal-hero { padding:38px 0 32px; }
  .prose { font-size:15.5px; }
  .steps li { padding-left:52px; }
}
