{"id":13227,"date":"2026-07-11T09:35:53","date_gmt":"2026-07-11T09:35:53","guid":{"rendered":"https:\/\/promotionexams.com\/?page_id=13227"},"modified":"2026-07-11T14:23:38","modified_gmt":"2026-07-11T14:23:38","slug":"test-code-page","status":"publish","type":"page","link":"https:\/\/promotionexams.com\/?page_id=13227","title":{"rendered":"Test code page"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"13227\" class=\"elementor elementor-13227\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ba3643e e-con-full e-flex e-con e-parent\" data-id=\"ba3643e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d664bba elementor-widget elementor-widget-html\" data-id=\"d664bba\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Test Series - CSS Adda | SO\/Steno LDCE Preparation<\/title>\n  \n    <link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.4.0\/css\/all.min.css\">\n    \n <style>\n    \/* ===== ELEMENTOR OVERRIDE - REMOVE ALL GAPS ===== *\/\n    .elementor-widget-html,\n    .elementor-widget-html .elementor-widget-container {\n        width: 100% !important;\n        max-width: 100% !important;\n        padding: 0 !important;\n        margin: 0 !important;\n    }\n    \n    .elementor-section.elementor-section-stretched,\n    .elementor-section-full_width,\n    .elementor-container,\n    .elementor-column,\n    .elementor-column-wrap,\n    .elementor-widget-wrap,\n    .elementor-element {\n        padding: 0 !important;\n        margin: 0 !important;\n        gap: 0 !important;\n    }\n        \/* ===== ROOT VARIABLES ===== *\/\n        :root {\n            --primary-blue: #1e3a8a;\n            --primary-blue-light: #3b82f6;\n            --primary-blue-dark: #1e40af;\n            --accent-orange: #ff6b35;\n            --accent-orange-light: #ff8c5a;\n            --accent-orange-dark: #e55a2b;\n            --accent-yellow: #fbbf24;\n            --accent-yellow-light: #fef3c7;\n            --success-green: #10b981;\n            --paper2-green: #065f46;\n            --paper2-green-light: #10b981;\n            --pyq-purple: #7c3aed;\n            --pyq-purple-light: #a78bfa;\n            --text-dark: #1f2937;\n            --text-gray: #6b7280;\n            --text-light: #9ca3af;\n            --bg-light: #f8fafc;\n            --bg-white: #ffffff;\n            --shadow-sm: 0 2px 8px rgba(0,0,0,0.08);\n            --shadow-md: 0 4px 20px rgba(0,0,0,0.12);\n            --shadow-lg: 0 8px 30px rgba(0,0,0,0.15);\n            --border-radius: 12px;\n            --border-radius-lg: 20px;\n        }\n\n        \/* ===== RESET & BASE ===== *\/\n        * {\n            margin: 0;\n            padding: 0;\n            box-sizing: border-box;\n        }\n\n        body {\n            font-family: 'Poppins', sans-serif;\n            background: var(--bg-light);\n            color: var(--text-dark);\n            line-height: 1.6;\n        }\n\n        a {\n            text-decoration: none;\n            color: inherit;\n        }\n\n        .container {\n            max-width: 1280px;\n            margin: 0 auto;\n            padding: 0 20px;\n        }\n\n        \/* ===== HERO CAROUSEL SECTION ===== *\/\n        .hero-carousel {\n            position: relative;\n            width: 100%;\n            height: 450px;\n            overflow: hidden;\n        }\n\n        .hero-slides {\n            display: flex;\n            width: 100%;\n            height: 100%;\n            transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);\n        }\n\n        .hero-slide {\n            min-width: 100%;\n            height: 100%;\n            position: relative;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n        }\n\n        .hero-slide-bg {\n            position: absolute;\n            inset: 0;\n            width: 100%;\n            height: 100%;\n            object-fit: cover;\n        }\n\n        .hero-slide-overlay {\n            position: absolute;\n            inset: 0;\n            background: linear-gradient(135deg, rgba(30, 58, 138, 0.85) 0%, rgba(59, 130, 246, 0.7) 50%, rgba(255, 107, 53, 0.6) 100%);\n        }\n\n        .hero-slide-content {\n            position: relative;\n            z-index: 2;\n            text-align: center;\n            padding: 0 20px;\n            max-width: 800px;\n        }\n\n        .hero-slide-content h1 {\n            font-family: 'Plus Jakarta Sans', 'Poppins', sans-serif;\n            font-size: 48px;\n            font-weight: 800;\n            color: white;\n            margin-bottom: 15px;\n            text-shadow: 0 4px 20px rgba(0,0,0,0.3);\n        }\n\n        .hero-slide-content h1 span {\n            color: var(--accent-yellow);\n        }\n\n        .hero-slide-content p {\n            font-size: 20px;\n            color: rgba(255,255,255,0.95);\n            max-width: 600px;\n            margin: 0 auto;\n            text-shadow: 0 2px 10px rgba(0,0,0,0.2);\n        }\n\n        \/* Carousel Navigation Dots *\/\n        .hero-dots {\n            position: absolute;\n            bottom: 25px;\n            left: 50%;\n            transform: translateX(-50%);\n            display: flex;\n            gap: 12px;\n            z-index: 10;\n        }\n\n        .hero-dot {\n            width: 12px;\n            height: 12px;\n            border-radius: 50%;\n            background: rgba(255,255,255,0.4);\n            cursor: pointer;\n            transition: all 0.3s ease;\n            border: 2px solid transparent;\n        }\n\n        .hero-dot:hover {\n            background: rgba(255,255,255,0.6);\n        }\n\n        .hero-dot.active {\n            background: var(--accent-yellow);\n            transform: scale(1.2);\n            border-color: white;\n        }\n\n        \/* Carousel Arrow Navigation *\/\n        .hero-nav {\n            position: absolute;\n            top: 50%;\n            transform: translateY(-50%);\n            width: 50px;\n            height: 50px;\n            background: rgba(255,255,255,0.15);\n            border: none;\n            border-radius: 50%;\n            color: white;\n            font-size: 20px;\n            cursor: pointer;\n            z-index: 10;\n            transition: all 0.3s ease;\n            backdrop-filter: blur(10px);\n            display: flex;\n            align-items: center;\n            justify-content: center;\n        }\n\n        .hero-nav:hover {\n            background: rgba(255,255,255,0.25);\n            transform: translateY(-50%) scale(1.1);\n        }\n\n        .hero-nav.prev { left: 20px; }\n        .hero-nav.next { right: 20px; }\n\n        \/* ===== FILTER NAVIGATION ===== *\/\n        .filter-nav {\n            background: white;\n            padding: 0;\n            margin-top: -30px;\n            position: relative;\n            z-index: 10;\n            border-radius: var(--border-radius-lg);\n            box-shadow: var(--shadow-md);\n            max-width: 1000px;\n            margin-left: auto;\n            margin-right: auto;\n            overflow: hidden;\n        }\n\n        .filter-tabs {\n            display: flex;\n            justify-content: center;\n            flex-wrap: wrap;\n        }\n\n        .filter-tab {\n            flex: 1;\n            min-width: 120px;\n            padding: 16px 20px;\n            text-align: center;\n            font-weight: 600;\n            font-size: 13px;\n            color: var(--text-gray);\n            cursor: pointer;\n            transition: all 0.3s ease;\n            border-bottom: 3px solid transparent;\n            background: transparent;\n        }\n\n        .filter-tab:hover {\n            color: var(--primary-blue);\n            background: var(--bg-light);\n        }\n\n        .filter-tab.active {\n            color: var(--accent-orange);\n            border-bottom-color: var(--accent-orange);\n            background: rgba(255,107,53,0.05);\n        }\n\n        .filter-tab i {\n            display: block;\n            font-size: 18px;\n            margin-bottom: 4px;\n        }\n\n        \/* ===== INFO BANNER ===== *\/\n        .info-banner {\n            background: linear-gradient(135deg, #dbeafe 0%, #eff6ff 100%);\n            border-left: 4px solid var(--primary-blue);\n            padding: 15px 20px;\n            margin: 20px auto;\n            max-width: 1000px;\n            border-radius: 0 var(--border-radius) var(--border-radius) 0;\n            display: flex;\n            align-items: center;\n            gap: 15px;\n        }\n\n        .info-banner i {\n            font-size: 24px;\n            color: var(--primary-blue);\n        }\n\n        .info-banner p {\n            font-size: 14px;\n            color: var(--text-dark);\n        }\n\n        .info-banner strong {\n            color: var(--primary-blue);\n        }\n\n        \/* ===== INFO CARDS SECTION ===== *\/\n        .info-cards-section {\n            padding: 40px 20px;\n            background: var(--bg-light);\n        }\n\n        .info-cards-grid {\n            display: grid;\n            grid-template-columns: repeat(3, 1fr);\n            gap: 25px;\n            max-width: 1200px;\n            margin: 0 auto;\n        }\n\n        .info-card {\n            background: white;\n            border-radius: 16px;\n            padding: 30px 25px;\n            display: flex;\n            align-items: flex-start;\n            gap: 18px;\n            transition: all 0.3s ease;\n            border: 2px solid transparent;\n        }\n\n        .info-card:hover {\n            transform: translateY(-4px);\n            box-shadow: var(--shadow-md);\n        }\n\n        .info-card.green {\n            background: linear-gradient(135deg, #d1fae5 0%, #a7f3d0 100%);\n            border-color: #6ee7b7;\n        }\n\n        .info-card.blue {\n            background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%);\n            border-color: #93c5fd;\n        }\n\n        .info-card.orange {\n            background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);\n            border-color: #fcd34d;\n        }\n\n        .info-card-icon {\n            width: 55px;\n            height: 55px;\n            min-width: 55px;\n            border-radius: 14px;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            font-size: 24px;\n        }\n\n        .info-card.green .info-card-icon {\n            background: rgba(16, 185, 129, 0.15);\n            color: #059669;\n        }\n\n        .info-card.blue .info-card-icon {\n            background: rgba(59, 130, 246, 0.15);\n            color: #2563eb;\n        }\n\n        .info-card.orange .info-card-icon {\n            background: rgba(245, 158, 11, 0.15);\n            color: #d97706;\n        }\n\n        .info-card-content h3 {\n            font-size: 15px;\n            font-weight: 600;\n            color: var(--text-dark);\n            margin-bottom: 2px;\n            display: flex;\n            align-items: center;\n            gap: 6px;\n        }\n\n        .info-card-content h3 .emoji {\n            font-size: 14px;\n        }\n\n        .info-card-content .highlight {\n            font-weight: 700;\n            display: block;\n            margin-bottom: 8px;\n        }\n\n        .info-card.green .info-card-content .highlight {\n            color: #059669;\n        }\n\n        .info-card.blue .info-card-content .highlight {\n            color: #2563eb;\n        }\n\n        .info-card.orange .info-card-content .highlight {\n            color: #d97706;\n        }\n\n        .info-card-content p {\n            font-size: 13px;\n            color: var(--text-gray);\n            line-height: 1.6;\n        }\n\n        .info-card-content p strong {\n            color: var(--text-dark);\n            font-weight: 600;\n        }\n\n        @media (max-width: 992px) {\n            .info-cards-grid {\n                grid-template-columns: 1fr;\n                gap: 15px;\n            }\n\n            .info-card {\n                padding: 20px;\n            }\n        }\n\n        .section-header {\n            text-align: center;\n            margin-bottom: 40px;\n        }\n\n        .section-tag {\n            display: inline-flex;\n            align-items: center;\n            gap: 8px;\n            background: var(--accent-orange);\n            color: white;\n            padding: 6px 16px;\n            border-radius: 20px;\n            font-size: 12px;\n            font-weight: 600;\n            text-transform: uppercase;\n            letter-spacing: 1px;\n            margin-bottom: 15px;\n        }\n\n        .section-title {\n            font-family: 'Plus Jakarta Sans', 'Poppins', sans-serif;\n            font-size: 32px;\n            font-weight: 700;\n            color: var(--text-dark);\n            margin-bottom: 10px;\n        }\n\n        .section-subtitle {\n            font-size: 16px;\n            color: var(--text-gray);\n            max-width: 600px;\n            margin: 0 auto;\n        }\n\n        \/* ===== TEST SERIES SECTIONS ===== *\/\n        .test-series-section {\n            padding: 60px 20px;\n        }\n\n        .test-series-section:nth-child(even) {\n            background: white;\n        }\n\n        .paper-badge {\n            display: inline-flex;\n            align-items: center;\n            gap: 8px;\n            padding: 8px 18px;\n            border-radius: 25px;\n            font-size: 13px;\n            font-weight: 600;\n            margin-bottom: 15px;\n        }\n\n        .paper-badge.paper1 {\n            background: #dbeafe;\n            color: var(--primary-blue);\n        }\n\n        .paper-badge.paper2 {\n            background: #d1fae5;\n            color: var(--paper2-green);\n        }\n\n        .paper-badge.pyq {\n            background: #ede9fe;\n            color: var(--pyq-purple);\n        }\n\n        .paper-badge.live {\n            background: #fce7f3;\n            color: #9d174d;\n        }\n\n        \/* ============================================ *\/\n        \/* NEW PRODUCT CARD DESIGN - MATCHING KVS PAGE *\/\n        \/* ============================================ *\/\n        .topic-grid { \n            display: grid; \n            grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); \n            gap: 24px; \n        }\n\n        .topic-card {\n            background: #fff;\n            border-radius: 16px;\n            overflow: hidden;\n            box-shadow: 0 2px 12px rgba(0,0,0,0.08);\n            transition: all 0.3s ease;\n            border: 1px solid #e5e7eb;\n            display: flex;\n            flex-direction: column;\n        }\n\n        .topic-card:hover {\n            transform: translateY(-4px);\n            box-shadow: 0 12px 30px rgba(0,0,0,0.12);\n            border-color: #3b82f6;\n        }\n\n        \/* Card Banner\/Image Area *\/\n        .topic-card .card-banner {\n            position: relative;\n            height: 180px;\n            overflow: hidden;\n        }\n\n        \/* Banner Image - Full Cover *\/\n        .card-banner-img {\n            width: 100%;\n            height: 100%;\n            object-fit: cover;\n            display: block;\n        }\n\n        \/* Fallback gradient backgrounds when no image *\/\n        .topic-card .card-banner {\n            background: linear-gradient(135deg, #1e3a8a 0%, #3b82f6 50%, #60a5fa 100%);\n        }\n\n        .topic-card.paper2-topic .card-banner {\n            background: linear-gradient(135deg, #065f46 0%, #10b981 50%, #34d399 100%);\n        }\n\n        .topic-card.pyq-topic .card-banner {\n            background: linear-gradient(135deg, #5b21b6 0%, #7c3aed 50%, #a78bfa 100%);\n        }\n\n        \/* Placeholder icon when no image - centered *\/\n        .card-banner-placeholder {\n            position: absolute;\n            top: 50%;\n            left: 50%;\n            transform: translate(-50%, -50%);\n            width: 60px;\n            height: 60px;\n            background: rgba(255,255,255,0.15);\n            border-radius: 12px;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            backdrop-filter: blur(5px);\n        }\n\n        .card-banner-placeholder i {\n            font-size: 28px;\n            color: rgba(255,255,255,0.6);\n        }\n\n        \/* Test Series Badge on Banner *\/\n        .card-type-badge {\n            position: absolute;\n            bottom: 12px;\n            left: 50%;\n            transform: translateX(-50%);\n            background: linear-gradient(135deg, #10b981 0%, #059669 100%);\n            color: #fff;\n            padding: 6px 16px;\n            border-radius: 20px;\n            font-size: 11px;\n            font-weight: 600;\n            letter-spacing: 0.5px;\n            box-shadow: 0 4px 12px rgba(16, 185, 129, 0.4);\n        }\n\n        \/* New Interface Badge *\/\n        .new-badge {\n            position: absolute;\n            top: 12px;\n            left: 12px;\n            background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);\n            color: #fff;\n            padding: 4px 10px;\n            border-radius: 6px;\n            font-size: 10px;\n            font-weight: 700;\n            text-transform: uppercase;\n            letter-spacing: 0.5px;\n            z-index: 3;\n        }\n\n        .new-badge.pyq-badge {\n            background: linear-gradient(135deg, #7c3aed 0%, #5b21b6 100%);\n        }\n\n        \/* Card Body *\/\n        .card-body {\n            padding: 16px;\n            flex: 1;\n            display: flex;\n            flex-direction: column;\n        }\n\n        \/* Tags Row *\/\n        .card-tags {\n            display: flex;\n            align-items: center;\n            gap: 8px;\n            margin-bottom: 12px;\n        }\n\n        .card-tag {\n            padding: 4px 10px;\n            border-radius: 4px;\n            font-size: 10px;\n            font-weight: 600;\n            text-transform: uppercase;\n            letter-spacing: 0.3px;\n        }\n\n        .card-tag.lang-tag {\n            background: #e0f2fe;\n            color: #0369a1;\n        }\n\n        .card-tag.type-tag {\n            background: #dcfce7;\n            color: #059669;\n        }\n\n        .topic-card.pyq-topic .card-tag.type-tag {\n            background: #f3e8ff;\n            color: #7c3aed;\n        }\n\n        \/* Card Title *\/\n        .card-title {\n            font-size: 14px;\n            font-weight: 600;\n            color: #1f2937;\n            line-height: 1.4;\n            margin-bottom: 10px;\n            display: -webkit-box;\n            -webkit-line-clamp: 2;\n            -webkit-box-orient: vertical;\n            overflow: hidden;\n            min-height: 40px;\n        }\n\n        \/* Tests Count *\/\n        .card-tests-info {\n            display: flex;\n            align-items: center;\n            gap: 6px;\n            font-size: 12px;\n            color: #6b7280;\n            margin-bottom: 12px;\n        }\n\n        .card-tests-info i {\n            color: #9ca3af;\n            font-size: 11px;\n        }\n\n        \/* Card Footer with Price *\/\n        .card-footer {\n            display: flex;\n            align-items: center;\n            justify-content: space-between;\n            padding-top: 12px;\n            border-top: 1px solid #f3f4f6;\n            margin-top: auto;\n        }\n\n        .card-price {\n            display: flex;\n            align-items: baseline;\n            gap: 8px;\n            flex-wrap: wrap;\n        }\n\n        .price-current {\n            font-size: 20px;\n            font-weight: 700;\n            color: #1f2937;\n        }\n\n        .price-original {\n            font-size: 13px;\n            color: #9ca3af;\n            text-decoration: line-through;\n        }\n\n        .price-discount {\n            font-size: 12px;\n            color: #10b981;\n            font-weight: 600;\n        }\n\n        \/* Add to Cart Button *\/\n        .btn-add-cart {\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            gap: 6px;\n            padding: 10px 18px;\n            background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);\n            color: white;\n            border: none;\n            border-radius: 8px;\n            font-weight: 600;\n            font-size: 12px;\n            cursor: pointer;\n            transition: all 0.3s ease;\n            font-family: 'Poppins', sans-serif;\n            min-width: 90px;\n        }\n\n        .btn-add-cart:hover {\n            transform: translateY(-2px);\n            box-shadow: 0 6px 20px rgba(59, 130, 246, 0.4);\n        }\n\n        .btn-add-cart.in-cart {\n            background: linear-gradient(135deg, #10b981 0%, #059669 100%);\n        }\n\n        .btn-add-cart.purchased {\n            background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;\n            box-shadow: 0 4px 15px rgba(16, 185, 129, 0.3) !important;\n            cursor: pointer !important;\n        }\n\n        .btn-add-cart.purchased:hover {\n            transform: translateY(-2px) !important;\n            box-shadow: 0 6px 20px rgba(16, 185, 129, 0.4) !important;\n        }\n\n        .btn-add-cart.purchased i {\n            animation: pulse 2s infinite;\n        }\n\n        @keyframes pulse {\n            0%, 100% { opacity: 1; }\n            50% { opacity: 0.7; }\n        }\n\n        \/* ===== LIVE TEST SERIES SECTION ===== *\/\n        .live-section {\n            padding: 60px 20px;\n            background: linear-gradient(135deg, #fdf2f8 0%, #fce7f3 100%);\n        }\n\n        .live-notice {\n            background: white;\n            border-radius: var(--border-radius-lg);\n            padding: 40px;\n            max-width: 800px;\n            margin: 0 auto;\n            text-align: center;\n            box-shadow: var(--shadow-md);\n        }\n\n        .live-notice-icon {\n            width: 80px;\n            height: 80px;\n            background: linear-gradient(135deg, #ec4899 0%, #9d174d 100%);\n            border-radius: 50%;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            margin: 0 auto 20px;\n            font-size: 36px;\n            color: white;\n        }\n\n        .live-notice h3 {\n            font-family: 'Plus Jakarta Sans', 'Poppins', sans-serif;\n            font-size: 24px;\n            font-weight: 700;\n            color: var(--text-dark);\n            margin-bottom: 15px;\n        }\n\n        .live-notice p {\n            font-size: 16px;\n            color: var(--text-gray);\n            max-width: 500px;\n            margin: 0 auto 20px;\n        }\n\n        .live-notice .highlight {\n            display: inline-block;\n            background: #fce7f3;\n            color: #9d174d;\n            padding: 8px 20px;\n            border-radius: 20px;\n            font-weight: 600;\n            font-size: 14px;\n        }\n\n        \/* ===== FAQ SECTION ===== *\/\n        .faq-section {\n            padding: 60px 20px;\n            background: var(--bg-light);\n        }\n\n        .faq-container {\n            max-width: 800px;\n            margin: 0 auto;\n        }\n\n        .faq-item {\n            background: white;\n            border-radius: var(--border-radius);\n            margin-bottom: 15px;\n            overflow: hidden;\n            box-shadow: var(--shadow-sm);\n        }\n\n        .faq-question {\n            padding: 20px 25px;\n            font-weight: 600;\n            cursor: pointer;\n            display: flex;\n            justify-content: space-between;\n            align-items: center;\n            transition: all 0.3s ease;\n        }\n\n        .faq-question:hover {\n            background: var(--bg-light);\n        }\n\n        .faq-question i {\n            transition: transform 0.3s ease;\n            color: var(--primary-blue);\n        }\n\n        .faq-item.active .faq-question i {\n            transform: rotate(180deg);\n        }\n\n        .faq-answer {\n            max-height: 0;\n            overflow: hidden;\n            transition: max-height 0.3s ease;\n        }\n\n        .faq-item.active .faq-answer {\n            max-height: 200px;\n        }\n\n        .faq-answer p {\n            padding: 0 25px 20px;\n            color: var(--text-gray);\n            line-height: 1.7;\n        }\n\n        \/* ===== IMAGE POPUP\/LIGHTBOX STYLES ===== *\/\n        .image-popup-overlay {\n            position: fixed;\n            inset: 0;\n            background: rgba(0, 0, 0, 0.9);\n            z-index: 999999;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            opacity: 0;\n            visibility: hidden;\n            transition: all 0.3s ease;\n        }\n        .image-popup-overlay.active {\n            opacity: 1;\n            visibility: visible;\n        }\n        .image-popup-container {\n            position: relative;\n            max-width: 90vw;\n            max-height: 90vh;\n            transform: scale(0.8);\n            transition: transform 0.3s ease;\n        }\n        .image-popup-overlay.active .image-popup-container {\n            transform: scale(1);\n        }\n        .image-popup-container img {\n            max-width: 100%;\n            max-height: 85vh;\n            border-radius: 8px;\n            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);\n        }\n        .image-popup-close {\n            position: absolute;\n            top: -15px;\n            right: -15px;\n            width: 40px;\n            height: 40px;\n            background: var(--accent-orange);\n            border: none;\n            border-radius: 50%;\n            color: white;\n            font-size: 20px;\n            cursor: pointer;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            transition: all 0.3s ease;\n            box-shadow: 0 4px 15px rgba(255, 107, 53, 0.4);\n        }\n        .image-popup-close:hover {\n            background: var(--accent-orange-dark);\n            transform: rotate(90deg);\n        }\n        .image-popup-nav {\n            position: absolute;\n            top: 50%;\n            transform: translateY(-50%);\n            width: 50px;\n            height: 50px;\n            background: rgba(255, 255, 255, 0.2);\n            border: none;\n            border-radius: 50%;\n            color: white;\n            font-size: 24px;\n            cursor: pointer;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            transition: all 0.3s ease;\n            backdrop-filter: blur(10px);\n        }\n        .image-popup-nav:hover {\n            background: rgba(255, 255, 255, 0.3);\n        }\n        .image-popup-nav.prev { left: -70px; }\n        .image-popup-nav.next { right: -70px; }\n        .image-popup-counter {\n            position: absolute;\n            bottom: -40px;\n            left: 50%;\n            transform: translateX(-50%);\n            color: white;\n            font-size: 14px;\n            font-weight: 600;\n        }\n\n        \/* ===== RESPONSIVE ===== *\/\n        @media (max-width: 992px) {\n            .info-cards-grid {\n                grid-template-columns: 1fr;\n            }\n\n            .topic-grid {\n                grid-template-columns: repeat(2, 1fr);\n            }\n\n            .hero-carousel {\n                height: 350px;\n            }\n\n            .hero-slide-content h1 {\n                font-size: 32px;\n            }\n\n            .hero-slide-content p {\n                font-size: 16px;\n            }\n        }\n\n        @media (max-width: 768px) {\n            .hero-carousel {\n                height: 300px;\n            }\n\n            .hero-slide-content h1 {\n                font-size: 26px;\n            }\n\n            .hero-slide-content p {\n                font-size: 14px;\n            }\n\n            .hero-nav {\n                width: 40px;\n                height: 40px;\n                font-size: 16px;\n            }\n\n            .hero-nav.prev { left: 10px; }\n            .hero-nav.next { right: 10px; }\n\n            .filter-tabs {\n                display: grid;\n                grid-template-columns: repeat(3, 1fr);\n            }\n\n            .filter-tab {\n                padding: 12px 10px;\n                font-size: 11px;\n            }\n\n            .filter-tab i {\n                font-size: 16px;\n            }\n\n            .section-title {\n                font-size: 24px;\n            }\n\n            .info-cards-grid {\n                grid-template-columns: 1fr;\n                gap: 15px;\n            }\n\n            .topic-grid {\n                grid-template-columns: repeat(2, 1fr);\n                gap: 16px;\n            }\n\n            .card-banner {\n                height: 140px;\n            }\n\n            .card-body {\n                padding: 12px;\n            }\n\n            .card-title {\n                font-size: 13px;\n                min-height: 36px;\n            }\n\n            .card-footer {\n                flex-direction: column;\n                gap: 10px;\n                align-items: stretch;\n            }\n\n            .btn-add-cart {\n                width: 100%;\n                justify-content: center;\n            }\n\n            .image-popup-nav.prev { left: 10px; }\n            .image-popup-nav.next { right: 10px; }\n        }\n\n        @media (max-width: 480px) {\n            .container {\n                padding: 0 15px;\n            }\n\n            .filter-tabs {\n                grid-template-columns: repeat(2, 1fr);\n            }\n\n            .topic-grid {\n                grid-template-columns: 1fr;\n            }\n        }\n\n        \/* ============================================ *\/\n        \/* SMART TEST SERIES FEATURES CAROUSEL          *\/\n        \/* ============================================ *\/\n        .features-section{padding:60px 20px;background:linear-gradient(160deg,#eff6ff 0%,#f8fafc 55%,#fff7ed 100%)}\n        .feat-carousel-wrap{position:relative;max-width:1200px;margin:0 auto}\n        .feat-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:10px 4px 22px;-webkit-overflow-scrolling:touch;scrollbar-width:none}\n        .feat-track::-webkit-scrollbar{display:none}\n        .feat-slide{flex:0 0 calc((100% - 40px)\/3);scroll-snap-align:start;background:#fff;border:1px solid #e5e7eb;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:transform .3s ease,box-shadow .3s ease}\n        .feat-slide:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:#3b82f6}\n        .feat-demo{background:#f8fafc;border-bottom:1px solid #eef2f7;padding:16px;min-height:150px;display:flex;flex-direction:column;justify-content:center;gap:8px}\n        .feat-body{padding:16px 18px 18px;flex:1;display:flex;flex-direction:column}\n        .feat-body h4{font-size:15px;font-weight:600;color:var(--text-dark);display:flex;align-items:center;gap:8px;margin-bottom:6px}\n        .feat-body p{font-size:13px;color:var(--text-gray);line-height:1.6}\n        .feat-tag{display:inline-block;margin-top:auto;padding-top:12px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-orange-dark)}\n        .feat-nav{position:absolute;top:42%;transform:translateY(-50%);width:44px;height:44px;border:none;border-radius:50%;background:#fff;color:var(--primary-blue);box-shadow:var(--shadow-md);font-size:16px;cursor:pointer;z-index:5;display:flex;align-items:center;justify-content:center;transition:all .3s ease}\n        .feat-nav:hover{background:var(--primary-blue);color:#fff;transform:translateY(-50%) scale(1.08)}\n        .feat-nav.prev{left:-14px}\n        .feat-nav.next{right:-14px}\n        .feat-dots{display:flex;gap:8px;justify-content:center;margin-top:6px}\n        .feat-dot{width:9px;height:9px;border-radius:50%;background:#cbd5e1;cursor:pointer;transition:all .3s ease;border:none;padding:0}\n        .feat-dot.active{background:var(--accent-orange);transform:scale(1.25)}\n        .feat-cta-row{text-align:center;margin-top:26px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}\n        .btn-sample-test{display:inline-flex;align-items:center;gap:9px;padding:15px 32px;background:linear-gradient(135deg,var(--accent-orange) 0%,var(--accent-orange-dark) 100%);color:#fff;border:none;border-radius:50px;font-family:'Poppins',sans-serif;font-size:15px;font-weight:700;cursor:pointer;text-decoration:none;box-shadow:0 8px 25px rgba(255,107,53,.35);transition:all .3s ease;letter-spacing:.3px}\n        .btn-sample-test:hover{transform:translateY(-3px);box-shadow:0 12px 35px rgba(255,107,53,.45);color:#fff}\n        .btn-sample-test.blue{background:linear-gradient(135deg,var(--primary-blue-light) 0%,var(--primary-blue) 100%);box-shadow:0 8px 25px rgba(59,130,246,.35)}\n        .btn-sample-test.blue:hover{box-shadow:0 12px 35px rgba(59,130,246,.45)}\n        .feat-note{font-size:12px;color:var(--text-gray);margin-top:12px}\n        \/* mini demo widgets *\/\n        .fd-q{font-family:Georgia,'Times New Roman',serif;background:#fffef9;border:1px solid #e9e3d2;border-left:3px solid var(--accent-yellow);border-radius:8px;padding:10px 12px;font-size:11.5px;line-height:1.55;text-align:justify;color:#1f2937}\n        .fd-q .st{display:grid;grid-template-columns:16px 1fr;margin-top:4px}\n        .fd-opt{display:flex;gap:8px;align-items:center;background:#fff;border:1.5px solid #e5e7eb;border-radius:8px;padding:6px 10px;font-size:11.5px;font-family:Georgia,serif}\n        .fd-opt.ok{border-color:var(--success-green);background:#f0fdf4}\n        .fd-opt.ok::after{content:'\u2713';margin-left:auto;color:var(--success-green);font-weight:700}\n        .fd-opt.no{border-color:#ef4444;background:#fef2f2}\n        .fd-opt.no::after{content:'\u2717';margin-left:auto;color:#ef4444;font-weight:700}\n        .fd-exp{background:var(--accent-yellow-light);border-left:3px solid var(--accent-yellow);border-radius:8px;padding:7px 9px;font-size:11px}\n        .fd-stars{font-size:16px;letter-spacing:2px}\n        .fd-stars b{color:var(--accent-yellow)}.fd-stars i{color:#d7dde6;font-style:normal}\n        .fd-chip{display:inline-flex;align-items:center;gap:5px;background:#f8fafc;border:1.5px solid #e5e7eb;border-radius:20px;padding:3px 10px;font-size:10.5px;font-weight:600}\n        .fd-chip.on{background:linear-gradient(135deg,var(--primary-blue-light),var(--primary-blue));color:#fff;border-color:var(--primary-blue)}\n        .fd-chip .bn{background:var(--primary-blue);color:#fff;font-size:9px;padding:1px 6px;border-radius:20px}\n        .fd-chip.on .bn{background:rgba(255,255,255,.25)}\n        .fd-chiprow{display:flex;gap:5px;flex-wrap:wrap}\n        .fd-weak{display:flex;gap:7px;align-items:center;background:#f8fafc;border-left:3px solid #ef4444;border-radius:6px;padding:5px 8px;font-size:10.5px}\n        .fd-weak .wn{background:#ef4444;color:#fff;border-radius:20px;padding:1px 6px;font-size:9px;font-weight:700;margin-left:auto}\n        .fd-cells{display:flex;gap:4px;flex-wrap:wrap}\n        .fd-cell{width:24px;height:24px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:#fff}\n        .fd-bar{display:grid;grid-template-columns:86px 1fr 26px;gap:7px;align-items:center;font-size:10.5px}\n        .fd-bar .tr{background:#eef2f7;border-radius:6px;height:11px;overflow:hidden}\n        .fd-bar .fl{height:100%;border-radius:6px;background:linear-gradient(90deg,var(--accent-yellow),var(--accent-orange))}\n        .fd-bar .fl.b{background:linear-gradient(90deg,#93c5fd,var(--primary-blue-light))}\n        .fd-hm{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}\n        .fd-hm span{height:16px;border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:8.5px;font-weight:600}\n        .fd-ring{position:relative;width:78px;height:78px;margin:0 auto}\n        .fd-ring svg{transform:rotate(-90deg)}\n        .fd-ring .t{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}\n        .fd-ring .t b{font-size:19px;color:var(--primary-blue)}\n        .fd-ring .t s{text-decoration:none;font-size:7.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-gray)}\n        .fd-reco{display:flex;gap:7px;align-items:flex-start;font-size:10.5px;padding:4px 0}\n        .fd-reco .ri{width:20px;height:20px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:10px;flex-shrink:0}\n        .fd-reco .hot{background:#fef2f2}.fd-reco .warm{background:#fff7ed}.fd-reco .good{background:#f0fdf4}\n        .fd-rev{display:flex;gap:7px;align-items:center;background:#f8fafc;border-left:3px solid var(--accent-yellow);border-radius:6px;padding:5px 8px;font-size:10.5px}\n        .fd-rev .dd{background:var(--accent-yellow);color:#78350f;border-radius:20px;padding:1px 6px;font-size:9px;font-weight:700;margin-left:auto}\n        .fd-save{display:flex;align-items:center;gap:8px;justify-content:center;font-size:11px;color:var(--text-gray)}\n        .fd-save .dot{width:8px;height:8px;border-radius:50%;background:var(--success-green);box-shadow:0 0 0 4px #dcfce7}\n        .fd-phone{width:78px;margin:0 auto;background:#fff;border:3px solid var(--primary-blue);border-radius:12px;padding:7px 5px;display:flex;flex-direction:column;gap:3px}\n        .fd-phone span{height:6px;border-radius:3px;background:#e6ecf6}\n        .fd-phone .h{background:linear-gradient(90deg,var(--primary-blue),var(--primary-blue-light));height:10px}\n        .fd-phone .g{background:var(--accent-yellow)}\n        @media (max-width:992px){.feat-slide{flex-basis:calc((100% - 20px)\/2)}}\n        @media (max-width:768px){\n            .feat-slide{flex-basis:86%}\n            .feat-nav.prev{left:2px}.feat-nav.next{right:2px}\n            .btn-sample-test{width:100%;justify-content:center}\n        }\n\n    <\/style>\n<\/head>\n<body>\n\n    <!-- ===== IMAGE POPUP\/LIGHTBOX ===== -->\n    <div class=\"image-popup-overlay\" id=\"imagePopup\">\n        <div class=\"image-popup-container\">\n            <button class=\"image-popup-close\" onclick=\"closeImagePopup()\"><i class=\"fas fa-times\"><\/i><\/button>\n            <button class=\"image-popup-nav prev\" onclick=\"navigateImage(-1)\"><i class=\"fas fa-chevron-left\"><\/i><\/button>\n            <img decoding=\"async\" src=\"\" alt=\"Preview\" id=\"popupImage\">\n            <button class=\"image-popup-nav next\" onclick=\"navigateImage(1)\"><i class=\"fas fa-chevron-right\"><\/i><\/button>\n            <div class=\"image-popup-counter\"><span id=\"currentIndex\">1<\/span> \/ <span id=\"totalImages\">4<\/span><\/div>\n        <\/div>\n    <\/div>\n\n    <!-- ===== HERO CAROUSEL SECTION ===== -->\n    <section class=\"hero-carousel\" id=\"heroCarousel\">\n        <div class=\"hero-slides\" id=\"heroSlides\">\n            <!-- Slide 1 -->\n            <div class=\"hero-slide\">\n                <img decoding=\"async\" src=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/01\/Screenshot-1947-10-21-at-11.51.29-AM.png\" alt=\"Study Materials\" class=\"hero-slide-bg\">\n                <div class=\"hero-slide-overlay\"><\/div>\n                <div class=\"hero-slide-content\">\n                    <h1><span>Test Series & Mock Tests<\/span><\/h1>\n                    <p>Comprehensive practice for Combined SO\/Steno LDCE conducted by UPSC<\/p>\n                    <a href=\"#features\" class=\"btn-sample-test\" style=\"margin-top:22px\"><i class=\"fas fa-play-circle\"><\/i> Take FREE Sample Test<\/a>\n                <\/div>\n            <\/div>\n            <!-- Slide 2 -->\n            <div class=\"hero-slide\">\n                <img decoding=\"async\" src=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/01\/Screenshot-1947-10-21-at-11.51.29-AM.png\" alt=\"Exam Preparation\" class=\"hero-slide-bg\">\n                <div class=\"hero-slide-overlay\"><\/div>\n                <div class=\"hero-slide-content\">\n                    <h1>Topic-wise <span>PYQ Practice<\/span><\/h1>\n                    <p>15+ years of previous year questions with detailed explanations<\/p>\n                    <a href=\"#features\" class=\"btn-sample-test\" style=\"margin-top:22px\"><i class=\"fas fa-play-circle\"><\/i> Take FREE Sample Test<\/a>\n                <\/div>\n            <\/div>\n            <!-- Slide 3 -->\n            <div class=\"hero-slide\">\n                <img decoding=\"async\" src=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/01\/Screenshot-1947-10-21-at-11.51.29-AM.png\" alt=\"Success\" class=\"hero-slide-bg\">\n                <div class=\"hero-slide-overlay\"><\/div>\n                <div class=\"hero-slide-content\">\n                    <h1>Prepare to <span>Succeed<\/span><\/h1>\n                    <p>Join thousands of successful candidates who cleared their exams with CSS Adda<\/p>\n                    <a href=\"#features\" class=\"btn-sample-test\" style=\"margin-top:22px\"><i class=\"fas fa-play-circle\"><\/i> Take FREE Sample Test<\/a>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <!-- Navigation Arrows -->\n        <button class=\"hero-nav prev\" onclick=\"changeSlide(-1)\"><i class=\"fas fa-chevron-left\"><\/i><\/button>\n        <button class=\"hero-nav next\" onclick=\"changeSlide(1)\"><i class=\"fas fa-chevron-right\"><\/i><\/button>\n\n        <!-- Dots Navigation -->\n        <div class=\"hero-dots\">\n            <span class=\"hero-dot active\" onclick=\"goToSlide(0)\"><\/span>\n            <span class=\"hero-dot\" onclick=\"goToSlide(1)\"><\/span>\n            <span class=\"hero-dot\" onclick=\"goToSlide(2)\"><\/span>\n        <\/div>\n    <\/section>\n\n    <!-- ===== FILTER NAVIGATION ===== -->\n    <div class=\"container\">\n        <nav class=\"filter-nav\">\n            <div class=\"filter-tabs\">\n                <div class=\"filter-tab active\" data-filter=\"all\">\n                    <i class=\"fas fa-th-large\"><\/i>\n                    All Tests\n                <\/div>\n                <div class=\"filter-tab\" data-filter=\"pyq-paper1\">\n                    <i class=\"fas fa-history\"><\/i>\n                    PYQ Paper 1\n                <\/div>\n                <div class=\"filter-tab\" data-filter=\"pyq-paper2\">\n                    <i class=\"fas fa-history\"><\/i>\n                    PYQ Paper 2\n                <\/div>\n                <div class=\"filter-tab\" data-filter=\"paper1\">\n                    <i class=\"fas fa-file-alt\"><\/i>\n                    Paper 1\n                <\/div>\n                <div class=\"filter-tab\" data-filter=\"paper2\">\n                    <i class=\"fas fa-file-alt\"><\/i>\n                    Paper 2\n                <\/div>\n                <div class=\"filter-tab\" data-filter=\"live\">\n                    <i class=\"fas fa-broadcast-tower\"><\/i>\n                    Live Tests\n                <\/div>\n            <\/div>\n        <\/nav>\n    <\/div>\n\n    <!-- ===== INFO BANNER ===== -->\n    <div class=\"container\">\n        <div class=\"info-banner\">\n            <i class=\"fas fa-info-circle\"><\/i>\n            <p><strong>After purchasing any test series,<\/strong> you can access your tests from your <strong>Hello, Username \u2192 My Purchases<\/strong> section.<strong> <br><br>For any issues\/queries,<\/strong> kindly contact us at <strong>Whatsapp @9870176238<\/strong><\/p>\n        <\/div>\n    <\/div>\n\n\n\n    <!-- ===== SMART TEST SERIES FEATURES (CAROUSEL) ===== -->\n    <section class=\"features-section\" id=\"features\">\n        <div class=\"container\">\n            <div class=\"section-header\">\n                <span class=\"section-tag\"><i class=\"fas fa-wand-magic-sparkles\"><\/i> What You Get<\/span>\n                <h2 class=\"section-title\">Not Just a Test Series \u2014 A Complete Preparation System<\/h2>\n                <p class=\"section-subtitle\">Every PYQ test series includes an exam-paper practice engine, real question-paper analytics from 15+ years of PYQs, and a personal AI coach \u2014 swipe to explore every feature.<\/p>\n            <\/div>\n\n            <div class=\"feat-carousel-wrap\">\n                <button class=\"feat-nav prev\" onclick=\"featSlide(-1)\" aria-label=\"Previous features\"><i class=\"fas fa-chevron-left\"><\/i><\/button>\n                <button class=\"feat-nav next\" onclick=\"featSlide(1)\" aria-label=\"Next features\"><i class=\"fas fa-chevron-right\"><\/i><\/button>\n\n                <div class=\"feat-track\" id=\"featTrack\">\n                    <!-- 1 -->\n                    <div class=\"feat-slide\">\n                        <div class=\"feat-demo\">\n                            <div class=\"fd-q\"><b>Q17.<\/b> Consider the following statements in the context of registration of suppliers:\n                                <span class=\"st\"><b>1.<\/b><span>Performance of every registered supplier is watched\u2026<\/span><\/span>\n                                <span class=\"st\"><b>2.<\/b><span>The list of registered suppliers be exhibited on portals\u2026<\/span><\/span>\n                            <\/div>\n                        <\/div>\n                        <div class=\"feat-body\">\n                            <h4>\ud83d\udcdc UPSC Exam-Paper Formatting<\/h4>\n                            <p>Serif typography, justified text and properly spaced statement-type MCQs \u2014 your eyes train on the exact format you will face in the exam hall.<\/p>\n                            <span class=\"feat-tag\">Zero format shock on exam day<\/span>\n                        <\/div>\n                    <\/div>\n                    <!-- 2 -->\n                    <div class=\"feat-slide\">\n                        <div class=\"feat-demo\">\n                            <div class=\"fd-opt no\">(a) Rs. 25,000<\/div>\n                            <div class=\"fd-opt ok\">(c) Rs. 50,000<\/div>\n                            <div class=\"fd-exp\">\ud83d\udca1 <b>Rule 154:<\/b> Purchase of goods upto Rs. 50,000 may be made without inviting quotations\u2026<\/div>\n                        <\/div>\n                        <div class=\"feat-body\">\n                            <h4>\ud83d\udca1 Instant Rule-Cited Explanations<\/h4>\n                            <p>Every answer is backed by the exact Rule number and official text \u2014 GFR, CSMOP, CCS Rules, whichever the paper demands. You learn the source, not just the option.<\/p>\n                            <span class=\"feat-tag\">Answer + authority, together<\/span>\n                        <\/div>\n                    <\/div>\n                    <!-- 3 -->\n                    <div class=\"feat-slide\">\n                        <div class=\"feat-demo\" style=\"align-items:center\">\n                            <div class=\"fd-stars\"><b>\u2605\u2605\u2605<\/b><i>\u2605\u2605<\/i><\/div>\n                            <div style=\"font-size:11px;color:var(--text-gray)\">Answer correctly 3 times \u2192 question mastered<\/div>\n                        <\/div>\n                        <div class=\"feat-body\">\n                            <h4>\u2b50 3-Star Mastery Tracking<\/h4>\n                            <p>One lucky guess isn't knowledge. Each question must be answered correctly three times to earn \"Mastered\" status \u2014 spaced practice built into the system.<\/p>\n                            <span class=\"feat-tag\">Guessing can't fool it<\/span>\n                        <\/div>\n                    <\/div>\n                    <!-- 4 -->\n                    <div class=\"feat-slide\">\n                        <div class=\"feat-demo\">\n                            <div class=\"fd-weak\"><b style=\"color:#ef4444\">Q23<\/b><span>Procurement of goods of estimated value\u2026<\/span><span class=\"wn\">2\u2717<\/span><\/div>\n                            <div class=\"fd-weak\"><b style=\"color:#ef4444\">Q77<\/b><span>Advance payments to suppliers\u2026<\/span><span class=\"wn\">1\u2717<\/span><\/div>\n                            <div class=\"fd-chip on\" style=\"align-self:flex-start\">\u26a0\ufe0f Practice All Weak Areas<\/div>\n                        <\/div>\n                        <div class=\"feat-body\">\n                            <h4>\u26a0\ufe0f Automatic Weak-Area Detection<\/h4>\n                            <p>Get a question wrong and it's flagged instantly. One tap opens a drill of only your weak questions \u2014 and they un-flag themselves once mastered.<\/p>\n                            <span class=\"feat-tag\">Your mistakes become your syllabus<\/span>\n                        <\/div>\n                    <\/div>\n                    <!-- 5 -->\n                    <div class=\"feat-slide\">\n                        <div class=\"feat-demo\">\n                            <div class=\"fd-chiprow\">\n                                <span class=\"fd-chip on\">2025 <span class=\"bn\">20<\/span><\/span><span class=\"fd-chip\">2024 <span class=\"bn\">20<\/span><\/span><span class=\"fd-chip\">2023 <span class=\"bn\">20<\/span><\/span>\n                            <\/div>\n                            <div class=\"fd-chiprow\">\n                                <span class=\"fd-chip on\">Ch 6: Procurement <span class=\"bn\">44<\/span><\/span><span class=\"fd-chip\">Ch 7: Inventory <span class=\"bn\">23<\/span><\/span>\n                            <\/div>\n                        <\/div>\n                        <div class=\"feat-body\">\n                            <h4>\ud83c\udf9b\ufe0f Year &amp; Chapter Filters<\/h4>\n                            <p>Attempt a full year's paper as a mock, or drill one chapter till it's finished. Every filter shows its live question count.<\/p>\n                            <span class=\"feat-tag\">Practice your way<\/span>\n                        <\/div>\n                    <\/div>\n                    <!-- 6 -->\n                    <div class=\"feat-slide\">\n                        <div class=\"feat-demo\">\n                            <div class=\"fd-cells\">\n                                <span class=\"fd-cell\" style=\"background:var(--success-green)\">1<\/span><span class=\"fd-cell\" style=\"background:var(--success-green)\">2<\/span><span class=\"fd-cell\" style=\"background:#ef4444\">3<\/span><span class=\"fd-cell\" style=\"background:var(--accent-yellow);color:#1f2937\">4<\/span><span class=\"fd-cell\" style=\"background:var(--accent-orange)\">5<\/span><span class=\"fd-cell\" style=\"background:var(--primary-blue)\">6<\/span><span class=\"fd-cell\" style=\"background:var(--primary-blue)\">7<\/span><span class=\"fd-cell\" style=\"background:var(--primary-blue)\">8<\/span>\n                            <\/div>\n                            <div class=\"fd-save\"><span class=\"dot\"><\/span> Last session: Q5 (2023) \u2014 <b style=\"color:var(--accent-orange-dark)\">Resume \u25b6<\/b><\/div>\n                        <\/div>\n                        <div class=\"feat-body\">\n                            <h4>\ud83d\uddc2\ufe0f Smart Navigator + Auto-Save<\/h4>\n                            <p>A colour-coded map of every question. Close the tab anytime \u2014 your entire progress is saved on your device and resumes with one tap.<\/p>\n                            <span class=\"feat-tag\">Never lose your progress<\/span>\n                        <\/div>\n                    <\/div>\n                    <!-- 7 -->\n                    <div class=\"feat-slide\">\n                        <div class=\"feat-demo\">\n                            <div class=\"fd-bar\"><span>Ch 6: Procurement<\/span><div class=\"tr\"><div class=\"fl\" style=\"width:100%\"><\/div><\/div><b>44<\/b><\/div>\n                            <div class=\"fd-bar\"><span>Ch 7: Inventory<\/span><div class=\"tr\"><div class=\"fl\" style=\"width:52%\"><\/div><\/div><b>23<\/b><\/div>\n                            <div class=\"fd-bar\"><span>Ch 3: Budget<\/span><div class=\"tr\"><div class=\"fl b\" style=\"width:34%\"><\/div><\/div><b>15<\/b><\/div>\n                            <div class=\"fd-bar\"><span>Ch 2: Fin. Mgmt<\/span><div class=\"tr\"><div class=\"fl b\" style=\"width:34%\"><\/div><\/div><b>15<\/b><\/div>\n                        <\/div>\n                        <div class=\"feat-body\">\n                            <h4>\ud83d\udcca Chapter Weightage \u2014 Ranked<\/h4>\n                            <p>Instantly see which chapters actually carry the paper, computed from real PYQ data. Stop preparing blind.<\/p>\n                            <span class=\"feat-tag\">Study what UPSC actually asks<\/span>\n                        <\/div>\n                    <\/div>\n                    <!-- 8 -->\n                    <div class=\"feat-slide\">\n                        <div class=\"feat-demo\">\n                            <div class=\"fd-hm\">\n                                <span style=\"background:#f59e0b;color:#fff\">7<\/span><span style=\"background:#fbbf24;color:#fff\">5<\/span><span style=\"background:#fde68a\">4<\/span><span style=\"background:#fef3c7\">2<\/span><span style=\"background:#f59e0b;color:#fff\">6<\/span><span style=\"background:#fde68a\">3<\/span><span style=\"background:#fbbf24;color:#fff\">5<\/span>\n                                <span style=\"background:#fef3c7\">2<\/span><span style=\"background:#fffbeb\">1<\/span><span style=\"background:#fde68a\">3<\/span><span style=\"background:#fff;border:1px solid #eee\">\u00b7<\/span><span style=\"background:#fef3c7\">2<\/span><span style=\"background:#fde68a\">4<\/span><span style=\"background:#fef3c7\">2<\/span>\n                            <\/div>\n                            <div style=\"font-size:10px;color:var(--text-gray);text-align:center\">Chapter \u00d7 Exam-Year heatmap \u2014 darker = more questions<\/div>\n                        <\/div>\n                        <div class=\"feat-body\">\n                            <h4>\ud83d\udd25 Chapter \u00d7 Year Heatmap<\/h4>\n                            <p>How every chapter has trended across each exam cycle since 2009 \u2014 spot rising topics (GeM, e-procurement) and fading ones at a glance.<\/p>\n                            <span class=\"feat-tag\">15+ years of paper intelligence<\/span>\n                        <\/div>\n                    <\/div>\n                    <!-- 9 -->\n                    <div class=\"feat-slide\">\n                        <div class=\"feat-demo\">\n                            <div class=\"fd-ring\">\n                                <svg width=\"78\" height=\"78\"><circle cx=\"39\" cy=\"39\" r=\"32\" fill=\"none\" stroke=\"#e6ecf6\" stroke-width=\"7\"\/><circle cx=\"39\" cy=\"39\" r=\"32\" fill=\"none\" stroke=\"#ff6b35\" stroke-width=\"7\" stroke-linecap=\"round\" stroke-dasharray=\"201\" stroke-dashoffset=\"56\"\/><\/svg>\n                                <div class=\"t\"><b>72<\/b><s>Readiness<\/s><\/div>\n                            <\/div>\n                        <\/div>\n                        <div class=\"feat-body\">\n                            <h4>\ud83c\udfaf AI Exam-Readiness Score<\/h4>\n                            <p>Not a plain percentage \u2014 your score weights every chapter by its real exam frequency. Mastering a 24%-weight chapter moves it far more than a 2% one.<\/p>\n                            <span class=\"feat-tag\">Weighted like the actual paper<\/span>\n                        <\/div>\n                    <\/div>\n                    <!-- 10 -->\n                    <div class=\"feat-slide\">\n                        <div class=\"feat-demo\">\n                            <div class=\"fd-reco\"><span class=\"ri hot\">\ud83d\udd25<\/span><span><b>Ch 6<\/b>: exam weight 24%, your accuracy 40% \u2014 highest payoff zone. <b style=\"color:var(--primary-blue)\">Practice \u2192<\/b><\/span><\/div>\n                            <div class=\"fd-reco\"><span class=\"ri warm\">\ud83e\udded<\/span><span><b>Ch 3<\/b> carries 8% of the paper but you haven't started it.<\/span><\/div>\n                            <div class=\"fd-reco\"><span class=\"ri good\">\ud83c\udfc5<\/span><span>Strongest: <b>Ch 4<\/b> at 88% \u2014 bank these marks.<\/span><\/div>\n                        <\/div>\n                        <div class=\"feat-body\">\n                            <h4>\ud83e\ude84 AI Smart Study Plan<\/h4>\n                            <p>The coach ranks every chapter by exam-weight \u00d7 your weakness \u00d7 coverage gap, and writes plain-language instructions on what to study next.<\/p>\n                            <span class=\"feat-tag\">Never wonder \"what should I study today?\"<\/span>\n                        <\/div>\n                    <\/div>\n                    <!-- 11 -->\n                    <div class=\"feat-slide\">\n                        <div class=\"feat-demo\">\n                            <div class=\"fd-rev\"><b style=\"color:#b45309\">Q12<\/b><span>Head of Department rank\u2026<\/span><span class=\"dd\">9d ago<\/span><\/div>\n                            <div class=\"fd-rev\"><b style=\"color:#b45309\">Q31<\/b><span>Revenue &amp; Capital divisions\u2026<\/span><span class=\"dd\">8d ago<\/span><\/div>\n                            <div style=\"font-size:10px;color:var(--text-gray);text-align:center\">Mastered questions resurface after 7 days<\/div>\n                        <\/div>\n                        <div class=\"feat-body\">\n                            <h4>\ud83d\udd01 Spaced-Repetition Revision Queue<\/h4>\n                            <p>Memory fades \u2014 the coach doesn't let it. Questions mastered more than a week ago automatically queue up for revision before the forgetting curve wins.<\/p>\n                            <span class=\"feat-tag\">Science-backed retention<\/span>\n                        <\/div>\n                    <\/div>\n                    <!-- 12 -->\n                    <div class=\"feat-slide\">\n                        <div class=\"feat-demo\" style=\"align-items:center\">\n                            <div class=\"fd-phone\"><span class=\"h\"><\/span><span><\/span><span style=\"width:70%\"><\/span><span class=\"g\" style=\"width:50%\"><\/span><span><\/span><span style=\"width:60%\"><\/span><\/div>\n                            <div class=\"fd-save\"><span class=\"dot\"><\/span> No login \u00b7 No app \u00b7 Auto-saved<\/div>\n                        <\/div>\n                        <div class=\"feat-body\">\n                            <h4>\ud83d\udcf1 Mobile-First. Zero Friction.<\/h4>\n                            <p>Practise in the metro or the office lunch break \u2014 swipeable filters, thumb-friendly buttons, and progress that persists on your device between sessions.<\/p>\n                            <span class=\"feat-tag\">Your pocket study room<\/span>\n                        <\/div>\n                    <\/div>\n                <\/div>\n\n                <div class=\"feat-dots\" id=\"featDots\"><\/div>\n            <\/div>\n\n            <div class=\"feat-cta-row\">\n                <a class=\"btn-sample-test\" href=\"\/gfr-sample-test\/\" id=\"sampleTestBtn\"><i class=\"fas fa-play-circle\"><\/i> Take Free Sample Test<\/a>\n              \n            <\/div>\n            <p class=\"feat-note\" style=\"text-align:center\">The sample test opens the <strong>actual interface<\/strong> used in all paid test series \u2014 practice engine, analytics and AI coach included.<\/p>\n        <\/div>\n    <\/section>\n\n \n    <!-- ===== PYQ PAPER 1 ===== -->\n    <section class=\"test-series-section\" id=\"pyq-paper1\">\n        <div class=\"container\">\n            <div class=\"section-header\">\n                <span class=\"paper-badge pyq\"><i class=\"fas fa-history\"><\/i> Previous Year<\/span>\n                <h2 class=\"section-title\">PYQ Topic-wise - Paper 1<\/h2>\n                <p class=\"section-subtitle\">Practice with actual exam questions (2010-2024)<\/p>\n            <\/div>\n\n            <div class=\"topic-grid\">\n                <!-- PYQ Constitution -->\n                <div class=\"topic-card pyq-topic\">\n                    <div class=\"card-banner\">\n                        <img decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/12\/coi.jpg\" alt=\"Constitution\" class=\"card-banner-img\" onerror=\"this.style.display='none'\">\n                       \n                        <span class=\"new-badge pyq-badge\">PYQs<\/span>\n                      \n                    <\/div>\n                    <div class=\"card-body\">\n                        <div class=\"card-tags\">\n                            <span class=\"card-tag lang-tag\">English<\/span>\n                            <span class=\"card-tag type-tag\">PYQ_SERIES<\/span>\n                        <\/div>\n                        <h3 class=\"card-title\">Constitution PYQs <\/h3>\n                        <div class=\"card-tests-info\">\n                            <i class=\"fas fa-file-alt\"><\/i> 15 Years (2009-2025) | 300+ Questions\n                        <\/div>\n                        <div class=\"card-footer\">\n                            <div class=\"card-price\">\n                                <span class=\"price-current\">\u20b9119<\/span>\n                                <span class=\"price-original\">\u20b9149<\/span>\n                                <span class=\"price-discount\">(20% off)<\/span>\n                            <\/div>\n                            <button class=\"btn-add-cart\" data-product-id=\"pyq-constitution\" onclick=\"addToCart({\n                                id: 'pyq-constitution',\n                                name: 'Constitution PYQs',\n                                type: 'test-series',\n                                price: 119,\n                                originalPrice: 149,\n                                icon: 'fa-landmark',\n                                wooProductId: 4036\n                            },this)\">\n                                <i class=\"fas fa-cart-plus\"><\/i> Add\n                            <\/button>\n                        <\/div>\n                    <\/div>\n                <\/div>\n\n                <!-- PYQ RTI -->\n                <div class=\"topic-card pyq-topic\">\n                    <div class=\"card-banner\">\n                        <img decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/08\/rti.jpeg\" alt=\"RTI\" class=\"card-banner-img\" onerror=\"this.style.display='none'\">\n                       \n                        <span class=\"new-badge pyq-badge\">PYQs<\/span>\n                      \n                    <\/div>\n                    <div class=\"card-body\">\n                        <div class=\"card-tags\">\n                            <span class=\"card-tag lang-tag\">English<\/span>\n                            <span class=\"card-tag type-tag\">PYQ_SERIES<\/span>\n                        <\/div>\n                        <h3 class=\"card-title\">RTI Act PYQs <\/h3>\n                        <div class=\"card-tests-info\">\n                            <i class=\"fas fa-file-alt\"><\/i> 15 Years (2009-2025) | 100+ Questions\n                        <\/div>\n                        <div class=\"card-footer\">\n                            <div class=\"card-price\">\n                                <span class=\"price-current\">\u20b959<\/span>\n                                <span class=\"price-original\">\u20b999<\/span>\n                                <span class=\"price-discount\">(40% off)<\/span>\n                            <\/div>\n                            <button class=\"btn-add-cart\" data-product-id=\"pyq-rti\" onclick=\"addToCart({\n                                id: 'pyq-rti',\n                                name: 'RTI Act PYQs',\n                                type: 'test-series',\n                                price: 59,\n                                originalPrice: 99,\n                                icon: 'fa-file-alt',\n                                wooProductId: 2629\n                            },this)\">\n                                <i class=\"fas fa-cart-plus\"><\/i> Add\n                            <\/button>\n                        <\/div>\n                    <\/div>\n                <\/div>\n\n                <!-- PYQ AOBR\/TOBR -->\n                <div class=\"topic-card pyq-topic\">\n                    <div class=\"card-banner\">\n                        <img decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/08\/AOBR.png\" alt=\"AOBR\/TOBR\" class=\"card-banner-img\" onerror=\"this.style.display='none'\">\n                        \n                        <span class=\"new-badge pyq-badge\">PYQs<\/span>\n                    \n                    <\/div>\n                    <div class=\"card-body\">\n                        <div class=\"card-tags\">\n                            <span class=\"card-tag lang-tag\">English<\/span>\n                            <span class=\"card-tag type-tag\">PYQ_SERIES<\/span>\n                        <\/div>\n                        <h3 class=\"card-title\">AOBR\/TOBR PYQs <\/h3>\n                        <div class=\"card-tests-info\">\n                            <i class=\"fas fa-file-alt\"><\/i> 15 Years (2009-2025) | 150+ Questions\n                        <\/div>\n                        <div class=\"card-footer\">\n                            <div class=\"card-price\">\n                                <span class=\"price-current\">\u20b959<\/span>\n                                <span class=\"price-original\">\u20b999<\/span>\n                                <span class=\"price-discount\">(40% off)<\/span>\n                            <\/div>\n                            <button class=\"btn-add-cart\" data-product-id=\"pyq-aobr\" onclick=\"addToCart({\n                                id: 'pyq-aobr',\n                                name: 'AOBR\/TOBR PYQs',\n                                type: 'test-series',\n                                price: 59,\n                                originalPrice: 99,\n                                icon: 'fa-chart-line',\n                                wooProductId: 5749\n                            },this)\">\n                                <i class=\"fas fa-cart-plus\"><\/i> Add\n                            <\/button>\n                        <\/div>\n                    <\/div>\n                <\/div>\n\n                <!-- PYQ Parliamentary Procedures -->\n                <div class=\"topic-card pyq-topic\">\n                    <div class=\"card-banner\">\n                        <img decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/08\/RS.png\" alt=\"Parliamentary Procedures-Lok Sabha\/Rajya Sabha\" class=\"card-banner-img\" onerror=\"this.style.display='none'\">\n                    \n                        <span class=\"new-badge pyq-badge\">PYQs<\/span>\n                       \n                    <\/div>\n                    <div class=\"card-body\">\n                        <div class=\"card-tags\">\n                            <span class=\"card-tag lang-tag\">English<\/span>\n                            <span class=\"card-tag type-tag\">PYQ_SERIES<\/span>\n                        <\/div>\n                        <h3 class=\"card-title\">Parliamentary Procedures(Lok Sabha\/Rajya Sabha) PYQs<\/h3>\n                        <div class=\"card-tests-info\">\n                            <i class=\"fas fa-file-alt\"><\/i> 15 Years | 180+ Questions\n                        <\/div>\n                        <div class=\"card-footer\">\n                            <div class=\"card-price\">\n                                <span class=\"price-current\">\u20b979<\/span>\n                                <span class=\"price-original\">\u20b9129<\/span>\n                                <span class=\"price-discount\">(39% off)<\/span>\n                            <\/div>\n                            <button class=\"btn-add-cart\" data-product-id=\"pyq-parliament\" onclick=\"addToCart({\n                                id: 'pyq-parliament',\n                                name: 'Parliamentary Procedures PYQs',\n                                type: 'test-series',\n                                price: 79,\n                                originalPrice: 129,\n                                icon: 'fa-university',\n                                wooProductId: 4611\n                            },this)\">\n                                <i class=\"fas fa-cart-plus\"><\/i> Add\n                            <\/button>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/section>\n\n    <!-- ===== PYQ PAPER 2 ===== -->\n    <section class=\"test-series-section\" id=\"pyq-paper2\" style=\"background: white;\">\n        <div class=\"container\">\n            <div class=\"section-header\">\n                <span class=\"paper-badge pyq\"><i class=\"fas fa-history\"><\/i> Previous Year<\/span>\n                <h2 class=\"section-title\">PYQ Topic-wise - Paper 2<\/h2>\n                <p class=\"section-subtitle\">Practice with actual exam questions (2009-2025)<\/p>\n            <\/div>\n\n            <div class=\"topic-grid\">\n                <!-- PYQ Conduct Rules -->\n                <div class=\"topic-card pyq-topic\">\n                    <div class=\"card-banner\">\n                        <img decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/08\/conduct.jpg\" alt=\"Conduct Rules\" class=\"card-banner-img\" onerror=\"this.style.display='none'\">\n                        \n                        <span class=\"new-badge pyq-badge\">PYQs<\/span>\n                       \n                    <\/div>\n                    <div class=\"card-body\">\n                        <div class=\"card-tags\">\n                            <span class=\"card-tag lang-tag\">English<\/span>\n                            <span class=\"card-tag type-tag\">PYQ_SERIES<\/span>\n                        <\/div>\n                        <h3 class=\"card-title\">CCS(Conduct) Rules PYQs<\/h3>\n                        <div class=\"card-tests-info\">\n                            <i class=\"fas fa-file-alt\"><\/i> 15 Years | 121 Questions\n                        <\/div>\n                        <div class=\"card-footer\">\n                            <div class=\"card-price\">\n                                <span class=\"price-current\">\u20b979<\/span>\n                                <span class=\"price-original\">\u20b9129<\/span>\n                                <span class=\"price-discount\">(39% off)<\/span>\n                            <\/div>\n                            <button class=\"btn-add-cart\" data-product-id=\"pyq-conduct\" onclick=\"addToCart({\n                                id: 'pyq-conduct',\n                                name: 'CCS Conduct Rules PYQs',\n                                type: 'test-series',\n                                price: 79,\n                                originalPrice: 129,\n                                icon: 'fa-user-tie',\n                                wooProductId: 5750\n                            },this)\">\n                                <i class=\"fas fa-cart-plus\"><\/i> Add\n                            <\/button>\n                        <\/div>\n                    <\/div>\n                <\/div>\n\n                <!-- PYQ CCA Rules -->\n                <div class=\"topic-card pyq-topic\">\n                    <div class=\"card-banner\">\n                        <img decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/08\/CCA.png\" alt=\"CCA Rules\" class=\"card-banner-img\" onerror=\"this.style.display='none'\">\n                       \n                        <span class=\"new-badge pyq-badge\">PYQs<\/span>\n                      \n                    <\/div>\n                    <div class=\"card-body\">\n                        <div class=\"card-tags\">\n                            <span class=\"card-tag lang-tag\">English<\/span>\n                            <span class=\"card-tag type-tag\">PYQ_SERIES<\/span>\n                        <\/div>\n                        <h3 class=\"card-title\">CCS(CCA) Rules PYQs<\/h3>\n                        <div class=\"card-tests-info\">\n                            <i class=\"fas fa-file-alt\"><\/i> 15 Years | 250+ Questions\n                        <\/div>\n                        <div class=\"card-footer\">\n                            <div class=\"card-price\">\n                                <span class=\"price-current\">\u20b979<\/span>\n                                <span class=\"price-original\">\u20b9129<\/span>\n                                <span class=\"price-discount\">(39% off)<\/span>\n                            <\/div>\n                            <button class=\"btn-add-cart\" data-product-id=\"pyq-cca\" onclick=\"addToCart({\n                                id: 'pyq-cca',\n                                name: 'CCS CCA Rules PYQs',\n                                type: 'test-series',\n                                price: 79,\n                                originalPrice: 129,\n                                icon: 'fa-gavel',\n                                wooProductId: 2630\n                            },this)\">\n                                <i class=\"fas fa-cart-plus\"><\/i> Add\n                            <\/button>\n                        <\/div>\n                    <\/div>\n                <\/div>\n\n                <!-- PYQ GFR -->\n                <div class=\"topic-card pyq-topic\">\n                    <div class=\"card-banner\">\n                        <img decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/08\/GFR.jpg\" alt=\"GFR\" class=\"card-banner-img\" onerror=\"this.style.display='none'\">\n                        \n                        <span class=\"new-badge pyq-badge\">PYQs<\/span>\n                        \n                    <\/div>\n                    <div class=\"card-body\">\n                        <div class=\"card-tags\">\n                            <span class=\"card-tag lang-tag\">English<\/span>\n                            <span class=\"card-tag type-tag\">PYQ_SERIES<\/span>\n                        <\/div>\n                        <h3 class=\"card-title\">General Financial Rules PYQs<\/h3>\n                        <div class=\"card-tests-info\">\n                            <i class=\"fas fa-file-alt\"><\/i> 15 Years | 200+ Questions\n                        <\/div>\n                        <div class=\"card-footer\">\n                            <div class=\"card-price\">\n                                <span class=\"price-current\">\u20b979<\/span>\n                                <span class=\"price-original\">\u20b9129<\/span>\n                                <span class=\"price-discount\">(28% off)<\/span>\n                            <\/div>\n                            <button class=\"btn-add-cart\" data-product-id=\"pyq-gfr\" onclick=\"addToCart({\n                                id: 'pyq-gfr',\n                                name: 'GFR PYQs',\n                                type: 'test-series',\n                                price: 79,\n                                originalPrice: 129,\n                                icon: 'fa-coins',\n                                wooProductId: 5751\n                            },this)\">\n                                <i class=\"fas fa-cart-plus\"><\/i> Add\n                            <\/button>\n                        <\/div>\n                    <\/div>\n                <\/div>\n\n                <!-- PYQ FR\/SR -->\n             <!--     <div class=\"topic-card pyq-topic\">\n                    <div class=\"card-banner\">\n                        <img decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/08\/FRSR.png\" alt=\"FR & SR\" class=\"card-banner-img\" onerror=\"this.style.display='none'\">\n                      \n                        <span class=\"new-badge pyq-badge\">PYQs<\/span>\n                    \n                    <\/div>\n                    <div class=\"card-body\">\n                        <div class=\"card-tags\">\n                            <span class=\"card-tag lang-tag\">English<\/span>\n                            <span class=\"card-tag type-tag\">PYQ_SERIES<\/span>\n                        <\/div>\n                        <h3 class=\"card-title\">FR & SR PYQs<\/h3>\n                        <div class=\"card-tests-info\">\n                            <i class=\"fas fa-file-alt\"><\/i> 15 Years | 220+ Questions\n                        <\/div>\n                        <div class=\"card-footer\">\n                            <div class=\"card-price\">\n                                <span class=\"price-current\">\u20b999<\/span>\n                                <span class=\"price-original\">\u20b9149<\/span>\n                                <span class=\"price-discount\">(34% off)<\/span>\n                            <\/div>\n                            <button class=\"btn-add-cart\" data-product-id=\"pyq-frsr\" onclick=\"addToCart({\n                                id: 'pyq-frsr',\n                                name: 'FR & SR PYQs',\n                                type: 'test-series',\n                                price: 99,\n                                originalPrice: 149,\n                                icon: 'fa-file-invoice',\n                                wooProductId: 0\n                            },this)\">\n                                <i class=\"fas fa-cart-plus\"><\/i> Add\n                            <\/button>\n                        <\/div>\n                    <\/div>\n                <\/div>-->\n\n                <!-- PYQ Pension Rules -->\n                <div class=\"topic-card pyq-topic\">\n                    <div class=\"card-banner\">\n                        <img decoding=\"async\" src=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2025\/08\/pension.png\" alt=\"Pension Rules\" class=\"card-banner-img\" onerror=\"this.style.display='none'\">\n                       \n                        <span class=\"new-badge pyq-badge\">PYQs<\/span>\n                     \n                    <\/div>\n                    <div class=\"card-body\">\n                        <div class=\"card-tags\">\n                            <span class=\"card-tag lang-tag\">English<\/span>\n                            <span class=\"card-tag type-tag\">PYQ_SERIES<\/span>\n                        <\/div>\n                        <h3 class=\"card-title\">CCS(Pension) Rules PYQs<\/h3>\n                        <div class=\"card-tests-info\">\n                            <i class=\"fas fa-file-alt\"><\/i> 15 Years | 220+ Questions\n                        <\/div>\n                        <div class=\"card-footer\">\n                            <div class=\"card-price\">\n                                <span class=\"price-current\">\u20b979<\/span>\n                                <span class=\"price-original\">\u20b9129<\/span>\n                                <span class=\"price-discount\">(39% off)<\/span>\n                            <\/div>\n                            <button class=\"btn-add-cart\" data-product-id=\"pyq-pension\" onclick=\"addToCart({\n                                id: 'pyq-pension',\n                                name: 'CCS Pension Rules PYQs',\n                                type: 'test-series',\n                                price: 79,\n                                originalPrice: 129,\n                                icon: 'fa-user-clock',\n                                wooProductId: 2631\n                            },this)\">\n                                <i class=\"fas fa-cart-plus\"><\/i> Add\n                            <\/button>\n                        <\/div>\n                    <\/div>\n                <\/div>\n\n                <!-- PYQ Office Procedure -->\n                <div class=\"topic-card pyq-topic\">\n                    <div class=\"card-banner\">\n                        <img decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/08\/mop-e1684145514331.jpeg\" alt=\"Office Procedure(MOP)\" class=\"card-banner-img\" onerror=\"this.style.display='none'\">\n                       \n                        <span class=\"new-badge pyq-badge\">PYQs<\/span>\n                       \n                    <\/div>\n                    <div class=\"card-body\">\n                        <div class=\"card-tags\">\n                            <span class=\"card-tag lang-tag\">English<\/span>\n                            <span class=\"card-tag type-tag\">PYQ_SERIES<\/span>\n                        <\/div>\n                        <h3 class=\"card-title\">Office Procedure (MOP) PYQs<\/h3>\n                        <div class=\"card-tests-info\">\n                            <i class=\"fas fa-file-alt\"><\/i> 15 Years | 180+ Questions\n                        <\/div>\n                        <div class=\"card-footer\">\n                            <div class=\"card-price\">\n                                <span class=\"price-current\">\u20b999<\/span>\n                                <span class=\"price-original\">\u20b9149<\/span>\n                                <span class=\"price-discount\">(34% off)<\/span>\n                            <\/div>\n                            <button class=\"btn-add-cart\" data-product-id=\"pyq-mop\" onclick=\"addToCart({\n                                id: 'pyq-mop',\n                                name: 'Office Procedure PYQs',\n                                type: 'test-series',\n                                price: 99,\n                                originalPrice: 149,\n                                icon: 'fa-folder-open',\n                                wooProductId: 12649\n                            },this)\">\n                                <i class=\"fas fa-cart-plus\"><\/i> Add\n                            <\/button>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/section>\n\n    <!-- ===== PAPER 1 TOPIC TESTS ===== -->\n    <section class=\"test-series-section\" id=\"paper1\">\n        <div class=\"container\">\n            <div class=\"section-header\">\n                <span class=\"paper-badge paper1\"><i class=\"fas fa-file-alt\"><\/i> Paper 1<\/span>\n                <h2 class=\"section-title\">Paper 1 - Topic-wise Tests<\/h2>\n                <p class=\"section-subtitle\">Constitution, RTI, Economy, Current Affairs, AOBR\/TOBR, Parliamentary Procedures and Major Development Schemes<\/p>\n            <\/div>\n\n            <div class=\"topic-grid\">\n                <!-- RTI Act -->\n                <div class=\"topic-card\">\n                    <div class=\"card-banner\">\n                        <img decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/08\/rti.jpeg\" alt=\"RTI\" class=\"card-banner-img\" onerror=\"this.style.display='none'\">\n                      \n                        <span class=\"new-badge\">New<\/span>\n                       \n                    <\/div>\n                    <div class=\"card-body\">\n                        <div class=\"card-tags\">\n                            <span class=\"card-tag lang-tag\">English<\/span>\n                            <span class=\"card-tag type-tag\">Chapter wise TESTs<\/span>\n                        <\/div>\n                        <h3 class=\"card-title\">RTI Act 2005 - Complete Test Series<\/h3>\n                        <div class=\"card-tests-info\">\n                            <i class=\"fas fa-file-alt\"><\/i> 200+ Questions\n                        <\/div>\n                        <div class=\"card-footer\">\n                            <div class=\"card-price\">\n                                <span class=\"price-current\">\u20b9149<\/span>\n                                <span class=\"price-original\">\u20b9249<\/span>\n                                <span class=\"price-discount\">(28% off)<\/span>\n                            <\/div>\n                            <button class=\"btn-add-cart\" data-product-id=\"rti-tests\" onclick=\"addToCart({\n                                id: 'rti-tests',\n                                name: 'RTI Act 2005 Test Series',\n                                type: 'test-series',\n                                price: 149,\n                                originalPrice: 249,\n                                icon: 'fa-clipboard-list',\n                                wooProductId: 1147\n                            },this)\">\n                                <i class=\"fas fa-cart-plus\"><\/i> Add\n                            <\/button>\n                        <\/div>\n                    <\/div>\n                <\/div>\n\n                <!-- Current Affairs -->\n             \n\n                <!-- Development Schemes -->\n                <!--  <div class=\"topic-card\">\n                    <div class=\"card-banner\">\n                        <img decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/08\/schemes.png\" alt=\"Schemes\" class=\"card-banner-img\" onerror=\"this.style.display='none'\">\n                      \n                    <\/div>\n                    <div class=\"card-body\">\n                        <div class=\"card-tags\">\n                            <span class=\"card-tag lang-tag\">ENGLISH<\/span>\n                            <span class=\"card-tag type-tag\">Scheme wise TESTs<\/span>\n                        <\/div>\n                        <h3 class=\"card-title\">Major Development Schemes<\/h3>\n                        <div class=\"card-tests-info\">\n                            <i class=\"fas fa-file-alt\"><\/i> 6 Tests | 300 Questions\n                        <\/div>\n                        <div class=\"card-footer\">\n                            <div class=\"card-price\">\n                                <span class=\"price-current\">\u20b9199<\/span>\n                                <span class=\"price-original\">\u20b9299<\/span>\n                                <span class=\"price-discount\">(33% off)<\/span>\n                            <\/div>\n                            <button class=\"btn-add-cart\" data-product-id=\"schemes-tests\" onclick=\"addToCart({\n                                id: 'schemes-tests',\n                                name: 'Development Schemes Test Series',\n                                type: 'test-series',\n                                price: 199,\n                                originalPrice: 299,\n                                icon: 'fa-tasks',\n                                wooProductId: 0\n                            },this)\">\n                                <i class=\"fas fa-cart-plus\"><\/i> Add\n                            <\/button>\n                        <\/div>\n                    <\/div>\n                <\/div>-->\n            <\/div>\n        <\/div>\n    <\/section>\n\n    <!-- ===== PAPER 2 TOPIC TESTS ===== -->\n    <section class=\"test-series-section\" id=\"paper2\" style=\"background: white;\">\n        <div class=\"container\">\n            <div class=\"section-header\">\n                <span class=\"paper-badge paper2\"><i class=\"fas fa-gavel\"><\/i> Paper 2<\/span>\n                <h2 class=\"section-title\">Paper 2 - Topic-wise Tests<\/h2>\n                <p class=\"section-subtitle\">CCS Rules, GFR, FR\/SR & Office Procedure<\/p>\n            <\/div>\n\n            <div class=\"topic-grid\">\n                <!-- CCS Leave -->\n              <!--  <div class=\"topic-card paper2-topic\">\n                    <div class=\"card-banner\">\n                        <img decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/08\/leave.jpg\" alt=\"Leave Rules\" class=\"card-banner-img\" onerror=\"this.style.display='none'\">\n                     \n                        <span class=\"new-badge\">New<\/span>\n                       \n                    <\/div>\n                    <div class=\"card-body\">\n                        <div class=\"card-tags\">\n                            <span class=\"card-tag lang-tag\">English<\/span>\n                            <span class=\"card-tag type-tag\">Chapter wise TESTs<\/span>\n                        <\/div>\n                        <h3 class=\"card-title\">CCS (Leave & LTC) Rules<\/h3>\n                        <div class=\"card-tests-info\">\n                            <i class=\"fas fa-file-alt\"><\/i> 6 Tests | 300 Questions\n                        <\/div>\n                        <div class=\"card-footer\">\n                            <div class=\"card-price\">\n                                <span class=\"price-current\">\u20b9199<\/span>\n                                <span class=\"price-original\">\u20b9299<\/span>\n                                <span class=\"price-discount\">(33% off)<\/span>\n                            <\/div>\n                            <button class=\"btn-add-cart\" data-product-id=\"leave-tests\" onclick=\"addToCart({\n                                id: 'leave-tests',\n                                name: 'CCS Leave & LTC Rules Test Series',\n                                type: 'test-series',\n                                price: 199,\n                                originalPrice: 299,\n                                icon: 'fa-calendar-check',\n                                wooProductId: 0\n                            },this)\">\n                                <i class=\"fas fa-cart-plus\"><\/i> Add\n                            <\/button>\n                        <\/div>\n                    <\/div>\n                <\/div>-->\n\n                <!-- DFPR -->\n                <div class=\"topic-card paper2-topic\">\n                    <div class=\"card-banner\">\n                        <img decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/08\/DFPR.jpg\" alt=\"DFPR\" class=\"card-banner-img\" onerror=\"this.style.display='none'\">\n                       \n                        <span class=\"new-badge\">Updated 2024<\/span>\n                   \n                    <\/div>\n                    <div class=\"card-body\">\n                        <div class=\"card-tags\">\n                            <span class=\"card-tag lang-tag\">English<\/span>\n                            <span class=\"card-tag type-tag\">Chapter wise TESTs<\/span>\n                        <\/div>\n                        <h3 class=\"card-title\">Delegation of Financial Power Rules, 2024<\/h3>\n                        <div class=\"card-tests-info\">\n                            <i class=\"fas fa-file-alt\"><\/i> 10 Tests | 500 Questions\n                        <\/div>\n                        <div class=\"card-footer\">\n                            <div class=\"card-price\">\n                                <span class=\"price-current\">\u20b9349<\/span>\n                                <span class=\"price-original\">\u20b9449<\/span>\n                                <span class=\"price-discount\">(22% off)<\/span>\n                            <\/div>\n                            <button class=\"btn-add-cart\" data-product-id=\"dfpr-tests\" onclick=\"addToCart({\n                                id: 'dfpr-tests',\n                                name: 'DFPR 2024 Test Series',\n                                type: 'test-series',\n                                price: 349,\n                                originalPrice: 449,\n                                icon: 'fa-money-bill-wave',\n                                wooProductId: 0\n                            },this)\">\n                                <i class=\"fas fa-cart-plus\"><\/i> Add\n                            <\/button>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/section>\n\n    <!-- ===== LIVE TEST SERIES ===== -->\n    <section class=\"live-section\" id=\"live\">\n        <div class=\"container\">\n            <div class=\"section-header\">\n                <span class=\"paper-badge live\"><i class=\"fas fa-broadcast-tower\"><\/i> Live Test Series<\/span>\n                <h2 class=\"section-title\">Live Test Series<\/h2>\n                <p class=\"section-subtitle\">Real-time mock tests with All India Ranking<\/p>\n            <\/div>\n\n            <div class=\"live-notice\">\n                <div class=\"live-notice-icon\">\n                    <i class=\"fas fa-calendar-alt\"><\/i>\n                <\/div>\n                <h3>Coming Soon!<\/h3>\n                <p>Our Live Test Series will start <strong>2 months before the exam date<\/strong>. Stay tuned for schedule updates.<\/p>\n                <span class=\"highlight\">\n                    <i class=\"fas fa-bell\"><\/i> We'll notify you when it starts\n                <\/span>\n            <\/div>\n        <\/div>\n    <\/section>\n\n    <!-- ===== FAQ ===== -->\n    <section class=\"faq-section\">\n        <div class=\"container\">\n            <div class=\"section-header\">\n                <span class=\"section-tag\"><i class=\"fas fa-question-circle\"><\/i> FAQs<\/span>\n                <h2 class=\"section-title\">Frequently Asked Questions<\/h2>\n            <\/div>\n\n            <div class=\"faq-container\">\n                <div class=\"faq-item active\">\n                    <div class=\"faq-question\">\n                        How can I access my purchased tests?\n                        <i class=\"fas fa-chevron-down\"><\/i>\n                    <\/div>\n                    <div class=\"faq-answer\">\n                        <p>After purchasing, go to your <strong>Dashboard \u2192 My Tests<\/strong> section. All your purchased tests will be available there.<\/p>\n                    <\/div>\n                <\/div>\n\n                <div class=\"faq-item\">\n                    <div class=\"faq-question\">\n                        How long is the validity of test series?\n                        <i class=\"fas fa-chevron-down\"><\/i>\n                    <\/div>\n                    <div class=\"faq-answer\">\n                        <p>All test series come with 1 year validity. You can attempt each test multiple times within the validity period.<\/p>\n                    <\/div>\n                <\/div>\n\n                <div class=\"faq-item\">\n                    <div class=\"faq-question\">\n                        Are solutions provided for each question?\n                        <i class=\"fas fa-chevron-down\"><\/i>\n                    <\/div>\n                    <div class=\"faq-answer\">\n                        <p>Yes, detailed explanations are provided for every question with references to relevant rules, sections, and articles.<\/p>\n                    <\/div>\n                <\/div>\n\n                <div class=\"faq-item\">\n                    <div class=\"faq-question\">\n                        What payment methods are accepted?\n                        <i class=\"fas fa-chevron-down\"><\/i>\n                    <\/div>\n                    <div class=\"faq-answer\">\n                        <p>We accept Credit\/Debit Cards, Net Banking, UPI (GPay, PhonePe, Paytm), and Wallets through Razorpay.<\/p>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/section>\n\n  \n\n  \n   <!-- \n    CSS ADDA - Complete Cart System v3.0\n    \n    USAGE:\n    1. Add this entire script to EVERY page that has products (Study Materials, Test Series, etc.)\n    2. Or add it to your theme's footer via Elementor or Theme Settings\n    3. Make sure the PHP snippet is active in Code Snippets\n    \n    DEBUGGING:\n    - Open browser console (F12) to see detailed logs\n    - Set DEBUG_MODE = true below for verbose logging\n-->\n\n<script>\n\/\/ ============================================\n\/\/ FEATURES CAROUSEL (scroll-snap based)\n\/\/ ============================================\n(function(){\n    const track = document.getElementById('featTrack');\n    const dotsWrap = document.getElementById('featDots');\n    if (!track || !dotsWrap) return;\n    const slides = track.querySelectorAll('.feat-slide');\n    let featAuto = null;\n\n    function perView(){\n        const w = window.innerWidth;\n        return w <= 768 ? 1 : (w <= 992 ? 2 : 3);\n    }\n    function pages(){ return Math.ceil(slides.length \/ perView()); }\n    function pageWidth(){ return track.clientWidth + 0; }\n    function currentPage(){ return Math.round(track.scrollLeft \/ pageWidth()); }\n\n    function buildDots(){\n        dotsWrap.innerHTML = '';\n        for (let i = 0; i < pages(); i++){\n            const d = document.createElement('button');\n            d.className = 'feat-dot' + (i === currentPage() ? ' active' : '');\n            d.setAttribute('aria-label','Go to feature page ' + (i+1));\n            d.addEventListener('click', () => { goTo(i); resetAuto(); });\n            dotsWrap.appendChild(d);\n        }\n    }\n    function syncDots(){\n        const cp = currentPage();\n        dotsWrap.querySelectorAll('.feat-dot').forEach((d,i)=>d.classList.toggle('active', i===cp));\n    }\n    function goTo(p){\n        const total = pages();\n        if (p < 0) p = total - 1;\n        if (p >= total) p = 0;\n        track.scrollTo({ left: p * pageWidth(), behavior: 'smooth' });\n    }\n    window.featSlide = function(dir){ goTo(currentPage() + dir); resetAuto(); };\n\n    function resetAuto(){\n        clearInterval(featAuto);\n        featAuto = setInterval(() => goTo(currentPage() + 1), 6000);\n    }\n\n    let st;\n    track.addEventListener('scroll', () => { clearTimeout(st); st = setTimeout(syncDots, 80); }, { passive: true });\n    window.addEventListener('resize', () => { buildDots(); });\n    track.addEventListener('touchstart', () => clearInterval(featAuto), { passive: true });\n    track.addEventListener('touchend', resetAuto, { passive: true });\n\n    buildDots();\n    resetAuto();\n})();\n<\/script>\n\n\n<script>\n(function() {\n    'use strict';\n    \n    \/\/ ============================================\n    \/\/ CONFIGURATION - EDIT IF NEEDED\n    \/\/ ============================================\n    const CONFIG = {\n        storageKey: 'cssadda_cart',\n        maxItems: 50,\n        toastDuration: 3000,\n        DEBUG_MODE: true  \/\/ Set to false in production\n    };\n    \n    \/\/ Debug logger\n    function debug(...args) {\n        if (CONFIG.DEBUG_MODE) {\n            console.log('[CSS ADDA Cart]', ...args);\n        }\n    }\n    \n    debug('Initializing cart system...');\n    \n    \/\/ ============================================\n    \/\/ CART DATA CLASS\n    \/\/ ============================================\n    class Cart {\n        constructor() {\n            this.items = this.loadFromStorage();\n            this.listeners = [];\n            debug('Cart loaded with', this.items.length, 'items');\n        }\n\n        loadFromStorage() {\n            try {\n                const data = localStorage.getItem(CONFIG.storageKey);\n                const items = data ? JSON.parse(data) : [];\n                return Array.isArray(items) ? items : [];\n            } catch (e) {\n                console.error('Error loading cart:', e);\n                return [];\n            }\n        }\n\n        saveToStorage() {\n            try {\n                localStorage.setItem(CONFIG.storageKey, JSON.stringify(this.items));\n                debug('Cart saved:', this.items.length, 'items');\n            } catch (e) {\n                console.error('Error saving cart:', e);\n            }\n        }\n\n        addItem(product) {\n            \/\/ Validate product\n            if (!product || !product.id || !product.name || typeof product.price !== 'number') {\n                debug('Invalid product:', product);\n                return { success: false, message: 'Invalid product data' };\n            }\n            \n            \/\/ Check duplicate\n            if (this.hasItem(product.id)) {\n                return { success: false, message: 'Already in cart' };\n            }\n            \n            \/\/ Check max items\n            if (this.items.length >= CONFIG.maxItems) {\n                return { success: false, message: 'Cart is full (max ' + CONFIG.maxItems + ' items)' };\n            }\n            \n            \/\/ Add timestamp\n            product.addedAt = new Date().toISOString();\n            this.items.push(product);\n            this.saveToStorage();\n            this.notifyListeners('add', product);\n            \n            debug('Added to cart:', product.name, 'WooID:', product.wooProductId);\n            return { success: true, message: 'Added to cart' };\n        }\n\n        removeItem(productId) {\n            const index = this.items.findIndex(item => item.id === productId);\n            if (index === -1) {\n                return { success: false, message: 'Item not found' };\n            }\n            \n            const removed = this.items.splice(index, 1)[0];\n            this.saveToStorage();\n            this.notifyListeners('remove', removed);\n            \n            debug('Removed from cart:', removed.name);\n            return { success: true, message: 'Item removed', item: removed };\n        }\n\n        hasItem(productId) {\n            return this.items.some(item => item.id === productId);\n        }\n\n        getItems() { return [...this.items]; }\n        getCount() { return this.items.length; }\n        getTotal() { return this.items.reduce((sum, item) => sum + (item.price || 0), 0); }\n        getOriginalTotal() { return this.items.reduce((sum, item) => sum + (item.originalPrice || item.price || 0), 0); }\n        getSavings() { return this.getOriginalTotal() - this.getTotal(); }\n        \n        clear() {\n            this.items = [];\n            this.saveToStorage();\n            this.notifyListeners('clear', null);\n            debug('Cart cleared');\n        }\n\n        addListener(callback) { \n            this.listeners.push(callback); \n        }\n        \n        notifyListeners(action, product) {\n            this.listeners.forEach(cb => { \n                try { cb(action, product, this); } catch(e) { console.error(e); } \n            });\n        }\n    }\n\n    \/\/ ============================================\n    \/\/ CART UI CLASS\n    \/\/ ============================================\n    class CartUI {\n        constructor(cart) {\n            this.cart = cart;\n            this.isOpen = false;\n            this.elements = {};\n        }\n\n        init() {\n            this.createCartHTML();\n            this.cacheElements();\n            this.bindEvents();\n            this.update();\n            this.cart.addListener(() => this.update());\n            this.syncWithWooCommerce();\n            debug('UI initialized');\n        }\n\n        syncWithWooCommerce() {\n            \/\/ Check if we have stale WooCommerce cart\n            if (typeof cssaddaCartSync !== 'undefined') {\n                const localCount = this.cart.getCount();\n                const wcCount = cssaddaCartSync.wcCartCount || 0;\n                \n                debug('Sync check - Local:', localCount, 'WC:', wcCount);\n                \n                \/\/ If WC has items but local is empty, clear WC\n                if (wcCount > 0 && localCount === 0) {\n                    debug('Clearing stale WC cart');\n                    this.clearWooCommerceCart();\n                }\n            } else {\n                console.warn('[CSS ADDA] cssaddaCartSync not found. PHP snippet may not be active.');\n            }\n        }\n\n        clearWooCommerceCart() {\n            if (typeof cssaddaCartSync === 'undefined') return;\n            \n            const formData = new FormData();\n            formData.append('action', 'cssadda_clear_wc_cart');\n            formData.append('nonce', cssaddaCartSync.nonce);\n            \n            fetch(cssaddaCartSync.ajaxUrl, {\n                method: 'POST',\n                body: formData,\n                credentials: 'same-origin'\n            })\n            .then(r => r.json())\n            .then(data => debug('WC cart cleared:', data))\n            .catch(err => console.error('Clear WC cart error:', err));\n        }\n\n        createCartHTML() {\n            \/\/ Remove existing cart if any\n            const existing = document.querySelector('.cssadda-floating-cart');\n            if (existing) existing.remove();\n            const existingOverlay = document.querySelector('.cssadda-cart-overlay');\n            if (existingOverlay) existingOverlay.remove();\n            const existingSidebar = document.querySelector('.cssadda-cart-sidebar');\n            if (existingSidebar) existingSidebar.remove();\n\n            const cartHTML = `\n                <div class=\"cssadda-floating-cart\">\n                    <div class=\"cssadda-cart-preview\" onclick=\"CSSAddaCart.toggle()\">\n                        <span>Total:<\/span>\n                        <span class=\"cssadda-cart-preview-amount\">\u20b90<\/span>\n                    <\/div>\n                    <button class=\"cssadda-cart-btn\" onclick=\"CSSAddaCart.toggle()\" aria-label=\"Shopping Cart\">\n                        <i class=\"fas fa-shopping-cart\"><\/i>\n                        <span class=\"cssadda-cart-count\">0<\/span>\n                    <\/button>\n                <\/div>\n                <div class=\"cssadda-cart-overlay\" onclick=\"CSSAddaCart.toggle()\"><\/div>\n                <div class=\"cssadda-cart-sidebar\">\n                    <div class=\"cssadda-cart-header\">\n                        <h2><i class=\"fas fa-shopping-cart\"><\/i> Your Cart<\/h2>\n                        <button class=\"cssadda-cart-close\" onclick=\"CSSAddaCart.toggle()\">\n                            <i class=\"fas fa-times\"><\/i>\n                        <\/button>\n                    <\/div>\n                    <div class=\"cssadda-cart-items\" id=\"cssadda-cart-items\">\n                        <div class=\"cssadda-cart-empty\">\n                            <i class=\"fas fa-shopping-bag\"><\/i>\n                            <h3>Your cart is empty<\/h3>\n                            <p>Add some study materials to get started!<\/p>\n                        <\/div>\n                    <\/div>\n                    <div class=\"cssadda-cart-footer\">\n                        <div class=\"cssadda-cart-summary\">\n                            <div class=\"cssadda-cart-summary-row\">\n                                <span>Items<\/span>\n                                <span class=\"cssadda-item-count\">0<\/span>\n                            <\/div>\n                            <div class=\"cssadda-cart-summary-row cssadda-savings\">\n                                <span>You Save<\/span>\n                                <span class=\"cssadda-cart-savings\">\u20b90<\/span>\n                            <\/div>\n                            <div class=\"cssadda-cart-summary-row cssadda-total\">\n                                <span>Total<\/span>\n                                <span class=\"cssadda-cart-total\">\u20b90<\/span>\n                            <\/div>\n                        <\/div>\n                        <button class=\"cssadda-checkout-btn\" onclick=\"CSSAddaCart.checkout()\">\n                            <i class=\"fas fa-lock\"><\/i> Proceed to Checkout\n                        <\/button>\n                        <button class=\"cssadda-clear-btn\" onclick=\"CSSAddaCart.clear()\">\n                            <i class=\"fas fa-trash-alt\"><\/i> Clear Cart\n                        <\/button>\n                    <\/div>\n                <\/div>\n            `;\n\n            document.body.insertAdjacentHTML('beforeend', cartHTML);\n            \n            \/\/ Inject styles\n            if (!document.getElementById('cssadda-cart-styles')) {\n                this.injectStyles();\n            }\n        }\n\n        injectStyles() {\n            const styles = document.createElement('style');\n            styles.id = 'cssadda-cart-styles';\n            styles.textContent = `\n                .cssadda-floating-cart{position:fixed;top:20px;right:20px;z-index:99999;display:flex;align-items:center;gap:12px}\n                .cssadda-cart-btn{width:60px;height:60px;background:linear-gradient(135deg,#ff6b35 0%,#f59e0b 100%);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 30px rgba(255,107,53,0.4);transition:all .3s ease;position:relative}\n                .cssadda-cart-btn:hover{transform:scale(1.1)}\n                .cssadda-cart-btn i{font-size:1.5rem;color:#fff}\n                .cssadda-cart-count{position:absolute;top:-5px;right:-5px;min-width:24px;height:24px;background:linear-gradient(135deg,#dc2626 0%,#ef4444 100%);color:#fff;font-size:.75rem;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;border:3px solid #fff;box-shadow:0 4px 12px rgba(220,38,38,0.4);font-family:'Poppins',sans-serif}\n                .cssadda-cart-count.empty{display:none}\n                .cssadda-cart-count.bounce{animation:cssadda-bounce .5s ease}\n                .cssadda-cart-preview{background:#fff;padding:10px 18px;border-radius:50px;box-shadow:0 10px 40px rgba(0,0,0,0.15);display:flex;align-items:center;gap:8px;font-weight:600;color:#334155;transition:all .3s ease;cursor:pointer;border:2px solid #f1f5f9;font-family:'Poppins',sans-serif}\n                .cssadda-cart-preview:hover{border-color:#ff6b35;transform:translateX(-5px)}\n                .cssadda-cart-preview-amount{color:#ff6b35;font-weight:700}\n                .cssadda-cart-preview.hidden{display:none}\n                .cssadda-cart-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:100000;opacity:0;visibility:hidden;transition:all .3s ease;backdrop-filter:blur(5px)}\n                .cssadda-cart-overlay.active{opacity:1;visibility:visible}\n                .cssadda-cart-sidebar{position:fixed;top:0;right:0;width:420px;max-width:100%;height:100vh;background:#fff;z-index:100001;transform:translateX(100%);transition:transform .4s cubic-bezier(0.4,0,0.2,1);display:flex;flex-direction:column;box-shadow:-10px 0 50px rgba(0,0,0,0.2);font-family:'Poppins',sans-serif}\n                .cssadda-cart-sidebar.active{transform:translateX(0)}\n                .cssadda-cart-header{background:linear-gradient(135deg,#0d2d5a 0%,#1e3a8a 50%,#2563EB 100%);padding:25px;color:#fff;display:flex;align-items:center;justify-content:space-between}\n                .cssadda-cart-header h2{font-family:'Plus Jakarta Sans','Poppins',sans-serif;font-size:1.4rem;font-weight:700;display:flex;align-items:center;gap:12px;margin:0}\n                .cssadda-cart-close{width:40px;height:40px;background:rgba(255,255,255,0.15);border:none;border-radius:50%;color:#fff;font-size:1.2rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}\n                .cssadda-cart-close:hover{background:rgba(255,255,255,0.25);transform:rotate(90deg)}\n                .cssadda-cart-items{flex:1;overflow-y:auto;padding:20px}\n                .cssadda-cart-empty{text-align:center;padding:60px 20px;color:#9ca3af}\n                .cssadda-cart-empty i{font-size:4rem;margin-bottom:20px;color:#d1d5db}\n                .cssadda-cart-empty h3{font-size:1.2rem;color:#475569;margin-bottom:10px}\n                .cssadda-cart-item{background:#f8fafc;border:2px solid #f1f5f9;border-radius:12px;padding:16px;margin-bottom:15px;display:flex;gap:15px;align-items:flex-start;transition:all .3s ease;animation:cssadda-fade-in .3s ease}\n                .cssadda-cart-item:hover{border-color:#fbbf24;box-shadow:0 2px 8px rgba(0,0,0,0.08)}\n                .cssadda-cart-item-icon{width:50px;height:50px;min-width:50px;background:linear-gradient(135deg,#1e3a8a 0%,#2563EB 100%);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem}\n                .cssadda-cart-item-icon.flashcards{background:linear-gradient(135deg,#8b5cf6 0%,#a78bfa 100%)}\n                .cssadda-cart-item-icon.notes{background:linear-gradient(135deg,#1e3a8a 0%,#2563EB 100%)}\n                .cssadda-cart-item-icon.test-series{background:linear-gradient(135deg,#ff6b35 0%,#f59e0b 100%)}\n                .cssadda-cart-item-icon.lastminute{background:linear-gradient(135deg,#dc2626 0%,#f87171 100%)}\n                .cssadda-cart-item-icon.bundle{background:linear-gradient(135deg,#10b981 0%,#34d399 100%)}\n                .cssadda-cart-item-details{flex:1}\n                .cssadda-cart-item-type{font-size:.7rem;text-transform:uppercase;letter-spacing:1px;color:#ff6b35;font-weight:700;margin-bottom:4px}\n                .cssadda-cart-item-name{font-size:.95rem;font-weight:600;color:#1e293b;margin-bottom:6px;line-height:1.3}\n                .cssadda-cart-item-price{font-size:1.1rem;font-weight:700;color:#ff6b35}\n                .cssadda-cart-item-remove{width:32px;height:32px;background:transparent;border:2px solid #e2e8f0;border-radius:50%;color:#9ca3af;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;font-size:.85rem}\n                .cssadda-cart-item-remove:hover{background:#dc2626;border-color:#dc2626;color:#fff}\n                .cssadda-cart-footer{padding:25px;background:#f8fafc;border-top:2px solid #e2e8f0}\n                .cssadda-cart-summary{margin-bottom:20px}\n                .cssadda-cart-summary-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;font-size:.95rem;color:#475569}\n                .cssadda-cart-summary-row.cssadda-total{border-top:2px dashed #e2e8f0;padding-top:15px;margin-top:10px;font-size:1.2rem;font-weight:700;color:#1e293b}\n                .cssadda-cart-summary-row.cssadda-total span:last-child{color:#ff6b35;font-size:1.4rem}\n                .cssadda-cart-summary-row.cssadda-savings{color:#10b981;font-weight:600}\n                .cssadda-checkout-btn{width:100%;padding:16px 30px;background:linear-gradient(135deg,#ff6b35 0%,#f59e0b 100%);border:none;border-radius:50px;color:#fff;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:10px;text-transform:uppercase;letter-spacing:1px;box-shadow:0 8px 25px rgba(255,107,53,0.3);font-family:'Poppins',sans-serif}\n                .cssadda-checkout-btn:hover{transform:translateY(-3px);box-shadow:0 12px 35px rgba(255,107,53,0.4)}\n                .cssadda-checkout-btn:disabled{background:#9ca3af !important;cursor:not-allowed;box-shadow:none;transform:none !important}\n                .cssadda-clear-btn{width:100%;padding:12px;background:transparent;border:2px solid #e2e8f0;border-radius:50px;color:#64748b;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:12px;font-family:'Poppins',sans-serif}\n                .cssadda-clear-btn:hover{border-color:#dc2626;color:#dc2626}\n                .cssadda-toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);padding:16px 28px;border-radius:50px;font-family:'Poppins',sans-serif;font-size:.95rem;font-weight:600;z-index:999999;animation:cssadda-toast-in .3s ease;box-shadow:0 10px 40px rgba(0,0,0,0.2);display:flex;align-items:center;gap:10px;max-width:90%;text-align:center}\n                .cssadda-toast.success{background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff}\n                .cssadda-toast.info{background:linear-gradient(135deg,#1e3a8a 0%,#2563EB 100%);color:#fff}\n                .cssadda-toast.warning{background:linear-gradient(135deg,#ff6b35 0%,#f59e0b 100%);color:#fff}\n                .cssadda-toast.error{background:linear-gradient(135deg,#dc2626 0%,#ef4444 100%);color:#fff}\n                @keyframes cssadda-bounce{0%,100%{transform:scale(1)}25%{transform:scale(1.2)}50%{transform:scale(.95)}75%{transform:scale(1.1)}}\n                @keyframes cssadda-toast-in{from{opacity:0;transform:translateX(-50%) translateY(20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}\n                @keyframes cssadda-fade-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}\n                @media(max-width:768px){.cssadda-cart-sidebar{width:100%}.cssadda-floating-cart{top:auto;bottom:20px;right:20px}.cssadda-cart-btn{width:55px;height:55px}.cssadda-cart-preview{display:none}}\n            `;\n            document.head.appendChild(styles);\n        }\n\n        cacheElements() {\n            this.elements = {\n                overlay: document.querySelector('.cssadda-cart-overlay'),\n                sidebar: document.querySelector('.cssadda-cart-sidebar'),\n                itemsContainer: document.getElementById('cssadda-cart-items'),\n                countBadge: document.querySelector('.cssadda-cart-count'),\n                preview: document.querySelector('.cssadda-cart-preview'),\n                previewAmount: document.querySelector('.cssadda-cart-preview-amount'),\n                itemCount: document.querySelector('.cssadda-item-count'),\n                savings: document.querySelector('.cssadda-cart-savings'),\n                total: document.querySelector('.cssadda-cart-total'),\n                checkoutBtn: document.querySelector('.cssadda-checkout-btn')\n            };\n        }\n\n        bindEvents() {\n            document.addEventListener('keydown', (e) => {\n                if (e.key === 'Escape' && this.isOpen) this.toggle();\n            });\n        }\n\n        toggle() {\n            this.isOpen = !this.isOpen;\n            if (this.elements.overlay) this.elements.overlay.classList.toggle('active', this.isOpen);\n            if (this.elements.sidebar) this.elements.sidebar.classList.toggle('active', this.isOpen);\n            document.body.style.overflow = this.isOpen ? 'hidden' : '';\n        }\n\n        update() {\n            const count = this.cart.getCount();\n            const total = this.cart.getTotal();\n            const savings = this.cart.getSavings();\n            const items = this.cart.getItems();\n\n            if (this.elements.countBadge) {\n                this.elements.countBadge.textContent = count;\n                this.elements.countBadge.classList.toggle('empty', count === 0);\n            }\n            if (this.elements.preview) this.elements.preview.classList.toggle('hidden', count === 0);\n            if (this.elements.previewAmount) this.elements.previewAmount.textContent = '\u20b9' + total.toLocaleString();\n            if (this.elements.itemCount) this.elements.itemCount.textContent = count;\n            if (this.elements.savings) this.elements.savings.textContent = '\u20b9' + savings.toLocaleString();\n            if (this.elements.total) this.elements.total.textContent = '\u20b9' + total.toLocaleString();\n            if (this.elements.checkoutBtn) this.elements.checkoutBtn.disabled = count === 0;\n\n            this.renderItems(items);\n            this.updateProductButtons();\n        }\n\n        renderItems(items) {\n            if (!this.elements.itemsContainer) return;\n            \n            if (items.length === 0) {\n                this.elements.itemsContainer.innerHTML = `\n                    <div class=\"cssadda-cart-empty\">\n                        <i class=\"fas fa-shopping-bag\"><\/i>\n                        <h3>Your cart is empty<\/h3>\n                        <p>Add some study materials to get started!<\/p>\n                    <\/div>\n                `;\n            } else {\n                this.elements.itemsContainer.innerHTML = items.map(item => `\n                    <div class=\"cssadda-cart-item\" data-id=\"${item.id}\">\n                        <div class=\"cssadda-cart-item-icon ${item.type || ''}\">\n                            <i class=\"fas ${item.icon || 'fa-box'}\"><\/i>\n                        <\/div>\n                        <div class=\"cssadda-cart-item-details\">\n                            <div class=\"cssadda-cart-item-type\">${this.getTypeLabel(item.type)}<\/div>\n                            <div class=\"cssadda-cart-item-name\">${item.name}<\/div>\n                            <div class=\"cssadda-cart-item-price\">\u20b9${item.price.toLocaleString()}<\/div>\n                        <\/div>\n                        <button class=\"cssadda-cart-item-remove\" onclick=\"CSSAddaCart.removeItem('${item.id}')\" title=\"Remove\">\n                            <i class=\"fas fa-times\"><\/i>\n                        <\/button>\n                    <\/div>\n                `).join('');\n            }\n        }\n\n        getTypeLabel(type) {\n            const labels = { \n                'flashcards': 'Flashcards', \n                'notes': 'Concise Notes', \n                'test-series': 'Test Series', \n                'lastminute': 'Last Minute Notes', \n                'bundle': 'Bundle Pack',\n                'pyq': 'Previous Year Questions'\n            };\n            return labels[type] || type || 'Product';\n        }\n\n        updateProductButtons() {\n            const cartIds = this.cart.getItems().map(item => item.id);\n            \n            document.querySelectorAll('[data-product-id]').forEach(btn => {\n                const productId = btn.dataset.productId;\n                if (btn.classList.contains('purchased')) return;\n                \n                if (cartIds.includes(productId)) {\n                    btn.classList.add('in-cart');\n                    if (!btn.innerHTML.includes('In Cart')) {\n                        btn.innerHTML = '<i class=\"fas fa-check-circle\"><\/i> In Cart';\n                    }\n                }\n            });\n        }\n\n        animateCountBadge() {\n            if (this.elements.countBadge) {\n                this.elements.countBadge.classList.add('bounce');\n                setTimeout(() => this.elements.countBadge.classList.remove('bounce'), 500);\n            }\n        }\n\n        showToast(message, type = 'info') {\n            \/\/ Remove existing toast\n            const existing = document.querySelector('.cssadda-toast');\n            if (existing) existing.remove();\n            \n            const toast = document.createElement('div');\n            toast.className = 'cssadda-toast ' + type;\n            toast.innerHTML = message;\n            document.body.appendChild(toast);\n            \n            setTimeout(() => {\n                toast.style.opacity = '0';\n                toast.style.transform = 'translateX(-50%) translateY(20px)';\n                setTimeout(() => toast.remove(), 300);\n            }, CONFIG.toastDuration);\n        }\n    }\n\n    \/\/ ============================================\n    \/\/ INITIALIZE CART\n    \/\/ ============================================\n    const cart = new Cart();\n    const ui = new CartUI(cart);\n\n    \/\/ ============================================\n    \/\/ GLOBAL API\n    \/\/ ============================================\n    window.CSSAddaCart = {\n        init: function() { \n            ui.init(); \n        },\n        \n        addItem: function(product, buttonElement) {\n            debug('Adding item:', product);\n            \n            const result = cart.addItem(product);\n            \n            if (result.success) {\n                ui.animateCountBadge();\n                ui.showToast('\u2705 ' + product.name + ' added!', 'success');\n                \n                if (buttonElement) {\n                    buttonElement.classList.add('in-cart');\n                    buttonElement.innerHTML = '<i class=\"fas fa-check-circle\"><\/i> In Cart';\n                }\n                \n                \/\/ Open cart sidebar\n                setTimeout(() => {\n                    if (!ui.isOpen) ui.toggle();\n                }, 400);\n            } else {\n                ui.showToast(result.message, 'warning');\n            }\n            \n            return result;\n        },\n        \n        removeItem: function(productId) {\n            const result = cart.removeItem(productId);\n            \n            if (result.success) {\n                ui.showToast('Item removed', 'info');\n                \n                \/\/ Reset button state\n                document.querySelectorAll('[data-product-id=\"' + productId + '\"]').forEach(btn => {\n                    if (!btn.classList.contains('purchased')) {\n                        btn.classList.remove('in-cart');\n                        btn.innerHTML = '<i class=\"fas fa-cart-plus\"><\/i> Add';\n                    }\n                });\n            }\n            \n            return result;\n        },\n        \n        clear: function() {\n            if (cart.getCount() === 0) { \n                ui.showToast('Cart is already empty!', 'warning'); \n                return; \n            }\n            \n            if (confirm('Clear all items from your cart?')) {\n                ui.clearWooCommerceCart();\n                cart.clear();\n                ui.showToast('Cart cleared!', 'info');\n                \n                \/\/ Reset all buttons\n                document.querySelectorAll('.in-cart').forEach(btn => {\n                    if (!btn.classList.contains('purchased')) {\n                        btn.classList.remove('in-cart');\n                        btn.innerHTML = '<i class=\"fas fa-cart-plus\"><\/i> Add';\n                    }\n                });\n            }\n        },\n        \n        toggle: function() { ui.toggle(); },\n        getItems: function() { return cart.getItems(); },\n        getCount: function() { return cart.getCount(); },\n        getTotal: function() { return cart.getTotal(); },\n        hasItem: function(productId) { return cart.hasItem(productId); },\n        showToast: function(message, type) { ui.showToast(message, type); },\n        \n        \/\/ ============================================\n        \/\/ CHECKOUT - SYNC WITH WOOCOMMERCE\n        \/\/ ============================================\n        checkout: function() {\n            debug('Checkout initiated');\n            \n            \/\/ Check if cart has items\n            if (cart.getCount() === 0) { \n                ui.showToast('Your cart is empty!', 'warning'); \n                return; \n            }\n            \n            \/\/ Check if PHP snippet is active\n            if (typeof cssaddaCartSync === 'undefined') {\n                console.error('cssaddaCartSync not found! PHP snippet is not active.');\n                ui.showToast('\u26a0\ufe0f System error. Please refresh the page.', 'error');\n                return;\n            }\n            \n            const cartItems = cart.getItems();\n            debug('Cart items to checkout:', cartItems);\n            \n            \/\/ Validate all items have WooCommerce product IDs\n            const invalidItems = cartItems.filter(item => !item.wooProductId || item.wooProductId === 0);\n            \n            if (invalidItems.length > 0) {\n                const names = invalidItems.map(i => i.name).slice(0, 3).join(', ');\n                const more = invalidItems.length > 3 ? ' and ' + (invalidItems.length - 3) + ' more' : '';\n                ui.showToast('\u26a0\ufe0f Not available: ' + names + more, 'warning');\n                console.error('Products without WooCommerce IDs:', invalidItems);\n                return;\n            }\n            \n            \/\/ Get checkout button and show loading state\n            const checkoutBtn = document.querySelector('.cssadda-checkout-btn');\n            const originalHTML = checkoutBtn ? checkoutBtn.innerHTML : '';\n            \n            if (checkoutBtn) {\n                checkoutBtn.disabled = true;\n                checkoutBtn.innerHTML = '<i class=\"fas fa-spinner fa-spin\"><\/i> Processing...';\n            }\n            \n            ui.showToast('\ud83d\udd04 Preparing checkout...', 'info');\n            \n            \/\/ Prepare AJAX request\n            const formData = new FormData();\n            formData.append('action', 'cssadda_sync_cart');\n            formData.append('nonce', cssaddaCartSync.nonce);\n            formData.append('debug', CONFIG.DEBUG_MODE ? 'true' : 'false');\n            \n            \/\/ Add each cart item\n            cartItems.forEach((item, index) => {\n                formData.append('cart_items[' + index + '][id]', item.id);\n                formData.append('cart_items[' + index + '][name]', item.name);\n                formData.append('cart_items[' + index + '][wooProductId]', item.wooProductId);\n                formData.append('cart_items[' + index + '][price]', item.price);\n                formData.append('cart_items[' + index + '][quantity]', 1);\n            });\n            \n            debug('Sending sync request to:', cssaddaCartSync.ajaxUrl);\n            \n            \/\/ Send AJAX request\n            fetch(cssaddaCartSync.ajaxUrl, {\n                method: 'POST',\n                body: formData,\n                credentials: 'same-origin'\n            })\n            .then(response => {\n                debug('Response status:', response.status);\n                if (!response.ok) {\n                    throw new Error('HTTP ' + response.status);\n                }\n                return response.json();\n            })\n            .then(data => {\n                debug('Sync response:', data);\n                \n                if (data.success && data.data && data.data.added_count > 0) {\n                    \/\/ SUCCESS\n                    const addedCount = data.data.added_count;\n                    const failedCount = data.data.failed_count || 0;\n                    \n                    let message = '\u2705 ' + addedCount + ' item(s) ready!';\n                    if (failedCount > 0) {\n                        message += ' (' + failedCount + ' unavailable)';\n                        console.warn('Failed items:', data.data.failed);\n                    }\n                    \n                    ui.showToast(message + ' Redirecting to checkout...', 'success');\n                    \n                    \/\/ Get the redirect URL - use the one from response\n                    const redirectUrl = data.data.redirect_to || data.data.checkout_url || cssaddaCartSync.checkoutUrl;\n                    debug('Redirecting to:', redirectUrl);\n                    \n                    \/\/ Mark checkout as pending (don't clear local cart yet)\n                    sessionStorage.setItem('cssadda_checkout_pending', 'true');\n                    \n                    \/\/ Close sidebar\n                    if (ui.isOpen) ui.toggle();\n                    \n                    \/\/ Redirect to checkout\n                    setTimeout(() => {\n                        window.location.href = redirectUrl;\n                    }, 1200);\n                    \n                } else {\n                    \/\/ FAILED\n                    const errorMsg = (data.data && data.data.message) ? data.data.message : 'Could not process checkout';\n                    ui.showToast('\u274c ' + errorMsg, 'error');\n                    \n                    console.error('Checkout failed:', data);\n                    if (data.data && data.data.failed) {\n                        console.error('Failed items:', data.data.failed);\n                    }\n                    if (data.data && data.data.debug_log) {\n                        console.log('Debug log:', data.data.debug_log);\n                    }\n                    \n                    \/\/ Reset button\n                    if (checkoutBtn) {\n                        checkoutBtn.disabled = false;\n                        checkoutBtn.innerHTML = originalHTML;\n                    }\n                }\n            })\n            .catch(error => {\n                console.error('Checkout network error:', error);\n                ui.showToast('\u274c Connection error. Please try again.', 'error');\n                \n                if (checkoutBtn) {\n                    checkoutBtn.disabled = false;\n                    checkoutBtn.innerHTML = originalHTML;\n                }\n            });\n        },\n        \n        \/\/ Debug helper\n        debug: function() {\n            console.log('=== CSS ADDA Cart Debug ===');\n            console.log('Local cart items:', cart.getItems());\n            console.log('Cart count:', cart.getCount());\n            console.log('Cart total:', cart.getTotal());\n            console.log('cssaddaCartSync:', typeof cssaddaCartSync !== 'undefined' ? cssaddaCartSync : 'NOT DEFINED');\n            \n            if (typeof cssaddaCartSync !== 'undefined') {\n                \/\/ Fetch WC cart state\n                const formData = new FormData();\n                formData.append('action', 'cssadda_debug_cart');\n                \n                fetch(cssaddaCartSync.ajaxUrl, {\n                    method: 'POST',\n                    body: formData,\n                    credentials: 'same-origin'\n                })\n                .then(r => r.json())\n                .then(data => {\n                    console.log('WooCommerce cart state:', data);\n                })\n                .catch(e => console.error('Debug fetch error:', e));\n            }\n        }\n    };\n\n    \/\/ ============================================\n    \/\/ INITIALIZE ON DOM READY\n    \/\/ ============================================\n    function initCart() {\n        CSSAddaCart.init();\n        debug('Cart system ready!');\n        \n        \/\/ Log helpful info\n        if (typeof cssaddaCartSync === 'undefined') {\n            console.warn('[CSS ADDA] \u26a0\ufe0f PHP snippet not active! Cart sync will not work.');\n            console.warn('[CSS ADDA] Make sure \"CSS Adda Cart Sync v3\" snippet is active in WordPress.');\n        } else {\n            debug('PHP integration active. Checkout URL:', cssaddaCartSync.checkoutUrl);\n        }\n    }\n    \n    if (document.readyState === 'loading') {\n        document.addEventListener('DOMContentLoaded', initCart);\n    } else {\n        initCart();\n    }\n    \n})();\n\/\/ ============================================\n\/\/ HERO CAROUSEL FUNCTIONALITY\n\/\/ ============================================\nlet currentSlide = 0;\nlet slideInterval;\nconst totalSlides = 3;\n\nfunction changeSlide(direction) {\n    currentSlide += direction;\n    if (currentSlide >= totalSlides) currentSlide = 0;\n    if (currentSlide < 0) currentSlide = totalSlides - 1;\n    updateCarousel();\n    resetAutoSlide();\n}\n\nfunction goToSlide(index) {\n    currentSlide = index;\n    updateCarousel();\n    resetAutoSlide();\n}\n\nfunction updateCarousel() {\n    const slides = document.getElementById('heroSlides');\n    const dots = document.querySelectorAll('.hero-dot');\n    \n    if (slides) {\n        slides.style.transform = `translateX(-${currentSlide * 100}%)`;\n    }\n    \n    dots.forEach((dot, index) => {\n        dot.classList.toggle('active', index === currentSlide);\n    });\n}\n\nfunction startAutoSlide() {\n    slideInterval = setInterval(() => {\n        currentSlide++;\n        if (currentSlide >= totalSlides) currentSlide = 0;\n        updateCarousel();\n    }, 5000);\n}\n\nfunction resetAutoSlide() {\n    clearInterval(slideInterval);\n    startAutoSlide();\n}\n\/\/ Initialize carousel on page load\ndocument.addEventListener('DOMContentLoaded', function() {\n    startAutoSlide();\n});\n\/\/ ============================================\n\/\/ IMAGE POPUP\/LIGHTBOX FUNCTIONS\n\/\/ ============================================\nlet currentImages = [];\nlet currentImageIndex = 0;\n\nfunction openImagePopup(element) {\n    const previewContainer = element.closest('.topic-preview');\n    const thumbs = previewContainer.querySelectorAll('.preview-thumb');\n    \n    currentImages = [];\n    currentImageIndex = 0;\n    \n    thumbs.forEach((thumb, index) => {\n        const img = thumb.querySelector('img');\n        if (img && img.src) {\n            currentImages.push(img.src);\n            if (thumb === element) {\n                currentImageIndex = currentImages.length - 1;\n            }\n        } else {\n            currentImages.push('https:\/\/via.placeholder.com\/800x600\/e5e7eb\/9ca3af?text=Preview+Coming+Soon');\n            if (thumb === element) {\n                currentImageIndex = currentImages.length - 1;\n            }\n        }\n    });\n    \n    if (currentImages.length > 0) {\n        showImage(currentImageIndex);\n        document.getElementById('imagePopup').classList.add('active');\n        document.body.style.overflow = 'hidden';\n    }\n}\n\nfunction closeImagePopup() {\n    document.getElementById('imagePopup').classList.remove('active');\n    document.body.style.overflow = '';\n}\n\nfunction showImage(index) {\n    if (index < 0) index = currentImages.length - 1;\n    if (index >= currentImages.length) index = 0;\n    currentImageIndex = index;\n    \n    document.getElementById('popupImage').src = currentImages[currentImageIndex];\n    document.getElementById('currentIndex').textContent = currentImageIndex + 1;\n    document.getElementById('totalImages').textContent = currentImages.length;\n}\n\nfunction navigateImage(direction) {\n    showImage(currentImageIndex + direction);\n}\n\n\/\/ Keyboard controls for image popup\ndocument.addEventListener('keydown', function(e) {\n    const popup = document.getElementById('imagePopup');\n    if (popup && popup.classList.contains('active')) {\n        if (e.key === 'Escape') closeImagePopup();\n        if (e.key === 'ArrowLeft') navigateImage(-1);\n        if (e.key === 'ArrowRight') navigateImage(1);\n    }\n});\n\n\/\/ Close popup on overlay click\ndocument.addEventListener('DOMContentLoaded', function() {\n    const popup = document.getElementById('imagePopup');\n    if (popup) {\n        popup.addEventListener('click', function(e) {\n            if (e.target === this) closeImagePopup();\n        });\n    }\n});\n\n\/\/ ============================================\n\/\/ FILTER NAVIGATION FUNCTIONALITY\n\/\/ ============================================\ndocument.addEventListener('DOMContentLoaded', function() {\n    const filterTabs = document.querySelectorAll('.filter-tab');\n    \n    \/\/ Define which sections each filter should show\/scroll to\n    const filterSections = {\n        'all': ['paper1', 'paper2', 'pyq-paper1', 'pyq-paper2', 'live'],\n        'paper1': ['paper1'],\n        'paper2': ['paper2'],\n        'pyq-paper1': ['pyq-paper1'],\n        'pyq-paper2': ['pyq-paper2'],\n        'live': ['live']\n    };\n    \n    filterTabs.forEach(tab => {\n        tab.addEventListener('click', function() {\n            const filter = this.dataset.filter;\n            \n            \/\/ Update active state\n            filterTabs.forEach(t => t.classList.remove('active'));\n            this.classList.add('active');\n            \n            \/\/ Get all filterable sections\n            const allSections = document.querySelectorAll('.test-series-section, .live-section');\n            \n            if (filter === 'all') {\n                \/\/ Show all sections\n                allSections.forEach(section => {\n                    section.style.display = '';\n                });\n                \/\/ Scroll to top of content (after filter nav)\n                const filterNav = document.querySelector('.filter-nav');\n                if (filterNav) {\n                    window.scrollTo({\n                        top: filterNav.offsetTop + filterNav.offsetHeight + 20,\n                        behavior: 'smooth'\n                    });\n                }\n            } else {\n                \/\/ Hide all sections first\n                allSections.forEach(section => {\n                    section.style.display = 'none';\n                });\n                \n                \/\/ Show only relevant sections\n                const sectionsToShow = filterSections[filter] || [];\n                sectionsToShow.forEach(sectionId => {\n                    const section = document.getElementById(sectionId);\n                    if (section) {\n                        section.style.display = '';\n                    }\n                });\n                \n                \/\/ Scroll to first visible section\n                if (sectionsToShow.length > 0) {\n                    const firstSection = document.getElementById(sectionsToShow[0]);\n                    if (firstSection) {\n                        \/\/ Account for any fixed header\n                        const offset = 100;\n                        const elementPosition = firstSection.getBoundingClientRect().top;\n                        const offsetPosition = elementPosition + window.pageYOffset - offset;\n                        \n                        window.scrollTo({\n                            top: offsetPosition,\n                            behavior: 'smooth'\n                        });\n                    }\n                }\n            }\n        });\n    });\n});\n\/\/ ============================================\n\/\/ HELPER FUNCTION FOR PRODUCT BUTTONS\n\/\/ ============================================\n\/\/ Use this in your product buttons' onclick attribute\nfunction addToCart(product, buttonElement) {\n    \/\/ Check login if required\n    if (typeof cssaddaIsLoggedIn !== 'undefined' && !cssaddaIsLoggedIn) {\n        CSSAddaCart.showToast('Please login to add items to cart', 'warning');\n        setTimeout(() => {\n            window.location.href = '\/my-account\/';\n        }, 1500);\n        return;\n    }\n    \n    \/\/ Check if already purchased - redirect to quiz\n    if (buttonElement && buttonElement.classList.contains('purchased')) {\n        const accessUrl = buttonElement.dataset.accessUrl;\n        if (accessUrl) {\n            window.location.href = accessUrl;\n        } else {\n            CSSAddaCart.showToast('Redirecting to your test...', 'info');\n            window.location.href = '?page_id=4602';\n        }\n        return;\n    }\n    \n    \/\/ Check if product has WooCommerce ID\n    if (!product.wooProductId || product.wooProductId === 0) {\n        CSSAddaCart.showToast('\u23f3 Coming soon! This product is not available yet.', 'warning');\n        return;\n    }\n    \n    \/\/ Add to cart\n    CSSAddaCart.addItem(product, buttonElement);\n}\n\n\/\/ ============================================\n\/\/ MARK PURCHASED PRODUCTS ON PAGE LOAD\n\/\/ ============================================\nfunction markPurchasedProducts() {\n    \/\/ Check if cssaddaPurchased exists (injected by PHP)\n    if (typeof cssaddaPurchased === 'undefined' || !cssaddaPurchased) {\n        console.log('[CSS ADDA] No purchased products data found');\n        return;\n    }\n    \n    console.log('[CSS ADDA] Checking purchased products:', cssaddaPurchased);\n    \n    \/\/ Get all product buttons\n    const productButtons = document.querySelectorAll('.btn-add-cart[onclick], .btn-bundle[onclick]');\n    \n    productButtons.forEach(btn => {\n        const onclickAttr = btn.getAttribute('onclick');\n        \n        if (onclickAttr) {\n            \/\/ Extract wooProductId from onclick attribute\n            const match = onclickAttr.match(\/wooProductId:\\s*(\\d+)\/);\n            if (match && match[1]) {\n                const wooProductId = match[1];\n                \n                \/\/ Check if this product is purchased (wooProductId must be > 0)\n                if (wooProductId !== '0' && cssaddaPurchased[wooProductId]) {\n                    const purchasedProduct = cssaddaPurchased[wooProductId];\n                    \n                    \/\/ Mark button as purchased\n                    btn.classList.add('purchased');\n                    btn.innerHTML = '<i class=\"fas fa-play-circle\"><\/i> Take Test';\n                    \n                    \/\/ Store quiz URL for redirect\n                    if (purchasedProduct.quiz_url) {\n                        btn.dataset.accessUrl = purchasedProduct.quiz_url;\n                    }\n                    \n                    console.log('[CSS ADDA] Marked as purchased:', purchasedProduct.name, 'WooID:', wooProductId);\n                }\n            }\n        }\n    });\n}\n\n\/\/ Run on DOM ready\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Give a small delay to ensure all elements are rendered\n    setTimeout(markPurchasedProducts, 100);\n});\n\n<\/script>\n\n<\/body>\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Test Series &#8211; CSS Adda | SO\/Steno LDCE Preparation 1 \/ 4 Test Series &#038; Mock Tests Comprehensive practice for [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"disabled","ast-banner-title-visibility":"disabled","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"disabled","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[],"tags":[],"class_list":["post-13227","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/promotionexams.com\/index.php?rest_route=\/wp\/v2\/pages\/13227","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/promotionexams.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/promotionexams.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/promotionexams.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/promotionexams.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=13227"}],"version-history":[{"count":19,"href":"https:\/\/promotionexams.com\/index.php?rest_route=\/wp\/v2\/pages\/13227\/revisions"}],"predecessor-version":[{"id":13323,"href":"https:\/\/promotionexams.com\/index.php?rest_route=\/wp\/v2\/pages\/13227\/revisions\/13323"}],"wp:attachment":[{"href":"https:\/\/promotionexams.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=13227"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/promotionexams.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=13227"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/promotionexams.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=13227"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}