/* Site público do NotaDex (página inicial, cadastro, termos). Sem estilos inline por causa da CSP.
   Paleta NotaDex — as mesmas cores do sistema (estilo.css). */
@font-face { font-family: "Urbanist"; font-weight: 400; font-display: swap; src: url("fontes/urbanist-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Urbanist"; font-weight: 600; font-display: swap; src: url("fontes/urbanist-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Urbanist"; font-weight: 800; font-display: swap; src: url("fontes/urbanist-latin-800-normal.woff2") format("woff2"); }
:root {
  --s-marinho: #2e1065;
  --s-marinho-2: #1a0b3d;
  --s-ouro: #22c55e;
  --s-ouro-escuro: #5b21b6;
  --s-creme: #f7f5fb;
  --s-bege: #ede9fe;
  --s-linha: #e5e0ef;
  --s-tinta: #1f1633;
  --s-cinza: #5d5672;
  --s-claro: #d9d0f2;
  --s-ok: #15803d;
  --s-erro: #b3261e;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.s-corpo { margin: 0; background: var(--s-creme); color: var(--s-tinta);
  font-family: "Urbanist", "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif; line-height: 1.5; }
.s-corpo a { color: var(--s-ouro-escuro); }
.s-cont { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.s-estreito { max-width: 820px; }
.s-centro { text-align: center; }
.s-cinza { color: var(--s-cinza); }

/* topo */
.s-topo { background: #3f3a4f; color: var(--s-creme); }
.s-topo-in { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; padding-top: 18px; padding-bottom: 18px; }
.s-marca { font-weight: 800; font-size: 22px; letter-spacing: .5px; color: var(--s-creme) !important; text-decoration: none; }

.s-nav { display: flex; flex-wrap: wrap; gap: 20px; margin-left: auto; align-items: center; font-size: 15px; }
.s-nav a { color: #eae4f7; text-decoration: none; }
.s-nav a:hover { color: #fff; }
.s-btn-borda { border: 1px solid #6b4fb0; border-radius: 8px; padding: 10px 16px; color: var(--s-creme) !important; }
.s-btn-ouro, .s-btn-contorno { display: inline-block; text-align: center; text-decoration: none !important; font-weight: 700;
  border-radius: 10px; padding: 12px 18px; cursor: pointer; font: inherit; font-weight: 700; }
.s-btn-ouro { background: var(--s-ouro); color: var(--s-marinho) !important; border: 2px solid var(--s-ouro); }
.s-btn-ouro:hover { filter: brightness(1.06); }
.s-btn-contorno { border: 2px solid var(--s-marinho); color: var(--s-marinho) !important; background: transparent; }
.s-nav .s-btn-ouro { padding: 10px 18px; border-radius: 8px; }
.s-grande { font-size: 17px; padding: 16px 26px; }

/* hero */
.s-hero { background: var(--s-marinho); color: var(--s-creme); padding: 56px 0 88px; }
.s-hero-in { display: flex; flex-wrap: wrap; gap: 48px; align-items: center; }
.s-hero-txt { flex: 1 1 460px; min-width: 0; }
.s-selo { display: inline-block; margin: 0 0 18px; padding: 6px 12px; border-radius: 999px; background: #3b1a7a;
  color: #bbf7d0; font-size: 14px; font-weight: 600; }
.s-hero h1 { font-size: clamp(34px, 5vw, 52px); line-height: 1.08; margin: 0 0 20px; font-weight: 800; letter-spacing: -.5px; }
.s-lead { font-size: 19px; color: var(--s-claro); margin: 0 0 32px; max-width: 560px; }
.s-acoes { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
.s-link-claro { color: var(--s-creme) !important; font-size: 16px; }
.s-nota { margin: 22px 0 0; color: #b9aed6; font-size: 14px; }
.s-mock { flex: 1 1 440px; min-width: 0; background: var(--s-creme); color: var(--s-tinta); border-radius: 16px; padding: 22px;
  box-shadow: 0 24px 60px rgba(0,0,0,.35); }
.s-mock-topo { display: flex; gap: 8px; margin-bottom: 16px; align-items: center; }
.s-mock-topo i { width: 10px; height: 10px; border-radius: 50%; background: #d9d0f2; }
.s-mock-topo span { margin-left: auto; font-size: 12px; color: #7a7290; }
.s-mock-num { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 14px; }
.s-mock-num div, .s-mock-lista { background: #fff; border: 1px solid var(--s-linha); border-radius: 10px; padding: 14px; }
.s-mock small { display: block; font-size: 13px; color: var(--s-cinza); }
.s-mock-num b { font-size: 28px; color: var(--s-ouro-escuro); }
.s-mock-lista small { margin-bottom: 6px; }
.s-mock-lista p { display: flex; justify-content: space-between; margin: 0; padding: 8px 0; border-top: 1px solid #efebf7; font-size: 14px; }
.s-mock-lista em { font-style: normal; font-weight: 600; }
.s-mock-lista .ok { color: var(--s-ok); }
.s-mock-lista .esp { color: #8a5a00; }

/* seções */
.s-secao { padding: 88px 0; }
.s-bege { background: var(--s-bege); padding: 80px 0; }
.s-branco { background: #fff; border-top: 1px solid var(--s-linha); }
.s-sobretitulo { margin: 0 0 8px; color: var(--s-ouro-escuro); font-weight: 700; letter-spacing: 1px; font-size: 14px; }
.s-h2 { font-size: clamp(28px, 3.6vw, 38px); margin: 0 0 36px; line-height: 1.15; max-width: 780px; font-weight: 800; }
.s-centro.s-h2 { margin-left: auto; margin-right: auto; margin-bottom: 8px; }
.s-sub { margin: 0 0 40px; font-size: 17px; }
.s-grade3 { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; }
.s-cartao { background: #fff; border: 1px solid var(--s-linha); border-radius: 14px; padding: 28px; }
.s-cartao h3 { font-size: 22px; margin: 0 0 6px; }
.s-cartao ul { margin: 16px 0 0; padding-left: 20px; line-height: 1.9; }
.s-breve { display: inline-block; font-size: 12px; font-weight: 700; background: #ede9fe; color: #5b21b6; border-radius: 999px; padding: 1px 9px; }
.s-passos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 24px; }
.s-passos li { display: flex; gap: 16px; }
.s-passos li > span { flex: 0 0 44px; height: 44px; border-radius: 50%; background: var(--s-marinho); color: #bbf7d0;
  display: flex; align-items: center; justify-content: center; font-weight: 800; }
.s-passos h3 { margin: 4px 0 6px; font-size: 19px; }
.s-passos p { margin: 0; color: #4f4766; }

/* planos */
.s-planos { align-items: stretch; }
.s-plano { background: #fff; border: 1px solid var(--s-linha); border-radius: 16px; padding: 32px; display: flex; flex-direction: column; gap: 12px; }
.s-plano h3 { font-size: 22px; margin: 0; }
.s-plano-desc { margin: 0; color: var(--s-cinza); }
.s-preco { margin: 0; font-size: 40px; font-weight: 800; }
.s-preco span { font-size: 16px; font-weight: 500; color: var(--s-cinza); }
.s-plano ul { margin: 0; padding-left: 20px; line-height: 1.9; flex: 1; }
.s-destaque { background: var(--s-marinho); color: var(--s-creme); border-color: var(--s-marinho); }
.s-destaque .s-plano-desc, .s-destaque .s-preco span { color: var(--s-claro); }
.s-pilula { margin: 0; align-self: flex-start; background: var(--s-ouro); color: var(--s-marinho); font-weight: 700; font-size: 13px;
  border-radius: 999px; padding: 4px 12px; }

/* sobre e dúvidas */
.s-sobre { display: flex; flex-wrap: wrap; gap: 48px; }
.s-sobre > div:first-child { flex: 1 1 420px; min-width: 0; }
.s-texto { margin: 0 0 14px; font-size: 17px; color: #3f3756; }
.s-sobre-cartoes { flex: 1 1 320px; min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.s-sobre-cartoes div { border: 1px solid var(--s-linha); border-radius: 12px; padding: 18px; }
.s-sobre-cartoes span { display: block; color: var(--s-cinza); }
#duvidas details { border-bottom: 1px solid #e0d9ee; padding: 18px 0; }
#duvidas summary { font-weight: 600; font-size: 18px; cursor: pointer; }
#duvidas details p { margin: 12px 0 0; color: #4f4766; }
.s-final { background: var(--s-marinho); color: var(--s-creme); padding: 72px 24px; text-align: center; }
.s-final h2 { font-size: clamp(28px, 3.6vw, 36px); margin: 0 0 14px; }
.s-final p { margin: 0 0 28px; color: var(--s-claro); font-size: 18px; }

/* rodapé e WhatsApp */
.s-rodape { background: var(--s-marinho-2); color: #b9aed6; padding: 32px 0 96px; font-size: 14px; }
.s-rodape-in { display: flex; flex-wrap: wrap; gap: 18px; justify-content: space-between; }
.s-rodape-links { display: flex; gap: 18px; flex-wrap: wrap; }
.s-rodape a { color: var(--s-claro); }
.s-whats { position: fixed; right: 20px; bottom: 20px; z-index: 50; display: flex; align-items: center; gap: 10px;
  background: #25d366; color: #fff !important; text-decoration: none; font-weight: 700; font-size: 16px; border-radius: 999px;
  padding: 12px 20px 12px 14px; box-shadow: 0 10px 28px rgba(0,0,0,.25); }
.s-whats:hover { filter: brightness(1.05); }
@media (max-width: 560px) { .s-whats span { display: none; } .s-whats { padding: 12px; } }

/* cadastro */
.s-cad { display: flex; flex-wrap: wrap; min-height: calc(100vh - 80px); }
.s-cad-lado { flex: 1 1 380px; min-width: 0; background: var(--s-marinho); color: var(--s-creme); padding: 48px 40px; }
.s-cad-lado h1 { font-size: clamp(28px, 3.4vw, 38px); line-height: 1.12; margin: 0 0 16px; }
.s-cad-lado p { color: var(--s-claro); font-size: 17px; }
.s-cad-lado ol { padding-left: 20px; line-height: 2; color: #eae4f7; }
.s-cad-form { flex: 1 1 520px; min-width: 0; padding: 48px 40px; display: flex; justify-content: center; }
.s-cad-form form, .s-cad-form .s-caixa { width: 100%; max-width: 540px; }
.s-cad-form h2 { font-size: 28px; margin: 0 0 6px; }
.s-campo { margin-bottom: 16px; }
.s-campo label { display: block; font-weight: 600; font-size: 14px; margin-bottom: 6px; }
.s-campo input, .s-campo select { width: 100%; border: 1px solid #d8d0e8; background: #fff; border-radius: 8px; padding: 12px 14px;
  font: inherit; color: var(--s-tinta); }
.s-campo input:focus, .s-campo select:focus { outline: 2px solid var(--s-ouro); outline-offset: 1px; }
.s-linha2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 0 14px; }
.s-cnpj { display: flex; gap: 10px; }
.s-cnpj input { flex: 1; min-width: 0; }
.s-cnpj button { border: 1px solid var(--s-marinho); background: #fff; color: var(--s-marinho); border-radius: 8px; padding: 0 14px;
  font: inherit; font-weight: 600; cursor: pointer; white-space: nowrap; }
.s-ajuda { font-size: 13px; color: var(--s-cinza); margin: 6px 0 0; }
.s-receita { background: var(--s-bege); border-radius: 8px; padding: 10px 14px; margin: 8px 0 0; font-size: 14px; }
.s-receita:empty { display: none; }
.s-check { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; margin: 4px 0 22px; }
.s-check input { margin-top: 3px; }
.s-cad-form .s-btn-ouro { width: 100%; font-size: 17px; padding: 15px; }
.s-msg { border-radius: 8px; padding: 12px 14px; margin-bottom: 16px; font-size: 15px; }
.s-msg.erro { background: #fbe9e7; color: var(--s-erro); }
.s-msg.ok { background: #e5f3ec; color: var(--s-ok); }
.s-msg ul { margin: 0; padding-left: 18px; }
.s-escondido { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.s-codigo { font-size: 28px !important; letter-spacing: 8px; text-align: center; }
.s-doc { padding: 48px 0 72px; }
.s-doc h1 { font-size: 32px; }
.s-doc h2 { font-size: 20px; margin-top: 28px; }
.s-doc p, .s-doc li { color: #3f3756; }

@media (max-width: 640px) {
  .s-nav { gap: 12px; font-size: 14px; }
  .s-nav a:not(.s-btn-borda):not(.s-btn-ouro) { display: none; }
  .s-cad-lado, .s-cad-form { padding: 32px 16px; }
  .s-secao { padding: 64px 0; }
  .s-cont { padding: 0 16px; }
}
.s-opcional { font-weight: 400; color: var(--s-cinza); font-size: 12px; }

/* marca NotaDex */
.nd-marca { display: inline-flex; align-items: center; gap: 10px; font-family: "Urbanist", "Segoe UI", sans-serif; font-weight: 800;
  letter-spacing: -.02em; line-height: 1; text-decoration: none !important; }
.nd-icone { width: 34px; height: 34px; flex: 0 0 auto; }
.nd-nome { display: inline-flex; align-items: baseline; font-size: 26px; }
.nd-o { width: .62em; height: .62em; margin: 0 .03em -.01em; }
.nd-escuro { color: #fff; } .nd-escuro .nd-dex { color: var(--s-ouro); }
.nd-claro { color: var(--s-marinho); } .nd-claro .nd-dex { color: var(--s-ok); }

/* Página de erros na emissão */
.erro-artigo { padding: 14px 0; border-bottom: 1px solid rgba(0,0,0,.08); scroll-margin-top: 90px; }
.erro-artigo h2 { font-size: 1.2rem; margin: 0 0 6px; }
.erro-artigo ol { margin: 6px 0 10px 22px; }
.erro-artigo .tag { font-size: .75rem; font-weight: 500; opacity: .7; }
.erro-artigo .ajuda { font-size: .9rem; opacity: .8; }
.s-adicional { margin-top: 22px; border-left: 4px solid #22c55e; }
.s-doc .s-lista-doc { padding-left: 22px; margin: 6px 0 12px; }
.s-doc .s-lista-doc li { margin-bottom: 4px; }
.s-doc .s-tabela-doc { overflow-x: auto; margin: 10px 0 18px; }
.s-doc .s-tabela-doc table { border-collapse: collapse; width: 100%; font-size: 14px; }
.s-doc .s-tabela-doc th, .s-doc .s-tabela-doc td { border: 1px solid #dcd8e4; padding: 7px 9px; text-align: left; vertical-align: top; color: #3f3756; }
.s-doc .s-tabela-doc th { background: #ede9fe; color: #2e1065; }
.s-doc .s-doc-links { margin-top: 32px; }
.s-ecom-plano { margin-top: 18px; }
