/* Documentos legais — tipografia e sumário de termos.html e privacidade.html. */

/* Tipografia dos documentos legais */
.doc h2 { font-size: 1.5rem; line-height: 1.25; font-weight: 700; color: #1a1c1e; margin: 3rem 0 1rem; scroll-margin-top: calc(var(--nav-h) + 1.5rem); }
.doc h2:first-child { margin-top: 0; }
.doc h3 { font-size: 1.0625rem; font-weight: 700; color: #1a1c1e; margin: 2rem 0 .5rem; }
.doc p, .doc li { font-size: 1rem; line-height: 1.75; color: #43474e; }
.doc p { margin-bottom: 1rem; }
.doc ul { margin: 0 0 1.25rem; padding-left: 1.25rem; list-style: disc; }
.doc li { margin-bottom: .5rem; }
.doc li::marker { color: #d81b7f; }
.doc strong { color: #1a1c1e; font-weight: 600; }
.doc a { color: #d81b7f; text-decoration: underline; text-underline-offset: 3px; }
.doc table { width: 100%; border-collapse: collapse; margin-bottom: 1.5rem; font-size: .9375rem; }
.doc th, .doc td { text-align: left; vertical-align: top; padding: .75rem .875rem; border-bottom: 1px solid #e0e3e5; color: #43474e; }
.doc th { color: #1a1c1e; font-weight: 600; background: #f6f7f9; }
.doc .rolagem { overflow-x: auto; }
/* O que ainda depende de conferência jurídica fica visualmente marcado */
.doc .campo { background: #fdf2f8; border: 1px dashed #f0abd0; color: #9d174d; border-radius: .375rem; padding: 0 .35rem; font-weight: 600; white-space: nowrap; }
.doc-aviso { border: 1px solid #f0abd0; background: #fdf2f8; border-radius: 1rem; padding: 1.25rem 1.5rem; margin-bottom: 2.5rem; }
.doc-aviso p { margin: 0; color: #9d174d; font-size: .9375rem; line-height: 1.6; }
.doc-sumario a { display: block; padding: .4rem 0 .4rem .875rem; border-left: 2px solid #e0e3e5; font-size: .9375rem; line-height: 1.4; color: #43474e; transition: color .2s, border-color .2s; }
.doc-sumario a:hover { color: #d81b7f; border-color: #d81b7f; }

/* Tema escuro: os textos e bordas fixos em hex acima não reagem às
   variáveis do Tailwind, então redefinimos aqui só o que muda — reusando
   as mesmas variáveis de base.css (não duplicamos nenhuma cor nova). */
html.dark .doc h2,
html.dark .doc h3,
html.dark .doc strong,
html.dark .doc th {
    color: rgb(var(--color-on-surface));
}
html.dark .doc p,
html.dark .doc li,
html.dark .doc td {
    color: rgb(var(--color-on-surface-variant));
}
html.dark .doc li::marker,
html.dark .doc a,
html.dark .doc-sumario a:hover {
    color: rgb(var(--color-primary));
}
html.dark .doc-sumario a:hover { border-color: rgb(var(--color-primary)); }
html.dark .doc th,
html.dark .doc td {
    border-bottom-color: rgb(var(--color-outline-variant) / .3);
}
html.dark .doc th { background: rgb(var(--color-surface-container)); }
html.dark .doc-sumario a { border-left-color: rgb(var(--color-outline-variant) / .3); }
html.dark .doc .campo {
    background: rgb(var(--color-primary) / .14);
    border-color: rgb(var(--color-primary) / .4);
    color: rgb(var(--color-primary));
}
html.dark .doc-aviso {
    background: rgb(var(--color-primary) / .1);
    border-color: rgb(var(--color-primary) / .35);
}
html.dark .doc-aviso p { color: rgb(var(--color-primary)); }
