/* Overlay de planos premium — dourado = pago, verde = caminho 100% grátis (engajamento). */
.plans-backdrop {
  position:fixed; inset:0; z-index:200;
  background:rgba(5,4,2,.72); backdrop-filter:blur(4px);
  display:flex; align-items:flex-start; justify-content:center;
  padding:3vh 1rem; overflow-y:auto;
}
.plans-modal {
  position:relative; width:100%; max-width:980px;
  background:linear-gradient(180deg, var(--preto2), var(--painel));
  border:1px solid var(--dourado); border-radius:18px;
  padding:2.2rem 2rem; box-shadow:0 24px 80px rgba(0,0,0,.6);
  animation:plansIn .25s ease-out;
}
@keyframes plansIn { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:none; } }
.plans-close {
  position:absolute; top:.9rem; right:1rem;
  background:transparent; border:0; color:var(--texto-fraco);
  font-size:1.3rem; cursor:pointer; line-height:1;
}
.plans-close:hover { color:var(--texto); }
.plans-back {
  background:var(--painel); border:1px solid var(--borda); color:var(--texto);
  border-radius:8px; padding:.4rem .85rem; cursor:pointer; font-weight:600; margin-bottom:.6rem;
}
.plans-back:hover { border-color:var(--dourado); color:var(--dourado); }

.plans-eyebrow { text-transform:uppercase; letter-spacing:.18em; font-size:.72rem; color:var(--dourado); font-weight:700; }
.plans-title { font-size:2rem; line-height:1.12; margin:.4rem 0 .5rem; font-weight:800; letter-spacing:-.01em; }
.plans-sub { color:var(--texto-fraco); font-size:.9rem; }

/* Signature: o preço caindo a zero pelo engajamento */
.plans-free {
  margin:1.6rem 0; padding:1.4rem; border:1px solid var(--verde); border-radius:14px;
  background:linear-gradient(180deg, rgba(39,194,129,.08), transparent);
  box-shadow:inset 0 0 26px rgba(39,194,129,.10);
}
.plans-free-title { color:var(--verde); font-size:1.15rem; text-align:center; }
.meter { display:flex; align-items:center; justify-content:center; gap:1rem; margin-top:1rem; font-weight:800; }
.meter-from { color:var(--texto-fraco); text-decoration:line-through; font-size:1.35rem; }
.meter-arrow { color:var(--dourado); font-size:1.5rem; }
.meter-to { color:var(--verde); font-size:2.4rem; text-shadow:0 0 18px rgba(39,194,129,.6); }
.meter-cap { color:var(--texto-fraco); font-size:.85rem; text-align:center; margin:.9rem auto 0; max-width:60ch; }
.steps { list-style:none; counter-reset:s; display:grid; gap:.6rem; margin-top:1.1rem; }
.steps li { counter-increment:s; position:relative; padding-left:2.3rem; color:var(--texto-fraco); font-size:.9rem; }
.steps li b { color:var(--texto); }
.steps li::before {
  content:counter(s); position:absolute; left:0; top:0;
  width:1.5rem; height:1.5rem; border-radius:50%;
  background:var(--verde); color:var(--preto-puro);
  font-weight:800; font-size:.78rem; display:grid; place-items:center;
}

