{"id":53839,"date":"2026-01-22T10:20:43","date_gmt":"2026-01-22T10:20:43","guid":{"rendered":"https:\/\/mycodelab.space\/?page_id=53839"},"modified":"2026-02-17T18:13:39","modified_gmt":"2026-02-17T18:13:39","slug":"cenik","status":"publish","type":"page","link":"https:\/\/mycodelab.space\/en\/cenik\/","title":{"rendered":"Pricelist"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"53839\" class=\"elementor elementor-53839\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6d429d4 e-flex e-con-boxed cmsmasters-block-default e-con e-parent\" data-id=\"6d429d4\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-16833d4 e-con-full e-flex cmsmasters-block-default e-con e-child\" data-id=\"16833d4\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5c7b50c cmsmasters-block-default cmsmasters-sticky-default elementor-widget elementor-widget-heading\" data-id=\"5c7b50c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">REZIDENCE \u017dELEZN\u00c1 RUDA<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d4f58d8 e-flex e-con-boxed cmsmasters-block-default e-con e-parent\" data-id=\"d4f58d8\" 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-4d435fd cmsmasters-block-default cmsmasters-sticky-default elementor-widget elementor-widget-html\" data-id=\"4d435fd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"svg-wrapper\">\r\n  <div id=\"svg-map\"><\/div>\r\n<\/div>\r\n\r\n<div id=\"unit-tooltip\"><\/div>\r\n\r\n<style>\r\n\r\n#svg-map.units {\r\n  background: #F2F0ED;\r\n}\r\n\r\n\r\n#svg-map svg { max-height:100%; width:auto; }\r\n.svg-wrapper { width:100%; position:relative; }\r\n#svg-map svg { width:100%; height:auto; display:block; }\r\n#svg-map image { pointer-events:none!important; }\r\n\r\n\/* BUDOVA *\/\r\n#svg-map.building g polygon {\r\n  opacity:0;\r\n  cursor:pointer;\r\n  transition:opacity .4s ease, filter .3s ease;\r\n}\r\n#svg-map.building g.intro-flash polygon { opacity:.45; }\r\n#svg-map.building g.is-hovered polygon {\r\n  opacity:.65;\r\n  filter:drop-shadow(0 0 10px rgba(0,0,0,.35));\r\n}\r\n#svg-map.building g.is-dimmed { opacity:.2; }\r\n\r\n\/* JEDNOTKY *\/\r\n#svg-map.units g polygon {\r\n  opacity:0;\r\n  cursor:pointer;\r\n  transition:opacity .25s ease, filter .25s ease;\r\n  mix-blend-mode:multiply;\r\n  pointer-events:all;\r\n}\r\n#svg-map.units g.is-hovered polygon {\r\n  opacity:1;\r\n  mix-blend-mode:normal;\r\n  filter:drop-shadow(0 0 6px rgba(0,0,0,.35));\r\n}\r\n#svg-map.units g.is-dimmed polygon { opacity:0; }\r\n\r\n\/* TOOLTIP *\/\r\n#unit-tooltip {\r\n  position:fixed;\r\n  pointer-events:none;\r\n  background:rgba(0,0,0,.8);\r\n  color:#fff;\r\n  font-size:13px;\r\n  padding:4px 8px;\r\n  border-radius:6px;\r\n  opacity:0;\r\n  transition:opacity .15s ease;\r\n  z-index:9999;\r\n}\r\n#unit-tooltip.active { opacity:1; }\r\n\r\n\/* HLAVI\u010cKA *\/\r\n.floor-header {\r\n  display:flex;\r\n  gap:12px;\r\n  align-items:center;\r\n  margin-bottom:10px;\r\n}\r\n.floor-header button {\r\n  cursor:pointer;\r\n  border-radius:999px;\r\n  background-color: #6A6866;\r\n  font-size: 17px;\r\n  display: inline-flex;\r\n  align-items: center;\r\n  padding: 1px 11px;\r\n}\r\n\r\n\r\n\/* ===== HLAVI\u010cKA \u2013 OVERLAY NAD SVG ===== *\/\r\n.floor-header-overlay {\r\n  position: absolute;\r\n  top: 40px;\r\n  left: 80px;\r\n  z-index: 5;\r\n\r\n  display: flex;\r\n  flex-direction: column;\r\n  gap: 14px;\r\n}\r\n\r\n\/* TEXTY \u2013 BEZE ZM\u011aNY STYLU *\/\r\n.floor-building {\r\n  font-size: 20px;\r\n  font-weight: 500;\r\n  letter-spacing: 0.1em;\r\n  text-transform: uppercase;\r\n  color: #000;\r\n}\r\n\r\n.floor-floor {\r\n  font-size: 20px;\r\n  font-weight: 400;\r\n  color: #6A6866;\r\n  letter-spacing: 0.1em;\r\n}\r\n\r\n.floor-hint {\r\n  font-size: 19px;\r\n  color: #000;\r\n}\r\n\r\n\/* TLA\u010c\u00cdTKO ZP\u011aT *\/\r\n.floor-header-overlay > button {\r\n  align-self: flex-start;   \/* \u2b05\ufe0f KL\u00cd\u010cOV\u00dd \u0158\u00c1DEK *\/\r\n  cursor: pointer;\r\n  border-radius: 999px;\r\n  background-color: #6A6866;\r\n  font-size: 16px;\r\n  color: #fff;\r\n  border: none;\r\n\r\n  height: 36px;\r\n  padding: 3 9px;\r\n  display: inline-flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n}\r\n\r\n\r\n\/* ===== TABLET & MOBIL ===== *\/\r\n@media (max-width: 1024px) {\r\n\r\n  .floor-header-overlay {\r\n   \r\n    gap: 6px;               \/* \u2b05\ufe0f men\u0161\u00ed mezery mezi \u0159\u00e1dky *\/\r\n    padding-bottom: 6px;    \/* \u2b05\ufe0f st\u00e1hne cel\u00fd blok *\/\r\n  }\r\n  .floor-header-overlay {\r\n    position: relative;\r\n    top: auto;\r\n    left: auto;\r\n\r\n    padding: 16px 16px 12px;\r\n    background: #F2F0ED;\r\n  }\r\n\r\n  \/* \u2b07\ufe0f ZMEN\u0160EN\u00cd TEXT\u016e O CCA 1\/3 *\/\r\n  .floor-building {\r\n    font-size: 14px;\r\n  }\r\n\r\n  .floor-floor {\r\n    font-size: 14px;\r\n  }\r\n\r\n  .floor-hint {\r\n    font-size: 13px;\r\n    padding-bottom: 6px;\r\n  }\r\n\r\n  \/* men\u0161\u00ed tla\u010d\u00edtko na mobilu *\/\r\n  .floor-header-overlay > button {\r\n    height: 28px;\r\n    padding: 0 8px;\r\n    font-size: 14px;\r\n  }\r\n\r\n  \/* aby SVG neza\u010d\u00ednalo nalepen\u00e9 *\/\r\n  #svg-map.units svg {\r\n    margin-top: 10px;\r\n  }\r\n}\r\n\r\n\r\n\r\n\/* ===== ANIMACE P\u0158ECHODU ===== *\/\r\n.svg-wrapper {\r\n  transition: opacity .35s ease, transform .35s ease;\r\n}\r\n\r\n.svg-wrapper.is-leaving {\r\n  opacity: 0;\r\n  transform: translateY(12px);\r\n}\r\n\r\n<\/style>\r\n\r\n<script>\r\ndocument.addEventListener(\"DOMContentLoaded\", () => {\r\n\r\nconst BUILDING_SVG =\r\n  \"https:\/\/mycodelab.space\/wp-content\/uploads\/2026\/02\/cenik_green_zoom-4.svg\";\r\n\r\nconst FLOORS = {\r\n\r\n  \/* ===== OBJEKT A ===== *\/\r\n  A_1:{title:\"Objekt A \u2013 1. NP\",svg:\"https:\/\/mycodelab.space\/wp-content\/uploads\/2026\/01\/A_1NP.svg\",units:[\"A.101\",\"A.102\",\"A.103\",\"A.104\"]},\r\n  A_2:{title:\"Objekt A \u2013 2. NP\",svg:\"https:\/\/mycodelab.space\/wp-content\/uploads\/2026\/01\/A_2NP-1.svg\",units:[\"A.201\",\"A.202\",\"A.203\",\"A.204\",\"A.205\"]},\r\n  A_3:{title:\"Objekt A \u2013 3. NP\",svg:\"https:\/\/mycodelab.space\/wp-content\/uploads\/2026\/01\/A_3NP-1.svg\",units:[\"A.301\",\"A.302\",\"A.303\",\"A.304\",\"A.305\"]},\r\n  A_4:{title:\"Objekt A \u2013 4. NPz\",svg:\"https:\/\/mycodelab.space\/wp-content\/uploads\/2026\/01\/A_4NP_MEZONET.svg\",units:[\"A.401\",\"A.402\",\"A.403\"]},\r\n\r\n  \/* ===== OBJEKT B (DLE TABULKY) ===== *\/\r\n  B_1:{title:\"Objekt B \u2013 1. NP\",svg:\"https:\/\/mycodelab.space\/wp-content\/uploads\/2026\/01\/B_1NP-1.svg\",units:[\"B2.101\",\"B2.102\"]},\r\n\r\n  B_2:{title:\"Objekt B \u2013 2. NP\",svg:\"https:\/\/mycodelab.space\/wp-content\/uploads\/2026\/01\/B_2NP-1-1.svg\",\r\n    units:[\"B1.201\",\"B1.203\",\"B1.204\",\"B2.201\",\"B2.202\",\"B2.203\",\"B2.204\"]},\r\n\r\n  B_3:{title:\"Objekt B \u2013 3. NP\",svg:\"https:\/\/mycodelab.space\/wp-content\/uploads\/2026\/01\/B_3NP.svg\",\r\n    units:[\"B1.301\",\"B1.302\",\"B1.303\",\"B1.304\",\"B2.301\",\"B2.302\",\"B2.303\",\"B2.304\"]},\r\n\r\n  B_4:{title:\"Objekt B \u2013 4. NP\",svg:\"https:\/\/mycodelab.space\/wp-content\/uploads\/2026\/01\/B_4NP_MEZONET-1-1.svg\",\r\n    units:[\"B1.401\",\"B1.402\",\"B1.403\",\"B1.404\",\"B2.401\",\"B2.402\",\"B2.403\",\"B2.404\"]}\r\n};\r\n\r\nconst map=document.getElementById(\"svg-map\");\r\nconst tooltip=document.getElementById(\"unit-tooltip\");\r\nlet introActive=true,introTimer=null,introIndex=0;\r\n\r\nfunction enableHover(groups){\r\n  groups.forEach(g=>{\r\n    g.addEventListener(\"mouseenter\",()=>{\r\n      stopIntro();\r\n      groups.forEach(o=>o!==g&&o.classList.add(\"is-dimmed\"));\r\n      g.classList.add(\"is-hovered\");\r\n    });\r\n    g.addEventListener(\"mouseleave\",()=>{\r\n      groups.forEach(o=>o.classList.remove(\"is-dimmed\",\"is-hovered\"));\r\n      restartIntro(groups);\r\n    });\r\n  });\r\n}\r\n\r\nfunction playIntro(floors){\r\n  if(!introActive)return;\r\n  floors.forEach(f=>f.classList.remove(\"intro-flash\"));\r\n  floors[introIndex].classList.add(\"intro-flash\");\r\n  introIndex=(introIndex+1)%floors.length;\r\n  introTimer=setTimeout(()=>playIntro(floors),700);\r\n}\r\nfunction stopIntro(){introActive=false;clearTimeout(introTimer);}\r\nfunction restartIntro(f){stopIntro();introActive=true;playIntro(f);}\r\n\r\nfunction loadBuilding(){\r\n  fetch(BUILDING_SVG).then(r=>r.text()).then(svg=>{\r\n    map.innerHTML=svg;\r\n    map.className=\"building\";\r\n    const floors=[...map.querySelectorAll(\"g[id^='A_'],g[id^='B_']\")];\r\n    floors.forEach(f=>f.onclick=()=>FLOORS[f.id]&&loadFloor(f.id));\r\n    playIntro(floors);\r\n    enableHover(floors);\r\n  });\r\n}\r\n\r\nfunction loadFloor(id){\r\n  const cfg = FLOORS[id];\r\n\r\n  fetch(cfg.svg).then(r => r.text()).then(svg => {\r\n\r\n    map.innerHTML = `\r\n      <div class=\"floor-header-overlay\">\r\n        <div class=\"floor-building\">${id.startsWith(\"A_\") ? \"BUDOVA A\" : \"BUDOVA B\"}<\/div>\r\n        <div class=\"floor-floor\">${id.split(\"_\")[1]}. NADZEMN\u00cd PODLA\u017d\u00cd<\/div>\r\n        <div class=\"floor-hint\">Vyberte apartm\u00e1n na obr\u00e1zku<\/div>\r\n        <button id=\"back\">\u2190<\/button>\r\n      <\/div>\r\n      ${svg}\r\n    `;\r\n\r\n    map.className = \"units\";\r\n\r\n    \/\/ \u2b05\ufe0f INIT JEDNOTEK MUS\u00cd B\u00ddT TADY\r\n    initUnits(cfg.units);\r\n\r\n    \/\/ \u2b05\ufe0f ANIMOVAN\u00dd N\u00c1VRAT\r\n    document.getElementById(\"back\").onclick = () => {\r\n      const wrapper = document.querySelector(\".svg-wrapper\");\r\n\r\n      wrapper.classList.add(\"is-leaving\");\r\n\r\n      setTimeout(() => {\r\n        wrapper.classList.remove(\"is-leaving\");\r\n        loadBuilding();\r\n      }, 350);\r\n    };\r\n  });\r\n}\r\n\r\nfunction initUnits(list){\r\n\r\n  const isEN = window.location.pathname.startsWith('\/en\/');\r\n  const langPrefix = isEN ? \"\/en\" : \"\";\r\n\r\n  const groups=[];\r\n\r\n  list.forEach(code=>{\r\n\r\n    const g=[...map.querySelectorAll(\"svg g[data-name]\")]\r\n      .find(el=>el.dataset.name.includes(code));\r\n\r\n    if(!g)return;\r\n\r\n    const slug = code.toLowerCase().replace(\".\",\"-\");\r\n    const url = `${langPrefix}\/byty\/jednotka-${slug}\/`;\r\n\r\n    const a=document.createElementNS(\"http:\/\/www.w3.org\/2000\/svg\",\"a\");\r\n    a.setAttribute(\"href\", url);\r\n\r\n    g.parentNode.insertBefore(a,g);\r\n    a.appendChild(g);\r\n\r\n    g.onmousemove=e=>{\r\n      tooltip.textContent=g.dataset.name;\r\n      tooltip.style.left=e.clientX+12+\"px\";\r\n      tooltip.style.top=e.clientY+12+\"px\";\r\n      tooltip.classList.add(\"active\");\r\n    };\r\n\r\n    g.onmouseleave=()=>tooltip.classList.remove(\"active\");\r\n\r\n    groups.push(g);\r\n  });\r\n\r\n  enableHover(groups);\r\n}\r\n\r\n\r\nloadBuilding();\r\n});\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-09bb42b e-flex e-con-boxed cmsmasters-block-default e-con e-parent\" data-id=\"09bb42b\" 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-80c0b8a cmsmasters-block-default cmsmasters-sticky-default elementor-widget elementor-widget-html\" data-id=\"80c0b8a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"gs-filter-row\">\r\n\r\n  <div class=\"gs-filter-buttons\">\r\n    <button class=\"gs-filter-btn active\" data-filter=\"all\">V\u0160E<\/button>\r\n    <button class=\"gs-filter-btn\" data-filter=\"1+kk\">1+kk<\/button>\r\n    <button class=\"gs-filter-btn\" data-filter=\"2+kk\">2+kk<\/button>\r\n    <button class=\"gs-filter-btn\" data-filter=\"3+kk\">3+kk<\/button>\r\n    <button class=\"gs-filter-btn\" data-filter=\"4+kk\">4+kk<\/button>\r\n  <\/div>\r\n\r\n  <div class=\"gs-filter-selects\">\r\n\r\n    <div class=\"gs-select\">\r\n      <select id=\"gs-filter-stav\">\r\n        <option value=\"\">Stav<\/option>\r\n        <option value=\"Voln\u00fd\">Voln\u00fd<\/option>\r\n        <option value=\"V p\u0159\u00edprav\u011b\">V p\u0159\u00edprav\u011b<\/option>\r\n        <option value=\"P\u0159edrezervace\">P\u0159edrezervace<\/option>\r\n        <option value=\"Prodan\u00fd\">Prodan\u00fd<\/option>\r\n      <\/select>\r\n    <\/div>\r\n\r\n    <div class=\"gs-select\">\r\n      <select id=\"gs-filter-podlazi\">\r\n        <option value=\"\">Podla\u017e\u00ed<\/option>\r\n        <option value=\"1NP\">1NP<\/option>\r\n        <option value=\"2NP\">2NP<\/option>\r\n        <option value=\"3NP\">3NP<\/option>\r\n        <option value=\"4NP\">4NP<\/option>\r\n      <\/select>\r\n    <\/div>\r\n\r\n    <div class=\"gs-select\">\r\n      <select id=\"gs-filter-budova\">\r\n        <option value=\"\">Budova<\/option>\r\n        <option value=\"A\">A<\/option>\r\n        <option value=\"B\">B<\/option>\r\n        <option value=\"C\">C<\/option>\r\n      <\/select>\r\n    <\/div>\r\n\r\n  <\/div>\r\n<\/div>\r\n\r\n<div class=\"gs-reset-wrap\">\r\n  <button id=\"gs-reset-filters\" type=\"button\">\u00d7 Zru\u0161it filtry<\/button>\r\n<\/div>\r\n<style>\r\n#gs-filter-budova option[value=\"C\"] {\r\n  display: none;\r\n}\r\n\r\n   .gs-reset-wrap {\r\n  text-align: center;\r\n  margin: 14px 0 30px;\r\n  display: none;           \/* \u2b05\ufe0f defaultn\u011b skryt\u00e9 *\/\r\n}\r\n\r\n.gs-reset-wrap.is-visible {\r\n  display: block;\r\n}\r\n\r\n#gs-reset-filters {\r\n  all: unset;\r\n  cursor: pointer;\r\n  font-family: 'Saans', sans-serif;\r\n  font-size: 14px;\r\n  color: #2B2B2B;\r\n}\r\n\r\n#gs-reset-filters:hover {\r\n  text-decoration: underline;\r\n}\r\n\r\n<\/style>\r\n<style>\r\n\r\n\/* =========================================\r\n   FILTRY \u2013 FIN\u00c1LN\u00cd FLEX LAYOUT (OKULA)\r\n========================================= *\/\r\n\r\n\/* ===== HLAVN\u00cd KONTEJNER ===== *\/\r\n.gs-filter-row {\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 16px;\r\n  padding: 20px;\r\n  background: #CCE8C4;\r\n}\r\n\r\n\/* =========================================\r\n   DISPOZICE \u2013 TLA\u010c\u00cdTKA (FLEX FILL)\r\n========================================= *\/\r\n.gs-filter-buttons {\r\n  display: flex;\r\n  gap: 12px;\r\n  flex: 1;                 \/* \u2b05\ufe0f VYPLN\u00cd ZBYTEK \u0158\u00c1DKU *\/\r\n}\r\n\r\n\/* TLA\u010c\u00cdTKA SE ROZTAHUJ\u00cd *\/\r\n.gs-filter-btn {\r\n  all: unset;\r\n  box-sizing: border-box;\r\n\r\n  flex: 1 1 0;             \/* \u2b05\ufe0f KL\u00cd\u010c \u2013 dynamick\u00e1 \u0161\u00ed\u0159ka *\/\r\n  text-align: center;\r\n\r\n  font-family: 'Saans', sans-serif;\r\n  font-size: 14px;\r\n  line-height: 1.2;\r\n  letter-spacing: 0.05em;\r\n\r\n  padding: 8px 12px;\r\n  border-radius: 50px;\r\n  border: 1.5px solid #fff;\r\n\r\n  background: #CCE8C4;\r\n  color: #000;\r\n  white-space: nowrap;\r\n  cursor: pointer;\r\n\r\n  transition: background 0.2s ease;\r\n}\r\n\r\n.gs-filter-btn.active,\r\n.gs-filter-btn:hover {\r\n  background: #ffffff;\r\n  color: black;\r\n}\r\n\r\n\/* =========================================\r\n   SELECT FILTRY\r\n========================================= *\/\r\n.gs-filter-selects {\r\n  display: flex;\r\n  gap: 12px;\r\n  flex-shrink: 0;          \/* \u2b05\ufe0f NIKDY SE NESM\u00cd SMR\u0160TIT *\/\r\n}\r\n\r\n.gs-select {\r\n  position: relative;\r\n  width: 140px;\r\n}\r\n\r\n\/* SELECT \u2013 v\u00fdchoz\u00ed stav *\/\r\n.gs-select select {\r\n  appearance: none;\r\n  width: 100%;\r\n\r\n  font-family: 'Saans', sans-serif;\r\n  font-size: 14px;\r\n  line-height: 1.2;\r\n\r\n  padding: 8px 32px 8px 14px;\r\n  border-radius: 50px;\r\n  border: 1.5px solid #fff;\r\n\r\n  background: #CCE8C4;\r\n  color: #000;\r\n  cursor: pointer;\r\n\r\n  transition: background 0.2s ease;\r\n}\r\n\r\n\/* vybran\u00fd stav *\/\r\n.gs-select select.is-selected {\r\n  background: #ffffff;\r\n}\r\n\r\n\/* focus *\/\r\n.gs-select select:focus {\r\n  outline: none;\r\n  background: #ffffff;\r\n}\r\n\r\n\/* \u0161ipka *\/\r\n.gs-select::after {\r\n  content: \"\";\r\n  position: absolute;\r\n  right: 12px;\r\n  top: 50%;\r\n  transform: translateY(-50%);\r\n  width: 10px;\r\n  height: 10px;\r\n  background: url(\"data:image\/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' xmlns='http:\/\/www.w3.org\/2000\/svg'%3E%3Cpolyline points='6 9 12 15 18 9'\/%3E%3C\/svg%3E\") no-repeat center;\r\n  pointer-events: none;\r\n}\r\n\r\n\/* =========================================\r\n   TABLET (\u2264 1024px)\r\n========================================= *\/\r\n@media (max-width: 1024px) {\r\n\r\n  .gs-filter-row {\r\n    flex-wrap: wrap;\r\n    gap: 12px;\r\n  }\r\n\r\n  .gs-filter-buttons {\r\n    flex: 1 1 100%;\r\n  }\r\n\r\n  .gs-filter-btn {\r\n    flex: 1 1 auto;\r\n  }\r\n\r\n  .gs-filter-selects {\r\n    width: 100%;\r\n    justify-content: flex-start;\r\n  }\r\n}\r\n\r\n\/* =========================================\r\n   MOBIL (\u2264 768px)\r\n========================================= *\/\r\n@media (max-width: 768px) {\r\n\r\n  .gs-filter-row {\r\n    flex-wrap: wrap;\r\n    gap: 12px;\r\n  }\r\n\r\n  \/* dispozice \u2013 men\u0161\u00ed + zalomen\u00ed *\/\r\n  .gs-filter-buttons {\r\n    width: 100%;\r\n    flex-wrap: wrap;\r\n    justify-content: center;\r\n    gap: 8px;\r\n  }\r\n\r\n  .gs-filter-btn {\r\n    flex: 0 0 auto;\r\n    font-size: 12px;\r\n    padding: 6px 10px;\r\n    letter-spacing: 0.04em;\r\n  }\r\n\r\n  \/* selecty *\/\r\n  .gs-filter-selects {\r\n    width: 100%;\r\n    justify-content: center;\r\n    gap: 8px;\r\n  }\r\n\r\n  .gs-select {\r\n    width: 120px;\r\n  }\r\n\r\n  .gs-select select {\r\n    font-size: 13px;\r\n    padding: 6px 26px 6px 12px;\r\n  }\r\n\r\n  .gs-select::after {\r\n    right: 10px;\r\n  }\r\n}\r\n\r\n<\/style>\r\n<script>\r\n(function waitForElementor(){\r\n\r\nfunction init(){\r\n\r\nif (window.gsFilterInitialized) return;\r\nwindow.gsFilterInitialized = true;\r\n\r\n\/* ================= LANGUAGE ================= *\/\r\nconst isEN = \/^\\\/en(\\\/|$)\/.test(window.location.pathname);\r\nconst UNIT = isEN ? \" sqm\" : \" m\u00b2\";\r\n\r\n\/* ================= HELPERS ================= *\/\r\nconst normText = s =>\r\n  String(s || \"\")\r\n    .trim()\r\n    .toLowerCase()\r\n    .normalize(\"NFD\")\r\n    .replace(\/[\\u0300-\\u036f]\/g, \"\");\r\n\r\nconst normVal = c => (c?.f ?? c?.v ?? \"\").toString().trim();\r\nconst parseGViz = t => JSON.parse(t.replace(\/^[^\\(]+\\(|\\);?$\/g, \"\"));\r\nconst normHeader = s =>\r\n  s.normalize(\"NFD\")\r\n   .replace(\/[\\u0300-\\u036f]\/g,\"\")\r\n   .replace(\/\\s+\/g,\"\")\r\n   .toLowerCase();\r\n\r\n\/* ================= FORMATTERS ================= *\/\r\n\r\nfunction formatArea(val){\r\n  return val ? val + UNIT : \"-\";\r\n}\r\n\r\nfunction formatPrice(val){\r\n  if(!val) return \"-\";\r\n  return isEN\r\n    ? val.replace(\"K\u010d\",\"\").trim() + \" CZK\"\r\n    : val;\r\n}\r\n\r\nfunction formatDisposition(val){\r\n  if(!isEN) return val;\r\n  return {\r\n    \"1+kk\":\"STUDIO\",\r\n    \"2+kk\":\"1 BDRM\",\r\n    \"3+kk\":\"2 BDRM\",\r\n    \"4+kk\":\"3 BDRM\"\r\n  }[val] || val;\r\n}\r\n\r\nfunction formatFloor(val){\r\n  if(!isEN) return val;\r\n  const num = val.replace(\/\\D\/g,'');\r\n  return num ? num + \". Floor\" : val;\r\n}\r\n\r\nfunction translateStatus(val){\r\n  const raw = normText(val);\r\n\r\n  if(raw.includes(\"vol\")) return isEN ? \"AVAILABLE\" : \"Voln\u00fd\";\r\n  if(raw.includes(\"predrezerv\")) return isEN ? \"PRE-BOOKING\" : \"P\u0159edrezervace\";\r\n  if(raw.includes(\"prodan\")) return isEN ? \"SOLD\" : \"Prodan\u00fd\";\r\n  if(raw.includes(\"pripr\")) return isEN ? \"IN PREPARATION\" : \"V p\u0159\u00edprav\u011b\";\r\n\r\n  return val;\r\n}\r\n\r\nfunction statusClass(val){\r\n  const raw = normText(val);\r\n\r\n  if(raw.includes(\"vol\")) return \"st-volny\";\r\n  if(raw.includes(\"predrezerv\")) return \"st-predrezervace\";\r\n  if(raw.includes(\"prodan\")) return \"st-prodany\";\r\n  return \"st-priprava\";\r\n}\r\n\r\n\/* ================= CONFIG ================= *\/\r\nconst SHEET_URL =\r\n\"https:\/\/docs.google.com\/spreadsheets\/d\/1LRhHUQCrBdeqhyJYWfxwhmadW_3LUF7WJAOWfkhvW6g\/gviz\/tq?tqx=out:json\";\r\n\r\nconst tbody = document.getElementById(\"gs-table-body\");\r\nif (!tbody) return;\r\n\r\nconst loadMoreWrap = document.getElementById(\"gs-load-more-wrap\");\r\nconst loadMoreBtn = document.getElementById(\"gs-load-more\");\r\n\r\n\/* ================= STATE ================= *\/\r\nlet rows = [];\r\nlet activeDispozice = \"all\";\r\nlet visibleCount = 0;\r\nconst getStep = () => window.innerWidth <= 900 ? 6 : 15;\r\n\r\n\/* ================= RESET VISIBILITY ================= *\/\r\nfunction updateResetVisibility(){\r\n\r\n  const wrap = document.querySelector(\".gs-reset-wrap\");\r\n  if (!wrap) return;\r\n\r\n  const hasFilter =\r\n    activeDispozice !== \"all\" ||\r\n    document.getElementById(\"gs-filter-stav\")?.selectedIndex > 0 ||\r\n    document.getElementById(\"gs-filter-podlazi\")?.selectedIndex > 0 ||\r\n    document.getElementById(\"gs-filter-budova\")?.selectedIndex > 0;\r\n\r\n  wrap.classList.toggle(\"is-visible\", hasFilter);\r\n}\r\n\r\n\/* ================= FILTER ================= *\/\r\nfunction getFilteredData(){\r\n\r\n  const stavSel =\r\n    document.getElementById(\"gs-filter-stav\")?.selectedIndex > 0\r\n      ? normText(document.getElementById(\"gs-filter-stav\").value)\r\n      : \"\";\r\n\r\n  const podlaziSel =\r\n    document.getElementById(\"gs-filter-podlazi\")?.selectedIndex > 0\r\n      ? normText(document.getElementById(\"gs-filter-podlazi\").value)\r\n      : \"\";\r\n\r\n  const budovaSel =\r\n    document.getElementById(\"gs-filter-budova\")?.selectedIndex > 0\r\n      ? document.getElementById(\"gs-filter-budova\").value\r\n      : \"\";\r\n\r\n  return rows.filter(r => {\r\n    if (activeDispozice !== \"all\" && r._dispozice !== activeDispozice) return false;\r\n    if (stavSel && r._stav !== stavSel) return false;\r\n    if (podlaziSel && r._podlazi !== podlaziSel) return false;\r\n    if (budovaSel && r.budova !== budovaSel) return false;\r\n    return true;\r\n  });\r\n}\r\n\r\n\/* ================= RENDER ================= *\/\r\nfunction render(){\r\n\r\n  const data = getFilteredData();\r\n  const visible = data.slice(0, visibleCount);\r\n\r\n  tbody.innerHTML = visible.map(r => {\r\n\r\n    const cls = statusClass(r.stav);\r\n    const finalStatus = translateStatus(r.stav);\r\n\r\n    return `\r\n<tr>\r\n\r\n<td data-label=\"${isEN ? \"Apartment\" : \"Apartm\u00e1n\"}\">\r\n<a class=\"unit-link\" href=\"${r.url}\">${r.apartman}<\/a>\r\n<\/td>\r\n\r\n<td data-label=\"${isEN ? \"Floor\" : \"Podla\u017e\u00ed\"}\">\r\n${formatFloor(r.podlazi)}\r\n<\/td>\r\n\r\n<td data-label=\"${isEN ? \"Layout\" : \"Dispozice\"}\">\r\n${formatDisposition(r.dispozice)}\r\n<\/td>\r\n\r\n<td data-label=\"${isEN ? \"Area\" : \"Plocha\"}\">\r\n${formatArea(r.plocha)}\r\n<\/td>\r\n\r\n<td data-label=\"${isEN ? \"Balcony\" : \"Balkon\"}\">\r\n${formatArea(r.balkon)}\r\n<\/td>\r\n\r\n<td data-label=\"${isEN ? \"Loggia\" : \"Lod\u017eie\"}\">\r\n${formatArea(r.lodzie)}\r\n<\/td>\r\n\r\n<td data-label=\"${isEN ? \"Terrace\" : \"Terasa\"}\">\r\n${formatArea(r.terasa)}\r\n<\/td>\r\n\r\n<td data-label=\"${isEN ? \"Front garden\" : \"P\u0159edzahr\u00e1dka\"}\">\r\n${formatArea(r.predzahradka)}\r\n<\/td>\r\n\r\n<td data-label=\"${isEN ? \"Price\" : \"Cena\"}\" class=\"price\">\r\n${formatPrice(r.cena)}\r\n<\/td>\r\n\r\n<td>\r\n<span class=\"svg-btn\" onclick=\"location.href='${r.url}'\"><\/span>\r\n<\/td>\r\n\r\n<td data-label=\"${isEN ? \"Status\" : \"Stav\"}\">\r\n<div class=\"status-wrap\">\r\n<span class=\"status-dot ${cls}\"><\/span>\r\n${finalStatus}\r\n<\/div>\r\n<span class=\"svg-btn mobile-detail-btn\"\r\nonclick=\"location.href='${r.url}'\"><\/span>\r\n<\/td>\r\n\r\n<\/tr>`;\r\n  }).join(\"\");\r\n\r\n  loadMoreWrap.style.display =\r\n    visibleCount < data.length ? \"block\" : \"none\";\r\n\r\n  updateResetVisibility();\r\n}\r\n\r\n\/* ================= LOAD DATA ================= *\/\r\nfetch(SHEET_URL)\r\n.then(r=>r.text())\r\n.then(t=>{\r\n\r\n  const table = parseGViz(t).table;\r\n  const h = table.cols.map(c => c.label || \"\");\r\n  const col = n => h.findIndex(x => normHeader(x) === normHeader(n));\r\n\r\n  rows = table.rows.map(r => {\r\n    const c = r.c;\r\n    const apartman = normVal(c[col(\"Apartm\u00e1n\")]);\r\n\r\n    return {\r\n      apartman,\r\n      podlazi: normVal(c[col(\"Podla\u017e\u00ed\")]),\r\n      dispozice: normVal(c[col(\"Dispozice\")]),\r\n      plocha: normVal(c[col(\"Plocha\")]),\r\n      balkon: normVal(c[col(\"Balkon\")]),\r\n      lodzie: normVal(c[col(\"Lod\u017eie\")]),\r\n      terasa: normVal(c[col(\"Terasa\")]),\r\n      predzahradka: normVal(c[col(\"P\u0159edzahr\u00e1dka\")]),\r\n      cena: normVal(c[col(\"Cena\")]),\r\n      stav: normVal(c[col(\"Stav\")]),\r\n      url: normVal(c[col(\"URL\")]) || \"#\",\r\n      budova: apartman ? apartman.charAt(0).toUpperCase() : \"\",\r\n      _dispozice: normText(normVal(c[col(\"Dispozice\")])),\r\n      _stav: normText(normVal(c[col(\"Stav\")])),\r\n      _podlazi: normText(normVal(c[col(\"Podla\u017e\u00ed\")]))\r\n    };\r\n  });\r\n\r\n  visibleCount = getStep();\r\n  render();\r\n});\r\n\r\n\/* ================= EVENTS ================= *\/\r\n\r\ndocument.addEventListener(\"click\", e=>{\r\n  const btn = e.target.closest(\".gs-filter-btn\");\r\n  if(!btn) return;\r\n\r\n  document.querySelectorAll(\".gs-filter-btn\")\r\n    .forEach(b=>b.classList.remove(\"active\"));\r\n\r\n  btn.classList.add(\"active\");\r\n  activeDispozice = normText(btn.dataset.filter || \"all\");\r\n  visibleCount = getStep();\r\n  render();\r\n});\r\n\r\n[\"gs-filter-stav\",\"gs-filter-podlazi\",\"gs-filter-budova\"].forEach(id=>{\r\n  const el = document.getElementById(id);\r\n  if(!el) return;\r\n\r\n  el.addEventListener(\"change\", ()=>{\r\n    visibleCount = getStep();\r\n    render();\r\n  });\r\n});\r\n\r\ndocument.addEventListener(\"click\", e=>{\r\n  if(!e.target.closest(\"#gs-reset-filters\")) return;\r\n\r\n  [\"gs-filter-stav\",\"gs-filter-podlazi\",\"gs-filter-budova\"].forEach(id=>{\r\n    const el = document.getElementById(id);\r\n    if(el) el.selectedIndex = 0;\r\n  });\r\n\r\n  document.querySelectorAll(\".gs-filter-btn\")\r\n    .forEach(b=>b.classList.remove(\"active\"));\r\n\r\n  const allBtn = document.querySelector('.gs-filter-btn[data-filter=\"all\"]');\r\n  if(allBtn) allBtn.classList.add(\"active\");\r\n\r\n  activeDispozice = \"all\";\r\n  visibleCount = getStep();\r\n  render();\r\n});\r\n\r\nloadMoreBtn?.addEventListener(\"click\", ()=>{\r\n  visibleCount += getStep();\r\n  render();\r\n});\r\n\r\n}\r\n\r\n\/* Elementor hook *\/\r\nif(window.elementorFrontend && elementorFrontend.hooks){\r\n  elementorFrontend.hooks.addAction(\r\n    \"frontend\/element_ready\/global\",\r\n    init\r\n  );\r\n}else{\r\n  document.addEventListener(\"DOMContentLoaded\", ()=>{\r\n    setTimeout(init,200);\r\n  });\r\n}\r\n\r\n})();\r\n<\/script>\r\n\r\n\r\n\r\n\r\n\r\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-cd17cf6 e-flex e-con-boxed cmsmasters-block-default e-con e-parent\" data-id=\"cd17cf6\" 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-17ba089 cmsmasters-block-default cmsmasters-sticky-default elementor-widget elementor-widget-heading\" data-id=\"17ba089\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">*Cena bytu obsahuje kompletn\u00ed vybaven\u00ed v\u010detn\u011b n\u00e1bytku, kuchyn\u011b a spot\u0159ebi\u010d\u016f, sklep a box na ly\u017ee.<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b4a0c90 cmsmasters-block-default cmsmasters-sticky-default elementor-widget elementor-widget-html\" data-id=\"b4a0c90\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n\/* ================== RESPONSIVE MARGINS ================== *\/\r\n@media (max-width: 767px) {\r\n  .gs-table { margin-top: 1px !important; }\r\n  .gs-byty-wrap { margin: 1px auto !important; }\r\n}\r\n@media (min-width: 768px) and (max-width: 1024px){\r\n  .gs-table { margin-top: 10px !important; }\r\n  .gs-byty-wrap { margin: 10px auto !important; }\r\n}\r\n\r\n\/* ================== GLOBAL ================== *\/\r\n.gs-byty-wrap,\r\n.gs-byty-wrap * {\r\n  font-family: 'Saans', sans-serif !important;\r\n}\r\n\r\n.gs-byty-wrap {\r\n  max-width: 1440px;\r\n  margin: 40px auto;\r\n  color: #3C3030;\r\n}\r\n\r\n\/* ================== TABLE ================== *\/\r\n.gs-table {\r\n  width: 100%;\r\n  border-collapse: collapse;\r\n  margin-top: 30px;\r\n}\r\n\r\n.gs-table thead th {\r\n  background: none !important;\r\n  color: #000;\r\n  font-size: 15px;\r\n  font-weight: 700;\r\n  padding: 4px 4px 10px;\r\n}\r\n\r\n.gs-table tbody tr {\r\n  border-bottom: 1px solid #EEE6E0;\r\n}\r\n\r\n.gs-table td {\r\n  padding: 8px 4px;\r\n  font-size: 15px;\r\n  vertical-align: middle;\r\n  letter-spacing: 0.7px;\r\n}\r\n\r\n\/* ================== LINKS & PRICE ================== *\/\r\n.unit-link {\r\n  color: #696766;\r\n  font-weight: 300;\r\n  text-decoration: none;\r\n}\r\n\r\n.price {\r\n  font-weight: 600;\r\n  color: #2B2B2B;\r\n  white-space: nowrap;\r\n}\r\n\r\n\/* ================== BUTTON ================== *\/\r\n.svg-btn {\r\n  display: inline-block;\r\n  width: 120px;\r\n  height: 31px;\r\n  background: url('https:\/\/mycodelab.space\/wp-content\/uploads\/2026\/01\/ikony_okula-31.svg')\r\n              center \/ contain no-repeat;\r\n  cursor: pointer;\r\n}\r\nhtml[lang=\"en-GB\"] .svg-btn {\r\n  background: url('https:\/\/mycodelab.space\/wp-content\/uploads\/2026\/02\/Apartment-detail.svg')\r\n              center \/ contain no-repeat;\r\n}\r\n\r\n.svg-btn.mobile-detail-btn {\r\n  display: none;\r\n  width: 130px;\r\n  height: 30px;\r\n}\r\n\r\n\/* ================== STATUS ================== *\/\r\n.status-wrap {\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 8px;\r\n}\r\n\r\n.status-dot {\r\n  width: 14px;\r\n  height: 14px;\r\n  border-radius: 50%;\r\n}\r\n.st-volny { background: #7FB763; }\r\n.st-prodany { background: #D83128; }\r\n.st-predrezervace { background: #e6ffe6; }\r\n.st-priprava { background: #d6d6c2; }\r\n\r\n\/* ================== MOBILE ================== *\/\r\n@media (max-width: 900px) {\r\n\r\n  .gs-table thead { display: none; }\r\n\r\n  .gs-table tbody tr {\r\n    display: block;\r\n    padding: 14px 0;\r\n  }\r\n\r\n  .gs-table tbody tr td {\r\n    display: flex;\r\n    justify-content: space-between;\r\n    padding: 6px 2px;\r\n    align-items: flex-start;   \/* \ud83d\udd25 d\u016fle\u017eit\u00e9 *\/\r\n    gap: 10px;    \r\n  }\r\n\r\n  .gs-table tbody tr td::before {\r\n    content: attr(data-label);\r\n    font-weight: 600;\r\n    color: #000;\r\n         \r\n    flex-shrink: 0;   \r\n  }\r\n\r\n  .svg-btn.mobile-detail-btn {\r\n    display: inline-block;\r\n  }\r\n\r\n  .gs-table tbody tr td[data-label=\"Stav\"] {\r\n    margin-top: 14px;\r\n    padding-top: 12px;\r\n    border-top: 1px dashed #E0D7D1;\r\n  }\r\n}\r\n\r\n\/* ================== FORCE RESET ================== *\/\r\n.gs-table {\r\n  border-collapse: collapse !important;\r\n  border-spacing: 0 !important;\r\n  border: none !important;\r\n}\r\n\r\n.gs-table thead,\r\n.gs-table tbody,\r\n.gs-table tr,\r\n.gs-table th,\r\n.gs-table td {\r\n  border: none !important;\r\n  outline: none !important;\r\n  box-shadow: none !important;\r\n}\r\n\r\n.gs-table tbody tr {\r\n  border-bottom: 1px solid #EEE6E0 !important;\r\n}\r\n\r\n@media (max-width: 900px) {\r\n  .gs-table .svg-btn { display: none !important; }\r\n  .gs-table .svg-btn.mobile-detail-btn {\r\n    display: inline-block !important;\r\n  }\r\n}\r\n<\/style>\r\n\r\n<div class=\"gs-byty-wrap\">\r\n<table class=\"gs-table\">\r\n<thead>\r\n<tr>\r\n  <th>Apartm\u00e1n<\/th>\r\n  <th>Podla\u017e\u00ed<\/th>\r\n  <th>Dispozice<\/th>\r\n  <th>Plocha<\/th>\r\n  <th>Balkon<\/th>\r\n  <th>Lod\u017eie<\/th>\r\n  <th>Terasa<\/th>\r\n  <th>P\u0159edzahr\u00e1dka<\/th>\r\n  <th>Cena<\/th>\r\n  <th><\/th>\r\n  <th>Stav<\/th>\r\n<\/tr>\r\n<\/thead>\r\n<tbody id=\"gs-table-body\">\r\n<tr>\r\n<td colspan=\"11\" style=\"padding:30px;text-align:center;color:#777\">\r\nNa\u010d\u00edt\u00e1m data\u2026\r\n<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n\r\n<div id=\"gs-load-more-wrap\" style=\"display:none;text-align:center;margin:30px 0;\">\r\n  <button id=\"gs-load-more\"\r\n    style=\"background:none;border:1px solid #000;padding:10px 22px;font-size:14px;cursor:pointer;\">\r\n    Zobrazit v\u00edce byt\u016f\r\n  <\/button>\r\n<\/div>\r\n\r\n<div id=\"gs-no-results\" style=\"display:none;text-align:center;padding:40px 0;\">\r\n  Hledan\u00fdm krit\u00e9ri\u00edm neodpov\u00edd\u00e1 \u017e\u00e1dn\u00fd apartm\u00e1n.\r\n<\/div>\r\n<\/div>\r\n<script>\r\n(function initGsTable(){\r\n\r\nconst isEN = document.documentElement.lang.toLowerCase().includes('en');\r\n\r\n\r\nconst normVal = c => (c?.f ?? c?.v ?? \"\").toString().trim();\r\nconst parseGViz = t => JSON.parse(t.replace(\/^[^\\(]+\\(|\\);?$\/g, \"\"));\r\nconst normHeader = s =>\r\n  s.normalize(\"NFD\").replace(\/[\\u0300-\\u036f]\/g,\"\")\r\n   .replace(\/\\s+\/g,\"\").toLowerCase();\r\n\r\n\/* ===== FORMATTERS ===== *\/\r\n\r\nfunction formatArea(val){\r\n  if(!val) return \"-\";\r\n  return isEN ? val + \" sqm\" : val + \" m\u00b2\";\r\n}\r\n\r\nfunction formatPrice(val){\r\n  if(!val) return \"-\";\r\n  return isEN\r\n    ? val.replace(\"K\u010d\",\"\").trim() + \" CZK\"\r\n    : val;\r\n}\r\n\r\nfunction formatDisposition(val){\r\n  if(!isEN) return val;\r\n  return {\r\n    \"1+kk\":\"STUDIO\",\r\n    \"2+kk\":\"1 BDRM\",\r\n    \"3+kk\":\"2 BDRM\",\r\n    \"4+kk\":\"3 BDRM\"\r\n  }[val] || val;\r\n}\r\n\r\nfunction formatFloor(val){\r\n  if(!isEN) return val;\r\n  const num = val.replace(\/\\D\/g,'');\r\n  return num ? num + \". Floor\" : val;\r\n}\r\n\r\nfunction formatStatus(val){\r\n  if(!val) return \"\";\r\n\r\n  const st = val.toLowerCase();\r\n\r\n  let css =\r\n    st.includes(\"vol\") ? \"st-volny\" :\r\n    st.includes(\"rez\") ? \"st-priprava\" :\r\n    st.includes(\"p\u0159\u00ed\") ? \"st-priprava\" :\r\n    st.includes(\"prod\") ? \"st-prodany\" :\r\n    \"st-prodany\";\r\n\r\n  let text = val;\r\n\r\n  if(isEN){\r\n    if(st.includes(\"vol\")) text = \"AVAILABLE\";\r\n    else if(st.includes(\"rez\")) text = \"PRE-BOOKING\";\r\n    else if(st.includes(\"prod\")) text = \"SOLD\";\r\n    else if(st.includes(\"p\u0159\u00ed\")) text = \"IN PREPARATION\";\r\n  }\r\n\r\n  return `\r\n    <div class=\"status-wrap\">\r\n      <span class=\"status-dot ${css}\"><\/span>\r\n      ${text}\r\n    <\/div>\r\n  `;\r\n}\r\n\r\n\/* ===== URL FIX ===== *\/\r\n\r\nfunction fixLangUrl(url){\r\n  if (!url) return \"#\";\r\n  const prefix = isEN ? \"\/en\" : \"\";\r\n  let path = new URL(url, window.location.origin).pathname;\r\n  path = path.replace(\/^\\\/en\\\/\/, '\/');\r\n  return prefix + path;\r\n}\r\n\r\n\/* ===== LOAD DATA ===== *\/\r\n\r\nconst SHEET_URL =\r\n\"https:\/\/docs.google.com\/spreadsheets\/d\/1LRhHUQCrBdeqhyJYWfxwhmadW_3LUF7WJAOWfkhvW6g\/gviz\/tq?tqx=out:json\";\r\n\r\nconst tbody = document.getElementById(\"gs-table-body\");\r\n\r\nfetch(SHEET_URL)\r\n.then(r => r.text())\r\n.then(t => {\r\n\r\n  const table = parseGViz(t).table;\r\n  const h = table.cols.map(c => c.label || \"\");\r\n  const col = n => h.findIndex(x => normHeader(x) === normHeader(n));\r\n\r\n  const i = {\r\n    apartman: col(\"Apartm\u00e1n\"),\r\n    podlazi: col(\"Podla\u017e\u00ed\"),\r\n    dispozice: col(\"Dispozice\"),\r\n    plocha: col(\"Plocha\"),\r\n    balkon: col(\"Balkon\"),\r\n    lodzie: col(\"Lod\u017eie\"),\r\n    terasa: col(\"Terasa\"),\r\n    predzahradka: col(\"P\u0159edzahr\u00e1dka\"),\r\n    cena: col(\"Cena\"),\r\n    stav: col(\"Stav\"),\r\n    url: col(\"URL\")\r\n  };\r\n\r\n  const rows = table.rows.map(r => {\r\n    const c = r.c;\r\n    return {\r\n      apartman: normVal(c[i.apartman]),\r\n      podlazi: normVal(c[i.podlazi]),\r\n      dispozice: normVal(c[i.dispozice]),\r\n      plocha: normVal(c[i.plocha]),\r\n      balkon: normVal(c[i.balkon]),\r\n      lodzie: normVal(c[i.lodzie]),\r\n      terasa: normVal(c[i.terasa]),\r\n      predzahradka: normVal(c[i.predzahradka]),\r\n      cena: normVal(c[i.cena]),\r\n      stav: normVal(c[i.stav]),\r\n      url: normVal(c[i.url]) || \"#\"\r\n    };\r\n  });\r\n\r\n  tbody.innerHTML = rows.map(r => {\r\n\r\n  const finalUrl = fixLangUrl(r.url);\r\n\r\n  return `\r\n<tr>\r\n<td data-label=\"Apartm\u00e1n\">\r\n  <a class=\"unit-link\" href=\"${finalUrl}\">${r.apartman}<\/a>\r\n<\/td>\r\n\r\n<td data-label=\"Podla\u017e\u00ed\">\r\n  ${formatFloor(r.podlazi)}\r\n<\/td>\r\n\r\n<td data-label=\"Dispozice\">\r\n  ${formatDisposition(r.dispozice)}\r\n<\/td>\r\n\r\n<td data-label=\"Plocha\">\r\n  ${formatArea(r.plocha)}\r\n<\/td>\r\n\r\n<td data-label=\"Balkon\">\r\n  ${r.balkon ? formatArea(r.balkon) : \"-\"}\r\n<\/td>\r\n\r\n<td data-label=\"Lod\u017eie\">\r\n  ${r.lodzie ? formatArea(r.lodzie) : \"-\"}\r\n<\/td>\r\n\r\n<td data-label=\"Terasa\">\r\n  ${r.terasa ? formatArea(r.terasa) : \"-\"}\r\n<\/td>\r\n\r\n<td data-label=\"P\u0159edzahr\u00e1dka\">\r\n  ${r.predzahradka ? formatArea(r.predzahradka) : \"-\"}\r\n<\/td>\r\n\r\n<td data-label=\"Cena\" class=\"price\">\r\n  ${formatPrice(r.cena)}\r\n<\/td>\r\n\r\n<td>\r\n  <a href=\"${finalUrl}\" class=\"svg-btn\"><\/a>\r\n<\/td>\r\n\r\n<td data-label=\"Stav\">\r\n  ${formatStatus(r.stav)}\r\n<\/td>\r\n\r\n<\/tr>`;\r\n}).join(\"\");\r\n\r\n\r\n});\r\n\r\n})();\r\n<\/script>\r\n\r\n\r\n\r\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d8c780f cmsmasters-block-default cmsmasters-sticky-default elementor-widget elementor-widget-html\" data-id=\"d8c780f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<script>\r\ndocument.addEventListener(\"click\", function(e){\r\n\r\n  const btn = e.target.closest(\".svg-btn\");\r\n  if(!btn) return;\r\n\r\n  const link = btn.getAttribute(\"onclick\");\r\n  if(!link) return;\r\n\r\n  const match = link.match(\/'(.*?)'\/);\r\n  if(!match) return;\r\n\r\n  e.preventDefault();\r\n\r\n  const originalUrl = match[1];\r\n  const isEN = window.location.pathname.startsWith('\/en\/');\r\n  const path = new URL(originalUrl).pathname;\r\n\r\n  const finalUrl = isEN ? \"\/en\" + path : path;\r\n\r\n  window.location.href = finalUrl;\r\n\r\n});\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-67df1ca e-flex e-con-boxed cmsmasters-block-default e-con e-parent\" data-id=\"67df1ca\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-7ad501f e-con-full e-flex cmsmasters-block-default e-con e-child\" data-id=\"7ad501f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e4bd038 cmsmasters-block-default cmsmasters-sticky-default elementor-widget elementor-widget-text-editor\" data-id=\"e4bd038\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Ve\u0161ker\u00e9 uveden\u00e9 ceny slou\u017e\u00ed v\u00fdhradn\u011b k orientaci z\u00e1jemc\u016f a nejsou z\u00e1vazn\u00e9. Fin\u00e1ln\u00ed cena konkr\u00e9tn\u00ed jednotky bude potvrzena odpov\u011bdnou osobou z obchodn\u00edho t\u00fdmu p\u0159i sjedn\u00e1n\u00ed rezerva\u010dn\u00edch podm\u00ednek. Z\u00e1vaznou se st\u00e1v\u00e1 a\u017e podpisem rezerva\u010dn\u00ed smlouvy.<\/p><p>Aktu\u00e1ln\u00ed cen\u00edk m\u016f\u017ee b\u00fdt kdykoli upraven nebo nahrazen nov\u00fdm, a to a\u017e do momentu, kdy dojde k uzav\u0159en\u00ed p\u00edsemn\u00e9 dohody o rezervaci s konkr\u00e9tn\u00edm z\u00e1jemcem. Prod\u00e1vaj\u00edc\u00ed si vyhrazuje pr\u00e1vo pr\u016fb\u011b\u017en\u011b aktualizovat obsah bez p\u0159edchoz\u00edho upozorn\u011bn\u00ed.<\/p><p>Vizualizace, n\u00e1kresy p\u016fdorys\u016f i zobrazen\u00e9 materi\u00e1ly a barvy jsou pouze ilustrativn\u00ed a mohou se od kone\u010dn\u00e9 realizace li\u0161it. Nejsou pr\u00e1vn\u011b vymahateln\u00e9 a nelze je pova\u017eovat za nab\u00eddku ani n\u00e1vrh smlouvy. Vybaven\u00ed na vizualizac\u00edch je demonstrativn\u00ed a nen\u00ed sou\u010d\u00e1st\u00ed standardn\u00edho dod\u00e1n\u00ed<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f3db07d e-con-full e-flex cmsmasters-block-default e-con e-child\" data-id=\"f3db07d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-70d1db5 cmsmasters-block-default cmsmasters-sticky-default elementor-widget elementor-widget-video\" data-id=\"70d1db5\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;video_type&quot;:&quot;hosted&quot;,&quot;start&quot;:0.01,&quot;autoplay&quot;:&quot;yes&quot;,&quot;mute&quot;:&quot;yes&quot;,&quot;loop&quot;:&quot;yes&quot;,&quot;play_on_mobile&quot;:&quot;yes&quot;}\" data-widget_type=\"video.default\">\n\t\t\t\t\t\t\t<div class=\"e-hosted-video elementor-wrapper elementor-open-inline\">\n\t\t\t\t\t<video class=\"elementor-video\" src=\"https:\/\/mycodelab.space\/wp-content\/uploads\/2026\/01\/jelen_pingpong_ok.mp4#t=0.01\" autoplay=\"\" loop=\"\" muted=\"muted\" playsinline=\"\" controlsList=\"nodownload\" poster=\"https:\/\/mycodelab.space\/wp-content\/uploads\/2025\/12\/jelen-cover.png\"><\/video>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-301e8db e-flex e-con-boxed cmsmasters-block-default e-con e-parent\" data-id=\"301e8db\" 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-5035f7d cmsmasters-block-default cmsmasters-sticky-default elementor-widget elementor-widget-image\" data-id=\"5035f7d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"1876\" height=\"560\" src=\"https:\/\/mycodelab.space\/wp-content\/uploads\/2026\/01\/logo_okula-01.png\" class=\"attachment-full size-full wp-image-52174\" alt=\"\" srcset=\"https:\/\/mycodelab.space\/wp-content\/uploads\/2026\/01\/logo_okula-01.png 1876w, https:\/\/mycodelab.space\/wp-content\/uploads\/2026\/01\/logo_okula-01-300x90.png 300w, https:\/\/mycodelab.space\/wp-content\/uploads\/2026\/01\/logo_okula-01-1024x306.png 1024w, https:\/\/mycodelab.space\/wp-content\/uploads\/2026\/01\/logo_okula-01-768x229.png 768w, https:\/\/mycodelab.space\/wp-content\/uploads\/2026\/01\/logo_okula-01-1536x459.png 1536w, https:\/\/mycodelab.space\/wp-content\/uploads\/2026\/01\/logo_okula-01-860x257.png 860w\" sizes=\"(max-width: 1876px) 100vw, 1876px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<section class=\"elementor-element elementor-element-60512af e-flex e-con-boxed cmsmasters-block-default e-con e-parent\" data-id=\"60512af\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-1677ecf e-con-full e-flex cmsmasters-block-default e-con e-child\" data-id=\"1677ecf\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-bebfed9 cmsmasters-block-default cmsmasters-sticky-default elementor-widget elementor-widget-heading\" data-id=\"bebfed9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">M\u00c1TE Z\u00c1JEM O BYT<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e4061a9 cmsmasters-block-default cmsmasters-sticky-default elementor-widget elementor-widget-heading\" data-id=\"e4061a9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">NEBO DOPL\u0147UJ\u00cdC\u00cd INFORMACE?<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<div class=\"elementor-element elementor-element-446cc2a e-flex e-con-boxed cmsmasters-block-default e-con e-parent\" data-id=\"446cc2a\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-695531b e-flex e-con-boxed cmsmasters-block-default e-con e-child\" data-id=\"695531b\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e3efdf9 cmsmasters-block-default cmsmasters-sticky-default elementor-widget elementor-widget-cmsmasters-forminator\" data-id=\"e3efdf9\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;form_list&quot;:&quot;45443&quot;}\" data-widget_type=\"cmsmasters-forminator.default\">\n\t\t\t\t\t<div class=\"elementor-widget-cmsmasters-contact-form__wrapper elementor-widget-cmsmasters-contact-form cmsmasters-default-font\" id=\"cmsmasters-widget-form-e3efdf9\">\r\n\t\t\t<div class=\"elementor-widget-cmsmasters-contact-form__inner\"><div class=\"forminator-ui forminator-custom-form forminator-custom-form-45443 forminator-design--default  forminator_ajax\" data-forminator-render=\"0\" data-form=\"forminator-module-45443\" data-uid=\"69da20190cd47\"><br\/><\/div><form\n\t\t\t\tid=\"forminator-module-45443\"\n\t\t\t\tclass=\"forminator-ui forminator-custom-form forminator-custom-form-45443 forminator-design--default  forminator_ajax\"\n\t\t\t\tmethod=\"post\"\n\t\t\t\tdata-forminator-render=\"0\"\n\t\t\t\tdata-form-id=\"45443\"\n\t\t\t\t data-color-option=\"default\" data-design=\"default\" data-grid=\"open\" style=\"display: none;\"\n\t\t\t\tdata-uid=\"69da20190cd47\"\n\t\t\t><div role=\"alert\" aria-live=\"polite\" class=\"forminator-response-message forminator-error\" aria-hidden=\"true\"><\/div><div class=\"forminator-row\"><div id=\"name-1\" class=\"forminator-field-name forminator-col forminator-col-6 \"><div class=\"forminator-field\"><label for=\"forminator-field-name-1_69da20190cd47\" id=\"forminator-field-name-1_69da20190cd47-label\" class=\"forminator-label\">Jm\u00e9no a p\u0159\u00edjmen\u00ed <span class=\"forminator-required\">*<\/span><\/label><input type=\"text\" name=\"name-1\" value=\"\" placeholder=\"Jan\" id=\"forminator-field-name-1_69da20190cd47\" class=\"forminator-input forminator-name--field\" aria-required=\"true\" autocomplete=\"name\" \/><\/div><\/div><div id=\"select-1\" class=\"forminator-field-select forminator-col forminator-col-6 \"><div class=\"forminator-field\"><label for=\"forminator-form-45443__field--select-1_69da20190cd47\" id=\"forminator-form-45443__field--select-1_69da20190cd47-label\" class=\"forminator-label\">M\u00e1m z\u00e1jem o dispozici<\/label><select  id=\"forminator-form-45443__field--select-1_69da20190cd47\" class=\"forminator-select--field forminator-select2 forminator-select2-multiple\" data-required=\"\" name=\"select-1\" data-default-value=\"\" data-hidden-behavior=\"zero\" data-placeholder=\"Vybrat\" data-search=\"false\" data-search-placeholder=\"Vybrat\" data-checkbox=\"false\" data-allow-clear=\"false\" aria-labelledby=\"forminator-form-45443__field--select-1_69da20190cd47-label\"><option value=\"\"  >Vybrat<\/option><option value=\"1kk\"  data-calculation=\"0\">1kk<\/option><option value=\"2kk\"  data-calculation=\"0\">2kk<\/option><option value=\"3kk\"  data-calculation=\"0\">3kk<\/option><option value=\"4kk\"  data-calculation=\"0\">4kk<\/option><\/select><\/div><\/div><\/div><div class=\"forminator-row\"><div id=\"phone-1\" class=\"forminator-field-phone forminator-col forminator-col-6 \"><div class=\"forminator-field\"><label for=\"forminator-field-phone-1_69da20190cd47\" id=\"forminator-field-phone-1_69da20190cd47-label\" class=\"forminator-label\">Telefon <span class=\"forminator-required\">*<\/span><\/label><input type=\"text\" name=\"phone-1\" value=\"\" placeholder=\"+420 777 111 222\" id=\"forminator-field-phone-1_69da20190cd47\" class=\"forminator-input forminator-field--phone\" data-required=\"1\" aria-required=\"true\" autocomplete=\"off\" \/><\/div><\/div><div id=\"email-1\" class=\"forminator-field-email forminator-col forminator-col-6 \"><div class=\"forminator-field\"><label for=\"forminator-field-email-1_69da20190cd47\" id=\"forminator-field-email-1_69da20190cd47-label\" class=\"forminator-label\">Emailov\u00e1 adresa <span class=\"forminator-required\">*<\/span><\/label><input type=\"email\" name=\"email-1\" value=\"\" placeholder=\"jmeno@email.cz\" id=\"forminator-field-email-1_69da20190cd47\" class=\"forminator-input forminator-email--field\" data-required=\"1\" aria-required=\"true\" autocomplete=\"email\" \/><\/div><\/div><\/div><div class=\"forminator-row\"><div id=\"textarea-1\" class=\"forminator-field-textarea forminator-col forminator-col-12 \"><div class=\"forminator-field\"><label for=\"forminator-field-textarea-1_69da20190cd47\" id=\"forminator-field-textarea-1_69da20190cd47-label\" class=\"forminator-label\">Text<\/label><textarea name=\"textarea-1\" placeholder=\"Va\u0161e zpr\u00e1va\" id=\"forminator-field-textarea-1_69da20190cd47\" class=\"forminator-textarea\" rows=\"6\" style=\"min-height:140px;\" aria-describedby=\"forminator-field-textarea-1_69da20190cd47-description\" ><\/textarea><span id=\"forminator-field-textarea-1_69da20190cd47-description\" class=\"forminator-description\">Kliknut\u00edm na tla\u010d\u00edtko \u201eOdeslat\u201c vyjad\u0159uji souhlas se zpracov\u00e1n\u00edm osobn\u00edch \u00fadaj\u016f.<\/span><\/div><\/div><\/div><input type=\"hidden\" name=\"referer_url\" value=\"\" \/><div class=\"forminator-row forminator-row-last\"><div class=\"forminator-col\"><div class=\"forminator-field\"><button class=\"forminator-button forminator-button-submit okula-submit\">Odeslat<\/button><\/div><\/div><\/div><input type=\"hidden\" id=\"forminator_nonce\" name=\"forminator_nonce\" value=\"ec9f14b41b\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/en\/wp-json\/wp\/v2\/pages\/53839\" \/><input type=\"hidden\" name=\"form_id\" value=\"45443\"><input type=\"hidden\" name=\"page_id\" value=\"53839\"><input type=\"hidden\" name=\"form_type\" value=\"default\"><input type=\"hidden\" name=\"current_url\" value=\"https:\/\/mycodelab.space\/en\/cenik\/\"><input type=\"hidden\" name=\"render_id\" value=\"0\"><input type=\"hidden\" name=\"action\" value=\"forminator_submit_form_custom-forms\"><label for=\"input_6\" class=\"forminator-hidden\" aria-hidden=\"true\">Please do not fill in this field. <input id=\"input_6\" type=\"text\" name=\"input_6\" value=\"\" autocomplete=\"off\"><\/label><\/form><\/div>\r\n\t\t<\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a8e18e4 cmsmasters-block-default cmsmasters-sticky-default elementor-widget elementor-widget-html\" data-id=\"a8e18e4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n    #forminator-module-45443 .okula-text {\r\n      font-family: 'Saans';\r\n    font-size: 18px;\r\n    font-weight: 300;\r\n    letter-spacing: 0.18em;\r\n    color: #ffffff;\r\n    white-space: nowrap;\r\n    z-index: 2;\r\n}\r\n#forminator-module-45443\r\n.forminator-button-submit:hover .okula-ball {\r\n    cx: 60;\r\n}\r\n\r\n<\/style>\r\n<script>\r\n   (function () {\r\n\r\n    const FORM_ID = 45443;\r\n    const START_CX = 19;  \/\/ mus\u00ed odpov\u00eddat SVG\r\n    const END_CX   = 60; \/\/ jak hluboko zajede pod pill\r\n\r\n    function isTouchDevice() {\r\n        return window.matchMedia('(hover: none)').matches;\r\n    }\r\n\r\n    function getBall() {\r\n        return document.querySelector(\r\n            '#forminator-module-' + FORM_ID + ' .okula-ball'\r\n        );\r\n    }\r\n\r\n    function setCx(value) {\r\n        const ball = getBall();\r\n        if (ball) {\r\n            ball.setAttribute('cx', value);\r\n        }\r\n    }\r\n\r\n    if (!isTouchDevice()) return;\r\n\r\n    const observer = new IntersectionObserver(entries => {\r\n    entries.forEach(entry => {\r\n        if (!entry.isIntersecting) return;\r\n\r\n        const ratio = Math.min(Math.max(entry.intersectionRatio, 0), 1);\r\n        const cx = START_CX + (END_CX - START_CX) * ratio;\r\n        setCx(cx.toFixed(2));\r\n    });\r\n}, {\r\n    rootMargin: '-30% 0px -30% 0px',\r\n    threshold: Array.from({ length: 10 }, (_, i) => i \/ 10)\r\n});\r\n\r\n    const target = document.querySelector(\r\n        '#forminator-module-' + FORM_ID + ' .forminator-button-submit'\r\n    );\r\n\r\n    if (target) {\r\n        observer.observe(target);\r\n    }\r\n\r\n})();\r\n    \r\n    \r\n (function () {\r\n\r\n    function injectOkulaSvg() {\r\n\r\n        const btn = document.querySelector(\r\n            '#forminator-module-45443 .forminator-button-submit'\r\n        );\r\n\r\n        if (!btn || btn.querySelector('.okula-svg-submit')) return;\r\n\r\n        \/* ===== LANGUAGE DETECTION ===== *\/\r\n        const isEN = document.documentElement.lang.startsWith('en');\r\n        const buttonText = isEN ? \"SEND\" : \"ODESLAT\";\r\n\r\n        btn.insertAdjacentHTML('afterbegin', `\r\n            <svg class=\"okula-svg-submit\"\r\n                 xmlns=\"http:\/\/www.w3.org\/2000\/svg\"\r\n                 viewBox=\"0 0 200 50\"\r\n                 width=\"200\"\r\n                 height=\"50\"\r\n                 aria-hidden=\"true\">\r\n\r\n                <rect class=\"okula-pill\"\r\n                      x=\"40\"\r\n                      y=\"0\"\r\n                      width=\"160\"\r\n                      height=\"50\"\r\n                      rx=\"25\"\/>\r\n\r\n                <circle class=\"okula-ball\"\r\n                        cx=\"15\"\r\n                        cy=\"25\"\r\n                        r=\"11\"\/>\r\n\r\n                <text class=\"okula-text\"\r\n                      x=\"120\"\r\n                      y=\"32\"\r\n                      text-anchor=\"middle\">\r\n                    ${buttonText}\r\n                <\/text>\r\n            <\/svg>\r\n        `);\r\n    }\r\n\r\n    document.addEventListener('DOMContentLoaded', injectOkulaSvg);\r\n\r\n    document.addEventListener('forminator:form:rendered', e => {\r\n        if (e.detail.formId === 45443) {\r\n            injectOkulaSvg();\r\n        }\r\n    });\r\n\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\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":"<p>REZIDENCE \u017dELEZN\u00c1 RUDA V\u0160E 1+kk 2+kk 3+kk 4+kk StavVoln\u00fdV p\u0159\u00edprav\u011bP\u0159edrezervaceProdan\u00fd Podla\u017e\u00ed1NP2NP3NP4NP BudovaABC \u00d7 Zru\u0161it filtry *Cena bytu obsahuje kompletn\u00ed vybaven\u00ed v\u010detn\u011b n\u00e1bytku, kuchyn\u011b a spot\u0159ebi\u010d\u016f, sklep a box na ly\u017ee. Apartm\u00e1n Podla\u017e\u00ed Dispozice Plocha Balkon Lod\u017eie Terasa P\u0159edzahr\u00e1dka Cena Stav Na\u010d\u00edt\u00e1m data\u2026 Zobrazit v\u00edce byt\u016f Hledan\u00fdm krit\u00e9ri\u00edm neodpov\u00edd\u00e1 \u017e\u00e1dn\u00fd apartm\u00e1n. Ve\u0161ker\u00e9 uveden\u00e9 ceny slou\u017e\u00ed v\u00fdhradn\u011b&#8230;<\/p>","protected":false},"author":1,"featured_media":51135,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-53839","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/mycodelab.space\/en\/wp-json\/wp\/v2\/pages\/53839","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mycodelab.space\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mycodelab.space\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mycodelab.space\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mycodelab.space\/en\/wp-json\/wp\/v2\/comments?post=53839"}],"version-history":[{"count":0,"href":"https:\/\/mycodelab.space\/en\/wp-json\/wp\/v2\/pages\/53839\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/mycodelab.space\/en\/wp-json\/wp\/v2\/media\/51135"}],"wp:attachment":[{"href":"https:\/\/mycodelab.space\/en\/wp-json\/wp\/v2\/media?parent=53839"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}