/* ═══════════════════════════════════════════════════════════
   ENERGIA A — style.css  (Tailwind supplement)
   Apenas o que o Tailwind não cobre nativamente.
   ═══════════════════════════════════════════════════════════ */

/* Offset para header fixo ao usar âncoras */
[id] { scroll-margin-top: 76px; }

/* ── FAQ ACCORDION ──────────────────────────────────────── */
.faq-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.faq-body.open { max-height: 400px; }

.faq-chevron { transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
.faq-open .faq-chevron { transform: rotate(180deg); }

/* ── MODAL ──────────────────────────────────────────────── */
#confirmModal {
  visibility: hidden;
  opacity: 0;
  transition: visibility 0.3s ease, opacity 0.3s ease;
}
#confirmModal.modal-visible {
  visibility: visible;
  opacity: 1;
}

@keyframes slideUp {
  from { opacity: 0; transform: translateY(20px) scale(0.96); }
  to   { opacity: 1; transform: translateY(0)    scale(1);    }
}
.modal-box { animation: slideUp 0.32s cubic-bezier(0.34, 1.4, 0.64, 1); }

/* ── PROGRESS BAR ───────────────────────────────────────── */
.progress-fill {
  width: 0%;
  transition: width 2.8s linear;
}
.progress-fill.running { width: 100%; }

/* ── SCROLL FADE-UP ─────────────────────────────────────── */
.fade-up {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.fade-up.in-view { opacity: 1; transform: translateY(0); }

/* ── WHATSAPP FLOAT PULSE ───────────────────────────────── */
@keyframes wa-ring {
  0%, 100% { box-shadow: 0 0 0 0   rgba(37, 211, 102, .55); }
  60%       { box-shadow: 0 0 0 14px rgba(37, 211, 102, 0);  }
}
.wa-float { animation: wa-ring 2.8s ease infinite; }

/* ── GRADIENTE PAINEL SIMULADOR ─────────────────────────── */
.sim-results-bg {
  background: linear-gradient(145deg, #0f2d37 0%, #1a4a5c 100%);
}

/* ── HERO ENTRADA ANIMATIONS ────────────────────────────── */
@keyframes heroFadeDown {
  from { opacity: 0; transform: translateY(-14px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes heroFadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

.hero-anim-1 { animation: heroFadeDown 0.55s cubic-bezier(0.22, 1, 0.36, 1) both; animation-delay: 0.05s; }
.hero-anim-2 { animation: heroFadeDown 0.6s  cubic-bezier(0.22, 1, 0.36, 1) both; animation-delay: 0.15s; }
.hero-anim-3    { animation: heroFadeDown 0.6s  cubic-bezier(0.22, 1, 0.36, 1) both; animation
/* ── LEAD FORM MODAL ────────────────────────────────────── */
#leadFormModal {
  visibility: hidden;
  opacity: 0;
  transition: visibility 0.3s ease, opacity 0.3s ease;
}
#leadFormModal.modal-visible {
  visibility: visible;
  opacity: 1;
}

/* ── CUPOM MOBILE FIX ───────────────────────────────────── */
@media (max-width: 640px) {
  #heroCorpSection .flex {
    flex-wrap: nowrap;
  }
  #heroCorpSection button {
    min-width: 72px;
    min-height: 44px; /* Touch target mínimo recomendado */
  }
  #heroCorpSection input {
    min-height: 44px;
    font-size: 16px; /* Previne zoom automático no iOS */
  }
}

/* Touch manipulation — melhora resposta ao toque */
.touch-manipulation {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
