/* animations.css - transitions, reveal, shimmer, toast - split from index.html */

        /* ── ANIMATIONS ── */
        @keyframes fadeInDown { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } }
        @keyframes glowPulse { 0%,100% { box-shadow: 0 0 8px rgba(122,0,0,0.3); } 50% { box-shadow: 0 0 20px rgba(122,0,0,0.6); } }

        /* ── PAGE TRANSITION OVERLAY ── */
        .page-transition-overlay {
            position: fixed; inset: 0; z-index: 99999;
            background: #050505;
            pointer-events: none;
            opacity: 0;
            transition: opacity 0.25s ease;
        }
        .page-transition-overlay.active {
            opacity: 1;
        }

        /* ── ENHANCED TAB TRANSITION ── */
        .tab-content { display: none; }
        .tab-content.active { display: block; animation: tabFadeIn 0.45s cubic-bezier(0.4,0,0.2,1) both; }
        @keyframes tabFadeIn {
            from { opacity: 0; transform: translateY(12px); }
            to { opacity: 1; transform: translateY(0); }
        }

        /* ── SCROLL REVEAL (enhanced) ── */
        .reveal { opacity: 0; transform: translateY(40px); transition: opacity 0.7s cubic-bezier(0.4,0,0.2,1), transform 0.7s cubic-bezier(0.4,0,0.2,1); }
        .reveal.visible { opacity: 1; transform: translateY(0); }

        /* ── CARD STAGGER REVEAL ── */
        .fcard, .feature-card, .plan-card, .cmd-card, .manage-card, .ticket-panel-card {
            transition: all 0.3s cubic-bezier(0.4,0,0.2,1), transform 0.3s cubic-bezier(0.34,1.56,0.64,1) !important;
        }
        .fcard:hover, .feature-card:hover {
            transform: translateY(-4px) scale(1.01) !important;
        }

        /* ── NAV MICRO-INTERACTIONS ── */
        .nav-link {
            position: relative;
            overflow: hidden;
        }
        .nav-link::after {
            content: '';
            position: absolute; bottom: 0; left: 50%; right: 50%;
            height: 2px; background: var(--red);
            border-radius: 2px;
            transition: left 0.25s ease, right 0.25s ease;
        }
        .nav-link:hover::after,
        .nav-link.active::after {
            left: 20%; right: 20%;
        }

        /* ── BUTTON RIPPLE ── */
        .btn-hero, .btn-primary, .btn-ghost, .btn-solid-red, .btn-outline-red, .nav-cta, .plan-btn, .manage-save-btn {
            position: relative;
            overflow: hidden;
        }
        .btn-hero::after, .btn-primary::after, .btn-ghost::after, .btn-solid-red::after, .btn-outline-red::after, .nav-cta::after, .plan-btn::after, .manage-save-btn::after {
            content: '';
            position: absolute; inset: 0;
            background: radial-gradient(circle at var(--mx,50%) var(--my,50%), rgba(255,255,255,0.15) 0%, transparent 60%);
            opacity: 0;
            transition: opacity 0.3s;
            pointer-events: none;
        }
        .btn-hero:hover::after, .btn-primary:hover::after, .btn-ghost:hover::after, .btn-solid-red:hover::after, .btn-outline-red:hover::after, .nav-cta:hover::after, .plan-btn:hover::after, .manage-save-btn:hover::after {
            opacity: 1;
        }

        /* ── NAV DROPDOWN SMOOTH ── */
        .features-dropdown-menu {
            transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
        }
        .features-dropdown-item {
            transition: all 0.2s cubic-bezier(0.4,0,0.2,1), transform 0.15s ease;
        }
        .features-dropdown-item:hover {
            transform: translateX(4px);
        }

        /* ── SHIMMER LOADING ── */
        @keyframes shimmer {
            0% { background-position: -200% 0; }
            100% { background-position: 200% 0; }
        }
        .shimmer {
            background: linear-gradient(90deg, rgba(122,0,0,0.05) 0%, rgba(122,0,0,0.12) 50%, rgba(122,0,0,0.05) 100%);
            background-size: 200% 100%;
            animation: shimmer 1.8s ease-in-out infinite;
            border-radius: 8px;
        }

        /* ── STATS BAR COUNT UP ── */
        .stat-num {
            transition: all 0.6s cubic-bezier(0.34,1.56,0.64,1);
        }

        /* ── SECTION ENTRY ENHANCED ── */
        .feat-section {
            transition: opacity 0.6s ease, transform 0.6s cubic-bezier(0.4,0,0.2,1);
        }
        .feat-section.reveal {
            opacity: 0;
            transform: translateY(50px);
        }
        .feat-section.reveal.visible {
            opacity: 1;
            transform: translateY(0);
        }

        /* ── TOAST ANIMATIONS ── */
        .toast {
            animation: toastIn 0.35s cubic-bezier(0.34,1.56,0.64,1) both;
        }
        @keyframes toastIn {
            from { opacity: 0; transform: translateX(40px) scale(0.9); }
            to { opacity: 1; transform: translateX(0) scale(1); }
        }

        /* ── NAVBAR BLUR ENHANCED ── */
        .navbar {
            transition: background 0.3s ease, backdrop-filter 0.3s ease, box-shadow 0.3s ease;
        }
        .navbar.scrolled {
            background: rgba(5,5,5,0.95);
            backdrop-filter: blur(30px) saturate(2);
            box-shadow: 0 1px 30px rgba(0,0,0,0.5);
        }
