/* ==========================================================================
   Simulador por objetivo — Consórcio Pix
   Componente compartilhado por /simular/<objetivo>. Depende de base.css.
   ========================================================================== */

.sim { display:grid; gap:clamp(1.3rem,3.5vw,2.4rem); }
@media (min-width:920px){ .sim{ grid-template-columns:1fr 1fr; align-items:start; } }

.controle { margin-bottom:1.5rem; }
.controle label { display:block; font-size:.82rem; font-weight:600; color:var(--grafite-sv); margin-bottom:.5rem; }
.controle .val { font:700 1.5rem/1 var(--titulo); color:var(--grafite); }
.controle input[type="range"]{ width:100%; accent-color:var(--verde); margin-top:.6rem; }

.chips { display:flex; gap:.5rem; flex-wrap:wrap; margin-top:.6rem; }
.chips button { flex:1 1 auto; padding:.55rem .4rem; border-radius:9px; cursor:pointer; font:600 .9rem var(--corpo); color:var(--grafite-sv); background:var(--branco); border:1.5px solid color-mix(in srgb,var(--grafite) 13%,transparent); transition:background .16s,color .16s,border-color .16s; }
.chips button:hover { border-color:var(--verde); color:var(--verde-esc); }
.chips button[aria-pressed="true"]{ background:var(--verde); border-color:var(--verde); color:#fff; }

.resultado { background:var(--branco); border-radius:16px; padding:clamp(1.5rem,4vw,2.2rem); border:1.5px solid color-mix(in srgb,var(--verde) 22%,transparent); box-shadow:0 8px 30px color-mix(in srgb,var(--verde) 13%,transparent); }
.resultado .selo { margin-bottom:1rem; }
.parcela { font:700 clamp(2.4rem,1.6rem+3vw,3.4rem)/1 var(--titulo); letter-spacing:-.02em; color:var(--verde-esc); margin:0; }
.parcela small { display:block; font:600 .8rem/1.4 var(--corpo); color:var(--grafite-sv); letter-spacing:.02em; margin-top:.3rem; }

.linhas2 { margin:1.2rem 0; }
.linhas2 div { display:flex; justify-content:space-between; gap:1rem; padding:.55rem 0; border-bottom:1px solid color-mix(in srgb,var(--grafite) 7%,transparent); font-size:.9rem; }
.linhas2 span { color:var(--grafite-sv); }
.linhas2 b { font-weight:600; }

.contra { background:var(--verde-cl); border-radius:10px; padding:.9rem 1rem; font-size:.86rem; line-height:1.5; color:var(--verde-esc); }
.contra b { color:var(--grafite); }

details.fino { margin-top:1.2rem; border-top:1px solid color-mix(in srgb,var(--grafite) 10%,transparent); padding-top:.9rem; }
details.fino > summary { cursor:pointer; font:600 .86rem var(--corpo); color:var(--verde-esc); list-style:none; }
details.fino > summary::-webkit-details-marker{ display:none; }
details.fino > summary::before{ content:"\002B  "; font-weight:700; }
details.fino[open] > summary::before{ content:"\2212  "; }

.dupla { display:grid; grid-template-columns:1fr 1fr; gap:.7rem; margin-top:1rem; }
.dupla .field { margin-bottom:0; }

.capta { margin-top:2rem; background:var(--grafite); color:var(--areia); border-radius:16px; padding:clamp(1.5rem,4vw,2.2rem); }
.capta h3 { color:#fff; }
.capta p { color:#B9C4BE; }
.capta .field label { color:#B9C4BE; }
.capta .field--check label a { color:#BFE6CF; }

.hp { position:absolute; left:-9999px; opacity:0; height:0; }
