/* =========================================================================
   EXAM SOLUTIONS PAGE SPECIFIC ANIMATIONS - PREMIUM
========================================================================= */

/* FEATURE CARDS STAGGER - Premium */
.feature-card {
    animation: cardFadeInScale 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) both;
    transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.feature-card:nth-child(1) { animation-delay: 0.1s; }
.feature-card:nth-child(2) { animation-delay: 0.2s; }
.feature-card:nth-child(3) { animation-delay: 0.3s; }
.feature-card:nth-child(4) { animation-delay: 0.4s; }
.feature-card:nth-child(5) { animation-delay: 0.5s; }
.feature-card:nth-child(6) { animation-delay: 0.6s; }

@keyframes cardFadeInScale {
    from {
        opacity: 0;
        transform: scale(0.92) translateY(20px);
        filter: blur(3px);
    }
    to {
        opacity: 1;
        transform: scale(1) translateY(0);
        filter: blur(0);
    }
}

.feature-card:hover {
    transform: translateY(-8px) scale(1.03);
    box-shadow: 0 20px 60px rgba(108, 111, 255, 0.3);
}

/* ICON BOUNCE ON HOVER - Smooth */
.feature-card .card-icon {
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
    will-change: transform;
}

.feature-card:hover .card-icon {
    transform: translateY(-10px) rotate(8deg) scale(1.15);
}

/* SECURITY BADGE PULSE - Premium */
.security-badge {
    animation: badgePulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
    position: relative;
    display: inline-block;
}

@keyframes badgePulse {
    0%, 100% {
        text-shadow: 0 0 10px rgba(108, 111, 255, 0.4),
                     0 0 20px rgba(108, 111, 255, 0.2);
        transform: scale(1);
    }
    50% {
        text-shadow: 0 0 20px rgba(108, 111, 255, 0.8),
                     0 0 40px rgba(108, 111, 255, 0.4);
        transform: scale(1.05);
    }
}

.security-badge::before {
    content: '';
    position: absolute;
    inset: -10px;
    border: 2px solid rgba(108, 111, 255, 0.2);
    border-radius: 50%;
    animation: badgeRing 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes badgeRing {
    from {
        opacity: 1;
        transform: scale(1);
    }
    to {
        opacity: 0;
        transform: scale(1.3);
    }
}

/* PROCTORING INTERFACE SIMULATION - Premium */
.proctoring-demo {
    animation: demoBorder 3s linear infinite;
    transition: all 0.3s ease;
    position: relative;
}

@keyframes demoBorder {
    0% {
        border-color: rgba(108, 111, 255, 0.3);
        box-shadow: 0 0 20px rgba(108, 111, 255, 0.2),
                    inset 0 0 20px rgba(108, 111, 255, 0.05);
    }
    50% {
        border-color: rgba(143, 240, 251, 0.5);
        box-shadow: 0 0 30px rgba(143, 240, 251, 0.3),
                    inset 0 0 30px rgba(143, 240, 251, 0.1);
    }
    100% {
        border-color: rgba(108, 111, 255, 0.3);
        box-shadow: 0 0 20px rgba(108, 111, 255, 0.2),
                    inset 0 0 20px rgba(108, 111, 255, 0.05);
    }
}

.proctoring-demo::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at center, rgba(108, 111, 255, 0.1) 0%, transparent 70%);
    animation: demoPulse 2s ease-in-out infinite;
    pointer-events: none;
}

@keyframes demoPulse {
    0%, 100% {
        opacity: 0.3;
    }
    50% {
        opacity: 0.7;
    }
}

/* STATISTICS COUNTER ANIMATION */
.stat-counter {
    animation: countUp 2s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

@keyframes countUp {
    from {
        opacity: 0;
        transform: translateY(20px) scale(0.8);
        filter: blur(2px);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
        filter: blur(0);
    }
}

/* TABLET BASED TEST SECTION HIGHLIGHT */
.tablet-section {
    animation: sectionHighlight 0.8s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes sectionHighlight {
    0% {
        background-position: -100% 0;
        filter: brightness(1);
    }
    100% {
        background-position: 100% 0;
        filter: brightness(1.05);
    }
}

/* TEXT ANIMATION - Typing Effect */
.typing-text {
    animation: typeWriter 0.6s steps(40, end);
    border-right: 2px solid var(--accent);
    border-right-animation: blink 0.7s step-end infinite;
}

@keyframes typeWriter {
    from {
        width: 0;
    }
    to {
        width: 100%;
    }
}

@keyframes blink {
    50% {
        border-color: transparent;
    }
}

