/* Rally Veículos - Shared Animation Styles */

/* Page transition */
body { animation: pageLoad 0.5s ease-out; overflow-x: hidden; }
@keyframes pageLoad { from { opacity: 0; } to { opacity: 1; } }

/* Scroll reveal animations */
.reveal { 
  opacity: 0; 
  transform: translateY(60px);
  transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}
.reveal.active { 
  opacity: 1; 
  transform: translateY(0);
}
.reveal-left {
  opacity: 0;
  transform: translateX(-60px);
  transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}
.reveal-left.active {
  opacity: 1;
  transform: translateX(0);
}
.reveal-right {
  opacity: 0;
  transform: translateX(60px);
  transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}
.reveal-right.active {
  opacity: 1;
  transform: translateX(0);
}
.reveal-scale {
  opacity: 0;
  transform: scale(0.8);
  transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}
.reveal-scale.active {
  opacity: 1;
  transform: scale(1);
}

/* Stagger delays */
.stagger-1 { transition-delay: 0.1s; }
.stagger-2 { transition-delay: 0.2s; }
.stagger-3 { transition-delay: 0.3s; }
.stagger-4 { transition-delay: 0.4s; }
.stagger-5 { transition-delay: 0.5s; }
.stagger-6 { transition-delay: 0.6s; }

/* Text shimmer */
.text-shimmer {
  background: linear-gradient(90deg, #FFCC00, #FFE066, #FFCC00);
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: shimmer 3s linear infinite;
}
@keyframes shimmer { to { background-position: 200% center; } }

/* Button animations */
.btn-animated {
  position: relative;
  overflow: hidden;
  transition: all 0.4s ease;
}
.btn-animated::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
  transition: left 0.6s ease;
}
.btn-animated:hover::before { left: 100%; }
.btn-animated:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 30px rgba(255, 204, 0, 0.3);
}

/* Vehicle card animations */
.vehicle-card { 
  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.vehicle-card:hover { 
  transform: translateY(-12px) scale(1.02); 
  border-color: rgba(255, 204, 0, 0.5); 
  box-shadow: 0 30px 60px -15px rgba(255, 204, 0, 0.2);
}
.vehicle-card:hover .vehicle-image { transform: scale(1.1); }
.vehicle-card:hover .vehicle-overlay { opacity: 1; }
.vehicle-image { transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1); }
.vehicle-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, transparent 50%);
  opacity: 0;
  transition: opacity 0.4s ease;
}

/* WhatsApp button */
.whatsapp-btn { 
  animation: whatsappPulse 2s ease-in-out infinite;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.whatsapp-btn:hover { 
  transform: scale(1.15) rotate(10deg); 
  box-shadow: 0 15px 40px rgba(37, 211, 102, 0.5);
}
@keyframes whatsappPulse { 
  0%, 100% { transform: scale(1); box-shadow: 0 8px 32px rgba(37, 211, 102, 0.4); } 
  50% { transform: scale(1.08); box-shadow: 0 12px 40px rgba(37, 211, 102, 0.6); } 
}

/* Testimonial card */
.testimonial-card { 
  transition: all 0.4s ease;
}
.testimonial-card:hover {
  transform: translateX(10px);
  box-shadow: -10px 0 30px rgba(255, 204, 0, 0.1);
}

/* Feature card */
.feature-card { transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1); }
.feature-card:hover {
  transform: translateY(-10px);
  background: #1A1A1E;
  border-color: rgba(255, 204, 0, 0.3);
}
.feature-card:hover .feature-icon {
  transform: scale(1.1) rotate(5deg);
  background: rgba(255, 204, 0, 0.2);
}
.feature-icon { transition: all 0.4s ease; }

/* Mobile menu animation */
.mobile-menu a {
  opacity: 0;
  transform: translateX(30px);
  transition: all 0.4s ease;
}
.mobile-menu.open a {
  opacity: 1;
  transform: translateX(0);
}
.mobile-menu.open a:nth-child(1) { transition-delay: 0.1s; }
.mobile-menu.open a:nth-child(2) { transition-delay: 0.15s; }
.mobile-menu.open a:nth-child(3) { transition-delay: 0.2s; }
.mobile-menu.open a:nth-child(4) { transition-delay: 0.25s; }
.mobile-menu.open a:nth-child(5) { transition-delay: 0.3s; }
.mobile-menu.open a:nth-child(6) { transition-delay: 0.35s; }

/* Float animation */
.float { animation: float 4s ease-in-out infinite; }
@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-15px); }
}

/* Stat counter animation */
.stat-card {
  transition: all 0.4s ease;
}
.stat-card:hover {
  transform: translateY(-5px);
  border-color: rgba(255, 204, 0, 0.5);
  background: #121215;
}
.stat-card:hover .stat-number {
  transform: scale(1.1);
}
.stat-number {
  transition: transform 0.3s ease;
}

/* Form input focus animation */
.form-input {
  transition: all 0.3s ease;
}
.form-input:focus {
  border-color: #FFCC00;
  box-shadow: 0 0 0 3px rgba(255, 204, 0, 0.2);
  transform: translateY(-2px);
}

/* Social icon hover */
.social-icon {
  transition: all 0.3s ease;
}
.social-icon:hover {
  transform: scale(1.1) rotate(6deg);
}

/* Map hover */
.map-container {
  transition: all 0.4s ease;
}
.map-container:hover {
  filter: grayscale(0%) contrast(1);
  transform: scale(1.02);
}

/* Value card */
.value-card {
  transition: all 0.4s ease;
}
.value-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(255, 204, 0, 0.1);
}

/* Smooth scrollbar */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #0A0A0C; }
::-webkit-scrollbar-thumb { background: #27272A; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #FFCC00; }
