/* WOW Effects - Advanced Visual Enhancements */

/* Holographic text shimmer effect */
@keyframes hologram-shimmer {
    0% { 
        background-position: -100% 0;
        text-shadow: 
            0 0 10px var(--neon-blue),
            0 0 20px var(--neon-blue),
            0 0 30px var(--neon-blue);
    }
    50% {
        text-shadow: 
            0 0 20px var(--neon-cyan),
            0 0 30px var(--neon-cyan),
            0 0 40px var(--neon-cyan),
            0 0 50px var(--neon-cyan);
    }
    100% { 
        background-position: 100% 0;
        text-shadow: 
            0 0 10px var(--neon-blue),
            0 0 20px var(--neon-blue),
            0 0 30px var(--neon-blue);
    }
}

/* Enhanced holographic text */
.holographic-text {
    background: linear-gradient(
        45deg,
        transparent 25%,
        rgba(0, 255, 255, 0.3) 50%,
        transparent 75%
    );
    background-size: 200% 100%;
    animation: hologram-shimmer 3s ease-in-out infinite;
    position: relative;
}

/* Cyber glitch effect for cards */
@keyframes cyber-glitch {
    0%, 100% { 
        transform: translateX(0);
        filter: hue-rotate(0deg);
    }
    10% { 
        transform: translateX(-2px) skewX(0.5deg);
        filter: hue-rotate(90deg);
    }
    20% { 
        transform: translateX(2px) skewX(-0.5deg);
        filter: hue-rotate(0deg);
    }
    30% { 
        transform: translateX(-1px);
        filter: hue-rotate(180deg);
    }
    40%, 60% { 
        transform: translateX(0);
        filter: hue-rotate(0deg);
    }
}

/* Enhanced card hover effects */
.card-wrapper {
    position: relative;
    overflow: hidden;
}

.card-wrapper::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(0, 255, 255, 0.1),
        transparent
    );
    transition: left 0.8s ease;
    z-index: 1;
}

.card-wrapper:hover::before {
    left: 100%;
}

.card-wrapper:hover {
    animation: cyber-glitch 0.3s ease-in-out;
}

/* Neon border pulse */
@keyframes neon-pulse {
    0%, 100% {
        box-shadow: 
            0 0 5px var(--neon-blue),
            0 0 10px var(--neon-blue),
            0 0 15px var(--neon-blue),
            inset 0 0 5px rgba(0, 255, 255, 0.1);
    }
    50% {
        box-shadow: 
            0 0 10px var(--neon-cyan),
            0 0 20px var(--neon-cyan),
            0 0 30px var(--neon-cyan),
            inset 0 0 10px rgba(0, 255, 255, 0.2);
    }
}

/* Enhanced card styles */
.activation-card, .contact-card, .faq-item {
    border: 1px solid rgba(0, 255, 255, 0.3);
    animation: neon-pulse 4s ease-in-out infinite;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

/* Particle trail effect */
@keyframes particle-trail {
    0% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
    100% {
        opacity: 0;
        transform: translateY(-20px) scale(0.5);
    }
}

.particle-trail {
    position: absolute;
    width: 4px;
    height: 4px;
    background: var(--neon-cyan);
    border-radius: 50%;
    pointer-events: none;
    animation: particle-trail 1s ease-out forwards;
    box-shadow: 0 0 10px var(--neon-cyan);
}

/* Enhanced floating card */
.floating-card {
    backdrop-filter: blur(15px);
    border: 2px solid rgba(0, 255, 255, 0.4);
    box-shadow: 
        0 8px 32px rgba(0, 0, 0, 0.8),
        0 0 0 1px rgba(0, 255, 255, 0.2),
        inset 0 0 20px rgba(0, 255, 255, 0.05);
    position: relative;
    overflow: hidden;
}

.floating-card::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: linear-gradient(
        45deg,
        transparent,
        rgba(0, 255, 255, 0.03),
        transparent
    );
    animation: rotate 8s linear infinite;
}

@keyframes rotate {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Matrix rain enhancement */
#matrix-rain {
    filter: blur(0.5px);
    opacity: 0.6;
}

/* Cyber scan lines */
.cyber-scanlines {
    position: relative;
    overflow: hidden;
}

.cyber-scanlines::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(
        transparent 50%,
        rgba(0, 255, 255, 0.03) 50%
    );
    background-size: 100% 4px;
    pointer-events: none;
    animation: scan-lines 0.1s linear infinite;
}

