* {
  transition: background-color 0.25s ease, border-color 0.25s ease, color 0.2s ease;
}

.bg-custom-image {
  background-image: url('background.jpg');
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
}

.aurora-mesh {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 640px;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;
}

.aurora-beam {
  position: absolute;
  width: 140%;
  left: -20%;
  height: 280px;
  top: 60px;
  background: linear-gradient(90deg, 
    rgba(56, 189, 248, 0.75) 0%, 
    rgba(96, 165, 250, 0.8) 25%, 
    rgba(168, 85, 247, 0.85) 55%, 
    rgba(217, 70, 239, 0.65) 75%, 
    rgba(192, 132, 252, 0.4) 100%
  );
  filter: blur(65px);
  border-radius: 9999px;
  opacity: 0.85;
  transform: rotate(-2.5deg);
  animation: auroraFloat 12s ease-in-out infinite alternate;
}

.dark .aurora-beam {
  opacity: 0.55;
  filter: blur(75px);
  background: linear-gradient(90deg, 
    rgba(14, 165, 233, 0.6) 0%, 
    rgba(99, 102, 241, 0.75) 35%, 
    rgba(168, 85, 247, 0.85) 65%, 
    rgba(236, 72, 153, 0.6) 100%
  );
}

@keyframes auroraFloat {
  0% { transform: rotate(-3deg) scaleY(0.9) translateY(0px); }
  50% { transform: rotate(-1.5deg) scaleY(1.1) translateY(14px); }
  100% { transform: rotate(-2deg) scaleY(1) translateY(-8px); }
}

.cult-title-gradient {
  background: linear-gradient(135deg, #a855f7 0%, #7e22ce 60%, #6b21a8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.dark .cult-title-gradient {
  background: linear-gradient(135deg, #c084fc 0%, #a855f7 50%, #e879f9 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.product-title-gradient {
  background: linear-gradient(135deg, #9333ea 0%, #a855f7 40%, #c084fc 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.pill-shadow {
  box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.06), 0 2px 6px -1px rgba(0, 0, 0, 0.03);
}

.dark .pill-shadow {
  box-shadow: 0 6px 24px -2px rgba(0, 0, 0, 0.5);
}

.card-img-fade {
  mask-image: linear-gradient(to right, transparent 0%, black 18%, black 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 18%, black 100%);
}

@media (max-width: 1024px) {
  .card-img-fade {
    mask-image: linear-gradient(to bottom, transparent 0%, black 15%, black 100%);
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 15%, black 100%);
  }
}

@keyframes toastSlide {
  from { transform: translateY(100%) scale(0.95); opacity: 0; }
  to { transform: translateY(0) scale(1); opacity: 1; }
}

.toast-animate {
  animation: toastSlide 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}