/* Conversite ADIMCO: simulador de financiamento (/simulador-de-financiamento/, page-simulador.php + inc/simulador.php).
   Design "ADIMCO Simulador" (28/09/2026). Só nesta tela, sobre pagina.css (tokens, base).
   Contraste AA: texto pequeno em --cva-cinza, --cva-cinza-2 ou --cva-ouro-texto sobre claro; no cartão escuro,
   #9c9a95 e #c9ccd0 sobre #121210/#1a1a18. O ouro de título grande usa --cva-ouro-titulo. */

.cva-sim { --cva-sim-topo: calc(var(--cva-cab-h, 76px) + var(--wp-admin--admin-bar--height, 0px) + 20px); }
.cva-sim:focus { outline: none; }
html:not(.cva-js) .cva-so-js { display: none !important; }

.cva-sim-topo,
.cva-sim-corpo,
.cva-sim-evolucao,
.cva-sim-custos { max-width: 1440px; margin-right: auto; margin-left: auto; padding-right: var(--cva-margem); padding-left: var(--cva-margem); }

/* 1. Topo ------------------------------------------------------------------- */
.cva-sim-topo { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr)); align-items: end; gap: 20px 72px; padding-top: clamp(32px, 5vw, 64px); }
.cva-sim-topo__tit { display: flex; flex-direction: column; gap: 16px; }
.cva-sim-olho { display: flex; align-items: center; gap: 10px; color: var(--cva-ouro-texto); font-size: 12px; font-weight: 600; letter-spacing: .06em; }
.cva-sim-olho__fio { flex: none; width: 28px; height: 1px; background: var(--cva-ouro); }
.cva-sim-h1 { color: var(--cva-tinta); font: 500 clamp(48px, 6.4vw, 92px)/.94 var(--cva-serif); letter-spacing: -.02em; }
.cva-sim-h1 em { color: var(--cva-ouro-titulo); }
.cva-sim-lead { max-width: 480px; color: var(--cva-cinza-2); font-size: 16px; line-height: 1.7; }
.cva-sim-h2 { color: var(--cva-tinta); font: 500 clamp(34px, 4vw, 50px)/1 var(--cva-serif); }

/* 2. Entradas e resultado --------------------------------------------------- */
.cva-sim-corpo { padding-top: 32px; }
.cva-sim-grade { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: 20px; }
@media (min-width: 1024px) { .cva-sim-grade { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); } }

.cva-sim-entradas { display: flex; flex-direction: column; gap: 26px; min-width: 0; padding: clamp(22px, 3vw, 36px); border: 1px solid var(--cva-linha); border-radius: var(--cva-raio-3); background: var(--cva-branco); }

