/* ===== SemanaDeEstudo Checkout — Premium ===== */
:root{
  --bg:#0b1220;
  --text:#e5e7eb;
  --muted:#9ca3af;
  --primary:#38bdf8;
  --shadow:0 14px 50px rgba(0,0,0,.45);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial;
  background:
    radial-gradient(1200px 600px at 20% 0%, rgba(56,189,248,.16), transparent 60%),
    radial-gradient(900px 500px at 90% 10%, rgba(34,197,94,.10), transparent 55%),
    var(--bg);
  color:var(--text);
}
a{color:inherit}
.wrap{max-width:1100px;margin:0 auto;padding:0 18px}

/* Topbar */
.topbar{
  position:sticky;top:0;z-index:50;
  background:linear-gradient(180deg, rgba(11,18,32,.95), rgba(11,18,32,.65));
  border-bottom:1px solid rgba(31,41,55,.65);
  backdrop-filter: blur(10px);
}
.topbarInner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0}
.brand{display:flex;gap:12px;align-items:center;text-decoration:none}
.brandIcon{width:38px;height:38px;border-radius:12px;box-shadow:0 10px 25px rgba(0,0,0,.35)}
.brandName{font-weight:950;letter-spacing:-.02em}
.brandTag{font-size:12px;color:var(--muted);margin-top:2px}

.nav{display:flex;gap:12px;flex-wrap:wrap}
.navLink{font-size:13px;color:rgba(229,231,235,.85);text-decoration:none;padding:8px 10px;border-radius:12px;border:1px solid transparent}
.navLink:hover{border-color:rgba(56,189,248,.25);background:rgba(17,24,39,.35)}

.topCtas{display:flex;gap:10px;align-items:center;flex-wrap:wrap}

/* Buttons + inputs */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border-radius:14px;border:1px solid rgba(31,41,55,.95);
  background:rgba(17,24,39,.55);
  color:var(--text);padding:10px 14px;font-weight:900;
  text-decoration:none;cursor:pointer;user-select:none;
  transition:transform .12s ease, background .12s ease, border-color .12s ease, box-shadow .12s ease;
}
.btn:hover{transform:translateY(-1px);border-color:rgba(56,189,248,.35);box-shadow:0 10px 30px rgba(0,0,0,.35)}
.btn:active{transform:translateY(0)}
.btn.primary{background:rgba(56,189,248,.18);border-color:rgba(56,189,248,.65)}
.btn.primary:hover{background:rgba(56,189,248,.25);border-color:rgba(56,189,248,.8)}
.btn.ghost{background:transparent}
.btn.big{padding:14px 16px;border-radius:16px}
.btn.w100{width:100%}
.btn:disabled{opacity:.7;cursor:not-allowed}

.input{
  width:100%;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(31,41,55,.95);
  background:rgba(17,24,39,.55);
  color:var(--text);
  outline:none;
}
.input:focus{border-color:rgba(56,189,248,.65);box-shadow:0 0 0 4px rgba(56,189,248,.12)}
.input::placeholder{color:rgba(156,163,175,.8)}

.hidden{display:none}

/* Sections */
.section{padding:54px 0}
h1{font-size:44px;line-height:1.05;margin:12px 0 12px;font-weight:1000;letter-spacing:-.03em}
h2{font-size:28px;margin:0 0 6px;font-weight:950;letter-spacing:-.02em}
h3{margin:0 0 6px;font-weight:900;letter-spacing:-.01em}
p{margin:0 0 12px;color:rgba(229,231,235,.9)}
.muted{color:var(--muted)}
.accent{color:var(--primary)}

.card{
  background:rgba(15,26,46,.78);
  border:1px solid rgba(31,41,55,.85);
  border-radius:18px;
  box-shadow:var(--shadow);
  backdrop-filter: blur(10px);
}

