/* ============================================================
   VERIFICÁVEL — tema "Documento Oficial"
   A página é uma certidão: papel, tinta, carimbo, fé pública.
   Escopo: body.tema-papel (landing, metodologia, convite, login)
   ============================================================ */

body.tema-papel {
  /* tokens do papel */
  --papel: #F5EFE3;
  --papel-claro: #FBF7EE;
  --papel-sombra: #E9E1CF;
  --tinta: #1C1815;
  --tinta-media: #4A4338;
  --tinta-fraca: #7A715F;
  --filete: #C9BEA5;
  --vermelho: #A8231B;          /* carimbo */
  --vermelho-escuro: #7E1812;
  --verde-fe: #1E5C3F;          /* tinta de selo "conferido" */
  --ouro: #8A6D2F;
  --serif: "Fraunces", "Iowan Old Style", Georgia, serif;
  --sans: "Inter", system-ui, sans-serif;
  --mono: "SF Mono", ui-monospace, "Courier New", monospace;

  background-color: var(--papel);
  /* fibra do papel: vinheta + grão sutil */
  background-image:
    radial-gradient(ellipse at 50% -10%, rgba(255,255,255,.55), transparent 60%),
    repeating-linear-gradient(0deg, rgba(28,24,21,.012) 0 1px, transparent 1px 3px),
    repeating-linear-gradient(90deg, rgba(28,24,21,.008) 0 1px, transparent 1px 4px);
  color: var(--tinta);
  font-family: var(--sans);
}

body.tema-papel ::selection { background: rgba(168,35,27,.18); }

/* ---------- header vira cabeçalho de documento ---------- */
body.tema-papel .site-header {
  background: var(--papel);
  border-bottom: 3px double var(--tinta);
  box-shadow: none;
  position: static;
}
body.tema-papel .logo-mark {
  background: transparent;
  color: var(--verde-fe);
  border: 1.5px solid var(--verde-fe);
  border-radius: 2px;
}
body.tema-papel .logo-text { color: var(--tinta); font-family: var(--serif); letter-spacing: .08em; }
body.tema-papel .logo-text em { color: var(--vermelho); font-style: normal; }
body.tema-papel .site-nav a { color: var(--tinta-media); }
body.tema-papel .site-nav a:hover { color: var(--tinta); }
body.tema-papel .btn-ghost { color: var(--tinta); border-color: var(--tinta-media); }

/* ---------- componentes genéricos sobre papel ---------- */
body.tema-papel .card {
  background: var(--papel-claro);
  border: 1px solid var(--filete);
  border-radius: 2px;
  box-shadow: 0 1px 0 var(--papel-sombra), 0 6px 18px -12px rgba(28,24,21,.35);
  color: var(--tinta);
}
body.tema-papel h1, body.tema-papel h2, body.tema-papel h3 {
  font-family: var(--serif);
  color: var(--tinta);
}
body.tema-papel p { color: var(--tinta-media); }
body.tema-papel a { color: var(--verde-fe); }
body.tema-papel .text-muted { color: var(--tinta-fraca); }
body.tema-papel .mono { font-family: var(--mono); }

