/* Loja IMT Academy — páginas de TEXTO (Termos de Uso, Privacidade) · 24/09/2026
 * Vem DEPOIS do /assets/loja/lp.css e só acrescenta o que a leitura longa pede:
 * título de seção menor que o h2 de venda, parágrafo na medida de leitura,
 * lista com marcador, fichas de dados, caixa de destaque e o índice.
 * Nada escondido, nada animado: a página não carrega script. */

/* pular para o texto: some da tela até receber o foco do teclado */
.doc__pular { position: absolute; left: 12px; top: -80px; z-index: 99; padding: 12px 16px; border-radius: 12px;
  background: var(--acento); color: var(--acento-tx); font: 800 .9rem/1 var(--f); text-decoration: none; }
.doc__pular:focus { top: 12px; }

/* ── topo preto ─────────────────────────────────────────────────────────── */
.doc__abre { padding-top: 28px; padding-bottom: 64px; }
.doc__topo h1 { margin-top: 4px; }
.doc__data { margin-top: 18px; font: 600 .86rem/1.4 var(--f); color: var(--tx-fraco); }
.doc__resumo { margin-top: 34px; }
.doc__resumo .checks { display: grid; gap: 12px; margin-top: 16px; }
.doc__resumo .checks li { font: 500 1rem/1.45 var(--f); color: var(--tx); }
.doc__resumo .checks b { color: var(--tx); }
.doc__resumo a { color: var(--acento); font-weight: 800; }

.doc__indice { margin-top: 34px; }
.doc__indice-rotulo { font: 800 .74rem/1 var(--f); letter-spacing: .3em; text-transform: uppercase; color: var(--tx-fraco); margin-bottom: 8px; }
.doc__indice ol { counter-reset: ind; display: grid; grid-template-columns: 1fr; column-gap: 28px; }
@media (min-width: 700px) { .doc__indice ol { grid-template-columns: 1fr 1fr; } }
.doc__indice li { counter-increment: ind; border-bottom: 1px solid var(--linha); }
.doc__indice a { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 6px 0; text-decoration: none;
  font: 600 .95rem/1.3 var(--f); color: var(--tx); }
.doc__indice a::before { content: counter(ind, decimal-leading-zero); font: 800 .74rem/1 var(--f); letter-spacing: .12em; color: var(--acento); min-width: 1.8em; }
.doc__indice a:hover { color: var(--acento); }
.doc__outro { margin-top: 26px; font: 600 .95rem/1.4 var(--f); color: var(--tx-fraco); }
.doc__outro a { display: inline-block; padding: 12px 0; margin: -12px 0; color: var(--acento); font-weight: 800; }

/* ── o texto ────────────────────────────────────────────────────────────── */
.doc { padding: 24px 0 96px; counter-reset: secao; }
.doc__secao { padding-top: 56px; counter-increment: secao; scroll-margin-top: 8px; }
.doc h2 { max-width: none; font: 800 clamp(1.3rem, 4.2vw, 1.8rem)/1.15 var(--f); letter-spacing: -.005em; text-transform: uppercase; }
.doc h2::before { content: counter(secao, decimal-leading-zero); display: block; margin-bottom: 10px;
  font: 800 .74rem/1 var(--f); letter-spacing: .3em; color: var(--tx-fraco); }
.doc h3 { margin-top: 28px; font: 800 1.05rem/1.3 var(--f); text-transform: none; }
.doc p, .doc li, .doc dd { max-width: 68ch; color: var(--tx-fraco); font-size: 1rem; line-height: 1.7; }
.doc p { margin-top: 14px; }
.doc h2 + p, .doc h3 + p { margin-top: 12px; }
.doc strong, .doc b { color: var(--tx); }
.doc a:not(.cta) { color: #000; font-weight: 800; text-decoration-color: var(--acento); text-decoration-thickness: .18em; text-underline-offset: .18em; }
/* link dentro da frase: alvo de 44px sem mexer na linha (o mesmo truque do FAQ das páginas) e e-mail longo quebra no celular */
.doc a:not(.cta) { display: inline-block; padding: 12px 0; margin: -12px 0; overflow-wrap: anywhere; }
.doc p, .doc li, .doc dd { overflow-wrap: break-word; }
.doc ul.doc__lista { margin-top: 12px; display: grid; gap: 8px; }
.doc ul.doc__lista > li { position: relative; padding-left: 22px; }
.doc ul.doc__lista > li::before { content: ""; position: absolute; left: 2px; top: .72em; width: 8px; height: 8px; border-radius: 2px; background: #000; }
.doc ul.doc__lista--pode > li::before { background: var(--acento); box-shadow: 0 0 0 1px rgba(0,0,0,.35); }
.doc ul.doc__lista--nao > li::before { background: transparent; border: 2px solid #000; width: 9px; height: 9px; }

/* caixa de destaque (arrependimento, o que não fazemos) */
.doc__caixa { margin-top: 20px; padding: 22px 24px; border-radius: 22px; background: var(--preto); --tx: var(--branco); --tx-fraco: #C9CCC6; color: var(--tx); }
.doc__caixa p, .doc__caixa li { color: var(--tx-fraco); }
.doc__caixa p:first-child { margin-top: 0; }
.doc__caixa strong, .doc__caixa b { color: var(--branco); }
.doc__caixa a:not(.cta) { color: var(--acento); }
.doc__caixa-rotulo { font: 800 .74rem/1.2 var(--f) !important; letter-spacing: .22em; text-transform: uppercase; color: var(--acento) !important; }

/* os produtos cobertos */
.doc__produtos { margin-top: 18px; display: grid; gap: 10px; }
.doc__produtos li { display: grid; gap: 2px; padding: 14px 18px; border-radius: 16px; background: var(--card); max-width: none; }
.doc__produtos b { font: 800 1rem/1.3 var(--f); }
.doc__produtos span { font-size: .95rem; line-height: 1.5; }
.doc__produtos small { font: 700 .74rem/1.2 var(--f); letter-spacing: .12em; text-transform: uppercase; color: var(--tx-fraco); }

/* fichas de dados (privacidade): uma por dado, sem tabela que estoura no celular */
.doc__fichas { margin-top: 18px; display: grid; gap: 12px; }
@media (min-width: 760px) { .doc__fichas { grid-template-columns: 1fr 1fr; } }
.doc__ficha { padding: 18px 20px; border-radius: 18px; background: var(--card); border: 1px solid var(--linha); }
.doc__ficha h3 { margin: 0; }
.doc__ficha dl { margin: 10px 0 0; display: grid; gap: 8px; }
.doc__ficha dt { font: 800 .7rem/1.2 var(--f); letter-spacing: .18em; text-transform: uppercase; color: #000; }
.doc__ficha dd { margin: 2px 0 0; font-size: .95rem; line-height: 1.55; }

/* dado que falta: à vista de propósito (api/config/empresa.php) */
.doc__preencher { padding: 0 .3em; border-radius: .2em; background: var(--acento); color: #000; font-weight: 800; outline: 2px dashed #000; outline-offset: 1px; }

.doc__assinatura { margin-top: 56px; padding-top: 22px; border-top: 1px solid var(--linha); }
