/* Custom Scrollbar */
        ::-webkit-scrollbar {
            width: 8px;
        }
        ::-webkit-scrollbar-track {
            background: #0a0a12;
        }
        ::-webkit-scrollbar-thumb {
            background: linear-gradient(to bottom, #b026ff, #00f3ff);
            border-radius: 4px;
        }

        body {
            background-color: #050505;
            color: white;
            overflow-x: hidden;
        }

        /* 3D Canvas Background */
        #bg-canvas {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: -1;
            opacity: 0.6;
        }

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

        .glass-panel {
            background: rgba(10, 10, 18, 0.7);
            backdrop-filter: blur(20px);
            border-bottom: 1px solid rgba(176, 38, 255, 0.3);
                    /* smooth background transitions when toggling mobile state */
                    transition: background-color 220ms ease, backdrop-filter 220ms ease;
        }

        /* When mobile panel is open we want the navbar to be slightly darker and blurred
           so the top bar doesn't look fully transparent. Use ~25% black with blur. */
        #navbar.mobile-open {
            background: rgba(0,0,0,0.25) !important;
            -webkit-backdrop-filter: blur(6px) !important;
            backdrop-filter: blur(6px) !important;
            border-bottom-color: rgba(176,38,255,0.15) !important;
        }

        /* Mobile menu item subtle hover and spacing polish */
        #mobile-menu a {
            transition: background-color 150ms ease, color 150ms ease, transform 150ms ease;
        }

        #mobile-menu a:hover {
            transform: translateX(2px);
        }

        /* ensure the mobile panel's inner box contrasts strongly on all devices */
        .shadow-inner {
            box-shadow: inset 0 1px 0 rgba(255,255,255,0.02), inset 0 -6px 24px rgba(0,0,0,0.5);
        }

        /* 3D Tilt Effect CSS Logic (applied via JS) */
        .product-card {
            transition: transform 0.1s ease-out;
            transform-style: preserve-3d;
        }
        
        .product-content {
            transform: translateZ(20px);
        }

        /* Text Gradient */
.text-gradient {
    background: linear-gradient(to right, #00f3ff, #b026ff, #ff26be);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-size: 200% auto;
    animation: gradientMove 3s linear infinite;
}

/* Gradient Animation */
@keyframes gradientMove {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}


        /* Loader */
        .loader-wrapper {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: #050505;
            z-index: 9999;
            display: flex;
            justify-content: center;
            align-items: center;
            transition: opacity 0.5s ease;
        }
        
        /* Steps Line Connector */
        .step-connector {
            position: absolute;
            top: 50%;
            left: 0;
            width: 100%;
            height: 2px;
            background: linear-gradient(to right, #b026ff, #00f3ff);
            z-index: 0;
            transform: translateY(-50%);
        }
        