body.tema-papel .btn-primary {
  background: var(--tinta);
  color: var(--papel-claro);
  border: 1px solid var(--tinta);
  border-radius: 2px;
  font-family: var(--sans);
  font-weight: 600;
  letter-spacing: .02em;
  box-shadow: 3px 3px 0 rgba(28,24,21,.22);
  transition: transform .12s ease, box-shadow .12s ease;
}
body.tema-papel .btn-primary:hover { transform: translate(-1px,-1px); box-shadow: 4px 4px 0 rgba(28,24,21,.28); background: #2A241E; }
body.tema-papel .btn-secondary {
  background: transparent;
  color: var(--tinta);
  border: 1.5px solid var(--tinta);
  border-radius: 2px;
  font-weight: 600;
  box-shadow: 3px 3px 0 rgba(28,24,21,.12);
  transition: transform .12s ease, box-shadow .12s ease;
}
body.tema-papel .btn-secondary:hover { transform: translate(-1px,-1px); box-shadow: 4px 4px 0 rgba(28,24,21,.2); background: var(--papel-claro); }

body.tema-papel input[type="text"],
body.tema-papel input[type="email"],
body.tema-papel input[type="password"] {
  background: var(--papel-claro);
  border: none;
  border-bottom: 1.5px solid var(--tinta-media);
  border-radius: 0;
  color: var(--tinta);
  font-family: var(--mono);
  padding: .55rem .4rem;
}
body.tema-papel input:focus {
  outline: none;
  border-bottom-color: var(--vermelho);
  background: #fff;
}
body.tema-papel label { color: var(--tinta-media); font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; }
body.tema-papel .flash { border-radius: 2px; border: 1px solid var(--filete); background: var(--papel-claro); color: var(--tinta); }
body.tema-papel .flash-error { border-color: var(--vermelho); color: var(--vermelho-escuro); }

/* ---------- footer ---------- */
body.tema-papel .site-footer {
  background: var(--papel);
  border-top: 3px double var(--tinta);
  color: var(--tinta-media);
}
body.tema-papel .site-footer p, body.tema-papel .footer-tagline { color: var(--tinta-fraca); }

/* ============================================================
   O CARIMBO — peça central da identidade
   ============================================================ */
.carimbo {
  display: inline-block;
  font-family: var(--mono);
  font-weight: 700;
  font-size: .72rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--vermelho);
  border: 2.5px solid var(--vermelho);
  border-radius: 3px;
  padding: .4rem .7rem .35rem;
  transform: rotate(-4deg);
  position: relative;
  /* tinta irregular de carimbo */
  -webkit-mask-image: radial-gradient(ellipse 120% 100% at 50% 50%, #000 55%, rgba(0,0,0,.82) 75%, rgba(0,0,0,.65) 100%);
          mask-image: radial-gradient(ellipse 120% 100% at 50% 50%, #000 55%, rgba(0,0,0,.82) 75%, rgba(0,0,0,.65) 100%);
  opacity: .92;
}
.carimbo-verde { color: var(--verde-fe); border-color: var(--verde-fe); transform: rotate(-2.5deg); }
.carimbo-sm { font-size: .6rem; padding: .22rem .45rem .18rem; border-width: 2px; }

/* linha de protocolo (cabeçalho de documento) */
.doc-protocolo {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  font-family: var(--mono);
  font-size: .72rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--tinta-fraca);
  border-bottom: 1px solid var(--filete);
  padding-bottom: .6rem;
  margin-bottom: 2.2rem;
}

/* ============================================================
   HERO — a certidão
   ============================================================ */
.lp-hero { padding: 3.2rem 0 4rem; }
.lp-hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(280px, 1fr);
  gap: 3.5rem;
  align-items: start;
}
.lp-eyebrow {
  font-family: var(--mono);
  font-size: .75rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--vermelho);
  margin-bottom: 1.4rem;
}
.lp-eyebrow .lp-dot { display: none; }

.lp-headline {
  font-family: var(--serif);
  font-size: clamp(2rem, 4.6vw, 3.4rem);
  line-height: 1.12;
  font-weight: 600;
  letter-spacing: -.01em;
  color: var(--tinta);
  margin: 0 0 1.4rem;
  text-wrap: balance;
}
.lp-headline .err {
  font-style: normal;
  color: var(--vermelho);
  text-decoration: underline;
  text-decoration-thickness: 3px;
  text-decoration-color: rgba(168,35,27,.35);
  text-underline-offset: 5px;
}
.lp-headline .ok {
  font-style: normal;
  color: var(--verde-fe);
  text-decoration: underline;
  text-decoration-thickness: 3px;
  text-decoration-color: rgba(30,92,63,.35);
  text-underline-offset: 5px;
}
.lp-sub {
  font-size: 1.06rem;
  line-height: 1.65;
  color: var(--tinta-media);
  max-width: 56ch;
  margin-bottom: 2rem;
}
.lp-cta-row { display: flex; flex-wrap: wrap; gap: .9rem; margin-bottom: .9rem; }
.lp-cta-hint { font-size: .8rem; color: var(--tinta-fraca); font-family: var(--mono); letter-spacing: .03em; }

