/* ==========================================================================
   PORTALMU — ANIMAÇÕES & EFEITOS CINEMATOGRÁFICOS (ANIMATIONS.CSS)
   ========================================================================== */

@keyframes pulseGlow {
  0%, 100% {
    filter: drop-shadow(0 0 15px rgba(212, 168, 83, 0.4));
    transform: scale(1);
  }
  50% {
    filter: drop-shadow(0 0 35px rgba(212, 168, 83, 0.8));
    transform: scale(1.02);
  }
}

@keyframes rotatePortal {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@keyframes rotatePortalReverse {
  0% {
    transform: rotate(360deg);
  }
  100% {
    transform: rotate(0deg);
  }
}

@keyframes floatHero {
  0%, 100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-12px);
  }
}

@keyframes energyRays {
  0% {
    opacity: 0.3;
    transform: scaleY(0.8) translateY(0);
  }
  50% {
    opacity: 0.8;
    transform: scaleY(1.1) translateY(-10px);
  }
  100% {
    opacity: 0.3;
    transform: scaleY(0.8) translateY(0);
  }
}

@keyframes shimmerText {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}

@keyframes radarPing {
  0% {
    transform: scale(1);
    opacity: 0.8;
  }
  100% {
    transform: scale(2.2);
    opacity: 0;
  }
}

/* Classes Utilitárias de Animação */
.animate-float {
  animation: floatHero 6s ease-in-out infinite;
}

.animate-rotate {
  animation: rotatePortal 30s linear infinite;
}

.animate-rotate-reverse {
  animation: rotatePortalReverse 22s linear infinite;
}

.animate-pulse-glow {
  animation: pulseGlow 3s ease-in-out infinite;
}

/* Efeito de Vidro Fosco & Borda Dourada */
.glass-panel {
  background: var(--bg-glass-card);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid var(--bg-glass-border);
  border-radius: var(--radius-md);
  transition: all var(--transition-normal);
}

.glass-panel:hover {
  border-color: rgba(212, 168, 83, 0.5);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.5), 0 0 20px rgba(212, 168, 83, 0.15);
  transform: translateY(-4px);
}

/* Botões Cinematográficos */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-family: var(--font-accent);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  padding: 16px 36px;
  border-radius: var(--radius-sm);
  text-decoration: none;
  cursor: pointer;
  border: none;
  position: relative;
  overflow: hidden;
  transition: all var(--transition-normal);
  font-size: 0.95rem;
  z-index: 1;
}

.btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
  transition: left 0.6s ease;
  z-index: -1;
}

.btn:hover::before {
  left: 100%;
}

.btn-classic {
  background: linear-gradient(135deg, #b8860b 0%, #d4a853 50%, #e25822 100%);
  color: #06080e;
  box-shadow: 0 4px 20px rgba(212, 168, 83, 0.35);
  border: 1px solid rgba(255, 248, 225, 0.4);
}

.btn-classic:hover {
  background: linear-gradient(135deg, #d4a853 0%, #ffd54f 50%, #ff6f00 100%);
  box-shadow: 0 6px 30px rgba(226, 88, 34, 0.55), 0 0 20px rgba(212, 168, 83, 0.6);
  transform: translateY(-2px) scale(1.02);
}

.btn-s21 {
  background: linear-gradient(135deg, #0099ff 0%, #00d2ff 50%, #8a2be2 100%);
  color: #06080e;
  box-shadow: 0 4px 20px rgba(0, 210, 255, 0.35);
  border: 1px solid rgba(224, 247, 250, 0.4);
}

.btn-s21:hover {
  background: linear-gradient(135deg, #00d2ff 0%, #80d8ff 50%, #b388ff 100%);
  box-shadow: 0 6px 30px rgba(0, 210, 255, 0.55), 0 0 20px rgba(138, 43, 226, 0.6);
  transform: translateY(-2px) scale(1.02);
}

.btn-outline {
  background: rgba(16, 21, 36, 0.6);
  color: var(--text-main);
  border: 1px solid rgba(212, 168, 83, 0.35);
  backdrop-filter: blur(8px);
}

.btn-outline:hover {
  background: rgba(212, 168, 83, 0.15);
  border-color: var(--classic-gold);
  color: var(--classic-gold-light);
  box-shadow: var(--glow-gold);
}

.btn-partner {
  background: linear-gradient(135deg, #00b4db 0%, #0083b0 100%);
  color: #ffffff;
  border: 1px solid rgba(0, 229, 255, 0.5);
  box-shadow: 0 4px 20px rgba(0, 180, 219, 0.4);
}

.btn-partner:hover {
  background: linear-gradient(135deg, #00e5ff 0%, #0091ea 100%);
  box-shadow: 0 6px 30px rgba(0, 229, 255, 0.6);
  transform: translateY(-2px);
}