@keyframes scan-lines {
    0% { transform: translateY(0); }
    100% { transform: translateY(4px); }
}

/* Enhanced button effects */
.btn-cyber, .help-btn, .contact-link {
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease;
}

.btn-cyber::before, .help-btn::before, .contact-link::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    background: radial-gradient(
        circle,
        rgba(0, 255, 255, 0.3) 0%,
        transparent 70%
    );
    transition: all 0.4s ease;
    transform: translate(-50%, -50%);
    z-index: 0;
}

.btn-cyber:hover::before, .help-btn:hover::before, .contact-link:hover::before {
    width: 300px;
    height: 300px;
}

/* Text glow effect */
.glow-text {
    animation: text-glow 2s ease-in-out infinite alternate;
}

@keyframes text-glow {
    from {
        text-shadow: 
            0 0 5px var(--neon-blue),
            0 0 10px var(--neon-blue),
            0 0 15px var(--neon-blue);
    }
    to {
        text-shadow: 
            0 0 10px var(--neon-cyan),
            0 0 20px var(--neon-cyan),
            0 0 30px var(--neon-cyan),
            0 0 40px var(--neon-cyan);
    }
}

/* Enhanced navigation */
.nav-link {
    position: relative;
    transition: all 0.3s ease;
}

.nav-link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--neon-cyan), transparent);
    transition: all 0.3s ease;
    transform: translateX(-50%);
}

.nav-link:hover::after,
.nav-link.active::after {
    width: 100%;
}

/* Screen reflection effect */
.screen-reflection {
    position: relative;
}

.screen-reflection::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(
        135deg,
        rgba(255, 255, 255, 0.1) 0%,
        transparent 50%,
        rgba(255, 255, 255, 0.05) 100%
    );
    pointer-events: none;
    z-index: 1;
}

/* Enhanced loading screen */
.loading-screen {
    background: radial-gradient(
        ellipse at center,
        rgba(0, 30, 60, 0.9) 0%,
        rgba(0, 0, 0, 0.95) 100%
    );
}

.loading-progress {
    box-shadow: 
        0 0 10px var(--neon-cyan),
        inset 0 0 10px rgba(0, 255, 255, 0.2);
}

/* Responsive enhancements */
@media (max-width: 768px) {
    .cyber-scanlines::after {
        background-size: 100% 2px;
    }
    
    .holographic-text {
        animation-duration: 2s;
    }
    
    .neon-pulse {
        animation-duration: 3s;
    }
}

/* Ripple effect */
.ripple-effect {
    position: absolute;
    border-radius: 50%;
    background: radial-gradient(
        circle,
        rgba(0, 255, 255, 0.4) 0%,
        rgba(0, 255, 255, 0.1) 70%,
        transparent 100%
    );
    transform: translate(-50%, -50%);
    animation: ripple 0.6s ease-out;
    pointer-events: none;
    z-index: 1;
}

@keyframes ripple {
    0% {
        width: 0;
        height: 0;
        opacity: 1;
    }
    100% {
        width: 100px;
        height: 100px;
        opacity: 0;
    }
}

/* Enhanced title effects */
.section-title {
    position: relative;
    overflow: hidden;
}

.section-title::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 50%;
    width: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--neon-cyan), transparent);
    transition: all 0.5s ease;
    transform: translateX(-50%);
}

.section-title:hover::after {
    width: 100%;
}

/* Click Wave Effect Animation - Minimized */
@keyframes click-wave {
    0% {
        transform: scale(0);
        opacity: 0.8;
        box-shadow: 0 0 5px #00ffff;
    }
    50% {
        opacity: 0.6;
        box-shadow: 0 0 10px #00ffff;
    }
    100% {
        transform: scale(2);
        opacity: 0;
        box-shadow: 0 0 15px #00ffff;
    }
}

/* Performance optimization */
@media (prefers-reduced-motion: reduce) {
    .holographic-text,
    .cyber-glitch,
    .neon-pulse,
    .particle-trail,
    .rotate,
    .scan-lines,
    .text-glow,
    .ripple {
        animation: none;
    }
    
    .card-wrapper::before,
    .btn-cyber::before,
    .help-btn::before,
    .contact-link::before {
        transition: none;
    }
}