/* Conversite ADIMCO: formulários do Conversite Brain no visual do design (Anunciar e Contato), sobre pagina.css.
   Veste a marcação real do Brain (.cvbe-form, .cvbe-form-campo, .cvbe-form-consentimento, .cvbe-form-status,
   .cvbe-form-botao, .cvbe-whatsapp) e as peças do design que o JS acrescenta (pílulas, segmentado, etapas, painel de
   sucesso). Tudo dentro de .cva-fm, com especificidade acima do formulario.css do Brain (que também carrega).
   Sem JS (.cva-fm sem .is-pronto): o formulário do Brain aparece inteiro, com os mesmos campos vestidos. */

html:not(.cva-js) .cva-so-js { display: none !important; }

/* 1. Formulário do Brain ----------------------------------------------------- */
.cva-fm .cvbe-form { position: relative; margin: 0; }
.cva-fm .cvbe-form .cvbe-form-titulo { display: none; }
.cva-fm .cvbe-form-form { display: flex; flex-direction: column; gap: 20px; margin: 0; }
.cva-fm .cvbe-form .cvbe-form-campo { display: flex; flex-direction: column; gap: 8px; min-width: 0; margin: 0; }
.cva-fm .cvbe-form .cvbe-form-campo > label { display: block; margin: 0; color: var(--cva-tinta); font-size: 14px; font-weight: 700; line-height: 1.4; }
.cva-fm .cvbe-form-obrig { color: var(--cva-ouro-texto); }
.cva-fm.is-pronto .cvbe-form-obrig { display: none; }
.cva-fm__opc { color: var(--cva-cinza); font-weight: 500; }

.cva-fm .cvbe-form .cvbe-form-campo :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="date"], select, textarea) {
  display: block; width: 100%; max-width: 100%; height: 52px; margin: 0; padding: 0 16px;
  border: 1px solid var(--cva-linha-2); border-radius: var(--cva-raio-1); background: var(--cva-branco); color: var(--cva-tinta);
  font: 500 15px/1.4 var(--cva-sans); box-shadow: none; outline: none;
  transition: border-color 140ms, box-shadow 140ms;
}
/* Caixa de texto: respiro interno e umas 4 linhas. Classe repetida de propósito: o :is() acima pesa como input[type] e
   ganhava desta regra (a caixa ficava com 52 px de altura e sem respiro em cima). */
