
:root{
  --bg:#0f1724;
  --panel:#121c2b;
  --muted:#9fb3c8;
  --text:#e9f0ff;
  --brand:#39a7ff;
  --brand-2:#8aa4ff;
  --glow:0 0 0 1px rgba(92,136,255,.12), 0 0 40px rgba(92,136,255,.08);
  --radius:18px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:radial-gradient(1200px 600px at 70% -200px,#1a2740,transparent),linear-gradient(180deg,#0c1320,#0d1422 45%,#0b1220 100%);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}
a{color:var(--brand);text-decoration:none}
.container{max-width:1100px;margin:0 auto;padding:16px}
.header{position:sticky;top:0;backdrop-filter:saturate(140%) blur(10px);background:rgba(9,14,24,.6);border-bottom:1px solid rgba(255,255,255,.06);z-index:30}
.header .inner{display:flex;align-items:center;gap:18px;min-height:74px}
.site-logo img{height:96px;display:block}
.nav{margin-left:auto;display:flex;gap:14px}
.nav a{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.04);box-shadow:var(--glow);color:var(--text)}
.nav a:hover{background:rgba(255,255,255,.08)}
.hero{background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));padding:28px;border-radius:var(--radius);box-shadow:var(--glow);margin:24px 0}
h1{font-size:44px;line-height:1.1;margin:0 0 12px}
h1 strong{background:linear-gradient(90deg,var(--brand),var(--brand-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{color:var(--muted)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:16px}
.stat{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:18px;box-shadow:var(--glow)}
.stat .big{font-size:26px;font-weight:800}
.btn{display:inline-flex;align-items:center;gap:10px;background:linear-gradient(180deg,#3aa4ff,#357dff);color:white;border:none;border-radius:12px;padding:12px 16px;box-shadow:0 8px 24px rgba(42,133,255,.25);cursor:pointer}
.btn.secondary{background:rgba(255,255,255,.05);color:var(--text)}
.section{margin:36px 0}
.card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius);box-shadow:var(--glow);padding:20px}
.builder-locked{position:relative;opacity:.45;pointer-events:none;filter:grayscale(20%)}
.lock-banner{display:flex;justify-content:space-between;align-items:center;background:rgba(56,102,255,.09);border:1px dashed rgba(140,170,255,.5);padding:16px;border-radius:12px;margin-bottom:16px}
.lock-banner .btn{pointer-events:auto}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.compare .col{border-radius:14px;padding:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);box-shadow:var(--glow)}
.compare h3{margin:8px 0 12px}
ul.clean{list-style: none; padding:0;margin:0}
ul.clean li{margin:8px 0;padding-left:26px;position:relative;color:#cfe2ff}
ul.clean li::before{content:"✓";position:absolute;left:0;color:#58ffaf}
ul.bad li{color:#ffb7b7}
ul.bad li::before{content:"×";color:#ff7d7d}
.pricing .plan{display:flex;flex-direction:column;gap:12px}
.price{font-size:32px;font-weight:900}
.badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1)}
.disabled{opacity:.6;cursor:not-allowed}
.footer{color:#a6b4cc;margin:36px 0;text-align:center}
input,textarea{width:100%;padding:12px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.02);color:var(--text)}
label{font-size:14px;color:#c4d1e6}
form .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.small{font-size:13px;color:#9ab0c8}
@media (max-width:900px){
  .site-logo img{height:72px}
  .grid-2,.grid-3,.stats{grid-template-columns:1fr}
  h1{font-size:34px}
}


/* Lock everything inside the builder when not signed */
.builder-locked, .builder-locked * { pointer-events: none !important; }
.builder-locked input, .builder-locked textarea, .builder-locked button, .builder-locked select {
  filter: grayscale(45%);
  opacity: 0.65;
}


/* Extra overlay when locked */
.builder-locked::after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(10,16,25,.35);
  border-radius:inherit;
  pointer-events:none;
}


/* --- Strong overlay that blocks interactions until signup --- */
#builder { position: relative; }
#builder .builder-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 24px;
  color: #d6e9ff;
  font-weight: 700;
  letter-spacing: .2px;
  background: transparent;
  backdrop-filter: none;
  border-radius: 16px;
  z-index: 3;
  pointer-events: auto;
}
#builder:not(.builder-locked) .builder-overlay { display: none; }
#builder.builder-locked { filter: grayscale(0.2) brightness(0.7); }
#builder.builder-locked input,
#builder.builder-locked button,
#builder.builder-locked textarea,
#builder.builder-locked select { pointer-events: none; }


/* --- builder lock overlay (added) --- */
.card.builder-locked {
  position: relative;
  pointer-events: none; /* block interactions when locked */
}
.card.builder-locked .grid-2,
.card.builder-locked .btn,
.card.builder-locked input,
.card.builder-locked textarea {
  filter: none;
  opacity: 1;
}
.builder-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
.builder-overlay .overlay-inner {
  pointer-events: auto;
  background: rgba(5,13,24,0.8);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  padding: 18px 20px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.35);
  text-align: center;
}
.builder-overlay .overlay-title {
  font-size: 18px;
  margin-bottom: 10px;
}
/* unlock state */
.card:not(.builder-locked) .builder-overlay {
  display: none;
}
.card:not(.builder-locked) {
  pointer-events: auto;
}


/* --- Gated builder: ensure overlay is clickable and crisp --- */
#builder.builder-locked .builder-overlay,
#builder.builder-locked .builder-overlay * {
  pointer-events: auto !important;
  filter: none !important;
}
#builder:not(.builder-locked) .builder-overlay {
  display: none !important;
}

/* Ensure overlay CTA text/button are crisp and readable */
#builder .builder-overlay .overlay-cta,
#builder .builder-overlay .overlay-cta *{
  filter:none !important;
  opacity:1 !important;
}
