{"id":1519,"date":"2026-03-09T17:39:17","date_gmt":"2026-03-09T17:39:17","guid":{"rendered":"https:\/\/www.mstpodlahy.cz\/?page_id=1519"},"modified":"2026-03-09T17:39:42","modified_gmt":"2026-03-09T17:39:42","slug":"formular","status":"publish","type":"page","link":"https:\/\/www.mstpodlahy.cz\/?page_id=1519","title":{"rendered":"Formul\u00e1\u0159"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1519\" class=\"elementor elementor-1519\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-43e846d e-flex e-con-boxed e-con e-parent\" data-id=\"43e846d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7fa1c1a elementor-widget elementor-widget-shortcode\" data-id=\"7fa1c1a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    <style>\n        .mst-poptavka-form {\n            max-width: 800px;\n            margin: 0 auto;\n            background: #fff;\n            padding: 30px;\n            border-radius: 8px;\n            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);\n            font-family: inherit;\n        }\n\n        .mst-po-msg {\n            padding: 15px;\n            border-radius: 4px;\n            margin-bottom: 25px;\n            font-weight: 500;\n        }\n\n        .mst-po-error {\n            background-color: #f8d7da;\n            color: #721c24;\n            border: 1px solid #f5c6cb;\n        }\n\n        .mst-po-success {\n            background-color: #d4edda;\n            color: #155724;\n            border: 1px solid #c3e6cb;\n        }\n\n        .mst-po-row {\n            display: flex;\n            flex-wrap: wrap;\n            gap: 20px;\n            margin-bottom: 20px;\n        }\n\n        .mst-po-col {\n            flex: 1;\n            min-width: 250px;\n            display: flex;\n            flex-direction: column;\n        }\n\n        .mst-po-col label {\n            margin-bottom: 8px;\n            font-weight: 600;\n            color: #333;\n        }\n\n        .mst-po-col input[type=\"text\"],\n        .mst-po-col input[type=\"email\"],\n        .mst-po-col textarea {\n            padding: 12px 16px;\n            border: 1px solid #ccc;\n            border-radius: 4px;\n            font-size: 16px;\n            color: #333;\n            width: 100%;\n            background-color: #fcfcfc;\n            transition: border-color 0.2s;\n        }\n\n        .mst-po-col select {\n            padding: 12px 40px 12px 16px;\n            border: 1px solid #ccc;\n            border-radius: 4px;\n            font-size: 16px;\n            color: #333;\n            width: 100%;\n            background-color: #fcfcfc;\n            transition: border-color 0.2s;\n            appearance: none;\n            -webkit-appearance: none;\n            background-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23333' stroke-width='2' fill='none' stroke-linecap='round'\/%3E%3C\/svg%3E\");\n            background-repeat: no-repeat;\n            background-position: right 14px center;\n        }\n\n        .mst-po-col input:focus,\n        .mst-po-col select:focus,\n        .mst-po-col textarea:focus {\n            border-color: #1C244B;\n            outline: none;\n            background-color: #fff;\n        }\n\n        .mst-po-col select:disabled {\n            background-color: #eee;\n            color: #888;\n            cursor: not-allowed;\n        }\n\n        .mst-po-col textarea {\n            resize: vertical;\n            min-height: 100px;\n        }\n\n        .mst-po-submit {\n            padding: 14px 30px;\n            font-size: 16px;\n            font-weight: 700;\n            color: #fff !important;\n            background-color: #FF7B00 !important;\n            border: none;\n            border-radius: 9999px;\n            cursor: pointer;\n            width: auto;\n            align-self: flex-start;\n            margin-top: 10px;\n            outline: none !important;\n            transition: none;\n        }\n\n        .mst-po-submit:hover,\n        .mst-po-submit:focus,\n        .mst-po-submit:active {\n            background-color: #FF7B00 !important;\n            color: #fff !important;\n        }\n\n        .mst-po-section-title {\n            margin-top: 30px;\n            margin-bottom: 15px;\n            padding-bottom: 5px;\n            border-bottom: 2px solid #f0f0f0;\n            font-size: 20px;\n            color: #1C244B;\n        }\n\n        .mst-po-floor-block {\n            border: 1px solid #e8e8e8;\n            border-radius: 8px;\n            padding: 20px;\n            margin-bottom: 16px;\n            background: #fafafa;\n            position: relative;\n        }\n\n        .mst-po-floor-block-header {\n            display: flex;\n            align-items: center;\n            justify-content: space-between;\n            margin-bottom: 14px;\n        }\n\n        .mst-po-floor-num {\n            font-size: 15px;\n            font-weight: 700;\n            color: #1C244B;\n        }\n\n        .mst-po-remove-floor {\n            background: none;\n            border: none;\n            cursor: pointer;\n            color: #aaa;\n            font-size: 20px;\n            line-height: 1;\n            padding: 2px 6px;\n            border-radius: 4px;\n        }\n\n        .mst-po-remove-floor:hover,\n        .mst-po-remove-floor:focus,\n        .mst-po-remove-floor:active {\n            color: #aaa;\n            background: none;\n            outline: none;\n        }\n\n        .mst-po-add-floor {\n            display: inline-flex;\n            align-items: center;\n            gap: 8px;\n            padding: 10px 20px;\n            font-size: 15px;\n            font-weight: 600;\n            color: #1C244B;\n            background: #fff;\n            border: 2px dashed #c8cde0;\n            border-radius: 8px;\n            cursor: pointer;\n            margin-top: 4px;\n            margin-bottom: 12px;\n            width: 100%;\n            justify-content: center;\n        }\n\n        .mst-po-add-floor:hover,\n        .mst-po-add-floor:focus,\n        .mst-po-add-floor:active {\n            color: #1C244B;\n            background: #fff;\n            border-color: #c8cde0;\n            outline: none;\n        }\n\n        .mst-po-add-floor svg {\n            flex-shrink: 0;\n        }\n\n        @media (max-width: 600px) {\n            .mst-po-row {\n                flex-direction: column;\n                gap: 15px;\n            }\n        }\n    <\/style>\n\n    <div class=\"mst-poptavka-form\">\n        \n        <form action=\"https:\/\/www.mstpodlahy.cz\/?page_id=1519#mst-po-form\" method=\"POST\" id=\"mst-po-form\">\n            <input type=\"hidden\" id=\"mst_poptavka_nonce\" name=\"mst_poptavka_nonce\" value=\"7be16e1c88\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/index.php?rest_route=%2Fwp%2Fv2%2Fpages%2F1519\" \/>            <input type=\"hidden\" name=\"mst_submit_poptavka\" value=\"1\">\n\n            <h3 class=\"mst-po-section-title\" style=\"margin-top:0;\">1. Zvolte produkt(y)<\/h3>\n\n            <div id=\"mst-floor-blocks\">\n                <!-- Floor blocks rendered by JS -->\n            <\/div>\n\n            <button type=\"button\" class=\"mst-po-add-floor\" id=\"mst-add-floor-btn\">\n                <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\"\n                    stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                    <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\" \/>\n                    <line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\" \/>\n                <\/svg>\n                P\u0159idat dal\u0161\u00ed podlahu\n            <\/button>\n\n            <h3 class=\"mst-po-section-title\">2. Kontaktn\u00ed \u00fadaje<\/h3>\n            <div class=\"mst-po-row\">\n                <div class=\"mst-po-col\">\n                    <label for=\"po_jmeno\">Jm\u00e9no a p\u0159\u00edjmen\u00ed *<\/label>\n                    <input type=\"text\" id=\"po_jmeno\" name=\"po_jmeno\" value=\"\" required>\n                <\/div>\n                <div class=\"mst-po-col\">\n                    <label for=\"po_email\">E-mail *<\/label>\n                    <input type=\"email\" id=\"po_email\" name=\"po_email\" value=\"\" required>\n                <\/div>\n            <\/div>\n\n            <div class=\"mst-po-row\">\n                <div class=\"mst-po-col\">\n                    <label for=\"po_adresa\">Ulice a \u010d.p. doru\u010den\u00ed *<\/label>\n                    <input type=\"text\" id=\"po_adresa\" name=\"po_adresa\" value=\"\"\n                        required>\n                <\/div>\n            <\/div>\n\n            <div class=\"mst-po-row\">\n                <div class=\"mst-po-col\">\n                    <label for=\"po_mesto\">M\u011bsto *<\/label>\n                    <input type=\"text\" id=\"po_mesto\" name=\"po_mesto\" value=\"\" required>\n                <\/div>\n                <div class=\"mst-po-col\">\n                    <label for=\"po_psc\">PS\u010c *<\/label>\n                    <input type=\"text\" id=\"po_psc\" name=\"po_psc\" value=\"\" required>\n                <\/div>\n            <\/div>\n\n            <div class=\"mst-po-row\">\n                <div class=\"mst-po-col\">\n                    <label for=\"po_zprava\">Zpr\u00e1va k objedn\u00e1vce (nepovinn\u00e9)<\/label>\n                    <textarea id=\"po_zprava\" name=\"po_zprava\"\n                        placeholder=\"M\u00e1te k popt\u00e1vce n\u011bjak\u00fd dotaz nebo up\u0159esn\u011bn\u00ed?\"><\/textarea>\n                <\/div>\n            <\/div>\n\n            <div class=\"mst-po-row\">\n                <div class=\"mst-po-col\">\n                    <button type=\"submit\" class=\"mst-po-submit\">Odeslat popt\u00e1vku<\/button>\n                <\/div>\n            <\/div>\n        <\/form>\n    <\/div>\n\n    <script>\n        (function () {\n            const floorMap = {\"Lamin\u00e1tov\u00e9 Plovouc\u00ed\":{\"Aqua Pro Select\":[\"2239\",\"2240\",\"2242\"],\"Aqualine XPT (CC)\":[\"2907\",\"2910\",\"2915\"],\"Aqualine XPT (SP)\":[\"2752\",\"2928\"],\"Aqualine XPT lisovan\u00e1 dr\u00e1\u017eka\":[\"2908\",\"2909\",\"2971\"],\"Laminate classic touch\":[\"2814\",\"35252\",\"37526\",\"37813\"],\"Laminate natural touch\":[\"2737\",\"2739\",\"2752\",\"2753\",\"4420\",\"4421\"]},\"Vinylov\u00e9 Akustick\u00e9\":{\"Nakuru\":[\"Baboon\",\"Impala\",\"Ivory\",\"Lion\",\"Rhino\",\"Savanna\"],\"Nakuru ryb\u00ed kost\":[\"Gazelle Herringbone\",\"Hippo Herringbone\",\"Kenya Herringbone\",\"Safari Herringbone\"]},\"Vinylov\u00e9 Clickov\u00e9\":{\"Caldera\":[],\"Caldera 300 x 600\":[\"Basalt\",\"Marmo Grigio\",\"Marmo Scuro\",\"Seasalt\",\"Stone\"],\"Caldera 405 x 810\":[\"Concrete Pearl\",\"Concrete Salt\",\"Concrete Sand\",\"Concrete Seal\",\"Concrete Shark\"],\"Caldera 615 x 1230\":[\"Marmo Grigio\",\"\u00a0Marmo Scuro\"],\"Emesty\":[\"Arlon\",\"Bruggy\",\"Gent\",\"Gistel\",\"Heist\",\"Leuven\",\"Mons 228\",\"Namur\",\"Ostende 228\",\"Roma\",\"Ronse\",\"Venice\"],\"Emesty ryb\u00ed kost\":[\"Arlon Herringbone\",\"Bruggy Herringbone\",\"Gent Herringbone\",\"Leavun Herringbone\",\"Namur Herringbone\"],\"Ivalo\":[\"Amaranth\",\"Barley\",\"Cane\",\"Flax\",\"Oat\",\"Roasted Bean\"],\"Mantaro\":[\"Fossil\",\"Hay\",\"Inca\",\"Pecan\",\"Spice\"],\"Mantaro ryb\u00ed kost\":[\"Fossil Herringbone\",\"Hay Herringbone\",\"Inca Herringbone\",\"Pecan Herringbone\",\"Spice Herringbone\"],\"Neva\":[\"Beaver\",\"Biscuit\",\"Dolce\",\"Harvest\",\"Powder\"],\"Sava ryb\u00ed kost\":[\"Almond Herringbone\",\"Sand Herringbone\"],\"Tarn\":[\"Canyon\",\"Chestnut\",\"Cider\",\"Clay\",\"Copper\",\"Vanilla Fudge\",\"Whiskey\"],\"Tigris\":[\"Chocolate Fudge\",\"Impala\",\"Lion\",\"Rhino\",\"Savanna\"],\"Yukon\":[\"Beach\",\"Desert Dune\",\"Mistral\",\"Sea Stone\",\"Smoked Grey\",\"Tan\"],\"Yukon ryb\u00ed kost\":[\"Desert Dune Herringbone\",\"Mistral Herringbone\",\"Smoked Grey Herringbone\",\"Tan Herringbone\"]},\"Vinylov\u00e9 Lepen\u00e9\":{\"Caldera\":[\"Concrete Salt\",\"Concrete Sand\",\"Concrete Shark\"],\"Emesty\":[\"Arlon\",\"Bruggy\",\"Gent\",\"Leuven\",\"Namur\"],\"Emesty ryb\u00ed kost\":[\"Arlon Herringbone\",\"Bruggy Herringbone\",\"Gent Herringbone\",\"Leuven Herringbone\",\"Namur Herringbone\"],\"Mantaro\":[\"Fossil\",\"Hay\",\"Inca\",\"Pecan\",\"Spice\"],\"Mantaro ryb\u00ed kost\":[\"Fossil Herringbone\",\"Hay Herringbone\",\"Inca Herringbone\",\"Pecan Herringbone\",\"Spice Herringbone\"],\"Tarn\":[\"Chestnut\",\"Clay\",\"Copper\",\"Whiskey\"],\"Tigris\":[\"Chocolate Fudge\",\"Impala\",\"Lion\",\"Rhino\",\"Savanna\"],\"Yukon\":[\"Beach\",\"Desert Dune\",\"Mistral\"]},\"D\u0159ev\u011bn\u00e9\":{\"Abisko\":[\"Frost\",\"Invisible\",\"Piceno\"],\"Alta 150\":[\"Invisible\",\"Natural\"],\"Alta 190\":[\"Invisible\",\"Mont Blanc\",\"Natural\"],\"Alta ryb\u00ed kost 120\":[\"Invisible\",\"Mont Blanc\",\"Natural\"],\"Baku 190\":[\"Empire\",\"Natural\",\"Prosecco\"],\"Carcassonne 220\":[\"Black\",\"Blanco\",\"Look Unfinished\",\"Natural\"],\"Chalet 190\":[\"Invisible\",\"Natural\",\"Smoked Pinda\"],\"Chalet ryb\u00ed kost\":[\"Invisible\",\"Natural\"],\"Cottage 190\":[\"Invisible\",\"Natural\",\"Paris Brown\"],\"Cottage 260\":[\"Invisible\",\"Natural\"],\"Cottage 300\":[\"Invisible\",\"Natural\"],\"Cottage ryb\u00ed kost\":[\"Invisible\",\"Natural\"],\"Ferme 190\":[\"Invisible\",\"Natural\",\"Smoked Pinda\"],\"New york\":[\"Invisible\",\"Natural\",\"Sunset\"],\"Orvieto\":[\"Antique\",\"Heritage\",\"Natural\",\"Prosecco\"],\"Osaka 190\":[\"Empire\",\"Heritage\",\"Natural\",\"Prosecco\"],\"Portofino 190\":[\"Cayenne\",\"Invisible\",\"Macadamia\",\"Natural\"],\"Portofino chevron\":[\"Cayenne\",\"Invisible\",\"Macadamia\",\"Natural\"],\"Portofino ryb\u00ed kost\":[\"Cayenne\",\"Invisible\",\"Macadamia\",\"Natural\"],\"Ravello chevron\":[\"Invisible\",\"Natural\",\"Natural Smoked\"],\"Riga 150\":[\"Invisible\",\"Natural\"],\"Riga 190\":[\"Invisible\",\"Mont Blanc\",\"Natural\"],\"Riga ryb\u00ed kost 120\":[\"Invisible\",\"Mont Blanc\",\"Natural\"],\"Tana 190\":[\"Frost\",\"Invisible\",\"Mellow\"],\"Tenda 150\":[\"Invisible\",\"Mont Blanc\",\"Natural\",\"Paris Brown\"],\"Vienna 120\":[\"Look Unfinished\",\"Natural Oil\",\"White\"],\"Vienna 150\":[\"Look Unfinished\",\"Natural\",\"White\"]},\"D\u00fdhov\u00e9\":{\"Aqua Pro Wood finest selection\":[],\"FLOORganic XPT supreme\":[]}};\n            const preKat = \"\" || '';\n            const preKol = \"\" || '';\n            const preDek = \"\" || '';\n\n            const categories = Object.keys(floorMap).sort();\n            let floorCount = 0;\n\n            \/\/ \u2500\u2500 helpers \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n            function selectClosestMatch(selectEl, value) {\n                if (!value) return false;\n                try { value = decodeURIComponent(value); } catch (e) { }\n                value = value.replace(\/\\+\/g, ' ');\n                const valClean = value.toLowerCase().replace(\/[^a-z0-9]\/g, '');\n                for (let i = 0; i < selectEl.options.length; i++) {\n                    if (selectEl.options[i].value === value) { selectEl.selectedIndex = i; return true; }\n                }\n                for (let i = 0; i < selectEl.options.length; i++) {\n                    let optClean = selectEl.options[i].value.toLowerCase().replace(\/[^a-z0-9]\/g, '');\n                    if (optClean === valClean || (optClean && valClean && (optClean.includes(valClean) || valClean.includes(optClean)))) {\n                        selectEl.selectedIndex = i; return true;\n                    }\n                }\n                return false;\n            }\n\n            function buildKatSelect(idx) {\n                const sel = document.createElement('select');\n                sel.name = 'po_floors[' + idx + '][kategorie]';\n                sel.id = 'po_kat_' + idx;\n                const defOpt = document.createElement('option');\n                defOpt.value = '';\n                defOpt.textContent = '-- Vyberte kategorii --';\n                sel.appendChild(defOpt);\n                categories.forEach(kat => {\n                    const opt = document.createElement('option');\n                    opt.value = kat; opt.textContent = kat;\n                    sel.appendChild(opt);\n                });\n                return sel;\n            }\n\n            function buildKolSelect(idx) {\n                const sel = document.createElement('select');\n                sel.name = 'po_floors[' + idx + '][kolekce]';\n                sel.id = 'po_kol_' + idx;\n                sel.disabled = true;\n                const opt = document.createElement('option');\n                opt.value = ''; opt.textContent = '-- Nejd\u0159\u00edve vyberte kategorii --';\n                sel.appendChild(opt);\n                return sel;\n            }\n\n            function buildDekSelect(idx) {\n                const sel = document.createElement('select');\n                sel.name = 'po_floors[' + idx + '][dekor]';\n                sel.id = 'po_dek_' + idx;\n                sel.disabled = true;\n                const opt = document.createElement('option');\n                opt.value = ''; opt.textContent = '-- Nejd\u0159\u00edve vyberte kolekci --';\n                sel.appendChild(opt);\n                return sel;\n            }\n\n            function updateKol(selKat, selKol, selDek) {\n                const katValue = selKat.value;\n                selKol.innerHTML = '';\n                selDek.innerHTML = '<option value=\"\">-- Nejd\u0159\u00edve vyberte kolekci --<\/option>';\n                selDek.disabled = true;\n                if (!katValue || !floorMap[katValue]) {\n                    selKol.innerHTML = '<option value=\"\">-- Nejd\u0159\u00edve vyberte kategorii --<\/option>';\n                    selKol.disabled = true;\n                    return;\n                }\n                const collections = Object.keys(floorMap[katValue]).sort();\n                if (collections.length === 0) {\n                    selKol.innerHTML = '<option value=\"\">-- \u017d\u00e1dn\u00e9 kolekce --<\/option>';\n                    selKol.disabled = true;\n                    return;\n                }\n                selKol.innerHTML = '<option value=\"\">-- Vyberte kolekci --<\/option>';\n                collections.forEach(kol => {\n                    const opt = document.createElement('option');\n                    opt.value = kol; opt.textContent = kol;\n                    selKol.appendChild(opt);\n                });\n                selKol.disabled = false;\n            }\n\n            function updateDek(selKat, selKol, selDek) {\n                const katValue = selKat.value;\n                const kolValue = selKol.value;\n                selDek.innerHTML = '';\n                if (!katValue || !kolValue || !floorMap[katValue] || !floorMap[katValue][kolValue]) {\n                    selDek.innerHTML = '<option value=\"\">-- Nejd\u0159\u00edve vyberte kolekci --<\/option>';\n                    selDek.disabled = true;\n                    return;\n                }\n                const decors = floorMap[katValue][kolValue].slice().sort();\n                if (decors.length === 0) {\n                    selDek.innerHTML = '<option value=\"\">-- \u017d\u00e1dn\u00e9 dekory --<\/option>';\n                    selDek.disabled = true;\n                    return;\n                }\n                selDek.innerHTML = '<option value=\"\">-- Vyberte dekor \/ podlahu --<\/option>';\n                decors.forEach(dek => {\n                    const opt = document.createElement('option');\n                    opt.value = dek; opt.textContent = dek;\n                    selDek.appendChild(opt);\n                });\n                selDek.disabled = false;\n            }\n\n            function updateRemoveButtons() {\n                const blocks = document.querySelectorAll('.mst-po-floor-block');\n                blocks.forEach(function (b) {\n                    const btn = b.querySelector('.mst-po-remove-floor');\n                    if (btn) btn.style.display = blocks.length > 1 ? '' : 'none';\n                });\n            }\n\n            function addFloorBlock(preKatVal, preKolVal, preDekVal) {\n                const idx = floorCount++;\n                const container = document.getElementById('mst-floor-blocks');\n                const block = document.createElement('div');\n                block.className = 'mst-po-floor-block';\n                block.dataset.idx = idx;\n\n                \/\/ header\n                const header = document.createElement('div');\n                header.className = 'mst-po-floor-block-header';\n                const numLabel = document.createElement('span');\n                numLabel.className = 'mst-po-floor-num';\n                header.appendChild(numLabel);\n                const removeBtn = document.createElement('button');\n                removeBtn.type = 'button';\n                removeBtn.className = 'mst-po-remove-floor';\n                removeBtn.title = 'Odebrat tuto podlahu';\n                removeBtn.innerHTML = '&times;';\n                removeBtn.addEventListener('click', function () {\n                    block.remove();\n                    renumberBlocks();\n                    updateRemoveButtons();\n                });\n                header.appendChild(removeBtn);\n                block.appendChild(header);\n\n                \/\/ row: kategorie + kolekce\n                const row1 = document.createElement('div');\n                row1.className = 'mst-po-row';\n                row1.style.marginBottom = '0';\n\n                const colKat = document.createElement('div');\n                colKat.className = 'mst-po-col';\n                const lblKat = document.createElement('label');\n                lblKat.htmlFor = 'po_kat_' + idx;\n                lblKat.textContent = 'Kategorie podlah';\n                colKat.appendChild(lblKat);\n                const selKat = buildKatSelect(idx);\n                colKat.appendChild(selKat);\n                row1.appendChild(colKat);\n\n                const colKol = document.createElement('div');\n                colKol.className = 'mst-po-col';\n                const lblKol = document.createElement('label');\n                lblKol.htmlFor = 'po_kol_' + idx;\n                lblKol.textContent = 'Kolekce';\n                colKol.appendChild(lblKol);\n                const selKol = buildKolSelect(idx);\n                colKol.appendChild(selKol);\n                row1.appendChild(colKol);\n                block.appendChild(row1);\n\n                \/\/ row: dekor\n                const row2 = document.createElement('div');\n                row2.className = 'mst-po-row';\n                row2.style.marginTop = '16px';\n\n                const colDek = document.createElement('div');\n                colDek.className = 'mst-po-col';\n                const lblDek = document.createElement('label');\n                lblDek.htmlFor = 'po_dek_' + idx;\n                lblDek.textContent = 'Dekor \/ Podlaha';\n                colDek.appendChild(lblDek);\n                const selDek = buildDekSelect(idx);\n                colDek.appendChild(selDek);\n                row2.appendChild(colDek);\n                block.appendChild(row2);\n\n                \/\/ events\n                selKat.addEventListener('change', function () { updateKol(selKat, selKol, selDek); });\n                selKol.addEventListener('change', function () { updateDek(selKat, selKol, selDek); });\n\n                container.appendChild(block);\n                renumberBlocks();\n                updateRemoveButtons();\n\n                \/\/ pre-fill\n                if (preKatVal) {\n                    if (selectClosestMatch(selKat, preKatVal)) {\n                        updateKol(selKat, selKol, selDek);\n                        if (preKolVal) {\n                            if (selectClosestMatch(selKol, preKolVal)) {\n                                updateDek(selKat, selKol, selDek);\n                                if (preDekVal) selectClosestMatch(selDek, preDekVal);\n                            }\n                        }\n                    }\n                }\n            }\n\n            function renumberBlocks() {\n                const blocks = document.querySelectorAll('.mst-po-floor-block');\n                blocks.forEach(function (b, i) {\n                    const numLabel = b.querySelector('.mst-po-floor-num');\n                    if (numLabel) numLabel.textContent = 'Podlaha \u010d. ' + (i + 1);\n                    \/\/ update input names indices so they stay sequential\n                    b.querySelectorAll('[name]').forEach(function (el) {\n                        el.name = el.name.replace(\/po_floors\\[\\d+\\]\/, 'po_floors[' + i + ']');\n                    });\n                });\n            }\n\n            \/\/ initial block\n            addFloorBlock(preKat, preKol, preDek);\n\n            \/\/ add floor button\n            const addBtn = document.getElementById('mst-add-floor-btn');\n            if (addBtn) {\n                addBtn.addEventListener('click', function () {\n                    addFloorBlock('', '', '');\n                    \/\/ scroll to new block smoothly\n                    const blocks = document.querySelectorAll('.mst-po-floor-block');\n                    const last = blocks[blocks.length - 1];\n                    if (last) last.scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n                });\n            }\n        })();\n    <\/script>\n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-1519","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.mstpodlahy.cz\/index.php?rest_route=\/wp\/v2\/pages\/1519","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mstpodlahy.cz\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.mstpodlahy.cz\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.mstpodlahy.cz\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mstpodlahy.cz\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1519"}],"version-history":[{"count":4,"href":"https:\/\/www.mstpodlahy.cz\/index.php?rest_route=\/wp\/v2\/pages\/1519\/revisions"}],"predecessor-version":[{"id":1523,"href":"https:\/\/www.mstpodlahy.cz\/index.php?rest_route=\/wp\/v2\/pages\/1519\/revisions\/1523"}],"wp:attachment":[{"href":"https:\/\/www.mstpodlahy.cz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1519"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}