/* o recibo do hero: um canhoto autenticado */
.lp-recibo {
  background: var(--papel-claro);
  border: 1px solid var(--filete);
  border-radius: 2px;
  padding: 1.5rem 1.4rem 2rem;
  box-shadow: 0 1px 0 var(--papel-sombra), 0 14px 30px -18px rgba(28,24,21,.45);
  position: relative;
  transform: rotate(.6deg);
  font-size: .85rem;
}
.lp-recibo::before {           /* furo de arquivo */
  content: "";
  position: absolute;
  top: .85rem; left: 50%;
  width: 9px; height: 9px;
  margin-left: -4.5px;
  border-radius: 50%;
  background: var(--papel);
  border: 1px solid var(--filete);
}
.lp-recibo-head {
  font-family: var(--mono);
  font-size: .65rem;
  text-transform: uppercase;
  letter-spacing: .2em;
  color: var(--tinta-fraca);
  text-align: center;
  border-bottom: 1px dashed var(--filete);
  padding: 1rem 0 .8rem;
  margin-bottom: 1rem;
}
.lp-recibo-verdict {
  font-family: var(--mono);
  font-weight: 700;
  color: var(--verde-fe);
  letter-spacing: .06em;
  margin-bottom: .8rem;
}
.lp-recibo-line { font-family: var(--mono); color: var(--tinta-media); margin: .35rem 0; word-break: break-all; }
.lp-recibo-hash { color: var(--tinta); background: rgba(30,92,63,.07); padding: .3rem .4rem; border-left: 3px solid var(--verde-fe); }
.lp-recibo-fonte { color: var(--tinta-fraca); font-size: .72rem; }
.lp-recibo-serrilha {
  position: absolute; left: 0; right: 0; bottom: -1px; height: 10px;
  background:
    linear-gradient(-45deg, transparent 6px, var(--papel-claro) 0) 0 0/12px 12px repeat-x,
    linear-gradient(45deg, transparent 6px, var(--papel-claro) 0) 6px 0/12px 12px repeat-x;
  filter: drop-shadow(0 2px 1px rgba(28,24,21,.12));
}
.lp-recibo .carimbo-autenticado {
  position: absolute;
  right: -14px; top: 30%;
  transform: rotate(8deg);
  text-align: center;
  line-height: 1.5;
}

/* ============================================================
   SEÇÕES — títulos de peça jurídica
   ============================================================ */
.lp-section { padding: 4.2rem 0; }
.lp-section + .lp-section { border-top: 1px solid var(--filete); }
.lp-section-titulo {
  font-family: var(--serif);
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  font-weight: 600;
  text-align: center;
  margin-bottom: .6rem;
  position: relative;
}
.lp-section-titulo::before {
  content: attr(data-num);
  display: block;
  font-family: var(--mono);
  font-size: .68rem;
  font-weight: 400;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--vermelho);
  margin-bottom: .7rem;
}
.lp-section-sub {
  text-align: center;
  color: var(--tinta-media);
  max-width: 64ch;
  margin: 0 auto 2.6rem;
  line-height: 1.65;
}
.lp-meta-link { text-align: center; margin-top: 2rem; }
.lp-meta-link a { color: var(--verde-fe); font-weight: 600; }

