/* Índice das páginas longas (contrato, privacidade): o leitor pula direto para o assunto, sem rolar sem fim. */
.legal-indice { border: 1px solid var(--linha); border-radius: var(--raio); background: var(--superficie); padding: 0.9rem 1.1rem; max-width: 68ch; }
.legal-indice summary { cursor: pointer; font-family: var(--f-display); font-weight: 700; color: var(--tinta); }
.legal-indice ol { margin: 0.7rem 0 0; padding-left: 1.4rem; columns: 2 16rem; column-gap: 2rem; }
.legal-indice li { break-inside: avoid; margin-bottom: 0.3rem; color: var(--aco); }
.legal-indice a { color: var(--tinta); }
.texto-legal h2[id], .texto-legal h3[id] { scroll-margin-top: 5rem; }
.legal-topo { position: fixed; left: 1rem; bottom: calc(1rem + env(safe-area-inset-bottom, 0px)); z-index: 30; background: var(--tinta); color: var(--superficie); border-radius: 999px; padding: 0.45rem 0.9rem; font-size: 0.88rem; font-weight: 600; text-decoration: none; box-shadow: 0 4px 14px rgb(0 0 0 / 0.18); }
.legal-topo:hover, .legal-topo:focus-visible { background: var(--sinal); color: var(--sinal-tinta); }
@media print { .legal-indice, .legal-topo { display: none; } }
.legal-indice ol.sem-num { list-style: none; padding-left: 0; }