/* Hero */
.hero{padding:44px 0 18px}
.heroGrid{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;align-items:center}
.pill{
  display:inline-flex;gap:8px;align-items:center;
  padding:8px 12px;border-radius:999px;
  background:rgba(56,189,248,.12);
  border:1px solid rgba(56,189,248,.35);
  color:rgba(229,231,235,.95);
  font-weight:800;
  font-size:13px;
}
.lead{font-size:16px;color:rgba(229,231,235,.88);max-width:58ch}
.heroPoints{display:grid;grid-template-columns:1fr;gap:8px;margin:16px 0}
.point{color:rgba(229,231,235,.92)}
.heroCtas{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0 10px}
.trustRow{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px}
.trust{font-size:13px;color:rgba(229,231,235,.85)}
.noteSmall{font-size:12px;color:rgba(156,163,175,.95);margin-top:10px}

.shotCard{border-radius:20px;overflow:hidden;border:1px solid rgba(31,41,55,.85);background:rgba(15,26,46,.75)}
.shot{width:100%;display:block}
.shotCaption{padding:12px 14px}
.shotTitle{font-weight:950}
.shotSub{font-size:12px;color:var(--muted);margin-top:2px}

/* Shots grid */
.shotsGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}
.cardBody{padding:14px 14px 16px}
.shotTall{border-bottom:1px solid rgba(31,41,55,.75)}

/* Pricing */
.pricingHead{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap}
.badge{
  padding:8px 12px;border-radius:999px;font-weight:900;
  background:rgba(34,197,94,.12);
  border:1px solid rgba(34,197,94,.35);
  color:rgba(229,231,235,.95);
}

.pricingGrid{display:grid;grid-template-columns:1fr 1.2fr;gap:14px;margin-top:16px}
.priceCard{padding:18px;border-radius:18px;background:rgba(15,26,46,.78);border:1px solid rgba(31,41,55,.85);box-shadow:var(--shadow)}
.priceCard.pro{background:linear-gradient(180deg, rgba(56,189,248,.10), rgba(15,26,46,.78))}
.priceTop{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:4px 10px;align-items:end;margin-bottom:10px}
.plan{font-weight:950}
.price{font-size:36px;font-weight:1000;letter-spacing:-.02em}
.per{grid-column:2/3;color:var(--muted);font-size:12px;margin-bottom:4px;justify-self:start}
.list{margin:10px 0 14px;padding-left:18px;color:rgba(229,231,235,.92);line-height:1.7}
.formBox{padding-top:6px}
.fieldLabel{display:block;margin:10px 0 6px;color:rgba(229,231,235,.88);font-weight:800}
.actionsRow{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}
.actionsRow .btn{flex:1;min-width:210px}
.miniInfo{margin-top:10px;font-size:12px;color:var(--muted)}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}
.step{display:flex;gap:12px;padding:16px}
.stepNum{
  width:34px;height:34px;border-radius:12px;
  display:grid;place-items:center;
  background:rgba(56,189,248,.16);
  border:1px solid rgba(56,189,248,.4);
  font-weight:950;
}
.callout{padding:16px;margin-top:12px;color:rgba(229,231,235,.9)}

/* FAQ */
.faq{display:grid;gap:10px;margin-top:14px}
details{padding:14px}
summary{cursor:pointer;font-weight:900}
.faqBody{margin-top:10px;color:rgba(229,231,235,.88);line-height:1.6}
.footerNote{margin-top:18px;padding-top:14px;border-top:1px solid rgba(31,41,55,.7);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

/* Loading spinner for buttons */
.btn.isLoading{pointer-events:none}
.spinner{
  width:14px;height:14px;border-radius:999px;
  border:2px solid rgba(229,231,235,.35);
  border-top-color: rgba(229,231,235,1);
  display:inline-block;
  animation: spin .8s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}

/* Responsive */
@media (max-width: 960px){
  .heroGrid{grid-template-columns:1fr}
  h1{font-size:38px}
  .shotsGrid{grid-template-columns:1fr}
  .pricingGrid{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .nav{display:none}
}
