.curso-hero{padding-top:130px;}
.instructor-note{margin-top:18px;font-size:.85rem;color:var(--text-dim);max-width:480px;}

.modules-list{display:flex;flex-direction:column;gap:24px;max-width:820px;margin:0 auto;}
.module-card{
  position:relative;display:flex;gap:24px;
  background:var(--bg-panel-2);border:1px solid var(--border);border-radius:var(--radius);
  padding:32px;box-shadow:var(--shadow);
}
.module-number{
  flex-shrink:0;font-family:'Poppins';font-size:2.4rem;font-weight:900;
  color:var(--green);opacity:.5;line-height:1;
}
.module-body h3{color:#fff;font-size:1.3rem;margin-bottom:16px;}
.module-topics{display:flex;flex-direction:column;gap:10px;margin-bottom:18px;}
.module-topics li{padding-left:24px;position:relative;font-size:.92rem;color:var(--text);}
.module-topics li::before{content:'✓';position:absolute;left:0;color:var(--green);font-weight:900;}
.module-body blockquote{
  margin:0 0 20px;padding:16px 20px;border-radius:12px;
  background:rgba(43,224,138,0.08);border:1px solid var(--border);
  font-style:italic;color:var(--text-dim);font-size:.9rem;
}
.module-video-slot{
  display:flex;align-items:center;justify-content:center;
  height:64px;border-radius:12px;background:var(--bg-panel);
  border:1.5px dashed var(--border);color:var(--text-dim);font-size:.88rem;font-weight:600;
}

.price-card{
  max-width:520px;margin:0 auto;text-align:center;
  background:var(--bg-panel-2);border:1px solid var(--green);border-radius:var(--radius);
  padding:44px 36px;box-shadow:var(--shadow);
}
.price-card h2{color:#fff;}
.price-amount{font-family:'Poppins';font-size:1.6rem;font-weight:800;color:var(--green);margin-bottom:10px;}

@media (max-width:640px){
  .module-card{flex-direction:column;gap:12px;}
  .module-number{font-size:1.8rem;}
}

/* ---- VSL video blocks (hero + método) ---- */
.vsl-video{
  max-width:820px;margin:36px auto 0;border-radius:var(--radius);overflow:hidden;
  border:1px solid var(--border);box-shadow:var(--shadow);
  background:var(--bg-panel-2);
}
.vsl-video video,.vsl-video iframe{display:block;width:100%;aspect-ratio:16/9;border:none;background:#000;}
.vsl-placeholder{
  aspect-ratio:16/9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;
  background:radial-gradient(ellipse at center, rgba(43,224,138,0.10), transparent 70%), var(--bg-panel-2);
  color:var(--text-dim);
}
.vsl-play{
  width:74px;height:74px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--green),var(--green-strong));color:#03150e;font-size:1.6rem;
  box-shadow:0 8px 24px rgba(43,224,138,0.35);
}
.vsl-placeholder p{margin:0;font-weight:600;color:var(--text-dim);}
.vsl-caption{text-align:center;font-size:.85rem;color:var(--text-dim);max-width:560px;margin:16px auto 0;}

/* ---- Problem agitation list (VSL 1) ---- */
.problem-list{max-width:640px;margin:32px auto 0;display:flex;flex-direction:column;gap:12px;}
.problem-list li{
  padding:14px 20px 14px 44px;position:relative;border-radius:12px;
  background:var(--bg-panel-2);border:1px solid var(--border);color:var(--text);font-size:.95rem;text-align:left;
}
.problem-list li::before{content:'✕';position:absolute;left:18px;color:#ff6b6b;font-weight:900;}

/* ---- Oferta (precio final) ---- */
.oferta-card{
  max-width:640px;margin:0 auto;text-align:center;
  background:var(--bg-panel-2);border:1px solid var(--green);border-radius:var(--radius);
  padding:44px 36px;box-shadow:0 0 0 1px var(--green), var(--shadow);
}
.oferta-card h3{color:#fff;font-size:1.6rem;}
.oferta-price{font-family:'Poppins';font-size:2.8rem;font-weight:800;color:var(--green);margin:10px 0 6px;}
.oferta-price span{font-size:1.1rem;vertical-align:top;margin-right:4px;color:var(--text-dim);}
.oferta-price small{display:block;font-size:.9rem;font-weight:500;color:var(--text-dim);}
.oferta-includes{text-align:left;display:flex;flex-direction:column;gap:10px;margin:26px 0 30px;}
.oferta-includes li{padding-left:28px;position:relative;color:var(--text);font-size:.95rem;}
.oferta-includes li::before{content:'✓';position:absolute;left:0;color:var(--green);font-weight:900;}

/* ---- Lead capture mini-form (dudas antes de comprar) ---- */
.lead-mini{
  max-width:480px;margin:0 auto;background:var(--bg-panel-2);border:1px solid var(--border);
  border-radius:var(--radius);padding:32px;text-align:center;
}
.lead-mini .quiz-fields{display:flex;flex-direction:column;gap:14px;margin-bottom:18px;}
.lead-mini .quiz-fields input{
  padding:15px 18px;border-radius:12px;background:var(--bg-panel);
  border:1.5px solid var(--border);color:var(--text);font-family:inherit;font-size:.95rem;
}
.lead-mini .quiz-fields input:focus{outline:none;border-color:var(--green);}
.lead-mini-sent{display:none;color:var(--green);font-weight:600;}

/* ---- Cupos fundadores (suscripción comunidad) ---- */
.cupos-card{
  max-width:640px;margin:0 auto;text-align:center;position:relative;
  background:var(--bg-panel-2);border:1px solid var(--cyan);border-radius:var(--radius);
  padding:44px 36px;box-shadow:0 0 0 1px var(--cyan), var(--shadow);
}
.cupos-badge{
  display:inline-block;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;
  color:#03150e;background:linear-gradient(135deg,var(--cyan),var(--green));
  padding:6px 16px;border-radius:999px;margin-bottom:16px;
}
.cupos-card h3{color:#fff;font-size:1.3rem;margin-bottom:4px;}
.cupos-progress-wrap{max-width:420px;margin:26px auto;}
.cupos-count{font-size:.9rem;color:var(--text);margin-bottom:10px;}
.cupos-count strong{color:var(--cyan);font-family:'Poppins';font-size:1.2rem;}
.cupos-form .quiz-fields{display:flex;flex-direction:column;gap:14px;margin:20px 0 14px;max-width:420px;margin-left:auto;margin-right:auto;}
.cupos-form .quiz-fields input{
  padding:15px 18px;border-radius:12px;background:var(--bg-panel);
  border:1.5px solid var(--border);color:var(--text);font-family:inherit;font-size:.95rem;
}
.cupos-form .quiz-fields input:focus{outline:none;border-color:var(--cyan);}
.cupos-form .btn{max-width:420px;margin:0 auto;display:flex;}
.cupos-note{font-size:.78rem;color:var(--text-dim);max-width:420px;margin:14px auto 0;}
.cupos-sent,.cupos-agotado{display:none;font-weight:600;margin-top:10px;}
.cupos-sent{color:var(--green);}
.cupos-agotado{color:#ff6b6b;}

/* ---- Registro + avatar picker ---- */
.registro-card{
  max-width:560px;margin:0 auto;text-align:center;
  background:var(--bg-panel-2);border:1px solid var(--green);border-radius:var(--radius);
  padding:40px 34px;box-shadow:var(--shadow);
}
.avatar-picker{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:24px;}
.avatar-opt{
  width:52px;height:52px;border-radius:50%;font-size:1.4rem;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  background:var(--bg-panel);border:2px solid var(--border);transition:all .15s ease;
}
.avatar-opt:hover{border-color:var(--green);transform:translateY(-2px);}
.avatar-opt.selected{border-color:var(--green);background:rgba(43,224,138,0.15);box-shadow:0 0 0 3px rgba(43,224,138,0.25);}
.registro-fields{display:flex;flex-direction:column;gap:14px;margin-bottom:22px;}
.registro-fields input{
  padding:15px 18px;border-radius:12px;background:var(--bg-panel);
  border:1.5px solid var(--border);color:var(--text);font-family:inherit;font-size:.95rem;
}
.registro-fields input:focus{outline:none;border-color:var(--green);}
.registro-error{color:#ff6b6b;font-size:.85rem;margin-top:14px;min-height:1em;}

.perfil-card{
  max-width:560px;margin:0 auto;display:flex;align-items:center;gap:20px;
  background:var(--bg-panel-2);border:1px solid var(--green);border-radius:var(--radius);
  padding:26px 30px;box-shadow:var(--shadow);
}
.perfil-avatar{
  width:64px;height:64px;border-radius:50%;font-size:1.8rem;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:rgba(43,224,138,0.15);border:2px solid var(--green);
}
.perfil-info{display:flex;flex-direction:column;gap:4px;}
.perfil-info strong{color:#fff;font-size:1.1rem;}
.perfil-info span{color:var(--text-dim);font-size:.88rem;}

/* ---- Module lock overlay ---- */
.module-lock-overlay{
  display:none;position:absolute;inset:0;z-index:5;border-radius:var(--radius);
  flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:20px;
  background:rgba(6,15,12,0.88);backdrop-filter:blur(3px);
}
.module-card.locked .module-lock-overlay{display:flex;}
.module-lock-overlay span{font-size:2rem;}
.module-lock-overlay p{margin:0;color:var(--text-dim);font-weight:600;max-width:280px;}

/* ---- Module trivia mini-game ---- */
.module-game{margin-top:18px;}
.game-start-btn{
  padding:12px 22px;border-radius:999px;background:transparent;border:1.5px solid var(--green);
  color:var(--green);font-weight:700;font-size:.88rem;cursor:pointer;font-family:inherit;
}
.game-start-btn:hover{background:rgba(43,224,138,0.1);}
.game-done{
  display:flex;align-items:center;gap:10px;padding:14px 18px;border-radius:12px;
  background:rgba(43,224,138,0.1);border:1px solid var(--green);color:var(--green);font-weight:600;font-size:.9rem;
}
.trivia-box{
  background:var(--bg-panel);border:1.5px solid var(--border);border-radius:14px;padding:22px;margin-top:14px;
}
.trivia-question{margin-bottom:16px;}
.trivia-question p{color:#fff;font-weight:700;margin-bottom:12px;font-size:.95rem;}
.trivia-options{display:flex;flex-direction:column;gap:8px;}
.trivia-options button{
  text-align:left;padding:12px 16px;border-radius:10px;background:var(--bg-panel-2);
  border:1.5px solid var(--border);color:var(--text);font-family:inherit;font-size:.88rem;cursor:pointer;
}
.trivia-options button:hover:not(:disabled){border-color:var(--green);}
.trivia-options button.correct{border-color:var(--green);background:rgba(43,224,138,0.15);color:var(--green);}
.trivia-options button.incorrect{border-color:#ff6b6b;background:rgba(255,107,107,0.12);color:#ff6b6b;}
.trivia-options button:disabled{cursor:default;opacity:.7;}
.trivia-result{text-align:center;padding:16px;color:var(--green);font-weight:700;}
.coin-toast{
  position:fixed;top:90px;left:50%;transform:translateX(-50%);z-index:200;
  background:linear-gradient(135deg,var(--green),var(--green-strong));color:#03150e;
  padding:14px 28px;border-radius:999px;font-weight:800;font-size:.95rem;
  box-shadow:0 10px 30px rgba(43,224,138,0.4);animation:coinPop .4s ease;
}
@keyframes coinPop{from{opacity:0;transform:translateX(-50%) translateY(-10px);}to{opacity:1;transform:translateX(-50%) translateY(0);}}

/* ---- Ranking ---- */
.ranking-list{max-width:640px;margin:0 auto;display:flex;flex-direction:column;gap:10px;}
.ranking-row{
  display:flex;align-items:center;gap:16px;padding:14px 20px;border-radius:14px;
  background:var(--bg-panel-2);border:1px solid var(--border);
}
.ranking-row.me{border-color:var(--green);background:rgba(43,224,138,0.08);}
.ranking-pos{font-family:'Poppins';font-weight:900;font-size:1.1rem;color:var(--text-dim);width:28px;}
.ranking-avatar{
  width:40px;height:40px;border-radius:50%;font-size:1.2rem;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;background:var(--bg-panel);border:1.5px solid var(--border);
}
.ranking-name{flex:1;color:var(--text);font-weight:600;font-size:.92rem;}
.ranking-coins{color:var(--green);font-weight:800;font-size:.92rem;}

@media (max-width:640px){
  .perfil-card{flex-direction:column;text-align:center;}
}
