/* Redução proporcional global da página (90% do tamanho original) */
html {
  scroll-behavior: smooth;
  font-size: 90%;
}

@media (min-width: 1536px) {
  html {
    font-size: 95%; /* Um pouco maior em telas muito grandes para não sobrar muito espaço */
  }
}

.whatsapp-float {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 100;
  animation: pulse-green 2s infinite;
}

@keyframes pulse-green {
  0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.7); }
  70% { transform: scale(1.05); box-shadow: 0 0 0 10px rgba(37, 211, 102, 0); }
  100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); }
}

/* Animation for Infinite Carousel */
@keyframes scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.animate-scroll {
  animation: scroll 40s linear infinite;
  width: max-content;
}

.animate-scroll:hover {
  animation-play-state: paused;
}

/* Dot Pattern Background */
.bg-dot-pattern {
  background-color: #f8fafc;
  background-image: radial-gradient(#cbd5e1 1.5px, transparent 1.5px);
  background-size: 24px 24px;
}

/* Custom Animations */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-fade-in-up {
  opacity: 0;
  animation: fadeInUp 0.8s ease-out forwards;
}

/* Canvas Styles */
#hero-canvas {
  pointer-events: none;
  mix-blend-mode: screen;
}

/* Accordion Transition */
.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-out, opacity 0.3s ease-out;
  opacity: 0;
}

.faq-item.active .faq-answer {
  max-height: 500px;
  opacity: 1;
  padding-bottom: 1.5rem;
}

.faq-item.active .chevron-icon {
  transform: rotate(180deg);
}

/* Audio Player Styles */
.player-btn.playing {
  background-color: currentColor;
  color: white !important;
}