/* Sistema de amortização (rádio nativo por baixo do cartão) */
.cva-sim-sistemas { display: flex; flex-direction: column; gap: 10px; }
.cva-sim-sistemas > legend { float: left; width: 100%; margin-bottom: 10px; padding: 0; }
.cva-sim-sistemas__op { clear: both; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.cva-sim-sistema { position: relative; display: flex; }
.cva-sim-sistema input { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.cva-sim-sistema__cx { display: flex; flex: 1; flex-direction: column; align-items: flex-start; gap: 4px; padding: 16px; border: 1px solid var(--cva-linha); border-radius: var(--cva-raio-2); background: var(--cva-branco); color: var(--cva-tinta); text-align: left; transition: background-color 140ms, border-color 140ms, color 140ms; }
.cva-sim-sistema__nome { font-size: 16px; font-weight: 700; }
.cva-sim-sistema__sub { font-size: 12px; line-height: 1.4; opacity: .8; }
.cva-sim-sistema input:hover + .cva-sim-sistema__cx { border-color: var(--cva-tinta); }
.cva-sim-sistema input:checked + .cva-sim-sistema__cx { border-color: var(--cva-tinta); background: var(--cva-tinta); color: var(--cva-papel); }
.cva-sim-sistema input:focus-visible + .cva-sim-sistema__cx { outline: 2px solid var(--cva-tinta); outline-offset: 3px; }

/* Campo: rótulo e dica, caixa (prefixo ou unidade), controle deslizante e aviso */
.cva-sim-campo { display: flex; flex-direction: column; gap: 12px; }
.cva-sim-campo__topo { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.cva-sim-campo__rotulo { color: var(--cva-tinta); font-size: 14px; font-weight: 700; }
.cva-sim-campo__dica { color: var(--cva-cinza); font-size: 12px; font-weight: 600; font-variant-numeric: tabular-nums; text-align: right; }
.cva-sim-campo__caixa { display: flex; align-items: center; gap: 8px; height: 58px; padding: 0 18px; border: 1px solid var(--cva-linha-2); border-radius: var(--cva-raio-2); background: var(--cva-branco); transition: border-color 140ms, box-shadow 140ms, background-color 140ms; }
.cva-sim-campo__caixa:hover { border-color: #a9a6a0; }
.cva-sim-campo__caixa:focus-within { border-color: var(--cva-ouro-texto); box-shadow: 0 0 0 3px rgba(184, 150, 62, .28); }
.cva-sim-campo__caixa input { flex: 1; min-width: 0; height: 100%; padding: 0; border: 0; background: transparent; color: var(--cva-tinta); font-size: 20px; font-weight: 700; font-variant-numeric: tabular-nums; outline: none; }
.cva-sim-campo__caixa input:focus-visible { outline: none; }
.cva-sim-campo__un { flex: none; color: var(--cva-cinza); font-size: 14px; font-weight: 600; }
.cva-sim-campo.is-aviso .cva-sim-campo__caixa { border-color: var(--cva-ouro-claro); background: var(--cva-ouro-suave); }
.cva-sim-campo__erro { display: flex; align-items: center; gap: 8px; color: #6f561c; font-size: 13px; font-weight: 600; line-height: 1.4; }
.cva-sim-campo:not(.is-aviso) .cva-sim-campo__erro { display: none; }
.cva-sim-faixa { display: block; width: 100%; height: 24px; margin: 0; accent-color: var(--cva-tinta); cursor: pointer; }

/* Resultado (cartão escuro) */
.cva-sim-resultado { min-width: 0; }
@media (min-width: 1024px) { .cva-sim-resultado { position: sticky; top: var(--cva-sim-topo); } }
.cva-sim-res { display: flex; flex-direction: column; gap: 22px; padding: clamp(22px, 3vw, 36px); border-radius: var(--cva-raio-3); background: var(--cva-tinta); color: var(--cva-papel); }
.cva-sim-res__topo { display: flex; flex-direction: column; gap: 6px; }
.cva-sim-res__rot { color: #9c9a95; font-size: 13px; font-weight: 600; }
.cva-sim-res__valor { color: var(--cva-ouro-claro); font: 500 clamp(56px, 6vw, 84px)/.9 var(--cva-serif); font-variant-numeric: lining-nums tabular-nums; overflow-wrap: anywhere; }
.cva-sim-res__sub { color: #c9ccd0; font-size: 14px; font-variant-numeric: tabular-nums; }
.cva-sim-kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 0; overflow: hidden; border-radius: var(--cva-raio-2); background: #2e2e2b; }
.cva-sim-kpis > div { display: flex; flex-direction: column; gap: 4px; min-width: 0; padding: 16px; background: #1a1a18; }
.cva-sim-kpis dt { color: #9c9a95; font-size: 12px; font-weight: 600; }
.cva-sim-kpis dd { margin: 0; font-size: 18px; font-weight: 700; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.cva-sim-renda { display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; border: 1px solid #2e2e2b; border-radius: var(--cva-raio-1); color: #dcdad5; font-size: 13px; font-weight: 500; line-height: 1.5; }
.cva-sim-renda.is-alta { border-color: #6f561c; background: #2a2518; color: #e6cd88; }
.cva-sim-renda__ic { display: flex; flex: none; }
.cva-sim-renda__ic--alta, .cva-sim-renda.is-alta .cva-sim-renda__ic--ok { display: none; }
.cva-sim-renda.is-alta .cva-sim-renda__ic--alta { display: flex; }
.cva-sim-comp { display: flex; flex-direction: column; gap: 8px; }
.cva-sim-comp__topo { display: flex; justify-content: space-between; gap: 12px; color: #9c9a95; font-size: 12px; font-weight: 600; font-variant-numeric: tabular-nums; }
.cva-sim-comp__barra { display: flex; height: 10px; overflow: hidden; border-radius: 999px; background: #2e2e2b; }
.cva-sim-comp__princ { background: var(--cva-papel); transition: width 200ms; }
.cva-sim-comp__juros { flex: 1; background: var(--cva-ouro-claro); }
.cva-sim-comp__legenda { display: flex; flex-wrap: wrap; gap: 6px 16px; color: #c9ccd0; font-size: 12px; }
.cva-sim-comp__legenda li { display: flex; align-items: center; gap: 6px; }
.cva-sim-comp__ponto { width: 8px; height: 8px; border-radius: 999px; background: var(--cva-papel); }
.cva-sim-comp__ponto--ouro { background: var(--cva-ouro-claro); }
.cva-sim-cta { display: flex; align-items: center; justify-content: center; gap: 8px; height: 52px; padding: 0 20px; border-radius: 999px; background: var(--cva-ouro-claro); color: var(--cva-tinta); font-size: 15px; font-weight: 600; white-space: nowrap; transition: background-color 140ms; }
@media (hover: hover) { .cva-sim-cta:hover { background: #e0c585; } }
.cva-sim-res :focus-visible { outline-color: var(--cva-ouro-claro); }
.cva-sim-aviso { padding: 12px 6px 0; color: var(--cva-cinza); font-size: 12px; line-height: 1.55; }

/* 3. Evolução da parcela ---------------------------------------------------- */
.cva-sim-evolucao { padding-top: 72px; }
.cva-sim-evolucao__cab { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.cva-sim-seg { display: flex; padding: 4px; border-radius: 999px; background: var(--cva-campo-2); }
.cva-sim-seg__op { min-height: 40px; padding: 0 16px; border: 0; border-radius: 999px; background: transparent; color: var(--cva-tinta); font-size: 13px; font-weight: 600; white-space: nowrap; transition: background-color 140ms, color 140ms; }
@media (hover: hover) { .cva-sim-seg__op:not([aria-pressed="true"]):hover { background: rgba(150, 150, 150, .16); } }
.cva-sim-seg__op[aria-pressed="true"] { background: var(--cva-tinta); color: var(--cva-papel); }

.cva-sim-grafico { padding: clamp(20px, 3vw, 32px); border: 1px solid var(--cva-linha); border-radius: var(--cva-raio-3); background: var(--cva-branco); }
.cva-sim-grafico[hidden] { display: none; }
.cva-sim-grafico__barras { display: flex; align-items: flex-end; gap: 3px; height: 240px; }
.cva-sim-grafico__col { display: flex; flex: 1; flex-direction: column; justify-content: flex-end; min-width: 0; height: 100%; }
.cva-sim-grafico__j { border-radius: 4px 4px 0 0; background: var(--cva-ouro-claro); }
.cva-sim-grafico__a { background: var(--cva-tinta); }
.cva-sim-grafico__eixo { display: flex; justify-content: space-between; margin-top: 10px; color: var(--cva-cinza); font-size: 12px; font-weight: 600; font-variant-numeric: tabular-nums; }
.cva-sim-grafico__legenda { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 14px; color: var(--cva-cinza-2); font-size: 12px; font-weight: 500; }
.cva-sim-grafico__legenda li { display: flex; align-items: center; gap: 6px; }
.cva-sim-grafico__cor { width: 10px; height: 10px; border-radius: 3px; background: var(--cva-tinta); }
.cva-sim-grafico__cor--ouro { background: var(--cva-ouro-claro); }

.cva-sim-tabela { max-height: 520px; overflow: auto; border: 1px solid var(--cva-linha); border-radius: var(--cva-raio-3); background: var(--cva-branco); }
.cva-sim-tabela:focus-visible { outline-offset: -2px; }
.cva-sim-tabela table { width: 100%; min-width: 600px; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.cva-sim-tabela th, .cva-sim-tabela td { padding: 12px 16px; border-bottom: 1px solid var(--cva-campo-2); font-size: 14px; font-weight: 500; text-align: left; }
.cva-sim-tabela thead th { position: sticky; top: 0; z-index: 1; padding: 14px 16px; border-bottom-color: var(--cva-linha); background: var(--cva-campo); color: var(--cva-cinza); font-size: 12px; font-weight: 700; }
.cva-sim-tabela thead th:first-child, .cva-sim-tabela tbody th { width: 70px; }
.cva-sim-tabela tbody th { color: var(--cva-tinta); }

/* 4. Custos da compra ------------------------------------------------------- */
.cva-sim-custos { padding-top: 72px; padding-bottom: 104px; }
.cva-sim-custos__card { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); align-items: start; gap: 24px 64px; padding: clamp(24px, 4vw, 44px); border: 1px solid var(--cva-linha); border-radius: var(--cva-raio-3); background: var(--cva-branco); }
.cva-sim-custos__txt { display: flex; flex-direction: column; gap: 12px; }
.cva-sim-custos .cva-sim-h2 { font-size: clamp(32px, 3.6vw, 46px); line-height: 1.02; }
.cva-sim-custos__lead { color: var(--cva-cinza-2); font-size: 14px; line-height: 1.65; }
.cva-sim-custos__lista { display: flex; flex-direction: column; margin: 0; border-top: 1px solid var(--cva-linha); }
.cva-sim-custos__lista > div { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--cva-linha); font-size: 15px; }
.cva-sim-custos__lista dt { color: var(--cva-cinza-2); }
.cva-sim-custos__lista dd { margin: 0; font-weight: 600; font-variant-numeric: tabular-nums; text-align: right; }
.cva-sim-custos__lista > .cva-sim-custos__total { padding: 16px 0 0; border-bottom: 0; font-size: 17px; font-weight: 700; }
.cva-sim-custos__total dt { color: var(--cva-tinta); }
.cva-sim-custos__total dd { font-weight: 700; }

@media (prefers-reduced-motion: reduce) {
  .cva-sim-comp__princ, .cva-sim-sistema__cx { transition: none; }
}
@media print {
  .cva-sim-seg, .cva-sim-cta, .cva-sim-faixa { display: none !important; }
  .cva-sim-tabela[hidden] { display: block !important; }
}

/* Celular e tablet pequeno (até 767 px): régua com 44 px de altura de toque. */
@media (max-width: 767px) {
  .cva-sim-faixa { height: 44px; }
}
