:root{
  --bg1:#071226;
  --bg2:#0b1a33;
  --panel: rgba(255,255,255,.06);
  --border: rgba(255,255,255,.08);
  --text:#e9eefb;
  --muted: rgba(233,238,251,.72);
  --muted2: rgba(233,238,251,.55);
  --accent1:#ff2a7a;
  --accent2:#ff5aa6;
  --green:#40e38a;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:"Poppins", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  color:var(--text);
  background:#0c1727;
  -webkit-tap-highlight-color: transparent;
}

/* Top bar */
.topbar{
  position:static;
  height:72px;
  display:flex;
  align-items:center;
  background:#0c1727;
}
.topbar-inner{
  width:100%;
  max-width:980px;
  margin:0 auto;
  padding:0 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.top-logo{height:44px; width:auto}
.top-balance{text-align:right; line-height:1.05}
.top-label{
  display:block;
  font-size:11px;
  letter-spacing:.08em;
  color:rgba(255,255,255,.78);
  font-weight:600;
}
.top-value{font-weight:700; font-size:18px; color:var(--green)}
.top-value .top-amount{font-size:22px}

/* Main layout */
.wrapper{
  min-height:100vh;
  padding:32px 16px 32px;
  display:flex;
  justify-content:center;
}
.step{display:none; width:100%}
.step.active{display:block}

.stack{
  width:100%;
  max-width:420px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:18px;
}

/* Card */
.card{
  width:100%;
  padding:22px 20px;
  border-radius:26px;
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
  border:1px solid var(--border);
  box-shadow: 0 18px 40px rgba(0,0,0,.35);
  backdrop-filter: blur(14px);
}
.eyebrow{margin:0 0 10px; text-align:center; font-weight:600; color:rgba(255,255,255,.88)}
.lead{margin:0 0 14px; text-align:center; color:var(--muted); font-size:14px}
.title{
  margin:14px 0 6px;
  text-align:center;
  font-family:"Montserrat","Poppins",sans-serif;
  font-size:18px;
  line-height:1.25;
}
.subtitle{margin:0 0 14px; text-align:center; color:var(--muted2); font-size:13px; font-weight:500}
.subtitle.sound{margin-top:14px}
.pink-text{color:var(--accent1);}
.blue-text{color:#2f8fff;}

/* Badge */
.badge{
  margin:10px auto 14px;
  width:100%;
  border-radius:16px;
  padding:14px;
  background: rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.08);
  text-align:center;
  color:var(--accent1);
  font-weight:800;
  letter-spacing:.02em;
  text-transform:uppercase;
  font-size:12px;
}
.badge.badge-blue{color:#2f8fff;}
.badge .badge-inner{display:flex; gap:10px; align-items:center; justify-content:center}

/* Buttons */
.btn{
  width:100%;
  border:0;
  cursor:pointer;
  border-radius:18px;
  padding:16px;
  font-weight:700;
  font-size:14px;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}
.btn:active{transform:translateY(1px)}
.btn-icon{height:18px; width:auto}

.btn-gradient{
  background: linear-gradient(90deg, var(--accent1), var(--accent2));
  box-shadow: 0 10px 22px rgba(255,42,122,.22);
}
.btn-gradient:hover{filter:brightness(1.03)}
.btn-green{
  background: linear-gradient(90deg, #24d27c, #17b763);
  box-shadow: 0 10px 22px rgba(36,210,124,.25);
  font-size:15px;
  text-transform:uppercase;
  letter-spacing:.02em;
}
.btn-green:hover{filter:brightness(1.03)}
.btn:disabled{opacity:.55; cursor:not-allowed}

/* Video */
.video-frame{
  width:100%;
  border-radius:22px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.35);
  aspect-ratio: 9 / 16;
  display:flex;
}
.video-frame video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* Q + options */
.question{margin:14px 0 6px; text-align:center; font-weight:600; color:rgba(255,255,255,.92); font-size:14px}
.options{display:flex; justify-content:center; gap:18px; margin-top:10px}
.options-2 .option-card{width:120px}
.options-3 .option-card{width:92px}
.option-card{
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.22);
  border-radius:18px;
  padding:16px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  height:72px;
  transition:transform .06s ease, filter .12s ease;
}
.option-card:hover{filter:brightness(1.05)}
.option-card:active{transform:translateY(1px)}
.option-card img{max-height:36px; width:auto}
.option-card svg{height:40px; width:40px; fill:#fff; opacity:.92}

/* Step 6 - VSL */
.video-embed{margin-top:14px; position:relative}
.vsl-video{width:100%; border-radius:22px; display:block; background:#000; aspect-ratio:9/16; object-fit:cover}
.esconder{
  display:none;
  margin-top:16px;
  text-align:center;
}
.email-group { margin: 20px 0 10px 0; width: 100%; }
.email-input {
  width: 100%;
  padding: 15px;
  border: 2px solid #ddd;
  border-radius: 8px;
  font-size: 16px;
  font-family: 'Poppins', sans-serif;
  outline: none;
  transition: border-color 0.3s;
  text-align: center;
}
.email-input:focus { border-color: #00C853; }
.email-input.error { border-color: #ff4444; background-color: #fff8f8; }

/* Testimonials */
.testimonials{
  display:flex;
  flex-direction:column;
  gap:14px;
  background:#f5f7fb;
  border:1px solid #e5e7eb;
  border-radius:16px;
  padding:16px 18px;
  color:#1f2937;
  box-shadow:0 12px 26px rgba(0,0,0,.10);
}
.comment{
  display:flex;
  gap:12px;
  align-items:flex-start;
}
.avatar{
  width:46px;
  height:46px;
  border-radius:50%;
  object-fit:cover;
  border:1px solid #d1d5db;
}
.bubble{ padding:0; border:none; background:transparent; }
.bubble h4{ margin:0 0 4px; font-size:15px; font-weight:700; color:#111827; }
.bubble p{ margin:0 0 8px; color:#1f2937; font-size:14px; line-height:1.5; }
.meta{ font-size:12px; color:#6b7280; }

/* Garantir bom toque em telas pequenas */
@media (max-width:360px){
  .options-3 .option-card{width:82px; height:64px}
  .options-2 .option-card{width:108px; height:64px}
}