.plans-paid { margin-top:1.4rem; }
.plans-paid-title { font-size:1.15rem; text-align:center; }
.tier-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(150px,1fr)); gap:.8rem; margin-top:1.1rem; }
.tier {
  position:relative; display:flex; flex-direction:column; gap:.3rem;
  border:1px solid var(--borda); border-radius:12px; padding:1.2rem 1rem;
  background:var(--preto2); text-align:center;
}
.tier-pop { border-color:var(--dourado); box-shadow:0 0 0 1px var(--dourado), 0 8px 30px rgba(201,162,39,.18); }
.tier-badge {
  position:absolute; top:-.7rem; left:50%; transform:translateX(-50%);
  background:var(--dourado); color:var(--preto-puro);
  font-size:.6rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase;
  padding:.18rem .55rem; border-radius:999px; white-space:nowrap;
}
.tier-name { font-size:.95rem; color:var(--texto); }
.tier-tagline { font-size:.72rem; color:var(--dourado-claro); font-style:italic; min-height:2.1rem; line-height:1.25; }
.tier-price { font-size:1.7rem; font-weight:800; color:var(--dourado-claro); }
.tier-unit { font-size:.78rem; color:var(--texto-fraco); font-weight:600; }
.tier-total { font-size:.72rem; color:var(--texto-fraco); }
.tier-save { font-size:.72rem; color:var(--verde); font-weight:700; }
.tier-save-zero { color:var(--texto-fraco); font-weight:500; }
.tier-cta { margin-top:.55rem; background:var(--dourado); color:var(--preto-puro); border:0; border-radius:8px; padding:.5rem; font-weight:800; cursor:pointer; }
.tier-cta:hover { background:var(--dourado-claro); }
.tier-pop .tier-cta { box-shadow:0 0 14px rgba(201,162,39,.4); }

