/* ============================================================
   PREMIUM UPGRADE LAYER — pragmatismo.com.br
   Layered on top of ai-consumer.css. Dark default (homepage).
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Inter:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,400&display=swap');

/* ──────────────────────────────────────────────────────────
   DESIGN TOKENS – override the flat graphite palette
   ────────────────────────────────────────────────────────── */
:root {
  --p-indigo:  #6366f1;
  --p-violet:  #8b5cf6;
  --p-cyan:    #22d3ee;
  --p-emerald: #10b981;
  --p-rose:    #f43f5e;
  --p-amber:   #f59e0b;

  /* Dark page default (hero area) */
  --hero-bg:       #09090f;
  --hero-surface:  rgba(255,255,255,0.04);
  --hero-border:   rgba(255,255,255,0.10);
  --hero-fg:       #f1f5f9;
  --hero-muted:    #94a3b8;

  /* Glows */
  --glow-indigo: radial-gradient(circle at 50% 50%, rgba(99,102,241,.55) 0%, transparent 70%);
  --glow-violet: radial-gradient(circle at 50% 50%, rgba(139,92,246,.45) 0%, transparent 70%);
  --glow-cyan:   radial-gradient(circle at 50% 50%, rgba(34,211,238,.35) 0%, transparent 70%);

  /* Transitions */
  --ease-spring: cubic-bezier(0.34,1.56,0.64,1);
  --ease-smooth: cubic-bezier(0.4,0,0.2,1);
}

/* ──────────────────────────────────────────────────────────
   BODY RESET
   ────────────────────────────────────────────────────────── */
body {
  background: #f8f9fc;
  font-family: 'Inter', system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}

/* ──────────────────────────────────────────────────────────
   HEADER — frosted glass, always dark
   ────────────────────────────────────────────────────────── */
.site-header {
  background: rgba(9,9,15,0.75) !important;
  backdrop-filter: blur(18px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(180%) !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  box-shadow: 0 1px 0 0 rgba(99,102,241,0.15);
  transition: background 0.3s ease;
}

/* Nav links — white on dark glass */
.nav-desktop a {
  color: rgba(241,245,249,0.65) !important;
  font-size: 0.8125rem !important;
  border-radius: 6px !important;
  border: none !important;
  padding: 0.375rem 0.625rem !important;
  transition: color 0.2s ease, background 0.2s ease !important;
}
.nav-desktop a:hover {
  color: #f1f5f9 !important;
  background: rgba(255,255,255,0.08) !important;
}
.nav-desktop a.active {
  color: #f1f5f9 !important;
  background: rgba(99,102,241,0.18) !important;
  border: none !important;
}
.nav-desktop a svg { opacity: 0.6; }
.nav-desktop a:hover svg { opacity: 1; }

/* CTA button — indigo pill */
.btn-header-cta {
  background: linear-gradient(135deg, var(--p-indigo), var(--p-violet)) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 6px !important;
  padding: 0.45rem 1rem !important;
  font-size: 0.8125rem !important;
  box-shadow: 0 0 20px rgba(99,102,241,0.4), inset 0 1px 0 rgba(255,255,255,0.15) !important;
  transition: opacity 0.2s ease, box-shadow 0.2s ease !important;
}
.btn-header-cta:hover {
  opacity: 0.9 !important;
  box-shadow: 0 0 30px rgba(99,102,241,0.6), inset 0 1px 0 rgba(255,255,255,0.2) !important;
}

/* Logo */
.logo-profile img {
  border: none !important;
  filter: drop-shadow(0 0 12px rgba(99,102,241,0.3));
}
.logo-profile.scrolled img {
  filter: drop-shadow(0 0 8px rgba(99,102,241,0.25));
}

/* Theme toggle — match dark glass */
.theme-toggle {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 6px !important;
  color: rgba(241,245,249,0.7) !important;
}
.theme-toggle:hover { background: rgba(255,255,255,0.12) !important; }

/* ──────────────────────────────────────────────────────────
   DARK HERO CANVAS
   ────────────────────────────────────────────────────────── */
.hero-canvas {
  position: relative;
  background: var(--hero-bg);
  padding: 8rem 0 5rem;
  overflow: hidden;
}

/* Animated gradient orbs */
.hero-canvas::before,
.hero-canvas::after {
  content: '';
  position: absolute;
  border-radius: 50%;
  filter: blur(90px);
  opacity: 0.6;
  animation: orbFloat 12s ease-in-out infinite alternate;
  pointer-events: none;
}
.hero-canvas::before {
  width: 600px; height: 600px;
  top: -160px; left: -180px;
  background: radial-gradient(circle, rgba(99,102,241,0.65) 0%, transparent 70%);
}
.hero-canvas::after {
  width: 500px; height: 500px;
  bottom: -120px; right: -100px;
  background: radial-gradient(circle, rgba(139,92,246,0.55) 0%, rgba(34,211,238,0.3) 60%, transparent 80%);
  animation-delay: -6s;
}

.hero-orb-mid {
  position: absolute;
  width: 400px; height: 400px;
  border-radius: 50%;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(34,211,238,0.12) 0%, transparent 70%);
  filter: blur(60px);
  animation: orbFloat 9s ease-in-out infinite alternate-reverse;
  pointer-events: none;
}

