/* Smooth Page Transitions */
body {
  animation: fadeIn 0.4s ease-in-out;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* Smooth transitions for content blocks */
.container {
  animation: slideUpFade 0.5s ease-out;
}

@keyframes slideUpFade {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Smooth link transitions */
a {
  transition: color 0.2s ease, opacity 0.2s ease;
}

a:hover {
  transition: color 0.2s ease, opacity 0.2s ease;
}

/* Smooth button transitions */
.btn {
  transition: all 0.2s ease;
}

.btn:hover {
  transition: all 0.2s ease;
}

/* Smooth card transitions */
.card {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.card:hover {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* Smooth navbar transitions */
.navbar {
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.nav-link {
  transition: color 0.2s ease, opacity 0.2s ease;
}

/* Smooth table row transitions */
.table tbody tr {
  transition: background-color 0.2s ease;
}

/* Smooth form element transitions */
.form-control,
.form-select {
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.form-control:focus,
.form-select:focus {
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

/* Smooth badge transitions */
.badge {
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.badge:hover {
  transition: transform 0.2s ease, opacity 0.2s ease;
}

/* Smooth image transitions */
img {
  transition: opacity 0.3s ease, transform 0.3s ease;
}

/* Prevent transitions on page load for better performance */
.preload * {
  animation: none !important;
  transition: none !important;
}

