{"id":9137,"date":"2026-01-20T18:23:00","date_gmt":"2026-01-20T18:23:00","guid":{"rendered":"https:\/\/promotionexams.com\/?p=9137"},"modified":"2026-07-16T09:36:14","modified_gmt":"2026-07-16T09:36:14","slug":"test","status":"publish","type":"post","link":"https:\/\/promotionexams.com\/?p=9137","title":{"rendered":"test"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"9137\" class=\"elementor elementor-9137\">\n\t\t\t\t<div class=\"elementor-element elementor-element-74cedae e-con-full e-flex e-con e-parent\" data-id=\"74cedae\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f2fc64e elementor-widget elementor-widget-html\" data-id=\"f2fc64e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ============================================================\n     PromotionExams.com \u2014 Test Series Section (Elementor HTML Widget)\n     WIDGET-COMPATIBLE VERSION \u2014 paste directly into an HTML widget.\n     No <html>\/<head>\/<body> tags. All CSS scoped to #promo-exam-section.\n     ELEMENTOR TIP: instead of global !important overrides, set this\n     widget's Section\/Column padding & margin to 0 in Elementor's\n     Advanced tab. A narrowly-scoped fallback rule is included below.\n     ============================================================ -->\n<style>\n\/* Narrow Elementor gap fix \u2014 only affects the container that holds THIS widget *\/\n.elementor-widget-html .elementor-widget-container:has(#promo-exam-section) {\n    width: 100%;\n    max-width: 100%;\n    padding: 0;\n    margin: 0;\n}\n\n\/* ===== ROOT VARIABLES (scoped to widget) ===== *\/\n#promo-exam-section {\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\/* ===== SCOPED RESET & BASE (was body\/*) ===== *\/\n#promo-exam-section {\n    font-family: 'Poppins', sans-serif;\n    background: var(--bg-light);\n    color: var(--text-dark);\n    line-height: 1.6;\n    display: block;\n    width: 100%;\n}\n\n#promo-exam-section * {\n    margin: 0;\n    padding: 0;\n    box-sizing: border-box;\n}\n\n#promo-exam-section a {\n    text-decoration: none;\n    color: inherit;\n}\n\n#promo-exam-section .container {\n    max-width: 1280px;\n    margin: 0 auto;\n    padding: 0 20px;\n}\n\n\/* ===== HERO CAROUSEL ===== *\/\n#promo-exam-section .hero-carousel {\n    position: relative;\n    width: 100%;\n    height: 450px;\n    overflow: hidden;\n}\n\n#promo-exam-section .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#promo-exam-section .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#promo-exam-section .hero-slide-bg {\n    position: absolute;\n    inset: 0;\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n}\n\n#promo-exam-section .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#promo-exam-section .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#promo-exam-section .hero-slide-content .hero-heading {\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#promo-exam-section .hero-slide-content .hero-heading span {\n    color: var(--accent-yellow);\n}\n\n#promo-exam-section .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#promo-exam-section .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#promo-exam-section .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    padding: 0;\n}\n\n#promo-exam-section .hero-dot:hover {\n    background: rgba(255,255,255,0.6);\n}\n\n#promo-exam-section .hero-dot.active {\n    background: var(--accent-yellow);\n    transform: scale(1.2);\n    border-color: white;\n}\n\n#promo-exam-section .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#promo-exam-section .hero-nav:hover {\n    background: rgba(255,255,255,0.25);\n    transform: translateY(-50%) scale(1.1);\n}\n\n#promo-exam-section .hero-nav.prev { left: 20px; }\n#promo-exam-section .hero-nav.next { right: 20px; }\n\n\/* ===== FILTER NAVIGATION ===== *\/\n#promo-exam-section .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#promo-exam-section .filter-tabs {\n    display: flex;\n    justify-content: center;\n    flex-wrap: wrap;\n    list-style: none;\n}\n\n#promo-exam-section .filter-tabs li {\n    display: contents;\n}\n\n#promo-exam-section .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    font-family: inherit;\n    color: var(--text-gray);\n    cursor: pointer;\n    transition: all 0.3s ease;\n    border: none;\n    border-bottom: 3px solid transparent;\n    background: transparent;\n}\n\n#promo-exam-section .filter-tab:hover {\n    color: var(--primary-blue);\n    background: var(--bg-light);\n}\n\n#promo-exam-section .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#promo-exam-section .filter-tab i {\n    display: block;\n    font-size: 18px;\n    margin-bottom: 4px;\n}\n\n\/* ===== INFO BANNER ===== *\/\n#promo-exam-section .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#promo-exam-section .info-banner i {\n    font-size: 24px;\n    color: var(--primary-blue);\n}\n\n#promo-exam-section .info-banner p {\n    font-size: 14px;\n    color: var(--text-dark);\n}\n\n#promo-exam-section .info-banner strong {\n    color: var(--primary-blue);\n}\n\n\/* ===== SECTION HEADERS ===== *\/\n#promo-exam-section .section-header {\n    text-align: center;\n    margin-bottom: 40px;\n}\n\n#promo-exam-section .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#promo-exam-section .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#promo-exam-section .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#promo-exam-section .test-series-section {\n    padding: 60px 20px;\n}\n\n#promo-exam-section .test-series-section.alt-bg {\n    background: white;\n}\n\n#promo-exam-section .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#promo-exam-section .paper-badge.paper1 {\n    background: #dbeafe;\n    color: var(--primary-blue);\n}\n\n#promo-exam-section .paper-badge.paper2 {\n    background: #d1fae5;\n    color: var(--paper2-green);\n}\n\n#promo-exam-section .paper-badge.pyq {\n    background: #ede9fe;\n    color: var(--pyq-purple);\n}\n\n#promo-exam-section .paper-badge.live {\n    background: #fce7f3;\n    color: #9d174d;\n}\n\n\/* ===== PRODUCT CARDS ===== *\/\n#promo-exam-section .topic-grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));\n    gap: 24px;\n    list-style: none;\n    margin: 0;\n    padding: 0;\n}\n\n#promo-exam-section .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#promo-exam-section .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#promo-exam-section .topic-card .card-banner {\n    position: relative;\n    height: 180px;\n    overflow: hidden;\n    background: linear-gradient(135deg, #1e3a8a 0%, #3b82f6 50%, #60a5fa 100%);\n}\n\n#promo-exam-section .card-banner-img {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    display: block;\n}\n\n#promo-exam-section .topic-card.paper2-topic .card-banner {\n    background: linear-gradient(135deg, #065f46 0%, #10b981 50%, #34d399 100%);\n}\n\n#promo-exam-section .topic-card.pyq-topic .card-banner {\n    background: linear-gradient(135deg, #5b21b6 0%, #7c3aed 50%, #a78bfa 100%);\n}\n\n#promo-exam-section .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#promo-exam-section .card-banner-placeholder i {\n    font-size: 28px;\n    color: rgba(255,255,255,0.6);\n}\n\n#promo-exam-section .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#promo-exam-section .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#promo-exam-section .new-badge.pyq-badge {\n    background: linear-gradient(135deg, #7c3aed 0%, #5b21b6 100%);\n}\n\n#promo-exam-section .card-body {\n    padding: 16px;\n    flex: 1;\n    display: flex;\n    flex-direction: column;\n}\n\n#promo-exam-section .card-tags {\n    display: flex;\n    align-items: center;\n    gap: 8px;\n    margin-bottom: 12px;\n    list-style: none;\n    padding: 0;\n}\n\n#promo-exam-section .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#promo-exam-section .card-tag.lang-tag {\n    background: #e0f2fe;\n    color: #0369a1;\n}\n\n#promo-exam-section .card-tag.type-tag {\n    background: #dcfce7;\n    color: #059669;\n}\n\n#promo-exam-section .topic-card.pyq-topic .card-tag.type-tag {\n    background: #f3e8ff;\n    color: #7c3aed;\n}\n\n#promo-exam-section .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#promo-exam-section .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#promo-exam-section .card-tests-info i {\n    color: #9ca3af;\n    font-size: 11px;\n}\n\n#promo-exam-section .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#promo-exam-section .card-price {\n    display: flex;\n    align-items: baseline;\n    gap: 8px;\n    flex-wrap: wrap;\n}\n\n#promo-exam-section .price-current {\n    font-size: 20px;\n    font-weight: 700;\n    color: #1f2937;\n}\n\n#promo-exam-section .price-original {\n    font-size: 13px;\n    color: #9ca3af;\n    text-decoration: line-through;\n}\n\n#promo-exam-section .price-discount {\n    font-size: 12px;\n    color: #10b981;\n    font-weight: 600;\n}\n\n#promo-exam-section .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#promo-exam-section .btn-add-cart:hover {\n    transform: translateY(-2px);\n    box-shadow: 0 6px 20px rgba(59, 130, 246, 0.4);\n}\n\n#promo-exam-section .btn-add-cart.in-cart {\n    background: linear-gradient(135deg, #10b981 0%, #059669 100%);\n}\n\n#promo-exam-section .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#promo-exam-section .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#promo-exam-section .btn-add-cart.purchased i {\n    animation: pe-pulse 2s infinite;\n}\n\n@keyframes pe-pulse {\n    0%, 100% { opacity: 1; }\n    50% { opacity: 0.7; }\n}\n\n\/* ===== LIVE TEST SERIES ===== *\/\n#promo-exam-section .live-section {\n    padding: 60px 20px;\n    background: linear-gradient(135deg, #fdf2f8 0%, #fce7f3 100%);\n}\n\n#promo-exam-section .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#promo-exam-section .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#promo-exam-section .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#promo-exam-section .live-notice p {\n    font-size: 16px;\n    color: var(--text-gray);\n    max-width: 500px;\n    margin: 0 auto 20px;\n}\n\n#promo-exam-section .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\/* ===== INTRO VIDEO ===== *\/\n#promo-exam-section .video-section {\n    padding: 50px 20px;\n    background: var(--bg-light);\n}\n\n#promo-exam-section .video-wrapper {\n    max-width: 900px;\n    margin: 0 auto;\n    border-radius: var(--border-radius-lg);\n    overflow: hidden;\n    box-shadow: var(--shadow-lg);\n    background: #000;\n    border: 3px solid #e5e7eb;\n}\n\n#promo-exam-section .video-wrapper video {\n    width: 100%;\n    display: block;\n    aspect-ratio: 16 \/ 9;\n}\n\n#promo-exam-section .video-cta {\n    text-align: center;\n    margin-top: 30px;\n}\n\n#promo-exam-section .btn-sample-test {\n    display: inline-flex;\n    align-items: center;\n    gap: 10px;\n    padding: 16px 42px;\n    background: linear-gradient(135deg, var(--accent-orange) 0%, #f59e0b 100%);\n    color: #fff;\n    border-radius: 50px;\n    font-weight: 700;\n    font-size: 15px;\n    text-transform: uppercase;\n    letter-spacing: 1px;\n    box-shadow: 0 8px 25px rgba(255,107,53,0.35);\n    transition: all 0.3s ease;\n}\n\n#promo-exam-section .btn-sample-test:hover {\n    transform: translateY(-3px);\n    box-shadow: 0 12px 35px rgba(255,107,53,0.45);\n    color: #fff;\n}\n\n\/* ===== FAQ (native details\/summary \u2014 accessible, no JS) ===== *\/\n#promo-exam-section .faq-section {\n    padding: 60px 20px;\n    background: var(--bg-light);\n}\n\n#promo-exam-section .faq-container {\n    max-width: 800px;\n    margin: 0 auto;\n}\n\n#promo-exam-section .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#promo-exam-section .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    list-style: none;\n}\n\n#promo-exam-section .faq-question::-webkit-details-marker {\n    display: none;\n}\n\n#promo-exam-section .faq-question:hover {\n    background: var(--bg-light);\n}\n\n#promo-exam-section .faq-question i {\n    transition: transform 0.3s ease;\n    color: var(--primary-blue);\n}\n\n#promo-exam-section .faq-item[open] .faq-question i {\n    transform: rotate(180deg);\n}\n\n#promo-exam-section .faq-answer {\n    padding: 0 25px 20px;\n    color: var(--text-gray);\n    line-height: 1.7;\n}\n\n\/* ===== IMAGE POPUP\/LIGHTBOX ===== *\/\n#promo-exam-section .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\n#promo-exam-section .image-popup-overlay.active {\n    opacity: 1;\n    visibility: visible;\n}\n\n#promo-exam-section .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\n#promo-exam-section .image-popup-overlay.active .image-popup-container {\n    transform: scale(1);\n}\n\n#promo-exam-section .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\n#promo-exam-section .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\n#promo-exam-section .image-popup-close:hover {\n    background: var(--accent-orange-dark);\n    transform: rotate(90deg);\n}\n\n#promo-exam-section .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\n#promo-exam-section .image-popup-nav:hover {\n    background: rgba(255, 255, 255, 0.3);\n}\n\n#promo-exam-section .image-popup-nav.prev { left: -70px; }\n#promo-exam-section .image-popup-nav.next { right: -70px; }\n\n#promo-exam-section .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    #promo-exam-section .topic-grid {\n        grid-template-columns: repeat(2, 1fr);\n    }\n\n    #promo-exam-section .hero-carousel {\n        height: 350px;\n    }\n\n    #promo-exam-section .hero-slide-content .hero-heading {\n        font-size: 32px;\n    }\n\n    #promo-exam-section .hero-slide-content p {\n        font-size: 16px;\n    }\n}\n\n@media (max-width: 768px) {\n    #promo-exam-section .hero-carousel {\n        height: 300px;\n    }\n\n    #promo-exam-section .hero-slide-content .hero-heading {\n        font-size: 26px;\n    }\n\n    #promo-exam-section .hero-slide-content p {\n        font-size: 14px;\n    }\n\n    #promo-exam-section .hero-nav {\n        width: 40px;\n        height: 40px;\n        font-size: 16px;\n    }\n\n    #promo-exam-section .hero-nav.prev { left: 10px; }\n    #promo-exam-section .hero-nav.next { right: 10px; }\n\n    #promo-exam-section .filter-tabs {\n        display: grid;\n        grid-template-columns: repeat(3, 1fr);\n    }\n\n    #promo-exam-section .filter-tab {\n        padding: 12px 10px;\n        font-size: 11px;\n    }\n\n    #promo-exam-section .filter-tab i {\n        font-size: 16px;\n    }\n\n    #promo-exam-section .section-title {\n        font-size: 24px;\n    }\n\n    #promo-exam-section .topic-grid {\n        grid-template-columns: repeat(2, 1fr);\n        gap: 16px;\n    }\n\n    #promo-exam-section .card-banner {\n        height: 140px;\n    }\n\n    #promo-exam-section .card-body {\n        padding: 12px;\n    }\n\n    #promo-exam-section .card-title {\n        font-size: 13px;\n        min-height: 36px;\n    }\n\n    #promo-exam-section .card-footer {\n        flex-direction: column;\n        gap: 10px;\n        align-items: stretch;\n    }\n\n    #promo-exam-section .btn-add-cart {\n        width: 100%;\n        justify-content: center;\n    }\n\n    #promo-exam-section .video-section { padding: 35px 15px; }\n\n    #promo-exam-section .btn-sample-test { width: 100%; justify-content: center; padding: 14px 20px; }\n\n    #promo-exam-section .image-popup-nav.prev { left: 10px; }\n    #promo-exam-section .image-popup-nav.next { right: 10px; }\n}\n\n@media (max-width: 480px) {\n    #promo-exam-section .container {\n        padding: 0 15px;\n    }\n\n    #promo-exam-section .filter-tabs {\n        grid-template-columns: repeat(2, 1fr);\n    }\n\n    #promo-exam-section .topic-grid {\n        grid-template-columns: 1fr;\n    }\n}\n<\/style>\n\n<!--!\n    ============================================================\n    INSERT JSON-LD SCHEMA HERE\n    Recommended for this block:\n      1. ItemList \/ Product schema  -> one \"Product\" node per test\n         series card (name, offers.price, priceCurrency: \"INR\")\n      2. FAQPage schema             -> mirror the 4 FAQ items below\n      3. VideoObject schema         -> for the walkthrough video\n    Paste as: <script type=\"application\/ld+json\"> { ... } <\/script>\n    ============================================================\n-->\n\n<!-- Font Awesome: DELETE this line if FA 6 is already loaded globally on your site -->\n<link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.4.0\/css\/all.min.css\">\n\n<section id=\"promo-exam-section\" aria-label=\"Test Series and Mock Tests for SO\/Steno LDCE\">\n\n    <!-- ===== IMAGE POPUP\/LIGHTBOX ===== -->\n    <div class=\"image-popup-overlay\" id=\"pe-imagePopup\" role=\"dialog\" aria-modal=\"true\" aria-label=\"Image preview\">\n        <div class=\"image-popup-container\">\n            <button class=\"image-popup-close\" onclick=\"peCloseImagePopup()\" aria-label=\"Close preview\"><i class=\"fas fa-times\" aria-hidden=\"true\"><\/i><\/button>\n            <button class=\"image-popup-nav prev\" onclick=\"peNavigateImage(-1)\" aria-label=\"Previous image\"><i class=\"fas fa-chevron-left\" aria-hidden=\"true\"><\/i><\/button>\n            <img fetchpriority=\"high\" decoding=\"async\" src=\"\" alt=\"Enlarged preview\" id=\"pe-popupImage\" width=\"800\" height=\"600\">\n            <button class=\"image-popup-nav next\" onclick=\"peNavigateImage(1)\" aria-label=\"Next image\"><i class=\"fas fa-chevron-right\" aria-hidden=\"true\"><\/i><\/button>\n            <div class=\"image-popup-counter\"><span id=\"pe-currentIndex\">1<\/span> \/ <span id=\"pe-totalImages\">4<\/span><\/div>\n        <\/div>\n    <\/div>\n\n    <!-- ===== HERO CAROUSEL ===== -->\n    <div class=\"hero-carousel\" id=\"pe-heroCarousel\" role=\"region\" aria-roledescription=\"carousel\" aria-label=\"Featured highlights\">\n        <div class=\"hero-slides\" id=\"pe-heroSlides\">\n            <!-- Slide 1 (eager: above the fold \/ LCP candidate) -->\n            <div class=\"hero-slide\">\n                <img fetchpriority=\"high\" src=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/01\/Screenshot-1947-10-21-at-11.51.29-AM.png\" alt=\"Study materials for SO\/Steno LDCE preparation\" class=\"hero-slide-bg\" width=\"1600\" height=\"450\" fetchpriority=\"high\" decoding=\"async\">\n                <div class=\"hero-slide-overlay\"><\/div>\n                <div class=\"hero-slide-content\">\n                    <h2 class=\"hero-heading\"><span>Test Series &amp; Mock Tests<\/span><\/h2>\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 loading=\"lazy\" src=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/01\/Screenshot-1947-10-21-at-11.51.29-AM.png\" alt=\"Exam preparation with previous year questions\" class=\"hero-slide-bg\" width=\"1600\" height=\"450\" loading=\"lazy\" decoding=\"async\">\n                <div class=\"hero-slide-overlay\"><\/div>\n                <div class=\"hero-slide-content\">\n                    <h2 class=\"hero-heading\">Topic-wise <span>PYQ Practice<\/span><\/h2>\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 loading=\"lazy\" src=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/01\/Screenshot-1947-10-21-at-11.51.29-AM.png\" alt=\"Successful candidates preparing with CSS Adda\" class=\"hero-slide-bg\" width=\"1600\" height=\"450\" loading=\"lazy\" decoding=\"async\">\n                <div class=\"hero-slide-overlay\"><\/div>\n                <div class=\"hero-slide-content\">\n                    <h2 class=\"hero-heading\">Prepare to <span>Succeed<\/span><\/h2>\n                    <p>Join thousands of successful candidates who cleared their exams with CSS Adda<\/p>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <button class=\"hero-nav prev\" onclick=\"peChangeSlide(-1)\" aria-label=\"Previous slide\"><i class=\"fas fa-chevron-left\" aria-hidden=\"true\"><\/i><\/button>\n        <button class=\"hero-nav next\" onclick=\"peChangeSlide(1)\" aria-label=\"Next slide\"><i class=\"fas fa-chevron-right\" aria-hidden=\"true\"><\/i><\/button>\n\n        <div class=\"hero-dots\">\n            <button class=\"hero-dot active\" onclick=\"peGoToSlide(0)\" aria-label=\"Go to slide 1\"><\/button>\n            <button class=\"hero-dot\" onclick=\"peGoToSlide(1)\" aria-label=\"Go to slide 2\"><\/button>\n            <button class=\"hero-dot\" onclick=\"peGoToSlide(2)\" aria-label=\"Go to slide 3\"><\/button>\n        <\/div>\n    <\/div>\n\n    <!-- ===== FILTER NAVIGATION ===== -->\n    <div class=\"container\">\n        <nav class=\"filter-nav\" aria-label=\"Filter test series\">\n            <ul class=\"filter-tabs\">\n                <li><button class=\"filter-tab active\" data-filter=\"all\" aria-pressed=\"true\"><i class=\"fas fa-th-large\" aria-hidden=\"true\"><\/i> All Tests<\/button><\/li>\n                <li><button class=\"filter-tab\" data-filter=\"pyq-paper1\" aria-pressed=\"false\"><i class=\"fas fa-history\" aria-hidden=\"true\"><\/i> PYQ Paper 1<\/button><\/li>\n                <li><button class=\"filter-tab\" data-filter=\"pyq-paper2\" aria-pressed=\"false\"><i class=\"fas fa-history\" aria-hidden=\"true\"><\/i> PYQ Paper 2<\/button><\/li>\n                <li><button class=\"filter-tab\" data-filter=\"paper1\" aria-pressed=\"false\"><i class=\"fas fa-file-alt\" aria-hidden=\"true\"><\/i> Paper 1<\/button><\/li>\n                <li><button class=\"filter-tab\" data-filter=\"paper2\" aria-pressed=\"false\"><i class=\"fas fa-file-alt\" aria-hidden=\"true\"><\/i> Paper 2<\/button><\/li>\n                <li><button class=\"filter-tab\" data-filter=\"live\" aria-pressed=\"false\"><i class=\"fas fa-broadcast-tower\" aria-hidden=\"true\"><\/i> Live Tests<\/button><\/li>\n            <\/ul>\n        <\/nav>\n    <\/div>\n\n    <!-- ===== INFO BANNER ===== -->\n    <div class=\"container\">\n        <aside class=\"info-banner\" role=\"note\">\n            <i class=\"fas fa-info-circle\" aria-hidden=\"true\"><\/i>\n            <p><strong>After purchasing any test series,<\/strong> you can access your tests from your <strong>Hello, Username &rarr; My Purchases<\/strong> section.<br><br><strong>For any issues\/queries,<\/strong> kindly contact us at <strong>WhatsApp @9870176238<\/strong><\/p>\n        <\/aside>\n    <\/div>\n\n    <!-- ===== INTRO VIDEO ===== -->\n    <section class=\"video-section\" aria-labelledby=\"pe-video-title\">\n        <div class=\"container\">\n            <header class=\"section-header\">\n                <span class=\"section-tag\"><i class=\"fas fa-play-circle\" aria-hidden=\"true\"><\/i> Watch Before You Buy<\/span>\n                <h2 class=\"section-title\" id=\"pe-video-title\">See How Our Test Series Works<\/h2>\n                <p class=\"section-subtitle\">A quick walkthrough of the test interface, solutions, and how to access your purchases<\/p>\n            <\/header>\n            <div class=\"video-wrapper\">\n                <video controls autoplay muted loop playsinline preload=\"metadata\" width=\"900\" height=\"506\"\n                       poster=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/07\/Screenshot-1948-04-23-at-9.44.31-PM.png\">\n                    <source src=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2026\/07\/Test-Series-Walkthrough.mp4\" type=\"video\/mp4\">\n                    Your browser does not support the video tag.\n                <\/video>\n            <\/div>\n            <div class=\"video-cta\">\n                <a href=\"\/sample-test\/\" class=\"btn-sample-test\">\n                    <i class=\"fas fa-pen-to-square\" aria-hidden=\"true\"><\/i> Take a FREE Sample Test\n                <\/a>\n            <\/div>\n        <\/div>\n    <\/section>\n\n    <!-- ===== PYQ PAPER 1 ===== -->\n    <section class=\"test-series-section\" id=\"pyq-paper1\" aria-labelledby=\"pe-pyq1-title\">\n        <div class=\"container\">\n            <header class=\"section-header\">\n                <span class=\"paper-badge pyq\"><i class=\"fas fa-history\" aria-hidden=\"true\"><\/i> Previous Year<\/span>\n                <h2 class=\"section-title\" id=\"pe-pyq1-title\">PYQ Topic-wise &ndash; Paper 1<\/h2>\n                <p class=\"section-subtitle\">Practice with actual exam questions (2010&ndash;2024)<\/p>\n            <\/header>\n\n            <ul class=\"topic-grid\">\n                <!-- PYQ Constitution -->\n                <li><article class=\"topic-card pyq-topic\">\n                    <div class=\"card-banner\">\n                        <img loading=\"lazy\" src=\"\/wp-content\/uploads\/2025\/12\/coi.jpg\" alt=\"Constitution of India PYQ test series\" class=\"card-banner-img\" width=\"400\" height=\"180\" loading=\"lazy\" decoding=\"async\" onerror=\"this.style.display='none'\">\n                        <span class=\"new-badge pyq-badge\">PYQs<\/span>\n                    <\/div>\n                    <div class=\"card-body\">\n                        <ul class=\"card-tags\">\n                            <li class=\"card-tag lang-tag\">English<\/li>\n                            <li class=\"card-tag type-tag\">PYQ_SERIES<\/li>\n                        <\/ul>\n                        <h3 class=\"card-title\">Constitution PYQs<\/h3>\n                        <p class=\"card-tests-info\"><i class=\"fas fa-file-alt\" aria-hidden=\"true\"><\/i> 15 Years (2009&ndash;2025) | 300+ Questions<\/p>\n                        <footer class=\"card-footer\">\n                            <p class=\"card-price\">\n                                <span class=\"price-current\">&#8377;119<\/span>\n                                <span class=\"price-original\"><s>&#8377;149<\/s><\/span>\n                                <span class=\"price-discount\">(20% off)<\/span>\n                            <\/p>\n                            <button class=\"btn-add-cart\" data-product-id=\"pyq-constitution\" onclick=\"addToCart({id:'pyq-constitution',name:'Constitution PYQs',type:'test-series',price:119,originalPrice:149,icon:'fa-landmark',wooProductId:4036},this)\">\n                                <i class=\"fas fa-cart-plus\" aria-hidden=\"true\"><\/i> Add\n                            <\/button>\n                        <\/footer>\n                    <\/div>\n                <\/article><\/li>\n\n                <!-- PYQ RTI -->\n                <li><article class=\"topic-card pyq-topic\">\n                    <div class=\"card-banner\">\n                        <img loading=\"lazy\" src=\"\/wp-content\/uploads\/2025\/08\/rti.jpeg\" alt=\"RTI Act PYQ test series\" class=\"card-banner-img\" width=\"400\" height=\"180\" loading=\"lazy\" decoding=\"async\" onerror=\"this.style.display='none'\">\n                        <span class=\"new-badge pyq-badge\">PYQs<\/span>\n                    <\/div>\n                    <div class=\"card-body\">\n                        <ul class=\"card-tags\">\n                            <li class=\"card-tag lang-tag\">English<\/li>\n                            <li class=\"card-tag type-tag\">PYQ_SERIES<\/li>\n                        <\/ul>\n                        <h3 class=\"card-title\">RTI Act PYQs<\/h3>\n                        <p class=\"card-tests-info\"><i class=\"fas fa-file-alt\" aria-hidden=\"true\"><\/i> 15 Years (2009&ndash;2025) | 100+ Questions<\/p>\n                        <footer class=\"card-footer\">\n                            <p class=\"card-price\">\n                                <span class=\"price-current\">&#8377;59<\/span>\n                                <span class=\"price-original\"><s>&#8377;99<\/s><\/span>\n                                <span class=\"price-discount\">(40% off)<\/span>\n                            <\/p>\n                            <button class=\"btn-add-cart\" data-product-id=\"pyq-rti\" onclick=\"addToCart({id:'pyq-rti',name:'RTI Act PYQs',type:'test-series',price:59,originalPrice:99,icon:'fa-file-alt',wooProductId:2629},this)\">\n                                <i class=\"fas fa-cart-plus\" aria-hidden=\"true\"><\/i> Add\n                            <\/button>\n                        <\/footer>\n                    <\/div>\n                <\/article><\/li>\n\n                <!-- PYQ AOBR\/TOBR -->\n                <li><article class=\"topic-card pyq-topic\">\n                    <div class=\"card-banner\">\n                        <img loading=\"lazy\" src=\"\/wp-content\/uploads\/2025\/08\/AOBR.png\" alt=\"AOBR and TOBR PYQ test series\" class=\"card-banner-img\" width=\"400\" height=\"180\" loading=\"lazy\" decoding=\"async\" onerror=\"this.style.display='none'\">\n                        <span class=\"new-badge pyq-badge\">PYQs<\/span>\n                    <\/div>\n                    <div class=\"card-body\">\n                        <ul class=\"card-tags\">\n                            <li class=\"card-tag lang-tag\">English<\/li>\n                            <li class=\"card-tag type-tag\">PYQ_SERIES<\/li>\n                        <\/ul>\n                        <h3 class=\"card-title\">AOBR\/TOBR PYQs<\/h3>\n                        <p class=\"card-tests-info\"><i class=\"fas fa-file-alt\" aria-hidden=\"true\"><\/i> 15 Years (2009&ndash;2025) | 150+ Questions<\/p>\n                        <footer class=\"card-footer\">\n                            <p class=\"card-price\">\n                                <span class=\"price-current\">&#8377;59<\/span>\n                                <span class=\"price-original\"><s>&#8377;99<\/s><\/span>\n                                <span class=\"price-discount\">(40% off)<\/span>\n                            <\/p>\n                            <button class=\"btn-add-cart\" data-product-id=\"pyq-aobr\" onclick=\"addToCart({id:'pyq-aobr',name:'AOBR\/TOBR PYQs',type:'test-series',price:59,originalPrice:99,icon:'fa-chart-line',wooProductId:5749},this)\">\n                                <i class=\"fas fa-cart-plus\" aria-hidden=\"true\"><\/i> Add\n                            <\/button>\n                        <\/footer>\n                    <\/div>\n                <\/article><\/li>\n\n                <!-- PYQ Parliamentary Procedures -->\n                <li><article class=\"topic-card pyq-topic\">\n                    <div class=\"card-banner\">\n                        <img loading=\"lazy\" src=\"\/wp-content\/uploads\/2025\/08\/RS.png\" alt=\"Parliamentary Procedures (Lok Sabha and Rajya Sabha) PYQ test series\" class=\"card-banner-img\" width=\"400\" height=\"180\" loading=\"lazy\" decoding=\"async\" onerror=\"this.style.display='none'\">\n                        <span class=\"new-badge pyq-badge\">PYQs<\/span>\n                    <\/div>\n                    <div class=\"card-body\">\n                        <ul class=\"card-tags\">\n                            <li class=\"card-tag lang-tag\">English<\/li>\n                            <li class=\"card-tag type-tag\">PYQ_SERIES<\/li>\n                        <\/ul>\n                        <h3 class=\"card-title\">Parliamentary Procedures (Lok Sabha\/Rajya Sabha) PYQs<\/h3>\n                        <p class=\"card-tests-info\"><i class=\"fas fa-file-alt\" aria-hidden=\"true\"><\/i> 15 Years | 180+ Questions<\/p>\n                        <footer class=\"card-footer\">\n                            <p class=\"card-price\">\n                                <span class=\"price-current\">&#8377;79<\/span>\n                                <span class=\"price-original\"><s>&#8377;129<\/s><\/span>\n                                <span class=\"price-discount\">(39% off)<\/span>\n                            <\/p>\n                            <button class=\"btn-add-cart\" data-product-id=\"pyq-parliament\" onclick=\"addToCart({id:'pyq-parliament',name:'Parliamentary Procedures PYQs',type:'test-series',price:79,originalPrice:129,icon:'fa-university',wooProductId:4611},this)\">\n                                <i class=\"fas fa-cart-plus\" aria-hidden=\"true\"><\/i> Add\n                            <\/button>\n                        <\/footer>\n                    <\/div>\n                <\/article><\/li>\n            <\/ul>\n        <\/div>\n    <\/section>\n\n    <!-- ===== PYQ PAPER 2 ===== -->\n    <section class=\"test-series-section alt-bg\" id=\"pyq-paper2\" aria-labelledby=\"pe-pyq2-title\">\n        <div class=\"container\">\n            <header class=\"section-header\">\n                <span class=\"paper-badge pyq\"><i class=\"fas fa-history\" aria-hidden=\"true\"><\/i> Previous Year<\/span>\n                <h2 class=\"section-title\" id=\"pe-pyq2-title\">PYQ Topic-wise &ndash; Paper 2<\/h2>\n                <p class=\"section-subtitle\">Practice with actual exam questions (2009&ndash;2025)<\/p>\n            <\/header>\n\n            <ul class=\"topic-grid\">\n                <!-- PYQ Conduct Rules -->\n                <li><article class=\"topic-card pyq-topic\">\n                    <div class=\"card-banner\">\n                        <img loading=\"lazy\" src=\"\/wp-content\/uploads\/2025\/08\/conduct.jpg\" alt=\"CCS Conduct Rules PYQ test series\" class=\"card-banner-img\" width=\"400\" height=\"180\" loading=\"lazy\" decoding=\"async\" onerror=\"this.style.display='none'\">\n                        <span class=\"new-badge pyq-badge\">PYQs<\/span>\n                    <\/div>\n                    <div class=\"card-body\">\n                        <ul class=\"card-tags\">\n                            <li class=\"card-tag lang-tag\">English<\/li>\n                            <li class=\"card-tag type-tag\">PYQ_SERIES<\/li>\n                        <\/ul>\n                        <h3 class=\"card-title\">CCS (Conduct) Rules PYQs<\/h3>\n                        <p class=\"card-tests-info\"><i class=\"fas fa-file-alt\" aria-hidden=\"true\"><\/i> 15 Years | 121 Questions<\/p>\n                        <footer class=\"card-footer\">\n                            <p class=\"card-price\">\n                                <span class=\"price-current\">&#8377;79<\/span>\n                                <span class=\"price-original\"><s>&#8377;129<\/s><\/span>\n                                <span class=\"price-discount\">(39% off)<\/span>\n                            <\/p>\n                            <button class=\"btn-add-cart\" data-product-id=\"pyq-conduct\" onclick=\"addToCart({id:'pyq-conduct',name:'CCS Conduct Rules PYQs',type:'test-series',price:79,originalPrice:129,icon:'fa-user-tie',wooProductId:5750},this)\">\n                                <i class=\"fas fa-cart-plus\" aria-hidden=\"true\"><\/i> Add\n                            <\/button>\n                        <\/footer>\n                    <\/div>\n                <\/article><\/li>\n\n                <!-- PYQ CCA Rules -->\n                <li><article class=\"topic-card pyq-topic\">\n                    <div class=\"card-banner\">\n                        <img loading=\"lazy\" src=\"\/wp-content\/uploads\/2025\/08\/CCA.png\" alt=\"CCS CCA Rules PYQ test series\" class=\"card-banner-img\" width=\"400\" height=\"180\" loading=\"lazy\" decoding=\"async\" onerror=\"this.style.display='none'\">\n                        <span class=\"new-badge pyq-badge\">PYQs<\/span>\n                    <\/div>\n                    <div class=\"card-body\">\n                        <ul class=\"card-tags\">\n                            <li class=\"card-tag lang-tag\">English<\/li>\n                            <li class=\"card-tag type-tag\">PYQ_SERIES<\/li>\n                        <\/ul>\n                        <h3 class=\"card-title\">CCS (CCA) Rules PYQs<\/h3>\n                        <p class=\"card-tests-info\"><i class=\"fas fa-file-alt\" aria-hidden=\"true\"><\/i> 15 Years | 250+ Questions<\/p>\n                        <footer class=\"card-footer\">\n                            <p class=\"card-price\">\n                                <span class=\"price-current\">&#8377;79<\/span>\n                                <span class=\"price-original\"><s>&#8377;129<\/s><\/span>\n                                <span class=\"price-discount\">(39% off)<\/span>\n                            <\/p>\n                            <button class=\"btn-add-cart\" data-product-id=\"pyq-cca\" onclick=\"addToCart({id:'pyq-cca',name:'CCS CCA Rules PYQs',type:'test-series',price:79,originalPrice:129,icon:'fa-gavel',wooProductId:2630},this)\">\n                                <i class=\"fas fa-cart-plus\" aria-hidden=\"true\"><\/i> Add\n                            <\/button>\n                        <\/footer>\n                    <\/div>\n                <\/article><\/li>\n\n                <!-- PYQ GFR -->\n                <li><article class=\"topic-card pyq-topic\">\n                    <div class=\"card-banner\">\n                        <img loading=\"lazy\" src=\"\/wp-content\/uploads\/2025\/08\/GFR.jpg\" alt=\"General Financial Rules PYQ test series\" class=\"card-banner-img\" width=\"400\" height=\"180\" loading=\"lazy\" decoding=\"async\" onerror=\"this.style.display='none'\">\n                        <span class=\"new-badge pyq-badge\">PYQs<\/span>\n                    <\/div>\n                    <div class=\"card-body\">\n                        <ul class=\"card-tags\">\n                            <li class=\"card-tag lang-tag\">English<\/li>\n                            <li class=\"card-tag type-tag\">PYQ_SERIES<\/li>\n                        <\/ul>\n                        <h3 class=\"card-title\">General Financial Rules PYQs<\/h3>\n                        <p class=\"card-tests-info\"><i class=\"fas fa-file-alt\" aria-hidden=\"true\"><\/i> 15 Years | 200+ Questions<\/p>\n                        <footer class=\"card-footer\">\n                            <p class=\"card-price\">\n                                <span class=\"price-current\">&#8377;79<\/span>\n                                <span class=\"price-original\"><s>&#8377;129<\/s><\/span>\n                                <span class=\"price-discount\">(28% off)<\/span>\n                            <\/p>\n                            <button class=\"btn-add-cart\" data-product-id=\"pyq-gfr\" onclick=\"addToCart({id:'pyq-gfr',name:'GFR PYQs',type:'test-series',price:79,originalPrice:129,icon:'fa-coins',wooProductId:5751},this)\">\n                                <i class=\"fas fa-cart-plus\" aria-hidden=\"true\"><\/i> Add\n                            <\/button>\n                        <\/footer>\n                    <\/div>\n                <\/article><\/li>\n\n                <!-- PYQ FR\/SR (kept disabled \u2014 restore when wooProductId is available)\n                <li><article class=\"topic-card pyq-topic\"> ... FR & SR PYQs, \u20b999 \/ \u20b9149, wooProductId: 0 ... <\/article><\/li>\n                -->\n\n                <!-- PYQ Pension Rules -->\n                <li><article class=\"topic-card pyq-topic\">\n                    <div class=\"card-banner\">\n                        <img loading=\"lazy\" src=\"https:\/\/promotionexams.com\/wp-content\/uploads\/2025\/08\/pension.png\" alt=\"CCS Pension Rules PYQ test series\" class=\"card-banner-img\" width=\"400\" height=\"180\" loading=\"lazy\" decoding=\"async\" onerror=\"this.style.display='none'\">\n                        <span class=\"new-badge pyq-badge\">PYQs<\/span>\n                    <\/div>\n                    <div class=\"card-body\">\n                        <ul class=\"card-tags\">\n                            <li class=\"card-tag lang-tag\">English<\/li>\n                            <li class=\"card-tag type-tag\">PYQ_SERIES<\/li>\n                        <\/ul>\n                        <h3 class=\"card-title\">CCS (Pension) Rules PYQs<\/h3>\n                        <p class=\"card-tests-info\"><i class=\"fas fa-file-alt\" aria-hidden=\"true\"><\/i> 15 Years | 220+ Questions<\/p>\n                        <footer class=\"card-footer\">\n                            <p class=\"card-price\">\n                                <span class=\"price-current\">&#8377;79<\/span>\n                                <span class=\"price-original\"><s>&#8377;129<\/s><\/span>\n                                <span class=\"price-discount\">(39% off)<\/span>\n                            <\/p>\n                            <button class=\"btn-add-cart\" data-product-id=\"pyq-pension\" onclick=\"addToCart({id:'pyq-pension',name:'CCS Pension Rules PYQs',type:'test-series',price:79,originalPrice:129,icon:'fa-user-clock',wooProductId:2631},this)\">\n                                <i class=\"fas fa-cart-plus\" aria-hidden=\"true\"><\/i> Add\n                            <\/button>\n                        <\/footer>\n                    <\/div>\n                <\/article><\/li>\n\n                <!-- PYQ Office Procedure -->\n                <li><article class=\"topic-card pyq-topic\">\n                    <div class=\"card-banner\">\n                        <img loading=\"lazy\" src=\"\/wp-content\/uploads\/2025\/08\/mop-e1684145514331.jpeg\" alt=\"Manual of Office Procedure PYQ test series\" class=\"card-banner-img\" width=\"400\" height=\"180\" loading=\"lazy\" decoding=\"async\" onerror=\"this.style.display='none'\">\n                        <span class=\"new-badge pyq-badge\">PYQs<\/span>\n                    <\/div>\n                    <div class=\"card-body\">\n                        <ul class=\"card-tags\">\n                            <li class=\"card-tag lang-tag\">English<\/li>\n                            <li class=\"card-tag type-tag\">PYQ_SERIES<\/li>\n                        <\/ul>\n                        <h3 class=\"card-title\">Office Procedure (MOP) PYQs<\/h3>\n                        <p class=\"card-tests-info\"><i class=\"fas fa-file-alt\" aria-hidden=\"true\"><\/i> 15 Years | 180+ Questions<\/p>\n                        <footer class=\"card-footer\">\n                            <p class=\"card-price\">\n                                <span class=\"price-current\">&#8377;99<\/span>\n                                <span class=\"price-original\"><s>&#8377;149<\/s><\/span>\n                                <span class=\"price-discount\">(34% off)<\/span>\n                            <\/p>\n                            <button class=\"btn-add-cart\" data-product-id=\"pyq-mop\" onclick=\"addToCart({id:'pyq-mop',name:'Office Procedure PYQs',type:'test-series',price:99,originalPrice:149,icon:'fa-folder-open',wooProductId:12649},this)\">\n                                <i class=\"fas fa-cart-plus\" aria-hidden=\"true\"><\/i> Add\n                            <\/button>\n                        <\/footer>\n                    <\/div>\n                <\/article><\/li>\n            <\/ul>\n        <\/div>\n    <\/section>\n\n    <!-- ===== PAPER 1 TOPIC TESTS ===== -->\n    <section class=\"test-series-section\" id=\"paper1\" aria-labelledby=\"pe-p1-title\">\n        <div class=\"container\">\n            <header class=\"section-header\">\n                <span class=\"paper-badge paper1\"><i class=\"fas fa-file-alt\" aria-hidden=\"true\"><\/i> Paper 1<\/span>\n                <h2 class=\"section-title\" id=\"pe-p1-title\">Paper 1 &ndash; Topic-wise Tests<\/h2>\n                <p class=\"section-subtitle\">Constitution, RTI, Economy, Current Affairs, AOBR\/TOBR, Parliamentary Procedures and Major Development Schemes<\/p>\n            <\/header>\n\n            <ul class=\"topic-grid\">\n                <!-- RTI Act -->\n                <li><article class=\"topic-card\">\n                    <div class=\"card-banner\">\n                        <img loading=\"lazy\" src=\"\/wp-content\/uploads\/2025\/08\/rti.jpeg\" alt=\"RTI Act 2005 complete chapter-wise test series\" class=\"card-banner-img\" width=\"400\" height=\"180\" loading=\"lazy\" decoding=\"async\" onerror=\"this.style.display='none'\">\n                        <span class=\"new-badge\">New<\/span>\n                    <\/div>\n                    <div class=\"card-body\">\n                        <ul class=\"card-tags\">\n                            <li class=\"card-tag lang-tag\">English<\/li>\n                            <li class=\"card-tag type-tag\">Chapter wise TESTs<\/li>\n                        <\/ul>\n                        <h3 class=\"card-title\">RTI Act 2005 &ndash; Complete Test Series<\/h3>\n                        <p class=\"card-tests-info\"><i class=\"fas fa-file-alt\" aria-hidden=\"true\"><\/i> 200+ Questions<\/p>\n                        <footer class=\"card-footer\">\n                            <p class=\"card-price\">\n                                <span class=\"price-current\">&#8377;149<\/span>\n                                <span class=\"price-original\"><s>&#8377;199<\/s><\/span>\n                                <span class=\"price-discount\">(25% off)<\/span>\n                            <\/p>\n                            <button class=\"btn-add-cart\" data-product-id=\"rti-tests\" onclick=\"addToCart({id:'rti-tests',name:'RTI Act 2005 Test Series',type:'test-series',price:149,originalPrice:199,icon:'fa-clipboard-list',wooProductId:1147},this)\">\n                                <i class=\"fas fa-cart-plus\" aria-hidden=\"true\"><\/i> Add\n                            <\/button>\n                        <\/footer>\n                    <\/div>\n                <\/article><\/li>\n\n                <!-- Development Schemes (kept disabled \u2014 restore when wooProductId is available)\n                <li><article class=\"topic-card\"> ... Major Development Schemes, \u20b9199 \/ \u20b9299, wooProductId: 0 ... <\/article><\/li>\n                -->\n            <\/ul>\n        <\/div>\n    <\/section>\n\n    <!-- ===== PAPER 2 TOPIC TESTS ===== -->\n    <section class=\"test-series-section alt-bg\" id=\"paper2\" aria-labelledby=\"pe-p2-title\">\n        <div class=\"container\">\n            <header class=\"section-header\">\n                <span class=\"paper-badge paper2\"><i class=\"fas fa-gavel\" aria-hidden=\"true\"><\/i> Paper 2<\/span>\n                <h2 class=\"section-title\" id=\"pe-p2-title\">Paper 2 &ndash; Topic-wise Tests<\/h2>\n                <p class=\"section-subtitle\">CCS Rules, GFR, FR\/SR &amp; Office Procedure<\/p>\n            <\/header>\n\n            <ul class=\"topic-grid\">\n                <!-- CCS Leave & LTC (kept disabled \u2014 restore when wooProductId is available)\n                <li><article class=\"topic-card paper2-topic\"> ... CCS (Leave & LTC) Rules, \u20b9199 \/ \u20b9299, wooProductId: 0 ... <\/article><\/li>\n                -->\n\n                <!-- DFPR -->\n                <li><article class=\"topic-card paper2-topic\">\n                    <div class=\"card-banner\">\n                        <img loading=\"lazy\" src=\"\/wp-content\/uploads\/2025\/08\/DFPR.jpg\" alt=\"Delegation of Financial Power Rules 2024 test series\" class=\"card-banner-img\" width=\"400\" height=\"180\" loading=\"lazy\" decoding=\"async\" onerror=\"this.style.display='none'\">\n                        <span class=\"new-badge\">Updated 2024<\/span>\n                    <\/div>\n                    <div class=\"card-body\">\n                        <ul class=\"card-tags\">\n                            <li class=\"card-tag lang-tag\">English<\/li>\n                            <li class=\"card-tag type-tag\">Chapter wise TESTs<\/li>\n                        <\/ul>\n                        <h3 class=\"card-title\">Delegation of Financial Power Rules, 2024<\/h3>\n                        <p class=\"card-tests-info\"><i class=\"fas fa-file-alt\" aria-hidden=\"true\"><\/i> 10 Tests | 500 Questions<\/p>\n                        <footer class=\"card-footer\">\n                            <p class=\"card-price\">\n                                <span class=\"price-current\">&#8377;349<\/span>\n                                <span class=\"price-original\"><s>&#8377;449<\/s><\/span>\n                                <span class=\"price-discount\">(22% off)<\/span>\n                            <\/p>\n                            <button class=\"btn-add-cart\" data-product-id=\"dfpr-tests\" onclick=\"addToCart({id:'dfpr-tests',name:'DFPR 2024 Test Series',type:'test-series',price:349,originalPrice:449,icon:'fa-money-bill-wave',wooProductId:0},this)\">\n                                <i class=\"fas fa-cart-plus\" aria-hidden=\"true\"><\/i> Add\n                            <\/button>\n                        <\/footer>\n                    <\/div>\n                <\/article><\/li>\n            <\/ul>\n        <\/div>\n    <\/section>\n\n    <!-- ===== LIVE TEST SERIES ===== -->\n    <section class=\"live-section\" id=\"live\" aria-labelledby=\"pe-live-title\">\n        <div class=\"container\">\n            <header class=\"section-header\">\n                <span class=\"paper-badge live\"><i class=\"fas fa-broadcast-tower\" aria-hidden=\"true\"><\/i> Live Test Series<\/span>\n                <h2 class=\"section-title\" id=\"pe-live-title\">Live Test Series<\/h2>\n                <p class=\"section-subtitle\">Real-time mock tests with All India Ranking<\/p>\n            <\/header>\n\n            <div class=\"live-notice\">\n                <div class=\"live-notice-icon\"><i class=\"fas fa-calendar-alt\" aria-hidden=\"true\"><\/i><\/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\"><i class=\"fas fa-bell\" aria-hidden=\"true\"><\/i> We'll notify you when it starts<\/span>\n            <\/div>\n        <\/div>\n    <\/section>\n\n    <!-- ===== FAQ (native <details>: accessible + keyboard friendly, no JS needed) ===== -->\n    <section class=\"faq-section\" aria-labelledby=\"pe-faq-title\">\n        <div class=\"container\">\n            <header class=\"section-header\">\n                <span class=\"section-tag\"><i class=\"fas fa-question-circle\" aria-hidden=\"true\"><\/i> FAQs<\/span>\n                <h2 class=\"section-title\" id=\"pe-faq-title\">Frequently Asked Questions<\/h2>\n            <\/header>\n\n            <div class=\"faq-container\">\n                <details class=\"faq-item\" open>\n                    <summary class=\"faq-question\">How can I access my purchased tests? <i class=\"fas fa-chevron-down\" aria-hidden=\"true\"><\/i><\/summary>\n                    <p class=\"faq-answer\">After purchasing, go to your <strong>Dashboard &rarr; My Tests<\/strong> section. All your purchased tests will be available there.<\/p>\n                <\/details>\n\n                <details class=\"faq-item\">\n                    <summary class=\"faq-question\">How long is the validity of test series? <i class=\"fas fa-chevron-down\" aria-hidden=\"true\"><\/i><\/summary>\n                    <p class=\"faq-answer\">All test series come with 1 year validity. You can attempt each test multiple times within the validity period.<\/p>\n                <\/details>\n\n                <details class=\"faq-item\">\n                    <summary class=\"faq-question\">Are solutions provided for each question? <i class=\"fas fa-chevron-down\" aria-hidden=\"true\"><\/i><\/summary>\n                    <p class=\"faq-answer\">Yes, detailed explanations are provided for every question with references to relevant rules, sections, and articles.<\/p>\n                <\/details>\n\n                <details class=\"faq-item\">\n                    <summary class=\"faq-question\">What payment methods are accepted? <i class=\"fas fa-chevron-down\" aria-hidden=\"true\"><\/i><\/summary>\n                    <p class=\"faq-answer\">We accept Credit\/Debit Cards, Net Banking, UPI (GPay, PhonePe, Paytm), and Wallets through Razorpay.<\/p>\n                <\/details>\n            <\/div>\n        <\/div>\n    <\/section>\n\n<\/section>\n\n<script>\n\/* ============================================================\n   PROMO EXAM SECTION \u2014 WIDGET SCRIPTS (scoped)\n   Carousel \/ lightbox \/ filters are namespaced with a \"pe\" prefix\n   so they can never collide with other widgets on the page.\n   ============================================================ *\/\n(function () {\n    'use strict';\n\n    var peRoot = document.getElementById('promo-exam-section');\n    if (!peRoot) return;\n\n    \/* ---------- HERO CAROUSEL ---------- *\/\n    var peCurrentSlide = 0;\n    var peSlideInterval;\n    var peTotalSlides = peRoot.querySelectorAll('.hero-slide').length;\n\n    function peUpdateCarousel() {\n        var slides = document.getElementById('pe-heroSlides');\n        if (slides) slides.style.transform = 'translateX(-' + (peCurrentSlide * 100) + '%)';\n        peRoot.querySelectorAll('.hero-dot').forEach(function (dot, index) {\n            dot.classList.toggle('active', index === peCurrentSlide);\n        });\n    }\n\n    function peStartAutoSlide() {\n        peSlideInterval = setInterval(function () {\n            peCurrentSlide = (peCurrentSlide + 1) % peTotalSlides;\n            peUpdateCarousel();\n        }, 5000);\n    }\n\n    function peResetAutoSlide() {\n        clearInterval(peSlideInterval);\n        peStartAutoSlide();\n    }\n\n    window.peChangeSlide = function (direction) {\n        peCurrentSlide = (peCurrentSlide + direction + peTotalSlides) % peTotalSlides;\n        peUpdateCarousel();\n        peResetAutoSlide();\n    };\n\n    window.peGoToSlide = function (index) {\n        peCurrentSlide = index;\n        peUpdateCarousel();\n        peResetAutoSlide();\n    };\n\n    \/* ---------- IMAGE POPUP \/ LIGHTBOX ---------- *\/\n    var peCurrentImages = [];\n    var peCurrentImageIndex = 0;\n\n    function peShowImage(index) {\n        if (index < 0) index = peCurrentImages.length - 1;\n        if (index >= peCurrentImages.length) index = 0;\n        peCurrentImageIndex = index;\n        document.getElementById('pe-popupImage').src = peCurrentImages[peCurrentImageIndex];\n        document.getElementById('pe-currentIndex').textContent = peCurrentImageIndex + 1;\n        document.getElementById('pe-totalImages').textContent = peCurrentImages.length;\n    }\n\n    window.peOpenImagePopup = function (element) {\n        var previewContainer = element.closest('.topic-preview');\n        if (!previewContainer) return;\n        var thumbs = previewContainer.querySelectorAll('.preview-thumb');\n        peCurrentImages = [];\n        peCurrentImageIndex = 0;\n        thumbs.forEach(function (thumb) {\n            var img = thumb.querySelector('img');\n            peCurrentImages.push(img && img.src ? img.src : 'https:\/\/via.placeholder.com\/800x600\/e5e7eb\/9ca3af?text=Preview+Coming+Soon');\n            if (thumb === element) peCurrentImageIndex = peCurrentImages.length - 1;\n        });\n        if (peCurrentImages.length > 0) {\n            peShowImage(peCurrentImageIndex);\n            document.getElementById('pe-imagePopup').classList.add('active');\n            document.body.style.overflow = 'hidden';\n        }\n    };\n\n    window.peCloseImagePopup = function () {\n        document.getElementById('pe-imagePopup').classList.remove('active');\n        document.body.style.overflow = '';\n    };\n\n    window.peNavigateImage = function (direction) {\n        peShowImage(peCurrentImageIndex + direction);\n    };\n\n    document.addEventListener('keydown', function (e) {\n        var popup = document.getElementById('pe-imagePopup');\n        if (popup && popup.classList.contains('active')) {\n            if (e.key === 'Escape') window.peCloseImagePopup();\n            if (e.key === 'ArrowLeft') window.peNavigateImage(-1);\n            if (e.key === 'ArrowRight') window.peNavigateImage(1);\n        }\n    });\n\n    \/* ---------- FILTER NAVIGATION ---------- *\/\n    var peFilterSections = {\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    function peInit() {\n        peStartAutoSlide();\n\n        var popup = document.getElementById('pe-imagePopup');\n        if (popup) {\n            popup.addEventListener('click', function (e) {\n                if (e.target === this) window.peCloseImagePopup();\n            });\n        }\n\n        var filterTabs = peRoot.querySelectorAll('.filter-tab');\n        filterTabs.forEach(function (tab) {\n            tab.addEventListener('click', function () {\n                var filter = this.dataset.filter;\n\n                filterTabs.forEach(function (t) {\n                    t.classList.remove('active');\n                    t.setAttribute('aria-pressed', 'false');\n                });\n                this.classList.add('active');\n                this.setAttribute('aria-pressed', 'true');\n\n                var allSections = peRoot.querySelectorAll('.test-series-section, .live-section');\n\n                if (filter === 'all') {\n                    allSections.forEach(function (section) { section.style.display = ''; });\n                    var filterNav = peRoot.querySelector('.filter-nav');\n                    if (filterNav) {\n                        window.scrollTo({ top: filterNav.offsetTop + filterNav.offsetHeight + 20, behavior: 'smooth' });\n                    }\n                } else {\n                    allSections.forEach(function (section) { section.style.display = 'none'; });\n                    var sectionsToShow = peFilterSections[filter] || [];\n                    sectionsToShow.forEach(function (sectionId) {\n                        var section = document.getElementById(sectionId);\n                        if (section) section.style.display = '';\n                    });\n                    if (sectionsToShow.length > 0) {\n                        var firstSection = document.getElementById(sectionsToShow[0]);\n                        if (firstSection) {\n                            var offset = 100;\n                            var offsetPosition = firstSection.getBoundingClientRect().top + window.pageYOffset - offset;\n                            window.scrollTo({ top: offsetPosition, behavior: 'smooth' });\n                        }\n                    }\n                }\n            });\n        });\n\n        \/\/ Mark purchased products (small delay so all elements are rendered)\n        setTimeout(peMarkPurchasedProducts, 100);\n    }\n\n    \/* ---------- PURCHASED-PRODUCT MARKING ---------- *\/\n    function peMarkPurchasedProducts() {\n        if (typeof cssaddaPurchased === 'undefined' || !cssaddaPurchased) return;\n\n        peRoot.querySelectorAll('.btn-add-cart[onclick], .btn-bundle[onclick]').forEach(function (btn) {\n            var onclickAttr = btn.getAttribute('onclick');\n            if (!onclickAttr) return;\n            var match = onclickAttr.match(\/wooProductId:\\s*(\\d+)\/);\n            if (match && match[1] && match[1] !== '0' && cssaddaPurchased[match[1]]) {\n                var purchasedProduct = cssaddaPurchased[match[1]];\n                btn.classList.add('purchased');\n                btn.innerHTML = '<i class=\"fas fa-play-circle\"><\/i> Take Test';\n                if (purchasedProduct.quiz_url) btn.dataset.accessUrl = purchasedProduct.quiz_url;\n            }\n        });\n    }\n\n    if (document.readyState === 'loading') {\n        document.addEventListener('DOMContentLoaded', peInit);\n    } else {\n        peInit();\n    }\n})();\n\n\/* ============================================================\n   SHARED SITE-WIDE CART BRIDGE\n   addToCart() is intentionally global (your other pages call it\n   too) but is only defined if it doesn't already exist.\n   ============================================================ *\/\nif (typeof window.addToCart !== 'function') {\n    window.addToCart = function (product, buttonElement) {\n        if (typeof cssaddaIsLoggedIn !== 'undefined' && !cssaddaIsLoggedIn) {\n            window.CSSAddaCart && CSSAddaCart.showToast('Please login to add items to cart', 'warning');\n            if (typeof redirectToLogin === 'function') setTimeout(redirectToLogin, 1500);\n            return;\n        }\n        if (buttonElement && buttonElement.classList.contains('purchased')) {\n            var accessUrl = buttonElement.dataset.accessUrl;\n            if (accessUrl) {\n                window.location.href = accessUrl;\n            } else {\n                window.CSSAddaCart && CSSAddaCart.showToast('Redirecting to your test...', 'info');\n                window.location.href = '?page_id=4602';\n            }\n            return;\n        }\n        if (!product.wooProductId || product.wooProductId === 0) {\n            window.CSSAddaCart && CSSAddaCart.showToast('\u23f3 Coming soon! This product is not available yet.', 'warning');\n            return;\n        }\n        window.CSSAddaCart && CSSAddaCart.addItem(product, buttonElement);\n    };\n}\n\n\/* ============================================================\n   CSS ADDA \u2014 Complete Cart System v3.0 (site-wide, unchanged)\n   Guarded so it can never be initialised twice if this widget\n   appears on a page where the cart script is already loaded\n   (e.g. via theme footer).\n   RECOMMENDED: move this whole block to a single site-wide\n   location (theme footer \/ Code Snippets) instead of shipping\n   it inside each Elementor widget.\n   ============================================================ *\/\nif (!window.CSSAddaCart) {\n(function() {\n    'use strict';\n\n    const CONFIG = {\n        storageKey: 'cssadda_cart',\n        maxItems: 50,\n        toastDuration: 3000,\n        DEBUG_MODE: false  \/\/ Set to true while debugging\n    };\n\n    function debug(...args) {\n        if (CONFIG.DEBUG_MODE) console.log('[CSS ADDA Cart]', ...args);\n    }\n\n    debug('Initializing cart system...');\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            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            if (this.hasItem(product.id)) {\n                return { success: false, message: 'Already in cart' };\n            }\n            if (this.items.length >= CONFIG.maxItems) {\n                return { success: false, message: 'Cart is full (max ' + CONFIG.maxItems + ' items)' };\n            }\n            product.addedAt = new Date().toISOString();\n            this.items.push(product);\n            this.saveToStorage();\n            this.notifyListeners('add', product);\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            const removed = this.items.splice(index, 1)[0];\n            this.saveToStorage();\n            this.notifyListeners('remove', removed);\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    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            if (typeof cssaddaCartSync !== 'undefined') {\n                const localCount = this.cart.getCount();\n                const wcCount = cssaddaCartSync.wcCartCount || 0;\n                debug('Sync check - Local:', localCount, 'WC:', wcCount);\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            const formData = new FormData();\n            formData.append('action', 'cssadda_clear_wc_cart');\n            formData.append('nonce', cssaddaCartSync.nonce);\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            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            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            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    const cart = new Cart();\n    const ui = new CartUI(cart);\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                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                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                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        checkout: function() {\n            debug('Checkout initiated');\n\n            if (cart.getCount() === 0) {\n                ui.showToast('Your cart is empty!', 'warning');\n                return;\n            }\n\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            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            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            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            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            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                    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                    const redirectUrl = data.data.redirect_to || data.data.checkout_url || cssaddaCartSync.checkoutUrl;\n                    debug('Redirecting to:', redirectUrl);\n\n                    sessionStorage.setItem('cssadda_checkout_pending', 'true');\n\n                    if (ui.isOpen) ui.toggle();\n\n                    setTimeout(() => {\n                        window.location.href = redirectUrl;\n                    }, 1200);\n\n                } else {\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                    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: 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                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    function initCart() {\n        CSSAddaCart.init();\n        debug('Cart system ready!');\n\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<\/script>\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>1 \/ 4 Test Series &amp; Mock Tests Comprehensive practice for Combined SO\/Steno LDCE conducted by UPSC Topic-wise PYQ Practice [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"disabled","ast-banner-title-visibility":"disabled","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"disabled","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1],"tags":[],"class_list":["post-9137","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/promotionexams.com\/index.php?rest_route=\/wp\/v2\/posts\/9137","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/promotionexams.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/promotionexams.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"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=9137"}],"version-history":[{"count":19,"href":"https:\/\/promotionexams.com\/index.php?rest_route=\/wp\/v2\/posts\/9137\/revisions"}],"predecessor-version":[{"id":13627,"href":"https:\/\/promotionexams.com\/index.php?rest_route=\/wp\/v2\/posts\/9137\/revisions\/13627"}],"wp:attachment":[{"href":"https:\/\/promotionexams.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=9137"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/promotionexams.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=9137"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/promotionexams.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=9137"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}