/* ==========================================================================
   Páginas legais (Termos de Uso / Política de Privacidade) — 2026-08-07
   Carregada DEPOIS de site.css: herda tokens, topbar (.nav) e rodapé (.foot).
   Só acrescenta o que é específico de página de texto corrido.
   ========================================================================== */

/* O site é não-copiável por regra do sistema (site.css, 2026-05-31). Aqui a
   regra é revertida de propósito: documento legal precisa ser selecionável e
   copiável pelo titular dos dados. | 2026-08-07 */
body.legal, body.legal * {
  -webkit-user-select: text; -moz-user-select: text; -ms-user-select: text; user-select: text;
}

/* A topbar só ganha fundo com a classe .is-stuck, aplicada pelo site.js — que não
   roda aqui (ver comentário no fim do HTML). Sem isso o texto rolaria por baixo de
   uma barra transparente, então o estado "com fundo" é fixo nestas páginas. | 2026-08-07 */
body.legal .nav {
  background: rgba(8,11,20,.72);
  backdrop-filter: blur(14px) saturate(140%);
  border-bottom-color: var(--line);
}

.legal__main { padding: 7.5rem 0 clamp(3rem, 8vh, 5rem); }

.legal__doc { max-width: 74ch; }

.legal__idx {
  display: block; font-family: var(--mono); font-size: .72rem; letter-spacing: .12em;
  text-transform: uppercase; color: var(--cyan); margin-bottom: .9rem;
}

.legal__h {
  font-family: var(--display); font-weight: 800; line-height: 1.1;
  font-size: clamp(1.9rem, 5vw, 2.9rem); letter-spacing: -.02em;
}

/* Linha de vigência/atualização logo abaixo do título */
.legal__meta {
  font-family: var(--mono); font-size: .76rem; color: var(--mute);
  margin-top: .9rem; padding-bottom: 1.6rem; border-bottom: 1px solid var(--line);
}

.legal__lead { margin-top: 1.8rem; font-size: 1.06rem; color: var(--text); }

.legal__doc h2 {
  font-family: var(--display); font-weight: 700; font-size: clamp(1.15rem, 2.6vw, 1.4rem);
  margin-top: 2.6rem; margin-bottom: .7rem; color: var(--text);
}

.legal__doc h2 .legal__n {
  font-family: var(--mono); font-size: .8em; color: var(--cyan); margin-right: .5rem;
}

.legal__doc p { color: var(--soft); margin-top: .8rem; }
.legal__doc strong { color: var(--text); font-weight: 600; }

.legal__doc ul { margin: .9rem 0 0 0; padding: 0; list-style: none; }
.legal__doc li { color: var(--soft); position: relative; padding-left: 1.35rem; margin-top: .55rem; }
/* marcador em ponto ciano, no lugar do bullet do navegador */
.legal__doc li::before {
  content: ""; position: absolute; left: .25rem; top: .62em;
  width: 6px; height: 6px; border-radius: 50%; background: var(--cyan); opacity: .75;
}

.legal__doc a { color: var(--cyan); text-decoration: none; border-bottom: 1px solid var(--cyan-glow); }
.legal__doc a:hover { border-bottom-color: var(--cyan); }

/* Bloco destacado — usado no "como pedir seus dados de volta" e no aviso de
   que o mapa não é consultoria contratada. | 2026-08-07 */
.legal__box {
  margin-top: 1.6rem; padding: 1.15rem 1.3rem;
  background: var(--panel); border: 1px solid var(--line-2); border-left: 3px solid var(--cyan);
  border-radius: 10px;
}
.legal__box p { margin-top: 0; color: var(--text); }
.legal__box p + p { margin-top: .6rem; }

/* (As regras de tabela saíram em 2026-08-07 junto com a seção de terceiros da
   política — decisão do dono. Se voltar a existir tabela aqui, recuperar do
   commit c4c35b2.) */

/* Navegação entre os dois documentos, no fim da página */
.legal__nav {
  margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--line);
  display: flex; flex-wrap: wrap; gap: 1.4rem;
  font-family: var(--mono); font-size: .78rem;
}
.legal__nav a { color: var(--mute); text-decoration: none; }
.legal__nav a:hover { color: var(--cyan); }

@media (max-width: 900px) {
  .legal__main { padding-top: 6rem; }
}