/* ---------- placar ---------- */
.placar-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; max-width: 880px; margin: 0 auto; }
.placar-card {
  background: var(--papel-claro);
  border: 1px solid var(--filete);
  border-radius: 2px;
  padding: 1.8rem 1.4rem;
  text-align: center;
  position: relative;
}
.placar-nome {
  font-family: var(--mono);
  font-size: .72rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--tinta-fraca);
  margin-bottom: .6rem;
}
.placar-num { font-family: var(--serif); font-size: 3.4rem; line-height: 1; font-weight: 700; }
.placar-num span { font-size: 1.4rem; color: var(--tinta-fraca); font-weight: 400; }
.placar-perde .placar-num strong { color: var(--vermelho); }
.placar-vence { border: 2px solid var(--verde-fe); box-shadow: 4px 4px 0 rgba(30,92,63,.15); }
.placar-vence .placar-num strong { color: var(--verde-fe); }
.placar-legenda { font-size: .78rem; color: var(--tinta-fraca); margin-top: .7rem; line-height: 1.5; }

/* ============================================================
   AS 13 PERGUNTAS — autos do processo
   ============================================================ */
.bench-radio { position: absolute; opacity: 0; pointer-events: none; }
.bench-filtros {
  display: flex; flex-wrap: wrap; gap: .6rem; justify-content: center; margin-bottom: 2rem;
}
.bench-filtros label {
  font-family: var(--mono);
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--tinta-media);
  border: 1px solid var(--filete);
  border-radius: 2px;
  background: var(--papel-claro);
  padding: .45rem .85rem;
  cursor: pointer;
  transition: all .12s ease;
}
.bench-filtros label:hover { border-color: var(--tinta-media); }
#filtro-todas:checked ~ .bench-filtros label[for="filtro-todas"],
#filtro-trabalhista:checked ~ .bench-filtros label[for="filtro-trabalhista"],
#filtro-ir:checked ~ .bench-filtros label[for="filtro-ir"],
#filtro-reforma:checked ~ .bench-filtros label[for="filtro-reforma"] {
  background: var(--tinta); color: var(--papel-claro); border-color: var(--tinta);
}
#filtro-trabalhista:checked ~ .bench-cards .q-card:not(.grupo-trabalhista),
#filtro-ir:checked ~ .bench-cards .q-card:not(.grupo-ir),
#filtro-reforma:checked ~ .bench-cards .q-card:not(.grupo-reforma) { display: none; }

.bench-cards { display: flex; flex-direction: column; gap: .8rem; max-width: 920px; margin: 0 auto; counter-reset: fls; }

.q-card {
  background: var(--papel-claro);
  border: 1px solid var(--filete);
  border-left: 4px solid var(--vermelho);
  border-radius: 2px;
  box-shadow: 0 1px 0 var(--papel-sombra);
  counter-increment: fls;
  transition: box-shadow .15s ease;
}
.q-card:hover { box-shadow: 0 1px 0 var(--papel-sombra), 0 8px 22px -14px rgba(28,24,21,.4); }
.q-card[open] { border-left-color: var(--verde-fe); }
.q-card summary {
  display: grid;
  grid-template-columns: auto auto 1fr auto auto;
  align-items: center;
  gap: .9rem;
  padding: 1rem 1.2rem;
  cursor: pointer;
  list-style: none;
}
.q-card summary::-webkit-details-marker { display: none; }
.q-id {
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .1em;
  color: var(--papel-claro);
  background: var(--tinta);
  border-radius: 2px;
  padding: .22rem .45rem;
  position: relative;
}
.q-id::after {                /* número de folha dos autos */
  content: "fls. " counter(fls);
  position: absolute;
  top: -1.05rem; left: 0;
  font-family: var(--mono);
  font-size: .58rem;
  font-weight: 400;
  letter-spacing: .06em;
  color: var(--tinta-fraca);
  background: none;
}
.q-area {
  font-family: var(--mono);
  font-size: .62rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--tinta-fraca);
  white-space: nowrap;
}
.q-pergunta { font-family: var(--serif); font-weight: 600; font-size: 1.02rem; line-height: 1.4; color: var(--tinta); }
.q-selos { display: flex; gap: .25rem; font-size: .82rem; }
.q-chevron { color: var(--tinta-fraca); transition: transform .15s ease; }
.q-card[open] .q-chevron { transform: rotate(180deg); }