/* Select em destaque (o nº 1) */
.tier-select { border-color:var(--dourado); box-shadow:0 0 0 1px var(--dourado), 0 10px 34px rgba(201,162,39,.24); }
.tier-badge-top { background:linear-gradient(90deg,#e3c24f,#C9A227); }

/* Lista de recursos por plano (escada de benefícios) */
.tier-recursos { list-style:none; margin:.6rem 0 .3rem; padding:0; display:grid; gap:.42rem; text-align:left; }
.tier-rec { font-size:.72rem; color:var(--texto-fraco); line-height:1.3; padding-left:1.05rem; position:relative; }
.tier-rec::before { content:'✓'; position:absolute; left:0; top:0; color:var(--verde); font-weight:800; }
.tier-rec.rec-soon::before { content:'⏳'; }
.rec-soon-badge { display:inline-block; font-size:.58rem; color:var(--dourado); border:1px solid var(--dourado); border-radius:4px; padding:0 .25rem; margin-left:.28rem; vertical-align:middle; white-space:nowrap; }

/* Âncora de valor (concorrentes × nosso Select) */
.plans-ancora { margin:1.5rem 0 .3rem; padding:1.2rem 1.1rem; border:1px solid var(--dourado); border-radius:14px; background:linear-gradient(180deg, rgba(201,162,39,.10), transparent); }
.plans-ancora-title { text-align:center; font-size:1.12rem; margin-bottom:.3rem; color:var(--dourado-claro); }
.plans-ancora-lead { text-align:center; color:var(--texto-fraco); font-size:.82rem; margin-bottom:.6rem; }
.ancora-tab { width:100%; border-collapse:collapse; font-size:.85rem; }
.ancora-tab td { padding:.5rem .5rem; border-bottom:1px solid var(--borda); }
.ancora-tab tr:last-child td { border-bottom:0; }
.ancora-price { text-align:right; color:var(--texto-fraco); text-decoration:line-through; white-space:nowrap; }
.ancora-nos td { color:var(--texto); font-weight:800; font-size:.95rem; }
.ancora-nos .ancora-price { color:var(--verde); text-decoration:none; }
.plans-ancora-cap { text-align:center; color:var(--texto); font-size:.95rem; margin-top:.8rem; font-weight:700; }
.plans-ancora-cap b { color:var(--verde); }
.plans-ancora-curso { text-align:center; color:var(--texto); font-size:.9rem; margin:.7rem auto 0; max-width:60ch;
  padding:.7rem .9rem; border:1px solid var(--verde); border-radius:12px;
  background:linear-gradient(180deg, rgba(39,194,129,.12), transparent); }
.plans-ancora-curso b { color:var(--verde); }

.plans-illustr { font-size:.72rem; color:var(--texto-fraco); text-align:center; margin-top:.8rem; }
.plans-trial { text-align:center; margin-top:.4rem; color:var(--texto); font-size:.9rem; }
.plans-foot { margin-top:1.4rem; padding-top:.9rem; border-top:1px solid var(--borda); font-size:.68rem; color:var(--texto-fraco); text-align:center; }
.plans-status { text-align:center; color:var(--verde); font-size:.82rem; margin-top:.6rem; min-height:1rem; }

/* Avisão de engajamento: estude → desconto até 50% (.engage-80 = só nome de estilo) */
.engage-banner {
  margin:1.6rem 0; padding:1.5rem 1.3rem; border:1px solid var(--verde); border-radius:14px;
  background:linear-gradient(180deg, rgba(39,194,129,.12), transparent);
  box-shadow:inset 0 0 30px rgba(39,194,129,.12); text-align:center;
}
.engage-title { font-size:1.4rem; color:var(--texto); margin:0 0 .4rem; }
.engage-80 { color:var(--verde); text-shadow:0 0 16px rgba(39,194,129,.55); }
.engage-sub { color:var(--texto-fraco); font-size:.9rem; max-width:62ch; margin:0 auto .9rem; }
.engage-grid { display:grid; grid-template-columns:repeat(4, 1fr); gap:.6rem; margin:.6rem 0; }
.engage-card { display:flex; flex-direction:column; align-items:center; gap:.1rem; border:1px solid var(--borda); border-radius:10px; padding:.7rem .4rem; background:var(--preto2); }
.engage-v { font-size:1.5rem; font-weight:800; color:var(--texto); }
.engage-vl { font-size:.65rem; color:var(--texto-fraco); }
.engage-off { font-size:1.1rem; font-weight:800; color:var(--verde); margin-top:.2rem; }
.engage-cap { color:var(--texto-fraco); font-size:.82rem; margin:.6rem auto 0; max-width:62ch; }
.engage-note { margin:.9rem auto 0; max-width:62ch; text-align:left; background:var(--preto2); border:1px solid var(--borda); border-left:3px solid var(--verde); border-radius:10px; padding:.8rem 1rem; }
.engage-note p { margin:.35rem 0; font-size:.84rem; color:var(--texto-fraco); }
.engage-note b { color:var(--texto); }

/* Seletor de período */
.billing-row { display:flex; flex-wrap:wrap; gap:.4rem; justify-content:center; margin-top:1rem; }
.billing-btn { background:var(--preto2); border:1px solid var(--borda); color:var(--texto-fraco); border-radius:999px; padding:.4rem .9rem; cursor:pointer; font-size:.82rem; }
.billing-btn:hover { border-color:var(--dourado); color:var(--texto); }
.billing-btn.on { background:var(--dourado); color:var(--preto-puro); border-color:var(--dourado); font-weight:700; }
.billing-btn .billing-off { color:var(--verde); font-weight:800; }
.billing-btn.on .billing-off { color:var(--preto-puro); }
.tier-was { font-size:.85rem; color:var(--texto-fraco); text-decoration:line-through; margin:0; }

/* Tabela comparativa: cheio × estudando */
.comparo { margin-top:1.6rem; }
.comparo-title { font-size:1.05rem; text-align:center; margin-bottom:.7rem; }
.comparo-tab { width:100%; border-collapse:collapse; font-size:.86rem; }
.comparo-tab th, .comparo-tab td { padding:.55rem .6rem; border-bottom:1px solid var(--borda); text-align:left; }
.comparo-tab th { color:var(--texto-fraco); font-weight:600; font-size:.76rem; text-transform:uppercase; letter-spacing:.04em; }
.comparo-al { color:var(--texto-fraco); font-size:.72rem; }
.comparo-cheio { color:var(--texto-fraco); text-decoration:line-through; }
.comparo-desc { color:var(--verde); font-weight:800; }
.comparo-cap { color:var(--texto-fraco); font-size:.82rem; text-align:center; margin-top:.7rem; }

@media (max-width:480px) { .plans-title { font-size:1.5rem; } .plans-modal { padding:1.6rem 1.1rem; } .engage-grid { grid-template-columns:repeat(2,1fr); } }
@media (prefers-reduced-motion: reduce) { .plans-modal { animation:none; } }

/* Modal de login/cadastro (Opção B) — centralizado, cara de página de cadastro.
   Fica no plans.css porque home E plataforma carregam este arquivo. */
.auth-overlay { position:fixed; inset:0; background:rgba(0,0,0,.8); backdrop-filter:blur(7px); z-index:120;
  display:flex; align-items:center; justify-content:center; padding:1rem; animation:authFade .2s ease-out; }
.auth-modal { position:relative; width:min(400px,94vw); background:var(--preto2); border:1px solid var(--dourado);
  border-radius:16px; padding:1.9rem 1.6rem; color:var(--texto);
  box-shadow:0 30px 90px rgba(0,0,0,.7), 0 0 0 1px rgba(201,162,39,.25), 0 0 60px rgba(201,162,39,.12);
  animation:authPop .26s cubic-bezier(.2,.9,.3,1.2); }
@keyframes authFade { from{ opacity:0; } to{ opacity:1; } }
@keyframes authPop { from{ opacity:0; transform:translateY(16px) scale(.95); } to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion: reduce){ .auth-overlay, .auth-modal{ animation:none; } }
.auth-x { position:absolute; top:.8rem; right:.9rem; background:transparent; border:0; color:var(--texto-fraco); font-size:1.2rem; cursor:pointer; line-height:1; }
.auth-x:hover { color:var(--texto); }
.auth-title { margin:0 0 .2rem; font-size:1.4rem; text-align:center; }
.auth-sub { color:var(--texto-fraco); font-size:.85rem; margin:.2rem 0 1.1rem; text-align:center; }
.auth-google { width:100%; background:#fff; color:#222; border:0; border-radius:8px; padding:.65rem; font-weight:700; cursor:pointer; margin-bottom:.7rem; }
.auth-google:hover { filter:brightness(.96); }
.auth-ou { text-align:center; color:var(--texto-fraco); font-size:.78rem; margin:.3rem 0 .8rem; }
.auth-in { width:100%; box-sizing:border-box; background:var(--painel); border:1px solid var(--borda); color:var(--texto); border-radius:8px; padding:.7rem .8rem; margin-bottom:.6rem; font-size:.95rem; }
.auth-in:focus { outline:none; border-color:var(--dourado); }
.auth-cta { width:100%; background:var(--dourado); color:var(--preto-puro); border:0; border-radius:8px; padding:.7rem; font-weight:800; cursor:pointer; margin-top:.2rem; }
.auth-cta:hover { filter:brightness(1.08); }
.auth-msg { min-height:1.2em; margin:.6rem 0 0; font-size:.82rem; color:var(--vermelho); text-align:center; }
.auth-msg.ok { color:var(--verde); }
.auth-links { display:flex; justify-content:center; margin-top:1rem; }
.auth-links a { color:var(--dourado); font-size:.85rem; cursor:pointer; }

/* Toast "em breve" (Opção A de lançamento) — cores fixas p/ funcionar em qualquer página */
.cc-toast{ position:fixed; left:50%; bottom:4.6rem; transform:translateX(-50%) translateY(10px);
  background:#C9A227; color:#0b0e13; padding:.6rem 1.1rem; border-radius:999px; font-weight:800; font-size:.9rem;
  box-shadow:0 8px 30px rgba(0,0,0,.35); opacity:0; pointer-events:none; z-index:100; white-space:nowrap;
  transition:opacity .2s, transform .2s; }
.cc-toast.show{ opacity:1; transform:translateX(-50%) translateY(0); }
