/* ============================================================
   M85 — Páginas legais (Privacidade, Cookies, Termos).
   Carrega após tokens.css + site.css (reusa rodapé, botões,
   logo). Corpo em papel para leitura longa confortável.
   ============================================================ */

/* Nav enxuta das páginas legais */
.legal-nav {
  position: sticky; top: 0; z-index: 60;
  background: rgba(21,17,15,.92);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(236,230,220,.1);
}
.legal-nav-in { max-width: 1180px; margin: 0 auto; padding: 0 24px; height: 60px; display: flex; align-items: center; justify-content: space-between; }
.legal-back { font-family: var(--font-body); font-weight: 500; font-size: 14px; color: rgba(236,230,220,.78); display: inline-flex; align-items: center; gap: 8px; transition: color var(--dur-state); }
.legal-back:hover { color: var(--m85-paper); }

/* Painel de leitura (papel) */
.legal-shell { background: var(--surface-page); color: var(--text-body); }
.legal-main { max-width: 760px; margin: 0 auto; padding: 56px 24px 80px; }

.legal-hero { border-bottom: 1px solid var(--border-hairline); padding-bottom: 28px; margin-bottom: 36px; }
.legal-kicker { display: inline-flex; align-items: center; gap: 12px; font-family: var(--font-mono); font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--m85-grey-deep); }
.legal-kicker .tick { width: 18px; height: 1px; background: rgba(21,17,15,.28); display: inline-block; }
.legal-main h1 { font-family: var(--font-display); font-weight: 700; font-size: clamp(34px, 6vw, 46px); line-height: 1.04; letter-spacing: -.03em; margin: 16px 0 0; color: var(--m85-ink); text-wrap: balance; }
.legal-meta { font-family: var(--font-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--m85-grey-deep); margin: 18px 0 0; }

/* Prosa */
.legal-body { font-family: var(--font-body); font-size: 16px; line-height: 1.7; color: var(--m85-ink); }
.legal-body > section + section { margin-top: 40px; }
.legal-body h2 { font-family: var(--font-display); font-weight: 700; font-size: 24px; letter-spacing: -.02em; line-height: 1.15; margin: 0 0 14px; color: var(--m85-ink); }
.legal-body h2 .legal-h2-num { font-family: var(--font-mono); font-size: 14px; color: var(--m85-red); margin-right: 10px; letter-spacing: 0; }
.legal-body h3 { font-family: var(--font-display); font-weight: 600; font-size: 17px; letter-spacing: -.01em; margin: 24px 0 8px; color: var(--m85-ink); }
.legal-body p { margin: 0 0 14px; max-width: 68ch; }
.legal-body a { color: var(--m85-red-deep); text-decoration: underline; text-underline-offset: 2px; }
.legal-body a:hover { color: var(--m85-red); }
.legal-body strong { font-weight: 600; }
.legal-body ul { margin: 0 0 14px; padding: 0; list-style: none; max-width: 68ch; }
.legal-body li { position: relative; padding: 6px 0 6px 22px; }
.legal-body li::before { content: ""; position: absolute; left: 0; top: 15px; width: 5px; height: 5px; background: var(--m85-red); }
.legal-body li strong { color: var(--m85-ink); }

/* Bloco de identificação do controlador */
.legal-card { border: 1px solid var(--border-hairline); border-radius: var(--radius-md); background: var(--surface-card); padding: 22px 24px; box-shadow: var(--shadow-card); margin: 0 0 14px; }
.legal-card dl { margin: 0; display: grid; grid-template-columns: max-content 1fr; gap: 8px 18px; }
.legal-card dt { font-family: var(--font-mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--m85-grey-deep); align-self: center; }
.legal-card dd { margin: 0; font-size: 15px; color: var(--m85-ink); }

/* Tabela de cookies */
.legal-table-wrap { overflow-x: auto; margin: 0 0 14px; border: 1px solid var(--border-hairline); border-radius: var(--radius-md); }
.legal-table { width: 100%; border-collapse: collapse; font-size: 14px; min-width: 480px; }
.legal-table th, .legal-table td { text-align: left; padding: 12px 16px; border-bottom: 1px solid var(--border-hairline); vertical-align: top; }
.legal-table thead th { font-family: var(--font-mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--m85-grey-deep); background: rgba(21,17,15,.03); }
.legal-table tbody tr:last-child td { border-bottom: none; }
.legal-table td:first-child { font-weight: 600; white-space: nowrap; }

.legal-note { font-size: 13.5px; color: var(--text-muted); border-top: 1px solid var(--border-hairline); margin-top: 44px; padding-top: 20px; }

@media (min-width: 900px) {
  .legal-nav-in { padding: 0 48px; height: 70px; }
  .legal-main { padding: 80px 24px 96px; }
  .legal-body { font-size: 17px; }
}
