/* =====================================================================
   Sancoia Capital — simulador
   Herda as cores e a tipografia de /styles.css. Aqui só o que é da tela
   do simulador. Pensado primeiro para o celular: o tráfego vem de
   anúncio no Instagram e no Facebook.
   ===================================================================== */

.pagina-simulador{ background:#EFEAE2; }
.pagina-simulador header{ position:static; }

.sim-main{ padding:28px 0 56px; }
.sim-wrap{ width:min(100% - 28px, 620px); margin:auto; }

/* ---------- abertura ---------- */
.sim-intro{ text-align:center; margin-bottom:22px; }
.sim-intro .kicker{ display:block; margin-bottom:10px; }
.sim-intro h1{
  font-size:clamp(23px,5.6vw,31px) !important;
  line-height:1.16;
  margin:0 0 10px;
}
.sim-intro p{
  margin:0; font-size:15.5px; line-height:1.55;
  color:rgba(7,28,49,.66);
}

/* ---------- cartão ---------- */
.sim-card{
  background:#FBF8F4;
  border:1px solid rgba(7,28,49,.12);
  border-radius:14px;
  padding:22px 20px 20px;
  box-shadow:0 2px 10px rgba(7,28,49,.05);
}
@media(min-width:620px){ .sim-card{ padding:30px 30px 26px; } }

/* ---------- progresso ---------- */
.sim-progresso{
  display:flex; align-items:center; gap:14px; margin-bottom:22px;
}
.sim-barra{
  flex:1; height:3px; border-radius:2px;
  background:rgba(7,28,49,.12); overflow:hidden;
}
.sim-barra span{
  display:block; height:100%; width:20%;
  background:var(--gold);
  transition:width .32s ease;
}
.sim-passo{
  font-size:11.5px; letter-spacing:.1em; text-transform:uppercase;
  color:rgba(7,28,49,.48); white-space:nowrap;
}

/* ---------- pergunta ---------- */
.sim-pergunta{
  font-size:19px !important;
  line-height:1.34;
  margin:0 0 18px;
  font-weight:700;
}
.sim-sub{
  margin:-10px 0 20px;
  font-size:15px; line-height:1.5;
  color:rgba(7,28,49,.64);
}

/* ---------- opções em cartão ---------- */
.sim-opcoes{ display:grid; gap:10px; }

.sim-opcao{
  display:flex; align-items:center; gap:14px;
  width:100%; min-height:62px;
  padding:14px 16px;
  text-align:left;
  background:#fff;
  border:1.5px solid rgba(7,28,49,.14);
  border-radius:11px;
  cursor:pointer;
  font:inherit; color:var(--navy);
  transition:border-color .16s ease, background .16s ease;
}
.sim-opcao:hover{ border-color:rgba(201,152,61,.65); }
.sim-opcao.is-escolhida{
  border-color:var(--gold);
  background:rgba(201,152,61,.09);
}
.sim-opcao:focus-visible{ outline:2px solid var(--gold); outline-offset:2px; }

.sim-ico{
  flex:0 0 auto; width:40px; height:40px;
  display:grid; place-items:center;
  border:1px solid rgba(201,152,61,.5);
  border-radius:9px;
}
.sim-ico svg{
  width:21px; height:21px;
  fill:none; stroke:#9A6B14; stroke-width:1.9;
  stroke-linecap:round; stroke-linejoin:round;
}
.sim-opcao.is-escolhida .sim-ico{ border-color:var(--gold); }

.sim-rot{ font-size:16px; font-weight:700; line-height:1.3; }
.sim-rot small{
  display:block; margin-top:3px;
  font-size:12.5px; font-weight:400; line-height:1.4;
  color:rgba(7,28,49,.56);
}

.sim-opcao-linha{ min-height:54px; }

/* ---------- campos ---------- */
.sim-campo{ display:block; margin-bottom:4px; }
.sim-legenda{
  display:block; margin-bottom:7px;
  font-size:12.5px; letter-spacing:.04em; text-transform:uppercase;
  font-weight:700; color:rgba(7,28,49,.58);
}
.sim-campo input,
.sim-campo select{
  width:100%;
  min-height:54px;
  padding:0 15px;
  font:inherit;
  font-size:17px;            /* 16px ou mais: abaixo disso o iPhone dá zoom sozinho */
  color:var(--navy);
  background:#fff;
  border:1.5px solid rgba(7,28,49,.16);
  border-radius:10px;
  -webkit-appearance:none; appearance:none;
}
.sim-campo input:focus,
.sim-campo select:focus{
  outline:none; border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(201,152,61,.16);
}
.sim-campo select{
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%23071C31' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  background-size:12px;
  padding-right:36px;
}

#valorImovel, #valorDesejado{
  font-size:23px; font-weight:700; letter-spacing:.01em;
}

.sim-dupla{ display:grid; grid-template-columns:1fr 96px; gap:12px; }

.sim-ajuda{
  margin:9px 0 0;
  font-size:13px; line-height:1.5;
  color:rgba(7,28,49,.56);
}

/* ---------- resultado do potencial ---------- */
.sim-resultado{
  margin-top:18px;
  padding:17px 18px;
  background:var(--navy);
  border-radius:11px;
}
.sim-resultado-rot{
  display:block;
  font-size:11.5px; letter-spacing:.12em; text-transform:uppercase;
  font-weight:700; color:var(--gold2);
  margin-bottom:6px;
}
.sim-resultado-valor{
  display:block;
  font-size:clamp(25px,6.4vw,32px);
  line-height:1.1;
  color:#fff;
}
.sim-resultado .sim-nota{
  margin:11px 0 0;
  font-size:12px; line-height:1.5;
  color:rgba(255,255,255,.58);
}

