/* Legal pages (Privacy Policy, Terms of Use) on the reading layout used by /conteudo/ */
.legal-updated { font-size: .85rem; color: var(--muted); margin-top: 18px; }
.legal-layout { margin-bottom: 100px; }
.legal-layout .article-index nav { font-size: .82rem; gap: 12px; }
.legal-body .legal-lead { font-size: 1.15rem; color: var(--text); margin-bottom: 40px; }
.legal-body h2 { padding-top: 34px; margin-top: 34px; border-top: 1px solid var(--line); }
.legal-body h2:first-of-type { border-top: 0; padding-top: 0; }
.legal-body h3 { font-size: 1.1rem; margin: 28px 0 10px; color: var(--text); }
.legal-body ul, .legal-body ol { padding-left: 0; list-style: none; margin: 14px 0 22px; color: var(--muted); line-height: 1.75; }
.legal-body li { position: relative; padding-left: 22px; margin: 8px 0; }
.legal-body ul li::before { content: ''; position: absolute; left: 0; top: .85em; width: 9px; height: 1px; background: var(--mint); }
.legal-body ol { counter-reset: legal; }
.legal-body ol li { counter-increment: legal; padding-left: 32px; }
.legal-body ol li::before { content: counter(legal, decimal-leading-zero); position: absolute; left: 0; color: var(--mint); font-size: .8rem; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
.legal-body strong { color: var(--text); font-weight: 550; }
.legal-body a { color: var(--mint); text-decoration: underline; text-underline-offset: 3px; }
.legal-body .table-wrap { overflow-x: auto; margin: 18px 0 24px; }
.legal-body table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.legal-body th { text-align: left; font-weight: 550; color: var(--muted); padding: 10px 14px 10px 0; border-bottom: 1px solid var(--line); }
.legal-body td { padding: 14px 14px 14px 0; border-bottom: 1px solid var(--line); vertical-align: top; color: var(--muted); }
.legal-body .note { display: flex; gap: 12px; align-items: flex-start; margin: 22px 0; padding: 18px 20px; border-left: 2px solid var(--mint); background: var(--surface); border-radius: 0 14px 14px 0; }
.legal-body .note svg { width: 18px; height: 18px; flex: none; margin-top: 4px; color: var(--mint); }
.legal-body .note p { margin: 0; }
.legal-body .contact-card { margin-top: 22px; padding: 26px; border: 1px solid var(--line); border-radius: 20px; background: var(--surface); }
.legal-body .contact-card h3 { margin-top: 0; }
.legal-body .contact-row { display: flex; align-items: center; gap: 10px; margin-top: 12px; color: var(--text); }
.legal-body .contact-row svg { width: 16px; height: 16px; flex: none; color: var(--mint); }
.legal-body .prose > * + * { margin-top: 0; }
