@keyframes gold-bg-move {
  0% { background-position: 0% 50%; }
  100% { background-position: 100% 50%; }
}

@keyframes star-pulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.25); }
  100% { transform: scale(1); }
}

@keyframes gold-text-move {
  0% { background-position: 0% 50%; }
  100% { background-position: 100% 50%; }
}

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

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

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

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

@keyframes modalSlideIn {
  from { transform: translateY(-20px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}

@keyframes fadeInModal {
  from { opacity: 0; transform: scale(0.97);}
  to   { opacity: 1; transform: scale(1);}
}

@keyframes fadeOutModal {
  from { opacity: 1; transform: scale(1);}
  to   { opacity: 0; transform: scale(0.97);}
}

@keyframes confirmModalFadeIn {
  from { opacity: 0; transform: scale(0.98); }
  to   { opacity: 1; transform: scale(1); }
}

@keyframes confirmModalFadeOut {
  from { opacity: 1; transform: scale(1); }
  to   { opacity: 0; transform: scale(0.98); }
}

@keyframes slideInLeft {
  from { transform: translateX(-100%); opacity: 0; }
  to { transform: translateX(0); opacity: 1; }
}

@keyframes slideInRight {
  from { transform: translateX(100%); opacity: 0; }
  to { transform: translateX(0); opacity: 1; }
}

/* Animation classes */
.fade-in {
  animation: fadeIn 0.4s forwards;
}

.fade-out {
  animation: fadeOut 0.4s forwards;
}

.media-modal-fade-in {
  animation: fadeInModal 0.15s cubic-bezier(.4,0,.2,1) forwards;
}

.media-modal-fade-out {
  animation: fadeOutModal 0.25s cubic-bezier(.4,0,.2,1) forwards;
}

.confirm-modal-fade-in {
  animation: confirmModalFadeIn 0.15s cubic-bezier(.4,0,.2,1) forwards;
}

.confirm-modal-fade-out {
  animation: confirmModalFadeOut 0.25s cubic-bezier(.4,0,.2,1) forwards;
}

.slide-in-left {
  animation: slideInLeft 0.3s ease-out forwards;
}

.slide-in-right {
  animation: slideInRight 0.3s ease-out forwards;
}