.cva-fm.cva-fm .cvbe-form .cvbe-form-campo textarea { height: auto; min-height: 128px; padding: 14px 16px; line-height: 1.55; resize: vertical; }
.cva-fm .cvbe-form .cvbe-form-campo select {
  padding-right: 44px; cursor: pointer; appearance: none; -webkit-appearance: none;
  background: var(--cva-branco) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23121210' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center;
}
.cva-fm .cvbe-form .cvbe-form-campo :is(input, textarea)::placeholder { color: var(--cva-cinza); opacity: 1; }
.cva-fm .cvbe-form .cvbe-form-campo :is(input, select, textarea):hover { border-color: #a9a6a0; }
.cva-fm .cvbe-form .cvbe-form-campo :is(input, select, textarea):focus,
.cva-fm .cvbe-form .cvbe-form-campo :is(input, select, textarea):focus-visible { border-color: var(--cva-ouro-texto); box-shadow: 0 0 0 3px rgba(184, 150, 62, .28); outline: none; }

/* Campo com prefixo ou unidade (R$, m²) */
.cva-fm__adorno { display: flex; align-items: center; gap: 8px; height: 52px; padding: 0 16px; border: 1px solid var(--cva-linha-2); border-radius: var(--cva-raio-1); background: var(--cva-branco); transition: border-color 140ms, box-shadow 140ms; }
.cva-fm__adorno:hover { border-color: #a9a6a0; }
.cva-fm__adorno:focus-within { border-color: var(--cva-ouro-texto); box-shadow: 0 0 0 3px rgba(184, 150, 62, .28); }
.cva-fm .cvbe-form .cvbe-form-campo .cva-fm__adorno input,
.cva-fm .cvbe-form .cva-fm__adorno input { flex: 1; min-width: 0; height: 100%; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; font-variant-numeric: tabular-nums; }
.cva-fm .cvbe-form .cva-fm__adorno input:focus { box-shadow: none; }
.cva-fm__un { flex: none; color: var(--cva-cinza); font-size: 13px; font-weight: 600; }
.cva-fm__dica { color: var(--cva-cinza); font-size: 12px; line-height: 1.5; }

/* Erros (mensagem do design: texto forte, borda escura com halo ouro) */
.cva-fm .cvbe-form .cvbe-form-erro-campo { display: block; margin: 0; color: var(--cva-tinta); font-size: 13px; font-weight: 600; line-height: 1.4; }
.cva-fm .cvbe-form .cvbe-form-erro-campo:empty { display: none; }
.cva-fm .cvbe-form .cvbe-form-invalido :is(input, select, textarea),
.cva-fm .cvbe-form .cvbe-form-campo [aria-invalid="true"],
.cva-fm .cvbe-form-invalido .cva-fm__adorno { border-color: var(--cva-tinta); box-shadow: 0 0 0 3px rgba(184, 150, 62, .28); }
.cva-fm .cvbe-form-invalido .cva-fm__adorno input { box-shadow: none; }
.cva-fm__erro { margin: 0; color: var(--cva-tinta); font-size: 13px; font-weight: 600; line-height: 1.4; }
.cva-fm__erro:empty { display: none; }

/* Consentimento (LGPD) */
.cva-fm .cvbe-form .cvbe-form-consentimento { position: relative; display: grid; grid-template-columns: 20px minmax(0, 1fr); align-items: start; gap: 4px 12px; }
.cva-fm .cvbe-form .cvbe-form-consentimento input[type="checkbox"] { width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--cva-tinta); cursor: pointer; }
.cva-fm .cvbe-form .cvbe-form-consentimento > label { display: block; color: var(--cva-cinza-2); font-size: 13px; font-weight: 500; line-height: 1.55; cursor: pointer; }
.cva-fm .cvbe-form .cvbe-form-consentimento a { color: var(--cva-tinta); text-decoration: underline; text-decoration-color: var(--cva-ouro); text-underline-offset: 2px; }
.cva-fm .cvbe-form .cvbe-form-consentimento .cvbe-form-erro-campo { grid-column: 2; }
.cva-fm .cvbe-form .cvbe-form-consentimento.cvbe-form-invalido input[type="checkbox"] { outline: 2px solid var(--cva-ouro); outline-offset: 2px; }

/* Status do envio */
.cva-fm .cvbe-form .cvbe-form-status { margin: 0; padding: 12px 16px; border: 0; border-left: 3px solid var(--cva-tinta); border-radius: 0 var(--cva-raio-1) var(--cva-raio-1) 0; background: var(--cva-campo); color: var(--cva-tinta); font-size: 14px; font-weight: 600; line-height: 1.5; }
/* Vazio, fica fora do fluxo mas presente para o leitor de tela (região viva: precisa existir antes da mensagem). */
.cva-fm .cvbe-form .cvbe-form-status:empty { display: block; position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; border: 0; clip-path: inset(50%); }
.cva-fm .cvbe-form .cvbe-form-status.cvbe-form-sucesso { border-left-color: var(--cva-ouro); background: var(--cva-ouro-suave); }

/* Botões: primário do Brain (enviar), secundário, voltar e continuar */
.cva-fm .cvbe-form .cvbe-form-acoes { margin: 0; }
.cva-fm .cvbe-form .cvbe-form-botao,
.cva-fm__seguir { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 52px; padding: 0 26px; border: 0; border-radius: 999px; background: var(--cva-tinta); color: var(--cva-papel); font: 600 15px/1 var(--cva-sans); white-space: nowrap; cursor: pointer; transition: background-color 140ms, transform 140ms; }
.cva-fm .cvbe-form .cvbe-form-botao::after { content: ""; width: 16px; height: 16px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z'/%3E%3Cpath d='m21.854 2.147-10.94 10.939'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z'/%3E%3Cpath d='m21.854 2.147-10.94 10.939'/%3E%3C/svg%3E") center / contain no-repeat; }
.cva-fm .cvbe-form .cvbe-form-botao:hover,
.cva-fm__seguir:hover { background: var(--cva-grafite); }
.cva-fm .cvbe-form .cvbe-form-botao:active,
.cva-fm__seguir:active { transform: scale(.975); }
.cva-fm .cvbe-form .cvbe-form-botao[disabled] { opacity: .6; cursor: wait; }
.cva-fm__voltar,
.cva-fm__sec { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 52px; padding: 0 20px; border: 1px solid var(--cva-linha-2); border-radius: 999px; background: var(--cva-branco); color: var(--cva-tinta); font: 600 15px/1 var(--cva-sans); white-space: nowrap; transition: border-color 140ms; }
.cva-fm__voltar:hover,
.cva-fm__sec:hover { border-color: var(--cva-tinta); }

/* Privacidade (cadeado) */
.cva-fm__priv { display: flex; align-items: flex-start; gap: 8px; margin: 0; color: var(--cva-cinza); font-size: 12px; line-height: 1.5; }
.cva-fm__priv .cva-ic { margin-top: 1px; }

/* Aviso sem Brain */
.cva-fm__indisponivel { display: flex; flex-direction: column; gap: 8px; color: var(--cva-cinza-2); font-size: 15px; line-height: 1.6; }
.cva-fm__indisponivel a { color: var(--cva-tinta); font-weight: 600; text-decoration: underline; text-decoration-color: var(--cva-ouro); text-underline-offset: 2px; }
.cva-fm .cvbe-form-rascunho,
.cva-fm .cvbe-form-aviso-editor { margin: 0 0 12px; padding: 8px 12px; border: 1px dashed var(--cva-linha-2); border-radius: var(--cva-raio-1); background: var(--cva-ouro-suave); color: var(--cva-cinza-2); font-size: 13px; }

/* 2. Peças do design (com JS) -------------------------------------------------- */

/* Campos do Brain só como valor (o <select> que as pílulas preenchem): some o controle, fica o erro do servidor */
.cva-fm__nativo > .cvbe-form-campo > :is(label, select, input) { display: none !important; }
.cva-fm__nativo:not(:has(.cvbe-form-erro-campo:not(:empty))) { display: none; }

.cva-fm [data-cva-slot]:empty { display: none; }
.cva-fm [data-cva-slot="status"] { display: contents; }
.cva-fm__dupla { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 16px; align-items: start; }
.cva-fm__dupla > * { min-width: 0; }
.cva-fm__extras:empty { display: none; }
.cva-fm__extras { display: flex; flex-direction: column; gap: 18px; }

/* Grupos (fieldset + legend) */
.cva-fm__grupo { min-width: 0; margin: 0; padding: 0; border: 0; }
.cva-fm__grupo > legend { float: left; width: 100%; padding: 0; }
.cva-fm__grupo > legend + * { clear: both; }
.cva-fm__legenda { margin: 0 0 10px; color: var(--cva-tinta); font-size: 14px; font-weight: 700; line-height: 1.4; }
.cva-fm__pergunta { margin: 0 0 6px; color: var(--cva-tinta); font-size: 20px; font-weight: 700; line-height: 1.3; letter-spacing: -.01em; }
.cva-fm__sub { margin: 0 0 18px; color: var(--cva-cinza); font-size: 14px; line-height: 1.5; }
.cva-fm__grupo .cva-fm__erro,
.cva-fm__grupo .cva-fm__dica { display: block; margin-top: 10px; }
.cva-fm__grupo .cva-fm__erro:empty { display: none; }

/* Pílulas (rádio nativo por baixo) */
.cva-pilulas { display: flex; flex-wrap: wrap; gap: 8px; }
.cva-pilula { position: relative; display: inline-flex; }
.cva-pilula input { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.cva-pilula span { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border: 1px solid var(--cva-linha-2); border-radius: 999px; background: var(--cva-branco); color: var(--cva-tinta); font-size: 14px; font-weight: 600; line-height: 1.2; white-space: nowrap; transition: background-color 140ms, border-color 140ms, color 140ms, box-shadow 140ms; }
.cva-pilula input:hover + span { border-color: var(--cva-tinta); }
.cva-pilula input:checked + span { border-color: var(--cva-tinta); background: var(--cva-tinta); color: var(--cva-papel); }
.cva-pilula input:focus-visible + span { outline: 2px solid var(--cva-tinta); outline-offset: 3px; }
.cva-fm__grupo.is-erro .cva-pilula input:not(:checked) + span { border-color: var(--cva-ouro); box-shadow: 0 0 0 3px rgba(184, 150, 62, .18); }

/* Segmentado (abas de "Como funciona" e o canal de retorno) */
.cva-seg { display: inline-flex; flex-wrap: wrap; align-self: flex-start; padding: 4px; border-radius: 999px; background: var(--cva-campo-2); }
.cva-seg__op { position: relative; display: inline-flex; }
button.cva-seg__op,
.cva-seg__op > span { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 18px; border: 0; border-radius: 999px; background: transparent; color: var(--cva-tinta); font: 600 13px/1 var(--cva-sans); white-space: nowrap; transition: background-color 140ms, color 140ms; }
button.cva-seg__op[aria-pressed="true"],
.cva-seg__op input:checked + span { background: var(--cva-tinta); color: var(--cva-papel); }
@media (hover: hover) { button.cva-seg__op:not([aria-pressed="true"]):hover,
.cva-seg__op input:not(:checked):hover + span { background: rgba(150, 150, 150, .16); } }
.cva-seg__op input { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.cva-seg__op input:focus-visible + span { outline: 2px solid var(--cva-tinta); outline-offset: 2px; }

/* Etapas */
.cva-passos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.cva-passos li { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.cva-passos__barra { height: 3px; border-radius: 999px; background: var(--cva-linha); transition: background-color 200ms; }
.cva-passos li:is(.is-feito, .is-atual) .cva-passos__barra { background: var(--cva-ouro); }
.cva-passos__btn { display: flex; align-items: center; gap: 8px; min-height: 32px; padding: 0; border: 0; background: transparent; color: var(--cva-cinza); font: 600 13px/1.2 var(--cva-sans); text-align: left; cursor: pointer; }
.cva-passos__btn:disabled { cursor: default; }
.cva-passos li:is(.is-feito, .is-atual) .cva-passos__btn { color: var(--cva-tinta); }
.cva-passos li.is-atual .cva-passos__btn { font-weight: 700; }
.cva-passos__n { display: flex; flex: none; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 999px; background: var(--cva-campo-2); color: var(--cva-cinza); font-size: 11px; font-weight: 700; }
.cva-passos li.is-atual .cva-passos__n { background: var(--cva-tinta); color: var(--cva-papel); }
.cva-passos li.is-feito .cva-passos__n { background: var(--cva-ouro); color: var(--cva-tinta); }
.cva-passos__ok { display: none; }
.cva-passos li.is-feito .cva-passos__ok { display: block; }
.cva-passos li.is-feito .cva-passos__num { display: none; }
.cva-passo { display: flex; flex-direction: column; gap: 24px; animation: cva-fm-entra 240ms cubic-bezier(.16, 1, .3, 1); }
.cva-passo[data-cva-passo="3"] { gap: 18px; }
.cva-passo[hidden] { display: none; }

/* Rodapé do cartão (status + navegação) */
.cva-fm__rodape { display: flex; flex-direction: column; gap: 16px; padding-top: 20px; border-top: 1px solid var(--cva-linha); }

.cva-fm__nav { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.cva-fm__contador { margin: 0; color: var(--cva-cinza); font-size: 13px; }
.cva-fm__seguir,
.cva-fm__enviar { margin-left: auto; }
.cva-fm__enviar[hidden],
.cva-fm__seguir[hidden],
.cva-fm__voltar[hidden],
.cva-fm__contador[hidden] { display: none; }

/* Painel de sucesso */
.cva-fm__ok { display: flex; flex-direction: column; gap: 22px; padding: 12px 0; animation: cva-fm-entra 320ms cubic-bezier(.16, 1, .3, 1); }
.cva-fm__ok[hidden] { display: none; }
.cva-fm__ok-ic { display: flex; align-items: center; justify-content: center; width: 60px; height: 60px; border: 1px solid var(--cva-ouro-claro); border-radius: 999px; color: var(--cva-ouro-texto); }
.cva-fm__ok-txt { display: flex; flex-direction: column; gap: 10px; }
.cva-fm__ok-titulo { font: 500 clamp(36px, 4vw, 52px)/1 var(--cva-serif); color: var(--cva-tinta); }
.cva-fm__ok-titulo:focus { outline: none; }
.cva-fm__ok-txt p { max-width: 560px; color: var(--cva-cinza-2); font-size: 15px; line-height: 1.65; }
.cva-fm__ok-acoes { display: flex; flex-wrap: wrap; gap: 10px; }
.cva-fm__wa .cvbe-whatsapp-wrap { margin: 0; }
.cva-fm__wa .cvbe-whatsapp { display: inline-flex; align-items: center; gap: 8px; height: 52px; padding: 0 22px; border: 0; border-radius: 999px; background: var(--cva-tinta); color: var(--cva-papel); font-size: 15px; font-weight: 600; line-height: 1; text-decoration: none; white-space: nowrap; transition: background-color 140ms; }
.cva-fm__wa .cvbe-whatsapp:focus { background: var(--cva-grafite); color: var(--cva-papel); text-decoration: none; }
.cva-fm__wa .cvbe-whatsapp:hover { background: var(--cva-grafite); color: var(--cva-papel); text-decoration: none; }
.cva-fm__wa .cvbe-whatsapp :is(.cvbe-icone, .cva-ic) { width: 18px; height: 18px; color: var(--cva-ouro-claro); }

@keyframes cva-fm-entra { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

/* Celular e tablet pequeno (até 767 px): campos com 16 px (o iPhone não dá zoom ao focar); no computador ficam com 15 px. */
@media (max-width: 767px) {
  .cva-fm .cvbe-form .cvbe-form-campo :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="date"], select, textarea) { font-size: 16px; }
}
