/* Custom Animations & Utilities */

@keyframes blob {
    0% {
        transform: translate(0px, 0px) scale(1);
    }
    33% {
        transform: translate(30px, -50px) scale(1.1);
    }
    66% {
        transform: translate(-20px, 20px) scale(0.9);
    }
    100% {
        transform: translate(0px, 0px) scale(1);
    }
}

.animate-blob {
    animation: blob 7s infinite;
}

.animation-delay-2000 {
    animation-delay: 2s;
}

.animation-delay-4000 {
    animation-delay: 4s;
}

/* Glassmorphism */
.glass-nav {
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}

/* Gradient Text */
.text-gradient {
    background: linear-gradient(to right, #da8622, #a22446, #f4ce7b);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Blobs */
.blob {
    position: absolute;
    filter: blur(40px);
    z-index: -1;
    opacity: 0.4;
}

/* Fade In Up Animation Class (applied by JS) */
.fade-in-up {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* Shimmer Animation for Gradient Text */
@keyframes shimmer {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

.animate-shimmer {
    background-size: 200% auto;
    animation: shimmer 5s linear infinite;
}

/* Button Glow Effect */
.btn-glow {
    position: relative;
}

.btn-glow::before {
    content: '';
    position: absolute;
    top: -2px; left: -2px; right: -2px; bottom: -2px;
    background: linear-gradient(45deg, #da8622, #a22446, #f4ce7b);
    z-index: -1;
    border-radius: 9999px;
    filter: blur(10px);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.btn-glow:hover::before {
    opacity: 0.7;
}

/* Grid Pattern for Dark Backgrounds */
.bg-grid-pattern {
    background-image: radial-gradient(rgba(255, 255, 255, 0.1) 1px, transparent 1px);
    background-size: 30px 30px;
}

/* Smooth Scroll Behavior */
html {
    scroll-behavior: smooth;
}

/* Selection Color */
::selection {
    background-color: #da8622;
    color: white;
}

@keyframes scroll-wheel {
    0% { transform: translateY(0); opacity: 1; }
    100% { transform: translateY(12px); opacity: 0; }
}
.animate-scroll {
    animation: scroll-wheel 1.5s cubic-bezier(0.65, 0.05, 0.36, 1) infinite;
}