/* ════════════════════════════════════════════════════════════════════
   FIFTY LANDING PAGE — CSS
   Carregado APENAS na landing page pública. Self-contained.
   ════════════════════════════════════════════════════════════════════ */

/* ── TOKENS ── */
:root {
  --lp-bg: #080e38;
  --lp-bg-gradient: linear-gradient(168deg, #0c1852 0%, #091242 50%, #060b30 100%);
  --lp-surface: rgba(255, 255, 255, 0.04);
  --lp-surface-hover: rgba(255, 255, 255, 0.08);
  --lp-surface-border: rgba(255, 255, 255, 0.08);
  --lp-surface-strong: rgba(255, 255, 255, 0.06);
  --lp-text: #ffffff;
  --lp-text-secondary: rgba(255, 255, 255, 0.65);
  --lp-text-muted: rgba(255, 255, 255, 0.4);
  --lp-accent: #FF5722;
  --lp-accent-hover: #ff6e3d;
  --lp-accent-glow: rgba(255, 87, 34, 0.25);
  --lp-accent-soft: rgba(255, 87, 34, 0.1);
  --lp-ai: #4DA3FF;
  --lp-ai-soft: rgba(77, 163, 255, 0.12);
  --lp-success: #4CAF50;
  --lp-danger: #F44336;
  --lp-font-heading: 'Montserrat', -apple-system, sans-serif;
  --lp-font-body: 'Open Sans', -apple-system, sans-serif;
  --lp-max-width: 1200px;
  --lp-max-narrow: 800px;
  --lp-section-pad: 120px;
  --lp-section-pad-mobile: 64px;
  --lp-radius-sm: 8px;
  --lp-radius-md: 12px;
  --lp-radius-lg: 16px;
  --lp-radius-xl: 24px;
}

/* ── RESET ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; }
body {
  font-family: var(--lp-font-body);
  font-size: 17px;
  line-height: 1.65;
  color: var(--lp-text);
  background: var(--lp-bg);
  background: var(--lp-bg-gradient);
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }


.lp-btn-ghost {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 14px 24px;
  font-family: var(--lp-font-heading); font-size: 15px; font-weight: 600;
  color: var(--lp-text-secondary);
  background: var(--lp-surface); border: 1px solid var(--lp-surface-border);
  border-radius: var(--lp-radius-md); cursor: pointer;
  transition: all 0.15s; text-decoration: none;
}
.lp-btn-ghost:hover { color: var(--lp-text); background: var(--lp-surface-hover); }


/* ═══ HERO ═══ */
.lp-hero { padding: 140px 24px 80px; position: relative; overflow: hidden; }
.lp-hero::before {
  content: ''; position: absolute; top: -20%; right: -10%;
  width: 600px; height: 600px;
  background: radial-gradient(circle, rgba(77, 163, 255, 0.06) 0%, transparent 70%);
  pointer-events: none;
}


@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:0.4} }


/* ═══ SECTIONS (shared) ═══ */
.lp-section { padding: var(--lp-section-pad) 24px; }
.lp-container { max-width: var(--lp-max-width); margin: 0 auto; }

.lp-section-header { text-align: center; margin-bottom: 64px; }
.lp-section-title {
  font-family: var(--lp-font-heading); font-size: 40px; font-weight: 800;
  line-height: 1.15; letter-spacing: -0.02em; margin-bottom: 16px;
}
.lp-section-subtitle { font-size: 18px; color: var(--lp-text-secondary); max-width: 580px; margin: 0 auto; }


.lp-check-icon { display:flex;align-items:center;justify-content:center; width:22px;height:22px; font-size:11px;font-weight:700; color:var(--lp-success); background:rgba(76,175,80,0.12); border-radius:50%;flex-shrink:0; }


.lp-pricing-features {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem 0;
  flex-grow: 1;
}


