* { font-family: 'Inter', sans-serif; box-sizing: border-box; }
  :root {
    --blue-dark: #0d1f4e;
    --blue-mid: #1a3a8f;
    --blue-bright: #2563eb;
    --orange: #f97316;
    --orange-dark: #ea580c;
    --white: #ffffff;
  }
  html { overflow-x: hidden; }
  body { overflow-x: hidden; max-width: 100%; }

  @keyframes shimmer {
    0% { transform: translateX(-100%); }
    100% { transform: translateX(100%); }
  }
  @keyframes float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
  }
  @keyframes fadeInUp {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
  }
  @keyframes pulse-glow {
    0%, 100% { box-shadow: 0 0 20px rgba(249,115,22,0.4); }
    50% { box-shadow: 0 0 40px rgba(249,115,22,0.8); }
  }
  @keyframes gradientShift {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
  }

  .animate-fadeInUp { animation: fadeInUp 0.8s ease-out forwards; }
  .animate-float { animation: float 3s ease-in-out infinite; }
  .btn-shimmer { position: relative; overflow: hidden; }
  .btn-shimmer::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, transparent, rgba(255,255,255,0.3), transparent);
    animation: shimmer 2s infinite;
  }
  .pulse-orange { animation: pulse-glow 2s ease-in-out infinite; }
  .hero-gradient {
    background: linear-gradient(135deg, #0d1f4e 0%, #1a3a8f 40%, #0d2d6e 70%, #0a1628 100%);
    background-size: 200% 200%;
    animation: gradientShift 8s ease infinite;
  }
  .card-glass {
    background: rgba(255,255,255,0.05);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.1);
  }
  .faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.4s ease, padding 0.3s ease; }
  .faq-answer.open { max-height: 300px; padding-bottom: 1rem; }
  .faq-icon { transition: transform 0.3s ease; }
  .faq-icon.open { transform: rotate(45deg); }
  .gradient-text {
    background: linear-gradient(90deg, #f97316, #fbbf24);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }
  .blue-gradient-text {
    background: linear-gradient(90deg, #60a5fa, #93c5fd);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }
  .section-divider {
    width: 60px;
    height: 4px;
    background: linear-gradient(90deg, #f97316, #fbbf24);
    border-radius: 2px;
    margin: 0 auto 1.5rem;
  }
  .plan-card:hover { transform: translateY(-6px); }
  .plan-card { transition: transform 0.3s ease, box-shadow 0.3s ease; }
  .step-line::after {
    content: '';
    position: absolute;
    top: 24px;
    left: calc(50% + 24px);
    width: calc(100% - 48px);
    height: 2px;
    background: linear-gradient(90deg, #2563eb, #f97316);
  }

/* ── Botões: proteção global ── */
button,
input[type="button"],
input[type="submit"] {
    max-width: 100%;
    box-sizing: border-box;
    white-space: nowrap;
    line-height: 1.2;
}

/* ── WhatsApp links: alinhamento ícone+texto em todas as resoluções ── */
a[href*="wa.me"],
a[href*="whatsapp.com"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    max-width: 100%;
    box-sizing: border-box;
    white-space: nowrap;
    line-height: 1.2;
    text-decoration: none;
}


/* ── HERO BANNER ── */
.hero-banner {
  background: url('banner.jpg') center right / cover no-repeat;
}

@media (max-width: 767px) {
  .hero-banner {
    background-position: right center;
  }
  #inicio > div:first-child {
    background: linear-gradient(to bottom, rgba(6,17,46,0.97) 0%, rgba(13,31,78,0.95) 55%, rgba(13,31,78,0.90) 100%) !important;
  }
}

/* ── ONEPAGE NAVBAR ── */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 90px;
}

body {
  padding-top: 90px;
}

#navbar {
  transition: background 0.3s ease, box-shadow 0.3s ease;
}

#navbar.scrolled {
  background: #ffffff !important;
  box-shadow: 0 4px 18px rgba(13,31,78,0.10);
}

/* Hover nos links do menu branco */
#navbar a.nav-link:hover {
  color: #f97316 !important;
  opacity: 1 !important;
}

/* Oculta botão WhatsApp da navbar no mobile */
@media (max-width: 1023px) {
    #navbar .navbar-cta-whatsapp {
        display: none !important;
    }
}

/* Hover no hamburguer mobile */
#menu-toggle:hover {
  background: #f1f5f9 !important;
}

#mobile-menu {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease;
}

#mobile-menu.open {
  max-height: 460px;
}

#menu-toggle .hamburger-line:nth-child(1),
#menu-toggle .hamburger-line:nth-child(2),
#menu-toggle .hamburger-line:nth-child(3) {
  transition: transform 0.3s ease, opacity 0.3s ease;
}

#menu-toggle.open .hamburger-line:nth-child(1) {
  transform: translateY(8px) rotate(45deg);
}

#menu-toggle.open .hamburger-line:nth-child(2) {
  opacity: 0;
}

#menu-toggle.open .hamburger-line:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
}

a.nav-link.active {
  color: #f97316 !important;
  opacity: 1 !important;
}

/* ── Mobile: reduz opacidade dos ícones flutuantes decorativos ── */
@media (max-width: 767px) {
    .absolute.animate-float {
        opacity: 0.5 !important;
    }
    [data-section="oferta"] .absolute.animate-float {
        opacity: 1 !important;
    }
}