/* PapaRun — estilos das páginas de documento legal (termos, privacidade).
   Depende dos tokens e do header/footer definidos em style.css. */

/* O header do site é fixo e transparente porque nasce sobre o hero escuro;
   nestas páginas o fundo é claro, então ele precisa ser sólido e ocupar espaço. */
.header--solid {
  position: sticky;
  background:
    radial-gradient(120% 180% at 12% 0%, rgba(0, 174, 239, .28), transparent 60%),
    linear-gradient(100deg, var(--app-dark) 0%, var(--app-dark-2) 52%, var(--app-dark) 100%);
  box-shadow: 0 10px 34px rgba(1, 17, 41, .38);
}
.header__back {
  display: inline-flex; align-items: center; gap: .45rem;
  font-weight: 500; font-size: .95rem; color: rgba(255, 255, 255, .82);
  transition: color .2s;
}
.header__back:hover { color: #fff; }

.legal { padding: 54px 0 84px; }
.legal .container { width: min(880px, 92%); }

.legal__eyebrow {
  display: inline-flex; align-items: center; gap: .4rem;
  font-family: var(--font-display); font-weight: 700; font-size: .78rem;
  letter-spacing: .08em; text-transform: uppercase;
  color: #4F8A00; background: var(--volt-soft);
  border-radius: 999px; padding: .35rem .85rem;
}
.legal__title { font-size: clamp(1.9rem, 4.2vw, 2.7rem); margin: 1rem 0 .6rem; }
.legal__meta { font-size: .9rem; color: var(--muted); font-weight: 500; }
.legal__lead { margin-top: 1.5rem; font-size: 1.05rem; color: var(--text); }

.legal-toc {
  margin: 2.4rem 0 0; background: var(--card); border-radius: var(--radius);
  box-shadow: var(--shadow); padding: 1.8rem 1.9rem;
}
.legal-toc h2 { font-size: 1rem; text-transform: uppercase; letter-spacing: .07em; color: var(--muted); }
.legal-toc ol {
  margin: 1.1rem 0 0; padding-left: 1.3rem;
  columns: 2; column-gap: 2.2rem;
}
.legal-toc li { margin-bottom: .45rem; font-size: .94rem; break-inside: avoid; }
.legal-toc a { color: var(--text); border-bottom: 1px solid transparent; transition: color .2s, border-color .2s; }
.legal-toc a:hover { color: #0084A8; border-color: currentColor; }

.legal-doc { margin-top: 2.6rem; }
.legal-doc section + section { margin-top: 2.6rem; }
.legal-doc h2 {
  font-size: 1.22rem; color: var(--navy);
  padding-bottom: .7rem; margin-bottom: 1rem;
  border-bottom: 2px solid rgba(13, 27, 46, .08);
}
.legal-doc h3 { font-size: 1rem; margin: 1.4rem 0 .5rem; color: var(--navy); }
.legal-doc p { margin-bottom: 1rem; }
.legal-doc p:last-child, .legal-doc ul:last-child { margin-bottom: 0; }
.legal-doc ul { margin: 0 0 1rem 1.15rem; padding: 0; }
.legal-doc li { margin-bottom: .5rem; }
.legal-doc li::marker { color: var(--volt-dark); }
.legal-doc dl { margin: 0 0 1rem; }
.legal-doc dt { font-family: var(--font-display); font-weight: 700; color: var(--navy); margin-top: .9rem; }
.legal-doc dd { margin: .15rem 0 0; }
.legal-doc strong { color: var(--navy); }
.legal-doc a { color: #0084A8; border-bottom: 1px solid rgba(0, 132, 168, .35); }

.legal-callout {
  background: var(--card); border-left: 4px solid var(--cyan);
  border-radius: var(--radius-sm); box-shadow: var(--shadow);
  padding: 1.2rem 1.4rem; margin: 0 0 1.2rem;
}
.legal-callout--alert { border-left-color: var(--gold); }
.legal-callout--alert strong { color: #A87A00; }

/* Tabela de compartilhamento com terceiros. */
.legal-table-wrap { overflow-x: auto; margin: 0 0 1.2rem; }
.legal-table {
  width: 100%; min-width: 34rem; border-collapse: collapse;
  font-size: .9rem; background: var(--card);
  border-radius: var(--radius-sm); overflow: hidden; box-shadow: var(--shadow);
}
.legal-table th {
  font-family: var(--font-display); font-size: .82rem; text-align: left;
  text-transform: uppercase; letter-spacing: .05em;
  color: var(--navy); background: #E6EBF2;
  padding: .8rem 1rem;
}
.legal-table td { padding: .8rem 1rem; border-top: 1px solid rgba(13, 27, 46, .08); vertical-align: top; }
.legal-table tbody tr:nth-child(even) { background: rgba(238, 242, 246, .55); }
.legal-table td:first-child { font-weight: 700; color: var(--navy); white-space: nowrap; }

/* Pendência de decisão de negócio: precisa saltar aos olhos até ser resolvida. */
.legal-review {
  background: rgba(245, 184, 24, .12); border: 1.5px dashed var(--gold);
  border-radius: var(--radius-sm); padding: 1rem 1.2rem; margin: 0 0 1.2rem;
  font-size: .92rem; color: #7A5900;
}
.legal-review strong { color: #7A5900; }
.legal-placeholder { font-weight: 700; color: #A87A00; white-space: nowrap; }

@media (max-width: 720px) {
  .legal { padding: 34px 0 60px; }
  .legal-toc { padding: 1.4rem 1.3rem; }
  .legal-toc ol { columns: 1; }
}
@media print {
  .header, .footer { display: none; }
  .legal-toc, .legal-callout, .legal-table { box-shadow: none; border: 1px solid #ccc; }
  .legal .container { width: 100%; }
}
