/* animations.css - Enhanced Animations for Akshay Khandizod Portfolio */

/* Fade-in animation for sections */
[data-aos] {
  opacity: 0;
  transition-property: opacity, transform;
}
[data-aos].aos-animate {
  opacity: 1;
}

/* Floating animation for hero avatar */
@keyframes float {
  0%, 100% { 
    transform: translateY(0px);
  }
  50% { 
    transform: translateY(-10px);
  }
}

.hero-profile {
  animation: float 3s ease-in-out infinite;
}

/* Animated headline typing effect */
.animated-headline {
  overflow: hidden;
  white-space: nowrap;
  border-right: 3px solid var(--secondary);
  animation: typing 4s steps(50, end), blink-caret 0.75s step-end infinite;
}

@keyframes typing {
  from { width: 0 }
  to { width: 100% }
}

@keyframes blink-caret {
  from, to { border-color: transparent }
  50% { border-color: var(--secondary); }
}

/* Pulse animation for buttons */
@keyframes pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(46, 49, 146, 0.7);
  }
  70% {
    box-shadow: 0 0 0 10px rgba(46, 49, 146, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(46, 49, 146, 0);
  }
}

.btn:hover {
  animation: pulse 1.5s infinite;
}

/* Smooth reveal animations */
@keyframes slideInFromLeft {
  0% {
    transform: translateX(-100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}

@keyframes slideInFromRight {
  0% {
    transform: translateX(100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}

@keyframes slideInFromBottom {
  0% {
    transform: translateY(100%);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

/* Timeline animation */
.timeline-item {
  opacity: 0;
  transform: translateX(-40px);
  transition: opacity 0.6s, transform 0.6s;
}
.timeline-item.aos-animate {
  opacity: 1;
  transform: translateX(0);
}

/* Enhanced project card animations */
.project-card {
  transition: all 0.3s ease;
  transform: translateY(0);
}

.project-card:hover {
  transform: translateY(-12px) scale(1.05);
  box-shadow: 0 20px 40px rgba(46,49,146,0.2);
}

.project-card img {
  transition: transform 0.3s ease;
}

.project-card:hover img {
  transform: scale(1.1);
}

/* Skill category hover effects */
.skill-category {
  transition: all 0.3s ease;
}

.skill-category:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 30px rgba(46,49,146,0.15);
}

/* Certification card animations */
.cert-card {
  transition: all 0.3s ease;
}

.cert-card:hover {
  transform: translateY(-8px) rotate(2deg);
  box-shadow: 0 15px 30px rgba(46,49,146,0.2);
}

/* Navbar logo animation */
.logo {
  transition: all 0.3s ease;
}

.logo:hover {
  transform: scale(1.05);
  color: var(--secondary);
}

/* Hamburger menu animation */
.hamburger.active span:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}
.hamburger.active span:nth-child(2) {
  opacity: 0;
}
.hamburger.active span:nth-child(3) {
  transform: rotate(-45deg) translate(5px, -5px);
}

/* Loading animation for images */
@keyframes shimmer {
  0% {
    background-position: -200px 0;
  }
  100% {
    background-position: calc(200px + 100%) 0;
  }
}

.loading-shimmer {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200px 100%;
  animation: shimmer 1.5s infinite;
}

/* Smooth transitions for all interactive elements */
* {
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