.lp-faq-item {
  background:var(--lp-surface);border:1px solid var(--lp-surface-border);
  border-radius:var(--lp-radius-md);overflow:hidden;transition:border-color 0.2s;
}
.lp-faq-item[open] { border-color:rgba(255,255,255,0.15); }
.lp-faq-item summary {
  padding:20px 24px;font-family:var(--lp-font-heading);font-size:16px;font-weight:600;
  cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;
}
.lp-faq-item summary::-webkit-details-marker { display:none; }
.lp-faq-item summary::after { content:'+';font-size:20px;font-weight:300;color:var(--lp-text-muted);transition:transform 0.2s; }
.lp-faq-item[open] summary::after { transform:rotate(45deg); }
.lp-faq-item p { padding:0 24px 20px;font-size:15px;line-height:1.7;color:var(--lp-text-secondary); }


/* ═══ FOOTER ═══ */
.lp-footer { padding:60px 24px 0;border-top:1px solid rgba(255,255,255,0.06); }


.lp-founding-soldout {
  text-align: center;
  font-size: 0.95rem;
  color: rgba(255,255,255,0.4);
  padding: 1rem;
}


/* ═══ RESPONSIVE — MOBILE ═══ */
@media (max-width:640px) {
  :root { --lp-section-pad:var(--lp-section-pad-mobile); }
  body { font-size:16px; }
  
  
  .lp-hero { padding:100px 20px 48px; }
  
  
  
  
  
  
  
  
  
  
  .lp-section-title { font-size:28px; }
  
  
  
  
  
  
  
  
  
  
  

  
  
  

  
}

/* ============================================================
   Waitlist Confirmed Page (waitlist/confirmed.html.erb)
   Auth layout defines: --accent, --accent-hover, --text-muted
   rgba() values kept as-is (auth standalone design system)
   ============================================================ */

.lp-confirmed-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}

.lp-confirmed-icon svg {
  width: 64px;
  height: 64px;
  filter: drop-shadow(0 0 18px rgba(255,87,34,0.45));
}

.lp-confirmed-founding {
  background: rgba(255,87,34,0.12);
  border: 1px solid rgba(255,87,34,0.32);
  border-radius: 14px;
  padding: 14px 16px;
  margin: 20px 0;
  text-align: center;
  font-size: 0.88rem;
  color: #FF7D54;
  line-height: 1.5;
}

.lp-confirmed-founding strong {
  display: block;
  font-family: "Montserrat", sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  margin-bottom: 2px;
  color: #FF9770;
}

.lp-confirmed-steps {
  list-style: none;
  padding: 0;
  margin: 22px 0;
  display: grid;
  gap: 14px;
}

.lp-confirmed-step {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 0.88rem;
  color: rgba(255,255,255,0.78);
  line-height: 1.5;
}

.lp-confirmed-step__num {
  flex-shrink: 0;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: linear-gradient(135deg, #FF5722 0%, #ff7b50 100%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: "Montserrat", sans-serif;
  font-size: 0.78rem;
  font-weight: 800;
  color: #fff;
  box-shadow: 0 3px 10px rgba(255,87,34,0.35);
  margin-top: 1px;
}

.lp-confirmed-back {
  display: block;
  width: 100%;
  min-height: 48px;
  border-radius: 12px;
  border: 1px solid rgba(255,87,34,0.5);
  background: transparent;
  color: #FF7D54;
  font-family: "Montserrat", sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  line-height: 48px;
  transition: background-color 200ms ease, border-color 200ms ease;
  margin-top: 4px;
}

.lp-confirmed-back:hover {
  background: rgba(255,87,34,0.12);
  border-color: rgba(255,87,34,0.8);
  color: #FF9770;
}


.lp-tooltip-box {
  position: absolute;
  left: 0;
  top: calc(100% + 6px);
  z-index: 50;
  background: #1e293b;
  color: #e2e8f0;
  font-size: 12px;
  line-height: 1.5;
  padding: 10px 12px;
  border-radius: 8px;
  width: 240px;
  border: 1px solid rgba(255,255,255,0.1);
  pointer-events: none;
}


