{"id":1966,"date":"2025-06-05T22:32:06","date_gmt":"2025-06-05T20:32:06","guid":{"rendered":"https:\/\/enigma.swallnet.com\/?page_id=1966"},"modified":"2025-11-18T16:39:48","modified_gmt":"2025-11-18T15:39:48","slug":"kletba-rozmberske-ruze","status":"publish","type":"page","link":"https:\/\/enigma.swallnet.com\/index.php\/kletba-rozmberske-ruze\/","title":{"rendered":"Kletba Ro\u017embersk\u00e9 r\u016f\u017ee"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\" style=\"border-style:none;border-width:0px\"><\/p>\n\n\n<!-- Enigma Web Log Active -->\n\n\n\n<p class=\"wp-block-paragraph\" style=\"border-style:none;border-width:0px\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Kletba Ro\u017embersk\u00e9 r\u016f\u017ee<\/h2>\n\n\n    <div class=\"review-summary\">\n        <div class=\"star-rating-row\">\n            <div id=\"star-container-7\" class=\"star-rating\"><\/div>\n        <\/div>\n        <div class=\"review-meta-row\">\n            <div class=\"review-summary-text\" id=\"review-summary-text-7\"><\/div>\n        <\/div>\n    <\/div>\n\n    <style>\n        .review-summary {\n            max-width: 300px;\n        }\n\n        .star-rating-row {\n            display: flex;\n            justify-content: flex-start;\n            margin-bottom: 4px;\n        }\n\n        .star-rating {\n            display: flex;\n            font-size: 24px;\n            color: gold;\n            min-width: 130px;\n        }\n\n        .star {\n            position: relative;\n            width: 1em;\n            height: 1em;\n            margin-right: 4px;\n            display: inline-block;\n            background: lightgray;\n            clip-path: polygon(\n                50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%,\n                50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%\n            );\n        }\n\n        .star.filled {\n            background: gold;\n        }\n\n        .star.half::before {\n            content: '';\n            position: absolute;\n            width: 50%;\n            height: 100%;\n            background: gold;\n            left: 0;\n        }\n\n        .review-meta-row {\n            font-size: 14px;\n            color: white;\n        }\n\n        .review-summary-text {\n            color: #ccc;\n            font-weight: 500;\n        }\n    <\/style>\n\n    <script data-jetpack-boost=\"ignore\">\n        document.addEventListener(\"DOMContentLoaded\", function() {\n            const adventureId = 7;\n            const summaryTextId = 'review-summary-text-' + adventureId;\n            const starsId = 'star-container-' + adventureId;\n\n            if (typeof renderEnigmaRating === 'function') {\n                renderEnigmaRating(adventureId, function(totalReviews, averageRating) {\n                    const summary = document.getElementById(summaryTextId);\n                    if (summary && !isNaN(averageRating)) {\n                        summary.textContent = `${totalReviews} hodnocen\u00ed (${averageRating.toFixed(1)})`;\n                    }\n                });\n            }\n        });\n    <\/script>\n    \n\n\n\n<div style=\"height:32px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-843cb96b wp-block-columns-is-layout-flex block-visibility-hide-small-screen\" style=\"margin-top:0;margin-bottom:0;padding-right:0;padding-left:0\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<h3 class=\"wp-block-heading\"><strong>V podhrad\u00ed starobyl\u00e9ho Krumlova se cosi probouz\u00ed.<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">M\u011bsto, kter\u00e9 kdysi d\u00fdchalo sl\u00e1vou rodu Ro\u017emberk\u016f, se zvolna no\u0159\u00ed do zapomn\u011bn\u00ed. Uli\u010dky jsou po\u0159\u00e1d kr\u00e1sn\u00e9, ale p\u0159\u00edb\u011bhy, kter\u00e9 mezi jejich zdmi kdysi \u017eily, se vytr\u00e1cej\u00ed. Nikdo nezn\u00e1 prav\u00e9 d\u016fvody\u2026 tedy a\u017e na n\u011bj. Na posledn\u00edho Ro\u017emberka.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>\u201eA\u0165 padne mlha na toto m\u011bsto,<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>a\u0165 zapomene sv\u00e9 slavn\u00e9 dny,<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>a\u0165 jm\u00e9no Ro\u017emberk vybledne jako r\u016f\u017ee pod podzimn\u00edm mrazem.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Jen krev ro\u017embersk\u00e1 m\u016f\u017ee napravit, co v hn\u011bvu m\u00e9 srdce zasadilo.\u201c<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Duch Petra Voka se po stalet\u00ed toul\u00e1 m\u011bstem, spoutan\u00fd slovy, kter\u00e1 kdysi pronesl v bolesti a hn\u011bvu. Vy\u0159kl kletbu, kdy\u017e ztratil to, co mu bylo nejdra\u017e\u0161\u00ed \u2013 samotn\u00e9 m\u011bsto. A i kdy\u017e toho pozd\u011bji litoval, cesta zp\u011bt u\u017e neexistovala.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Zb\u00fdv\u00e1 jedin\u00e1 nad\u011bje: \u017ee jeho krev \u2013 t\u0159eba jen ve st\u0159\u00edpku \u2013 p\u0159e\u017eije. A \u017ee ti, kdo ji ponesou, dok\u00e1\u017eou chybu napravit\u2026 a navr\u00e1tit Krumlovu jeho pam\u011b\u0165.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A potom jste tu vy.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ne\u010dekan\u00fd dopis. M\u00edsto, kter\u00e9 na map\u011b neexistuje. Slova, kter\u00e1 ned\u00e1vaj\u00ed smysl. Co byste p\u0159ece mohli m\u00edt spole\u010dn\u00e9ho s ro\u017emberskou r\u016f\u017e\u00ed?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Anebo \u017ee by p\u0159ece jen\u2026?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mo\u017en\u00e1, jen mo\u017en\u00e1, pr\u00e1v\u011b vy v sob\u011b nesete posledn\u00ed kapku krve velk\u00e9ho Ro\u017emberka.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A tak pr\u00e1v\u011b vy m\u016f\u017eete vr\u00e1tit m\u011bstu pam\u011b\u0165, ne\u017e se nav\u017edy ztrat\u00ed v temnot\u011b.<\/p>\n\n\n    <form class=\"enigma-add-to-cart-form\"\n          method=\"post\"\n          action=\"\"\n          data-user-id=\"0\"\n          data-game-id=\"7\"\n          data-game-name=\"Proklet\u00ed ro\u017embersk\u00e9 r\u016f\u017ee\"\n          data-multiplayer=\"0\">\n\n        <input type=\"hidden\" name=\"game_id\" value=\"7\">\n        <input type=\"hidden\" name=\"game_name\" value=\"Proklet\u00ed ro\u017embersk\u00e9 r\u016f\u017ee\">\n        <input type=\"hidden\" name=\"price\" value=\"\">\n        <input type=\"hidden\" name=\"original_price\" value=\"\">\n        <input type=\"hidden\" name=\"multiplayer\" value=\"0\">\n        <input type=\"hidden\" name=\"enigma_add_to_cart\" value=\"1\">\n\n        <button type=\"submit\" class=\"wp-block-button__link wp-element-button\">\n            Koupit        <\/button>\n    <\/form>\n\n    <script data-jetpack-boost=\"ignore\">\n    document.addEventListener('DOMContentLoaded', function () {\n        document.querySelectorAll('.enigma-add-to-cart-form').forEach(function(form) {\n            if (form.dataset.listenerAttached === \"true\") return;\n            form.dataset.listenerAttached = \"true\";\n\n            form.addEventListener('submit', function (e) {\n                e.preventDefault();\n\n                const userId = parseInt(form.dataset.userId) || 0;\n                const gameId = parseInt(form.dataset.gameId);\n                const multiplayer = parseInt(form.dataset.multiplayer);\n                const gameName = form.dataset.gameName;\n\n                const priceField = form.querySelector('input[name=\"price\"]');\n\n                fetch(`https:\/\/enigma.swallnet.com\/api\/adventure\/price?adventureId=${gameId}&multiplayer=${multiplayer}&userId=${userId}`)\n                    .then(res => res.json())\n                    .then(data => {\n                        const finalPrice = data.finalPrice;\n                        const originalPrice = data.originalPrice;\n\n                        priceField.value = finalPrice;\n                        \n                        \/\/ dodani original ceny\n                        const originalPriceField = form.querySelector('input[name=\"original_price\"]');\n                        if (originalPriceField) {\n                            originalPriceField.value = originalPrice;\n                        }\n\n                        \/\/ Odeslat analytiku\n                        fetch('https:\/\/enigma.swallnet.com\/api\/marketing\/add-to-cart', {\n                            method: 'POST',\n                            headers: { 'Content-Type': 'application\/json' },\n                            body: JSON.stringify({\n                                userId: userId,\n                                game_id: gameId,\n                                game_name: gameName,\n                                price: finalPrice,\n                                multiplayer: multiplayer\n                            })\n                        });\n                    })\n                    .finally(() => {\n                        \/\/ Po fetchi i analytice formul\u00e1\u0159 ode\u0161leme\n                        form.submit();\n                    });\n            });\n        });\n    });\n    <\/script>\n    \n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<figure class=\"wp-block-image aligncenter size-full is-style-rounded wp-duotone-unset-2 is-style-rounded--1\" style=\"margin-top:var(--wp--preset--spacing--70);margin-right:0;margin-bottom:var(--wp--preset--spacing--70);margin-left:0\"><img data-dominant-color=\"222016\" data-has-transparency=\"false\" loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"533\" src=\"https:\/\/enigma.swallnet.com\/wp-content\/uploads\/2025\/06\/Krumlov_1_male.webp\" alt=\"\" class=\"wp-image-1959 not-transparent\" style=\"--dominant-color: #222016; object-fit:cover\" srcset=\"https:\/\/enigma.swallnet.com\/wp-content\/uploads\/2025\/06\/Krumlov_1_male.webp 800w, https:\/\/enigma.swallnet.com\/wp-content\/uploads\/2025\/06\/Krumlov_1_male-300x200.webp 300w, https:\/\/enigma.swallnet.com\/wp-content\/uploads\/2025\/06\/Krumlov_1_male-768x512.webp 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-6418681a wp-block-columns-is-layout-flex block-visibility-hide-large-screen block-visibility-hide-medium-screen\" style=\"padding-right:0;padding-left:0\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<h3 class=\"wp-block-heading\"><strong>V podhrad\u00ed starobyl\u00e9ho Krumlova se cosi probouz\u00ed.<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">M\u011bsto, kter\u00e9 kdysi d\u00fdchalo sl\u00e1vou rodu Ro\u017emberk\u016f, se zvolna no\u0159\u00ed do zapomn\u011bn\u00ed. Uli\u010dky jsou po\u0159\u00e1d kr\u00e1sn\u00e9, ale p\u0159\u00edb\u011bhy, kter\u00e9 mezi jejich zdmi kdysi \u017eily, se vytr\u00e1cej\u00ed. Nikdo nezn\u00e1 prav\u00e9 d\u016fvody\u2026 tedy a\u017e na n\u011bj. Na posledn\u00edho Ro\u017emberka.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>\u201eA\u0165 padne mlha na toto m\u011bsto,<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>a\u0165 zapomene sv\u00e9 slavn\u00e9 dny,<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>a\u0165 jm\u00e9no Ro\u017emberk vybledne jako r\u016f\u017ee pod podzimn\u00edm mrazem.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Jen krev ro\u017embersk\u00e1 m\u016f\u017ee napravit, co v hn\u011bvu m\u00e9 srdce zasadilo.\u201c<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Duch Petra Voka se po stalet\u00ed toul\u00e1 m\u011bstem, spoutan\u00fd slovy, kter\u00e1 kdysi pronesl v bolesti a hn\u011bvu. Vy\u0159kl kletbu, kdy\u017e ztratil to, co mu bylo nejdra\u017e\u0161\u00ed \u2013 samotn\u00e9 m\u011bsto. A i kdy\u017e toho pozd\u011bji litoval, cesta zp\u011bt u\u017e neexistovala.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Zb\u00fdv\u00e1 jedin\u00e1 nad\u011bje: \u017ee jeho krev \u2013 t\u0159eba jen ve st\u0159\u00edpku \u2013 p\u0159e\u017eije. A \u017ee ti, kdo ji ponesou, dok\u00e1\u017eou chybu napravit\u2026 a navr\u00e1tit Krumlovu jeho pam\u011b\u0165.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A potom jste tu vy.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ne\u010dekan\u00fd dopis. M\u00edsto, kter\u00e9 na map\u011b neexistuje. Slova, kter\u00e1 ned\u00e1vaj\u00ed smysl. Co byste p\u0159ece mohli m\u00edt spole\u010dn\u00e9ho s ro\u017emberskou r\u016f\u017e\u00ed?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Anebo \u017ee by p\u0159ece jen\u2026?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mo\u017en\u00e1, jen mo\u017en\u00e1, pr\u00e1v\u011b vy v sob\u011b nesete posledn\u00ed kapku krve velk\u00e9ho Ro\u017emberka.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A tak pr\u00e1v\u011b vy m\u016f\u017eete vr\u00e1tit m\u011bstu pam\u011b\u0165, ne\u017e se nav\u017edy ztrat\u00ed v temnot\u011b.<\/p>\n\n\n    <form class=\"enigma-add-to-cart-form\"\n          method=\"post\"\n          action=\"\"\n          data-user-id=\"0\"\n          data-game-id=\"7\"\n          data-game-name=\"Proklet\u00ed ro\u017embersk\u00e9 r\u016f\u017ee\"\n          data-multiplayer=\"0\">\n\n        <input type=\"hidden\" name=\"game_id\" value=\"7\">\n        <input type=\"hidden\" name=\"game_name\" value=\"Proklet\u00ed ro\u017embersk\u00e9 r\u016f\u017ee\">\n        <input type=\"hidden\" name=\"price\" value=\"\">\n        <input type=\"hidden\" name=\"original_price\" value=\"\">\n        <input type=\"hidden\" name=\"multiplayer\" value=\"0\">\n        <input type=\"hidden\" name=\"enigma_add_to_cart\" value=\"1\">\n\n        <button type=\"submit\" class=\"wp-block-button__link wp-element-button\">\n            Koupit        <\/button>\n    <\/form>\n\n    <script data-jetpack-boost=\"ignore\">\n    document.addEventListener('DOMContentLoaded', function () {\n        document.querySelectorAll('.enigma-add-to-cart-form').forEach(function(form) {\n            if (form.dataset.listenerAttached === \"true\") return;\n            form.dataset.listenerAttached = \"true\";\n\n            form.addEventListener('submit', function (e) {\n                e.preventDefault();\n\n                const userId = parseInt(form.dataset.userId) || 0;\n                const gameId = parseInt(form.dataset.gameId);\n                const multiplayer = parseInt(form.dataset.multiplayer);\n                const gameName = form.dataset.gameName;\n\n                const priceField = form.querySelector('input[name=\"price\"]');\n\n                fetch(`https:\/\/enigma.swallnet.com\/api\/adventure\/price?adventureId=${gameId}&multiplayer=${multiplayer}&userId=${userId}`)\n                    .then(res => res.json())\n                    .then(data => {\n                        const finalPrice = data.finalPrice;\n                        const originalPrice = data.originalPrice;\n\n                        priceField.value = finalPrice;\n                        \n                        \/\/ dodani original ceny\n                        const originalPriceField = form.querySelector('input[name=\"original_price\"]');\n                        if (originalPriceField) {\n                            originalPriceField.value = originalPrice;\n                        }\n\n                        \/\/ Odeslat analytiku\n                        fetch('https:\/\/enigma.swallnet.com\/api\/marketing\/add-to-cart', {\n                            method: 'POST',\n                            headers: { 'Content-Type': 'application\/json' },\n                            body: JSON.stringify({\n                                userId: userId,\n                                game_id: gameId,\n                                game_name: gameName,\n                                price: finalPrice,\n                                multiplayer: multiplayer\n                            })\n                        });\n                    })\n                    .finally(() => {\n                        \/\/ Po fetchi i analytice formul\u00e1\u0159 ode\u0161leme\n                        form.submit();\n                    });\n            });\n        });\n    });\n    <\/script>\n    \n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<figure class=\"wp-block-image aligncenter size-full is-style-rounded wp-duotone-unset-4 is-style-rounded--3\" style=\"margin-top:var(--wp--preset--spacing--40);margin-right:0;margin-bottom:var(--wp--preset--spacing--40);margin-left:0\"><img data-dominant-color=\"222016\" data-has-transparency=\"false\" loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"533\" src=\"https:\/\/enigma.swallnet.com\/wp-content\/uploads\/2025\/06\/Krumlov_1_male.webp\" alt=\"\" class=\"wp-image-1959 not-transparent\" style=\"--dominant-color: #222016; object-fit:cover\" srcset=\"https:\/\/enigma.swallnet.com\/wp-content\/uploads\/2025\/06\/Krumlov_1_male.webp 800w, https:\/\/enigma.swallnet.com\/wp-content\/uploads\/2025\/06\/Krumlov_1_male-300x200.webp 300w, https:\/\/enigma.swallnet.com\/wp-content\/uploads\/2025\/06\/Krumlov_1_male-768x512.webp 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-6418681a wp-block-columns-is-layout-flex block-visibility-hide-small-screen\" style=\"padding-right:0;padding-left:0\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<figure class=\"wp-block-image size-full is-resized is-style-rounded is-style-rounded--5\" style=\"margin-top:var(--wp--preset--spacing--60);margin-bottom:var(--wp--preset--spacing--60)\"><img data-dominant-color=\"25291b\" data-has-transparency=\"false\" loading=\"lazy\" decoding=\"async\" width=\"900\" height=\"600\" src=\"https:\/\/enigma.swallnet.com\/wp-content\/uploads\/2025\/05\/vok-prodava-krumlov_male.webp\" alt=\"\" class=\"wp-image-1855 not-transparent\" style=\"--dominant-color: #25291b; object-fit:cover;width:400px;height:350px\" srcset=\"https:\/\/enigma.swallnet.com\/wp-content\/uploads\/2025\/05\/vok-prodava-krumlov_male.webp 900w, https:\/\/enigma.swallnet.com\/wp-content\/uploads\/2025\/05\/vok-prodava-krumlov_male-300x200.webp 300w, https:\/\/enigma.swallnet.com\/wp-content\/uploads\/2025\/05\/vok-prodava-krumlov_male-768x512.webp 768w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<h4 class=\"wp-block-heading\"><strong>\ud83d\udd0d Co t\u011b \u010dek\u00e1?<\/strong><\/h4>\n\n\n\n<h6 class=\"wp-block-heading\"><strong>\ud83c\udff0 Skute\u010dn\u00e1 historick\u00e1 m\u00edsta<\/strong><\/h6>\n\n\n\n<blockquote class=\"wp-block-quote has-text-align-center is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Nav\u0161t\u00edv\u00ed\u0161 z\u00e1kout\u00ed z\u00e1mku, dvorky a stezky, kde opravdu kr\u00e1\u010deli Ro\u017emberkov\u00e9.<\/p>\n<\/blockquote>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>\ud83d\udcf2 Pr\u016fvodce s um\u011blou inteligenc\u00ed<\/strong><\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Petr Vok t\u011b prov\u00e1z\u00ed jako duch a vyprav\u011b\u010d. Reaguje na tv\u00e9 kroky, vypr\u00e1v\u00ed i pom\u00e1h\u00e1.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>\ud83e\udde9 \u00dakoly, \u0161ifry, GPS, rozhodnut\u00ed<\/strong><\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Pou\u017e\u00edv\u00e1\u0161 mobil, o\u010di a hlavu. H\u00e1danky jsou v\u00e1zan\u00e9 na re\u00e1ln\u00e9 lokace.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>\ud83c\udfad R\u016fzn\u00e9 mo\u017en\u00e9 konce<\/strong><\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Tvoje rozhodnut\u00ed ovlivn\u00ed, jak p\u0159\u00edb\u011bh dopadne \u2013 neexistuje jen jeden spr\u00e1vn\u00fd v\u00fdsledek.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\ud83d\udddd\ufe0f Jak to funguje?<\/strong><\/h4>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Vybere\u0161 si hru (s\u00f3lo nebo t\u00fdm).<\/li>\n\n\n\n<li>Spust\u00ed\u0161 ji ve sv\u00e9m mobilu \u2013 bez nutnosti instalace.<\/li>\n\n\n\n<li>Vyd\u00e1\u0161 se na cestu po m\u011bst\u011b s pomoc\u00ed GPS a virtu\u00e1ln\u00edho pr\u016fvodce.<\/li>\n\n\n\n<li>\u0158e\u0161\u00ed\u0161 \u00fakoly, sb\u00edr\u00e1\u0161 stopy, odemyk\u00e1\u0161 dal\u0161\u00ed kapitoly.<\/li>\n\n\n\n<li>Odhal\u00ed\u0161 pravdu\u2026 nebo ne.<\/li>\n<\/ol>\n<\/div>\n<\/div>\n\n\n\n<div style=\"height:15px\" aria-hidden=\"true\" class=\"wp-block-spacer block-visibility-hide-large-screen block-visibility-hide-medium-screen\"><\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-6418681a wp-block-columns-is-layout-flex block-visibility-hide-large-screen block-visibility-hide-medium-screen\" style=\"padding-right:0;padding-left:0\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<h4 class=\"wp-block-heading\"><strong>\ud83d\udd0d Co t\u011b \u010dek\u00e1?<\/strong><\/h4>\n\n\n\n<h6 class=\"wp-block-heading\"><strong>\ud83c\udff0 Skute\u010dn\u00e1 historick\u00e1 m\u00edsta<\/strong><\/h6>\n\n\n\n<blockquote class=\"wp-block-quote has-text-align-center is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Nav\u0161t\u00edv\u00ed\u0161 z\u00e1kout\u00ed z\u00e1mku, dvorky a stezky, kde opravdu kr\u00e1\u010deli Ro\u017emberkov\u00e9.<\/p>\n<\/blockquote>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>\ud83d\udcf2 Pr\u016fvodce s um\u011blou inteligenc\u00ed<\/strong><\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Petr Vok t\u011b prov\u00e1z\u00ed jako duch a vyprav\u011b\u010d. Reaguje na tv\u00e9 kroky, vypr\u00e1v\u00ed i pom\u00e1h\u00e1.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>\ud83e\udde9 \u00dakoly, \u0161ifry, GPS, rozhodnut\u00ed<\/strong><\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Pou\u017e\u00edv\u00e1\u0161 mobil, o\u010di a hlavu. H\u00e1danky jsou v\u00e1zan\u00e9 na re\u00e1ln\u00e9 lokace.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>\ud83c\udfad R\u016fzn\u00e9 mo\u017en\u00e9 konce<\/strong><\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Tvoje rozhodnut\u00ed ovlivn\u00ed, jak p\u0159\u00edb\u011bh dopadne \u2013 neexistuje jen jeden spr\u00e1vn\u00fd v\u00fdsledek.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\ud83d\udddd\ufe0f Jak to funguje?<\/strong><\/h4>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Vybere\u0161 si hru (s\u00f3lo nebo t\u00fdm).<\/li>\n\n\n\n<li>Spust\u00ed\u0161 ji ve sv\u00e9m mobilu \u2013 bez nutnosti instalace.<\/li>\n\n\n\n<li>Vyd\u00e1\u0161 se na cestu po m\u011bst\u011b s pomoc\u00ed GPS a virtu\u00e1ln\u00edho pr\u016fvodce.<\/li>\n\n\n\n<li>\u0158e\u0161\u00ed\u0161 \u00fakoly, sb\u00edr\u00e1\u0161 stopy, odemyk\u00e1\u0161 dal\u0161\u00ed kapitoly.<\/li>\n\n\n\n<li>Odhal\u00ed\u0161 pravdu\u2026 nebo ne.<\/li>\n<\/ol>\n<\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0\">    <div style=\"text-align: center; margin-bottom: 10px;\">\n    <div style=\"display: inline-block;\">\n        <span style=\"font-weight: bold; color: red; margin-right: 10px;\">\n        P\u0159ihlaste se nebo si \u00fa\u010det zalo\u017ete na dv\u011b kliknut\u00ed \u2013 a z\u00edskejte slevu jako nikde jinde!        <\/span>\n        <a href=\"https:\/\/enigma.swallnet.com\/index.php\/login\"\n        class=\"wp-block-button__link wp-element-button\"\n        style=\"display: inline-block; white-space: nowrap; background: #22445d; color: white; padding: 8px 16px; border-radius: 5px; text-decoration: none;\">\n        Vyzkou\u0161ejte Ihned        <\/a>\n    <\/div>\n    <\/div>\n    <\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-752eff22 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-752eff22 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<figure class=\"wp-block-table aligncenter is-style-regular has-small-font-size block-visibility-hide-small-screen\" style=\"padding-top:var(--wp--preset--spacing--70);padding-right:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--70);padding-left:var(--wp--preset--spacing--30)\"><table class=\"has-border-color has-primary-border-color has-fixed-layout\" style=\"border-width:7px\"><thead><tr><th class=\"has-text-align-center\" data-align=\"center\">PO\u010cET T\u00ddM\u016e<\/th><th>POPIS<\/th><th class=\"has-text-align-center\" data-align=\"center\">Zav\u00e1d\u011bc\u00ed cena do 1.7.<\/th><th class=\"has-text-align-center\" data-align=\"center\"><\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>S\u00f3lo<\/strong><\/td><td>S\u00f3lo hra pro odv\u00e1\u017en\u00e9ho Ro\u017emberka.<\/td><td class=\"has-text-align-center\" data-align=\"center\"><strong><strong>    <span class=\"enigma-dynamic-price\"\n          data-adventure-id=\"7\"\n          data-multiplayer=\"0\"\n          data-user-id=\"0\">\n        ...\n    <\/span>\n\n    <style>\n        \/* m\u016f\u017ee\u0161 upravit podle sv\u00e9ho designu \/ p\u0159esunout do CSS souboru *\/\n        .enigma-price-original {\n            text-decoration: line-through;\n            color: #e74c3c;      \/* \u010derven\u00e1 *\/\n            margin-right: 6px;\n            font-weight: 500;\n        }\n        .enigma-price-user {\n            color: #ffffff;      \/* b\u00edl\u00e1 \u2013 po\u010d\u00edt\u00e1m s tmav\u00fdm pozad\u00edm boxu *\/\n            font-weight: 700;\n        }\n    <\/style>\n\n    <script data-jetpack-boost=\"ignore\">\n    document.addEventListener(\"DOMContentLoaded\", function () {\n        document.querySelectorAll('.enigma-dynamic-price').forEach(function (span) {\n            if (span.dataset.loaded === \"1\") return;\n            span.dataset.loaded = \"1\";\n\n            const adventureId = span.dataset.adventureId;\n            const multiplayer = span.dataset.multiplayer;\n            const userId = span.dataset.userId;\n\n            fetch(`https:\/\/enigma.swallnet.com\/api\/adventure\/price?adventureId=${adventureId}&multiplayer=${multiplayer}&userId=${userId}`)\n                .then(response => response.json())\n                .then(data => {\n                    const orig = Number(data.originalPrice);\n                    const user = Number(\n                        (data.userPrice !== undefined) ? data.userPrice : data.finalPrice\n                    );\n\n                    if (!isFinite(orig) || !isFinite(user)) {\n                        span.textContent = '\u2013';\n                        return;\n                    }\n\n                    \/\/ Pokud je cena stejn\u00e1 (\u017e\u00e1dn\u00e1 user sleva) \u2192 zobraz jedno \u010d\u00edslo\n                    if (Math.abs(orig - user) < 0.01) {\n                        span.textContent = user.toFixed(0) + ' K\u010d';\n                    } else {\n                        span.innerHTML =\n                            '<span class=\"enigma-price-original\">' +\n                                orig.toFixed(0) + ' K\u010d' +\n                            '<\/span>' +\n                            '<span class=\"enigma-price-user\">' +\n                                user.toFixed(0) + ' K\u010d' +\n                            '<\/span>';\n                    }\n                })\n                .catch(() => {\n                    span.textContent = '\u2013';\n                });\n        });\n    });\n    <\/script>\n    <\/strong><\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\">    <form class=\"enigma-add-to-cart-form\"\n          method=\"post\"\n          action=\"\"\n          data-user-id=\"0\"\n          data-game-id=\"7\"\n          data-game-name=\"Proklet\u00ed ro\u017embersk\u00e9 r\u016f\u017ee\"\n          data-multiplayer=\"0\">\n\n        <input type=\"hidden\" name=\"game_id\" value=\"7\">\n        <input type=\"hidden\" name=\"game_name\" value=\"Proklet\u00ed ro\u017embersk\u00e9 r\u016f\u017ee\">\n        <input type=\"hidden\" name=\"price\" value=\"\">\n        <input type=\"hidden\" name=\"original_price\" value=\"\">\n        <input type=\"hidden\" name=\"multiplayer\" value=\"0\">\n        <input type=\"hidden\" name=\"enigma_add_to_cart\" value=\"1\">\n\n        <button type=\"submit\" class=\"wp-block-button__link wp-element-button\">\n            Koupit        <\/button>\n    <\/form>\n\n    <script data-jetpack-boost=\"ignore\">\n    document.addEventListener('DOMContentLoaded', function () {\n        document.querySelectorAll('.enigma-add-to-cart-form').forEach(function(form) {\n            if (form.dataset.listenerAttached === \"true\") return;\n            form.dataset.listenerAttached = \"true\";\n\n            form.addEventListener('submit', function (e) {\n                e.preventDefault();\n\n                const userId = parseInt(form.dataset.userId) || 0;\n                const gameId = parseInt(form.dataset.gameId);\n                const multiplayer = parseInt(form.dataset.multiplayer);\n                const gameName = form.dataset.gameName;\n\n                const priceField = form.querySelector('input[name=\"price\"]');\n\n                fetch(`https:\/\/enigma.swallnet.com\/api\/adventure\/price?adventureId=${gameId}&multiplayer=${multiplayer}&userId=${userId}`)\n                    .then(res => res.json())\n                    .then(data => {\n                        const finalPrice = data.finalPrice;\n                        const originalPrice = data.originalPrice;\n\n                        priceField.value = finalPrice;\n                        \n                        \/\/ dodani original ceny\n                        const originalPriceField = form.querySelector('input[name=\"original_price\"]');\n                        if (originalPriceField) {\n                            originalPriceField.value = originalPrice;\n                        }\n\n                        \/\/ Odeslat analytiku\n                        fetch('https:\/\/enigma.swallnet.com\/api\/marketing\/add-to-cart', {\n                            method: 'POST',\n                            headers: { 'Content-Type': 'application\/json' },\n                            body: JSON.stringify({\n                                userId: userId,\n                                game_id: gameId,\n                                game_name: gameName,\n                                price: finalPrice,\n                                multiplayer: multiplayer\n                            })\n                        });\n                    })\n                    .finally(() => {\n                        \/\/ Po fetchi i analytice formul\u00e1\u0159 ode\u0161leme\n                        form.submit();\n                    });\n            });\n        });\n    });\n    <\/script>\n    <\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>T\u00fdm<\/strong><\/td><td>Libovoln\u00fd po\u010det hr\u00e1\u010d\u016f. Optimum 2-6<\/td><td class=\"has-text-align-center\" data-align=\"center\"><strong><strong>    <span class=\"enigma-dynamic-price\"\n          data-adventure-id=\"7\"\n          data-multiplayer=\"1\"\n          data-user-id=\"0\">\n        ...\n    <\/span>\n\n    <style>\n        \/* m\u016f\u017ee\u0161 upravit podle sv\u00e9ho designu \/ p\u0159esunout do CSS souboru *\/\n        .enigma-price-original {\n            text-decoration: line-through;\n            color: #e74c3c;      \/* \u010derven\u00e1 *\/\n            margin-right: 6px;\n            font-weight: 500;\n        }\n        .enigma-price-user {\n            color: #ffffff;      \/* b\u00edl\u00e1 \u2013 po\u010d\u00edt\u00e1m s tmav\u00fdm pozad\u00edm boxu *\/\n            font-weight: 700;\n        }\n    <\/style>\n\n    <script data-jetpack-boost=\"ignore\">\n    document.addEventListener(\"DOMContentLoaded\", function () {\n        document.querySelectorAll('.enigma-dynamic-price').forEach(function (span) {\n            if (span.dataset.loaded === \"1\") return;\n            span.dataset.loaded = \"1\";\n\n            const adventureId = span.dataset.adventureId;\n            const multiplayer = span.dataset.multiplayer;\n            const userId = span.dataset.userId;\n\n            fetch(`https:\/\/enigma.swallnet.com\/api\/adventure\/price?adventureId=${adventureId}&multiplayer=${multiplayer}&userId=${userId}`)\n                .then(response => response.json())\n                .then(data => {\n                    const orig = Number(data.originalPrice);\n                    const user = Number(\n                        (data.userPrice !== undefined) ? data.userPrice : data.finalPrice\n                    );\n\n                    if (!isFinite(orig) || !isFinite(user)) {\n                        span.textContent = '\u2013';\n                        return;\n                    }\n\n                    \/\/ Pokud je cena stejn\u00e1 (\u017e\u00e1dn\u00e1 user sleva) \u2192 zobraz jedno \u010d\u00edslo\n                    if (Math.abs(orig - user) < 0.01) {\n                        span.textContent = user.toFixed(0) + ' K\u010d';\n                    } else {\n                        span.innerHTML =\n                            '<span class=\"enigma-price-original\">' +\n                                orig.toFixed(0) + ' K\u010d' +\n                            '<\/span>' +\n                            '<span class=\"enigma-price-user\">' +\n                                user.toFixed(0) + ' K\u010d' +\n                            '<\/span>';\n                    }\n                })\n                .catch(() => {\n                    span.textContent = '\u2013';\n                });\n        });\n    });\n    <\/script>\n    <\/strong><\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\">    <form class=\"enigma-add-to-cart-form\"\n          method=\"post\"\n          action=\"\"\n          data-user-id=\"0\"\n          data-game-id=\"7\"\n          data-game-name=\"Proklet\u00ed ro\u017embersk\u00e9 r\u016f\u017ee\"\n          data-multiplayer=\"1\">\n\n        <input type=\"hidden\" name=\"game_id\" value=\"7\">\n        <input type=\"hidden\" name=\"game_name\" value=\"Proklet\u00ed ro\u017embersk\u00e9 r\u016f\u017ee\">\n        <input type=\"hidden\" name=\"price\" value=\"\">\n        <input type=\"hidden\" name=\"original_price\" value=\"\">\n        <input type=\"hidden\" name=\"multiplayer\" value=\"1\">\n        <input type=\"hidden\" name=\"enigma_add_to_cart\" value=\"1\">\n\n        <button type=\"submit\" class=\"wp-block-button__link wp-element-button\">\n            Koupit        <\/button>\n    <\/form>\n\n    <script data-jetpack-boost=\"ignore\">\n    document.addEventListener('DOMContentLoaded', function () {\n        document.querySelectorAll('.enigma-add-to-cart-form').forEach(function(form) {\n            if (form.dataset.listenerAttached === \"true\") return;\n            form.dataset.listenerAttached = \"true\";\n\n            form.addEventListener('submit', function (e) {\n                e.preventDefault();\n\n                const userId = parseInt(form.dataset.userId) || 0;\n                const gameId = parseInt(form.dataset.gameId);\n                const multiplayer = parseInt(form.dataset.multiplayer);\n                const gameName = form.dataset.gameName;\n\n                const priceField = form.querySelector('input[name=\"price\"]');\n\n                fetch(`https:\/\/enigma.swallnet.com\/api\/adventure\/price?adventureId=${gameId}&multiplayer=${multiplayer}&userId=${userId}`)\n                    .then(res => res.json())\n                    .then(data => {\n                        const finalPrice = data.finalPrice;\n                        const originalPrice = data.originalPrice;\n\n                        priceField.value = finalPrice;\n                        \n                        \/\/ dodani original ceny\n                        const originalPriceField = form.querySelector('input[name=\"original_price\"]');\n                        if (originalPriceField) {\n                            originalPriceField.value = originalPrice;\n                        }\n\n                        \/\/ Odeslat analytiku\n                        fetch('https:\/\/enigma.swallnet.com\/api\/marketing\/add-to-cart', {\n                            method: 'POST',\n                            headers: { 'Content-Type': 'application\/json' },\n                            body: JSON.stringify({\n                                userId: userId,\n                                game_id: gameId,\n                                game_name: gameName,\n                                price: finalPrice,\n                                multiplayer: multiplayer\n                            })\n                        });\n                    })\n                    .finally(() => {\n                        \/\/ Po fetchi i analytice formul\u00e1\u0159 ode\u0161leme\n                        form.submit();\n                    });\n            });\n        });\n    });\n    <\/script>\n    <\/td><\/tr><\/tbody><\/table><\/figure>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<figure class=\"wp-block-table aligncenter is-style-regular has-small-font-size block-visibility-hide-large-screen block-visibility-hide-medium-screen\" style=\"padding-top:var(--wp--preset--spacing--70);padding-right:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--70);padding-left:var(--wp--preset--spacing--30)\"><table class=\"has-border-color has-primary-border-color has-fixed-layout\" style=\"border-width:7px\"><thead><tr><th class=\"has-text-align-center\" data-align=\"center\">PO\u010cET T\u00ddM\u016e<\/th><th class=\"has-text-align-center\" data-align=\"center\">Zav\u00e1d\u011bc\u00ed cena do 1.7.<\/th><th><\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong><strong>S\u00f3lo<\/strong><\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\"><strong><strong>    <span class=\"enigma-dynamic-price\"\n          data-adventure-id=\"7\"\n          data-multiplayer=\"0\"\n          data-user-id=\"0\">\n        ...\n    <\/span>\n\n    <style>\n        \/* m\u016f\u017ee\u0161 upravit podle sv\u00e9ho designu \/ p\u0159esunout do CSS souboru *\/\n        .enigma-price-original {\n            text-decoration: line-through;\n            color: #e74c3c;      \/* \u010derven\u00e1 *\/\n            margin-right: 6px;\n            font-weight: 500;\n        }\n        .enigma-price-user {\n            color: #ffffff;      \/* b\u00edl\u00e1 \u2013 po\u010d\u00edt\u00e1m s tmav\u00fdm pozad\u00edm boxu *\/\n            font-weight: 700;\n        }\n    <\/style>\n\n    <script data-jetpack-boost=\"ignore\">\n    document.addEventListener(\"DOMContentLoaded\", function () {\n        document.querySelectorAll('.enigma-dynamic-price').forEach(function (span) {\n            if (span.dataset.loaded === \"1\") return;\n            span.dataset.loaded = \"1\";\n\n            const adventureId = span.dataset.adventureId;\n            const multiplayer = span.dataset.multiplayer;\n            const userId = span.dataset.userId;\n\n            fetch(`https:\/\/enigma.swallnet.com\/api\/adventure\/price?adventureId=${adventureId}&multiplayer=${multiplayer}&userId=${userId}`)\n                .then(response => response.json())\n                .then(data => {\n                    const orig = Number(data.originalPrice);\n                    const user = Number(\n                        (data.userPrice !== undefined) ? data.userPrice : data.finalPrice\n                    );\n\n                    if (!isFinite(orig) || !isFinite(user)) {\n                        span.textContent = '\u2013';\n                        return;\n                    }\n\n                    \/\/ Pokud je cena stejn\u00e1 (\u017e\u00e1dn\u00e1 user sleva) \u2192 zobraz jedno \u010d\u00edslo\n                    if (Math.abs(orig - user) < 0.01) {\n                        span.textContent = user.toFixed(0) + ' K\u010d';\n                    } else {\n                        span.innerHTML =\n                            '<span class=\"enigma-price-original\">' +\n                                orig.toFixed(0) + ' K\u010d' +\n                            '<\/span>' +\n                            '<span class=\"enigma-price-user\">' +\n                                user.toFixed(0) + ' K\u010d' +\n                            '<\/span>';\n                    }\n                })\n                .catch(() => {\n                    span.textContent = '\u2013';\n                });\n        });\n    });\n    <\/script>\n    <\/strong><\/strong><\/td><td>    <form class=\"enigma-add-to-cart-form\"\n          method=\"post\"\n          action=\"\"\n          data-user-id=\"0\"\n          data-game-id=\"7\"\n          data-game-name=\"Proklet\u00ed ro\u017embersk\u00e9 r\u016f\u017ee\"\n          data-multiplayer=\"0\">\n\n        <input type=\"hidden\" name=\"game_id\" value=\"7\">\n        <input type=\"hidden\" name=\"game_name\" value=\"Proklet\u00ed ro\u017embersk\u00e9 r\u016f\u017ee\">\n        <input type=\"hidden\" name=\"price\" value=\"\">\n        <input type=\"hidden\" name=\"original_price\" value=\"\">\n        <input type=\"hidden\" name=\"multiplayer\" value=\"0\">\n        <input type=\"hidden\" name=\"enigma_add_to_cart\" value=\"1\">\n\n        <button type=\"submit\" class=\"wp-block-button__link wp-element-button\">\n            Koupit        <\/button>\n    <\/form>\n\n    <script data-jetpack-boost=\"ignore\">\n    document.addEventListener('DOMContentLoaded', function () {\n        document.querySelectorAll('.enigma-add-to-cart-form').forEach(function(form) {\n            if (form.dataset.listenerAttached === \"true\") return;\n            form.dataset.listenerAttached = \"true\";\n\n            form.addEventListener('submit', function (e) {\n                e.preventDefault();\n\n                const userId = parseInt(form.dataset.userId) || 0;\n                const gameId = parseInt(form.dataset.gameId);\n                const multiplayer = parseInt(form.dataset.multiplayer);\n                const gameName = form.dataset.gameName;\n\n                const priceField = form.querySelector('input[name=\"price\"]');\n\n                fetch(`https:\/\/enigma.swallnet.com\/api\/adventure\/price?adventureId=${gameId}&multiplayer=${multiplayer}&userId=${userId}`)\n                    .then(res => res.json())\n                    .then(data => {\n                        const finalPrice = data.finalPrice;\n                        const originalPrice = data.originalPrice;\n\n                        priceField.value = finalPrice;\n                        \n                        \/\/ dodani original ceny\n                        const originalPriceField = form.querySelector('input[name=\"original_price\"]');\n                        if (originalPriceField) {\n                            originalPriceField.value = originalPrice;\n                        }\n\n                        \/\/ Odeslat analytiku\n                        fetch('https:\/\/enigma.swallnet.com\/api\/marketing\/add-to-cart', {\n                            method: 'POST',\n                            headers: { 'Content-Type': 'application\/json' },\n                            body: JSON.stringify({\n                                userId: userId,\n                                game_id: gameId,\n                                game_name: gameName,\n                                price: finalPrice,\n                                multiplayer: multiplayer\n                            })\n                        });\n                    })\n                    .finally(() => {\n                        \/\/ Po fetchi i analytice formul\u00e1\u0159 ode\u0161leme\n                        form.submit();\n                    });\n            });\n        });\n    });\n    <\/script>\n    <\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong><strong>T\u00fdm<\/strong><\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\"><strong><strong><strong><strong>    <span class=\"enigma-dynamic-price\"\n          data-adventure-id=\"7\"\n          data-multiplayer=\"1\"\n          data-user-id=\"0\">\n        ...\n    <\/span>\n\n    <style>\n        \/* m\u016f\u017ee\u0161 upravit podle sv\u00e9ho designu \/ p\u0159esunout do CSS souboru *\/\n        .enigma-price-original {\n            text-decoration: line-through;\n            color: #e74c3c;      \/* \u010derven\u00e1 *\/\n            margin-right: 6px;\n            font-weight: 500;\n        }\n        .enigma-price-user {\n            color: #ffffff;      \/* b\u00edl\u00e1 \u2013 po\u010d\u00edt\u00e1m s tmav\u00fdm pozad\u00edm boxu *\/\n            font-weight: 700;\n        }\n    <\/style>\n\n    <script data-jetpack-boost=\"ignore\">\n    document.addEventListener(\"DOMContentLoaded\", function () {\n        document.querySelectorAll('.enigma-dynamic-price').forEach(function (span) {\n            if (span.dataset.loaded === \"1\") return;\n            span.dataset.loaded = \"1\";\n\n            const adventureId = span.dataset.adventureId;\n            const multiplayer = span.dataset.multiplayer;\n            const userId = span.dataset.userId;\n\n            fetch(`https:\/\/enigma.swallnet.com\/api\/adventure\/price?adventureId=${adventureId}&multiplayer=${multiplayer}&userId=${userId}`)\n                .then(response => response.json())\n                .then(data => {\n                    const orig = Number(data.originalPrice);\n                    const user = Number(\n                        (data.userPrice !== undefined) ? data.userPrice : data.finalPrice\n                    );\n\n                    if (!isFinite(orig) || !isFinite(user)) {\n                        span.textContent = '\u2013';\n                        return;\n                    }\n\n                    \/\/ Pokud je cena stejn\u00e1 (\u017e\u00e1dn\u00e1 user sleva) \u2192 zobraz jedno \u010d\u00edslo\n                    if (Math.abs(orig - user) < 0.01) {\n                        span.textContent = user.toFixed(0) + ' K\u010d';\n                    } else {\n                        span.innerHTML =\n                            '<span class=\"enigma-price-original\">' +\n                                orig.toFixed(0) + ' K\u010d' +\n                            '<\/span>' +\n                            '<span class=\"enigma-price-user\">' +\n                                user.toFixed(0) + ' K\u010d' +\n                            '<\/span>';\n                    }\n                })\n                .catch(() => {\n                    span.textContent = '\u2013';\n                });\n        });\n    });\n    <\/script>\n    <\/strong><\/strong><\/strong><\/strong><\/td><td>    <form class=\"enigma-add-to-cart-form\"\n          method=\"post\"\n          action=\"\"\n          data-user-id=\"0\"\n          data-game-id=\"7\"\n          data-game-name=\"Proklet\u00ed ro\u017embersk\u00e9 r\u016f\u017ee\"\n          data-multiplayer=\"1\">\n\n        <input type=\"hidden\" name=\"game_id\" value=\"7\">\n        <input type=\"hidden\" name=\"game_name\" value=\"Proklet\u00ed ro\u017embersk\u00e9 r\u016f\u017ee\">\n        <input type=\"hidden\" name=\"price\" value=\"\">\n        <input type=\"hidden\" name=\"original_price\" value=\"\">\n        <input type=\"hidden\" name=\"multiplayer\" value=\"1\">\n        <input type=\"hidden\" name=\"enigma_add_to_cart\" value=\"1\">\n\n        <button type=\"submit\" class=\"wp-block-button__link wp-element-button\">\n            Koupit        <\/button>\n    <\/form>\n\n    <script data-jetpack-boost=\"ignore\">\n    document.addEventListener('DOMContentLoaded', function () {\n        document.querySelectorAll('.enigma-add-to-cart-form').forEach(function(form) {\n            if (form.dataset.listenerAttached === \"true\") return;\n            form.dataset.listenerAttached = \"true\";\n\n            form.addEventListener('submit', function (e) {\n                e.preventDefault();\n\n                const userId = parseInt(form.dataset.userId) || 0;\n                const gameId = parseInt(form.dataset.gameId);\n                const multiplayer = parseInt(form.dataset.multiplayer);\n                const gameName = form.dataset.gameName;\n\n                const priceField = form.querySelector('input[name=\"price\"]');\n\n                fetch(`https:\/\/enigma.swallnet.com\/api\/adventure\/price?adventureId=${gameId}&multiplayer=${multiplayer}&userId=${userId}`)\n                    .then(res => res.json())\n                    .then(data => {\n                        const finalPrice = data.finalPrice;\n                        const originalPrice = data.originalPrice;\n\n                        priceField.value = finalPrice;\n                        \n                        \/\/ dodani original ceny\n                        const originalPriceField = form.querySelector('input[name=\"original_price\"]');\n                        if (originalPriceField) {\n                            originalPriceField.value = originalPrice;\n                        }\n\n                        \/\/ Odeslat analytiku\n                        fetch('https:\/\/enigma.swallnet.com\/api\/marketing\/add-to-cart', {\n                            method: 'POST',\n                            headers: { 'Content-Type': 'application\/json' },\n                            body: JSON.stringify({\n                                userId: userId,\n                                game_id: gameId,\n                                game_name: gameName,\n                                price: finalPrice,\n                                multiplayer: multiplayer\n                            })\n                        });\n                    })\n                    .finally(() => {\n                        \/\/ Po fetchi i analytice formul\u00e1\u0159 ode\u0161leme\n                        form.submit();\n                    });\n            });\n        });\n    });\n    <\/script>\n    <\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-b790145d wp-block-group-is-layout-constrained\" style=\"padding-right:0;padding-left:0\">\n<p class=\"wp-block-paragraph\" style=\"padding-top:0;padding-bottom:0\"><strong>Dal\u0161\u00ed informace<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"padding-right:var(--wp--preset--spacing--40);padding-left:var(--wp--preset--spacing--40)\">\u2022 <strong>Kolik hr\u00e1\u010d\u016f m\u016f\u017ee b\u00fdt v t\u00fdmu?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"margin-right:0;margin-left:0;padding-right:var(--wp--preset--spacing--60);padding-left:var(--wp--preset--spacing--60)\">V jednom t\u00fdmu m\u016f\u017ee b\u00fdt libovoln\u00fd po\u010det hr\u00e1\u010d\u016f \u2013 doporu\u010dujeme 2 a\u017e 6 osob, aby si hru u\u017eili v\u0161ichni.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"padding-right:var(--wp--preset--spacing--40);padding-left:var(--wp--preset--spacing--40)\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"padding-right:var(--wp--preset--spacing--40);padding-left:var(--wp--preset--spacing--40)\">\u2022 <strong>Co zahrnuje cena?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"padding-right:var(--wp--preset--spacing--60);padding-left:var(--wp--preset--spacing--60)\">\u2022 Pln\u00fd p\u0159\u00edstup ke h\u0159e \u201eProklet\u00ed ro\u017embersk\u00e9 r\u016f\u017ee\u201c.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"padding-right:var(--wp--preset--spacing--60);padding-left:var(--wp--preset--spacing--60)\">\u2022 Jedine\u010dn\u00fd z\u00e1\u017eitek pro jednotlivce i t\u00fdmy.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"padding-right:var(--wp--preset--spacing--60);padding-left:var(--wp--preset--spacing--60)\">\u2022 Virtu\u00e1ln\u00ed pr\u016fvodce s AI, kter\u00fd v\u00e1s nejen vede, ale tak\u00e9 poskytuje zaj\u00edmav\u00e9 informace o m\u00edstech, kter\u00e1 nav\u0161t\u00edv\u00edte.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n<\/div>\n\n\n\n\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\"><\/p>\n\n\n\n<div style=\"height:60px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-0d5e80e3 wp-block-columns-is-layout-flex\" style=\"padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">    <div class=\"leaderboard-container\">\n        <h1>Nejlep\u0161\u00ed hr\u00e1\u010di<\/h1>\n        <table id=\"leaderboard-table\">\n            <thead>\n                <tr>\n                    <th>Po\u0159ad\u00ed<\/th>\n                    <th>P\u0159ezd\u00edvka<\/th>\n                    <th>Sk\u00f3re<\/th>\n                <\/tr>\n            <\/thead>\n            <tbody>\n                <!-- Dynamically inserted data -->\n            <\/tbody>\n        <\/table>\n        <div id=\"error-message\" class=\"error\"><\/div>\n    <\/div>\n\n    <style>\n        .leaderboard-container {\n            max-width: 800px;\n            margin: 0 auto;\n            background: #383838;\n            border-radius: 15px;\n            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);\n            padding: 20px;\n        }\n        h1 {\n            text-align: center;\n            color: white;\n        }\n        table {\n            width: 100%;\n            border-collapse: collapse;\n            margin-top: 20px;\n        }\n        th, td {\n            text-align: left;\n            padding: 12px;\n            border-bottom: 1px solid #9CA3AF;\n        }\n        th {\n            background-color: #0F3D57;\n            color: white;\n        }\n        tr:hover {\n            background-color: #265A7C;\n        }\n        #leaderboard-table tbody tr:nth-child(1) td {\n            color: #C4A85E;\n            font-weight: bold;\n        }\n        #leaderboard-table tbody tr:nth-child(2) td {\n            color: #A8A9AD;\n            font-weight: bold;\n        }\n        #leaderboard-table tbody tr:nth-child(3) td {\n            color: #CD7F32; \/* Bronze *\/\n            font-weight: bold;\n        }\n        .error {\n            color: red;\n            text-align: center;\n            margin-top: 20px;\n        }\n    <\/style>\n\n    <script data-jetpack-boost=\"ignore\" type=\"text\/javascript\">\n    \/\/ <![CDATA[\n    (function(){\n        async function fetchLeaderboard(adventureId, maxRecords, webLocale) {\n            try {\n                \/\/const response = await fetch(`https:\/\/enigma.swallnet.com\/api\/adventure\/leaderboard?adventureId=${adventureId}&maxRecords=${maxRecords}&webLocale=${webLocale}`);\n                const response = await fetch(`https:\/\/enigma.swallnet.com\/api\/adventure\/leaderboard?adventureId=${adventureId}&maxRecords=${maxRecords}&webLocale=cs`);\n                if (!response.ok) {\n                    throw new Error(`HTTP error! Status: ${response.status}`);\n                }\n                const data = await response.json();\n                populateLeaderboardTable(data);\n            } catch (error) {\n                document.getElementById('error-message').textContent = 'Nepoda\u0159ilo se na\u010d\u00edst data \u017eeb\u0159\u00ed\u010dku: ' + error.message;\n            }\n        }\n\n        function populateLeaderboardTable(data) {\n            const tableBody = document.getElementById('leaderboard-table').querySelector('tbody');\n            tableBody.innerHTML = ''; \/\/ Clear previous data\n\n            Object.values(data).forEach(record => {\n                const row = document.createElement('tr');\n\n                const rankCell = document.createElement('td');\n                rankCell.textContent = record.rank;\n\n                const nickNameCell = document.createElement('td');\n                nickNameCell.textContent = record.nickName;\n\n                const scoreCell = document.createElement('td');\n                scoreCell.textContent = record.score;\n\n                row.appendChild(rankCell);\n                row.appendChild(nickNameCell);\n                row.appendChild(scoreCell);\n\n                tableBody.appendChild(row);\n            });\n        }\n\n        const adventureId = 7;\n        const maxRecords  = 10;\n        const webLocale   = null;\n        fetchLeaderboard(adventureId, maxRecords, webLocale);\n    })();\n    \/\/ ]]>\n    <\/script>\n    \n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">    <div class=\"detailed-review-wrapper\" data-adventure-id=\"7\">\n        <h3>Hodnocen\u00ed u\u017eivatel\u016f<\/h3>\n\n        <div id=\"category-ratings-7\" class=\"category-ratings\">\n            <div class=\"rating-row\"><div class=\"star-rating\" id=\"cat-0-adventure-7\"><\/div><div class=\"numeric-average\" id=\"avg-0-adventure-7\"><\/div><span class=\"category-label\">Celkov\u00fd z\u00e1\u017eitek<\/span><\/div><div class=\"rating-row\"><div class=\"star-rating\" id=\"cat-1-adventure-7\"><\/div><div class=\"numeric-average\" id=\"avg-1-adventure-7\"><\/div><span class=\"category-label\">H\u00e1danky<\/span><\/div><div class=\"rating-row\"><div class=\"star-rating\" id=\"cat-2-adventure-7\"><\/div><div class=\"numeric-average\" id=\"avg-2-adventure-7\"><\/div><span class=\"category-label\">Lokalita<\/span><\/div><div class=\"rating-row\"><div class=\"star-rating\" id=\"cat-3-adventure-7\"><\/div><div class=\"numeric-average\" id=\"avg-3-adventure-7\"><\/div><span class=\"category-label\">Z\u00e1bava<\/span><\/div>        <\/div>\n\n        <h4>Vybran\u00e9 recenze<\/h4>\n        <div id=\"published-reviews-7\" class=\"published-reviews\"><\/div>\n    <\/div>\n\n    <style>\n        .rating-row {\n            display: flex;\n            align-items: center;\n            margin-bottom: 10px;\n            gap: 10px;\n        }\n        .category-label {\n            font-weight: bold;\n            color: white;\n        }\n        .numeric-average {\n            width: 40px;\n            text-align: right;\n            font-weight: bold;\n            color: white;\n        }\n        .star-rating {\n            display: flex;\n            font-size: 24px;\n        }\n        .star {\n            width: 1em;\n            height: 1em;\n            background: lightgray;\n            clip-path: polygon(\n                50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%,\n                50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%\n            );\n            margin-right: 5px;\n            position: relative;\n        }\n        .star.filled {\n            background: gold;\n        }\n        .star.half::before {\n            content: '';\n            position: absolute;\n            width: 50%;\n            height: 100%;\n            background: gold;\n            left: 0;\n        }\n        .published-review {\n            margin-bottom: 20px;\n            background: #f9f9f9;\n            padding: 10px;\n            border-radius: 5px;\n            border-left: 4px solid #ccc;\n        }\n        .published-review .review-header {\n            display: flex;\n            justify-content: space-between;\n            align-items: center;\n            margin-bottom: 5px;\n        }\n        .published-review .review-nickname {\n            font-weight: bold;\n            color: #333;\n        }\n        .published-review .review-stars {\n            display: flex;\n        }\n        .published-review .review-text {\n            font-style: italic;\n            color: #333;\n            margin-top: 5px;\n        }\n    <\/style>\n\n    <script data-jetpack-boost=\"ignore\">\n        document.addEventListener(\"DOMContentLoaded\", function () {\n            const adventureId = 7;\n            fetch(`https:\/\/enigma.swallnet.com\/api\/adventure\/review-details?adventureId=${adventureId}&webLocale=`)\n                .then(res => res.json())\n                .then(data => {\n                    if (!data.success) return;\n\n                    const averages = [\n                        data.categoryAverages[0], \/\/ Overall Experience\n                        data.categoryAverages[1], \/\/ Puzzles\n                        data.categoryAverages[2], \/\/ Locality\n                        data.categoryAverages[3]  \/\/ Fun\n                    ];\n\n                    averages.forEach((avg, index) => {\n                        renderStars(\"cat-\" + index + \"-adventure-\" + adventureId, avg);\n                        const numeric = document.getElementById(\"avg-\" + index + \"-adventure-\" + adventureId);\n                        if (numeric && avg !== undefined && !isNaN(avg)) {\n                            numeric.textContent = avg.toFixed(1);\n                        }\n                    });\n\n                    const container = document.getElementById(\"published-reviews-\" + adventureId);\n                    data.publishedReviews.forEach(review => {\n                        const div = document.createElement(\"div\");\n                        div.classList.add(\"published-review\");\n\n                        const header = document.createElement(\"div\");\n                        header.classList.add(\"review-header\");\n\n                        const nick = document.createElement(\"div\");\n                        nick.classList.add(\"review-nickname\");\n                        nick.textContent = review.nickName;\n\n                        const stars = document.createElement(\"div\");\n                        stars.classList.add(\"review-stars\");\n                        renderStars(stars, review.average);\n\n                        header.appendChild(nick);\n                        header.appendChild(stars);\n\n                        const textDiv = document.createElement(\"div\");\n                        textDiv.classList.add(\"review-text\");\n                        textDiv.textContent = `\"${review.text}\"`;\n\n                        div.appendChild(header);\n                        div.appendChild(textDiv);\n                        container.appendChild(div);\n                    });\n                });\n\n            function renderStars(containerOrId, avg) {\n                const container = (typeof containerOrId === \"string\") ? document.getElementById(containerOrId) : containerOrId;\n                if (!container) return;\n                container.innerHTML = '';\n                for (let i = 1; i <= 5; i++) {\n                    const star = document.createElement(\"div\");\n                    star.classList.add(\"star\");\n                    if (i <= Math.floor(avg)) {\n                        star.classList.add(\"filled\");\n                    } else if (i - avg < 1) {\n                        star.classList.add(\"half\");\n                    }\n                    container.appendChild(star);\n                }\n            }\n        });\n    <\/script>\n    \n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-0d5e80e3 wp-block-columns-is-layout-flex\" style=\"padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"padding-top:var(--wp--preset--spacing--60);padding-bottom:var(--wp--preset--spacing--60)\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"padding-top:var(--wp--preset--spacing--60);padding-bottom:var(--wp--preset--spacing--60)\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Kletba Ro\u017embersk\u00e9 r\u016f\u017ee V podhrad\u00ed starobyl\u00e9ho Krumlova se cosi probouz\u00ed. M\u011bsto, kter\u00e9 kdysi d\u00fdchalo sl\u00e1vou rodu Ro\u017emberk\u016f, se zvolna no\u0159\u00ed do zapomn\u011bn\u00ed. Uli\u010dky jsou po\u0159\u00e1d kr\u00e1sn\u00e9, ale p\u0159\u00edb\u011bhy, kter\u00e9 mezi jejich zdmi kdysi \u017eily, se vytr\u00e1cej\u00ed. Nikdo nezn\u00e1 prav\u00e9 d\u016fvody\u2026 tedy a\u017e na n\u011bj. Na posledn\u00edho Ro\u017emberka. \u201eA\u0165 padne mlha na toto m\u011bsto, a\u0165 zapomene [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"footnotes":""},"class_list":["post-1966","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/enigma.swallnet.com\/index.php\/wp-json\/wp\/v2\/pages\/1966","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/enigma.swallnet.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/enigma.swallnet.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/enigma.swallnet.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/enigma.swallnet.com\/index.php\/wp-json\/wp\/v2\/comments?post=1966"}],"version-history":[{"count":15,"href":"https:\/\/enigma.swallnet.com\/index.php\/wp-json\/wp\/v2\/pages\/1966\/revisions"}],"predecessor-version":[{"id":2204,"href":"https:\/\/enigma.swallnet.com\/index.php\/wp-json\/wp\/v2\/pages\/1966\/revisions\/2204"}],"wp:attachment":[{"href":"https:\/\/enigma.swallnet.com\/index.php\/wp-json\/wp\/v2\/media?parent=1966"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}