/* ============================================================
   ZapFlowBR Premium — premium.css
   Tema roxo/violeta + dourado pra linha Premium.
   Carregado APENAS em /premium/index.html. Não toca o style.css global.
   ============================================================ */

/* ─── Variáveis Premium ───────────────────────────────────── */
.premium-theme {
  --pp-50:  #f5f3ff;
  --pp-100: #ede9fe;
  --pp-200: #ddd6fe;
  --pp-300: #c4b5fd;
  --pp-400: #a78bfa;
  --pp-500: #8b5cf6;
  --pp-600: #7c3aed;
  --pp-700: #6d28d9;
  --pp-800: #5b21b6;
  --pp-900: #4c1d95;
  --pp-accent-light: #c084fc;
  --pp-accent: #a855f7;
  --pp-gold: #fbbf24;
  --pp-gold-soft: #fde68a;
  --pp-bg: #0e0820;
  --pp-bg-deep: #050010;
  --pp-card: rgba(20, 10, 40, 0.78);
  --pp-card-border: rgba(192, 132, 252, 0.18);
  --pp-card-border-hover: rgba(192, 132, 252, 0.45);
  --pp-glow: 0 0 60px rgba(168, 85, 247, 0.18);
  --pp-shadow: 0 18px 50px rgba(76, 29, 149, 0.45);
}

