/* Custom Animations */
@keyframes fade-in {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes ping-slow {
  0% {
    transform: scale(1);
    opacity: 0.3;
  }

  75%,
  100% {
    transform: scale(1.5);
    opacity: 0;
  }
}

@keyframes grow-up {
  0% {
    stroke-dashoffset: 28;
  }

  100% {
    stroke-dashoffset: 0;
  }
}

.animate-fade-in {
  animation: fade-in 0.6s ease-out forwards;
  opacity: 0;
}

.animate-ping-slow {
  animation: ping-slow 3s cubic-bezier(0, 0, 0.2, 1) infinite;
}

.animate-ping-slow-delayed {
  animation: ping-slow 3s cubic-bezier(0, 0, 0.2, 1) infinite;
  animation-delay: 0.5s;
}

.animate-grow-up {
  stroke-dasharray: 28;
  stroke-dashoffset: 28;
  animation: grow-up 1.5s ease-out forwards;
}

/* Delay classes */
.delay-100 {
  animation-delay: 100ms;
}

.delay-200 {
  animation-delay: 200ms;
}

.delay-300 {
  animation-delay: 300ms;
}

.delay-400 {
  animation-delay: 400ms;
}

.delay-500 {
  animation-delay: 500ms;
}

.delay-600 {
  animation-delay: 600ms;
}

.delay-700 {
  animation-delay: 700ms;
}

/* Form focus styles */
input:focus {
  outline: none;
  border-color: #688e07;
  box-shadow: 0 0 0 3px rgba(104, 142, 7, 0.1);
}

/* Button hover */
.btn-primary:hover {
  background-color: #5a7c06;
  box-shadow: 0 4px 12px rgba(104, 142, 7, 0.3);
}

/* Social link hover */
.social-link:hover {
  border-color: #688e07;
  background-color: rgba(104, 142, 7, 0.05);
}

.social-link:hover svg {
  color: #688e07;
}

/* Toast notification */
.toast {
  position: fixed;
  bottom: 20px;
  right: 20px;
  padding: 16px 24px;
  border-radius: 8px;
  color: white;
  font-weight: 500;
  transform: translateY(100px);
  opacity: 0;
  transition: all 0.3s ease;
  z-index: 1000;
}

.toast.show {
  transform: translateY(0);
  opacity: 1;
}

.toast.success {
  background-color: #688e07;
}

.toast.error {
  background-color: #dc2626;
}            