/* ---------- avisos ---------- */
.sim-alerta{
  margin-top:14px; padding:13px 15px;
  border-radius:10px;
  font-size:13.5px; line-height:1.52;
  background:rgba(7,28,49,.05);
  border:1px solid rgba(7,28,49,.12);
  color:rgba(7,28,49,.74);
}
.sim-alerta.is-atencao{
  background:rgba(201,152,61,.12);
  border-color:rgba(201,152,61,.42);
  color:#6B4A0C;
}
.sim-erro{
  margin-top:14px; padding:13px 15px;
  border-radius:10px;
  font-size:13.5px; line-height:1.52;
  background:rgba(170,40,40,.08);
  border:1px solid rgba(170,40,40,.3);
  color:#8A2222;
}

/* ---------- ciência / LGPD ---------- */
.sim-ciente{
  display:flex; align-items:flex-start; gap:11px;
  margin-top:18px;
  font-size:13.5px; line-height:1.55;
  color:rgba(7,28,49,.70);
  cursor:pointer;
}
.sim-ciente input{
  flex:0 0 auto;
  width:21px; height:21px; margin-top:1px;
  accent-color:var(--gold);
}
.sim-link{
  background:none; border:none; padding:0;
  font:inherit; color:#8A6212; text-decoration:underline;
  cursor:pointer;
}

/* ---------- navegação ---------- */
.sim-nav{
  display:flex; align-items:center; gap:12px;
  margin-top:24px; padding-top:18px;
  border-top:1px solid rgba(7,28,49,.10);
}
.sim-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  min-height:54px; padding:0 22px;
  border:none; border-radius:9px;
  font:inherit; font-size:15px; font-weight:700;
  cursor:pointer;
  transition:background .16s ease, opacity .16s ease;
}
.sim-btn-voltar{
  background:transparent;
  color:rgba(7,28,49,.62);
  padding:0 6px;
  font-weight:400;
}
.sim-btn-voltar:hover{ color:var(--navy); }
.sim-btn-seguir{
  flex:1;
  background:var(--gold);
  color:var(--navy);
  letter-spacing:.01em;
}
.sim-btn-seguir.is-final{ font-size:14.5px; letter-spacing:.03em; }
.sim-btn-seguir:disabled{ opacity:.42; cursor:not-allowed; }
.sim-btn-seguir.is-carregando{ opacity:.7; }

/* ---------- confirmação ---------- */
.sim-fim{ text-align:center; padding:8px 0 4px; }
.sim-check{
  width:58px; height:58px; margin:0 auto 16px;
  display:grid; place-items:center;
  border-radius:50%;
  background:rgba(32,122,72,.12);
}
.sim-check svg{
  width:28px; height:28px;
  fill:none; stroke:#1E7A46; stroke-width:2.4;
  stroke-linecap:round; stroke-linejoin:round;
}
.sim-fim h2{ font-size:22px !important; margin:0 0 8px; }
.sim-fim p{
  margin:0 0 6px;
  font-size:15px; line-height:1.55;
  color:rgba(7,28,49,.68);
}
.sim-protocolo{ font-size:14px !important; }
.sim-protocolo strong{
  font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing:.04em; color:var(--navy);
}
.sim-btn-wa{
  width:100%; margin-top:20px;
  background:#1E7A46; color:#fff;
  text-decoration:none;
}
.sim-btn-wa:hover{ background:#196639; }
.sim-wa-ico svg{ width:21px; height:21px; fill:currentColor; display:block; }
.sim-fim .sim-nota{
  margin-top:12px;
  font-size:12.5px; color:rgba(7,28,49,.52);
}

/* ---------- rodapé da página ---------- */
.sim-rodape{
  margin:20px auto 0;
  max-width:52ch;
  text-align:center;
  font-size:12.5px; line-height:1.55;
  color:rgba(7,28,49,.5);
}

/* ---------- armadilha para robô ---------- */
.sim-mel{
  position:absolute; left:-9999px;
  width:1px; height:1px; overflow:hidden;
}

/* ---------- telas pequenas ---------- */
@media(max-width:400px){
  .sim-card{ padding:18px 15px 17px; }
  .sim-pergunta{ font-size:18px !important; }
  .sim-opcao{ padding:12px 13px; gap:12px; }
  .sim-ico{ width:36px; height:36px; }
  .sim-rot{ font-size:15.5px; }
  .sim-btn-seguir.is-final{ font-size:13.5px; }
}

/* quem prefere menos movimento não vê transição nenhuma */
@media(prefers-reduced-motion:reduce){
  .sim-barra span, .sim-opcao, .sim-btn{ transition:none; }
}

/* a linha de cookies substitui o aviso flutuante: nesta pagina ele
   cobria o formulario, que e justamente o que precisa de atencao */
.sim-rodape-cookies{ margin-top:8px; }

/* --- correcoes encontradas na verificacao --- */

/* 1. O link da politica tinha 19px de altura. Como ele fica no meio de
   uma frase, nao da para simplesmente aumentar: cresce a area de toque
   com padding e devolve o espaco com margem negativa, para o texto em
   volta nao se mexer. */
.sim-link{
  padding:13px 2px;
  margin:-13px 0;
  display:inline-block;
}

/* 2. Em telas muito altas (1920x1080) sobrava uma faixa vazia depois do
   rodape, porque a pagina e curta. Empurra o rodape para o fim. */
.pagina-simulador{
  min-height:100vh;
  min-height:100dvh;
  display:flex;
  flex-direction:column;
}
.pagina-simulador .sim-main{ flex:1 0 auto; }
.pagina-simulador footer{ flex:0 0 auto; }
