/* Estilos adicionais além do Tailwind */

/* Animações */
@keyframes pulse {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.7;
  }
  100% {
    opacity: 1;
  }
}

@keyframes bounce {
  0%, 100% {
    transform: translateY(-25%);
    animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
  }
  50% {
    transform: translateY(0);
    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
  }
}

.animate-pulse {
  animation: pulse 2s infinite;
}

.animate-bounce {
  animation: bounce 1s infinite;
}

/* Gradientes e backgrounds */
.bg-gradient-to-br {
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}

.from-purple-900 {
  --tw-gradient-from: #4c1d95;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(76, 29, 149, 0));
}

.via-purple-800 {
  --tw-gradient-stops: var(--tw-gradient-from), #6b21a8, var(--tw-gradient-to, rgba(107, 33, 168, 0));
}

.to-indigo-900 {
  --tw-gradient-to: #312e81;
}

/* Efeitos de blur para o design moderno */
.blur-3xl {
  --tw-blur: blur(64px);
  filter: var(--tw-blur);
}

.backdrop-blur-sm {
  --tw-backdrop-blur: blur(4px);
  backdrop-filter: var(--tw-backdrop-blur);
}

/* Efeitos de transição */
.transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

.transform {
  transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:scale-105:hover {
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
}

.hover\:scale-\[1\.02\]:hover {
  --tw-scale-x: 1.02;
  --tw-scale-y: 1.02;
}

/* Aspect ratio para o container de vídeo */
.aspect-video {
  aspect-ratio: 16 / 9;
}

/* Textos com gradiente */
.bg-clip-text {
  -webkit-background-clip: text;
  background-clip: text;
}

.text-transparent {
  color: transparent;
}

.bg-gradient-to-r {
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}

.from-green-400 {
  --tw-gradient-from: #34d399;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(52, 211, 153, 0));
}

.to-emerald-500 {
  --tw-gradient-to: #10b981;
}

/* Ajuste para elementos fixados na tela */
.fixed {
  position: fixed;
}

/* Estilos específicos para FAQ */
.faq-item .faq-answer.active {
  display: block;
}

.faq-item .faq-chevron-down.hidden,
.faq-item .faq-chevron-up.hidden {
  display: none;
}

.faq-item .faq-chevron-down,
.faq-item .faq-chevron-up {
  display: inline-flex;
}

/* Ajustes para responsividade em telas menores */
@media (max-width: 768px) {
  .md\:px-12 {
    padding-left: 3rem;
    padding-right: 3rem;
  }
  
  .md\:py-6 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
  
  .md\:text-6xl {
    font-size: 3.75rem;
    line-height: 1;
  }
}
