{"id":6582,"date":"2025-12-24T16:41:22","date_gmt":"2025-12-24T16:41:22","guid":{"rendered":"https:\/\/promotionexams.com\/?page_id=6582"},"modified":"2026-01-30T15:23:13","modified_gmt":"2026-01-30T15:23:13","slug":"css-csss-ib-esic","status":"publish","type":"page","link":"https:\/\/promotionexams.com\/?page_id=6582","title":{"rendered":"CSS\/CSSS\/IB\/ESIC"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"6582\" class=\"elementor elementor-6582\">\n\t\t\t\t<div class=\"elementor-element elementor-element-140ba4c e-con-full e-flex e-con e-parent\" data-id=\"140ba4c\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-538bae4 elementor-widget elementor-widget-html\" data-id=\"538bae4\" data-element_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    <\/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                <\/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                <\/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                <\/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    <!-- ===== INFO CARDS SECTION ===== -->\n    <section class=\"info-cards-section\">\n        <div class=\"container\">\n            <div class=\"info-cards-grid\">\n                <!-- Card 1: Career Growth -->\n                <div class=\"info-card green\">\n                    <div class=\"info-card-icon\">\n                        <i class=\"fas fa-chart-line\"><\/i>\n                    <\/div>\n                    <div class=\"info-card-content\">\n                        <h3><span class=\"emoji\">\ud83d\udcc8<\/span> Invest in Your<\/h3>\n                        <span class=\"highlight\">Career Growth<\/span>\n                        <p>Targeted preparation for <strong>Combined SO\/Steno LDCE<\/strong>. Each test series covers specific syllabus topics with detailed solutions.<\/p>\n                    <\/div>\n                <\/div>\n\n                <!-- Card 2: Buy What You Need -->\n                <div class=\"info-card blue\">\n                    <div class=\"info-card-icon\">\n                        <i class=\"fas fa-unlock-alt\"><\/i>\n                    <\/div>\n                    <div class=\"info-card-content\">\n                        <h3><span class=\"emoji\">\ud83d\udd13<\/span> Buy What You<\/h3>\n                        <span class=\"highlight\">Need<\/span>\n                        <p>No forced packages or unnecessary bundles. Choose <strong>individual topic tests<\/strong> based on your preparation requirements and weak areas.<\/p>\n                    <\/div>\n                <\/div>\n\n                <!-- Card 3: Official Syllabus -->\n                <div class=\"info-card orange\">\n                    <div class=\"info-card-icon\">\n                        <i class=\"fas fa-award\"><\/i>\n                    <\/div>\n                    <div class=\"info-card-content\">\n                        <h3><span class=\"emoji\">\ud83c\udfc5<\/span> Aligned with<\/h3>\n                        <span class=\"highlight\">Official Syllabus<\/span>\n                        <p>Questions prepared strictly as per <strong>Combined SO\/Steno LDCE <\/strong> syllabus.<\/p>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n        \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\" 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 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\" 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 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\">\u20b9129<\/span>\n                                <span class=\"price-original\">\u20b9179<\/span>\n                                <span class=\"price-discount\">(28% 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: 129,\n                                originalPrice: 179,\n                                icon: 'fa-folder-open',\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 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> 5 Tests | 250 Questions\n                        <\/div>\n                        <div class=\"card-footer\">\n                            <div class=\"card-price\">\n                                <span class=\"price-current\">\u20b9179<\/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: 179,\n                                originalPrice: 249,\n                                icon: 'fa-clipboard-list',\n                                wooProductId: 0\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(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":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"disabled","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":[53],"tags":[],"class_list":["post-6582","page","type-page","status-publish","hentry","category-website-main-pages-header"],"_links":{"self":[{"href":"https:\/\/promotionexams.com\/index.php?rest_route=\/wp\/v2\/pages\/6582","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=6582"}],"version-history":[{"count":94,"href":"https:\/\/promotionexams.com\/index.php?rest_route=\/wp\/v2\/pages\/6582\/revisions"}],"predecessor-version":[{"id":10793,"href":"https:\/\/promotionexams.com\/index.php?rest_route=\/wp\/v2\/pages\/6582\/revisions\/10793"}],"wp:attachment":[{"href":"https:\/\/promotionexams.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6582"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/promotionexams.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6582"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/promotionexams.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6582"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}