{"id":12,"date":"2022-08-20T12:32:54","date_gmt":"2022-08-20T12:32:54","guid":{"rendered":"http:\/\/raigadexplore.in\/Bhajan_Sangrah\/?page_id=12"},"modified":"2026-09-11T08:18:39","modified_gmt":"2026-09-11T08:18:39","slug":"home","status":"publish","type":"page","link":"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/","title":{"rendered":"Home Page"},"content":{"rendered":"\n<style>\n\/* ================================================\n   BHAJAN SANGRAH DYNAMIC DASHBOARD - APP TILE EDITION\n   ================================================ *\/\n\n:root {\n    --bs-bg-light: #F4F6F9;\n    --bs-maroon: #800000;\n    --bs-maroon-dark: #500000;\n    --bs-text-dark: #1F2937;\n    --bs-text-sub: #4B5563;\n\n    --tile-grad-1: linear-gradient(135deg, #FF6B6B 0%, #FF8E53 100%);\n    --tile-grad-2: linear-gradient(135deg, #FF8008 0%, #FFC837 100%);\n    --tile-grad-3: linear-gradient(135deg, #E65C00 0%, #F9D423 100%);\n    --tile-grad-4: linear-gradient(135deg, #D31027 0%, #EA384D 100%);\n    --tile-grad-5: linear-gradient(135deg, #FF512F 0%, #DD2476 100%);\n    --tile-grad-6: linear-gradient(135deg, #F09819 0%, #EDDE5D 100%);\n    --tile-grad-audio: linear-gradient(135deg, #800000 0%, #B30000 100%);\n}\n\n.bs-dashboard {\n    max-width: 480px;\n    margin: 20px auto;\n    padding: 16px;\n    font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;\n    background-color: var(--bs-bg-light);\n    color: var(--bs-text-dark);\n    border-radius: 20px;\n    box-shadow: 0 10px 30px rgba(0,0,0,0.08);\n}\n\n.bs-header {\n    background: linear-gradient(135deg, var(--bs-maroon) 0%, var(--bs-maroon-dark) 100%);\n    padding: 20px 16px;\n    border-radius: 16px;\n    color: #FFFFFF;\n    margin-bottom: 16px;\n    box-shadow: 0 4px 15px rgba(0,0,0,0.1);\n}\n\n.bs-header-top {\n    display: flex;\n    flex-direction: column;\n    align-items: flex-start;\n    gap: 8px;\n    margin-bottom: 8px;\n}\n\n.bs-header h1 {\n    margin: 0;\n    font-size: 18px;\n    font-weight: 800;\n    color: #FFFFFF;\n    display: flex;\n    align-items: center;\n    gap: 6px;\n}\n\n.bs-header p {\n    margin: 0;\n    font-size: 13px;\n    color: #FFE4E6;\n    opacity: 0.9;\n}\n\n.bs-date-badge {\n    background: rgba(255, 255, 255, 0.18);\n    border: 1px solid rgba(255, 255, 255, 0.3);\n    padding: 5px 12px;\n    border-radius: 20px;\n    font-size: 12px;\n    font-weight: 700;\n    color: #FFFFFF;\n    display: inline-flex;\n    align-items: center;\n    gap: 5px;\n    white-space: nowrap;\n}\n\n.bs-search-box {\n    display: flex;\n    gap: 8px;\n    margin: 0 0 20px;\n    background: #FFFFFF;\n    padding: 5px;\n    border-radius: 12px;\n    box-shadow: 0 2px 10px rgba(0,0,0,0.06);\n    border: 1px solid #E5E7EB;\n}\n\n.bs-search-box input {\n    flex: 1;\n    min-width: 0;\n    height: 40px;\n    padding: 0 12px;\n    border: none;\n    outline: none;\n    font-size: 14px;\n    background: transparent;\n}\n\n.bs-search-box button {\n    height: 40px;\n    padding: 0 16px;\n    border: 0;\n    border-radius: 8px;\n    background: var(--bs-maroon);\n    color: #FFFFFF;\n    font-size: 14px;\n    font-weight: 700;\n    cursor: pointer;\n    transition: transform 0.15s ease;\n}\n\n.bs-search-box button:active {\n    transform: scale(0.96);\n}\n\n.bs-section {\n    margin-top: 20px;\n}\n\n.bs-section-title {\n    display: flex;\n    align-items: center;\n    margin-bottom: 14px;\n}\n\n.bs-section-title h2 {\n    margin: 0;\n    font-size: 16px;\n    font-weight: 800;\n    color: #1E293B;\n    position: relative;\n    padding-left: 12px;\n    text-transform: uppercase;\n    letter-spacing: 0.3px;\n}\n\n.bs-section-title h2::before {\n    content: \"\";\n    position: absolute;\n    left: 0;\n    top: 2px;\n    bottom: 2px;\n    width: 4px;\n    background-color: var(--bs-maroon);\n    border-radius: 4px;\n}\n\n.bs-category-grid {\n    display: grid;\n    grid-template-columns: repeat(2, 1fr);\n    gap: 12px;\n}\n\n.bs-tile {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    padding: 16px 8px;\n    border-radius: 16px;\n    text-decoration: none !important;\n    color: #FFFFFF !important;\n    text-align: center;\n    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);\n    transition: transform 0.2s ease, box-shadow 0.2s ease;\n    -webkit-tap-highlight-color: transparent;\n    aspect-ratio: 1 \/ 0.95;\n}\n\n.bs-tile:hover, .bs-tile:active {\n    transform: translateY(-3px);\n    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.12);\n}\n\n.bs-tile-1 { background: var(--tile-grad-1); }\n.bs-tile-2 { background: var(--tile-grad-2); }\n.bs-tile-3 { background: var(--tile-grad-3); }\n.bs-tile-4 { background: var(--tile-grad-4); }\n.bs-tile-5 { background: var(--tile-grad-5); }\n.bs-tile-6 { background: var(--tile-grad-6); }\n\n.bs-tile-icon-wrapper {\n    width: 52px;\n    height: 52px;\n    background: #FFFFFF;\n    border-radius: 50%;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    margin-bottom: 8px;\n    box-shadow: 0 3px 10px rgba(0,0,0,0.1), inset 0 0 0 2px #F3F4F6;\n}\n\n.bs-tile-icon {\n    font-size: 24px;\n    line-height: 1;\n}\n\n.bs-tile-title {\n    font-size: 14px;\n    font-weight: 800;\n    line-height: 1.2;\n    text-shadow: 0 1px 2px rgba(0,0,0,0.2);\n}\n\n.bs-tile-subtitle {\n    font-size: 11px;\n    opacity: 0.9;\n    margin-top: 2px;\n    font-weight: 500;\n}\n\n.bs-audio-banner {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 10px;\n    padding: 14px 16px;\n    background: var(--tile-grad-audio);\n    border-radius: 14px;\n    color: #FFFFFF !important;\n    font-size: 15px;\n    font-weight: 800;\n    text-decoration: none !important;\n    box-shadow: 0 4px 14px rgba(128, 0, 0, 0.2);\n    transition: transform 0.2s ease;\n}\n\n.bs-audio-banner:active {\n    transform: scale(0.98);\n}\n\n.bs-content-grid {\n    display: flex;\n    flex-direction: column;\n    gap: 8px;\n}\n\n.bs-content-card {\n    background: #FFFFFF;\n    border-radius: 10px;\n    overflow: hidden;\n    box-shadow: 0 2px 6px rgba(0,0,0,0.04);\n    border: 1px solid #E5E7EB;\n    transition: transform 0.2s ease;\n}\n\n.bs-content-card:hover {\n    transform: translateX(3px);\n}\n\n.bs-content-card a {\n    text-decoration: none !important;\n    color: inherit !important;\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding: 12px 14px;\n}\n\n.bs-card-title {\n    font-size: 14px;\n    font-weight: 700;\n    color: var(--bs-text-dark);\n}\n\n.bs-card-type {\n    padding: 2px 8px;\n    border-radius: 12px;\n    background: #FEF2F2;\n    font-size: 10px;\n    font-weight: 700;\n    color: var(--bs-maroon);\n    white-space: nowrap;\n}\n\n.bs-loading {\n    text-align: center;\n    padding: 20px;\n    color: var(--bs-text-sub);\n    font-size: 14px;\n    font-weight: 600;\n}\n\n.bs-result-item {\n    padding: 12px 14px;\n    margin-bottom: 8px;\n    border-radius: 8px;\n    background: #FFFFFF;\n    border: 1px solid #E5E7EB;\n}\n\n.bs-result-item a {\n    font-size: 15px;\n    font-weight: 700;\n    color: var(--bs-maroon) !important;\n    text-decoration: none !important;\n}\n\n.bs-result-type {\n    font-size: 11px;\n    color: var(--bs-text-sub);\n    margin-top: 3px;\n}\n\n.bs-google-box {\n    text-align: center;\n    padding: 20px 14px;\n    background: #FFFFFF;\n    border-radius: 10px;\n    border: 1px solid #E5E7EB;\n    margin-top: 10px;\n}\n\n.bs-google-button {\n    display: inline-block;\n    padding: 8px 16px;\n    background: #2563EB;\n    color: #FFFFFF !important;\n    border-radius: 16px;\n    text-decoration: none !important;\n    font-weight: 700;\n    margin-top: 8px;\n    font-size: 13px;\n}\n\n.bs-search-active .bs-home-sections {\n    display: none;\n}\n\n@media (max-width: 600px) {\n    .bs-dashboard {\n        max-width: 100%;\n        margin: 0;\n        border-radius: 0;\n        box-shadow: none;\n        padding: 12px;\n    }\n}\n<\/style>\n\n<div class=\"bs-dashboard\" id=\"bsDashboard\">\n\n    <!-- HEADER -->\n    <div class=\"bs-header\">\n        <div class=\"bs-header-top\">\n            <h1 id=\"bsGreeting\">\ud83d\udc4b \u0936\u0941\u092d \u092a\u094d\u0930\u092d\u093e\u0924!<\/h1>\n            <div class=\"bs-date-badge\" id=\"bsDateBadge\">\ud83d\uddd3\ufe0f Loading<\/div>\n        <\/div>\n        <p>\u092d\u091c\u0928 \u0938\u0902\u0917\u094d\u0930\u0939 \u092a\u094d\u0930\u0923\u093e\u0932\u0940\u092e\u0927\u094d\u092f\u0947 \u0906\u092a\u0932\u0947 \u0938\u094d\u0935\u093e\u0917\u0924 \u0906\u0939\u0947.<\/p>\n    <\/div>\n\n    <!-- SEARCH -->\n    <form class=\"bs-search-box\" id=\"bsSearchForm\">\n        <input type=\"text\" id=\"bsSearchInput\" placeholder=\"\u092d\u091c\u0928, \u0906\u0930\u0924\u0940 \u0915\u093f\u0902\u0935\u093e \u0905\u092d\u0902\u0917 \u0936\u094b\u0927\u093e...\" aria-label=\"Search\">\n        <button type=\"submit\">\u0936\u094b\u0927\u093e<\/button>\n    <\/form>\n\n    <!-- SEARCH RESULTS CONTAINER -->\n    <div id=\"bsSearchResults\"><\/div>\n\n    <!-- HOME SECTIONS -->\n    <div class=\"bs-home-sections\">\n\n        <!-- CATEGORIES TILES -->\n        <div class=\"bs-section\">\n            <div class=\"bs-section-title\">\n                <h2>\u092e\u0941\u0916\u094d\u092f \u092a\u094d\u0930\u0915\u093e\u0930 (KEY CATEGORIES)<\/h2>\n            <\/div>\n\n            <div class=\"bs-category-grid\">\n\n                <a class=\"bs-tile bs-tile-1\" href=\"\/Bhajan_Sangrah\/aarti-sangrah\/\">\n                    <div class=\"bs-tile-icon-wrapper\">\n                        <span class=\"bs-tile-icon\">\ud83d\ude4f<\/span>\n                    <\/div>\n                    <div class=\"bs-tile-title\">\u0906\u0930\u0924\u0940 \u0938\u0902\u0917\u094d\u0930\u0939<\/div>\n                    <div class=\"bs-tile-subtitle\">(Aarti Sangrah)<\/div>\n                <\/a>\n\n                <a class=\"bs-tile bs-tile-2\" href=\"\/Bhajan_Sangrah\/abhang-sangrah\/\">\n                    <div class=\"bs-tile-icon-wrapper\">\n                        <span class=\"bs-tile-icon\">\ud83c\udfb5<\/span>\n                    <\/div>\n                    <div class=\"bs-tile-title\">\u0905\u092d\u0902\u0917 \u0938\u0902\u0917\u094d\u0930\u0939<\/div>\n                    <div class=\"bs-tile-subtitle\">(Abhang Sangrah)<\/div>\n                <\/a>\n\n                <a class=\"bs-tile bs-tile-3\" href=\"\/Bhajan_Sangrah\/gavlani-sangrah\/\">\n                    <div class=\"bs-tile-icon-wrapper\">\n                        <span class=\"bs-tile-icon\">\ud83c\udfb6<\/span>\n                    <\/div>\n                    <div class=\"bs-tile-title\">\u0917\u0935\u0933\u0923\u0940 \u0938\u0902\u0917\u094d\u0930\u0939<\/div>\n                    <div class=\"bs-tile-subtitle\">(Gavlani Sangrah)<\/div>\n                <\/a>\n\n                <a class=\"bs-tile bs-tile-4\" href=\"\/Bhajan_Sangrah\/gajar-sangrah\/\">\n                    <div class=\"bs-tile-icon-wrapper\">\n                        <span class=\"bs-tile-icon\">\ud83e\ude94<\/span>\n                    <\/div>\n                    <div class=\"bs-tile-title\">\u0917\u091c\u0930 \u0938\u0902\u0917\u094d\u0930\u0939<\/div>\n                    <div class=\"bs-tile-subtitle\">(Gajar Sangrah)<\/div>\n                <\/a>\n\n                <a class=\"bs-tile bs-tile-5\" href=\"\/Bhajan_Sangrah\/stotra-and-mantra\/\">\n                    <div class=\"bs-tile-icon-wrapper\">\n                        <span class=\"bs-tile-icon\">\ud83d\udcff<\/span>\n                    <\/div>\n                    <div class=\"bs-tile-title\">\u0938\u094d\u0924\u094b\u0924\u094d\u0930 \u0906\u0923\u093f \u092e\u0902\u0924\u094d\u0930<\/div>\n                    <div class=\"bs-tile-subtitle\">(Stotra &#038; Mantra)<\/div>\n                <\/a>\n\n                <a class=\"bs-tile bs-tile-6\" href=\"\/Bhajan_Sangrah\/aarti-sangrah\/manache-shlok-lyrics\/\">\n                    <div class=\"bs-tile-icon-wrapper\">\n                        <span class=\"bs-tile-icon\">\ud83d\udcd6<\/span>\n                    <\/div>\n                    <div class=\"bs-tile-title\">\u092e\u0928\u093e\u091a\u0947 \u0936\u094d\u0932\u094b\u0915<\/div>\n                    <div class=\"bs-tile-subtitle\">(Manache Shlok)<\/div>\n                <\/a>\n\n            <\/div>\n        <\/div>\n\n        <!-- AUDIO PLAYER BANNER -->\n        <div class=\"bs-section\">\n            <a class=\"bs-audio-banner\" href=\"\/Bhajan_Sangrah\/audio-list\/\">\n                <span style=\"font-size: 20px;\">\ud83c\udfa7<\/span>\n                <span>\u092f\u0947\u0925\u0947 \u092d\u091c\u0928\u0947 \u0935 \u0917\u0935\u0933\u0923\u0940 \u0910\u0915\u093e (Audio List)<\/span>\n            <\/a>\n        <\/div>\n\n        <!-- LATEST CONTENT -->\n\n\n    <\/div>\n\n<\/div>\n\n<script>\nfunction renderHeaderInfo() {\n    var greetingEl = document.getElementById(\"bsGreeting\");\n    var dateBadge = document.getElementById(\"bsDateBadge\");\n    if (!greetingEl || !dateBadge) return false;\n\n    var now = new Date();\n    var hour = now.getHours();\n\n    if (hour >= 5) {\n        if (hour < 12) {\n            greetingEl.innerHTML = \"\ud83d\udc4b \u0936\u0941\u092d \u0938\u0915\u093e\u0933 (Good Morning)!\";\n        } else if (hour < 17) {\n            greetingEl.innerHTML = \"\ud83d\udc4b \u0936\u0941\u092d \u0926\u0941\u092a\u093e\u0930 (Good Afternoon)!\";\n        } else if (hour < 21) {\n            greetingEl.innerHTML = \"\ud83d\udc4b \u0936\u0941\u092d \u0938\u0902\u0927\u094d\u092f\u093e\u0915\u093e\u0933 (Good Evening)!\";\n        } else {\n            greetingEl.innerHTML = \"\ud83d\udc4b \u092d\u0915\u094d\u0924\u093f\u092e\u092f \u091c\u093e\u0917\u0930\u0923.. \u0930\u093e\u092e \u0915\u0943\u0937\u094d\u0923 \u0939\u0930\u0940!\";\n        }\n    } else {\n        greetingEl.innerHTML = \"\ud83d\udc4b \u092d\u0915\u094d\u0924\u093f\u092e\u092f \u091c\u093e\u0917\u0930\u0923.. \u0930\u093e\u092e \u0915\u0943\u0937\u094d\u0923 \u0939\u0930\u0940!\";\n    }\n\n    var day = String(now.getDate()).padStart(2, '0');\n    var monthsShort = [\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];\n    var monthStr = monthsShort[now.getMonth()];\n    var year = now.getFullYear();\n    var formattedDate = day + \"\/\" + monthStr + \"\/\" + year;\n\n    \/* NOTE: this lookup deliberately avoids the &#038;&#038; operator.\n       WordPress's content filter (wptexturize) was silently rewriting\n       &#038;&#038; into the HTML entity &#038;&#038; inside this script tag,\n       which browsers do not decode inside <script>, causing a\n       JavaScript syntax error that broke this entire block. Using\n       single-condition comparisons only (no &&, no &) sidesteps that\n       entirely. *\/\n\n    var gMonth = now.getMonth() + 1;\n    var gDate = now.getDate();\n    var key = gMonth * 100 + gDate; \/\/ e.g. 15 Aug -> 815\n\n    var ranges = [\n        [322, 420, \"\u091a\u0948\u0924\u094d\u0930\"],\n        [421, 521, \"\u0935\u0948\u0936\u093e\u0916\"],\n        [522, 621, \"\u091c\u094d\u092f\u0947\u0937\u094d\u0920\"],\n        [622, 722, \"\u0906\u0937\u093e\u0922\"],\n        [723, 822, \"\u0936\u094d\u0930\u093e\u0935\u0923\"],\n        [823, 922, \"\u092d\u093e\u0926\u094d\u0930\u092a\u0926\"],\n        [923, 1022, \"\u0906\u0936\u094d\u0935\u093f\u0928\"],\n        [1023, 1121, \"\u0915\u093e\u0930\u094d\u0924\u093f\u0915\"],\n        [1122, 1221, \"\u092e\u093e\u0930\u094d\u0917\u0936\u0940\u0930\u094d\u0937\"],\n        [1222, 1231, \"\u092a\u094c\u0937\"],\n        [101, 120, \"\u092a\u094c\u0937\"],\n        [121, 219, \"\u092e\u093e\u0918\"],\n        [220, 321, \"\u092b\u093e\u0932\u094d\u0917\u0941\u0928\"]\n    ];\n\n    var marathiMonth = \"\u092b\u093e\u0932\u094d\u0917\u0941\u0928\";\n    for (var i = 0; i < ranges.length; i++) {\n        if (key >= ranges[i][0]) {\n            if (key <= ranges[i][1]) {\n                marathiMonth = ranges[i][2];\n            }\n        }\n    }\n\n    dateBadge.innerHTML = \"\ud83d\uddd3\ufe0f \" + formattedDate + \" | \" + marathiMonth;\n    return true;\n}\n\nfunction initHeaderWithRetry(attemptsLeft) {\n    if (renderHeaderInfo()) return;\n    if (attemptsLeft > 0) {\n        setTimeout(function () { initHeaderWithRetry(attemptsLeft - 1); }, 200);\n    }\n}\n\nif (document.readyState === \"loading\") {\n    document.addEventListener(\"DOMContentLoaded\", function () { initHeaderWithRetry(10); });\n} else {\n    initHeaderWithRetry(10);\n}\nwindow.addEventListener(\"load\", function () { renderHeaderInfo(); });\n\n(function () {\n    \"use strict\";\n\n    const API_BASE = \"\/Bhajan_Sangrah\/wp-json\/wp\/v2\/\";\n    const latestContainer = document.getElementById(\"bsLatestContent\");\n    const searchForm = document.getElementById(\"bsSearchForm\");\n    const searchInput = document.getElementById(\"bsSearchInput\");\n    const searchResults = document.getElementById(\"bsSearchResults\");\n\n    async function loadLatestContent() {\n        if (!latestContainer) return;\n\n        try {\n            const postURL = API_BASE + \"posts?per_page=6&orderby=date&order=desc&_embed\";\n            const pageURL = API_BASE + \"pages?per_page=3&orderby=date&order=desc&_embed\";\n\n            const responses = await Promise.all([\n                fetch(postURL),\n                fetch(pageURL)\n            ]);\n\n            const posts = await responses[0].json();\n            const pages = await responses[1].json();\n\n            const postItems = Array.isArray(posts) ? posts.map(item => ({\n                title: item.title.rendered,\n                url: item.link,\n                date: item.date,\n                type: \"\u092d\u091c\u0928\"\n            })) : [];\n\n            const pageItems = Array.isArray(pages) ? pages.map(item => ({\n                title: item.title.rendered,\n                url: item.link,\n                date: item.date,\n                type: \"Page\"\n            })) : [];\n\n            const allItems = postItems.concat(pageItems);\n            allItems.sort((a, b) => new Date(b.date) - new Date(a.date));\n\n            renderLatest(allItems.slice(0, 8));\n        } catch (error) {\n            console.error(\"Bhajan dashboard error:\", error);\n            latestContainer.innerHTML = \"<p class='bs-loading'>\u0938\u093e\u092e\u0917\u094d\u0930\u0940 \u0932\u094b\u0921 \u0915\u0930\u0924\u093e \u0906\u0932\u0940 \u0928\u093e\u0939\u0940.<\/p>\";\n        }\n    }\n\n    function renderLatest(items) {\n        if (!items.length) {\n            latestContainer.innerHTML = \"<p class='bs-loading'>\u0938\u0927\u094d\u092f\u093e \u0928\u0935\u0940\u0928 \u0938\u093e\u092e\u0917\u094d\u0930\u0940 \u0909\u092a\u0932\u092c\u094d\u0927 \u0928\u093e\u0939\u0940.<\/p>\";\n            return;\n        }\n\n        latestContainer.innerHTML = items.map(item => `\n            <div class=\"bs-content-card\">\n                <a href=\"${item.url}\">\n                    <span class=\"bs-card-title\">${item.title}<\/span>\n                    <span class=\"bs-card-type\">${item.type}<\/span>\n                <\/a>\n            <\/div>\n        `).join(\"\");\n    }\n\n    async function searchPosts(query) {\n        searchResults.innerHTML = '<div class=\"bs-loading\">\ud83d\udd0d \u0936\u094b\u0927\u0924 \u0906\u0939\u0947...<\/div>';\n\n        try {\n            const postURL = API_BASE + \"posts?search=\" + encodeURIComponent(query) + \"&per_page=20\";\n            const pageURL = API_BASE + \"pages?search=\" + encodeURIComponent(query) + \"&per_page=20\";\n\n            const responses = await Promise.all([\n                fetch(postURL),\n                fetch(pageURL)\n            ]);\n\n            const posts = await responses[0].json();\n            const pages = await responses[1].json();\n\n            const results = [];\n\n            if (Array.isArray(posts)) {\n                posts.forEach(item => {\n                    results.push({\n                        title: item.title.rendered,\n                        url: item.link,\n                        type: \"\u092d\u091c\u0928 \/ Post\"\n                    });\n                });\n            }\n\n            if (Array.isArray(pages)) {\n                pages.forEach(item => {\n                    results.push({\n                        title: item.title.rendered,\n                        url: item.link,\n                        type: \"Page\"\n                    });\n                });\n            }\n\n            renderSearchResults(results, query);\n        } catch (error) {\n            console.error(\"Search error:\", error);\n            searchResults.innerHTML = \"<p class='bs-loading'>\u0938\u0930\u094d\u091a \u0915\u0930\u0924\u093e\u0928\u093e \u0938\u092e\u0938\u094d\u092f\u093e \u0906\u0932\u0940.<\/p>\";\n        }\n    }\n\n    function renderSearchResults(results, query) {\n        if (!results.length) {\n            const googleURL = \"https:\/\/www.google.com\/search?q=\" + encodeURIComponent(query + \" site:raigadexplore.in\/Bhajan_Sangrah\/\");\n\n            searchResults.innerHTML = `\n                <div class=\"bs-google-box\">\n                    <p><strong>\"${escapeHTML(query)}\"<\/strong> \u0906\u092a\u0932\u094d\u092f\u093e \u092d\u091c\u0928 \u0938\u0902\u0917\u094d\u0930\u0939\u093e\u092e\u0927\u094d\u092f\u0947 \u0938\u093e\u092a\u0921\u0932\u0947 \u0928\u093e\u0939\u0940.<\/p>\n                    <a class=\"bs-google-button\" href=\"${googleURL}\">\ud83d\udd0e Advance Search \u0935\u0930 \u0936\u094b\u0927\u093e<\/a>\n                <\/div>\n            `;\n            return;\n        }\n\n        searchResults.innerHTML = `\n            <div class=\"bs-section\">\n                <div class=\"bs-section-title\">\n                    <h2>\u0936\u094b\u0927\u093e\u091a\u0947 \u0928\u093f\u0915\u093e\u0932 (SEARCH RESULTS)<\/h2>\n                <\/div>\n                <div class=\"bs-results\">\n                    ${results.map(item => `\n                        <div class=\"bs-result-item\">\n                            <a href=\"${item.url}\">${item.title}<\/a>\n                            <div class=\"bs-result-type\">${item.type}<\/div>\n                        <\/div>\n                    `).join(\"\")}\n                <\/div>\n            <\/div>\n        `;\n    }\n\n    function escapeHTML(text) {\n        const div = document.createElement(\"div\");\n        div.textContent = text;\n        return div.innerHTML;\n    }\n\n    if (searchForm) {\n        searchForm.addEventListener(\"submit\", function (event) {\n            event.preventDefault();\n\n            const query = searchInput.value.trim();\n            if (!query) {\n                searchInput.focus();\n                return;\n            }\n\n            document.getElementById(\"bsDashboard\").classList.add(\"bs-search-active\");\n            searchPosts(query);\n\n            window.scrollTo({\n                top: searchResults.offsetTop - 20,\n                behavior: \"smooth\"\n            });\n        });\n    }\n\n    loadLatestContent();\n})();\n<\/script>\n\n\n\n<!-- ==============================\n     QUICK JUMP NAV - Scrolls to Aarti Shortcuts \/ Jap Mala\n     WordPress Custom HTML Block\n     (No changes needed to any other block - uses existing class names)\n     ============================== -->\n\n<style>\n.bs-jump-nav {\n    max-width: 480px;\n    margin: 16px auto;\n    padding: 0 16px;\n    box-sizing: border-box;\n    display: flex;\n    gap: 10px;\n    flex-wrap: wrap;\n}\n\n.bs-jump-btn {\n    flex: 1 1 140px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 8px;\n    padding: 12px 14px;\n    border-radius: 14px;\n    background: linear-gradient(135deg, #800000 0%, #500000 100%);\n    color: #FFFFFF !important;\n    text-decoration: none !important;\n    font-size: 14px;\n    font-weight: 700;\n    text-align: center;\n    box-shadow: 0 4px 14px rgba(128, 0, 0, 0.2);\n    transition: transform 0.15s ease, box-shadow 0.15s ease;\n    cursor: pointer;\n    border: none;\n}\n\n.bs-jump-btn:active {\n    transform: scale(0.97);\n}\n\n.bs-jump-btn .bs-jump-icon {\n    font-size: 18px;\n    line-height: 1;\n}\n\n@media (max-width: 420px) {\n    .bs-jump-nav {\n        padding: 0 12px;\n    }\n    .bs-jump-btn {\n        font-size: 13px;\n        padding: 10px 10px;\n    }\n}\n<\/style>\n\n<div class=\"bs-jump-nav\">\n    <button type=\"button\" class=\"bs-jump-btn\" id=\"bsJumpAarti\">\n        <span class=\"bs-jump-icon\">\ud83e\ude94<\/span>\n        <span>\u0906\u0930\u0924\u0940 \u0936\u0949\u0930\u094d\u091f\u0915\u091f\u094d\u0938<\/span>\n    <\/button>\n    <button type=\"button\" class=\"bs-jump-btn\" id=\"bsJumpJap\">\n        <span class=\"bs-jump-icon\">\ud83d\udcff<\/span>\n        <span>\u091c\u092a \u092e\u093e\u0933\u093e (108)<\/span>\n    <\/button>\n<\/div>\n\n<script>\n(function () {\n    \"use strict\";\n\n    function scrollToClass(className) {\n        var target = document.querySelector(\".\" + className);\n        if (target) {\n            target.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\n        } else {\n            console.warn(\"Bhajan quick nav: could not find element with class\", className);\n        }\n    }\n\n    function wireButton(buttonId, className) {\n        var btn = document.getElementById(buttonId);\n        if (!btn) return;\n        btn.addEventListener(\"click\", function () {\n            scrollToClass(className);\n        });\n    }\n\n    function init() {\n        wireButton(\"bsJumpAarti\", \"bs-aarti-shortcuts\");\n        wireButton(\"bsJumpJap\", \"jap-container\");\n    }\n\n    if (document.readyState === \"loading\") {\n        document.addEventListener(\"DOMContentLoaded\", init);\n    } else {\n        init();\n    }\n})();\n<\/script>\n\n\n\n<!-- ==============================\n     \u0906\u0930\u0924\u0940 \u0938\u0902\u0917\u094d\u0930\u0939 - SHORTCUTS\n     WordPress Custom HTML Block\n     ============================== -->\n\n<style>\n\/* Main Shortcut Section *\/\n.bs-aarti-shortcuts {\n    width: 100%;\n    max-width: 1100px;\n    margin: 25px auto;\n    padding: 10px 15px 30px;\n    box-sizing: border-box;\n}\n\n\/* Heading *\/\n.bs-aarti-heading {\n    text-align: center;\n    margin-bottom: 25px;\n}\n\n.bs-aarti-heading h2 {\n    margin: 0;\n    font-size: 28px;\n    font-weight: 700;\n    color: #222;\n}\n\n.bs-aarti-heading h2 span {\n    color: #c40000;\n}\n\n\/* Responsive Grid Configuration *\/\n.bs-aarti-grid {\n    display: grid;\n    \/* Auto-fit dynamically fills space on large screens while maintaining standard sizing *\/\n    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));\n    gap: 18px 25px;\n    align-items: stretch;\n}\n\n\/* Shortcut Link Card *\/\n.bs-aarti-card {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 82px;\n    padding: 12px 18px;\n    box-sizing: border-box;\n    text-decoration: none !important;\n    text-align: center;\n    border-radius: 45px;\n    background: linear-gradient(135deg, #fff200, #ffd000);\n    border: 2px solid #f2c400;\n    box-shadow: 0 5px 12px rgba(0,0,0,0.12);\n    transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;\n}\n\n\/* Hover State *\/\n.bs-aarti-card:hover {\n    transform: translateY(-4px) scale(1.02);\n    box-shadow: 0 9px 20px rgba(0,0,0,0.20);\n    background: linear-gradient(135deg, #ffe900, #ffc400);\n}\n\n\/* Text Containers *\/\n.bs-aarti-text {\n    display: block;\n    line-height: 1.35;\n    width: 100%;\n}\n\n.bs-aarti-title {\n    display: block;\n    font-size: 20px;\n    font-weight: 800;\n    color: #111;\n}\n\n.bs-aarti-subtitle {\n    display: block;\n    margin-top: 4px;\n    font-size: 14px;\n    font-weight: 600;\n    color: #222;\n}\n\n\/* Tablet Media Query *\/\n@media (max-width: 768px) {\n    .bs-aarti-grid {\n        grid-template-columns: repeat(2, 1fr);\n        gap: 14px;\n    }\n\n    .bs-aarti-card {\n        min-height: 78px;\n        padding: 10px 12px;\n    }\n\n    .bs-aarti-title {\n        font-size: 17px;\n    }\n\n    .bs-aarti-subtitle {\n        font-size: 12px;\n    }\n\n    .bs-aarti-heading h2 {\n        font-size: 24px;\n    }\n}\n\n\/* Mobile Media Query *\/\n@media (max-width: 480px) {\n    .bs-aarti-shortcuts {\n        padding-left: 8px;\n        padding-right: 8px;\n    }\n\n    .bs-aarti-grid {\n        grid-template-columns: repeat(2, 1fr);\n        gap: 10px;\n    }\n\n    .bs-aarti-card {\n        min-height: 72px;\n        border-radius: 38px;\n        padding: 8px 7px;\n    }\n\n    .bs-aarti-title {\n        font-size: 15px;\n    }\n\n    .bs-aarti-subtitle {\n        font-size: 10px;\n    }\n\n    .bs-aarti-heading h2 {\n        font-size: 21px;\n    }\n}\n<\/style>\n\n<div class=\"bs-aarti-shortcuts\">\n\n    <!-- Heading -->\n    <div class=\"bs-aarti-heading\">\n        <h2>\u0906\u0930\u0924\u0940 \u0938\u0902\u0917\u094d\u0930\u0939 <span>(Shortcuts)<\/span><\/h2>\n    <\/div>\n\n    <!-- Shortcut Grid -->\n    <div class=\"bs-aarti-grid\">\n\n        <!-- 1. Ganpati Aarti -->\n        <a class=\"bs-aarti-card\" href=\"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/aarti-sangrah\/shree-ganpati-aarti\/\">\n            <span class=\"bs-aarti-text\">\n                <span class=\"bs-aarti-title\">\u0936\u094d\u0930\u0940 \u0917\u0923\u092a\u0924\u0940\u091a\u0940 \u0906\u0930\u0924\u0940<\/span>\n                <span class=\"bs-aarti-subtitle\">(\u0938\u0941\u0916\u0915\u0930\u094d\u0924\u093e \u0926\u0941\u0903\u0916\u0939\u0930\u094d\u0924\u093e \u0935\u093e\u0930\u094d\u0924\u093e \u0935\u093f\u0918\u094d\u0928\u093e\u091a\u0940)<\/span>\n            <\/span>\n        <\/a>\n\n        <!-- 2. Vitthal Aarti -->\n        <a class=\"bs-aarti-card\" href=\"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/aarti-sangrah\/pandurang-aarti\/\">\n            <span class=\"bs-aarti-text\">\n                <span class=\"bs-aarti-title\">\u0936\u094d\u0930\u0940 \u0935\u093f\u0920\u094d\u0920\u0932\u093e\u091a\u0940 \u0906\u0930\u0924\u0940<\/span>\n                <span class=\"bs-aarti-subtitle\">(\u092f\u0941\u0917\u0947 \u0905\u0920\u094d\u0920\u093e\u0935\u0940\u0938 \u0935\u093f\u091f\u0947\u0935\u0930\u0940 \u0909\u092d\u093e)<\/span>\n            <\/span>\n        <\/a>\n\n        <!-- 3. Shankar Aarti -->\n        <a class=\"bs-aarti-card\" href=\"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/aarti-sangrah\/shree-shankarachi-aarti\/\">\n            <span class=\"bs-aarti-text\">\n                <span class=\"bs-aarti-title\">\u0936\u094d\u0930\u0940 \u0936\u0902\u0915\u0930\u093e\u091a\u0940 \u0906\u0930\u0924\u0940<\/span>\n                <span class=\"bs-aarti-subtitle\">(\u0932\u0935\u0925\u0935\u0924\u0940 \u0935\u093f\u0915\u094d\u0930\u093e\u0933\u093e \u092c\u094d\u0930\u0939\u094d\u092e\u093e\u0902\u0921\u0940 \u092e\u093e\u0933\u093e)<\/span>\n            <\/span>\n        <\/a>\n\n        <!-- 4. Durga Aarti -->\n        <a class=\"bs-aarti-card\" href=\"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/aarti-sangrah\/durga-devi-aarti\/\">\n            <span class=\"bs-aarti-text\">\n                <span class=\"bs-aarti-title\">\u0936\u094d\u0930\u0940 \u0926\u0941\u0930\u094d\u0917\u093e \u0926\u0947\u0935\u0940 \u0906\u0930\u0924\u0940<\/span>\n                <span class=\"bs-aarti-subtitle\">(\u0926\u0941\u0930\u094d\u0917\u0947 \u0926\u0941\u0930\u094d\u0918\u091f \u092d\u093e\u0930\u0940 \u0924\u0941\u091c\u0935\u093f\u0923 \u0938\u0902\u0938\u093e\u0930\u0940)<\/span>\n            <\/span>\n        <\/a>\n\n        <!-- 5. Yei Ho Vitthale -->\n        <a class=\"bs-aarti-card\" href=\"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/aarti-sangrah\/vitthalachi-aarti\/\">\n            <span class=\"bs-aarti-text\">\n                <span class=\"bs-aarti-title\">\u092f\u0947\u0908 \u0939\u094b \u0935\u093f\u0920\u094d\u0920\u0932\u0947 \u092e\u093e\u091d\u0947<\/span>\n                <span class=\"bs-aarti-subtitle\">(\u092f\u0947\u0908 \u0939\u094b \u0935\u093f\u0920\u094d\u0920\u0932\u0947 \u092e\u093e\u091d\u0947)<\/span>\n            <\/span>\n        <\/a>\n\n        <!-- 6. Guru Datta Aarti -->\n        <a class=\"bs-aarti-card\" href=\"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/aarti-sangrah\/guru-dattachi-aarti\/\">\n            <span class=\"bs-aarti-text\">\n                <span class=\"bs-aarti-title\">\u0936\u094d\u0930\u0940 \u0917\u0941\u0930\u0941\u0926\u0924\u094d\u0924 \u0906\u0930\u0924\u0940<\/span>\n                <span class=\"bs-aarti-subtitle\">(\u0924\u094d\u0930\u093f\u0917\u0941\u0923\u093e\u0924\u094d\u092e\u0915 \u0924\u094d\u0930\u093f\u092e\u0942\u0930\u094d\u0924\u0940 \u0926\u0924\u094d\u0924 \u0939\u093e \u091c\u093e\u0923\u093e\u0935\u093e)<\/span>\n            <\/span>\n        <\/a>\n\n        <!-- 7. Aarti Dnyanraja -->\n        <a class=\"bs-aarti-card\" href=\"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/aarti-sangrah\/aarti-dnyanraja\/\">\n            <span class=\"bs-aarti-text\">\n                <span class=\"bs-aarti-title\">\u0906\u0930\u0924\u0940 \u091c\u094d\u091e\u093e\u0928\u0930\u093e\u091c\u093e<\/span>\n                <span class=\"bs-aarti-subtitle\">(\u0906\u0930\u0924\u0940 \u091c\u094d\u091e\u093e\u0928\u0930\u093e\u091c\u093e)<\/span>\n            <\/span>\n        <\/a>\n\n<!-- 8. Ghalin Lotangan -->\n        <a class=\"bs-aarti-card\" href=\"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/aarti-sangrah\/ghalin-lotangan-aarti\/\">\n            <span class=\"bs-aarti-text\">\n                <span class=\"bs-aarti-title\">\u0918\u093e\u0932\u0940\u0928 \u0932\u094b\u091f\u093e\u0902\u0917\u0923<\/span>\n                <span class=\"bs-aarti-subtitle\">(\u0918\u093e\u0932\u0940\u0928 \u0932\u094b\u091f\u093e\u0902\u0917\u0923)<\/span>\n            <\/span>\n        <\/a>\n\n    <\/div>\n\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-text-color has-vivid-red-color has-alpha-channel-opacity has-vivid-red-background-color has-background is-style-wide\"\/>\n\n\n\n<div class=\"jap-container\">\n  <!-- Today's Date -->\n  <div class=\"jap-date\" id=\"japDateDisplay\">&#8211;\/&#8212;\/&#8212;-<\/div>\n\n  <h2 class=\"jap-title\">\u091c\u093e\u092a \u092e\u093e\u0932\u093e (108)<\/h2>\n  \n  <!-- Bead Track -->\n  <div class=\"bead-track\" id=\"beadTrack\"><\/div>\n\n  <!-- Counter Display (Clickable area) -->\n  <div class=\"counter-card\" id=\"japButton\" role=\"button\" tabindex=\"0\">\n    <div class=\"mala-count\" id=\"malaDisplay\">\u092e\u093e\u0932\u093e: 0<\/div>\n    <div class=\"main-count\" id=\"countDisplay\">0<\/div>\n    <div class=\"tap-hint\">\u091c\u093e\u092a \u0915\u0930\u0923\u094d\u092f\u093e\u0938\u093e\u0920\u0940 \u0907\u0925\u0947 \u091f\u0945\u092a \u0915\u0930\u093e<\/div>\n  <\/div>\n\n  <!-- Controls -->\n  <div class=\"control-actions\">\n    <button class=\"action-btn\" id=\"resetBtn\" type=\"button\">\u0915\u093e\u0909\u0902\u091f\u0930 \u0930\u0940\u0938\u0947\u091f \u0915\u0930\u093e<\/button>\n  <\/div>\n\n  <!-- Custom In-App Reset Confirmation Modal (Bypasses WebView confirm issues) -->\n  <div class=\"jap-modal-overlay\" id=\"resetModal\">\n    <div class=\"jap-modal-box\">\n      <p class=\"jap-modal-text\">\u0924\u0941\u092e\u094d\u0939\u093e\u0932\u093e \u0916\u0930\u094b\u0916\u0930 \u091c\u093e\u092a \u0915\u093e\u0909\u0902\u091f\u0930 \u0930\u0940\u0938\u0947\u091f \u0915\u0930\u093e\u092f\u091a\u0947 \u0906\u0939\u0947 \u0915\u093e?<\/p>\n      <div class=\"jap-modal-buttons\">\n        <button class=\"modal-btn confirm-btn\" id=\"confirmResetBtn\" type=\"button\">\u0939\u094b\u092f (Reset)<\/button>\n        <button class=\"modal-btn cancel-btn\" id=\"cancelResetBtn\" type=\"button\">\u0930\u0926\u094d\u0926 \u0915\u0930\u093e (Cancel)<\/button>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<style>\n  .jap-container {\n    position: relative;\n    max-width: 400px;\n    margin: 20px auto;\n    padding: 24px 16px;\n    background: #fff8f0;\n    border-radius: 20px;\n    border: 2px solid #f2cf93;\n    box-shadow: 0 10px 25px rgba(184, 80, 0, 0.1);\n    text-align: center;\n    font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif;\n    user-select: none;\n    -webkit-user-select: none;\n    touch-action: manipulation;\n  }\n\n  .jap-date {\n    font-size: 0.9rem;\n    color: #8a4b00;\n    font-weight: 600;\n    margin-bottom: 6px;\n  }\n\n  .jap-title {\n    color: #8a3100;\n    margin: 0 0 16px 0;\n    font-size: 1.5rem;\n    font-weight: 700;\n  }\n\n  .bead-track {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 3px;\n    justify-content: center;\n    max-height: 90px;\n    overflow-y: auto;\n    padding: 8px;\n    margin-bottom: 20px;\n    background: #ffffff;\n    border-radius: 12px;\n    border: 1px solid #ebd3ba;\n  }\n\n  .bead {\n    width: 8px;\n    height: 8px;\n    border-radius: 50%;\n    background-color: #e0d0c0;\n    transition: background-color 0.2s ease, transform 0.1s;\n  }\n\n  .bead.active {\n    background-color: #d9534f;\n    transform: scale(1.2);\n  }\n\n  .counter-card {\n    width: 190px;\n    height: 190px;\n    margin: 0 auto 20px auto;\n    background: linear-gradient(135deg, #d9534f 0%, #b52b27 100%);\n    border-radius: 50%;\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    align-items: center;\n    color: #ffffff;\n    box-shadow: 0 8px 20px rgba(217, 83, 79, 0.4);\n    cursor: pointer;\n    transition: transform 0.08s ease;\n  }\n\n  .counter-card:active {\n    transform: scale(0.94);\n  }\n\n  .mala-count {\n    font-size: 1rem;\n    font-weight: 600;\n    opacity: 0.95;\n  }\n\n  .main-count {\n    font-size: 3.6rem;\n    font-weight: 800;\n    line-height: 1.1;\n  }\n\n  .tap-hint {\n    font-size: 0.75rem;\n    opacity: 0.85;\n    margin-top: 4px;\n  }\n\n  .control-actions {\n    display: flex;\n    justify-content: center;\n    margin-top: 10px;\n  }\n\n  .action-btn {\n    background: #ffffff;\n    border: 1.5px solid #b52b27;\n    color: #b52b27;\n    padding: 10px 22px;\n    border-radius: 20px;\n    font-size: 0.9rem;\n    font-weight: 600;\n    cursor: pointer;\n    outline: none;\n    transition: all 0.2s ease;\n    -webkit-tap-highlight-color: transparent;\n  }\n\n  .action-btn:active {\n    background: #b52b27;\n    color: #ffffff;\n  }\n\n  \/* Custom Confirmation Modal Styles *\/\n  .jap-modal-overlay {\n    display: none;\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 100%;\n    height: 100%;\n    background: rgba(0, 0, 0, 0.5);\n    border-radius: 20px;\n    z-index: 1000;\n    justify-content: center;\n    align-items: center;\n  }\n\n  .jap-modal-overlay.show {\n    display: flex;\n  }\n\n  .jap-modal-box {\n    background: #ffffff;\n    padding: 20px;\n    margin: 15px;\n    border-radius: 15px;\n    box-shadow: 0 5px 15px rgba(0,0,0,0.3);\n    text-align: center;\n  }\n\n  .jap-modal-text {\n    font-size: 1rem;\n    color: #333333;\n    font-weight: 600;\n    margin-bottom: 18px;\n  }\n\n  .jap-modal-buttons {\n    display: flex;\n    gap: 10px;\n    justify-content: center;\n  }\n\n  .modal-btn {\n    padding: 8px 16px;\n    border-radius: 8px;\n    font-size: 0.85rem;\n    font-weight: 600;\n    cursor: pointer;\n    border: none;\n  }\n\n  .confirm-btn {\n    background-color: #d9534f;\n    color: #ffffff;\n  }\n\n  .cancel-btn {\n    background-color: #e0e0e0;\n    color: #333333;\n  }\n<\/style>\n\n<script>\n  (function initJapCounter() {\n    let currentCount = 0;\n    let malaCompleted = 0;\n    const TOTAL_BEADS = 108;\n\n    const englishMonths = [\n      \"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \n      \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"\n    ];\n\n    const countDisplay = document.getElementById('countDisplay');\n    const malaDisplay = document.getElementById('malaDisplay');\n    const japButton = document.getElementById('japButton');\n    const resetBtn = document.getElementById('resetBtn');\n    const beadTrack = document.getElementById('beadTrack');\n    const japDateDisplay = document.getElementById('japDateDisplay');\n    const resetModal = document.getElementById('resetModal');\n    const confirmResetBtn = document.getElementById('confirmResetBtn');\n    const cancelResetBtn = document.getElementById('cancelResetBtn');\n\n    \/\/ 1. Load saved data from localStorage\n    function loadSavedData() {\n      try {\n        const savedCount = localStorage.getItem('jap_current_count');\n        const savedMala = localStorage.getItem('jap_mala_completed');\n        \n        if (savedCount !== null) currentCount = parseInt(savedCount, 10) || 0;\n        if (savedMala !== null) malaCompleted = parseInt(savedMala, 10) || 0;\n      } catch (e) {\n        console.warn(\"LocalStorage access failed:\", e);\n      }\n    }\n\n    \/\/ 2. Save current state to localStorage\n    function saveData() {\n      try {\n        localStorage.setItem('jap_current_count', currentCount);\n        localStorage.setItem('jap_mala_completed', malaCompleted);\n      } catch (e) {\n        console.warn(\"LocalStorage save failed:\", e);\n      }\n    }\n\n    \/\/ 3. Set Date (dd\/MMM\/yyyy)\n    function setEnglishDate() {\n      const today = new Date();\n      const day = String(today.getDate()).padStart(2, '0');\n      const monthStr = englishMonths[today.getMonth()];\n      const year = today.getFullYear();\n      \n      if (japDateDisplay) {\n        japDateDisplay.textContent = `${day}\/${monthStr}\/${year}`;\n      }\n    }\n\n    \/\/ 4. Create 108 Bead elements\n    if (beadTrack && beadTrack.children.length === 0) {\n      for (let i = 0; i < TOTAL_BEADS; i++) {\n        const bead = document.createElement('div');\n        bead.className = 'bead';\n        bead.id = 'bead-' + i;\n        beadTrack.appendChild(bead);\n      }\n    }\n\n    function triggerVibration(pattern) {\n      if (\"vibrate\" in navigator) {\n        navigator.vibrate(pattern);\n      }\n    }\n\n    function updateBeads() {\n      if (!beadTrack) return;\n      const beads = beadTrack.children;\n      for (let i = 0; i < TOTAL_BEADS; i++) {\n        if (i < currentCount) {\n          beads[i].classList.add('active');\n        } else {\n          beads[i].classList.remove('active');\n        }\n      }\n    }\n\n    function updateDisplay() {\n      if (countDisplay) countDisplay.textContent = currentCount;\n      if (malaDisplay) malaDisplay.textContent = '\u092e\u093e\u0932\u093e: ' + malaCompleted;\n      updateBeads();\n    }\n\n    function incrementCount(e) {\n      if (e) {\n        e.preventDefault();\n        e.stopPropagation();\n      }\n\n      currentCount++;\n\n      if (currentCount >= TOTAL_BEADS) {\n        malaCompleted++;\n        currentCount = 0;\n        \/\/ Stronger, longer double vibration pattern (500ms vibration, 150ms pause, 500ms vibration)\n        triggerVibration([500, 150, 500]);\n      } else {\n        \/\/ Standard 40ms pulse for every normal tap\n        triggerVibration(40);\n      }\n\n      saveData();\n      updateDisplay();\n    }\n\n    \/\/ Modal Control Functions\n    function showResetModal(e) {\n      if (e) {\n        e.preventDefault();\n        e.stopPropagation();\n      }\n      if (resetModal) resetModal.classList.add('show');\n    }\n\n    function hideResetModal() {\n      if (resetModal) resetModal.classList.remove('show');\n    }\n\n    function performReset() {\n      currentCount = 0;\n      malaCompleted = 0;\n      saveData();\n      updateDisplay();\n      triggerVibration(100);\n      hideResetModal();\n    }\n\n    \/\/ Event Bindings\n    if (japButton) {\n      japButton.addEventListener('click', incrementCount);\n      japButton.addEventListener('keydown', function(e) {\n        if (e.code === 'Space' || e.code === 'Enter') {\n          e.preventDefault();\n          incrementCount();\n        }\n      });\n    }\n\n    if (resetBtn) {\n      resetBtn.addEventListener('click', showResetModal);\n    }\n\n    if (confirmResetBtn) {\n      confirmResetBtn.addEventListener('click', performReset);\n    }\n\n    if (cancelResetBtn) {\n      cancelResetBtn.addEventListener('click', hideResetModal);\n    }\n\n    \/\/ Initialization\n    loadSavedData();\n    setEnglishDate();\n    updateDisplay();\n  })();\n<\/script>\n\n\n\n<div style=\"height:33px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<hr class=\"wp-block-separator has-text-color has-vivid-red-color has-alpha-channel-opacity has-vivid-red-background-color has-background is-style-wide\"\/>\n","protected":false},"excerpt":{"rendered":"<p>\ud83d\udc4b \u0936\u0941\u092d \u092a\u094d\u0930\u092d\u093e\u0924! \ud83d\uddd3\ufe0f Loading \u092d\u091c\u0928 \u0938\u0902\u0917\u094d\u0930\u0939 \u092a\u094d\u0930\u0923\u093e\u0932\u0940\u092e\u0927\u094d\u092f\u0947 \u0906\u092a\u0932\u0947 \u0938\u094d\u0935\u093e\u0917\u0924 \u0906\u0939\u0947. \u0936\u094b\u0927\u093e \u092e\u0941\u0916\u094d\u092f \u092a\u094d\u0930\u0915\u093e\u0930 (KEY CATEGORIES) \ud83d\ude4f \u0906\u0930\u0924\u0940 \u0938\u0902\u0917\u094d\u0930\u0939 (Aarti Sangrah) \ud83c\udfb5 \u0905\u092d\u0902\u0917 \u0938\u0902\u0917\u094d\u0930\u0939 (Abhang Sangrah) \ud83c\udfb6 \u0917\u0935\u0933\u0923\u0940 \u0938\u0902\u0917\u094d\u0930\u0939 (Gavlani Sangrah) \ud83e\ude94 \u0917\u091c\u0930 \u0938\u0902\u0917\u094d\u0930\u0939 (Gajar Sangrah) \ud83d\udcff \u0938\u094d\u0924\u094b\u0924\u094d\u0930 \u0906\u0923\u093f \u092e\u0902\u0924\u094d\u0930 (Stotra &#038; Mantra) \ud83d\udcd6 \u092e\u0928\u093e\u091a\u0947 \u0936\u094d\u0932\u094b\u0915 (Manache Shlok) \ud83c\udfa7 \u092f\u0947\u0925\u0947 \u092d\u091c\u0928\u0947 \u0935 \u0917\u0935\u0933\u0923\u0940 \u0910\u0915\u093e (Audio [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-12","page","type-page","status-publish","hentry","entry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Home Page - Bhajan Sangrah (\u092d\u091c\u0928 \u0938\u0902\u0917\u094d\u0930\u0939)<\/title>\n<meta name=\"description\" content=\"\u092e\u0930\u093e\u0920\u0940 \u092d\u0915\u094d\u0924\u0940\u092a\u0930\u0902\u092a\u0930\u0947\u0924\u0940\u0932 \u0932\u094b\u0915\u092a\u094d\u0930\u093f\u092f \u092d\u091c\u0928\u0947, \u0905\u092d\u0902\u0917, \u0906\u0930\u0924\u0940, \u092d\u0915\u094d\u0924\u093f\u0917\u0940\u0924\u0947. A collection of Marathi Bhajans, Abhangs, Aartis, devotional songs\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Home Page - Bhajan Sangrah (\u092d\u091c\u0928 \u0938\u0902\u0917\u094d\u0930\u0939)\" \/>\n<meta property=\"og:description\" content=\"\u092e\u0930\u093e\u0920\u0940 \u092d\u0915\u094d\u0924\u0940\u092a\u0930\u0902\u092a\u0930\u0947\u0924\u0940\u0932 \u0932\u094b\u0915\u092a\u094d\u0930\u093f\u092f \u092d\u091c\u0928\u0947, \u0905\u092d\u0902\u0917, \u0906\u0930\u0924\u0940, \u092d\u0915\u094d\u0924\u093f\u0917\u0940\u0924\u0947. A collection of Marathi Bhajans, Abhangs, Aartis, devotional songs\" \/>\n<meta property=\"og:url\" content=\"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/\" \/>\n<meta property=\"og:site_name\" content=\"Bhajan Sangrah (\u092d\u091c\u0928 \u0938\u0902\u0917\u094d\u0930\u0939)\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-11T08:18:39+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/raigadexplore.in\\\/Bhajan_Sangrah\\\/\",\"url\":\"https:\\\/\\\/raigadexplore.in\\\/Bhajan_Sangrah\\\/\",\"name\":\"Home Page - Bhajan Sangrah (\u092d\u091c\u0928 \u0938\u0902\u0917\u094d\u0930\u0939)\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/raigadexplore.in\\\/Bhajan_Sangrah\\\/#website\"},\"datePublished\":\"2022-08-20T12:32:54+00:00\",\"dateModified\":\"2026-09-11T08:18:39+00:00\",\"description\":\"\u092e\u0930\u093e\u0920\u0940 \u092d\u0915\u094d\u0924\u0940\u092a\u0930\u0902\u092a\u0930\u0947\u0924\u0940\u0932 \u0932\u094b\u0915\u092a\u094d\u0930\u093f\u092f \u092d\u091c\u0928\u0947, \u0905\u092d\u0902\u0917, \u0906\u0930\u0924\u0940, \u092d\u0915\u094d\u0924\u093f\u0917\u0940\u0924\u0947. A collection of Marathi Bhajans, Abhangs, Aartis, devotional songs\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/raigadexplore.in\\\/Bhajan_Sangrah\\\/#breadcrumb\"},\"inLanguage\":\"en\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/raigadexplore.in\\\/Bhajan_Sangrah\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/raigadexplore.in\\\/Bhajan_Sangrah\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/raigadexplore.in\\\/Bhajan_Sangrah\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Home Page\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/raigadexplore.in\\\/Bhajan_Sangrah\\\/#website\",\"url\":\"https:\\\/\\\/raigadexplore.in\\\/Bhajan_Sangrah\\\/\",\"name\":\"Bhajan Sangrah (\u092d\u091c\u0928 \u0938\u0902\u0917\u094d\u0930\u0939)\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/raigadexplore.in\\\/Bhajan_Sangrah\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Home Page - Bhajan Sangrah (\u092d\u091c\u0928 \u0938\u0902\u0917\u094d\u0930\u0939)","description":"\u092e\u0930\u093e\u0920\u0940 \u092d\u0915\u094d\u0924\u0940\u092a\u0930\u0902\u092a\u0930\u0947\u0924\u0940\u0932 \u0932\u094b\u0915\u092a\u094d\u0930\u093f\u092f \u092d\u091c\u0928\u0947, \u0905\u092d\u0902\u0917, \u0906\u0930\u0924\u0940, \u092d\u0915\u094d\u0924\u093f\u0917\u0940\u0924\u0947. A collection of Marathi Bhajans, Abhangs, Aartis, devotional songs","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/","og_locale":"en_US","og_type":"article","og_title":"Home Page - Bhajan Sangrah (\u092d\u091c\u0928 \u0938\u0902\u0917\u094d\u0930\u0939)","og_description":"\u092e\u0930\u093e\u0920\u0940 \u092d\u0915\u094d\u0924\u0940\u092a\u0930\u0902\u092a\u0930\u0947\u0924\u0940\u0932 \u0932\u094b\u0915\u092a\u094d\u0930\u093f\u092f \u092d\u091c\u0928\u0947, \u0905\u092d\u0902\u0917, \u0906\u0930\u0924\u0940, \u092d\u0915\u094d\u0924\u093f\u0917\u0940\u0924\u0947. A collection of Marathi Bhajans, Abhangs, Aartis, devotional songs","og_url":"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/","og_site_name":"Bhajan Sangrah (\u092d\u091c\u0928 \u0938\u0902\u0917\u094d\u0930\u0939)","article_modified_time":"2026-09-11T08:18:39+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/","url":"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/","name":"Home Page - Bhajan Sangrah (\u092d\u091c\u0928 \u0938\u0902\u0917\u094d\u0930\u0939)","isPartOf":{"@id":"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/#website"},"datePublished":"2022-08-20T12:32:54+00:00","dateModified":"2026-09-11T08:18:39+00:00","description":"\u092e\u0930\u093e\u0920\u0940 \u092d\u0915\u094d\u0924\u0940\u092a\u0930\u0902\u092a\u0930\u0947\u0924\u0940\u0932 \u0932\u094b\u0915\u092a\u094d\u0930\u093f\u092f \u092d\u091c\u0928\u0947, \u0905\u092d\u0902\u0917, \u0906\u0930\u0924\u0940, \u092d\u0915\u094d\u0924\u093f\u0917\u0940\u0924\u0947. A collection of Marathi Bhajans, Abhangs, Aartis, devotional songs","breadcrumb":{"@id":"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/#breadcrumb"},"inLanguage":"en","potentialAction":[{"@type":"ReadAction","target":["https:\/\/raigadexplore.in\/Bhajan_Sangrah\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/"},{"@type":"ListItem","position":2,"name":"Home Page"}]},{"@type":"WebSite","@id":"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/#website","url":"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/","name":"Bhajan Sangrah (\u092d\u091c\u0928 \u0938\u0902\u0917\u094d\u0930\u0939)","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en"}]}},"rttpg_featured_image_url":null,"rttpg_author":{"display_name":false,"author_link":"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/author\/admin\/"},"rttpg_comment":0,"rttpg_category":null,"rttpg_excerpt":"\ud83d\udc4b \u0936\u0941\u092d \u092a\u094d\u0930\u092d\u093e\u0924! \ud83d\uddd3\ufe0f Loading \u092d\u091c\u0928 \u0938\u0902\u0917\u094d\u0930\u0939 \u092a\u094d\u0930\u0923\u093e\u0932\u0940\u092e\u0927\u094d\u092f\u0947 \u0906\u092a\u0932\u0947 \u0938\u094d\u0935\u093e\u0917\u0924 \u0906\u0939\u0947. \u0936\u094b\u0927\u093e \u092e\u0941\u0916\u094d\u092f \u092a\u094d\u0930\u0915\u093e\u0930 (KEY CATEGORIES) \ud83d\ude4f \u0906\u0930\u0924\u0940 \u0938\u0902\u0917\u094d\u0930\u0939 (Aarti Sangrah) \ud83c\udfb5 \u0905\u092d\u0902\u0917 \u0938\u0902\u0917\u094d\u0930\u0939 (Abhang Sangrah) \ud83c\udfb6 \u0917\u0935\u0933\u0923\u0940 \u0938\u0902\u0917\u094d\u0930\u0939 (Gavlani Sangrah) \ud83e\ude94 \u0917\u091c\u0930 \u0938\u0902\u0917\u094d\u0930\u0939 (Gajar Sangrah) \ud83d\udcff \u0938\u094d\u0924\u094b\u0924\u094d\u0930 \u0906\u0923\u093f \u092e\u0902\u0924\u094d\u0930 (Stotra &#038; Mantra) \ud83d\udcd6 \u092e\u0928\u093e\u091a\u0947 \u0936\u094d\u0932\u094b\u0915 (Manache Shlok) \ud83c\udfa7 \u092f\u0947\u0925\u0947 \u092d\u091c\u0928\u0947 \u0935 \u0917\u0935\u0933\u0923\u0940 \u0910\u0915\u093e (Audio&hellip;","_links":{"self":[{"href":"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/wp-json\/wp\/v2\/pages\/12","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/wp-json\/wp\/v2\/comments?post=12"}],"version-history":[{"count":201,"href":"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/wp-json\/wp\/v2\/pages\/12\/revisions"}],"predecessor-version":[{"id":1557,"href":"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/wp-json\/wp\/v2\/pages\/12\/revisions\/1557"}],"wp:attachment":[{"href":"https:\/\/raigadexplore.in\/Bhajan_Sangrah\/wp-json\/wp\/v2\/media?parent=12"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}