/* Global Custom Styles */

/* Glassmorphism Utilities */
.glass-panel {
    background: rgba(255, 255, 255, 0.03);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
}

.glass-card {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.01));
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.05);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

/* HIGH PERFORMANCE GLASS - No Blur */
.glass-lite {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02));
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    /* No backdrop-filter to prevent lag during 3D transforms */
}

.will-change-transform {
    will-change: transform;
}

.glass-card:hover {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.02));
    border-color: rgba(56, 189, 248, 0.3);
    /* Accent color hint */
    transform: translateY(-5px);
    box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.5);
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #020c1b;
    /* New Primary */
}

::-webkit-scrollbar-thumb {
    background: #1e293b;
    /* Secondary */
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #00d2ff;
    /* Brand Cyan */
}

/* Utility Animations */
@keyframes float {
    0% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-10px);
    }

    100% {
        transform: translateY(0px);
    }
}

.animate-float {
    animation: float 6s ease-in-out infinite;
}


.animate-float-delayed {
    animation: float 8s ease-in-out infinite 2s;
}

/* Marquee Animation */
.marquee-container {
    mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
    -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
    overflow: hidden;
}

.marquee-content {
    display: flex;
    white-space: nowrap;
    width: max-content;
    animation: marquee-scroll 40s linear infinite;
    gap: 4rem;
    /* Standardizing gap */
}

/* Ensure icons don't shrink */
.marquee-content>* {
    flex-shrink: 0;
}

@keyframes marquee-scroll {
    from {
        transform: translateX(0);
    }

    to {
        /* Move by 50% of the container width (which contains two identical sets) */
        transform: translateX(-50%);
    }
}

/* Pause on hover */
.marquee-container:hover .marquee-content {
    animation-play-state: paused;
}

/* Since the page is RTL, let's make sure the scroll feels natural */
[dir="rtl"] .marquee-content {
    animation: marquee-scroll-rtl 40s linear infinite;
}

@keyframes marquee-scroll-rtl {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(50%);
    }
}