@keyframes orbFloat {
  from { transform: translate(0, 0) scale(1); }
  to   { transform: translate(30px, 20px) scale(1.08); }
}

/* Fine grid overlay */
.hero-grid-overlay {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size: 60px 60px;
  mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, black 30%, transparent 100%);
  pointer-events: none;
}

/* Text inside hero */
.hero-canvas .hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.35rem 0.875rem;
  background: rgba(99,102,241,0.15);
  border: 1px solid rgba(99,102,241,0.35);
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  color: #a5b4fc;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  animation: fadeUp 0.6s ease forwards;
}

.hero-canvas h1 {
  font-size: clamp(2.5rem, 7vw, 4.5rem) !important;
  font-weight: 900 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.04em !important;
  color: #f1f5f9 !important;
  max-width: 820px;
  margin: 0 auto 1.25rem !important;
  animation: fadeUp 0.6s ease 0.1s both;
}

.hero-canvas .hero-gradient-word {
  background: linear-gradient(135deg, #a78bfa 0%, #6366f1 35%, #22d3ee 75%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.hero-canvas .hero-sub {
  color: var(--hero-muted) !important;
  font-size: clamp(1rem, 2vw, 1.2rem) !important;
  max-width: 540px;
  line-height: 1.7 !important;
  margin: 0 auto 2.5rem !important;
  animation: fadeUp 0.6s ease 0.2s both;
}

/* Hero CTA buttons */
.hero-canvas .hero-actions {
  animation: fadeUp 0.6s ease 0.3s both;
}

.hero-canvas .btn-primary {
  background: linear-gradient(135deg, var(--p-indigo), var(--p-violet)) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 0.875rem 1.75rem !important;
  font-size: 0.9375rem !important;
  box-shadow: 0 0 30px rgba(99,102,241,0.5), inset 0 1px 0 rgba(255,255,255,0.15) !important;
  transition: transform 0.2s var(--ease-spring), box-shadow 0.2s ease !important;
}
.hero-canvas .btn-primary:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 40px rgba(99,102,241,0.65), inset 0 1px 0 rgba(255,255,255,0.2) !important;
}

.hero-canvas .btn-ghost {
  background: rgba(255,255,255,0.06) !important;
  color: #f1f5f9 !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 8px !important;
  padding: 0.875rem 1.75rem !important;
  font-size: 0.9375rem !important;
  transition: background 0.2s ease, transform 0.2s var(--ease-spring) !important;
}
.hero-canvas .btn-ghost:hover {
  background: rgba(255,255,255,0.1) !important;
  transform: translateY(-2px) !important;
}

/* Stats bar inside hero */
.hero-stats-bar {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0;
  margin-top: 4rem;
  flex-wrap: wrap;
  animation: fadeUp 0.7s ease 0.4s both;
}
.hero-stat-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1.25rem 2.5rem;
  border-right: 1px solid rgba(255,255,255,0.08);
}
.hero-stat-item:last-child { border-right: none; }
.hero-stat-num {
  font-size: 1.75rem;
  font-weight: 800;
  color: #f1f5f9;
  letter-spacing: -0.03em;
  line-height: 1;
}
.hero-stat-label {
  font-size: 0.75rem;
  color: var(--hero-muted);
  margin-top: 0.25rem;
  white-space: nowrap;
}

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ──────────────────────────────────────────────────────────
   CALCULATOR SECTION — keep light but polish
   ────────────────────────────────────────────────────────── */