.q-corpo { padding: .4rem 1.2rem 1.4rem; border-top: 1px dashed var(--filete); }
.q-llms { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 1.1rem 0; }
.q-llm {
  background: var(--papel);
  border: 1px solid var(--filete);
  border-radius: 2px;
  padding: 1rem 1.1rem;
}
.q-llm-head { display: flex; justify-content: space-between; align-items: center; gap: .6rem; margin-bottom: .7rem; flex-wrap: wrap; }
.q-llm-nome { font-family: var(--mono); font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; color: var(--tinta-fraca); }

/* vereditos = carimbos */
.q-veredito {
  font-family: var(--mono);
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  border: 2px solid currentColor;
  border-radius: 3px;
  padding: .2rem .5rem .16rem;
  transform: rotate(-2deg);
  opacity: .92;
}
.q-veredito-errado { color: var(--vermelho); }
.q-veredito-parcial { color: var(--ouro); }
.q-veredito-correto { color: var(--verde-fe); }

.q-llm-texto { font-size: .88rem; line-height: 1.6; color: var(--tinta-media); }
.q-llm-just { font-size: .78rem; line-height: 1.55; color: var(--tinta-fraca); margin-top: .7rem; padding-top: .7rem; border-top: 1px dashed var(--filete); }
.q-llm-just strong { color: var(--vermelho-escuro); }

.q-vrf {
  background: var(--papel-claro);
  border: 2px solid var(--verde-fe);
  border-radius: 2px;
  padding: 1.1rem 1.2rem;
  box-shadow: 4px 4px 0 rgba(30,92,63,.12);
}
.q-vrf-texto { font-family: var(--serif); font-size: .98rem; line-height: 1.6; color: var(--tinta); margin-bottom: 1rem; }
.q-vrf-recibo {
  border-top: 1px dashed var(--filete);
  padding-top: .9rem;
  display: flex; flex-direction: column; gap: .35rem;
  font-size: .8rem;
}
.q-vrf-verdict { color: var(--verde-fe); font-weight: 700; letter-spacing: .06em; }
.q-vrf-norma { color: var(--tinta-media); font-weight: 600; }
.hash-chip {
  font-family: var(--mono);
  font-size: .72rem;
  color: var(--tinta);
  background: rgba(30,92,63,.07);
  border-left: 3px solid var(--verde-fe);
  padding: .25rem .5rem;
  word-break: break-all;
}
.q-vrf-link { color: var(--verde-fe); font-weight: 600; font-size: .82rem; }

/* ---------- como funciona ---------- */
.como-diagrama {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .7rem;
  font-family: var(--mono); font-size: .8rem;
  margin: 0 auto 2.4rem;
}
.como-no {
  border: 1.5px solid var(--tinta-media);
  border-radius: 2px;
  background: var(--papel-claro);
  color: var(--tinta);
  padding: .5rem .9rem;
}
.como-no-vrf { border: 2px solid var(--verde-fe); color: var(--verde-fe); font-weight: 700; box-shadow: 3px 3px 0 rgba(30,92,63,.12); }
.como-no-recibo { border-style: dashed; color: var(--tinta-media); }
.como-seta { color: var(--vermelho); font-weight: 700; }
.como-passos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; list-style: none; padding: 0; max-width: 980px; margin: 0 auto; }
.como-passo { padding: 1.6rem 1.4rem; position: relative; }
.como-num {
  font-family: var(--serif);
  font-size: 2.6rem; font-weight: 700; line-height: 1;
  color: rgba(168,35,27,.18);
  position: absolute; top: .9rem; right: 1.1rem;
}
.como-passo h3 { font-size: 1.05rem; margin-bottom: .6rem; }
.como-passo p { font-size: .88rem; line-height: 1.6; }

