/* 3X3 — Simulador rápido de preço (antes do Step 1) */
.tx-sim{
  background:#fff; border:1px solid #e7ecf3; border-radius:14px;
  padding:1.5rem 1.4rem; margin:0 auto 1.25rem; max-width:1080px;
  box-shadow: 0 8px 28px rgba(6,59,102,.08);
}
.tx-sim-head{ margin-bottom:1rem; }
.tx-sim-head h2{
  font-weight:900; font-size:1.4rem; color:#063b66; margin:0 0 .25rem;
  display:flex; align-items:center; gap:.5rem;
}
.tx-sim-head h2 i{ color:#fbbf24; }
.tx-sim-head p{ color:#6c757d; margin:0; font-size:.95rem; line-height:1.4; }
.tx-sim-grid{
  display:grid; gap:12px;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}
.tx-sim-card{
  background:#fff; border:2px solid #e7ecf3; border-radius:12px;
  padding:1.1rem .8rem .9rem;
  text-align:center; cursor:pointer;
  transition: all .2s;
  position:relative; user-select:none;
}
.tx-sim-card:hover{
  border-color:#028AFD; transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(2,138,253,.18);
}
.tx-sim-card.active{
  border-color:#028AFD; background: linear-gradient(180deg,#eaf2fb 0%, #fff 100%);
  box-shadow: 0 10px 24px rgba(2,138,253,.22);
}
.tx-sim-card .num{
  font-size:2.2rem; font-weight:900; color:#063b66; line-height:1;
  margin-bottom:.25rem;
}
.tx-sim-card .lbl{
  color:#6c757d; font-size:.85rem; line-height:1.3; min-height:2.2em;
  display:flex; align-items:center; justify-content:center;
}
.tx-sim-card .clicar{
  display:inline-block; margin-top:.5rem;
  background:#fbbf24; color:#063b66; font-weight:800;
  padding:6px 12px; border-radius:999px; font-size:.78rem;
  letter-spacing:.5px;
}
.tx-sim-card.revealed .clicar{ display:none; }
.tx-sim-card .preco{
  display:none; margin-top:.5rem;
  color:#0a6b3a; font-weight:900; font-size:1.5rem; line-height:1;
}
.tx-sim-card .por-pessoa{
  display:none; color:#6c757d; font-size:.75rem; margin-top:2px;
}
.tx-sim-card.revealed .preco,
.tx-sim-card.revealed .por-pessoa{ display:block; animation: tx-sim-pop .35s ease-out; }
@keyframes tx-sim-pop{
  0% { opacity:0; transform: translateY(8px); }
  100% { opacity:1; transform: translateY(0); }
}

/* Painel de resultado */
.tx-sim-result{
  display:none; margin-top:1rem; padding:1rem 1.1rem;
  background: linear-gradient(135deg, #d3f9d8 0%, #ebfbee 100%);
  border:1px solid #20c45c; border-radius:10px;
  align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap;
}
.tx-sim-result.show{ display:flex; }
.tx-sim-result .info{ flex:1; min-width:200px; }
.tx-sim-result .info b{ color:#0a6b3a; font-size:1.05rem; display:block; }
.tx-sim-result .info span{ color:#085a31; font-size:.9rem; }
.tx-sim-result .cta{
  background: linear-gradient(135deg,#028AFD,#063b66);
  color:#fff; padding:12px 22px; border-radius:10px; font-weight:800;
  border:0; cursor:pointer; text-decoration:none; white-space:nowrap;
  box-shadow: 0 6px 18px rgba(2,138,253,.4);
  transition: transform .15s, box-shadow .15s;
}
.tx-sim-result .cta:hover{
  color:#fff; transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(2,138,253,.55);
}

@media (max-width:600px){
  .tx-sim{ padding:1.1rem 1rem; }
  .tx-sim-head h2{ font-size:1.15rem; }
  .tx-sim-card .num{ font-size:1.8rem; }
}

/* Bônus Casal — aparece quando faixa 2 está ativa */
.tx-sim-casal{
  display:none; margin-top:.85rem; padding:1rem 1.1rem;
  background: linear-gradient(135deg,#fce4ec 0%, #fff0f5 100%);
  border:2px solid #e91e63; border-radius:12px;
  position:relative; overflow:hidden;
}
.tx-sim-casal.show{ display:block; animation: tx-sim-pop .35s ease-out; }
.tx-sim-casal::before{
  content:'💝'; position:absolute; top:-12px; right:-12px;
  font-size:3rem; opacity:.18; transform:rotate(15deg); pointer-events:none;
}
.tx-sim-casal-head{ display:flex; gap:.7rem; align-items:flex-start; margin-bottom:.6rem; }
.tx-sim-casal-icon{
  flex:0 0 42px; height:42px; border-radius:50%;
  background:linear-gradient(135deg,#e91e63,#f06292);
  color:#fff; display:grid; place-items:center; font-size:1.3rem;
  box-shadow: 0 4px 12px rgba(233,30,99,.35);
}
.tx-sim-casal h4{
  margin:0; font-weight:900; color:#880e4f; font-size:1.05rem;
}
.tx-sim-casal .sub{
  margin:2px 0 0; color:#ad1457; font-size:.85rem; line-height:1.4;
}
.tx-sim-casal label{
  display:flex; align-items:center; gap:10px; cursor:pointer;
  background:#fff; padding:10px 14px; border-radius:10px;
  border:2px solid #e91e63; transition: background .15s;
}
.tx-sim-casal label:hover{ background:#fff5f8; }
.tx-sim-casal label input{
  width:22px; height:22px; accent-color:#e91e63; flex-shrink:0;
}
.tx-sim-casal label span{
  color:#880e4f; font-weight:700; font-size:.92rem;
}
.tx-sim-casal label.marked{
  background: linear-gradient(135deg,#fce4ec,#f8bbd0);
}
.tx-sim-casal label.marked span::after{
  content:' ✓'; color:#0a6b3a; font-weight:900;
}