.calc-wrapper-section {
  background: #f8f9fc;
  padding: 4rem 0 2rem;
}

.calc-shell {
  border: 1px solid #e4e7ef !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: none !important;
  background: #fff !important;
  border-radius: 16px !important;
  padding: 2.25rem !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.07), 0 1px 4px rgba(0,0,0,0.05) !important;
}

.calc-shell-title {
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  color: #0f172a !important;
}

.calc-shell-sub { color: #64748b !important; }

/* Period toggle */
.calc-period {
  background: #f1f5f9 !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 999px !important;
}
.calc-period-btn {
  border: none !important;
  border-radius: 999px !important;
  color: #64748b !important;
  transition: background 0.15s ease, color 0.15s ease !important;
}
.calc-period-btn.active {
  background: linear-gradient(135deg, var(--p-indigo), var(--p-violet)) !important;
  color: #fff !important;
  box-shadow: 0 2px 8px rgba(99,102,241,0.4) !important;
}
.calc-period-save {
  background: rgba(16,185,129,0.12) !important;
  color: #10b981 !important;
  border-radius: 4px !important;
}

/* VPS buttons */
.calc-vps-btn {
  border: 1.5px solid #e4e7ef !important;
  border-radius: 10px !important;
  background: #f8fafc !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s var(--ease-spring) !important;
  color: #0f172a !important;
}
.calc-vps-btn:hover {
  border-color: var(--p-indigo) !important;
  box-shadow: 0 0 0 3px rgba(99,102,241,0.12) !important;
  transform: translateY(-1px) !important;
  background: #fff !important;
}
.calc-vps-btn.active {
  border-color: var(--p-indigo) !important;
  border-left-color: var(--p-indigo) !important;
  border-right-color: var(--p-indigo) !important;
  border-top-color: var(--p-indigo) !important;
  border-bottom-color: var(--p-indigo) !important;
  background: rgba(99,102,241,0.06) !important;
  box-shadow: 0 0 0 3px rgba(99,102,241,0.15) !important;
}
.calc-vps-btn.active strong { color: var(--p-indigo) !important; }
.calc-vps-btn em { color: var(--p-indigo) !important; }

/* Price display */
.calc-price-row {
  border-top: 1px solid #f1f5f9 !important;
}
.calc-price-amount {
  background: linear-gradient(135deg, #0f172a, #334155);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-weight: 900 !important;
  letter-spacing: -0.05em !important;
}
.calc-price-saving { color: var(--p-emerald) !important; }
.calc-price-currency { color: #0f172a !important; }

/* CTA button */
.calc-cta {
  background: linear-gradient(135deg, var(--p-indigo), var(--p-violet)) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 20px rgba(99,102,241,0.4), inset 0 1px 0 rgba(255,255,255,0.15) !important;
  transition: transform 0.2s var(--ease-spring), box-shadow 0.2s ease !important;
}
.calc-cta:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 30px rgba(99,102,241,0.55), inset 0 1px 0 rgba(255,255,255,0.2) !important;
  background: linear-gradient(135deg, #5558ea, #7c3aed) !important;
}

/* Slider thumb color */
.calc-slider::-webkit-slider-thumb { background: var(--p-indigo) !important; }
.calc-slider::-moz-range-thumb { background: var(--p-indigo) !important; }

/* ──────────────────────────────────────────────────────────
   PRODUCT CARDS GRID — modern glass-like
   ────────────────────────────────────────────────────────── */
.products-grid-section {
  background: #f8f9fc;
  padding: 1rem 0 4rem;
}

.solution-card {
  background: #fff !important;
  border: 1.5px solid #e8ecf4 !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: none !important;
  border-radius: 14px !important;
  padding: 1.5rem 1.25rem !important;
  transition:
    transform 0.22s var(--ease-spring),
    box-shadow 0.22s ease,
    border-color 0.2s ease !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05), 0 1px 8px rgba(0,0,0,0.04) !important;
  position: relative;
  overflow: hidden;
}

.solution-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(99,102,241,0.05), rgba(139,92,246,0.03));
  opacity: 0;
  transition: opacity 0.2s ease;
  pointer-events: none;
  border-radius: inherit;
}

