/* Cadastro, confirmação e recuperação — a mesma paleta da página inicial.
   Esta folha entra depois de `inicio.css` e só veste as páginas `.cadastro-body`;
   ids, names, rotas, Google Identity, Turnstile e as recusas continuam iguais.

   O campo flutuante adapta, em CSS nativo, o padrão do LabelInput da Spell UI
   (xxtomm/spell-ui, MIT): o rótulo mora dentro do campo enquanto ele está vazio,
   sobe e encolhe ao focar ou preencher, e o anel azul marca o foco. Nenhuma
   linha foi copiada — `senha-visivel.js` embrulha o input, então o estado é
   lido pelo contêiner com `:has()`, não por irmão adjacente. O bloco chama-se
   `campo-flutuante`, e não `campo`: `langris.css` já é dono de `.campo` no
   produto operacional (rótulo em caixa alta), e a entrada carrega as duas folhas. */
@font-face {
  font-family: Inter;
  src: url('/assets/fontes/montagem/inter-latin.woff2') format('woff2');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

@font-face {
  font-family: 'Instrument Cadastro';
  src: url('/assets/acervo/fontsource/fonts/instrument-sans-latin-wght-normal.woff2') format('woff2');
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
}

.cadastro-body {
  /* Os valores vêm do mesmo bloco da landing em inicio.css, nos dois temas. */
  --acesso-bg: var(--bg);
  --acesso-panel: var(--panel);
  --acesso-input: var(--bg);
  --acesso-input-foco: var(--bg);
  --acesso-line: var(--line);
  --acesso-line-strong: color-mix(in srgb, var(--ink) 22%, transparent);
  --acesso-text: var(--ink);
  --acesso-text-2: var(--ink);
  --acesso-muted: var(--muted);
  --acesso-dim: var(--muted);
  --acesso-blue: var(--accent);
  --acesso-blue-light: var(--accent-text);
  --acesso-blue-soft: var(--accent-text);
  --acesso-green: light-dark(#15803d, #63d69b);
  --acesso-danger: var(--danger);
  --acesso-danger-line: color-mix(in srgb, var(--danger) 38%, transparent);
  --acesso-danger-bg: color-mix(in srgb, var(--danger) 10%, var(--panel));
  --anel: 0 0 0 3px color-mix(in srgb, var(--accent) 32%, transparent);
  min-height: 100svh;
  color: var(--acesso-text);
  background: var(--acesso-bg);
  font-family: Inter, Arial, sans-serif;
}

/* ── cabeçalho ─────────────────────────────────────────────────────────── */
.cadastro-body .site-head {
  height: 72px;
  padding-inline: clamp(20px, 4vw, 52px);
  border-color: var(--acesso-line);
  background: var(--acesso-bg);
  backdrop-filter: blur(14px);
}
.cadastro-body .site-head .marca-contexto,
.cadastro-body .marca small {
  color: var(--acesso-dim);
  font: 600 10px/1.4 Inter, Arial, sans-serif;
  letter-spacing: .1em;
}
.cadastro-body .entrar {
  padding: 9px 15px;
  border-color: var(--acesso-line-strong);
  border-radius: 999px;
  color: var(--acesso-text-2);
  font: 600 11px/1 Inter, Arial, sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
  transition: border-color .16s, color .16s;
}
.cadastro-body .entrar:hover { border-color: var(--acesso-blue-light); color: var(--acesso-text); }
.cadastro-head__acoes { display: flex; align-items: center; gap: 12px; }

/* ── página ────────────────────────────────────────────────────────────── */
.cadastro-main { max-width: 1240px; margin: 0 auto; padding: 36px clamp(20px, 5vw, 64px) 72px; }
.cadastro-main .voltar { color: var(--acesso-dim); font-size: 12px; letter-spacing: .02em; }
.cadastro-main .voltar:hover { color: var(--acesso-text); }
.cadastro-layout {
  margin-top: 34px;
  display: grid;
  grid-template-columns: minmax(420px, 1fr) minmax(320px, .8fr);
  gap: clamp(44px, 6vw, 88px);
  align-items: start;
}

/* ── cartão ────────────────────────────────────────────────────────────── */
.cadastro-card {
  grid-column: 1;
  grid-row: 1;
  top: 100px;
  min-height: 0;
  padding: clamp(28px, 3.4vw, 44px);
  border: 1px solid var(--acesso-line);
  border-radius: 20px;
  color: var(--acesso-text);
  background: var(--acesso-panel);
  box-shadow: 0 12px 40px color-mix(in srgb, var(--ink) 4%, transparent);
}
/* O rótulo mora no HTML (data-rotulo), porque texto em content: não se traduz; a caixa alta é daqui. */
.cadastro-card::before {
  content: attr(data-rotulo);
  display: block;
  margin-bottom: 30px;
  color: var(--acesso-dim);
  font: 600 10px/1.2 Inter, Arial, sans-serif;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.cadastro-card .plano-kicker {
  color: var(--acesso-blue-light);
  font: 600 11px/1.2 Inter, Arial, sans-serif;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.cadastro-card h2 {
  max-width: 520px;
  margin: 14px 0 10px;
  color: var(--acesso-text);
  font-size: clamp(32px, 3.4vw, 44px);
  font-weight: 560;
  line-height: 1.04;
  letter-spacing: -.04em;
}
.cadastro-card > p { min-height: 0; margin: 0; color: var(--acesso-muted); font-size: 14px; line-height: 1.6; }

/* ── formulário ────────────────────────────────────────────────────────── */
.cadastro-form { gap: 18px; margin-top: 28px; }
.cadastro-form > label {
  gap: 8px;
  color: var(--acesso-text-2);
  font: 500 13px/1.3 Inter, Arial, sans-serif;
  letter-spacing: 0;
  text-transform: none;
}
.cadastro-form input,
.cadastro-form select {
  height: 52px;
  padding: 0 15px;
  border: 1px solid var(--acesso-line-strong);
  border-radius: 10px;
  color: var(--acesso-text);
  background: var(--acesso-input);
  font: 400 15px/1 Inter, Arial, sans-serif;
  transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}
.cadastro-form input::placeholder { color: transparent; }
.cadastro-form .codigo-email::placeholder { color: var(--muted); }
.cadastro-form input:hover,
.cadastro-form select:hover { border-color: color-mix(in srgb, var(--ink) 32%, transparent); }
.cadastro-form input:focus,
.cadastro-form select:focus {
  border-color: var(--acesso-blue);
  background: var(--acesso-input-foco);
  box-shadow: var(--anel);
}
.cadastro-form input:user-invalid { border-color: var(--acesso-danger-line); }
.cadastro-form input:-webkit-autofill,
.cadastro-form input:-webkit-autofill:hover,
.cadastro-form input:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--acesso-text);
  caret-color: var(--acesso-text);
  box-shadow: inset 0 0 0 1000px var(--acesso-input);
  transition: background-color 9999s ease-out 0s;
}
.cadastro-form input:-webkit-autofill:focus { box-shadow: inset 0 0 0 1000px var(--acesso-input-foco), var(--anel); }

/* Campo flutuante. O rótulo é irmão do input (ou do embrulho do visualizador
   de senha) e nunca cobre o valor: com texto, autofill ou foco ele sobe. */
.cadastro-form .campo-flutuante { position: relative; --campo-bg: var(--acesso-panel); }
.cadastro-form .campo-flutuante > input,
.cadastro-form .campo-flutuante .senha-visualizador > input { width: 100%; display: block; }
.cadastro-form .campo-flutuante > label {
  position: absolute;
  left: 11px;
  top: 50%;
  display: block;
  margin: 0;
  padding: 0 5px;
  color: var(--acesso-muted);
  background: transparent;
  font: 400 15px/1 Inter, Arial, sans-serif;
  letter-spacing: 0;
  text-transform: none;
  white-space: nowrap;
  pointer-events: none;
  transform: translateY(-50%);
  transform-origin: left center;
  transition: transform .18s ease, color .18s ease, background-color .18s ease;
}
.cadastro-form .campo-flutuante:has(input:focus) > label,
.cadastro-form .campo-flutuante:has(input:not(:placeholder-shown)) > label,
.cadastro-form .campo-flutuante:has(input:autofill) > label,
.cadastro-form .campo-flutuante:has(input:-webkit-autofill) > label {
  transform: translateY(calc(-50% - 26px)) scale(.8);
  color: var(--acesso-muted);
  background: var(--campo-bg);
}
.cadastro-form .campo-flutuante:has(input:focus) > label { color: var(--acesso-blue-light); }
.cadastro-form .campo-flutuante:has(input:user-invalid:not(:focus)) > label { color: var(--acesso-danger); }

/* O visualizador embrulha o input e põe o olho (34px, a 7px da borda) por
   cima. O `padding: 0 15px` acima tem a MESMA especificidade que o
   `.senha-visualizador>input{padding-right:48px}` do inicio.css e chega
   depois — o shorthand engolia a reserva e a senha longa entrava sob o olho.
   Duas classes, depois do padding geral, e sem depender de type (senha
   revelada) nem de autofill. */
.cadastro-form .senha-visualizador > input { padding-right: 52px; }

/* visualizador de senha dentro do campo */
.cadastro-card .senha-visualizador__toggle { color: var(--acesso-muted); }
.cadastro-card .senha-visualizador__toggle:hover,
.cadastro-card .senha-visualizador__toggle:focus-visible {
  color: var(--acesso-blue-light);
  background: var(--accent-soft);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 35%, transparent);
}

/* código de confirmação e seletor de plano continuam com rótulo fixo */
.cadastro-form .codigo-email { max-width: 280px; color: var(--acesso-text); }

/* ── botões ────────────────────────────────────────────────────────────── */
.cadastro-form .acao,
.cadastro-card > .acao,
.cadastro-acoes .acao {
  min-height: 52px;
  border: 1px solid transparent;
  border-radius: 10px;
  box-shadow: none;
  font: 600 14px/1 Inter, Arial, sans-serif;
  letter-spacing: .01em;
  transition: background .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.cadastro-form .acao.primaria,
.cadastro-card .acao.primaria,
.cadastro-acoes .acao.primaria {
  color: #fff;
  background: var(--acesso-blue);
  box-shadow: inset 0 1px 0 #ffffff20;
}
.cadastro-form .acao.primaria:hover,
.cadastro-card .acao.primaria:hover,
.cadastro-acoes .acao.primaria:hover { background: var(--acesso-blue); filter: brightness(1.12); transform: none; }
.cadastro-form .acao:focus-visible,
.cadastro-card .acao:focus-visible,
.cadastro-acoes .acao:focus-visible { outline: none; box-shadow: var(--anel); }
.cadastro-card .acao.secundaria,
.cadastro-acoes .acao.secundaria {
  margin: 0;
  border-color: var(--acesso-line-strong);
  color: var(--acesso-text);
  background: var(--surface);
}
.cadastro-card .acao.secundaria { margin-top: 26px; }
.cadastro-card .acao.secundaria:hover,
.cadastro-acoes .acao.secundaria:hover { border-color: color-mix(in srgb, var(--accent) 42%, transparent); background: var(--accent-soft); }
.cadastro-acoes { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 26px; }
.cadastro-acoes .acao { width: 100%; margin: 0; }
.cadastro-card .cadastro-pular { color: var(--acesso-blue-soft); font-size: 12px; }
.cadastro-card .cadastro-pular:hover { color: var(--ink); }
.cadastro-card .checkout-note { color: var(--acesso-dim); font-size: 11px; }
.cadastro-card .cadastro-senha-orientacao { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.cadastro-card .cadastro-senha-orientacao .checkout-note { margin:0; }

/* ── estados ───────────────────────────────────────────────────────────── */
.cadastro-card .cadastro-erro {
  margin: 18px 0 0 !important;
  padding: 12px 14px;
  border: 1px solid var(--acesso-danger-line);
  border-radius: 10px;
  color: var(--acesso-danger) !important;
  background: var(--acesso-danger-bg);
  font-size: 13px !important;
  line-height: 1.5;
}
.cadastro-card .cadastro-sucesso {
  color: var(--acesso-green);
  background: rgba(99,214,155,.12);
  border-color: rgba(99,214,155,.42);
}
.cadastro-card .plano-carregando { border-color: var(--acesso-line); color: var(--acesso-muted); }
.cadastro-card .plano-carregando span { border-color: var(--acesso-line-strong); border-top-color: var(--acesso-blue-light); }
.cadastro-card .preco strong { color: var(--acesso-text); font-weight: 560; }
.cadastro-card .preco span, .cadastro-card li { color: var(--acesso-muted); }
.cadastro-card li i { color: var(--acesso-green); }

/* ── Google: o botão oficial fica no slot; aqui só o contorno e os estados ── */
.cadastro-card .auth-google { gap: 10px; margin: 6px 0 2px; }
.cadastro-card .auth-google__button {
  border-color: var(--acesso-line-strong);
  border-radius: 10px;
  color: var(--acesso-text-2);
  background: var(--surface);
  font: 600 14px/1.2 Inter, Arial, sans-serif;
}
.cadastro-card .auth-google__note { color: var(--acesso-dim); font-size: 12px; }
.cadastro-card .auth-google__retry { color: var(--accent-text); border-color: var(--acesso-line-strong); }
.cadastro-card .auth-google__retry:hover,
.cadastro-card .auth-google__retry:focus-visible { background: var(--accent-soft); box-shadow: var(--anel); }
.cadastro-card .auth-google__divider { color: var(--acesso-dim); font: 600 10px/1.2 Inter, Arial, sans-serif; }
.cadastro-card .auth-google__divider::before,
.cadastro-card .auth-google__divider::after { background: var(--acesso-line); }

/* ── coluna narrativa ──────────────────────────────────────────────────── */
.cadastro-copy { grid-column: 2; grid-row: 1; padding-top: 40px; }
.cadastro-copy .kicker { margin-bottom: 18px; color: var(--acesso-blue-light); font: 600 11px/1.2 Inter, Arial, sans-serif; letter-spacing: .11em; }
.cadastro-copy h1 { color: var(--acesso-text); font-size: clamp(44px, 4.8vw, 68px); font-weight: 560; line-height: .98; letter-spacing: -.05em; }
.cadastro-copy > p:not(.kicker) { margin: 24px 0 34px; color: var(--acesso-muted); font-size: 15px; line-height: 1.65; }
.cadastro-copy ol { border-bottom: 1px solid var(--acesso-line); }
.cadastro-copy li { gap: 16px; padding: 17px 0; border-color: var(--acesso-line); }
.cadastro-copy li > span { min-width: 24px; color: var(--acesso-blue-light); font: 600 11px/1.5 Inter, Arial, sans-serif; letter-spacing: .06em; }
.cadastro-copy li strong { color: var(--acesso-text-2); font-size: 14px; font-weight: 560; }
.cadastro-copy li small { color: var(--acesso-dim); font-size: 12px; line-height: 1.5; }
.cadastro-seguranca {
  max-width: none;
  margin: 36px 0 0;
  color: var(--acesso-dim);
  font: 500 10px/1.6 Inter, Arial, sans-serif;
  letter-spacing: .06em;
  text-align: left;
  text-transform: uppercase;
}
.cadastro-card--solo { grid-column: auto; position: relative; top: auto; width: min(100%, 560px); margin: 48px auto 0; }

/* ── largura ───────────────────────────────────────────────────────────── */
@media (max-width: 1000px) {
  .cadastro-layout { grid-template-columns: 1fr; gap: 40px; }
  .cadastro-card { grid-column: 1; grid-row: 1; top: auto; }
  .cadastro-copy { grid-column: 1; grid-row: 2; padding-top: 0; }
}
@media (max-width: 680px) {
  .cadastro-body .site-head { height: 64px; }
  .cadastro-head__acoes { gap: 8px; }
  .cadastro-main { padding: 26px 18px 52px; }
  .cadastro-layout { margin-top: 22px; gap: 36px; }
  .cadastro-card { padding: 26px 20px; border-radius: 16px; }
  .cadastro-card::before { margin-bottom: 22px; }
  .cadastro-card h2 { font-size: 30px; }
  .cadastro-copy h1 { font-size: 42px; }
  .cadastro-acoes { grid-template-columns: 1fr; }
  .cadastro-card--solo { margin-top: 20px; }
}
@media (max-width: 430px) {
  .cadastro-body .site-head { padding: 14px 16px; height: auto; min-height: 64px; flex-wrap: wrap; gap: 12px; }
  .cadastro-body .site-head .marca-contexto { display: none; }
  .cadastro-head__acoes { margin-left: auto; }
  .cadastro-main { padding: 18px 12px 40px; }
  .cadastro-card { padding: 22px 16px; border-radius: 14px; }
  .cadastro-card h2 { font-size: 28px; }
  .cadastro-form { gap: 16px; }
  .cadastro-form input, .cadastro-form select { height: 50px; font-size: 15px; }
  .cadastro-form .campo-flutuante:has(input:focus) > label,
  .cadastro-form .campo-flutuante:has(input:not(:placeholder-shown)) > label,
  .cadastro-form .campo-flutuante:has(input:autofill) > label,
  .cadastro-form .campo-flutuante:has(input:-webkit-autofill) > label { transform: translateY(calc(-50% - 25px)) scale(.8); }
}
@media (max-width: 360px) {
  .cadastro-body .site-head .marca-contexto { display: none; }
  .cadastro-card { padding: 20px 14px; }
  .cadastro-card h2 { font-size: 26px; }
  .cadastro-form .campo-flutuante > label { font-size: 14px; }
  .cadastro-copy h1 { font-size: 36px; }
}
@media (prefers-reduced-motion: reduce) {
  .cadastro-form .campo-flutuante > label,
  .cadastro-form input,
  .cadastro-form select,
  .cadastro-form .acao,
  .cadastro-card > .acao,
  .cadastro-acoes .acao,
  .cadastro-body .entrar { transition: none; }
}

/* Somente o cadastro novo: recuperação e confirmação por link conservam
   seus documentos-cofre e a apresentação já existente. */
.cadastro-novo {
  --bg: #182b22; --panel: #20372c; --surface: #20372c; --surface-soft: #2b4436;
  --ink: #f5f2e9; --muted: #c2cdbb; --line: #e0e8d526;
  --accent: #2767e8; --accent-text: #b4cdff; --accent-soft: #284838;
  font-family: 'Instrument Cadastro', Arial, sans-serif;
}
.cadastro-novo[data-op-tema="claro"] {
  --bg: #f1f0e7; --panel: #f8f7f1; --surface: #e5e8dc; --surface-soft: #dce1d1;
  --ink: #26382b; --muted: #596650; --line: #cdd4c2;
  --accent-text: #2356b8; --accent-soft: #e7efff;
}
.cadastro-novo [hidden] { display: none !important; }
.cadastro-novo .cadastro-skip { position: fixed; z-index: 100; top: 10px; left: 18px; padding: 12px 18px; background: #f7f5ee; color: #26382b; transform: translateY(-200%); }
.cadastro-novo .cadastro-skip:focus { transform: none; }
.cadastro-novo :is(a,button):focus-visible { outline: 2px solid var(--accent-text); outline-offset: 4px; }
.cadastro-novo .site-head { height: 86px; max-width: 1360px; margin-inline: auto; padding-inline: 48px; border-bottom: 0; background: transparent; backdrop-filter: none; position: relative; }
.cadastro-novo .site-head .marca { font-size: inherit; }
.cadastro-novo .site-head .entrar { font-family: inherit; font-weight: 450; font-size: 13px; letter-spacing: 0; text-transform: none; border: 0; padding: 10px 0 10px 12px; }
.cadastro-novo .cadastro-main { max-width: 1250px; padding: 12px 48px 32px; }
.cadastro-novo .cadastro-main .voltar { font-size: 12px; color: var(--muted); }
.cadastro-novo .cadastro-layout { margin-top: 24px; grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr); gap: 70px; }
.cadastro-novo .cadastro-copy { grid-column: 1; grid-row: 1; padding-top: 36px; max-width: 450px; }
.cadastro-novo .cadastro-copy .kicker { color: var(--muted); font: 450 10px/1.5 'Instrument Cadastro', Arial, sans-serif; letter-spacing: .12em; margin-bottom: 23px; }
.cadastro-novo .cadastro-copy h1 { font-size: clamp(38px,4.2vw,54px); line-height: 1.06; font-weight: 450; letter-spacing: -.05em; margin: 0; }
.cadastro-novo .cadastro-copy>p:not(.kicker) { font-size: 16px; line-height: 1.65; margin-block: 24px 30px; max-width: 390px; }
.cadastro-novo .cadastro-marcas { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 9px; margin-block: 30px; }
.cadastro-novo .cadastro-marcas>div { position: relative; aspect-ratio: 3/4; min-width: 0; overflow: hidden; border-radius: 5px; background: #243b29; }
.cadastro-novo .cadastro-marcas img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 68% center; opacity: .82; }
.cadastro-novo .cadastro-marcas>div:nth-child(2) img { object-position: 72% center; }
.cadastro-novo .cadastro-marcas span { position: absolute; bottom: 10px; left: 10px; right: 7px; color: #fffcef; text-shadow: 0 1px 5px #142319; font-size: 14px; line-height: 1.2; }
.cadastro-novo .cadastro-resumo>p { border-top: 1px solid var(--line); padding-top: 15px; margin: 18px 0 0; }
.cadastro-novo .cadastro-resumo strong { display: block; font-size: 14px; font-weight: 500; }
.cadastro-novo .cadastro-resumo span { display: block; font-size: 12px; color: var(--muted); line-height: 1.65; margin-top: 5px; }
.cadastro-novo .cadastro-card {
  --bg: #fffefa; --panel: #f7f5ee; --surface: #eeeee5; --surface-soft: #e5e9dd;
  --ink: #29362c; --muted: #5d6856; --line: #d4dacd; --accent-text: #2356b8; --accent-soft: #e7efff; --danger: #b42318;
  --acesso-bg: var(--bg); --acesso-panel: var(--panel); --acesso-input: var(--bg); --acesso-input-foco: var(--bg);
  --acesso-line: var(--line); --acesso-line-strong: #aab4a3; --acesso-text: var(--ink); --acesso-text-2: var(--ink);
  --acesso-muted: var(--muted); --acesso-dim: var(--muted); --acesso-blue-light: var(--accent-text); --acesso-blue-soft: var(--accent-text);
  --acesso-green: #236d3e; --acesso-danger: var(--danger); --acesso-danger-line: #dcaaa3; --acesso-danger-bg: #fbece7;
  color-scheme: light; grid-column: 2; grid-row: 1; position: relative; top: auto; padding: 30px 32px;
  border-radius: 12px; border-color: #e7eadd; box-shadow: none; min-width: 0;
}
.cadastro-novo .cadastro-card::before { content: none; }
.cadastro-novo .cadastro-card .plano-kicker { font: 450 10px/1.3 'Instrument Cadastro', Arial, sans-serif; color: #5d6856; letter-spacing: .11em; }
.cadastro-novo .cadastro-card h2 { font-size: 34px; line-height: 1.1; font-weight: 450; letter-spacing: -.045em; margin-block: 11px 10px; }
.cadastro-novo .cadastro-card>p { font-size: 13px; line-height: 1.6; }
.cadastro-novo .cadastro-card .auth-google { margin-top: 22px; gap: 9px; }
.cadastro-novo .cadastro-card .auth-google__note { font-size: 11px; line-height: 1.5; }
.cadastro-novo .cadastro-card .auth-google__button { font-family: inherit; font-weight: 500; }
.cadastro-novo .cadastro-card .auth-google__retry { font-family: inherit; letter-spacing: 0; text-transform: none; font-size: 12px; }
.cadastro-novo .cadastro-card .cadastro-google-note { font-size: 11px; line-height: 1.5; margin: 3px 0 0; color: var(--muted); }
.cadastro-novo .cadastro-form { margin-top: 22px; gap: 16px; }
.cadastro-novo .cadastro-dados { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 16px; }
.cadastro-novo .cadastro-identificacao-note { font-size: 11px; line-height: 1.5; color: var(--muted); margin: -6px 0 0; }
.cadastro-novo .cadastro-card>.cadastro-identificacao-note { margin: 12px 0 0; }
.cadastro-novo .cadastro-email-fields { display: grid; gap: 16px; min-width: 0; }
.cadastro-novo .cadastro-form :is(input,select) { font-family: inherit; font-size: 16px; height: 52px; border-radius: 6px; }
.cadastro-novo .cadastro-form .campo-flutuante>label { font-family: inherit; font-size: 14px; }
.cadastro-novo .cadastro-form label,.cadastro-novo .cadastro-card .auth-google__divider { font-family: inherit; }
.cadastro-novo .cadastro-form .acao,.cadastro-novo .cadastro-card>.acao,.cadastro-novo .cadastro-acoes .acao { font-family: inherit; font-size: 15px; font-weight: 500; border-radius: 6px; text-transform: none; }
.cadastro-novo .cadastro-card .checkout-note { font-size: 11px; line-height: 1.6; text-align: left; }
.cadastro-novo .cadastro-card .cadastro-pular { display: inline-block; margin-top: 22px; font-family: inherit; font-size: 13px; }
/* "Voltar e corrigir meus dados" é <button>: no escuro o fundo nativo do navegador
   vira uma barra cinza (#6b6b6b) sob o texto azul. Vira link, como "Entrar sem assinar agora". */
.cadastro-novo:not([data-op-tema="claro"]) .cadastro-card button.cadastro-pular { appearance: none; padding: 0; border: 0; background: none; cursor: pointer; }
.cadastro-novo .cadastro-rodape { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.cadastro-novo .cadastro-seguranca { font-family: inherit; letter-spacing: 0; text-transform: none; font-weight: 400; font-size: 11px; line-height: 1.6; margin: 0; }
.cadastro-novo .cadastro-rodape nav { display: flex; flex-wrap: wrap; gap: 20px; font-size: 11px; color: var(--muted); flex-shrink: 0; }
@media (max-width:1100px) {
  .cadastro-novo .cadastro-layout { gap: 40px; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); }
  .cadastro-novo .cadastro-main { padding-inline: 32px; }
  .cadastro-novo .site-head { padding-inline: 32px; }
  .cadastro-novo .cadastro-card { padding: 28px; }
}
@media (max-width:800px) {
  .cadastro-novo .cadastro-layout { grid-template-columns: 1fr; gap: 28px; max-width: 520px; margin-inline: auto; }
  .cadastro-novo .cadastro-copy { grid-column: 1; grid-row: 1; padding-top: 0; max-width: none; }
  .cadastro-novo .cadastro-copy h1 { font-size: 36px; max-width: 440px; }
  .cadastro-novo .cadastro-copy .kicker { margin-bottom: 13px; }
  .cadastro-novo .cadastro-copy>p:not(.kicker) { font-size: 14px; margin: 16px 0 0; max-width: 440px; }
  .cadastro-novo .cadastro-marcas,.cadastro-novo .cadastro-resumo { display: none; }
  .cadastro-novo .cadastro-card { grid-column: 1; grid-row: 2; }
  .cadastro-novo .cadastro-rodape { max-width: 520px; margin-inline: auto; align-items: flex-start; flex-direction: column; }
}
@media (max-width:480px) {
  .cadastro-novo .site-head { height: 72px; padding-inline: 20px; }
  .cadastro-novo .cadastro-head__acoes { gap: 10px; }
  .cadastro-novo .site-head .entrar { font-size: 12px; padding-inline: 0; }
  .cadastro-novo .site-head .langris-logo { width: 100px; }
  .cadastro-novo .cadastro-main { padding: 10px 20px 28px; }
  .cadastro-novo .cadastro-copy h1 { font-size: 32px; }
  .cadastro-novo .cadastro-card { padding: 24px 20px; }
  .cadastro-novo .cadastro-card h2 { font-size: 30px; }
  .cadastro-novo .cadastro-dados { grid-template-columns: 1fr; }
  .cadastro-novo .cadastro-form .campo-flutuante:has(input:focus)>label,
  .cadastro-novo .cadastro-form .campo-flutuante:has(input:not(:placeholder-shown))>label,
  .cadastro-novo .cadastro-form .campo-flutuante:has(input:autofill)>label,
  .cadastro-novo .cadastro-form .campo-flutuante:has(input:-webkit-autofill)>label { transform: translateY(calc(-50% - 26px)) scale(.8); }
}
@media (max-width:360px) {
  .cadastro-novo .site-head { padding-inline: 16px; }
  .cadastro-novo .cadastro-main { padding-inline: 16px; }
  .cadastro-novo .cadastro-card { padding-inline: 16px; }
  .cadastro-novo .cadastro-copy h1 { font-size: 30px; }
}
