{"id":927,"date":"2026-04-16T13:31:18","date_gmt":"2026-04-16T05:31:18","guid":{"rendered":"https:\/\/gerliinerin.mn\/?page_id=927"},"modified":"2026-05-28T12:28:39","modified_gmt":"2026-05-28T04:28:39","slug":"book","status":"publish","type":"page","link":"https:\/\/gerliinerin.mn\/en\/book\/","title":{"rendered":"Book"},"content":{"rendered":"<script data-wp-block-html=\"js\">\n(function () {\n  'use strict';\n\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', boot);\n  } else {\n    boot();\n  }\n\n  function boot() {\n\n    \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 STAR CANVAS \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n    (function () {\n      var cv = document.getElementById('bk-canvas');\n      if (!cv) return;\n      var cx = cv.getContext('2d');\n      var W, H, stars = [];\n\n      function resize() {\n        W = cv.width  = window.innerWidth;\n        H = cv.height = window.innerHeight;\n      }\n      function makeStars() {\n        stars = [];\n        for (var i = 0; i < 240; i++) {\n          stars.push({\n            x:    Math.random() * W,\n            y:    Math.random() * H,\n            r:    Math.random() * 1.6 + 0.3,\n            a:    Math.random() * 0.8 + 0.4,\n            sp:   Math.random() * 0.3 + 0.08,\n            ph:   Math.random() * Math.PI * 2,\n            gold: Math.random() < 0.08\n          });\n        }\n      }\n      function draw(t) {\n        cx.clearRect(0, 0, W, H);\n        var time = (t || 0) * 0.001;\n        for (var i = 0; i < stars.length; i++) {\n          var s = stars[i];\n          var alpha = s.a * (0.4 + 0.6 * Math.sin(time * s.sp + s.ph));\n          cx.beginPath();\n          cx.arc(s.x, s.y, s.r, 0, Math.PI * 2);\n          cx.fillStyle = s.gold\n            ? 'rgba(184,146,58,' + alpha + ')'\n            : 'rgba(255,255,255,' + alpha + ')';\n          cx.fill();\n        }\n        requestAnimationFrame(draw);\n      }\n      window.addEventListener('resize', function () { resize(); makeStars(); });\n      resize(); makeStars(); requestAnimationFrame(draw);\n    })();\n\n\n    \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 BOOKS DATA \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n    var BOOKS = [\n      { id: 1, cat: 'meditation',\n        mn: { title: '\u0414\u043e\u0442\u043e\u043e\u0434\u044b\u043d \u043c\u04e9\u043d \u0447\u0430\u043d\u0430\u0440', author: '\u0411.\u0413\u0430\u043d\u0437\u043e\u0440\u0438\u0433', cat: '\u041c\u0435\u0434\u0438\u0442\u0430\u0446\u0438', bklang: '\u041c\u043e\u043d\u0433\u043e\u043b',\n              desc: '\u0416\u0438\u043d\u0445\u044d\u043d\u044d \u043c\u04e9\u043d \u0447\u0430\u043d\u0430\u0440\u0430\u0430 \u043d\u044d\u044d\u043d \u0438\u043b\u0440\u04af\u04af\u043b\u044d\u0445 \u043f\u0440\u0430\u043a\u0442\u0438\u043a \u0433\u0430\u0440\u044b\u043d \u0430\u0432\u043b\u0430\u0433\u0430. \u04e8\u04e9\u0440\u0438\u0439\u0433\u04e9\u04e9 \u0442\u0430\u043d\u0438\u043d \u043c\u044d\u0434\u044d\u0445, \u0434\u043e\u0442\u043e\u043e\u0434 \u0442\u0430\u0439\u0432\u0430\u043d \u0431\u0430\u0439\u0434\u0430\u043b\u0434 \u0445\u04af\u0440\u044d\u0445 \u0437\u0430\u043c\u044b\u0433 \u0430\u043b\u0445\u0430\u043c \u0430\u043b\u0445\u043c\u0430\u0430\u0440 \u0442\u0430\u0439\u043b\u0431\u0430\u0440\u043b\u0430\u0441\u0430\u043d.' },\n        en: { title: 'The Essence Within', author: 'B.Ganz\u00f6rig', cat: 'Meditation', bklang: 'Mongolian',\n              desc: 'A practical guide to discovering your true nature. Step-by-step path to self-knowledge and inner peace.' },\n        cover: 'https:\/\/images.unsplash.com\/photo-1544947950-fa07a98d237f?w=400&#038;q=80',\n        color: 'linear-gradient(135deg,#12082e,#0a1540)', price: 35000, year: '2023', pages: 248 },\n\n      { id: 2, cat: 'philosophy',\n        mn: { title: '\u0414\u0430\u043e \u0414\u044d \u0416\u0438\u043d\u0433', author: '\u041b\u0430\u043e \u0426\u0437\u044b', cat: '\u0413\u04af\u043d \u0443\u0445\u0430\u0430\u043d', bklang: '\u041c\u043e\u043d\u0433\u043e\u043b',\n              desc: '\u042d\u0440\u0442\u043d\u0438\u0439 \u0445\u044f\u0442\u0430\u0434\u044b\u043d \u043c\u044d\u0440\u0433\u044d\u043d \u0443\u0445\u0430\u0430\u043d\u044b \u0441\u0443\u0443\u0440\u044c \u0431\u04af\u0442\u044d\u044d\u043b. \u041e\u0440\u0447\u0438\u043d \u04af\u0435\u0438\u0439\u043d \u043e\u0440\u0447\u0443\u0443\u043b\u0433\u0430, \u0434\u044d\u043b\u0433\u044d\u0440\u044d\u043d\u0433\u04af\u0439 \u0442\u0430\u0439\u043b\u0431\u0430\u0440\u0442\u0430\u0439.' },\n        en: { title: 'Tao Te Ching', author: 'Lao Tzu', cat: 'Philosophy', bklang: 'Mongolian',\n              desc: 'A foundational work of ancient Chinese wisdom. Modern translation with detailed commentary.' },\n        cover: 'https:\/\/images.unsplash.com\/photo-1589998059171-988d887df646?w=400&#038;q=80',\n        color: 'linear-gradient(135deg,#0a2215,#163208)', price: 42000, year: '2024', pages: 320 },\n\n      { id: 3, cat: 'practice',\n        mn: { title: '\u04e8\u0434\u04e9\u0440 \u0442\u0443\u0442\u043c\u044b\u043d \u0434\u0430\u0434\u043b\u0430\u0433\u0430', author: '\u0414.\u041e\u044e\u0443\u043d\u0446\u044d\u0446\u044d\u0433', cat: '\u0414\u0430\u0434\u043b\u0430\u0433\u0430', bklang: '\u041c\u043e\u043d\u0433\u043e\u043b',\n              desc: '21 \u0445\u043e\u043d\u043e\u0433\u0442 \u04e9\u04e9\u0440\u0447\u043b\u04e9\u043b\u0442 \u0430\u0432\u0447\u0440\u0430\u0445 \u04e9\u0434\u04e9\u0440 \u0442\u0443\u0442\u043c\u044b\u043d \u0434\u0430\u0441\u0433\u0430\u043b, \u043c\u0435\u0434\u0438\u0442\u0430\u0446\u0438, \u0442\u0443\u043d\u0433\u0430\u0430\u043b\u0433\u0430. \u0428\u0438\u043d\u044d\u0445\u044d\u043d \u0441\u0443\u0440\u0430\u043b\u0446\u0430\u0433\u0447\u0434\u0430\u0434 \u0437\u043e\u0440\u0438\u0443\u043b\u0441\u0430\u043d.' },\n        en: { title: 'Daily Practice', author: 'D.Oyuntsetseg', cat: 'Practice', bklang: 'Mongolian',\n              desc: 'Daily exercises, meditations, and reflections to bring change in 21 days. For beginners.' },\n        cover: 'https:\/\/images.unsplash.com\/photo-1507842217343-583bb7270b66?w=400&#038;q=80',\n        color: 'linear-gradient(135deg,#24140a,#3a2208)', price: 28000, year: '2024', pages: 184 },\n\n      { id: 4, cat: 'biography',\n        mn: { title: '\u0411\u0443\u0434\u0434\u0430 \u0413\u0430\u0443\u0442\u0430\u043c\u044b\u043d \u0437\u0430\u043c', author: '\u0421.\u0414\u044d\u043b\u0433\u044d\u0440\u043c\u0430\u0430', cat: '\u041d\u0430\u043c\u0442\u0430\u0440', bklang: '\u041c\u043e\u043d\u0433\u043e\u043b',\n              desc: '\u0413\u044d\u0433\u044d\u044d\u0440\u043b\u0438\u0439\u043d \u0437\u0430\u043c\u044b\u0433 \u043e\u043b\u0441\u043e\u043d \u0411\u0443\u0434\u0434\u0430 \u0421\u0438\u0434\u0445\u0430\u0440\u0442\u0445\u0430 \u0413\u0430\u0443\u0442\u0430\u043c\u044b\u043d \u0430\u043c\u044c\u0434\u0440\u0430\u043b, \u0441\u0443\u0440\u0433\u0430\u0430\u043b\u044b\u043d \u0434\u044d\u043b\u0433\u044d\u0440\u044d\u043d\u0433\u04af\u0439 \u043d\u0430\u043c\u0442\u0430\u0440.' },\n        en: { title: 'Path of Gautama', author: 'S.Delgermaa', cat: 'Biography', bklang: 'Mongolian',\n              desc: 'Detailed biography of Siddhartha Gautama and his teachings on the path of enlightenment.' },\n        cover: 'https:\/\/images.unsplash.com\/photo-1532012197267-da84d127e765?w=400&#038;q=80',\n        color: 'linear-gradient(135deg,#220808,#380e0e)', price: 48000, year: '2023', pages: 412 },\n\n      { id: 5, cat: 'meditation',\n        mn: { title: '\u0410\u043c\u044c\u0441\u0433\u0430\u043b \u0431\u0430 \u0423\u0445\u0430\u043c\u0441\u0430\u0440', author: '\u041e.\u041c\u04e9\u043d\u0445\u0437\u0443\u043b', cat: '\u041c\u0435\u0434\u0438\u0442\u0430\u0446\u0438', bklang: '\u041c\u043e\u043d\u0433\u043e\u043b',\n              desc: '\u0410\u043c\u044c\u0441\u0433\u0430\u043b\u044b\u043d \u0434\u0430\u0441\u0433\u0430\u043b\u0430\u0430\u0440 \u0443\u0445\u0430\u043c\u0441\u0430\u0440\u0430\u0430 \u0441\u044d\u0440\u044d\u044d\u0445, \u043e\u044e\u0443\u043d \u0441\u0430\u043d\u0430\u0430\u0433 \u0442\u043e\u0433\u0442\u043c\u043e\u043b \u0431\u0430\u0439\u043b\u0433\u0430\u0445 \u0442\u0435\u0445\u043d\u0438\u043a.' },\n        en: { title: 'Breath &#038; Awareness', author: 'O.Munkhzul', cat: 'Meditation', bklang: 'Mongolian',\n              desc: 'Techniques to awaken awareness and stabilize the mind through breathing exercises.' },\n        cover: 'https:\/\/images.unsplash.com\/photo-1506905925346-21bda4d32df4?w=400&#038;q=80',\n        color: 'linear-gradient(135deg,#081630,#102240)', price: 32000, year: '2024', pages: 196 },\n\n      { id: 6, cat: 'philosophy',\n        mn: { title: '\u042d\u0440\u0442\u043d\u0438\u0439 \u043c\u044d\u0440\u0433\u044d\u043d \u0443\u0445\u0430\u0430\u043d', author: '\u0427.\u042d\u0440\u0434\u044d\u043d\u044d\u0441\u04af\u0440\u044d\u043d', cat: '\u0413\u04af\u043d \u0443\u0445\u0430\u0430\u043d', bklang: '\u041c\u043e\u043d\u0433\u043e\u043b',\n              desc: '\u0414\u043e\u0440\u043d\u043e \u0434\u0430\u0445\u0438\u043d\u044b \u0444\u0438\u043b\u043e\u0441\u043e\u0444\u0438\u0447\u0434\u044b\u043d \u0445\u0443\u0432\u044c \u0445\u04af\u043d\u0438\u0439 \u04e9\u0441\u04e9\u043b\u0442, \u0433\u044d\u0433\u044d\u044d\u0440\u043b\u0438\u0439\u043d \u0442\u0430\u043b\u0430\u0430\u0440\u0445 \u0441\u0443\u0440\u0433\u0430\u0430\u043b\u044b\u043d \u0446\u0443\u0433\u043b\u0443\u0443\u043b\u0433\u0430.' },\n        en: { title: 'Ancient Wisdom', author: 'Ch.Erdenes\u00fcren', cat: 'Philosophy', bklang: 'Mongolian',\n              desc: 'Eastern philosophers on personal growth and enlightenment \u2014 a curated collection.' },\n        cover: 'https:\/\/images.unsplash.com\/photo-1497633762265-9d179a990aa6?w=400&#038;q=80',\n        color: 'linear-gradient(135deg,#180a28,#261535)', price: 38000, year: '2023', pages: 276 },\n\n      { id: 7, cat: 'practice',\n        mn: { title: '\u0427\u0438\u043c\u044d\u044d\u0433\u04af\u0439 \u0431\u0430\u0439\u0434\u043b\u044b\u043d \u0434\u044d\u0432\u0442\u044d\u0440', author: '\u0411.\u0413\u0430\u043d\u0437\u043e\u0440\u0438\u0433', cat: '\u0414\u0430\u0434\u043b\u0430\u0433\u0430', bklang: '\u041c\u043e\u043d\u0433\u043e\u043b',\n              desc: '\u04e8\u0434\u04e9\u0440 \u0442\u0443\u0442\u043c\u044b\u043d \u0442\u0443\u043d\u0433\u0430\u0430\u043b\u0433\u044b\u043d \u0434\u0430\u0441\u0433\u0430\u043b \u0434\u044d\u0432\u0442\u044d\u0440. \u0411\u0438\u0447\u0438\u0445 \u043e\u0440\u043e\u043d \u0437\u0430\u0439\u0442\u0430\u0439 \u0436\u0438\u043b\u0438\u0439\u043d \u0434\u044d\u0432\u0442\u044d\u0440.' },\n        en: { title: 'The Stillness Journal', author: 'B.Ganz\u00f6rig', cat: 'Practice', bklang: 'Mongolian',\n              desc: 'Daily reflection workbook with writing space. A full-year journal for inner peace.' },\n        cover: 'https:\/\/images.unsplash.com\/photo-1455390582262-044cdead277a?w=400&#038;q=80',\n        color: 'linear-gradient(135deg,#082220,#0c3228)', price: 25000, year: '2025', pages: 365 },\n\n      { id: 8, cat: 'biography',\n        mn: { title: '\u0418\u0445 \u0431\u0430\u0433\u0448 \u043d\u0430\u0440\u044b\u043d \u0437\u0430\u043c\u043d\u0430\u043b', author: '\u041e\u043b\u043e\u043d \u0437\u043e\u0445\u0438\u043e\u0433\u0447', cat: '\u041d\u0430\u043c\u0442\u0430\u0440', bklang: '\u041c\u043e\u043d\u0433\u043e\u043b',\n              desc: '\u0414\u044d\u043b\u0445\u0438\u0439\u043d \u0430\u043b\u0434\u0430\u0440\u0442\u0430\u0439 \u043e\u044e\u0443\u043d \u0441\u0430\u043d\u0430\u0430\u043d\u044b \u0431\u0430\u0433\u0448 \u043d\u0430\u0440\u044b\u043d \u0430\u043c\u044c\u0434\u0440\u0430\u043b, \u0441\u0443\u0440\u0433\u0430\u0430\u043b. 12 \u0431\u0430\u0433\u0448.' },\n        en: { title: 'Path of Great Masters', author: 'Various authors', cat: 'Biography', bklang: 'Mongolian',\n              desc: 'Lives and teachings of 12 world-renowned spiritual masters in one volume.' },\n        cover: 'https:\/\/images.unsplash.com\/photo-1519682337058-a94d519337bc?w=400&#038;q=80',\n        color: 'linear-gradient(135deg,#22160a,#381e08)', price: 55000, year: '2024', pages: 488 }\n    ];\n\n    \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 STATE \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n    var S = { lang: 'mn', filter: 'all', query: '', cart: {} };\n    try {\n      S.lang = localStorage.getItem('bk_lang') || 'mn';\n      var sc = localStorage.getItem('bk_cart');\n      if (sc) S.cart = JSON.parse(sc) || {};\n    } catch (e) {}\n\n    \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 HELPERS \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n    function $(id) { return document.getElementById(id); }\n    function $a(s) { return document.querySelectorAll(s); }\n    function esc(s) {\n      return String(s).replace(\/&#038;\/g,'&amp;').replace(\/<\/g,'&lt;')\n        .replace(\/>\/g,'&gt;').replace(\/\"\/g,'&quot;');\n    }\n    function fmt(n) { return String(n).replace(\/\\B(?=(\\d{3})+(?!\\d))\/g,',') + '\u20ae'; }\n    function find(id) {\n      for (var i = 0; i < BOOKS.length; i++) if (BOOKS[i].id === id) return BOOKS[i];\n      return null;\n    }\n    function cnt() {\n      var n = 0;\n      for (var k in S.cart) if (Object.prototype.hasOwnProperty.call(S.cart, k)) n += S.cart[k];\n      return n;\n    }\n    function total() {\n      var t = 0;\n      for (var k in S.cart) {\n        if (!Object.prototype.hasOwnProperty.call(S.cart, k)) continue;\n        var b = find(parseInt(k, 10));\n        if (b) t += b.price * S.cart[k];\n      }\n      return t;\n    }\n    function saveCart() { try { localStorage.setItem('bk_cart', JSON.stringify(S.cart)); } catch (e) {} }\n    function filtered() {\n      var q = S.query.toLowerCase().trim();\n      return BOOKS.filter(function (b) {\n        if (S.filter !== 'all' &#038;&#038; b.cat !== S.filter) return false;\n        if (!q) return true;\n        var i = b[S.lang];\n        return i.title.toLowerCase().indexOf(q) > -1 || i.author.toLowerCase().indexOf(q) > -1;\n      });\n    }\n\n    \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 TOAST \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n    function toast(msg) {\n      var t = $('bk-toast'); if (!t) return;\n      t.textContent = msg; t.classList.add('show');\n      clearTimeout(t._t);\n      t._t = setTimeout(function () { t.classList.remove('show'); }, 2400);\n    }\n\n    \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 LANGUAGE \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n    function applyLang() {\n      $a('.book-page [data-mn],.book-page [data-en]').forEach(function (el) {\n        var txt = el.getAttribute('data-' + S.lang);\n        if (txt !== null) el.textContent = txt;\n      });\n      $a('.book-page [data-ph-mn]').forEach(function (el) {\n        el.placeholder = S.lang === 'mn' ? el.getAttribute('data-ph-mn') : el.getAttribute('data-ph-en');\n      });\n      $a('.book-page .bk-lang-btn').forEach(function (b) {\n        b.classList.toggle('active', b.getAttribute('data-lang') === S.lang);\n      });\n      try { localStorage.setItem('bk_lang', S.lang); } catch (e) {}\n      renderGrid();\n      renderCartUI();\n    }\n\n    \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 RENDER GRID \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n    function renderGrid() {\n      var grid = $('bk-grid'); if (!grid) return;\n      var list = filtered();\n      if (!list.length) {\n        grid.innerHTML = '<div class=\"bk-no-results\">' +\n          (S.lang === 'mn' ? '\u041d\u043e\u043c \u043e\u043b\u0434\u0441\u043e\u043d\u0433\u04af\u0439...' : 'No books found...') + '<\/div>';\n        return;\n      }\n      grid.innerHTML = '';\n      list.forEach(function (b, i) {\n        var info = b[S.lang];\n        var card = document.createElement('div');\n        card.className = 'bk-book-card';\n        card.style.animationDelay = (i * 0.06) + 's';\n        card.setAttribute('data-id', b.id);\n        card.innerHTML =\n          '<div class=\"bk-book-3d\">' +\n            '<div class=\"bk-book-spine\"><\/div>' +\n            '<div class=\"bk-book-cover\" style=\"background:' + b.color + '\">' +\n              '<img decoding=\"async\" class=\"bk-cover-img\" src=\"' + b.cover + '\" alt=\"' + esc(info.title) + '\" loading=\"lazy\">' +\n              '<div class=\"bk-cover-grad\"><\/div>' +\n              '<div class=\"bk-cover-shine\"><\/div>' +\n              '<div class=\"bk-cover-text\">' +\n                '<span class=\"bk-cover-cat\">' + esc(info.cat) + '<\/span>' +\n                '<h3 class=\"bk-cover-title\">' + esc(info.title) + '<\/h3>' +\n                '<p class=\"bk-cover-author\">' + esc(info.author) + '<\/p>' +\n              '<\/div>' +\n            '<\/div>' +\n          '<\/div>' +\n          '<div class=\"bk-book-meta\">' +\n            '<span class=\"bk-book-price\">' + fmt(b.price) + '<\/span>' +\n            '<button type=\"button\" class=\"bk-book-add\" data-add=\"' + b.id + '\">' +\n              (S.lang === 'mn' ? '+ \u0421\u0430\u0433\u0441' : '+ Add') +\n            '<\/button>' +\n          '<\/div>';\n\n        card.addEventListener('click', function (e) {\n          if (e.target.closest('[data-add]')) return;\n          openModal(b.id);\n        });\n        grid.appendChild(card);\n      });\n\n      grid.querySelectorAll('[data-add]').forEach(function (btn) {\n        btn.addEventListener('click', function (e) {\n          e.stopPropagation();\n          addToCart(parseInt(btn.getAttribute('data-add'), 10));\n        });\n      });\n    }\n\n    \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 MODAL \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n    function openModal(id) {\n      var b = find(id); if (!b) return;\n      var info = b[S.lang];\n\n      var cover = $('bk-modal-cover');\n      cover.style.background = b.color;\n      var oldImg = cover.querySelector('img');         if (oldImg)  oldImg.remove();\n      var oldGrad = cover.querySelector('.bk-mcov-grad'); if (oldGrad) oldGrad.remove();\n\n      var img = document.createElement('img');\n      img.style.cssText = 'position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.62;display:block;';\n      img.src = b.cover; img.alt = esc(info.title);\n      cover.insertBefore(img, cover.firstChild);\n\n      var grad = document.createElement('div');\n      grad.className = 'bk-mcov-grad';\n      grad.style.cssText = 'position:absolute;inset:0;z-index:1;background:linear-gradient(175deg,rgba(0,0,0,.06) 0%,rgba(0,0,0,.3) 40%,rgba(0,0,0,.82) 100%);';\n      cover.insertBefore(grad, $('bk-modal-cover-overlay'));\n\n      var ol = $('bk-modal-cover-overlay');\n      ol.innerHTML =\n        '<span style=\"font-family:var(--ge-f-mono);font-size:.52rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ge-gold-2);opacity:.9;display:block;\">' + esc(info.cat) + '<\/span>' +\n        '<h3 style=\"font-family:var(--ge-f-title);font-size:.9rem;font-weight:700;color:#fff;margin:0 0 .25rem;line-height:1.25;text-shadow:0 1px 10px rgba(0,0,0,.8);\">' + esc(info.title) + '<\/h3>' +\n        '<p style=\"font-family:var(--ge-f-title);font-style:italic;font-size:.68rem;color:rgba(240,204,128,.9);margin:0;\">' + esc(info.author) + '<\/p>';\n\n      $('bk-modal-cat').textContent    = info.cat;\n      $('bk-modal-title').textContent  = info.title;\n      $('bk-modal-author').textContent = info.author;\n      $('bk-modal-year').textContent   = b.year;\n      $('bk-modal-pages').textContent  = b.pages + (S.lang === 'mn' ? ' \u0445\u0443\u0443\u0434\u0430\u0441' : ' pages');\n      $('bk-modal-bklang').textContent = info.bklang;\n      $('bk-modal-desc').textContent   = info.desc;\n      $('bk-modal-price').textContent  = fmt(b.price);\n      $('bk-modal-add').setAttribute('data-id', id);\n\n      $('bk-modal').classList.add('active');\n      document.body.style.overflow = 'hidden';\n    }\n    function closeModal() {\n      $('bk-modal').classList.remove('active');\n      document.body.style.overflow = '';\n    }\n\n    \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 CART \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n    function addToCart(id) {\n      var b = find(id); if (!b) return;\n      S.cart[id] = (S.cart[id] || 0) + 1;\n      saveCart(); renderCartUI();\n      toast('\ud83d\uded2 ' + b[S.lang].title);\n    }\n    function changeQty(id, d) {\n      if (!S.cart[id]) return;\n      S.cart[id] += d;\n      if (S.cart[id] <= 0) delete S.cart[id];\n      saveCart(); renderCartUI();\n    }\n    function removeFromCart(id) { delete S.cart[id]; saveCart(); renderCartUI(); }\n    function openCart()  { $('bk-cart-drawer').classList.add('active'); document.body.style.overflow = 'hidden'; }\n    function closeCart() { $('bk-cart-drawer').classList.remove('active'); document.body.style.overflow = ''; }\n\n    function renderCartUI() {\n      $('bk-cart-count').textContent = cnt();\n      $('bk-cart-total').textContent = fmt(total());\n      var body = $('bk-cart-body'); if (!body) return;\n      var keys = Object.keys(S.cart);\n      if (!keys.length) {\n        body.innerHTML = '<div class=\"bk-cart-empty\">' +\n          (S.lang === 'mn' ? '\u0421\u0430\u0433\u0441 \u0445\u043e\u043e\u0441\u043e\u043d \u0431\u0430\u0439\u043d\u0430...' : 'Your cart is empty...') + '<\/div>';\n        return;\n      }\n      body.innerHTML = '';\n      keys.forEach(function (id) {\n        var b = find(parseInt(id, 10)); if (!b) return;\n        var info = b[S.lang]; var qty = S.cart[id];\n        var row = document.createElement('div');\n        row.className = 'bk-cart-item';\n        row.innerHTML =\n          '<div class=\"bk-cart-item-cover\" style=\"background-image:url(' + b.cover + ');\"><\/div>' +\n          '<div class=\"bk-cart-item-info\">' +\n            '<h4 class=\"bk-cart-item-title\">' + esc(info.title) + '<\/h4>' +\n            '<p class=\"bk-cart-item-author\">' + esc(info.author) + '<\/p>' +\n            '<span class=\"bk-cart-item-price\">' + fmt(b.price * qty) + '<\/span>' +\n            '<div class=\"bk-cart-qty\">' +\n              '<button type=\"button\" class=\"bk-cart-qty-btn\" data-minus=\"' + id + '\">\u2212<\/button>' +\n              '<span class=\"bk-cart-qty-val\">' + qty + '<\/span>' +\n              '<button type=\"button\" class=\"bk-cart-qty-btn\" data-plus=\"' + id + '\">+<\/button>' +\n            '<\/div>' +\n          '<\/div>' +\n          '<button type=\"button\" class=\"bk-cart-item-remove\" data-rm=\"' + id + '\">\u00d7<\/button>';\n        body.appendChild(row);\n      });\n      body.querySelectorAll('[data-minus]').forEach(function (b) {\n        b.addEventListener('click', function () { changeQty(parseInt(b.getAttribute('data-minus'), 10), -1); });\n      });\n      body.querySelectorAll('[data-plus]').forEach(function (b) {\n        b.addEventListener('click', function () { changeQty(parseInt(b.getAttribute('data-plus'), 10), 1); });\n      });\n      body.querySelectorAll('[data-rm]').forEach(function (b) {\n        b.addEventListener('click', function () { removeFromCart(parseInt(b.getAttribute('data-rm'), 10)); });\n      });\n    }\n\n    \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 EVENTS \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n    $('bk-search').addEventListener('input', function () { S.query = this.value; renderGrid(); });\n\n    $a('.book-page .bk-filt').forEach(function (btn) {\n      btn.addEventListener('click', function () {\n        $a('.book-page .bk-filt').forEach(function (b) { b.classList.remove('active'); });\n        btn.classList.add('active');\n        S.filter = btn.getAttribute('data-cat');\n        renderGrid();\n      });\n    });\n\n    $a('.book-page .bk-lang-btn').forEach(function (btn) {\n      btn.addEventListener('click', function () { S.lang = btn.getAttribute('data-lang'); applyLang(); });\n    });\n\n    $('bk-cart-btn').addEventListener('click',     openCart);\n    $('bk-cart-close').addEventListener('click',   closeCart);\n    $('bk-cart-overlay').addEventListener('click', closeCart);\n    $('bk-modal-close').addEventListener('click',  closeModal);\n    $('bk-modal-overlay').addEventListener('click',closeModal);\n    $('bk-modal-add').addEventListener('click', function () {\n      addToCart(parseInt(this.getAttribute('data-id'), 10));\n    });\n\n    $('bk-checkout').addEventListener('click', function () {\n      if (!cnt()) { toast(S.lang === 'mn' ? '\u0421\u0430\u0433\u0441 \u0445\u043e\u043e\u0441\u043e\u043d \u0431\u0430\u0439\u043d\u0430' : 'Cart is empty'); return; }\n      toast(S.lang === 'mn' ? '\u2726 \u0417\u0430\u0445\u0438\u0430\u043b\u0433\u0430 \u0438\u043b\u0433\u044d\u044d\u0433\u0434\u043b\u044d\u044d!' : '\u2726 Order sent!');\n      S.cart = {}; saveCart(); renderCartUI(); closeCart();\n    });\n\n    document.addEventListener('keydown', function (e) {\n      if (e.key !== 'Escape') return;\n      if ($('bk-modal').classList.contains('active')) closeModal();\n      else if ($('bk-cart-drawer').classList.contains('active')) closeCart();\n    });\n\n    \/* CRITICAL: render data immediately *\/\n    renderGrid();\n    renderCartUI();\n    applyLang();\n\n    console.log('%c\u2726 \u0413\u044d\u0440\u043b\u0438\u0439\u043d \u042d\u0440\u0438\u043d \u0422\u04e9\u0432 \u2726%c Bookstore loaded',\n      'color:#f0cc80;font-style:italic;font-size:13px;', 'color:#888;');\n  }\n})();\n<\/script>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     \u0413\u042d\u0420\u041b\u0418\u0419\u041d \u042d\u0420\u0418\u041d \u0422\u04e8\u0412 \u2014 Book Page (Video Library style)\n     SETUP:\n     1. Page Attributes \u2192 CSS Class: book-page\n     2. Custom HTML block \u2192 paste this entire file\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<style id=\"bk-wp-cleanup-v3\">\n\/* WP-WPAUTOP-CLEANUP-V3 + global CSS conflict resolution + UPGRADES *\/\n.book-page br { display: none !important; }\n.book-page > p:empty,\n.book-page p:empty:not(.bk-keep):not([class*=\"bk-\"]) { display: none !important; }\n.book-page .bk-root > p:not([class]):not([id]),\n.book-page .bk-grid > p:not([class]):not([id]),\n.book-page .bk-section > p:not([class]):not([id]),\n.book-page .bk-section-head > p:not([class]):not([id]),\n.book-page .bk-header > p:not([class]):not([id]),\n.book-page .bk-content > p:not([class]):not([id]) { display: none !important; }\n\/* Fix cards stuck at opacity 0 \u2014 global CSS conflict *\/\n.book-page .bk-grid .bk-book-card,\n.book-page .bk-book-card { opacity: 1 !important; }\n\/* Constrain section head to grid width *\/\n.book-page .bk-section-head {\n  max-width: 1280px !important;\n  margin-left: auto !important;\n  margin-right: auto !important;\n  padding-left: 2rem !important;\n  padding-right: 2rem !important;\n  box-sizing: border-box !important;\n}\n\/* Cart button position + size override *\/\n.book-page .bk-header { position: relative !important; }\n.book-page .bk-cart-btn,\n.book-page #bk-cart-btn {\n  position: absolute !important;\n  top: 0 !important;\n  right: 0 !important;\n  left: auto !important;\n  width: auto !important;\n  min-width: 0 !important;\n  max-width: 200px !important;\n  z-index: 60 !important;\n  transition: all .25s ease !important;\n}\n.book-page .bk-cart-btn:hover,\n.book-page #bk-cart-btn:hover {\n  background: rgba(184,146,58,.18) !important;\n  border-color: rgba(184,146,58,.5) !important;\n  transform: translateY(-2px) !important;\n}\n\/* UPGRADE 1: Center grid when few items \u2014 fills space gracefully *\/\n.book-page .bk-grid {\n  justify-content: center !important;\n  justify-items: center !important;\n}\n.book-page .bk-grid .bk-book-card {\n  width: 100%;\n  max-width: 260px;\n}\n\/* UPGRADE 2: Stagger animation delays so cards animate in sequence *\/\n.book-page .bk-grid .bk-book-card:nth-child(1) { animation-delay: 0s !important; }\n.book-page .bk-grid .bk-book-card:nth-child(2) { animation-delay: .08s !important; }\n.book-page .bk-grid .bk-book-card:nth-child(3) { animation-delay: .16s !important; }\n.book-page .bk-grid .bk-book-card:nth-child(4) { animation-delay: .24s !important; }\n.book-page .bk-grid .bk-book-card:nth-child(5) { animation-delay: .32s !important; }\n.book-page .bk-grid .bk-book-card:nth-child(6) { animation-delay: .40s !important; }\n\/* UPGRADE 3: Polished card hover \u2014 lifts and glows *\/\n.book-page .bk-book-card {\n  transition: transform .35s cubic-bezier(.16,1,.3,1), filter .35s ease !important;\n}\n.book-page .bk-book-card:hover {\n  transform: translateY(-6px) !important;\n  filter: drop-shadow(0 12px 28px rgba(184,146,58,.22));\n}\n\/* UPGRADE 4: Price + add-to-cart row spacing *\/\n.book-page .bk-book-card .bk-price {\n  font-weight: 600;\n  letter-spacing: .02em;\n}\n\/* UPGRADE 5: Smooth scroll for category pill clicks *\/\nhtml { scroll-behavior: smooth; }\n\/* UPGRADE 6: First book in each section gets a subtle \"featured\" glow *\/\n.book-page .bk-grid .bk-book-card:first-child .bk-book-3d {\n  filter: drop-shadow(0 14px 28px rgba(184,146,58,.32)) drop-shadow(0 0 18px rgba(240,204,128,.08));\n}\n\/* Mobile improvements *\/\n@media (max-width: 768px) {\n  .book-page .bk-cart-btn,\n  .book-page #bk-cart-btn {\n    position: relative !important;\n    margin: 0 auto 16px !important;\n    display: inline-flex !important;\n  }\n  .book-page .bk-section-head {\n    padding-left: 1rem !important;\n    padding-right: 1rem !important;\n    flex-direction: column !important;\n    align-items: center !important;\n    text-align: center !important;\n  }\n  .book-page .bk-grid {\n    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)) !important;\n    gap: 32px 16px !important;\n    padding: 1rem 1rem 4rem !important;\n  }\n}\n<\/style>\n<!-- WordPress fullwidth fix -->\n<style id=\"bk-fullwidth-fix\">\n  .book-page {\n    width: 100vw !important;\n    margin-left: calc(-50vw + 50%) !important;\n    margin-right: calc(-50vw + 50%) !important;\n    max-width: 100vw !important;\n    padding: 0 !important;\n    overflow-x: hidden;\n  }\n  .book-page .wp-block-group,\n  .book-page .entry-content,\n  .book-page .wp-block-post-content {\n    max-width: 100% !important;\n    padding: 0 !important;\n  }\n<\/style>\n<div class=\"book-page\">\n  <div class=\"bk-root\" id=\"bk-root\">\n    <canvas id=\"bk-canvas\"><\/canvas>\n    <div id=\"bk-sacred\" aria-hidden=\"true\">\n      <svg viewBox=\"0 0 800 800\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n        <g stroke=\"#b8923a\" stroke-width=\"0.55\" transform=\"translate(400,400)\">\n          <circle r=\"133\"><\/circle><circle cx=\"133\" cy=\"0\" r=\"133\"><\/circle>\n          <circle cx=\"-133\" cy=\"0\" r=\"133\"><\/circle>\n          <circle cx=\"66.5\" cy=\"115.2\" r=\"133\"><\/circle>\n          <circle cx=\"-66.5\" cy=\"115.2\" r=\"133\"><\/circle>\n          <circle cx=\"66.5\" cy=\"-115.2\" r=\"133\"><\/circle>\n          <circle cx=\"-66.5\" cy=\"-115.2\" r=\"133\"><\/circle>\n          <circle r=\"266\"><\/circle><circle r=\"380\"><\/circle>\n        <\/g>\n      <\/svg>\n    <\/div>\n    <div id=\"bk-toast\" role=\"status\"><\/div>\n    <!-- HERO with cart button -->\n    <header class=\"bk-header\">\n      <button type=\"button\" class=\"bk-cart-btn\" id=\"bk-cart-btn\" aria-label=\"\u0421\u0430\u0433\u0441\">\n        \ud83d\uded2\n        <span class=\"bk-cart-count\" id=\"bk-cart-count\">0<\/span>\n      <\/button>\n      <div class=\"bk-eyebrow\" data-mn=\"\u2726 \u041c\u042d\u0420\u0413\u042d\u041d \u0423\u0425\u0410\u0410\u041d\u042b \u0425\u041e\u041b\u0411\u041e\u041e\u0421 \u2726\" data-en=\"\u2726 CONNECTION TO WISDOM \u2726\">\n        \u2726 \u041c\u042d\u0420\u0413\u042d\u041d \u0423\u0425\u0410\u0410\u041d\u042b \u0425\u041e\u041b\u0411\u041e\u041e\u0421 \u2726\n      <\/div>\n      <h1 class=\"bk-h1\" data-mn=\"\ud83d\udcd6 \u041d\u043e\u043c\u044b\u043d \u0414\u044d\u043b\u0433\u04af\u04af\u0440\" data-en=\"\ud83d\udcd6 Bookstore\">\ud83d\udcd6 \u041d\u043e\u043c\u044b\u043d \u0414\u044d\u043b\u0433\u04af\u04af\u0440<\/h1>\n      <p class=\"bk-subtitle\" data-mn=\"\u0414\u043e\u0442\u043e\u043e\u0434 \u0433\u044d\u0440\u043b\u044d\u044d \u0441\u044d\u0440\u044d\u044d\u0445 \u043d\u043e\u043c\u043d\u0443\u0443\u0434\" data-en=\"Books to awaken your inner light\">\n        \u0414\u043e\u0442\u043e\u043e\u0434 \u0433\u044d\u0440\u043b\u044d\u044d \u0441\u044d\u0440\u044d\u044d\u0445 \u043d\u043e\u043c\u043d\u0443\u0443\u0434\n      <\/p>\n    <\/header>\n    <!-- SEARCH -->\n    <div class=\"bk-toolbar\">\n      <div class=\"bk-search-wrap\">\n        <span class=\"bk-search-icon\">\ud83d\udd0d<\/span>\n        <input type=\"search\" id=\"bk-search\" data-ph-mn=\"\u041d\u043e\u043c \u0445\u0430\u0439\u0445...\" data-ph-en=\"Search books...\" placeholder=\"\u041d\u043e\u043c \u0445\u0430\u0439\u0445...\" autocomplete=\"off\">\n      <\/div>\n    <\/div>\n    <!-- FILTERS -->\n    <div class=\"bk-filters\">\n      <button type=\"button\" class=\"bk-pill active\" data-cat=\"all\" data-mn=\"\u0411\u04af\u0433\u0434\" data-en=\"All\">\u0411\u04af\u0433\u0434<\/button>\n      <button type=\"button\" class=\"bk-pill\" data-cat=\"meditation\" data-mn=\"\ud83e\uddd8 \u041c\u0435\u0434\u0438\u0442\u0430\u0446\u0438\" data-en=\"\ud83e\uddd8 Meditation\">\ud83e\uddd8 \u041c\u0435\u0434\u0438\u0442\u0430\u0446\u0438<\/button>\n      <button type=\"button\" class=\"bk-pill\" data-cat=\"philosophy\" data-mn=\"\ud83d\udcda \u0413\u04af\u043d \u0443\u0445\u0430\u0430\u043d\" data-en=\"\ud83d\udcda Philosophy\">\ud83d\udcda \u0413\u04af\u043d \u0443\u0445\u0430\u0430\u043d<\/button>\n      <button type=\"button\" class=\"bk-pill\" data-cat=\"practice\" data-mn=\"\ud83e\udeb7 \u0414\u0430\u0434\u043b\u0430\u0433\u0430\" data-en=\"\ud83e\udeb7 Practice\">\ud83e\udeb7 \u0414\u0430\u0434\u043b\u0430\u0433\u0430<\/button>\n      <button type=\"button\" class=\"bk-pill\" data-cat=\"biography\" data-mn=\"\u2728 \u041d\u0430\u043c\u0442\u0430\u0440\" data-en=\"\u2728 Biography\">\u2728 \u041d\u0430\u043c\u0442\u0430\u0440<\/button>\n    <\/div>\n    <!-- CONTENT -->\n    <div class=\"bk-content\" id=\"bk-content\"><\/div>\n    <!-- BOOK MODAL -->\n    <div id=\"bk-modal\" aria-hidden=\"true\">\n      <div class=\"bk-modal-overlay\" id=\"bk-modal-overlay\"><\/div>\n      <div class=\"bk-modal-content\">\n        <button type=\"button\" class=\"bk-modal-close\" id=\"bk-modal-close\" aria-label=\"\u0425\u0430\u0430\u0445\">\u00d7<\/button>\n        <div class=\"bk-modal-grid\">\n          <div class=\"bk-modal-cover\">\n            <img decoding=\"async\" id=\"bk-modal-img\" src=\"\" alt=\"\">\n          <\/div>\n          <div class=\"bk-modal-info\">\n            <span class=\"bk-modal-cat\" id=\"bk-modal-cat\"><\/span>\n            <h3 id=\"bk-modal-title\"><\/h3>\n            <p class=\"bk-modal-author\" id=\"bk-modal-author\"><\/p>\n            <div class=\"bk-modal-price\" id=\"bk-modal-price\"><\/div>\n            <p class=\"bk-modal-desc\" id=\"bk-modal-desc\"><\/p>\n            <button type=\"button\" class=\"bk-modal-add\" id=\"bk-modal-add\" data-mn=\"\ud83d\uded2 \u0421\u0430\u0433\u0441\u0430\u043d\u0434 \u0445\u0438\u0439\u0445\" data-en=\"\ud83d\uded2 Add to cart\">\ud83d\uded2 \u0421\u0430\u0433\u0441\u0430\u043d\u0434 \u0445\u0438\u0439\u0445<\/button>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n    <!-- CART DRAWER -->\n    <div id=\"bk-cart-overlay\"><\/div>\n    <aside id=\"bk-cart-drawer\">\n      <div class=\"bk-cart-head\">\n        <h2 data-mn=\"\ud83d\uded2 \u041c\u0438\u043d\u0438\u0439 \u0441\u0430\u0433\u0441\" data-en=\"\ud83d\uded2 My Cart\">\ud83d\uded2 \u041c\u0438\u043d\u0438\u0439 \u0441\u0430\u0433\u0441<\/h2>\n        <button type=\"button\" id=\"bk-cart-close\" aria-label=\"\u0425\u0430\u0430\u0445\">\u00d7<\/button>\n      <\/div>\n      <div class=\"bk-cart-items\" id=\"bk-cart-items\"><\/div>\n      <div class=\"bk-cart-foot\">\n        <div class=\"bk-cart-total\">\n          <span data-mn=\"\u041d\u0438\u0439\u0442:\" data-en=\"Total:\">\u041d\u0438\u0439\u0442:<\/span>\n          <strong id=\"bk-cart-total\">0\u20ae<\/strong>\n        <\/div>\n        <button type=\"button\" class=\"bk-cart-checkout\" data-mn=\"\u0417\u0430\u0445\u0438\u0430\u043b\u0430\u0445 \u2192\" data-en=\"Checkout \u2192\">\u0417\u0430\u0445\u0438\u0430\u043b\u0430\u0445 \u2192<\/button>\n      <\/div>\n    <\/aside>\n  <\/div>\n<\/div>\n<style>\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   BACKGROUND\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n.book-page #bk-canvas {\n  position: fixed !important; inset: 0 !important;\n  width: 100vw !important; height: 100vh !important;\n  z-index: 0 !important; pointer-events: none !important;\n}\n.book-page #bk-sacred {\n  position: fixed !important; inset: 0 !important;\n  z-index: 0 !important; pointer-events: none !important;\n  opacity: 0.045;\n  display: flex; align-items: center; justify-content: center;\n}\n.book-page #bk-sacred svg {\n  width: min(1000px, 100vw); height: min(1000px, 100vw);\n  animation: bk-spin 130s linear infinite;\n}\n@keyframes bk-spin { to { transform: rotate(360deg); } }\n.book-page .bk-root {\n  position: relative; z-index: 1;\n  width: 100%; min-height: calc(100vh - 72px);\n  padding: 3rem 2rem 4rem;\n  color: #fff;\n}\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   HEADER\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n.book-page .bk-header {\n  text-align: center;\n  max-width: 900px; margin: 0 auto 2.5rem;\n  position: relative;\n}\n.book-page .bk-cart-btn {\n  position: absolute; top: 0; right: 0;\n  background: rgba(255,255,255,.04);\n  border: 1px solid rgba(184,146,58,.15);\n  border-radius: 50px;\n  padding: .7rem 1.2rem;\n  color: #f0cc80;\n  font-size: 1.1rem;\n  cursor: pointer;\n  display: flex; align-items: center; gap: 8px;\n  backdrop-filter: blur(10px);\n  transition: all .25s;\n}\n.book-page .bk-cart-btn:hover {\n  background: rgba(184,146,58,.14);\n  border-color: rgba(184,146,58,.35);\n  transform: translateY(-2px);\n}\n.book-page .bk-cart-count {\n  font-family: 'DM Mono', monospace;\n  font-size: .7rem;\n  background: linear-gradient(135deg, #b8923a, #f0cc80);\n  color: #05070c;\n  padding: 2px 8px;\n  border-radius: 50px;\n  font-weight: 600;\n}\n.book-page .bk-eyebrow {\n  font-family: 'DM Mono', monospace;\n  font-size: .7rem; letter-spacing: .3em;\n  text-transform: uppercase; color: #d4aa58;\n  margin-bottom: 1rem; display: inline-block;\n}\n.book-page .bk-h1 {\n  font-family: 'Cinzel', serif;\n  font-size: clamp(2.4rem, 5vw, 4rem);\n  font-weight: 700; margin: 0 0 1rem;\n  line-height: 1.1; letter-spacing: .03em;\n  background: linear-gradient(to bottom, #f0cc80, #b8923a);\n  -webkit-background-clip: text;\n  background-clip: text;\n  -webkit-text-fill-color: transparent;\n  filter: drop-shadow(0 0 30px rgba(184,146,58,.3));\n}\n.book-page .bk-subtitle {\n  font-family: 'Cormorant Garamond', serif;\n  font-style: italic; font-size: clamp(1rem, 2vw, 1.2rem);\n  color: #d4aa58; margin: 0 auto;\n  line-height: 1.5; max-width: 600px;\n}\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   SEARCH + FILTERS\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n.book-page .bk-toolbar {\n  max-width: 600px; margin: 0 auto 1.2rem;\n  position: relative; z-index: 4;\n}\n.book-page .bk-search-wrap { position: relative; }\n.book-page .bk-search-icon {\n  position: absolute; left: 18px; top: 50%;\n  transform: translateY(-50%);\n  font-size: .9rem; color: #d4aa58;\n  pointer-events: none;\n}\n.book-page #bk-search {\n  width: 100%;\n  padding: .75rem 1.1rem .75rem 2.8rem;\n  background: rgba(255,255,255,.04);\n  border: 1px solid rgba(184,146,58,.15);\n  border-radius: 50px;\n  color: #fff;\n  font-family: 'Lato', sans-serif;\n  font-size: .9rem; outline: none;\n  backdrop-filter: blur(10px);\n}\n.book-page #bk-search::placeholder {\n  color: rgba(255,255,255,.55); font-style: italic;\n}\n.book-page #bk-search:focus {\n  border-color: rgba(184,146,58,.35);\n  background: rgba(255,255,255,.06);\n}\n.book-page .bk-filters {\n  max-width: 1000px; margin: 0 auto 3rem;\n  display: flex; flex-wrap: wrap; gap: 8px;\n  justify-content: center;\n  position: relative; z-index: 4;\n}\n.book-page .bk-pill {\n  padding: .55rem 1.2rem;\n  background: rgba(255,255,255,.04);\n  border: 1px solid rgba(184,146,58,.15);\n  border-radius: 50px;\n  color: rgba(255,255,255,.55);\n  font-family: 'Lato', sans-serif;\n  font-size: .76rem; letter-spacing: .1em;\n  cursor: pointer; transition: all .25s;\n  white-space: nowrap;\n}\n.book-page .bk-pill:hover {\n  background: rgba(184,146,58,.14);\n  border-color: rgba(184,146,58,.35);\n  color: #f0cc80;\n}\n.book-page .bk-pill.active {\n  background: linear-gradient(135deg, #b8923a, #f0cc80);\n  border-color: #b8923a;\n  color: #05070c; font-weight: 600;\n  box-shadow: 0 3px 14px rgba(184,146,58,.32);\n}\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   CONTENT (sections)\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n.book-page .bk-content {\n  max-width: 1400px;\n  margin: 0 auto;\n  position: relative; z-index: 2;\n}\n.book-page .bk-section { margin-bottom: 4rem; }\n.book-page .bk-section-head {\n  display: flex; align-items: baseline;\n  justify-content: space-between;\n  margin-bottom: 1.5rem;\n  padding-bottom: 1rem;\n  border-bottom: 1px solid rgba(184,146,58,.15);\n  gap: 1rem; flex-wrap: wrap;\n}\n.book-page .bk-section-eyebrow {\n  font-family: 'DM Mono', monospace;\n  font-size: .65rem; letter-spacing: .25em;\n  text-transform: uppercase; color: #b8923a;\n}\n.book-page .bk-section-title {\n  font-family: 'Cinzel', serif;\n  font-size: clamp(1.4rem, 2.5vw, 1.8rem);\n  font-weight: 600; color: #fff; margin: 0;\n  letter-spacing: .03em; line-height: 1.2;\n}\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   BOOK GRID + 3D BOOKS\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n.book-page .bk-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));\n  gap: 36px 24px;\n}\n@keyframes bk-in {\n  from { opacity: 0; transform: translateY(20px); }\n  to   { opacity: 1; transform: none; }\n}\n.book-page .bk-book-card {\n  position: relative;\n  cursor: pointer;\n  transition: all .35s cubic-bezier(.16,1,.3,1);\n  animation: bk-in .5s ease forwards;\n}\n.book-page .bk-book-3d {\n  display: flex;\n  transform: perspective(800px) rotateY(-15deg);\n  transform-style: preserve-3d;\n  transition: transform .45s cubic-bezier(.16,1,.3,1);\n  filter: drop-shadow(8px 14px 22px rgba(0,0,0,.55));\n}\n.book-page .bk-book-card:hover .bk-book-3d {\n  transform: perspective(800px) rotateY(-5deg) translateY(-8px);\n  filter: drop-shadow(14px 20px 35px rgba(0,0,0,.7));\n}\n.book-page .bk-book-spine {\n  width: 14px; flex-shrink: 0;\n  background: linear-gradient(to right,\n    rgba(0,0,0,.7) 0%,\n    rgba(80,55,20,.9) 55%,\n    rgba(184,146,58,.5) 100%);\n  border-radius: 3px 0 0 3px;\n}\n.book-page .bk-book-cover {\n  flex: 1; aspect-ratio: 2\/3;\n  position: relative;\n  border-radius: 0 6px 6px 0;\n  overflow: hidden;\n  background: linear-gradient(135deg, #0a1a3a, #1a0a2e);\n}\n.book-page .bk-cover-img {\n  position: absolute; inset: 0;\n  width: 100%; height: 100%;\n  object-fit: cover; display: block;\n  opacity: .55;\n  transition: opacity .4s, transform .5s;\n}\n.book-page .bk-book-card:hover .bk-cover-img {\n  opacity: .45; transform: scale(1.06);\n}\n.book-page .bk-cover-grad {\n  position: absolute; inset: 0; z-index: 1;\n  background: linear-gradient(175deg,\n    rgba(0,0,0,.1) 0%,\n    rgba(0,0,0,.4) 40%,\n    rgba(0,0,0,.85) 100%);\n}\n.book-page .bk-cover-shine {\n  position: absolute; inset: 0; z-index: 2;\n  background: linear-gradient(135deg,\n    rgba(255,255,255,.18) 0%,\n    transparent 42%);\n  pointer-events: none;\n}\n.book-page .bk-cover-text {\n  position: absolute; inset: 0; z-index: 3;\n  padding: .85rem .75rem 1rem;\n  display: flex; flex-direction: column;\n  justify-content: flex-end; gap: .25rem;\n}\n.book-page .bk-cover-cat {\n  font-family: 'DM Mono', monospace;\n  font-size: .52rem; letter-spacing: .2em;\n  text-transform: uppercase;\n  color: #d4aa58; opacity: .95;\n  display: block;\n}\n.book-page .bk-cover-title {\n  font-family: 'Cinzel', serif;\n  font-size: clamp(.78rem, 1.6vw, .98rem);\n  font-weight: 700; color: #fff;\n  line-height: 1.22;\n  text-shadow: 0 1px 10px rgba(0,0,0,.8);\n  margin: 0;\n}\n.book-page .bk-cover-author {\n  font-family: 'Cormorant Garamond', serif;\n  font-style: italic;\n  font-size: .68rem;\n  color: rgba(240,204,128,.9);\n  margin: 0; line-height: 1.3;\n}\n.book-page .bk-book-meta {\n  margin-top: .9rem;\n  display: flex; align-items: center;\n  justify-content: space-between; gap: 8px;\n}\n.book-page .bk-book-price {\n  font-family: 'Cinzel', serif;\n  font-size: 1rem; font-weight: 700;\n  color: #f0cc80;\n}\n.book-page .bk-book-add {\n  font-family: 'Lato', sans-serif;\n  font-size: .65rem; font-weight: 700;\n  letter-spacing: .1em; text-transform: uppercase;\n  padding: .42rem .9rem;\n  background: linear-gradient(135deg, #b8923a, #f0cc80);\n  color: #05070c;\n  border: none; border-radius: 50px;\n  cursor: pointer;\n  white-space: nowrap;\n  transition: transform .22s, box-shadow .22s;\n  box-shadow: 0 3px 12px rgba(184,146,58,.3);\n}\n.book-page .bk-book-add:hover {\n  transform: translateY(-2px);\n  box-shadow: 0 7px 20px rgba(184,146,58,.5);\n}\n.book-page .bk-book-add:active { transform: scale(.95); }\n.book-page .bk-no-results {\n  grid-column: 1\/-1;\n  text-align: center;\n  padding: 3rem 1rem;\n  font-family: 'Cormorant Garamond', serif;\n  font-style: italic;\n  color: rgba(255,255,255,.55);\n}\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   MODAL\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n#bk-modal {\n  position: fixed; inset: 0; z-index: 9999;\n  display: none;\n  align-items: center; justify-content: center;\n  padding: 20px;\n}\n#bk-modal.active {\n  display: flex;\n  animation: bk-fade .35s ease;\n}\n@keyframes bk-fade { from { opacity: 0; } to { opacity: 1; } }\n.bk-modal-overlay {\n  position: absolute; inset: 0;\n  background: rgba(0,0,0,.92);\n  backdrop-filter: blur(15px);\n}\n.bk-modal-content {\n  position: relative; width: 100%;\n  max-width: 900px;\n  background: #05070c;\n  border: 1px solid rgba(184,146,58,.15);\n  border-radius: 20px; overflow: hidden;\n  animation: bk-pop .4s cubic-bezier(.16,1,.3,1);\n  box-shadow: 0 30px 80px rgba(0,0,0,.7);\n}\n@keyframes bk-pop {\n  from { opacity: 0; transform: scale(.94) translateY(10px); }\n  to   { opacity: 1; transform: none; }\n}\n.bk-modal-close {\n  position: absolute; top: 12px; right: 12px;\n  background: rgba(5,7,12,.85);\n  border: 1px solid rgba(184,146,58,.15);\n  color: #d4aa58;\n  width: 38px; height: 38px;\n  font-size: 1.5rem;\n  border-radius: 50%; cursor: pointer; z-index: 10;\n  display: flex; align-items: center; justify-content: center;\n  transition: all .3s; line-height: 1;\n}\n.bk-modal-close:hover {\n  background: rgba(184,146,58,.2);\n  transform: rotate(90deg); color: #f0cc80;\n}\n.bk-modal-grid {\n  display: grid;\n  grid-template-columns: 280px 1fr;\n  gap: 2rem;\n  padding: 2rem;\n}\n.bk-modal-cover {\n  aspect-ratio: 2\/3;\n  border-radius: 12px; overflow: hidden;\n  box-shadow: 0 20px 50px rgba(0,0,0,.6);\n}\n.bk-modal-cover img {\n  width: 100%; height: 100%;\n  object-fit: cover; display: block;\n}\n.bk-modal-info {\n  display: flex; flex-direction: column; gap: .6rem;\n}\n.bk-modal-cat {\n  font-family: 'DM Mono', monospace;\n  font-size: .62rem; letter-spacing: .22em;\n  text-transform: uppercase; color: #b8923a;\n}\n.bk-modal-info h3 {\n  font-family: 'Cinzel', serif;\n  font-size: 1.6rem; font-weight: 700;\n  margin: 0; color: #fff; line-height: 1.2;\n}\n.bk-modal-author {\n  font-family: 'Cormorant Garamond', serif;\n  font-style: italic;\n  font-size: 1rem; color: #d4aa58; margin: 0;\n}\n.bk-modal-price {\n  font-family: 'Cinzel', serif;\n  font-size: 1.6rem; font-weight: 700;\n  color: #f0cc80;\n  margin: .5rem 0;\n}\n.bk-modal-desc {\n  font-size: .9rem;\n  line-height: 1.7;\n  color: rgba(255,255,255,.65);\n  margin: 0;\n}\n.bk-modal-add {\n  margin-top: auto;\n  align-self: flex-start;\n  padding: .9rem 2rem;\n  background: linear-gradient(135deg, #b8923a, #f0cc80);\n  color: #05070c;\n  border: none; border-radius: 50px;\n  font-family: 'Lato', sans-serif;\n  font-size: .8rem; font-weight: 700;\n  letter-spacing: .14em; text-transform: uppercase;\n  cursor: pointer;\n  box-shadow: 0 4px 20px rgba(184,146,58,.32);\n  transition: all .25s;\n}\n.bk-modal-add:hover {\n  transform: translateY(-3px);\n  box-shadow: 0 10px 32px rgba(184,146,58,.55);\n}\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   CART DRAWER\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n#bk-cart-overlay {\n  position: fixed; inset: 0;\n  background: rgba(0,0,0,.7);\n  backdrop-filter: blur(10px);\n  z-index: 9998;\n  opacity: 0; pointer-events: none;\n  transition: opacity .35s;\n}\n#bk-cart-overlay.open {\n  opacity: 1; pointer-events: all;\n}\n#bk-cart-drawer {\n  position: fixed;\n  top: 0; right: 0; bottom: 0;\n  width: 420px; max-width: 90vw;\n  background: #05070c;\n  border-left: 1px solid rgba(184,146,58,.2);\n  z-index: 9999;\n  transform: translateX(110%);\n  transition: transform .45s cubic-bezier(.16,1,.3,1);\n  display: flex; flex-direction: column;\n  box-shadow: -20px 0 50px rgba(0,0,0,.5);\n}\n#bk-cart-drawer.open { transform: translateX(0); }\n.bk-cart-head {\n  padding: 1.5rem;\n  display: flex; align-items: center;\n  justify-content: space-between;\n  border-bottom: 1px solid rgba(184,146,58,.15);\n}\n.bk-cart-head h2 {\n  font-family: 'Cinzel', serif;\n  font-size: 1.3rem; font-weight: 600;\n  color: #f0cc80; margin: 0;\n}\n#bk-cart-close {\n  background: transparent;\n  border: 1px solid rgba(184,146,58,.2);\n  color: #d4aa58;\n  width: 36px; height: 36px;\n  border-radius: 50%;\n  cursor: pointer; font-size: 1.4rem;\n  display: flex; align-items: center; justify-content: center;\n  transition: all .3s;\n}\n#bk-cart-close:hover {\n  background: rgba(184,146,58,.15);\n  transform: rotate(90deg);\n}\n.bk-cart-items {\n  flex: 1; overflow-y: auto;\n  padding: 1rem;\n}\n.bk-cart-item {\n  display: flex; gap: 1rem;\n  padding: 1rem 0;\n  border-bottom: 1px solid rgba(184,146,58,.08);\n}\n.bk-cart-item-img {\n  width: 60px; height: 90px;\n  border-radius: 6px;\n  background-size: cover;\n  background-position: center;\n  flex-shrink: 0;\n}\n.bk-cart-item-info {\n  flex: 1; display: flex; flex-direction: column; gap: 4px;\n}\n.bk-cart-item-info h4 {\n  font-family: 'Cinzel', serif;\n  font-size: .9rem; font-weight: 600;\n  color: #fff; margin: 0;\n  line-height: 1.3;\n}\n.bk-cart-item-info p {\n  font-family: 'Cormorant Garamond', serif;\n  font-style: italic;\n  font-size: .8rem;\n  color: rgba(255,255,255,.55);\n  margin: 0;\n}\n.bk-cart-qty {\n  display: flex; align-items: center; gap: 8px;\n  margin-top: auto;\n}\n.bk-qty-btn {\n  width: 26px; height: 26px;\n  background: rgba(184,146,58,.1);\n  border: 1px solid rgba(184,146,58,.2);\n  color: #f0cc80;\n  border-radius: 50%;\n  cursor: pointer;\n  display: flex; align-items: center; justify-content: center;\n  font-size: 1rem; line-height: 1;\n}\n.bk-qty-btn:hover { background: rgba(184,146,58,.25); }\n.bk-cart-qty span {\n  font-family: 'DM Mono', monospace;\n  font-size: .85rem;\n  color: #f0cc80;\n  min-width: 20px;\n  text-align: center;\n}\n.bk-cart-item-price {\n  font-family: 'Cinzel', serif;\n  font-weight: 700; color: #f0cc80;\n  white-space: nowrap;\n}\n.bk-cart-remove {\n  background: transparent;\n  border: none;\n  color: rgba(255,255,255,.4);\n  cursor: pointer;\n  font-size: 1rem;\n  padding: 4px;\n  margin-left: auto;\n  transition: color .25s;\n}\n.bk-cart-remove:hover { color: #d4aa58; }\n.bk-cart-empty {\n  text-align: center;\n  padding: 3rem 1rem;\n  font-family: 'Cormorant Garamond', serif;\n  font-style: italic;\n  color: rgba(255,255,255,.4);\n}\n.bk-cart-foot {\n  padding: 1.5rem;\n  border-top: 1px solid rgba(184,146,58,.15);\n}\n.bk-cart-total {\n  display: flex; justify-content: space-between;\n  align-items: baseline;\n  margin-bottom: 1rem;\n  font-family: 'Lato', sans-serif;\n  font-size: .9rem;\n  color: rgba(255,255,255,.7);\n}\n.bk-cart-total strong {\n  font-family: 'Cinzel', serif;\n  font-size: 1.4rem;\n  color: #f0cc80;\n}\n.bk-cart-checkout {\n  width: 100%;\n  padding: 1rem;\n  background: linear-gradient(135deg, #b8923a, #f0cc80);\n  color: #05070c;\n  border: none; border-radius: 50px;\n  font-family: 'Lato', sans-serif;\n  font-size: .85rem; font-weight: 700;\n  letter-spacing: .14em; text-transform: uppercase;\n  cursor: pointer;\n  box-shadow: 0 4px 20px rgba(184,146,58,.32);\n  transition: all .25s;\n}\n.bk-cart-checkout:hover {\n  transform: translateY(-2px);\n  box-shadow: 0 10px 28px rgba(184,146,58,.55);\n}\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   TOAST\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n#bk-toast {\n  position: fixed; bottom: 2rem; left: 50%;\n  transform: translateX(-50%) translateY(12px);\n  background: rgba(8,10,20,.97);\n  border: 1px solid rgba(184,146,58,.35);\n  border-radius: 12px;\n  padding: .7rem 1.4rem;\n  font-family: 'Cormorant Garamond', serif;\n  font-style: italic; font-size: .9rem;\n  color: #f0cc80;\n  pointer-events: none; opacity: 0;\n  transition: all .35s ease; z-index: 10000;\n  white-space: nowrap; max-width: 90vw;\n  box-shadow: 0 10px 30px rgba(0,0,0,.5);\n}\n#bk-toast.show {\n  opacity: 1; transform: translateX(-50%) translateY(0);\n}\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   RESPONSIVE\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n@media (max-width: 900px) {\n  .book-page .bk-root { padding: 2rem 1.25rem 3rem; }\n  .book-page .bk-cart-btn {\n    position: static; margin: 0 auto 1rem;\n  }\n  .book-page .bk-header { padding-top: 0; }\n  .bk-modal-grid {\n    grid-template-columns: 1fr;\n    gap: 1.5rem; padding: 1.5rem;\n  }\n  .bk-modal-cover { max-width: 200px; margin: 0 auto; }\n}\n@media (max-width: 600px) {\n  .book-page .bk-root { padding: 1.5rem 1rem 3rem; }\n  .book-page .bk-grid {\n    grid-template-columns: repeat(2, 1fr);\n    gap: 24px 14px;\n  }\n  .book-page .bk-cover-title { font-size: .72rem; }\n}\n<\/style>\n<script>\n(function () {\n  'use strict';\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', boot);\n  } else {\n    boot();\n  }\n  function boot() {\n    \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 STAR CANVAS \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n    (function () {\n      var cv = document.getElementById('bk-canvas');\n      if (!cv) return;\n      var cx = cv.getContext('2d');\n      var W, H, stars = [];\n      function resize() { W = cv.width = innerWidth; H = cv.height = innerHeight; }\n      function makeStars() {\n        stars = [];\n        for (var i = 0; i < 240; i++) {\n          stars.push({\n            x: Math.random()*W, y: Math.random()*H,\n            r: Math.random()*1.6+0.3, a: Math.random()*0.8+0.4,\n            sp: Math.random()*0.3+0.08, ph: Math.random()*Math.PI*2,\n            gold: Math.random() < 0.08\n          });\n        }\n      }\n      function draw(t) {\n        cx.clearRect(0,0,W,H);\n        var time = (t||0)*0.001;\n        for (var i = 0; i < stars.length; i++) {\n          var s = stars[i];\n          var a = s.a*(0.4 + 0.6*Math.sin(time*s.sp + s.ph));\n          cx.beginPath();\n          cx.arc(s.x, s.y, s.r, 0, Math.PI*2);\n          cx.fillStyle = s.gold ? 'rgba(184,146,58,'+a+')' : 'rgba(255,255,255,'+a+')';\n          cx.fill();\n        }\n        requestAnimationFrame(draw);\n      }\n      addEventListener('resize', function(){ resize(); makeStars(); });\n      resize(); makeStars(); requestAnimationFrame(draw);\n    })();\n    \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 BOOKS \u2014 8 books, 4 categories \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n    var BOOKS = [\n      { id: 1, cat: 'meditation', price: 35000,\n        mn: { title: '\u0414\u043e\u0442\u043e\u043e\u0434 \u0433\u044d\u0440\u044d\u043b', author: '\u0411.\u0413\u0430\u043d\u0437\u043e\u0440\u0438\u0433', catLabel: '\u041c\u0435\u0434\u0438\u0442\u0430\u0446\u0438',\n              desc: '\u0414\u043e\u0442\u043e\u043e\u0434 \u0433\u044d\u0440\u043b\u044d\u044d \u0445\u044d\u0440\u0445\u044d\u043d \u043d\u044d\u044d\u0445 \u0432\u044d \u2014 \u0411\u044f\u0441\u0430\u043b\u0433\u0430\u043b\u044b\u043d \u0430\u043d\u0445\u0430\u043d \u0448\u0430\u0442\u043d\u044b \u0433\u0430\u0440\u044b\u043d \u0430\u0432\u043b\u0430\u0433\u0430. 21 \u0445\u043e\u043d\u043e\u0433\u0438\u0439\u043d \u0434\u0430\u0434\u043b\u0430\u0433\u044b\u043d \u0441\u0438\u0441\u0442\u0435\u043c, \u04e9\u0434\u04e9\u0440 \u0442\u0443\u0442\u043c\u044b\u043d \u0434\u0430\u0441\u0433\u0430\u043b, \u0448\u0438\u043d\u044d\u0445\u044d\u043d \u0441\u0443\u0440\u0430\u043b\u0446\u0430\u0433\u0447\u0434\u0430\u0434 \u0437\u043e\u0440\u0438\u0443\u043b\u0441\u0430\u043d.' },\n        en: { title: 'Inner Light', author: 'B.Ganz\u00f6rig', catLabel: 'Meditation',\n              desc: 'How to open your inner light \u2014 A beginner\\'s guide to meditation. 21-day practice system, daily exercises, perfect for newcomers.' },\n        cover: 'https:\/\/images.unsplash.com\/photo-1544947950-fa07a98d237f?w=400&#038;q=80' },\n      { id: 2, cat: 'philosophy', price: 42000,\n        mn: { title: '\u0413\u0430\u043b, \u0423\u0441, \u0428\u043e\u0440\u043e\u043e', author: '\u0411.\u0413\u0430\u043d\u0437\u043e\u0440\u0438\u0433', catLabel: '\u0413\u04af\u043d \u0443\u0445\u0430\u0430\u043d',\n              desc: '\u041c\u0430\u0445\u0431\u043e\u0434\u044b\u043d \u0444\u0438\u043b\u043e\u0441\u043e\u0444\u0438 \u2014 \u0413\u0443\u0440\u0432\u0430\u043d \u043c\u0430\u0445\u0431\u043e\u0434\u044b\u043d \u043c\u044d\u0440\u0433\u044d\u043d \u0443\u0445\u0430\u0430\u043d. \u0425\u04af\u043d\u0438\u0439 \u0431\u0438\u0435, \u0441\u044d\u0442\u0433\u044d\u043b, \u0430\u043c\u044c\u0434\u0440\u0430\u043b\u044b\u043d \u04af\u043d\u0434\u044d\u0441 \u044e\u0443\u043d\u0430\u0430\u0441 \u0431\u04af\u0442\u0441\u044d\u043d \u0431\u044d?' },\n        en: { title: 'Fire, Water, Earth', author: 'B.Ganz\u00f6rig', catLabel: 'Philosophy',\n              desc: 'Philosophy of elements \u2014 The wisdom of three elements. What is the foundation of body, mind, and life?' },\n        cover: 'https:\/\/images.unsplash.com\/photo-1481627834876-b7833e8f5570?w=400&#038;q=80' },\n      { id: 3, cat: 'practice', price: 28000,\n        mn: { title: '\u0427\u0438\u043c\u044d\u044d\u0433\u04af\u0439 \u0431\u0430\u0439\u0434\u043b\u044b\u043d \u0434\u044d\u0432\u0442\u044d\u0440', author: '\u0414.\u041e\u044e\u0443\u043d\u0446\u044d\u0446\u044d\u0433', catLabel: '\u0414\u0430\u0434\u043b\u0430\u0433\u0430',\n              desc: '\u04e8\u0434\u04e9\u0440 \u0442\u0443\u0442\u043c\u044b\u043d \u0442\u0443\u043d\u0433\u0430\u0430\u043b\u0433\u044b\u043d \u0430\u0436\u043b\u044b\u043d \u0434\u044d\u0432\u0442\u044d\u0440. 365 \u04e9\u0434\u0440\u0438\u0439\u043d \u0434\u0430\u0441\u0433\u0430\u043b\u0442\u0430\u0439, \u04e9\u04e9\u0440\u0438\u0439\u0433\u04e9\u04e9 \u043c\u044d\u0434\u044d\u0445 \u0437\u0430\u043c\u0434 \u0445\u04e9\u0442\u04e9\u043b\u043d\u04e9.' },\n        en: { title: 'The Stillness Journal', author: 'D.Oyuntsetseg', catLabel: 'Practice',\n              desc: 'Daily reflection workbook. 365 days of exercises that guide you on the path of self-knowledge.' },\n        cover: 'https:\/\/images.unsplash.com\/photo-1457369804613-52c61a468e7d?w=400&#038;q=80' },\n      { id: 4, cat: 'philosophy', price: 48000,\n        mn: { title: '\u0423\u0445\u0430\u043c\u0441\u0440\u044b\u043d \u0442\u04af\u0432\u0448\u0438\u043d\u0433\u04af\u04af\u0434', author: '\u0421.\u0414\u044d\u043b\u0433\u044d\u0440\u043c\u0430\u0430', catLabel: '\u0413\u04af\u043d \u0443\u0445\u0430\u0430\u043d',\n              desc: '\u0425\u04af\u043d\u0438\u0439 \u0443\u0445\u0430\u043c\u0441\u0440\u044b\u043d 7 \u0442\u04af\u0432\u0448\u0438\u043d \u2014 \u044d\u0440\u0442\u043d\u0438\u0439 \u0444\u0438\u043b\u043e\u0441\u043e\u0444\u0438\u043e\u0441 \u043e\u0440\u0447\u0438\u043d \u04af\u0435\u0438\u0439\u043d \u0443\u0445\u0430\u043c\u0441\u0430\u0440 \u0441\u0443\u0434\u043b\u0430\u043b \u0445\u04af\u0440\u0442\u044d\u043b\u0445 \u0430\u044f\u043b\u0430\u043b.' },\n        en: { title: 'Levels of Consciousness', author: 'S.Delgermaa', catLabel: 'Philosophy',\n              desc: 'The 7 levels of human consciousness \u2014 a journey from ancient philosophy to modern consciousness studies.' },\n        cover: 'https:\/\/images.unsplash.com\/photo-1518709268805-4e9042af2176?w=400&#038;q=80' },\n      { id: 5, cat: 'meditation', price: 32000,\n        mn: { title: '\u0410\u043c\u044c\u0441\u0433\u0430\u043b\u044b\u043d \u0443\u0440\u043b\u0430\u0433', author: '\u041e.\u041c\u04e9\u043d\u0445\u0437\u0443\u043b', catLabel: '\u041c\u0435\u0434\u0438\u0442\u0430\u0446\u0438',\n              desc: '\u0417\u04e9\u0432 \u0430\u043c\u044c\u0441\u0433\u0430\u0430 \u0431\u043e\u043b \u0430\u043c\u044c\u0434\u0440\u0430\u043b. \u042d\u0440\u0442\u043d\u0438\u0439 \u043f\u0440\u0430\u043d\u0430\u044f\u043c\u0430\u0433\u0430\u0430\u0441 \u043e\u0440\u0447\u0438\u043d \u04af\u0435\u0438\u0439\u043d \u0430\u043c\u044c\u0441\u0433\u0430\u043b\u044b\u043d \u0434\u0430\u0441\u0433\u0430\u043b\u044b\u043d \u0441\u0438\u0441\u0442\u0435\u043c \u0445\u04af\u0440\u0442\u044d\u043b.' },\n        en: { title: 'The Art of Breath', author: 'O.Munkhzul', catLabel: 'Meditation',\n              desc: 'Right breathing is life. From ancient pranayama to modern breathing exercise systems.' },\n        cover: 'https:\/\/images.unsplash.com\/photo-1519415510236-718bdfcd89c8?w=400&#038;q=80' },\n      { id: 6, cat: 'biography', price: 45000,\n        mn: { title: '\u0417\u044d\u043d \u0431\u0430\u0433\u0448\u0438\u0439\u043d \u0437\u0430\u043c', author: '\u0411.\u042d\u0440\u0434\u044d\u043d\u044d\u0431\u0430\u0430\u0442\u0430\u0440', catLabel: '\u041d\u0430\u043c\u0442\u0430\u0440',\n              desc: '\u042f\u043f\u043e\u043d \u0443\u043b\u0441\u0430\u0434 20 \u0436\u0438\u043b \u0441\u0443\u0440\u0430\u043b\u0446\u0441\u0430\u043d \u041c\u043e\u043d\u0433\u043e\u043b \u0437\u044d\u043d \u0431\u0430\u0433\u0448\u0438\u0439\u043d \u0430\u043c\u044c\u0434\u0440\u0430\u043b\u044b\u043d \u0442\u04af\u04af\u0445. \u0413\u044d\u0433\u044d\u044d\u0440\u043b\u0438\u0439\u043d \u0437\u0430\u043c\u044b\u0433 \u0442\u0443\u0443\u043b\u0441\u0430\u043d \u0445\u04af\u043d\u0438\u0439 \u0442\u04af\u04af\u0445.' },\n        en: { title: 'Path of the Zen Master', author: 'B.Erdenebaatar', catLabel: 'Biography',\n              desc: 'Life story of a Mongolian Zen master who studied in Japan for 20 years. The story of one who walked the path of enlightenment.' },\n        cover: 'https:\/\/images.unsplash.com\/photo-1532012197267-da84d127e765?w=400&#038;q=80' },\n      { id: 7, cat: 'practice', price: 26000,\n        mn: { title: '21 \u0445\u043e\u043d\u043e\u0433\u0438\u0439\u043d \u04e9\u04e9\u0440\u0447\u043b\u04e9\u043b\u0442', author: '\u0427.\u042d\u0440\u0434\u044d\u043d\u044d\u0441\u04af\u0440\u044d\u043d', catLabel: '\u0414\u0430\u0434\u043b\u0430\u0433\u0430',\n              desc: '21 \u0445\u043e\u043d\u043e\u0433\u0442 \u0430\u043c\u044c\u0434\u0440\u0430\u043b\u0430\u0430 \u0445\u044d\u0440\u0445\u044d\u043d \u04e9\u04e9\u0440\u0447\u043b\u04e9\u0445 \u0432\u044d. \u04e8\u0434\u04e9\u0440 \u0431\u04af\u0440\u0438\u0439\u043d \u0434\u0430\u0441\u0433\u0430\u043b, \u0448\u0438\u043d\u044d \u0437\u0443\u0440\u0448\u0438\u043b \u0431\u0438\u0439 \u0431\u043e\u043b\u0433\u043e\u0445 \u0433\u0430\u0440\u044b\u043d \u0430\u0432\u043b\u0430\u0433\u0430.' },\n        en: { title: '21-Day Transformation', author: 'Ch.Erdenes\u00fcren', catLabel: 'Practice',\n              desc: 'How to transform your life in 21 days. Daily exercises and a guide to building new habits.' },\n        cover: 'https:\/\/images.unsplash.com\/photo-1495446815901-a7297e633e8d?w=400&#038;q=80' },\n      { id: 8, cat: 'biography', price: 38000,\n        mn: { title: '\u042d\u0440\u0442\u043d\u0438\u0439 \u043c\u044d\u0440\u0433\u044d\u0434\u0438\u0439\u043d \u04af\u0433', author: '\u0411.\u0413\u0430\u043d\u0437\u043e\u0440\u0438\u0433', catLabel: '\u041d\u0430\u043c\u0442\u0430\u0440',\n              desc: '\u041b\u0430\u043e \u0426\u0437\u044b, \u0411\u0443\u0434\u0434\u0430, \u041a\u043e\u043d\u0444\u0443\u0446\u0438\u0439\u043d \u0441\u0443\u0440\u0433\u0430\u0430\u043b\u044b\u043d \u0434\u043e\u0442\u0440\u043e\u043e\u0441 \u043e\u0440\u0447\u0438\u043d \u04af\u0435\u0434 \u0445\u044d\u0440\u044d\u0433\u0442\u044d\u0439 108 \u0438\u0448\u043b\u044d\u043b.' },\n        en: { title: 'Words of Ancient Sages', author: 'B.Ganz\u00f6rig', catLabel: 'Biography',\n              desc: '108 quotes from Lao Tzu, Buddha, and Confucius that are relevant for modern times.' },\n        cover: 'https:\/\/images.unsplash.com\/photo-1589998059171-988d887df646?w=400&#038;q=80' }\n    ];\n    var SECTIONS = [\n      { cat: 'meditation', mn: { eyebrow: '\u2726 \u0414\u043e\u0442\u043e\u0433\u0448\u043e\u043e', title: '\ud83e\uddd8 \u041c\u0435\u0434\u0438\u0442\u0430\u0446\u0438' }, en: { eyebrow: '\u2726 Inward', title: '\ud83e\uddd8 Meditation' } },\n      { cat: 'philosophy', mn: { eyebrow: '\u2726 \u041c\u044d\u0434\u043b\u044d\u0433',   title: '\ud83d\udcda \u0413\u04af\u043d \u0443\u0445\u0430\u0430\u043d' }, en: { eyebrow: '\u2726 Knowledge', title: '\ud83d\udcda Philosophy' } },\n      { cat: 'practice',   mn: { eyebrow: '\u2726 \u0414\u0430\u0434\u043b\u0430\u0433\u0430',  title: '\ud83e\udeb7 \u0414\u0430\u0434\u043b\u0430\u0433\u0430' }, en: { eyebrow: '\u2726 Practice', title: '\ud83e\udeb7 Practice' } },\n      { cat: 'biography',  mn: { eyebrow: '\u2726 \u0422\u04af\u04af\u0445',     title: '\u2728 \u041d\u0430\u043c\u0442\u0430\u0440' }, en: { eyebrow: '\u2726 Stories', title: '\u2728 Biography' } }\n    ];\n    \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 STATE \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n    var S = { lang: 'mn', filter: 'all', query: '', cart: [] };\n    try {\n      S.lang = localStorage.getItem('ge_global_lang') || localStorage.getItem('bk_lang') || 'mn';\n      var savedCart = localStorage.getItem('bk_cart');\n      if (savedCart) S.cart = JSON.parse(savedCart);\n    } catch (e) { S.cart = []; }\n    \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 HELPERS \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n    function $(id) { return document.getElementById(id); }\n    function $$(s) { return document.querySelectorAll(s); }\n    function esc(s) {\n      return String(s).replace(\/&#038;\/g,'&amp;').replace(\/<\/g,'&lt;')\n        .replace(\/>\/g,'&gt;').replace(\/\"\/g,'&quot;');\n    }\n    function find(id) {\n      for (var i = 0; i < BOOKS.length; i++)\n        if (BOOKS[i].id === id) return BOOKS[i];\n      return null;\n    }\n    function fmt(n) {\n      return n.toString().replace(\/\\B(?=(\\d{3})+(?!\\d))\/g, ',') + '\u20ae';\n    }\n    \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 TOAST \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n    function toast(msg) {\n      var t = $('bk-toast'); if (!t) return;\n      t.textContent = msg; t.classList.add('show');\n      clearTimeout(t._t);\n      t._t = setTimeout(function () { t.classList.remove('show'); }, 2400);\n    }\n    \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 LANG \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n    function applyLang() {\n      $$('.book-page [data-mn],.book-page [data-en]').forEach(function (el) {\n        if (el.querySelector('[data-mn],[data-en]')) return;\n        if (el.tagName === 'INPUT' || el.tagName === 'TEXTAREA') return;\n        var t = el.getAttribute('data-' + S.lang);\n        if (t !== null) el.textContent = t;\n      });\n      $$('.book-page [data-ph-mn]').forEach(function (el) {\n        el.placeholder = S.lang === 'mn'\n          ? el.getAttribute('data-ph-mn')\n          : el.getAttribute('data-ph-en');\n      });\n      try {\n        localStorage.setItem('bk_lang', S.lang);\n        localStorage.setItem('ge_global_lang', S.lang);\n      } catch (e) {}\n    }\n    \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 BUILD BOOK CARD \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n    function buildCard(book, idx) {\n      var info = book[S.lang];\n      var div = document.createElement('div');\n      div.className = 'bk-book-card';\n      div.style.animationDelay = (idx * 0.04) + 's';\n      div.innerHTML =\n        '<div class=\"bk-book-3d\">' +\n          '<div class=\"bk-book-spine\"><\/div>' +\n          '<div class=\"bk-book-cover\">' +\n            '<img decoding=\"async\" class=\"bk-cover-img\" src=\"' + esc(book.cover) + '\" alt=\"' + esc(info.title) + '\" loading=\"lazy\">' +\n            '<div class=\"bk-cover-grad\"><\/div>' +\n            '<div class=\"bk-cover-shine\"><\/div>' +\n            '<div class=\"bk-cover-text\">' +\n              '<span class=\"bk-cover-cat\">' + esc(info.catLabel) + '<\/span>' +\n              '<h3 class=\"bk-cover-title\">' + esc(info.title) + '<\/h3>' +\n              '<p class=\"bk-cover-author\">' + esc(info.author) + '<\/p>' +\n            '<\/div>' +\n          '<\/div>' +\n        '<\/div>' +\n        '<div class=\"bk-book-meta\">' +\n          '<span class=\"bk-book-price\">' + fmt(book.price) + '<\/span>' +\n          '<button type=\"button\" class=\"bk-book-add\" data-id=\"' + book.id + '\">' +\n            (S.lang === 'mn' ? '+ \u0421\u0430\u0433\u0441' : '+ Cart') +\n          '<\/button>' +\n        '<\/div>';\n      \/* Click on book opens modal *\/\n      var cover = div.querySelector('.bk-book-3d');\n      if (cover) cover.addEventListener('click', function () { openModal(book.id); });\n      \/* Click on add button \u2014 separate, doesn't open modal *\/\n      var addBtn = div.querySelector('.bk-book-add');\n      if (addBtn) addBtn.addEventListener('click', function (e) {\n        e.stopPropagation();\n        addToCart(book.id);\n      });\n      return div;\n    }\n    \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 MAIN RENDER \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n    function render() {\n      var content = $('bk-content');\n      if (!content) return;\n      content.innerHTML = '';\n      var q = S.query.toLowerCase().trim();\n      \/* SEARCH MODE *\/\n      if (q) {\n        var results = BOOKS.filter(function (b) {\n          if (S.filter !== 'all' && b.cat !== S.filter) return false;\n          var i = b[S.lang];\n          return i.title.toLowerCase().indexOf(q) > -1 ||\n                 i.author.toLowerCase().indexOf(q) > -1 ||\n                 i.desc.toLowerCase().indexOf(q) > -1;\n        });\n        var sec = document.createElement('section');\n        sec.className = 'bk-section';\n        sec.innerHTML =\n          '<div class=\"bk-section-head\">' +\n            '<span class=\"bk-section-eyebrow\">' + (S.lang==='mn'?'\u2726 \u0425\u0430\u0439\u043b\u0442':'\u2726 Search') + '<\/span>' +\n            '<h2 class=\"bk-section-title\">' + (S.lang==='mn'?'\u0425\u0430\u0439\u043b\u0442\u044b\u043d \u04af\u0440 \u0434\u04af\u043d':'Search Results') + ' (' + results.length + ')<\/h2>' +\n          '<\/div>' +\n          '<div class=\"bk-grid\"><\/div>';\n        var grid = sec.querySelector('.bk-grid');\n        if (!results.length) {\n          grid.innerHTML = '<div class=\"bk-no-results\">' +\n            (S.lang==='mn'?'\u041d\u043e\u043c \u043e\u043b\u0434\u0441\u043e\u043d\u0433\u04af\u0439...':'No books found...') + '<\/div>';\n        } else {\n          for (var i = 0; i < results.length; i++) grid.appendChild(buildCard(results[i], i));\n        }\n        content.appendChild(sec);\n        return;\n      }\n      \/* FILTER MODE \u2014 specific cat *\/\n      if (S.filter !== 'all') {\n        var matchSec = null;\n        for (var i = 0; i < SECTIONS.length; i++) {\n          if (SECTIONS[i].cat === S.filter) { matchSec = SECTIONS[i]; break; }\n        }\n        var matchBooks = BOOKS.filter(function (b) { return b.cat === S.filter; });\n        var info = matchSec ? matchSec[S.lang] : { eyebrow: '', title: S.filter };\n        var sec2 = document.createElement('section');\n        sec2.className = 'bk-section';\n        sec2.innerHTML =\n          '<div class=\"bk-section-head\">' +\n            '<span class=\"bk-section-eyebrow\">' + esc(info.eyebrow) + ' (' + matchBooks.length + ')<\/span>' +\n            '<h2 class=\"bk-section-title\">' + esc(info.title) + '<\/h2>' +\n          '<\/div>' +\n          '<div class=\"bk-grid\"><\/div>';\n        var grid2 = sec2.querySelector('.bk-grid');\n        if (!matchBooks.length) {\n          grid2.innerHTML = '<div class=\"bk-no-results\">' +\n            (S.lang==='mn'?'\u041d\u043e\u043c \u043e\u043b\u0434\u0441\u043e\u043d\u0433\u04af\u0439...':'No books found...') + '<\/div>';\n        } else {\n          for (var k = 0; k < matchBooks.length; k++) grid2.appendChild(buildCard(matchBooks[k], k));\n        }\n        content.appendChild(sec2);\n        return;\n      }\n      \/* DEFAULT \u2014 all sections *\/\n      SECTIONS.forEach(function (secDef) {\n        var sectionBooks = BOOKS.filter(function (b) { return b.cat === secDef.cat; });\n        if (!sectionBooks.length) return;\n        var sInfo = secDef[S.lang];\n        var section = document.createElement('section');\n        section.className = 'bk-section';\n        section.innerHTML =\n          '<div class=\"bk-section-head\">' +\n            '<span class=\"bk-section-eyebrow\">' + esc(sInfo.eyebrow) + ' (' + sectionBooks.length + ')<\/span>' +\n            '<h2 class=\"bk-section-title\">' + esc(sInfo.title) + '<\/h2>' +\n          '<\/div>' +\n          '<div class=\"bk-grid\"><\/div>';\n        var sGrid = section.querySelector('.bk-grid');\n        for (var j = 0; j < sectionBooks.length; j++) sGrid.appendChild(buildCard(sectionBooks[j], j));\n        content.appendChild(section);\n      });\n    }\n    \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 MODAL \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n    function openModal(id) {\n      var b = find(id); if (!b) return;\n      var info = b[S.lang];\n      $('bk-modal-img').src = b.cover;\n      $('bk-modal-img').alt = info.title;\n      $('bk-modal-cat').textContent    = info.catLabel;\n      $('bk-modal-title').textContent  = info.title;\n      $('bk-modal-author').textContent = info.author;\n      $('bk-modal-price').textContent  = fmt(b.price);\n      $('bk-modal-desc').textContent   = info.desc;\n      $('bk-modal-add').setAttribute('data-id', id);\n      $('bk-modal').classList.add('active');\n      document.body.style.overflow = 'hidden';\n    }\n    function closeModal() {\n      $('bk-modal').classList.remove('active');\n      document.body.style.overflow = '';\n    }\n    \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 CART \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n    function addToCart(id) {\n      var b = find(id); if (!b) return;\n      var existing = null;\n      for (var i = 0; i < S.cart.length; i++) {\n        if (S.cart[i].id === id) { existing = S.cart[i]; break; }\n      }\n      if (existing) existing.qty++;\n      else S.cart.push({ id: id, qty: 1 });\n      saveCart();\n      renderCart();\n      updateCartCount();\n      toast('\u2713 ' + b[S.lang].title);\n    }\n    function removeFromCart(id) {\n      S.cart = S.cart.filter(function (it) { return it.id !== id; });\n      saveCart();\n      renderCart();\n      updateCartCount();\n    }\n    function changeQty(id, delta) {\n      for (var i = 0; i < S.cart.length; i++) {\n        if (S.cart[i].id === id) {\n          S.cart[i].qty += delta;\n          if (S.cart[i].qty <= 0) {\n            S.cart.splice(i, 1);\n          }\n          break;\n        }\n      }\n      saveCart();\n      renderCart();\n      updateCartCount();\n    }\n    function saveCart() {\n      try { localStorage.setItem('bk_cart', JSON.stringify(S.cart)); } catch (e) {}\n    }\n    function updateCartCount() {\n      var total = 0;\n      for (var i = 0; i < S.cart.length; i++) total += S.cart[i].qty;\n      $('bk-cart-count').textContent = total;\n    }\n    function renderCart() {\n      var items = $('bk-cart-items');\n      var total = 0;\n      if (!S.cart.length) {\n        items.innerHTML = '<div class=\"bk-cart-empty\">' +\n          (S.lang === 'mn' ? '\u0422\u0430\u043d\u044b \u0441\u0430\u0433\u0441 \u0445\u043e\u043e\u0441\u043e\u043d \u0431\u0430\u0439\u043d\u0430...' : 'Your cart is empty...') + '<\/div>';\n        $('bk-cart-total').textContent = fmt(0);\n        return;\n      }\n      var html = '';\n      for (var i = 0; i < S.cart.length; i++) {\n        var it = S.cart[i];\n        var b = find(it.id); if (!b) continue;\n        var info = b[S.lang];\n        var lineTotal = b.price * it.qty;\n        total += lineTotal;\n        html +=\n          '<div class=\"bk-cart-item\">' +\n            '<div class=\"bk-cart-item-img\" style=\"background-image:url(' + esc(b.cover) + ')\"><\/div>' +\n            '<div class=\"bk-cart-item-info\">' +\n              '<h4>' + esc(info.title) + '<\/h4>' +\n              '<p>' + esc(info.author) + '<\/p>' +\n              '<div class=\"bk-cart-qty\">' +\n                '<button type=\"button\" class=\"bk-qty-btn\" data-action=\"dec\" data-id=\"' + b.id + '\">\u2212<\/button>' +\n                '<span>' + it.qty + '<\/span>' +\n                '<button type=\"button\" class=\"bk-qty-btn\" data-action=\"inc\" data-id=\"' + b.id + '\">+<\/button>' +\n                '<span class=\"bk-cart-item-price\">' + fmt(lineTotal) + '<\/span>' +\n                '<button type=\"button\" class=\"bk-cart-remove\" data-action=\"rm\" data-id=\"' + b.id + '\">\u2715<\/button>' +\n              '<\/div>' +\n            '<\/div>' +\n          '<\/div>';\n      }\n      items.innerHTML = html;\n      $('bk-cart-total').textContent = fmt(total);\n      \/* Attach handlers *\/\n      items.querySelectorAll('[data-action]').forEach(function (btn) {\n        btn.addEventListener('click', function () {\n          var act = btn.getAttribute('data-action');\n          var id = parseInt(btn.getAttribute('data-id'), 10);\n          if (act === 'inc') changeQty(id, +1);\n          else if (act === 'dec') changeQty(id, -1);\n          else if (act === 'rm') removeFromCart(id);\n        });\n      });\n    }\n    function openCart() {\n      $('bk-cart-drawer').classList.add('open');\n      $('bk-cart-overlay').classList.add('open');\n      document.body.style.overflow = 'hidden';\n    }\n    function closeCart() {\n      $('bk-cart-drawer').classList.remove('open');\n      $('bk-cart-overlay').classList.remove('open');\n      document.body.style.overflow = '';\n    }\n    \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 EVENTS \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n    var searchEl = $('bk-search');\n    if (searchEl) searchEl.addEventListener('input', function (e) {\n      S.query = e.target.value;\n      render();\n    });\n    $$('.book-page .bk-pill').forEach(function (btn) {\n      btn.addEventListener('click', function () {\n        $$('.book-page .bk-pill').forEach(function (b) { b.classList.remove('active'); });\n        btn.classList.add('active');\n        S.filter = btn.getAttribute('data-cat');\n        render();\n      });\n    });\n    var mc = $('bk-modal-close'), mo = $('bk-modal-overlay');\n    if (mc) mc.addEventListener('click', closeModal);\n    if (mo) mo.addEventListener('click', closeModal);\n    var madd = $('bk-modal-add');\n    if (madd) madd.addEventListener('click', function () {\n      var id = parseInt(madd.getAttribute('data-id'), 10);\n      addToCart(id);\n      closeModal();\n    });\n    $('bk-cart-btn').addEventListener('click', openCart);\n    $('bk-cart-close').addEventListener('click', closeCart);\n    $('bk-cart-overlay').addEventListener('click', closeCart);\n    document.addEventListener('keydown', function (e) {\n      if (e.key !== 'Escape') return;\n      if ($('bk-modal').classList.contains('active')) closeModal();\n      else if ($('bk-cart-drawer').classList.contains('open')) closeCart();\n    });\n    \/* Global header \u041c\u041d\/EN sync *\/\n    window.addEventListener('ge:lang-change', function (e) {\n      if (e.detail && e.detail.lang) {\n        S.lang = e.detail.lang;\n        applyLang();\n        render();\n        renderCart();\n      }\n    });\n    \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 INIT \u2014 RENDER FIRST! \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n    render();\n    applyLang();\n    updateCartCount();\n    renderCart();\n    console.log('%c\u2726 \u0413\u044d\u0440\u043b\u0438\u0439\u043d \u042d\u0440\u0438\u043d \u0422\u04e9\u0432 \u2726%c Bookstore \u2014 ' + BOOKS.length + ' books in ' + SECTIONS.length + ' sections',\n      'color:#f0cc80;font-style:italic;font-size:13px;', 'color:#888;');\n  }\n})();\n<\/script>\n\n\n\n<style>\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   BOOKSTORE STYLES \u2014 all using global CSS variables\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n\n\/* \u2500 Lang pill \u2500 *\/\n.book-page .bk-lang-pill {\n  position:absolute;top:100px;right:24px;\n  display:flex;gap:4px;\n  background:rgba(0,0,0,.4);border:1px solid var(--ge-border);\n  border-radius:50px;padding:4px 5px;\n  backdrop-filter:blur(10px);z-index:10;\n}\n.book-page .bk-lang-btn {\n  padding:5px 14px;border-radius:50px;border:none;\n  background:transparent;color:var(--ge-muted);\n  font-family:var(--ge-f-mono);font-size:.7rem;letter-spacing:.1em;\n  cursor:pointer;transition:all .25s;\n}\n.book-page .bk-lang-btn:hover{color:var(--ge-text);}\n.book-page .bk-lang-btn.active{\n  background:linear-gradient(135deg,var(--ge-gold),var(--ge-gold-3));\n  color:var(--ge-dark);font-weight:600;\n}\n\n\/* \u2500 Cart button \u2500 *\/\n.book-page .bk-cart-btn {\n  position:absolute;top:100px;left:24px;\n  display:flex;align-items:center;gap:8px;\n  background:rgba(0,0,0,.4);border:1px solid var(--ge-border);\n  border-radius:50px;padding:8px 18px;cursor:pointer;z-index:10;\n  backdrop-filter:blur(10px);transition:all .25s;color:inherit;\n}\n.book-page .bk-cart-btn:hover{background:rgba(184,146,58,.1);border-color:var(--ge-border-2);}\n.book-page .bk-cart-icon{font-size:1rem;color:var(--ge-gold-2);}\n.book-page .bk-cart-count{\n  background:var(--ge-gold);color:var(--ge-dark);\n  font-family:var(--ge-f-mono);font-size:.68rem;font-weight:700;\n  padding:2px 8px;border-radius:50px;min-width:22px;text-align:center;\n}\n\n\/* \u2500 Search + filters \u2500 *\/\n.book-page .bk-controls{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:center;}\n.book-page .bk-search-wrap{position:relative;flex:1;min-width:240px;max-width:460px;}\n.book-page .bk-search-icon{\n  position:absolute;left:18px;top:50%;transform:translateY(-50%);\n  font-size:.9rem;color:var(--ge-gold-2);pointer-events:none;\n}\n.book-page .bk-filters{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;}\n.book-page .bk-filt{\n  padding:.55rem 1.2rem;background:rgba(255,255,255,.04);\n  border:1px solid var(--ge-border);border-radius:50px;\n  color:var(--ge-muted);font-family:var(--ge-f-body);font-size:.76rem;\n  letter-spacing:.1em;cursor:pointer;transition:all .25s;white-space:nowrap;\n}\n.book-page .bk-filt:hover{background:var(--ge-gold-dim);border-color:var(--ge-border-2);color:var(--ge-gold-3);}\n.book-page .bk-filt.active{\n  background:linear-gradient(135deg,var(--ge-gold),var(--ge-gold-3));\n  border-color:var(--ge-gold);color:var(--ge-dark);font-weight:600;\n  box-shadow:0 3px 14px rgba(184,146,58,.32);\n}\n\n\/* \u2550\u2550 BOOK GRID \u2550\u2550 *\/\n.book-page .bk-grid{\n  display:grid;\n  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));\n  gap:48px 28px;\n  max-width:1280px;margin:0 auto;\n  padding:2rem 2rem 6rem;\n}\n.book-page .bk-no-results{\n  grid-column:1\/-1;text-align:center;padding:4rem 1rem;\n  font-family:var(--ge-f-title);font-style:italic;\n  font-size:1.15rem;color:var(--ge-muted);\n}\n\n\/* \u2550\u2550 3D BOOK CARD \u2550\u2550 *\/\n@keyframes bk-card-in{\n  from{opacity:0;transform:translateY(20px);}\n  to{opacity:1;transform:none;}\n}\n.book-page .bk-book-card{\n  animation:bk-card-in .5s ease forwards;\n  opacity:0;cursor:pointer;\n}\n\n\/* Perspective container *\/\n.book-page .bk-book-3d{\n  display:flex;\n  transform:perspective(800px) rotateY(-15deg);\n  transform-style:preserve-3d;\n  transition:transform .45s cubic-bezier(.16,1,.3,1);\n  filter:drop-shadow(8px 14px 22px rgba(0,0,0,.55));\n}\n.book-page .bk-book-card:hover .bk-book-3d{\n  transform:perspective(800px) rotateY(-5deg) translateY(-8px);\n  filter:drop-shadow(14px 20px 35px rgba(0,0,0,.7));\n}\n\n\/* Spine (left edge) *\/\n.book-page .bk-book-spine{\n  width:16px;flex-shrink:0;align-self:stretch;\n  background:linear-gradient(to right,\n    rgba(0,0,0,.7) 0%,\n    rgba(80,55,20,.9) 55%,\n    rgba(184,146,58,.5) 100%);\n  border-radius:3px 0 0 3px;\n}\n\n\/* Front face *\/\n.book-page .bk-book-cover{\n  flex:1;aspect-ratio:2\/3;position:relative;\n  border-radius:0 4px 4px 0;overflow:hidden;\n  background:linear-gradient(135deg,#0a1a3a,#1a0a2e);\n}\n\n\/* Cover photo *\/\n.book-page .bk-cover-img{\n  position:absolute;inset:0;\n  width:100%;height:100%;object-fit:cover;display:block;\n  opacity:.6;transition:opacity .4s,transform .5s;\n}\n.book-page .bk-book-card:hover .bk-cover-img{opacity:.5;transform:scale(1.06);}\n\n\/* Dark gradient so text always readable *\/\n.book-page .bk-cover-grad{\n  position:absolute;inset:0;z-index:1;\n  background:linear-gradient(175deg,\n    rgba(0,0,0,.06) 0%,\n    rgba(0,0,0,.3) 40%,\n    rgba(0,0,0,.82) 100%);\n}\n\n\/* Shine *\/\n.book-page .bk-cover-shine{\n  position:absolute;inset:0;z-index:2;\n  background:linear-gradient(135deg,rgba(255,255,255,.18) 0%,transparent 42%);\n  pointer-events:none;\n}\n\n\/* Title + author printed ON the cover *\/\n.book-page .bk-cover-text{\n  position:absolute;inset:0;z-index:3;\n  padding:.85rem .75rem 1rem;\n  display:flex;flex-direction:column;justify-content:flex-end;gap:.25rem;\n}\n.book-page .bk-cover-cat{\n  font-family:var(--ge-f-mono);font-size:.52rem;\n  letter-spacing:.2em;text-transform:uppercase;\n  color:var(--ge-gold-2);opacity:.95;display:block;\n}\n.book-page .bk-cover-title{\n  font-family:var(--ge-f-title);\n  font-size:clamp(.78rem,1.6vw,.98rem);\n  font-weight:700;color:#fff;line-height:1.22;\n  text-shadow:0 1px 10px rgba(0,0,0,.8);margin:0;\n}\n.book-page .bk-cover-author{\n  font-family:var(--ge-f-title);font-style:italic;\n  font-size:.68rem;color:rgba(240,204,128,.9);margin:0;line-height:1.3;\n}\n\n\/* Price + add row below card *\/\n.book-page .bk-book-meta{\n  margin-top:.9rem;\n  display:flex;align-items:center;justify-content:space-between;gap:8px;\n}\n.book-page .bk-book-price{\n  font-family:var(--ge-f-title);font-size:1rem;\n  font-weight:700;color:var(--ge-gold-3);\n}\n.book-page .bk-book-add{\n  font-family:var(--ge-f-body);font-size:.68rem;font-weight:700;\n  letter-spacing:.1em;text-transform:uppercase;\n  padding:.42rem .95rem;\n  background:linear-gradient(135deg,var(--ge-gold),var(--ge-gold-3));\n  color:var(--ge-dark);border:none;border-radius:50px;\n  cursor:pointer;white-space:nowrap;\n  transition:transform .22s,box-shadow .22s;\n  box-shadow:0 3px 12px rgba(184,146,58,.3);\n}\n.book-page .bk-book-add:hover{transform:translateY(-2px);box-shadow:0 7px 20px rgba(184,146,58,.5);}\n.book-page .bk-book-add:active{transform:scale(.95);}\n\n\/* \u2550\u2550 MODAL \u2550\u2550 *\/\n\/* Hidden by default via CSS \u2014 toggled with .active *\/\n#bk-modal{\n  position:fixed;inset:0;z-index:9999;\n  display:none;align-items:center;justify-content:center;padding:20px;\n}\n#bk-modal.active{display:flex;animation:bk-fade .35s ease;}\n@keyframes bk-fade{from{opacity:0;}to{opacity:1;}}\n\n.bk-modal-overlay{\n  position:absolute;inset:0;\n  background:rgba(0,0,0,.9);\n  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);\n}\n.bk-modal-content{\n  position:relative;width:100%;max-width:1000px;max-height:90vh;\n  background:var(--ge-dark);border:1px solid var(--ge-border);\n  border-radius:20px;overflow:auto;\n  animation:bk-pop .4s cubic-bezier(.16,1,.3,1);\n  box-shadow:0 30px 80px rgba(0,0,0,.7);\n}\n@keyframes bk-pop{\n  from{opacity:0;transform:scale(.94) translateY(10px);}\n  to{opacity:1;transform:none;}\n}\n.bk-modal-close{\n  position:absolute;top:12px;right:12px;\n  background:rgba(5,7,12,.85);border:1px solid var(--ge-border);\n  color:var(--ge-gold-2);width:38px;height:38px;font-size:1.5rem;\n  border-radius:50%;cursor:pointer;z-index:10;\n  display:flex;align-items:center;justify-content:center;\n  transition:all .3s;line-height:1;\n}\n.bk-modal-close:hover{background:rgba(184,146,58,.2);transform:rotate(90deg);color:var(--ge-gold-3);}\n\n.bk-modal-grid{\n  display:grid;grid-template-columns:260px 1fr;\n  gap:3rem;padding:3rem;align-items:start;\n}\n\n\/* 3D book in modal *\/\n.bk-modal-book-wrap{\n  display:flex;justify-content:center;\n  perspective:900px;padding-top:.5rem;\n}\n.bk-modal-book-3d{\n  display:flex;\n  transform:perspective(900px) rotateY(-22deg) rotateX(3deg);\n  transform-style:preserve-3d;transition:transform .5s;\n  filter:drop-shadow(14px 20px 40px rgba(0,0,0,.7));\n}\n.bk-modal-book-3d:hover{transform:perspective(900px) rotateY(-8deg) rotateX(1deg);}\n.bk-modal-spine{\n  width:20px;align-self:stretch;flex-shrink:0;\n  background:linear-gradient(to right,\n    rgba(0,0,0,.7) 0%,\n    rgba(80,55,20,.9) 55%,\n    rgba(184,146,58,.4) 100%);\n  border-radius:3px 0 0 3px;\n}\n.bk-modal-cover{\n  width:200px;aspect-ratio:2\/3;position:relative;\n  border-radius:0 8px 8px 0;overflow:hidden;\n  background:linear-gradient(135deg,#0a1a3a,#1a0a2e);\n  box-shadow:0 0 0 1px rgba(184,146,58,.12) inset;\n}\n.bk-modal-cover-overlay{\n  position:absolute;inset:0;z-index:3;\n  display:flex;flex-direction:column;justify-content:flex-end;\n  padding:1.2rem 1rem 1.3rem;gap:.35rem;\n}\n.bk-modal-cover-shine{\n  position:absolute;inset:0;z-index:4;\n  background:linear-gradient(135deg,rgba(255,255,255,.15),transparent 45%);\n  pointer-events:none;\n}\n\n\/* Modal info *\/\n.bk-modal-cat{\n  font-family:var(--ge-f-mono);font-size:.68rem;\n  letter-spacing:.22em;text-transform:uppercase;\n  color:var(--ge-gold);margin-bottom:.8rem;display:block;\n}\n.bk-modal-info h2{\n  font-family:var(--ge-f-title);font-size:clamp(1.5rem,3vw,2.2rem);\n  font-weight:700;color:var(--ge-text);margin:0 0 .5rem;line-height:1.2;\n}\n.bk-modal-author{\n  font-family:var(--ge-f-title);font-style:italic;\n  font-size:1rem;color:var(--ge-gold-2);margin:0 0 1.6rem;\n}\n.bk-modal-meta{\n  display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;\n  padding:1rem 0;border-top:1px solid var(--ge-border);\n  border-bottom:1px solid var(--ge-border);margin-bottom:1.4rem;\n}\n.bk-modal-meta-item{display:flex;flex-direction:column;gap:4px;}\n.bk-modal-meta-label{\n  font-family:var(--ge-f-mono);font-size:.6rem;\n  letter-spacing:.14em;text-transform:uppercase;color:var(--ge-muted);\n}\n.bk-modal-meta-item span:last-child{font-family:var(--ge-f-title);font-size:1rem;color:var(--ge-text);}\n.bk-modal-desc{font-size:.95rem;line-height:1.8;color:var(--ge-text-2);margin:0 0 1.8rem;}\n.bk-modal-bottom{\n  display:flex;justify-content:space-between;align-items:center;\n  flex-wrap:wrap;gap:1rem;padding-top:1rem;border-top:1px solid var(--ge-border);\n}\n.bk-modal-price-label{\n  font-family:var(--ge-f-mono);font-size:.65rem;letter-spacing:.14em;\n  text-transform:uppercase;color:var(--ge-muted);display:block;margin-bottom:4px;\n}\n.bk-modal-price{font-family:var(--ge-f-title);font-size:2rem;font-weight:700;color:var(--ge-gold-3);}\n\n\/* \u2550\u2550 CART DRAWER \u2550\u2550 *\/\n#bk-cart-drawer{position:fixed;inset:0;z-index:9998;display:none;}\n#bk-cart-drawer.active{display:block;}\n.bk-cart-overlay{\n  position:absolute;inset:0;background:rgba(0,0,0,.7);\n  backdrop-filter:blur(8px);animation:bk-fade .3s;\n}\n.bk-cart-panel{\n  position:absolute;top:0;right:0;bottom:0;width:100%;max-width:440px;\n  background:var(--ge-dark);border-left:1px solid var(--ge-border);\n  display:flex;flex-direction:column;\n  animation:bk-slide-in .35s ease;box-shadow:-10px 0 40px rgba(0,0,0,.5);\n}\n@keyframes bk-slide-in{from{transform:translateX(100%);}to{transform:none;}}\n.bk-cart-head{\n  padding:1.5rem;display:flex;justify-content:space-between;\n  align-items:center;border-bottom:1px solid var(--ge-border);\n}\n.bk-cart-head h3{font-family:var(--ge-f-title);font-size:1.2rem;font-weight:600;color:var(--ge-gold-3);margin:0;}\n.bk-cart-close{\n  background:transparent;border:1px solid var(--ge-border);color:var(--ge-gold-2);\n  width:36px;height:36px;font-size:1.4rem;border-radius:50%;cursor:pointer;\n  display:flex;align-items:center;justify-content:center;transition:all .3s;line-height:1;\n}\n.bk-cart-close:hover{background:var(--ge-gold-dim);transform:rotate(90deg);}\n.bk-cart-body{flex:1;overflow-y:auto;padding:1rem 1.5rem;}\n.bk-cart-empty{\n  text-align:center;padding:3rem 1rem;\n  font-family:var(--ge-f-title);font-style:italic;color:var(--ge-muted);\n}\n.bk-cart-item{display:flex;gap:14px;padding:1rem 0;border-bottom:1px solid var(--ge-border);}\n.bk-cart-item-cover{\n  width:56px;height:84px;flex-shrink:0;\n  background-size:cover;background-position:center;\n  border-radius:2px 6px 6px 2px;box-shadow:3px 3px 10px rgba(0,0,0,.4);\n}\n.bk-cart-item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;}\n.bk-cart-item-title{font-family:var(--ge-f-title);font-size:.95rem;font-weight:600;color:var(--ge-text);margin:0;line-height:1.3;}\n.bk-cart-item-author{font-family:var(--ge-f-title);font-style:italic;font-size:.78rem;color:var(--ge-muted);margin:0;}\n.bk-cart-item-price{font-family:var(--ge-f-title);font-weight:700;color:var(--ge-gold-3);margin-top:auto;}\n.bk-cart-qty{display:flex;align-items:center;gap:6px;margin-top:6px;}\n.bk-cart-qty-btn{\n  width:26px;height:26px;border-radius:6px;\n  background:rgba(255,255,255,.05);border:1px solid var(--ge-border);\n  color:var(--ge-text);cursor:pointer;font-family:var(--ge-f-mono);font-size:.85rem;\n  display:flex;align-items:center;justify-content:center;transition:all .2s;\n}\n.bk-cart-qty-btn:hover{background:var(--ge-gold-dim);border-color:var(--ge-border-2);}\n.bk-cart-qty-val{font-family:var(--ge-f-mono);font-size:.85rem;min-width:24px;text-align:center;color:var(--ge-text);}\n.bk-cart-item-remove{\n  background:transparent;border:none;color:var(--ge-muted);\n  cursor:pointer;font-size:1.1rem;margin-left:auto;align-self:flex-start;\n  padding:4px;transition:color .2s;\n}\n.bk-cart-item-remove:hover{color:#ff7878;}\n.bk-cart-foot{padding:1.5rem;border-top:1px solid var(--ge-border);background:rgba(13,20,40,.55);}\n.bk-cart-total-row{\n  display:flex;justify-content:space-between;align-items:center;\n  margin-bottom:1rem;font-family:var(--ge-f-title);font-size:1.1rem;\n}\n.bk-cart-total-row span:first-child{color:var(--ge-text-2);}\n#bk-cart-total{font-size:1.4rem;font-weight:700;color:var(--ge-gold-3);}\n\n\/* Toast *\/\n#bk-toast{\n  position:fixed;bottom:2rem;left:50%;\n  transform:translateX(-50%) translateY(12px);\n  background:rgba(8,10,20,.97);border:1px solid var(--ge-border-2);\n  border-radius:12px;padding:.7rem 1.4rem;\n  font-family:var(--ge-f-title);font-style:italic;font-size:.9rem;\n  color:var(--ge-gold-3);pointer-events:none;opacity:0;\n  transition:all .35s ease;z-index:10000;\n  white-space:nowrap;max-width:90vw;box-shadow:0 10px 30px rgba(0,0,0,.5);\n}\n#bk-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}\n\n\/* Responsive *\/\n@media(max-width:900px){\n  .book-page .bk-lang-pill{top:84px;right:14px;}\n  .book-page .bk-cart-btn{top:84px;left:14px;padding:6px 14px;}\n  .bk-modal-grid{grid-template-columns:1fr;padding:2rem;gap:2rem;}\n  .bk-modal-book-3d{transform:perspective(900px) rotateY(-10deg);}\n  .bk-modal-cover{width:160px;}\n}\n@media(max-width:600px){\n  .book-page .bk-grid{grid-template-columns:repeat(2,1fr);gap:32px 14px;padding:1rem 1rem 4rem;}\n  .bk-modal-meta{grid-template-columns:1fr 1fr;}\n  .bk-cart-panel{max-width:100%;}\n  #bk-toast{font-size:.8rem;padding:.6rem 1.1rem;}\n  .book-page .bk-cover-title{font-size:.72rem;}\n}\n<\/style>\n\n<script>\n(function(){\n'use strict';\ndocument.readyState==='loading'\n  ? document.addEventListener('DOMContentLoaded', boot)\n  : boot();\n\nfunction boot(){\n\n\/* \u2500\u2500 BOOKS \u2500\u2500 *\/\nvar BOOKS=[\n  {id:1,cat:'meditation',\n   mn:{title:'\u0414\u043e\u0442\u043e\u043e\u0434\u044b\u043d \u043c\u04e9\u043d \u0447\u0430\u043d\u0430\u0440',author:'\u0411.\u0413\u0430\u043d\u0437\u043e\u0440\u0438\u0433',cat:'\u041c\u0435\u0434\u0438\u0442\u0430\u0446\u0438',bklang:'\u041c\u043e\u043d\u0433\u043e\u043b',\n       desc:'\u0416\u0438\u043d\u0445\u044d\u043d\u044d \u043c\u04e9\u043d \u0447\u0430\u043d\u0430\u0440\u0430\u0430 \u043d\u044d\u044d\u043d \u0438\u043b\u0440\u04af\u04af\u043b\u044d\u0445 \u043f\u0440\u0430\u043a\u0442\u0438\u043a \u0433\u0430\u0440\u044b\u043d \u0430\u0432\u043b\u0430\u0433\u0430. \u04e8\u04e9\u0440\u0438\u0439\u0433\u04e9\u04e9 \u0442\u0430\u043d\u0438\u043d \u043c\u044d\u0434\u044d\u0445, \u0434\u043e\u0442\u043e\u043e\u0434 \u0442\u0430\u0439\u0432\u0430\u043d \u0431\u0430\u0439\u0434\u0430\u043b\u0434 \u0445\u04af\u0440\u044d\u0445 \u0437\u0430\u043c\u044b\u0433 \u0430\u043b\u0445\u0430\u043c \u0430\u043b\u0445\u043c\u0430\u0430\u0440 \u0442\u0430\u0439\u043b\u0431\u0430\u0440\u043b\u0430\u0441\u0430\u043d.'},\n   en:{title:'The Essence Within',author:'B.Ganz\u00f6rig',cat:'Meditation',bklang:'Mongolian',\n       desc:'A practical guide to discovering your true nature. Step-by-step path to self-knowledge and inner peace.'},\n   cover:'https:\/\/images.unsplash.com\/photo-1544947950-fa07a98d237f?w=400&q=80',\n   color:'linear-gradient(135deg,#12082e,#0a1540)',price:35000,year:'2023',pages:248},\n\n  {id:2,cat:'philosophy',\n   mn:{title:'\u0414\u0430\u043e \u0414\u044d \u0416\u0438\u043d\u0433',author:'\u041b\u0430\u043e \u0426\u0437\u044b',cat:'\u0413\u04af\u043d \u0443\u0445\u0430\u0430\u043d',bklang:'\u041c\u043e\u043d\u0433\u043e\u043b',\n       desc:'\u042d\u0440\u0442\u043d\u0438\u0439 \u0445\u044f\u0442\u0430\u0434\u044b\u043d \u043c\u044d\u0440\u0433\u044d\u043d \u0443\u0445\u0430\u0430\u043d\u044b \u0441\u0443\u0443\u0440\u044c \u0431\u04af\u0442\u044d\u044d\u043b. \u041e\u0440\u0447\u0438\u043d \u04af\u0435\u0438\u0439\u043d \u043e\u0440\u0447\u0443\u0443\u043b\u0433\u0430, \u0434\u044d\u043b\u0433\u044d\u0440\u044d\u043d\u0433\u04af\u0439 \u0442\u0430\u0439\u043b\u0431\u0430\u0440\u0442\u0430\u0439.'},\n   en:{title:'Tao Te Ching',author:'Lao Tzu',cat:'Philosophy',bklang:'Mongolian',\n       desc:'A foundational work of ancient Chinese wisdom. Modern translation with detailed commentary.'},\n   cover:'https:\/\/images.unsplash.com\/photo-1589998059171-988d887df646?w=400&q=80',\n   color:'linear-gradient(135deg,#0a2215,#163208)',price:42000,year:'2024',pages:320},\n\n  {id:3,cat:'practice',\n   mn:{title:'\u04e8\u0434\u04e9\u0440 \u0442\u0443\u0442\u043c\u044b\u043d \u0434\u0430\u0434\u043b\u0430\u0433\u0430',author:'\u0414.\u041e\u044e\u0443\u043d\u0446\u044d\u0446\u044d\u0433',cat:'\u0414\u0430\u0434\u043b\u0430\u0433\u0430',bklang:'\u041c\u043e\u043d\u0433\u043e\u043b',\n       desc:'21 \u0445\u043e\u043d\u043e\u0433\u0442 \u04e9\u04e9\u0440\u0447\u043b\u04e9\u043b\u0442 \u0430\u0432\u0447\u0440\u0430\u0445 \u04e9\u0434\u04e9\u0440 \u0442\u0443\u0442\u043c\u044b\u043d \u0434\u0430\u0441\u0433\u0430\u043b, \u043c\u0435\u0434\u0438\u0442\u0430\u0446\u0438, \u0442\u0443\u043d\u0433\u0430\u0430\u043b\u0433\u0430. \u0428\u0438\u043d\u044d\u0445\u044d\u043d \u0441\u0443\u0440\u0430\u043b\u0446\u0430\u0433\u0447\u0434\u0430\u0434 \u0437\u043e\u0440\u0438\u0443\u043b\u0441\u0430\u043d.'},\n   en:{title:'Daily Practice',author:'D.Oyuntsetseg',cat:'Practice',bklang:'Mongolian',\n       desc:'Daily exercises, meditations, and reflections to bring change in 21 days. For beginners.'},\n   cover:'https:\/\/images.unsplash.com\/photo-1507842217343-583bb7270b66?w=400&q=80',\n   color:'linear-gradient(135deg,#24140a,#3a2208)',price:28000,year:'2024',pages:184},\n\n  {id:4,cat:'biography',\n   mn:{title:'\u0411\u0443\u0434\u0434\u0430 \u0413\u0430\u0443\u0442\u0430\u043c\u044b\u043d \u0437\u0430\u043c',author:'\u0421.\u0414\u044d\u043b\u0433\u044d\u0440\u043c\u0430\u0430',cat:'\u041d\u0430\u043c\u0442\u0430\u0440',bklang:'\u041c\u043e\u043d\u0433\u043e\u043b',\n       desc:'\u0413\u044d\u0433\u044d\u044d\u0440\u043b\u0438\u0439\u043d \u0437\u0430\u043c\u044b\u0433 \u043e\u043b\u0441\u043e\u043d \u0411\u0443\u0434\u0434\u0430 \u0421\u0438\u0434\u0445\u0430\u0440\u0442\u0445\u0430 \u0413\u0430\u0443\u0442\u0430\u043c\u044b\u043d \u0430\u043c\u044c\u0434\u0440\u0430\u043b, \u0441\u0443\u0440\u0433\u0430\u0430\u043b\u044b\u043d \u0434\u044d\u043b\u0433\u044d\u0440\u044d\u043d\u0433\u04af\u0439 \u043d\u0430\u043c\u0442\u0430\u0440.'},\n   en:{title:'Path of Gautama',author:'S.Delgermaa',cat:'Biography',bklang:'Mongolian',\n       desc:'Detailed biography of Siddhartha Gautama and his teachings on the path of enlightenment.'},\n   cover:'https:\/\/images.unsplash.com\/photo-1532012197267-da84d127e765?w=400&q=80',\n   color:'linear-gradient(135deg,#220808,#380e0e)',price:48000,year:'2023',pages:412},\n\n  {id:5,cat:'meditation',\n   mn:{title:'\u0410\u043c\u044c\u0441\u0433\u0430\u043b \u0431\u0430 \u0423\u0445\u0430\u043c\u0441\u0430\u0440',author:'\u041e.\u041c\u04e9\u043d\u0445\u0437\u0443\u043b',cat:'\u041c\u0435\u0434\u0438\u0442\u0430\u0446\u0438',bklang:'\u041c\u043e\u043d\u0433\u043e\u043b',\n       desc:'\u0410\u043c\u044c\u0441\u0433\u0430\u043b\u044b\u043d \u0434\u0430\u0441\u0433\u0430\u043b\u0430\u0430\u0440 \u0443\u0445\u0430\u043c\u0441\u0430\u0440\u0430\u0430 \u0441\u044d\u0440\u044d\u044d\u0445, \u043e\u044e\u0443\u043d \u0441\u0430\u043d\u0430\u0430\u0433 \u0442\u043e\u0433\u0442\u043c\u043e\u043b \u0431\u0430\u0439\u043b\u0433\u0430\u0445 \u0442\u0435\u0445\u043d\u0438\u043a.'},\n   en:{title:'Breath & Awareness',author:'O.Munkhzul',cat:'Meditation',bklang:'Mongolian',\n       desc:'Techniques to awaken awareness and stabilize the mind through breathing exercises.'},\n   cover:'https:\/\/images.unsplash.com\/photo-1506905925346-21bda4d32df4?w=400&q=80',\n   color:'linear-gradient(135deg,#081630,#102240)',price:32000,year:'2024',pages:196},\n\n  {id:6,cat:'philosophy',\n   mn:{title:'\u042d\u0440\u0442\u043d\u0438\u0439 \u043c\u044d\u0440\u0433\u044d\u043d \u0443\u0445\u0430\u0430\u043d',author:'\u0427.\u042d\u0440\u0434\u044d\u043d\u044d\u0441\u04af\u0440\u044d\u043d',cat:'\u0413\u04af\u043d \u0443\u0445\u0430\u0430\u043d',bklang:'\u041c\u043e\u043d\u0433\u043e\u043b',\n       desc:'\u0414\u043e\u0440\u043d\u043e \u0434\u0430\u0445\u0438\u043d\u044b \u0444\u0438\u043b\u043e\u0441\u043e\u0444\u0438\u0447\u0434\u044b\u043d \u0445\u0443\u0432\u044c \u0445\u04af\u043d\u0438\u0439 \u04e9\u0441\u04e9\u043b\u0442, \u0433\u044d\u0433\u044d\u044d\u0440\u043b\u0438\u0439\u043d \u0442\u0430\u043b\u0430\u0430\u0440\u0445 \u0441\u0443\u0440\u0433\u0430\u0430\u043b\u044b\u043d \u0446\u0443\u0433\u043b\u0443\u0443\u043b\u0433\u0430.'},\n   en:{title:'Ancient Wisdom',author:'Ch.Erdenes\u00fcren',cat:'Philosophy',bklang:'Mongolian',\n       desc:'Eastern philosophers on personal growth and enlightenment \u2014 a curated collection.'},\n   cover:'https:\/\/images.unsplash.com\/photo-1497633762265-9d179a990aa6?w=400&q=80',\n   color:'linear-gradient(135deg,#180a28,#261535)',price:38000,year:'2023',pages:276},\n\n  {id:7,cat:'practice',\n   mn:{title:'\u0427\u0438\u043c\u044d\u044d\u0433\u04af\u0439 \u0431\u0430\u0439\u0434\u043b\u044b\u043d \u0434\u044d\u0432\u0442\u044d\u0440',author:'\u0411.\u0413\u0430\u043d\u0437\u043e\u0440\u0438\u0433',cat:'\u0414\u0430\u0434\u043b\u0430\u0433\u0430',bklang:'\u041c\u043e\u043d\u0433\u043e\u043b',\n       desc:'\u04e8\u0434\u04e9\u0440 \u0442\u0443\u0442\u043c\u044b\u043d \u0442\u0443\u043d\u0433\u0430\u0430\u043b\u0433\u044b\u043d \u0434\u0430\u0441\u0433\u0430\u043b \u0434\u044d\u0432\u0442\u044d\u0440. \u0411\u0438\u0447\u0438\u0445 \u043e\u0440\u043e\u043d \u0437\u0430\u0439\u0442\u0430\u0439 \u0436\u0438\u043b\u0438\u0439\u043d \u0434\u044d\u0432\u0442\u044d\u0440.'},\n   en:{title:'The Stillness Journal',author:'B.Ganz\u00f6rig',cat:'Practice',bklang:'Mongolian',\n       desc:'Daily reflection workbook with writing space. A full-year journal for inner peace.'},\n   cover:'https:\/\/images.unsplash.com\/photo-1455390582262-044cdead277a?w=400&q=80',\n   color:'linear-gradient(135deg,#082220,#0c3228)',price:25000,year:'2025',pages:365},\n\n  {id:8,cat:'biography',\n   mn:{title:'\u0418\u0445 \u0431\u0430\u0433\u0448 \u043d\u0430\u0440\u044b\u043d \u0437\u0430\u043c\u043d\u0430\u043b',author:'\u041e\u043b\u043e\u043d \u0437\u043e\u0445\u0438\u043e\u0433\u0447',cat:'\u041d\u0430\u043c\u0442\u0430\u0440',bklang:'\u041c\u043e\u043d\u0433\u043e\u043b',\n       desc:'\u0414\u044d\u043b\u0445\u0438\u0439\u043d \u0430\u043b\u0434\u0430\u0440\u0442\u0430\u0439 \u043e\u044e\u0443\u043d \u0441\u0430\u043d\u0430\u0430\u043d\u044b \u0431\u0430\u0433\u0448 \u043d\u0430\u0440\u044b\u043d \u0430\u043c\u044c\u0434\u0440\u0430\u043b, \u0441\u0443\u0440\u0433\u0430\u0430\u043b. 12 \u0431\u0430\u0433\u0448.'},\n   en:{title:'Path of Great Masters',author:'Various authors',cat:'Biography',bklang:'Mongolian',\n       desc:'Lives and teachings of 12 world-renowned spiritual masters in one volume.'},\n   cover:'https:\/\/images.unsplash.com\/photo-1519682337058-a94d519337bc?w=400&q=80',\n   color:'linear-gradient(135deg,#22160a,#381e08)',price:55000,year:'2024',pages:488}\n];\n\n\/* \u2500\u2500 STATE \u2500\u2500 *\/\nvar S={lang:'mn',filter:'all',query:'',cart:{}};\ntry{\n  S.lang=localStorage.getItem('bk_lang')||'mn';\n  var sc=localStorage.getItem('bk_cart');\n  if(sc) S.cart=JSON.parse(sc)||{};\n}catch(e){}\n\n\/* \u2500\u2500 HELPERS \u2500\u2500 *\/\nfunction $(id){return document.getElementById(id);}\nfunction $a(s){return document.querySelectorAll(s);}\nfunction esc(s){return String(s).replace(\/&\/g,'&amp;').replace(\/<\/g,'&lt;').replace(\/>\/g,'&gt;').replace(\/\"\/g,'&quot;');}\nfunction fmt(n){return String(n).replace(\/\\B(?=(\\d{3})+(?!\\d))\/g,',')+'\u20ae';}\nfunction find(id){for(var i=0;i<BOOKS.length;i++)if(BOOKS[i].id===id)return BOOKS[i];return null;}\nfunction cnt(){var n=0;for(var k in S.cart)if(Object.prototype.hasOwnProperty.call(S.cart,k))n+=S.cart[k];return n;}\nfunction total(){\n  var t=0;\n  for(var k in S.cart){\n    if(!Object.prototype.hasOwnProperty.call(S.cart,k))continue;\n    var b=find(parseInt(k,10));\n    if(b)t+=b.price*S.cart[k];\n  }\n  return t;\n}\nfunction saveCart(){try{localStorage.setItem('bk_cart',JSON.stringify(S.cart));}catch(e){}}\nfunction filtered(){\n  var q=S.query.toLowerCase().trim();\n  return BOOKS.filter(function(b){\n    if(S.filter!=='all'&#038;&#038;b.cat!==S.filter)return false;\n    if(!q)return true;\n    var i=b[S.lang];\n    return i.title.toLowerCase().indexOf(q)>-1||i.author.toLowerCase().indexOf(q)>-1;\n  });\n}\n\n\/* \u2500\u2500 TOAST \u2500\u2500 *\/\nfunction toast(msg){\n  var t=$('bk-toast');if(!t)return;\n  t.textContent=msg;t.classList.add('show');\n  clearTimeout(t._t);\n  t._t=setTimeout(function(){t.classList.remove('show');},2400);\n}\n\n\/* \u2500\u2500 LANGUAGE \u2500\u2500 *\/\nfunction applyLang(){\n  $a('.book-page [data-mn],.book-page [data-en]').forEach(function(el){\n    var txt=el.getAttribute('data-'+S.lang);if(txt!==null)el.textContent=txt;\n  });\n  $a('.book-page [data-ph-mn]').forEach(function(el){\n    el.placeholder=S.lang==='mn'?el.getAttribute('data-ph-mn'):el.getAttribute('data-ph-en');\n  });\n  $a('.book-page .bk-lang-btn').forEach(function(b){\n    b.classList.toggle('active',b.getAttribute('data-lang')===S.lang);\n  });\n  try{localStorage.setItem('bk_lang',S.lang);}catch(e){}\n  renderGrid();\n  renderCartUI();\n}\n\n\/* \u2500\u2500 RENDER GRID \u2500\u2500 *\/\nfunction renderGrid(){\n  var grid=$('bk-grid');if(!grid)return;\n  var list=filtered();\n  if(!list.length){\n    grid.innerHTML='<div class=\"bk-no-results\">'+(S.lang==='mn'?'\u041d\u043e\u043c \u043e\u043b\u0434\u0441\u043e\u043d\u0433\u04af\u0439...':'No books found...')+'<\/div>';\n    return;\n  }\n  grid.innerHTML='';\n  list.forEach(function(b,i){\n    var info=b[S.lang];\n    var card=document.createElement('div');\n    card.className='bk-book-card';\n    card.style.animationDelay=(i*.06)+'s';\n    card.setAttribute('data-id',b.id);\n    card.innerHTML=\n      '<div class=\"bk-book-3d\">'+\n        '<div class=\"bk-book-spine\"><\/div>'+\n        '<div class=\"bk-book-cover\" style=\"background:'+b.color+'\">'+\n          '<img decoding=\"async\" class=\"bk-cover-img\" src=\"'+b.cover+'\" alt=\"'+esc(info.title)+'\" loading=\"lazy\">'+\n          '<div class=\"bk-cover-grad\"><\/div>'+\n          '<div class=\"bk-cover-shine\"><\/div>'+\n          '<div class=\"bk-cover-text\">'+\n            '<span class=\"bk-cover-cat\">'+esc(info.cat)+'<\/span>'+\n            '<h3 class=\"bk-cover-title\">'+esc(info.title)+'<\/h3>'+\n            '<p class=\"bk-cover-author\">'+esc(info.author)+'<\/p>'+\n          '<\/div>'+\n        '<\/div>'+\n      '<\/div>'+\n      '<div class=\"bk-book-meta\">'+\n        '<span class=\"bk-book-price\">'+fmt(b.price)+'<\/span>'+\n        '<button type=\"button\" class=\"bk-book-add\" data-add=\"'+b.id+'\">'+(S.lang==='mn'?'+ \u0421\u0430\u0433\u0441':'+ Add')+'<\/button>'+\n      '<\/div>';\n\n    \/* click \u2192 modal (not add btn) *\/\n    card.addEventListener('click',function(e){\n      if(e.target.closest('[data-add]'))return;\n      openModal(b.id);\n    });\n    grid.appendChild(card);\n  });\n\n  \/* bind add buttons *\/\n  grid.querySelectorAll('[data-add]').forEach(function(btn){\n    btn.addEventListener('click',function(e){\n      e.stopPropagation();\n      addToCart(parseInt(btn.getAttribute('data-add'),10));\n    });\n  });\n}\n\n\/* \u2500\u2500 MODAL \u2500\u2500 *\/\nfunction openModal(id){\n  var b=find(id);if(!b)return;\n  var info=b[S.lang];\n\n  \/* cover background *\/\n  var cover=$('bk-modal-cover');\n  cover.style.background=b.color;\n  \/* Remove old image *\/\n  var oldImg=cover.querySelector('img');if(oldImg)oldImg.remove();\n  var oldGrad=cover.querySelector('.bk-mcov-grad');if(oldGrad)oldGrad.remove();\n  \/* Add fresh image *\/\n  var img=document.createElement('img');\n  img.style.cssText='position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.62;display:block;';\n  img.src=b.cover;img.alt=esc(info.title);\n  cover.insertBefore(img,cover.firstChild);\n  \/* Add gradient over image *\/\n  var grad=document.createElement('div');\n  grad.className='bk-mcov-grad';\n  grad.style.cssText='position:absolute;inset:0;z-index:1;background:linear-gradient(175deg,rgba(0,0,0,.06) 0%,rgba(0,0,0,.3) 40%,rgba(0,0,0,.82) 100%);';\n  cover.insertBefore(grad,$('bk-modal-cover-overlay'));\n\n  \/* overlay text on cover *\/\n  var ol=$('bk-modal-cover-overlay');\n  ol.innerHTML=\n    '<span style=\"font-family:var(--ge-f-mono);font-size:.52rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ge-gold-2);opacity:.9;display:block;\">'+esc(info.cat)+'<\/span>'+\n    '<h3 style=\"font-family:var(--ge-f-title);font-size:.9rem;font-weight:700;color:#fff;margin:0 0 .25rem;line-height:1.25;text-shadow:0 1px 10px rgba(0,0,0,.8);\">'+esc(info.title)+'<\/h3>'+\n    '<p style=\"font-family:var(--ge-f-title);font-style:italic;font-size:.68rem;color:rgba(240,204,128,.9);margin:0;\">'+esc(info.author)+'<\/p>';\n\n  \/* fields *\/\n  $('bk-modal-cat').textContent    = info.cat;\n  $('bk-modal-title').textContent  = info.title;\n  $('bk-modal-author').textContent = info.author;\n  $('bk-modal-year').textContent   = b.year;\n  $('bk-modal-pages').textContent  = b.pages+(S.lang==='mn'?' \u0445\u0443\u0443\u0434\u0430\u0441':' pages');\n  $('bk-modal-bklang').textContent = info.bklang;\n  $('bk-modal-desc').textContent   = info.desc;\n  $('bk-modal-price').textContent  = fmt(b.price);\n  $('bk-modal-add').setAttribute('data-id',id);\n\n  $('bk-modal').classList.add('active');\n  document.body.style.overflow='hidden';\n}\nfunction closeModal(){$('bk-modal').classList.remove('active');document.body.style.overflow='';}\n\n\/* \u2500\u2500 CART \u2500\u2500 *\/\nfunction addToCart(id){\n  var b=find(id);if(!b)return;\n  S.cart[id]=(S.cart[id]||0)+1;\n  saveCart();renderCartUI();\n  toast('\ud83d\uded2 '+b[S.lang].title);\n}\nfunction changeQty(id,d){\n  if(!S.cart[id])return;\n  S.cart[id]+=d;\n  if(S.cart[id]<=0)delete S.cart[id];\n  saveCart();renderCartUI();\n}\nfunction removeFromCart(id){delete S.cart[id];saveCart();renderCartUI();}\nfunction openCart(){$('bk-cart-drawer').classList.add('active');document.body.style.overflow='hidden';}\nfunction closeCart(){$('bk-cart-drawer').classList.remove('active');document.body.style.overflow='';}\n\nfunction renderCartUI(){\n  $('bk-cart-count').textContent=cnt();\n  $('bk-cart-total').textContent=fmt(total());\n  var body=$('bk-cart-body');if(!body)return;\n  var keys=Object.keys(S.cart);\n  if(!keys.length){\n    body.innerHTML='<div class=\"bk-cart-empty\">'+(S.lang==='mn'?'\u0421\u0430\u0433\u0441 \u0445\u043e\u043e\u0441\u043e\u043d \u0431\u0430\u0439\u043d\u0430...':'Your cart is empty...')+'<\/div>';\n    return;\n  }\n  body.innerHTML='';\n  keys.forEach(function(id){\n    var b=find(parseInt(id,10));if(!b)return;\n    var info=b[S.lang];var qty=S.cart[id];\n    var row=document.createElement('div');\n    row.className='bk-cart-item';\n    row.innerHTML=\n      '<div class=\"bk-cart-item-cover\" style=\"background-image:url('+b.cover+');background:'+b.color+';\"><\/div>'+\n      '<div class=\"bk-cart-item-info\">'+\n        '<h4 class=\"bk-cart-item-title\">'+esc(info.title)+'<\/h4>'+\n        '<p class=\"bk-cart-item-author\">'+esc(info.author)+'<\/p>'+\n        '<span class=\"bk-cart-item-price\">'+fmt(b.price*qty)+'<\/span>'+\n        '<div class=\"bk-cart-qty\">'+\n          '<button type=\"button\" class=\"bk-cart-qty-btn\" data-minus=\"'+id+'\">\u2212<\/button>'+\n          '<span class=\"bk-cart-qty-val\">'+qty+'<\/span>'+\n          '<button type=\"button\" class=\"bk-cart-qty-btn\" data-plus=\"'+id+'\">+<\/button>'+\n        '<\/div>'+\n      '<\/div>'+\n      '<button type=\"button\" class=\"bk-cart-item-remove\" data-rm=\"'+id+'\">\u00d7<\/button>';\n    body.appendChild(row);\n  });\n  body.querySelectorAll('[data-minus]').forEach(function(b){b.addEventListener('click',function(){changeQty(parseInt(b.getAttribute('data-minus'),10),-1);});});\n  body.querySelectorAll('[data-plus]').forEach(function(b){b.addEventListener('click',function(){changeQty(parseInt(b.getAttribute('data-plus'),10),1);});});\n  body.querySelectorAll('[data-rm]').forEach(function(b){b.addEventListener('click',function(){removeFromCart(parseInt(b.getAttribute('data-rm'),10));});});\n}\n\n\/* \u2500\u2500 EVENTS \u2500\u2500 *\/\n$('bk-search').addEventListener('input',function(){S.query=this.value;renderGrid();});\n\n$a('.book-page .bk-filt').forEach(function(btn){\n  btn.addEventListener('click',function(){\n    $a('.book-page .bk-filt').forEach(function(b){b.classList.remove('active');});\n    btn.classList.add('active');S.filter=btn.getAttribute('data-cat');renderGrid();\n  });\n});\n\n$a('.book-page .bk-lang-btn').forEach(function(btn){\n  btn.addEventListener('click',function(){S.lang=btn.getAttribute('data-lang');applyLang();});\n});\n\n$('bk-cart-btn').addEventListener('click', openCart);\n$('bk-cart-close').addEventListener('click', closeCart);\n$('bk-cart-overlay').addEventListener('click', closeCart);\n$('bk-modal-close').addEventListener('click', closeModal);\n$('bk-modal-overlay').addEventListener('click', closeModal);\n$('bk-modal-add').addEventListener('click',function(){addToCart(parseInt(this.getAttribute('data-id'),10));});\n\n$('bk-checkout').addEventListener('click',function(){\n  if(!cnt()){toast(S.lang==='mn'?'\u0421\u0430\u0433\u0441 \u0445\u043e\u043e\u0441\u043e\u043d \u0431\u0430\u0439\u043d\u0430':'Cart is empty');return;}\n  toast(S.lang==='mn'?'\u2726 \u0417\u0430\u0445\u0438\u0430\u043b\u0433\u0430 \u0438\u043b\u0433\u044d\u044d\u0433\u0434\u043b\u044d\u044d!':'\u2726 Order sent!');\n  S.cart={};saveCart();renderCartUI();closeCart();\n});\n\ndocument.addEventListener('keydown',function(e){\n  if(e.key!=='Escape')return;\n  if($('bk-modal').classList.contains('active'))closeModal();\n  else if($('bk-cart-drawer').classList.contains('active'))closeCart();\n});\n\n\/* \u2500\u2500 INIT \u2500\u2500 *\/\napplyLang();\nrenderCartUI();\nconsole.log('%c\u2726 \u0413\u044d\u0440\u043b\u0438\u0439\u043d \u042d\u0440\u0438\u043d \u0422\u04e9\u0432 \u2726%c Bookstore ready',\n  'color:#f0cc80;font-style:italic;font-size:13px;','color:#888;');\n}\n})();\n<\/script>","protected":false},"excerpt":{"rendered":"<p>\ud83d\uded2 0 \u2726 \u041c\u042d\u0420\u0413\u042d\u041d \u0423\u0425\u0410\u0410\u041d\u042b \u0425\u041e\u041b\u0411\u041e\u041e\u0421 \u2726 \ud83d\udcd6 \u041d\u043e\u043c\u044b\u043d \u0414\u044d\u043b\u0433\u04af\u04af\u0440 \u0414\u043e\u0442\u043e\u043e\u0434 \u0433\u044d\u0440\u043b\u044d\u044d \u0441\u044d\u0440\u044d\u044d\u0445 \u043d\u043e\u043c\u043d\u0443\u0443\u0434 \ud83d\udd0d \u0411\u04af\u0433\u0434 \ud83e\uddd8 \u041c\u0435\u0434\u0438\u0442\u0430\u0446\u0438 \ud83d\udcda \u0413\u04af\u043d \u0443\u0445\u0430\u0430\u043d \ud83e\udeb7 \u0414\u0430\u0434\u043b\u0430\u0433\u0430 \u2728 \u041d\u0430\u043c\u0442\u0430\u0440 \u00d7 \ud83d\uded2 \u0421\u0430\u0433\u0441\u0430\u043d\u0434 \u0445\u0438\u0439\u0445 \ud83d\uded2 \u041c\u0438\u043d\u0438\u0439 \u0441\u0430\u0433\u0441 \u00d7 \u041d\u0438\u0439\u0442: 0\u20ae \u0417\u0430\u0445\u0438\u0430\u043b\u0430\u0445 \u2192<\/p>","protected":false},"author":274514696,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_eb_attr":"","footnotes":""},"class_list":["post-927","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Book - \u0413\u044d\u0440\u043b\u0438\u0439\u043d \u042d\u0440\u0438\u043d \u0442\u04e9\u0432<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/gerliinerin.mn\/en\/book\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Book - \u0413\u044d\u0440\u043b\u0438\u0439\u043d \u042d\u0440\u0438\u043d \u0442\u04e9\u0432\" \/>\n<meta property=\"og:description\" content=\"\ud83d\uded2 0 \u2726 \u041c\u042d\u0420\u0413\u042d\u041d \u0423\u0425\u0410\u0410\u041d\u042b \u0425\u041e\u041b\u0411\u041e\u041e\u0421 \u2726 \ud83d\udcd6 \u041d\u043e\u043c\u044b\u043d \u0414\u044d\u043b\u0433\u04af\u04af\u0440 \u0414\u043e\u0442\u043e\u043e\u0434 \u0433\u044d\u0440\u043b\u044d\u044d \u0441\u044d\u0440\u044d\u044d\u0445 \u043d\u043e\u043c\u043d\u0443\u0443\u0434 \ud83d\udd0d \u0411\u04af\u0433\u0434 \ud83e\uddd8 \u041c\u0435\u0434\u0438\u0442\u0430\u0446\u0438 \ud83d\udcda \u0413\u04af\u043d \u0443\u0445\u0430\u0430\u043d \ud83e\udeb7 \u0414\u0430\u0434\u043b\u0430\u0433\u0430 \u2728 \u041d\u0430\u043c\u0442\u0430\u0440 \u00d7 \ud83d\uded2 \u0421\u0430\u0433\u0441\u0430\u043d\u0434 \u0445\u0438\u0439\u0445 \ud83d\uded2 \u041c\u0438\u043d\u0438\u0439 \u0441\u0430\u0433\u0441 \u00d7 \u041d\u0438\u0439\u0442: 0\u20ae \u0417\u0430\u0445\u0438\u0430\u043b\u0430\u0445 \u2192\" \/>\n<meta property=\"og:url\" content=\"https:\/\/gerliinerin.mn\/en\/book\/\" \/>\n<meta property=\"og:site_name\" content=\"\u0413\u044d\u0440\u043b\u0438\u0439\u043d \u042d\u0440\u0438\u043d \u0442\u04e9\u0432\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-28T04:28:39+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/gerliinerin.mn\\\/book\\\/\",\"url\":\"https:\\\/\\\/gerliinerin.mn\\\/book\\\/\",\"name\":\"Book - \u0413\u044d\u0440\u043b\u0438\u0439\u043d \u042d\u0440\u0438\u043d \u0442\u04e9\u0432\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/gerliinerin.mn\\\/#website\"},\"datePublished\":\"2026-04-16T05:31:18+00:00\",\"dateModified\":\"2026-05-28T04:28:39+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/gerliinerin.mn\\\/book\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/gerliinerin.mn\\\/book\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/gerliinerin.mn\\\/book\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/gerliinerin.mn\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Book\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/gerliinerin.mn\\\/#website\",\"url\":\"https:\\\/\\\/gerliinerin.mn\\\/\",\"name\":\"\u0413\u044d\u0440\u043b\u0438\u0439\u043d \u042d\u0440\u0438\u043d \u0442\u04e9\u0432\",\"description\":\"\u0413\u044d\u0433\u044d\u044d\u0440\u044d\u043b, \u0423\u0445\u0430\u043c\u0441\u0430\u0440, \u0414\u043e\u0442\u043e\u043e\u0434 \u0443\u0445\u0430\u0430\u0440\u0430\u043b\",\"publisher\":{\"@id\":\"https:\\\/\\\/gerliinerin.mn\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/gerliinerin.mn\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/gerliinerin.mn\\\/#organization\",\"name\":\"\u0413\u044d\u0440\u043b\u0438\u0439\u043d \u042d\u0440\u0438\u043d \u0442\u04e9\u0432\",\"url\":\"https:\\\/\\\/gerliinerin.mn\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/gerliinerin.mn\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/gerliinerin.mn\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/lllll.png?fit=2460%2C2484&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/gerliinerin.mn\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/lllll.png?fit=2460%2C2484&ssl=1\",\"width\":2460,\"height\":2484,\"caption\":\"\u0413\u044d\u0440\u043b\u0438\u0439\u043d \u042d\u0440\u0438\u043d \u0442\u04e9\u0432\"},\"image\":{\"@id\":\"https:\\\/\\\/gerliinerin.mn\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Book - \u0413\u044d\u0440\u043b\u0438\u0439\u043d \u042d\u0440\u0438\u043d \u0442\u04e9\u0432","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:\/\/gerliinerin.mn\/en\/book\/","og_locale":"en_US","og_type":"article","og_title":"Book - \u0413\u044d\u0440\u043b\u0438\u0439\u043d \u042d\u0440\u0438\u043d \u0442\u04e9\u0432","og_description":"\ud83d\uded2 0 \u2726 \u041c\u042d\u0420\u0413\u042d\u041d \u0423\u0425\u0410\u0410\u041d\u042b \u0425\u041e\u041b\u0411\u041e\u041e\u0421 \u2726 \ud83d\udcd6 \u041d\u043e\u043c\u044b\u043d \u0414\u044d\u043b\u0433\u04af\u04af\u0440 \u0414\u043e\u0442\u043e\u043e\u0434 \u0433\u044d\u0440\u043b\u044d\u044d \u0441\u044d\u0440\u044d\u044d\u0445 \u043d\u043e\u043c\u043d\u0443\u0443\u0434 \ud83d\udd0d \u0411\u04af\u0433\u0434 \ud83e\uddd8 \u041c\u0435\u0434\u0438\u0442\u0430\u0446\u0438 \ud83d\udcda \u0413\u04af\u043d \u0443\u0445\u0430\u0430\u043d \ud83e\udeb7 \u0414\u0430\u0434\u043b\u0430\u0433\u0430 \u2728 \u041d\u0430\u043c\u0442\u0430\u0440 \u00d7 \ud83d\uded2 \u0421\u0430\u0433\u0441\u0430\u043d\u0434 \u0445\u0438\u0439\u0445 \ud83d\uded2 \u041c\u0438\u043d\u0438\u0439 \u0441\u0430\u0433\u0441 \u00d7 \u041d\u0438\u0439\u0442: 0\u20ae \u0417\u0430\u0445\u0438\u0430\u043b\u0430\u0445 \u2192","og_url":"https:\/\/gerliinerin.mn\/en\/book\/","og_site_name":"\u0413\u044d\u0440\u043b\u0438\u0439\u043d \u042d\u0440\u0438\u043d \u0442\u04e9\u0432","article_modified_time":"2026-05-28T04:28:39+00:00","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/gerliinerin.mn\/book\/","url":"https:\/\/gerliinerin.mn\/book\/","name":"Book - \u0413\u044d\u0440\u043b\u0438\u0439\u043d \u042d\u0440\u0438\u043d \u0442\u04e9\u0432","isPartOf":{"@id":"https:\/\/gerliinerin.mn\/#website"},"datePublished":"2026-04-16T05:31:18+00:00","dateModified":"2026-05-28T04:28:39+00:00","breadcrumb":{"@id":"https:\/\/gerliinerin.mn\/book\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/gerliinerin.mn\/book\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/gerliinerin.mn\/book\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/gerliinerin.mn\/"},{"@type":"ListItem","position":2,"name":"Book"}]},{"@type":"WebSite","@id":"https:\/\/gerliinerin.mn\/#website","url":"https:\/\/gerliinerin.mn\/","name":"The Essence of Light Center","description":"Enlightenment, Consciousness, and Inner Awareness","publisher":{"@id":"https:\/\/gerliinerin.mn\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/gerliinerin.mn\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/gerliinerin.mn\/#organization","name":"The Essence of Light Center","url":"https:\/\/gerliinerin.mn\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/gerliinerin.mn\/#\/schema\/logo\/image\/","url":"https:\/\/i0.wp.com\/gerliinerin.mn\/wp-content\/uploads\/2026\/04\/lllll.png?fit=2460%2C2484&ssl=1","contentUrl":"https:\/\/i0.wp.com\/gerliinerin.mn\/wp-content\/uploads\/2026\/04\/lllll.png?fit=2460%2C2484&ssl=1","width":2460,"height":2484,"caption":"\u0413\u044d\u0440\u043b\u0438\u0439\u043d \u042d\u0440\u0438\u043d \u0442\u04e9\u0432"},"image":{"@id":"https:\/\/gerliinerin.mn\/#\/schema\/logo\/image\/"}}]}},"jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/PgXGUa-eX","jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/gerliinerin.mn\/en\/wp-json\/wp\/v2\/pages\/927","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gerliinerin.mn\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/gerliinerin.mn\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/gerliinerin.mn\/en\/wp-json\/wp\/v2\/users\/274514696"}],"replies":[{"embeddable":true,"href":"https:\/\/gerliinerin.mn\/en\/wp-json\/wp\/v2\/comments?post=927"}],"version-history":[{"count":43,"href":"https:\/\/gerliinerin.mn\/en\/wp-json\/wp\/v2\/pages\/927\/revisions"}],"predecessor-version":[{"id":1344,"href":"https:\/\/gerliinerin.mn\/en\/wp-json\/wp\/v2\/pages\/927\/revisions\/1344"}],"wp:attachment":[{"href":"https:\/\/gerliinerin.mn\/en\/wp-json\/wp\/v2\/media?parent=927"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}