.solution-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 32px rgba(99,102,241,0.15), 0 2px 8px rgba(0,0,0,0.06) !important;
  border-color: rgba(99,102,241,0.3) !important;
  background: #fff !important;
}
.solution-card:hover::before { opacity: 1; }

/* Card icon — vivid gradient */
.solution-card .card-icon {
  background: linear-gradient(135deg, rgba(99,102,241,0.12), rgba(139,92,246,0.08)) !important;
  border: 1.5px solid rgba(99,102,241,0.2) !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: none !important;
  border-radius: 10px !important;
  transition: background 0.2s ease, transform 0.2s var(--ease-spring) !important;
}
.solution-card:hover .card-icon {
  background: linear-gradient(135deg, rgba(99,102,241,0.2), rgba(139,92,246,0.15)) !important;
  transform: scale(1.05);
}
.solution-card .card-icon svg {
  color: var(--p-indigo) !important;
}

.solution-card h3 {
  font-weight: 700 !important;
  color: #0f172a !important;
  font-size: 0.9375rem !important;
}
.solution-card p {
  color: #64748b !important;
}

/* ──────────────────────────────────────────────────────────
   TRUST STRIP — stats + channel chips
   ────────────────────────────────────────────────────────── */
.trust-strip {
  background: linear-gradient(135deg, #0f172a 0%, #1e1b4b 50%, #0f172a 100%);
  padding: 3.5rem 0;
  position: relative;
  overflow: hidden;
}
.trust-strip::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);
  background-size: 50px 50px;
  pointer-events: none;
}