/* ---------- selo vivo: tira de protocolo ---------- */
.lp-selo-vivo {
  border-top: 1px solid var(--filete);
  border-bottom: 1px solid var(--filete);
  background:
    repeating-linear-gradient(-45deg, rgba(168,35,27,.05) 0 14px, transparent 14px 28px),
    var(--papel-claro);
  padding: 1.1rem 0;
}
.lp-selo-inner { display: flex; align-items: center; justify-content: center; gap: .8rem; }
.lp-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--verde-fe); flex: none; }
.lp-dot-pulse { animation: pulso 2.4s ease-in-out infinite; }
@keyframes pulso { 0%,100% { box-shadow: 0 0 0 0 rgba(30,92,63,.35);} 50% { box-shadow: 0 0 0 7px rgba(30,92,63,0);} }
.lp-selo-texto { font-size: .8rem; letter-spacing: .05em; color: var(--tinta-media); }
.lp-selo-texto strong { color: var(--tinta); }

/* ---------- custódia ---------- */
.custodia-grid { max-width: 980px; margin: 0 auto; }
.custodia-card { padding: 1.6rem 1.4rem; }
.custodia-card h3 { font-size: 1.05rem; margin-bottom: .7rem; padding-bottom: .5rem; border-bottom: 2px solid var(--vermelho); display: inline-block; }
.custodia-card p { font-size: .88rem; line-height: 1.65; }
.custodia-hash-exemplo { display: block; margin-top: .9rem; font-size: .72rem; color: var(--tinta); background: rgba(30,92,63,.07); border-left: 3px solid var(--verde-fe); padding: .35rem .55rem; word-break: break-all; }
.custodia-verdict-ok { color: var(--verde-fe); font-weight: 700; }
.custodia-verdict-sem { color: var(--vermelho); font-weight: 700; }

/* ---------- acesso ---------- */
.lp-acesso { background: var(--papel-claro); border-top: 3px double var(--tinta); }
.acesso-grid { max-width: 880px; margin: 0 auto; }
.acesso-card { padding: 1.8rem 1.6rem; }
.acesso-card h3 { margin-bottom: .5rem; }
.acesso-form { margin-top: 1.2rem; display: flex; flex-direction: column; gap: 1rem; align-items: flex-start; }
.acesso-form .form-row { width: 100%; display: flex; flex-direction: column; gap: .35rem; }
.acesso-logado { max-width: 720px; margin: 0 auto; text-align: center; padding: 2.4rem 2rem; }

/* ---------- FAQ ---------- */
.faq-lista { max-width: 760px; margin: 0 auto; display: flex; flex-direction: column; }
.faq-item { border-bottom: 1px solid var(--filete); }
.faq-item summary {
  font-family: var(--serif);
  font-weight: 600;
  font-size: 1.02rem;
  color: var(--tinta);
  padding: 1.1rem .2rem;
  cursor: pointer;
  list-style: none;
  display: flex; justify-content: space-between; align-items: center; gap: 1rem;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: "+"; font-family: var(--mono); color: var(--vermelho); font-size: 1.2rem; }
.faq-item[open] summary::after { content: "−"; }
.faq-item p { padding: 0 .2rem 1.2rem; font-size: .92rem; line-height: 1.7; max-width: 68ch; }

/* ---------- fecho ---------- */
.lp-fecho { padding: 4.5rem 0; text-align: center; }
.lp-fecho-frase {
  font-family: var(--serif);
  font-size: clamp(1.6rem, 3.4vw, 2.6rem);
  font-weight: 600;
  color: var(--tinta);
  margin-bottom: .9rem;
}
.lp-fecho-meta { font-family: var(--mono); font-size: .8rem; color: var(--tinta-fraca); }
.lp-fecho-meta a { color: var(--verde-fe); }

/* ---------- metodologia ---------- */
body.tema-papel .met-pagina { max-width: 760px; padding: 3rem 1rem 4rem; }
body.tema-papel .met-cabecalho h1 { font-family: var(--serif); }

/* ---------- responsivo ---------- */
@media (max-width: 900px) {
  .lp-hero-inner { grid-template-columns: 1fr; gap: 2.4rem; }
  .lp-recibo { max-width: 420px; transform: none; }
  .placar-grid, .como-passos { grid-template-columns: 1fr; max-width: 480px; }
  .q-llms { grid-template-columns: 1fr; }
  .q-card summary { grid-template-columns: auto 1fr auto; }
  .q-area, .q-selos { display: none; }
}