/* ─── Body override pra tema roxo ─────────────────────────── */
body.premium-theme {
  background: radial-gradient(circle at top, #2a1259 0, #100425 50%, #050010 100%);
  color: #ece4ff;
}

/* Ambient overrides pra paleta roxa */
.ambient-purple::before {
  background: radial-gradient(circle at 30% 30%, rgba(168, 85, 247, 0.45), transparent 60%),
              radial-gradient(circle at 70% 70%, rgba(124, 58, 237, 0.35), transparent 58%) !important;
}
.ambient-purple::after {
  background: radial-gradient(circle at 25% 35%, rgba(192, 132, 252, 0.32), transparent 58%),
              radial-gradient(circle at 70% 55%, rgba(91, 33, 182, 0.30), transparent 58%) !important;
}
.light-beams-purple .beam {
  background: linear-gradient(180deg, rgba(192,132,252,0.0), rgba(168,85,247,0.18), rgba(192,132,252,0.0)) !important;
}

/* ─── Logo Premium ────────────────────────────────────────── */
.premium-theme .logo-mark-premium {
  background: linear-gradient(135deg, #7c3aed, #a855f7 55%, #c084fc) !important;
  box-shadow: 0 0 22px rgba(168, 85, 247, 0.55), inset 0 0 18px rgba(255,255,255,0.08);
}
.premium-theme .logo-title { color: #f5f3ff; }
.logo-premium-suffix {
  background: linear-gradient(135deg, #fbbf24, #fde68a, #fbbf24);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-weight: 800;
  letter-spacing: 0.01em;
  margin-left: 6px;
}
.premium-theme .logo-subtitle { color: #c4b5fd; }

/* ─── Nav Premium ─────────────────────────────────────────── */
.premium-theme .nav-link { color: #c4b5fd; }
.premium-theme .nav-link:hover { color: #f5f3ff; }
.premium-theme .nav-link::after {
  background: linear-gradient(90deg, #7c3aed, #c084fc, #fbbf24) !important;
}
.nav-link-premium-active {
  color: #f5f3ff !important;
  position: relative;
}
.nav-link-premium-active::before {
  content: "";
  position: absolute;
  inset: -4px -10px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(124,58,237,0.18), rgba(192,132,252,0.18));
  border: 1px solid rgba(192,132,252,0.4);
  z-index: -1;
}

/* ─── Botão Premium dourado (CTA principal) ──────────────── */
.btn-premium-gold {
  background: linear-gradient(135deg, #fbbf24, #f59e0b 50%, #d97706);
  background-size: 180% 180%;
  animation: btn-flow 8s ease-in-out infinite;
  color: #1a0d2e;
  font-weight: 800;
  border: 0;
  box-shadow: 0 10px 30px rgba(245, 158, 11, 0.45), inset 0 0 0 1px rgba(255,255,255,0.18);
}
.btn-premium-gold:hover {
  transform: translateY(-1px);
  box-shadow: 0 16px 40px rgba(245, 158, 11, 0.6), inset 0 0 0 1px rgba(255,255,255,0.25);
}

/* Botão Premium ghost (secundário) */
.btn-premium-ghost {
  background: transparent;
  color: #ddd6fe;
  border: 1px solid rgba(192, 132, 252, 0.45);
}
.btn-premium-ghost:hover {
  border-color: rgba(192, 132, 252, 0.85);
  background: rgba(124, 58, 237, 0.18);
  color: #f5f3ff;
}
.btn-large { padding: 14px 28px !important; font-size: 16px !important; }
.btn-block { display: block; text-align: center; width: 100%; }

/* ─── Botão PREMIUM no nav das outras páginas ────────────── */
/* Carregado pelo style.css? Não — esse seletor entra via class no link.
   Vamos colar inline no nav direto — vide injeção. Mas deixamos o estilo aqui
   pra eventual uso compartilhado se Igor quiser linkar premium.css globalmente. */
.nav-premium-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #f5f3ff;
  background: linear-gradient(135deg, #7c3aed, #a855f7 50%, #fbbf24);
  background-size: 200% 200%;
  animation: btn-flow 7s ease-in-out infinite;
  box-shadow: 0 8px 22px rgba(168, 85, 247, 0.45), inset 0 0 0 1px rgba(255,255,255,0.18);
  border: 0;
  white-space: nowrap;
}
.nav-premium-chip::before {
  content: "★";
  color: #fde68a;
  font-size: 11px;
  filter: drop-shadow(0 0 6px rgba(253, 230, 138, 0.7));
}
.nav-premium-chip:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgba(168, 85, 247, 0.6), inset 0 0 0 1px rgba(255,255,255,0.28);
}

/* ─── Hero Premium ────────────────────────────────────────── */
.premium-hero {
  text-align: center;
  padding: 56px 0 36px;
  position: relative;
}
.premium-hero-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #c4b5fd;
  margin-bottom: 18px;
  padding: 8px 16px;
  border-radius: 999px;
  border: 1px solid rgba(192,132,252,0.28);
  background: rgba(124,58,237,0.10);
}
.premium-kicker-dot {
  width: 10px; height: 10px; border-radius: 999px;
  background: linear-gradient(135deg, #fbbf24, #c084fc);
  box-shadow: 0 0 18px rgba(192, 132, 252, 0.65);
  animation: pulse-dot 1.8s ease-in-out infinite;
}
.premium-hero-title {
  font-size: 52px;
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: #f5f3ff;
  margin: 0 auto 16px;
  max-width: 920px;
  font-weight: 800;
}
@media (max-width: 720px) { .premium-hero-title { font-size: 34px; } }
.premium-hl {
  background: linear-gradient(135deg, #c084fc, #fbbf24);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.premium-hero-sub {
  font-size: 17px;
  line-height: 1.6;
  color: #ddd6fe;
  max-width: 760px;
  margin: 0 auto 22px;
}
.premium-hero-pills {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 10px;
  margin: 0 auto 22px; max-width: 760px;
}
.pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 999px;
  font-size: 13px;
  color: #ede9fe;
  background: rgba(76, 29, 149, 0.4);
  border: 1px solid rgba(192, 132, 252, 0.28);
}
.pill-dot {
  width: 8px; height: 8px; border-radius: 999px;
  background: #c084fc;
  box-shadow: 0 0 10px rgba(192,132,252,0.65);
}
.premium-hero-cta {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 12px;
  margin-bottom: 14px;
}
.premium-hero-note {
  font-size: 12px;
  color: #a78bfa;
  margin-top: 4px;
}

/* ─── Section Premium ─────────────────────────────────────── */
.premium-section { padding: 56px 0; }
.section-kicker.premium-kicker { color: #c084fc; }
.section-title.premium-title { color: #f5f3ff; }

/* ─── Grid 4 (Como funciona) ─────────────────────────────── */
.premium-grid-4 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
@media (max-width: 1100px) { .premium-grid-4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .premium-grid-4 { grid-template-columns: 1fr; } }

.premium-card {
  background: var(--pp-card);
  border: 1px solid var(--pp-card-border);
  border-radius: 20px;
  padding: 24px;
  position: relative;
  transition: border-color .25s, transform .25s, box-shadow .25s;
  display: flex;
  flex-direction: column;
}
.premium-card:hover {
  border-color: var(--pp-card-border-hover);
  transform: translateY(-3px);
  box-shadow: var(--pp-shadow), var(--pp-glow);
}
.premium-card-featured {
  background: linear-gradient(180deg, rgba(124,58,237,0.18), rgba(20,10,40,0.85));
  border-color: rgba(192,132,252,0.55);
  box-shadow: var(--pp-glow);
}
.premium-card-icon {
  width: 56px; height: 56px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  font-weight: 800;
  color: #fff;
  margin-bottom: 14px;
}
.icon-jarvis  { background: linear-gradient(135deg, #6d28d9, #a855f7); box-shadow: 0 0 24px rgba(168,85,247,0.5); }
.icon-atlas   { background: linear-gradient(135deg, #fbbf24, #a855f7); box-shadow: 0 0 28px rgba(251,191,36,0.45); color:#1a0d2e; }
.icon-tri     { background: linear-gradient(135deg, #4c1d95, #c084fc); box-shadow: 0 0 24px rgba(192,132,252,0.5); }
.icon-sentinel{ background: linear-gradient(135deg, #5b21b6, #38bdf8); box-shadow: 0 0 24px rgba(56,189,248,0.4); }

.premium-card h3 {
  font-size: 19px;
  color: #f5f3ff;
  margin-bottom: 4px;
  letter-spacing: -0.01em;
}
.badge-super {
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #1a0d2e;
  background: linear-gradient(135deg, #fbbf24, #fde68a);
  padding: 3px 8px;
  border-radius: 999px;
  margin-left: 6px;
  vertical-align: middle;
  font-weight: 800;
}
.premium-card-tag {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #c4b5fd;
  margin-bottom: 10px;
  font-weight: 600;
}
.premium-card p {
  font-size: 14px;
  color: #ddd6fe;
  line-height: 1.62;
  margin-bottom: 12px;
}
.premium-card-list {
  list-style: none;
  padding: 0;
  margin: auto 0 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.premium-card-list li {
  font-size: 13px;
  color: #c4b5fd;
  padding-left: 18px;
  position: relative;
  line-height: 1.5;
}
.premium-card-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: #fbbf24;
  font-weight: 800;
}

/* ─── Plans Premium ──────────────────────────────────────── */
.premium-plans-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
}
@media (max-width: 980px) { .premium-plans-grid { grid-template-columns: 1fr; } }

.premium-plan-card {
  background: var(--pp-card);
  border: 1px solid var(--pp-card-border);
  border-radius: 22px;
  padding: 26px 24px;
  display: flex;
  flex-direction: column;
  position: relative;
  transition: transform .25s, border-color .25s, box-shadow .25s;
}
.premium-plan-card:hover {
  transform: translateY(-3px);
  border-color: var(--pp-card-border-hover);
  box-shadow: var(--pp-shadow), var(--pp-glow);
}
.premium-plan-featured {
  background: linear-gradient(180deg, rgba(124,58,237,0.22), rgba(15,7,30,0.92));
  border-color: rgba(251, 191, 36, 0.45);
  box-shadow: 0 0 50px rgba(251, 191, 36, 0.18);
}
.premium-plan-featured::before {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: 22px;
  padding: 1px;
  background: linear-gradient(135deg, rgba(251,191,36,0.6), rgba(192,132,252,0.6));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  pointer-events: none;
}
.premium-plan-badge {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(135deg, #fbbf24, #f59e0b);
  color: #1a0d2e;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 800;
  padding: 6px 14px;
  border-radius: 999px;
  box-shadow: 0 8px 18px rgba(245, 158, 11, 0.4);
}
.premium-plan-tier {
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #c084fc;
  font-weight: 700;
  margin-bottom: 6px;
}
.premium-plan-name {
  font-size: 26px;
  font-weight: 800;
  color: #f5f3ff;
  letter-spacing: -0.02em;
  margin-bottom: 6px;
}
.premium-plan-tagline {
  font-size: 13px;
  color: #c4b5fd;
  line-height: 1.5;
  margin-bottom: 18px;
  min-height: 38px;
}
.premium-plan-price {
  font-size: 32px;
  font-weight: 800;
  color: #fbbf24;
  letter-spacing: -0.02em;
  line-height: 1.1;
}
.premium-plan-price-sub {
  font-size: 12px;
  color: #a78bfa;
  margin-bottom: 16px;
  letter-spacing: 0.02em;
}
.premium-plan-features {
  list-style: none;
  padding: 0;
  margin: 0 0 18px;
  display: flex;
  flex-direction: column;
  gap: 7px;
  flex: 1;
}
.premium-plan-features li {
  font-size: 13.5px;
  color: #ddd6fe;
  padding-left: 22px;
  position: relative;
  line-height: 1.5;
}
.premium-plan-features li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: #fbbf24;
  font-weight: 800;
  font-size: 14px;
}
.premium-plan-features li strong {
  color: #f5f3ff;
  font-weight: 700;
}
.premium-plan-footer {
  margin-top: auto;
}
.premium-plans-note {
  text-align: center;
  font-size: 13px;
  color: #c4b5fd;
  max-width: 720px;
  margin: 24px auto 0;
  padding: 14px 20px;
  border-radius: 14px;
  background: rgba(76, 29, 149, 0.18);
  border: 1px solid rgba(192, 132, 252, 0.18);
}

/* ─── Eventos cobrança ───────────────────────────────────── */
.premium-events-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
@media (max-width: 1100px) { .premium-events-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px)  { .premium-events-grid { grid-template-columns: 1fr; } }

.premium-event {
  background: rgba(20, 10, 40, 0.7);
  border: 1px solid rgba(192, 132, 252, 0.18);
  border-radius: 16px;
  padding: 16px 18px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  transition: border-color .2s, transform .2s;
}
.premium-event:hover {
  border-color: rgba(192, 132, 252, 0.45);
  transform: translateY(-2px);
}
.premium-event-name {
  font-size: 14px;
  color: #f5f3ff;
  font-weight: 700;
}
.premium-event-tag {
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #a78bfa;
  font-weight: 600;
}
.premium-event-mult {
  font-size: 26px;
  font-weight: 800;
  color: #fbbf24;
  letter-spacing: -0.02em;
  margin-top: 4px;
  line-height: 1;
}
.premium-event-desc {
  font-size: 12px;
  color: #c4b5fd;
  line-height: 1.45;
  margin-top: 6px;
}
.premium-event-floor {
  background: linear-gradient(135deg, rgba(251,191,36,0.12), rgba(20,10,40,0.7));
  border-color: rgba(251, 191, 36, 0.4);
}
.premium-event-floor .premium-event-mult { color: #fde68a; }

.premium-cobranca-note {
  margin-top: 22px;
  padding: 18px 22px;
  background: rgba(76, 29, 149, 0.22);
  border: 1px solid rgba(192, 132, 252, 0.25);
  border-radius: 16px;
  font-size: 14px;
  color: #ddd6fe;
  line-height: 1.65;
}
.premium-cobranca-note strong { color: #fbbf24; font-weight: 800; }

/* ─── Visão / Roadmap ────────────────────────────────────── */
.premium-vision-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
@media (max-width: 1100px) { .premium-vision-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .premium-vision-grid { grid-template-columns: 1fr; } }

.premium-vision-card {
  background: var(--pp-card);
  border: 1px solid var(--pp-card-border);
  border-radius: 18px;
  padding: 22px;
  position: relative;
  transition: border-color .25s, transform .25s;
}
.premium-vision-card:hover {
  border-color: var(--pp-card-border-hover);
  transform: translateY(-2px);
}
.premium-vision-step {
  font-size: 11px;
  letter-spacing: 0.18em;
  font-weight: 800;
  color: #fbbf24;
  margin-bottom: 8px;
}
.premium-vision-card h4 {
  font-size: 18px;
  color: #f5f3ff;
  margin-bottom: 8px;
  letter-spacing: -0.01em;
}
.premium-vision-card p {
  font-size: 13.5px;
  color: #ddd6fe;
  line-height: 1.6;
}

/* ─── CTA Final ──────────────────────────────────────────── */
.premium-cta-final {
  margin: 56px 0 40px;
  padding: 40px 28px;
  border-radius: 24px;
  background:
    radial-gradient(circle at 20% 0%, rgba(168,85,247,0.32), transparent 60%),
    radial-gradient(circle at 100% 100%, rgba(251,191,36,0.22), transparent 60%),
    linear-gradient(180deg, rgba(20,10,40,0.92), rgba(15,7,30,0.96));
  border: 1px solid rgba(192, 132, 252, 0.35);
  text-align: center;
  box-shadow: var(--pp-shadow);
}
.premium-cta-final h2 {
  font-size: 32px;
  color: #f5f3ff;
  letter-spacing: -0.02em;
  margin-bottom: 12px;
  font-weight: 800;
}
@media (max-width: 720px) { .premium-cta-final h2 { font-size: 24px; } }
.premium-cta-final p {
  font-size: 15px;
  color: #ddd6fe;
  max-width: 680px;
  margin: 0 auto 22px;
  line-height: 1.6;
}
.premium-cta-buttons {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 14px;
}
.premium-cta-note {
  font-size: 12px;
  color: #a78bfa;
}

/* ─── Footer Premium ─────────────────────────────────────── */
.footer-premium {
  background: linear-gradient(180deg, rgba(15,7,30,0.0), rgba(15,7,30,0.85));
  border-top: 1px solid rgba(192, 132, 252, 0.2);
}
.footer-premium .footer-brand-name { color: #f5f3ff; }
.footer-premium .footer-desc { color: #c4b5fd; }
.footer-premium .footer-desc-note { color: #a78bfa; }
.footer-premium .footer-docs-title { color: #c084fc; }
.footer-premium .footer-docs-links a { color: #ddd6fe; }
.footer-premium .footer-docs-links a:hover { color: #fbbf24; }
.footer-premium .footer-bottom { color: #a78bfa; border-top-color: rgba(192,132,252,0.2); }
.footer-logo-mark-premium {
  background: linear-gradient(135deg, #7c3aed, #a855f7 55%, #c084fc) !important;
  box-shadow: 0 0 18px rgba(168,85,247,0.5);
}

/* ─── Reveal animation ───────────────────────────────────── */
.reveal { opacity: 0; transform: translateY(12px); transition: opacity .55s ease, transform .55s ease; }
.reveal.is-visible { opacity: 1; transform: translateY(0); }

/* ─── Mobile menu Premium ────────────────────────────────── */
.premium-theme .mobile-menu {
  background: rgba(15, 7, 30, 0.96);
  border-color: rgba(192, 132, 252, 0.22);
}
.premium-theme .mobile-menu a { color: #ddd6fe; }
.premium-theme .mobile-menu a:hover { color: #fbbf24; }
.premium-theme .mobile-section { color: #c084fc; }

/* Reduce motion */
@media (prefers-reduced-motion: reduce) {
  .premium-theme *,
  .premium-theme *::before,
  .premium-theme *::after {
    animation-duration: 0.001ms !important;
    transition-duration: 0.001ms !important;
  }
}