.stat-number {
  font-size: 1.875rem !important;
  font-weight: 800 !important;
  background: linear-gradient(135deg, #f1f5f9, #a5b4fc);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: -0.03em;
  line-height: 1 !important;
}

.stat-label {
  color: rgba(148,163,184,0.85) !important;
  font-size: 0.8125rem !important;
  margin-top: 0.25rem;
  display: block;
}

/* Channel chips */
.channel-chip {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: none !important;
  border-radius: 999px !important;
  color: rgba(241,245,249,0.75) !important;
  font-size: 0.8125rem !important;
  padding: 0.45rem 0.9rem !important;
  gap: 0.45rem !important;
  transition: background 0.15s ease, color 0.15s ease, transform 0.15s var(--ease-spring) !important;
}
.channel-chip:hover {
  background: rgba(99,102,241,0.2) !important;
  color: #f1f5f9 !important;
  transform: translateY(-1px);
}
.channel-chip svg { width: 14px !important; height: 14px !important; color: #a5b4fc !important; }

/* ──────────────────────────────────────────────────────────
   CTA SECTION — vibrant gradient banner
   ────────────────────────────────────────────────────────── */
.cta-section {
  background: linear-gradient(135deg, #0f172a 0%, #1e1b4b 40%, #0f172a 100%) !important;
  position: relative;
  overflow: hidden;
}
.cta-section::before {
  content: '';
  position: absolute;
  width: 600px; height: 600px;
  border-radius: 50%;
  top: -200px; right: -100px;
  background: radial-gradient(circle, rgba(99,102,241,0.35) 0%, transparent 70%);
  filter: blur(60px);
  pointer-events: none;
}
.cta-section::after {
  content: '';
  position: absolute;
  width: 400px; height: 400px;
  border-radius: 50%;
  bottom: -150px; left: -80px;
  background: radial-gradient(circle, rgba(34,211,238,0.2) 0%, transparent 70%);
  filter: blur(50px);
  pointer-events: none;
}

.cta-section h2 {
  color: #f1f5f9 !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  font-size: clamp(1.75rem, 4vw, 2.5rem) !important;
  position: relative;
  z-index: 1;
}
.cta-section p {
  color: rgba(148,163,184,0.9) !important;
  position: relative;
  z-index: 1;
}

.cta-section .btn-primary {
  background: linear-gradient(135deg, var(--p-indigo), var(--p-violet)) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  box-shadow: 0 0 30px rgba(99,102,241,0.5), inset 0 1px 0 rgba(255,255,255,0.15) !important;
  transition: transform 0.2s var(--ease-spring), box-shadow 0.2s ease !important;
  position: relative; z-index: 1;
}
.cta-section .btn-primary:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 40px rgba(99,102,241,0.65), inset 0 1px 0 rgba(255,255,255,0.2) !important;
}
.cta-section .btn-ghost {
  background: rgba(255,255,255,0.07) !important;
  color: #f1f5f9 !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  border-radius: 8px !important;
  transition: background 0.2s ease, transform 0.2s var(--ease-spring) !important;
  position: relative; z-index: 1;
}
.cta-section .btn-ghost:hover {
  background: rgba(255,255,255,0.12) !important;
  transform: translateY(-2px) !important;
}

/* ──────────────────────────────────────────────────────────
   FOOTER — dark, matches the header
   ────────────────────────────────────────────────────────── */
.site-footer {
  background: #09090f !important;
  border-top: 1px solid rgba(255,255,255,0.07) !important;
}
.site-footer, .site-footer * { color: rgba(148,163,184,0.85); }
.footer-brand .footer-logo { color: #f1f5f9 !important; }
.footer-brand p { color: rgba(148,163,184,0.75) !important; }
.footer-col h5 {
  color: rgba(241,245,249,0.45) !important;
  letter-spacing: 0.06em;
}
.footer-col a {
  color: rgba(148,163,184,0.75) !important;
  transition: color 0.15s ease !important;
}
.footer-col a:hover { color: #f1f5f9 !important; }
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.06) !important;
  color: rgba(148,163,184,0.5) !important;
}
.footer-social a {
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 8px !important;
  color: rgba(148,163,184,0.6) !important;
  transition: background 0.15s ease, color 0.15s ease !important;
}
.footer-social a:hover {
  background: rgba(99,102,241,0.2) !important;
  color: #f1f5f9 !important;
}

/* ──────────────────────────────────────────────────────────
   LIGHT THEME OVERRIDES (data-theme="dark" kept as-is)
   ────────────────────────────────────────────────────────── */

/* General buttons in light sections */
.btn-primary:not(.hero-canvas .btn-primary):not(.cta-section .btn-primary) {
  background: linear-gradient(135deg, var(--p-indigo), var(--p-violet)) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  box-shadow: 0 2px 12px rgba(99,102,241,0.35) !important;
  transition: transform 0.15s var(--ease-spring), box-shadow 0.15s ease !important;
}
.btn-primary:not(.hero-canvas .btn-primary):not(.cta-section .btn-primary):hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 20px rgba(99,102,241,0.5) !important;
}

/* ──────────────────────────────────────────────────────────
   SECTION SECTION DIVIDERS
   ────────────────────────────────────────────────────────── */
.section-wave {
  line-height: 0;
  overflow: hidden;
}
.section-wave svg { display: block; width: 100%; }

/* ──────────────────────────────────────────────────────────
   MOBILE
   ────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  .hero-canvas { padding: 7rem 1.25rem 3.5rem; }
  .hero-stat-item { padding: 1rem 1.5rem; }
  .hero-stat-num { font-size: 1.375rem; }
  .trust-strip { padding: 2.5rem 0; }
}
@media (max-width: 480px) {
  .hero-stat-item { padding: 0.75rem 1rem; }
}

/* ──────────────────────────────────────────────────────────
   MOBILE OVERLAY — dark glass
   ────────────────────────────────────────────────────────── */
.mobile-overlay {
  background: rgba(9,9,15,0.97) !important;
  backdrop-filter: blur(20px) !important;
}
.mobile-overlay a { color: rgba(241,245,249,0.8) !important; }
.mobile-overlay a:hover, .mobile-overlay a.active {
  background: rgba(255,255,255,0.07) !important;
  color: #f1f5f9 !important;
}
.mobile-overlay a.nav-cta {
  background: linear-gradient(135deg, var(--p-indigo), var(--p-violet)) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 20px rgba(99,102,241,0.4) !important;
}
.mobile-overlay a.nav-cta:hover { opacity: 0.9 !important; }