/* ---------- documentos jurídicos (/termos, /privacidade) ---------- */
body.tema-papel .doc-legal h2 {
  font-family: var(--serif);
  font-size: 1.25rem;
  margin-bottom: .8rem;
  padding-top: 1.6rem;
  border-top: 1px solid var(--filete);
}
body.tema-papel .doc-legal .met-secao { margin-bottom: 1.4rem; }
body.tema-papel .doc-legal p { line-height: 1.75; margin-bottom: .85rem; }
body.tema-papel .doc-legal ul { margin: 0 0 .9rem 1.2rem; }
body.tema-papel .doc-legal li { color: var(--tinta-media); line-height: 1.7; margin-bottom: .55rem; }
body.tema-papel .doc-legal a { text-decoration: underline; text-underline-offset: 2px; }
.doc-legal-cabecalho { margin-bottom: 2.2rem; }
.doc-legal-meta {
  font-size: .72rem;
  color: var(--tinta-fraca);
  letter-spacing: .06em;
  text-transform: uppercase;
  margin: .5rem 0 1rem;
}
.doc-legal-placeholder {
  font-family: var(--mono);
  font-size: .8em;
  color: var(--tinta-fraca);
  background: var(--papel-claro);
  border: 1px dashed var(--filete);
  padding: 0 .3rem;
}

/* checkbox de aceite dos termos (convite) */
.aceite-termos-row { margin: 1rem 0 1.2rem; }
.aceite-termos-label {
  display: flex;
  align-items: flex-start;
  gap: .6rem;
  cursor: pointer;
  font-size: .82rem;
  line-height: 1.55;
  text-transform: none;
  letter-spacing: 0;
}
.aceite-termos-label input[type="checkbox"] {
  margin-top: .2rem;
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
  accent-color: var(--verde-fe);
}
.aceite-termos-label a { color: var(--verde-fe); text-decoration: underline; text-underline-offset: 2px; }

/* links legais no rodapé */
.footer-links { margin-top: .6rem; font-size: .8rem; }
body.tema-papel .footer-links a, .footer-links a { color: var(--verde-fe); }

/* ============================================================
   LOGIN COM GOOGLE — botão sobre papel (convite e login)
   ============================================================ */
.btn-google {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .65rem;
}
.btn-google .google-g { flex: 0 0 auto; }
body.tema-papel .btn-google {
  background: var(--papel-claro);
  color: var(--tinta);
  border: 1.5px solid var(--tinta);
  border-radius: 2px;
  font-family: var(--sans);
  font-weight: 600;
  letter-spacing: .02em;
  box-shadow: 3px 3px 0 rgba(28,24,21,.18);
  transition: transform .12s ease, box-shadow .12s ease, background .12s ease;
}
body.tema-papel .btn-google:hover {
  transform: translate(-1px,-1px);
  box-shadow: 4px 4px 0 rgba(28,24,21,.26);
  background: #fff;
}
body.tema-papel .btn-google .google-g { color: var(--verde-fe); }

/* divisor "ou ..." entre o Google e o fluxo por e-mail */
.divisor-ou {
  display: flex;
  align-items: center;
  gap: .9rem;
  margin: 1.4rem 0 1rem;
  font-family: var(--mono);
  font-size: .72rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--tinta-fraca);
  list-style: none;
}
.divisor-ou::before, .divisor-ou::after {
  content: "";
  flex: 1;
  border-top: 1px solid var(--filete);
}

/* o divisor também é o summary do <details> do form de e-mail (convite) */
.convite-email-details > summary.divisor-ou { cursor: pointer; }
.convite-email-details > summary::-webkit-details-marker { display: none; }
.convite-email-details > summary.divisor-ou:hover { color: var(--tinta); }
.convite-email-details[open] > summary.divisor-ou { margin-bottom: 1.2rem; }
