{"id":222,"date":"2025-10-07T11:32:57","date_gmt":"2025-10-07T11:32:57","guid":{"rendered":"https:\/\/pirtisberzyne.lt\/?post_type=room&#038;p=222"},"modified":"2025-10-07T11:38:04","modified_gmt":"2025-10-07T11:38:04","slug":"nakvyne","status":"publish","type":"room","link":"https:\/\/pirtisberzyne.lt\/index.php\/rooms\/nakvyne\/","title":{"rendered":"Nakvyn\u0117"},"content":{"rendered":"<div class=\"wp-block-bookings-content\" style=\"\">\n    <section\n    class=\"container  \n    \n     pt-5 md:pt-8\n    pb-5 md:pb-8\">\n    <div class=\"py-5 md:py-8 grid md:grid-cols-[auto_405px] gap-10 md:gap-[100px]\">\n            <div class=\"\">\n                \n                                    <h2\n                        class=\"font-primary text-dark font-normal text-[32px] leading-10 md:text-[64px] md:leading-[81px] m-0\">\n                        Miegamasis su svetaine\n                    <\/h2>\n                \n                \n                                    <div id=\"content-text\"\n                        class=\"my-5 md:my-[30px] grid gap-5 md:gap-[30px] text-sm md:text-base font-secondary leading-[21px] md:leading-[26px] text-grey-txt\">\n                        <p data-start=\"0\" data-end=\"208\">Kvie\u010diame prat\u0119sti poils\u012f ir pasilikti nakvynei po pirties malonum\u0173!<br data-start=\"68\" data-end=\"71\" \/>Si\u016blome jauki\u0105 nakvyn\u0119 pirtyje su visais patogumais \u2013 tai puikus pasirinkimas norintiems pilnai atsipalaiduoti ir neskub\u0117ti namo.<\/p>\n<p data-start=\"210\" data-end=\"223\"><strong data-start=\"210\" data-end=\"221\">Kainos:<\/strong><\/p>\n<ul data-start=\"224\" data-end=\"275\">\n<li data-start=\"224\" data-end=\"241\">\n<p data-start=\"226\" data-end=\"241\">10 \u20ac asmeniui<\/p>\n<\/li>\n<li data-start=\"242\" data-end=\"275\">\n<p data-start=\"244\" data-end=\"275\">arba 20 \u20ac u\u017e dviviet\u012f kambar\u012f<\/p>\n<\/li>\n<\/ul>\n<p data-start=\"277\" data-end=\"439\">I\u0161 viso galime priimti iki <strong data-start=\"304\" data-end=\"316\">4 sve\u010di\u0173<\/strong>.<br data-start=\"317\" data-end=\"320\" \/>Nakvyn\u0117s erdv\u0117je rasite <strong data-start=\"344\" data-end=\"363\">arbatos kambar\u012f<\/strong>, <strong data-start=\"365\" data-end=\"383\" data-is-only-node=\"\">mini virtuv\u0117l\u0119<\/strong>, <strong data-start=\"385\" data-end=\"398\">\u0161aldytuv\u0105<\/strong> ir visk\u0105, ko reikia patogiam poilsiui.<\/p>\n<p data-start=\"441\" data-end=\"694\" data-is-last-node=\"\" data-is-only-node=\"\">\u0160i paslauga teikiama <strong data-start=\"462\" data-end=\"492\">tik kartu su pirties nuoma<\/strong>, tod\u0117l gal\u0117site m\u0117gautis pilnu poilsio paketu \u2013 nuo \u0161ilto garo iki ramaus vakaro po stogu.<br data-start=\"583\" data-end=\"586\" \/>Puikiai tinka poroms, draugams ar \u0161eimai, norintiems gerai praleisti laik\u0105 be r\u016bpes\u010di\u0173.<\/p>\n<\/div>\n                \n                <div class=\"md:hidden w-full h-[1px] my-[30px]\" style=\"background: rgba(8, 8, 8, 0.25)\"><\/div>\n\n                \n                                    <div class=\"bc-pricing flex items-end gap-[15px]\">\n                        <div class=\"text-primary text-[32px] leading-[26px] font-primary\">\n                                                            <span id=\"Main-price\">10<\/span>\u20ac\n                                                        |\n                                                            asmeniui\n                                                    <\/div>\n                                            <\/div>\n                \n                <div class=\"w-full h-[1px] my-[30px]\" style=\"background: rgba(8, 8, 8, 0.25)\"><\/div>\n\n                \n                                    <div class=\"grid md:grid-cols-2 gap-6 md:gap-[30px]\">\n                                                    <div class=\"flex gap-6\">\n                                <div>\n                                    <img decoding=\"async\" class=\"w-auto h-[50px]\" src=\"https:\/\/pirtisberzyne.lt\/wp-content\/themes\/synergy-sage-theme\/public\/images\/check-in.431279.png\"\n                                        alt=\"Registracija\">\n                                <\/div>\n                                <div>\n                                                                            <p class=\"m-0 text-2xl leading-6 font-primary text-dark\">Registracija\n                                        <\/p>\n                                                                                                                <p class=\"mt-1 md:m-0 md:mt-0 text-base leading-6 text-grey-txt\">\n                                            13:00<\/p>\n                                                                    <\/div>\n                            <\/div>\n                                                                            <div class=\"flex gap-6\">\n                                <div>\n                                    <img decoding=\"async\" class=\"w-auto h-[50px]\" src=\"https:\/\/pirtisberzyne.lt\/wp-content\/themes\/synergy-sage-theme\/public\/images\/check-out.8ebed2.png\"\n                                        alt=\"I\u0161siregistravimas\">\n                                <\/div>\n                                <div>\n                                                                            <p class=\"m-0 text-2xl leading-6 font-primary text-dark\">I\u0161siregistravimas\n                                        <\/p>\n                                                                                                                <p class=\"mt-1 md:m-0 md:mt-0 text-base leading-6 text-grey-txt\">\n                                            11:00<\/p>\n                                                                    <\/div>\n                            <\/div>\n                                            <\/div>\n                \n                \n                                    <div class=\"bc-included-services\">\n                                                    <h3 class=\"text-2xl leading-6 font-primary mt-10 md:mt-[60px] mb-5 md:mb-[15px] text-dark\">\n                                K\u0105 gaunate?<\/h3>\n                                                                            <div class=\"flex flex-wrap md:grid md:grid-cols-3 gap-x-6 md:gap-x-[30px] gap-y-[15px]\">\n                                                                    <div class=\"flex gap-2.5 items-center\">\n                                                                                                                        <span\n                                            class=\"text-base leading-6 text-grey-txt\">iki 12 \u017emoni\u0173<\/span>\n                                    <\/div>\n                                                                    <div class=\"flex gap-2.5 items-center\">\n                                                                                                                        <span\n                                            class=\"text-base leading-6 text-grey-txt\">3 du\u0161ai<\/span>\n                                    <\/div>\n                                                                    <div class=\"flex gap-2.5 items-center\">\n                                                                                                                        <span\n                                            class=\"text-base leading-6 text-grey-txt\">Patalpose ner\u016bkoma<\/span>\n                                    <\/div>\n                                                                    <div class=\"flex gap-2.5 items-center\">\n                                                                                                                        <span\n                                            class=\"text-base leading-6 text-grey-txt\">Dvigul\u0117 lova<\/span>\n                                    <\/div>\n                                                                    <div class=\"flex gap-2.5 items-center\">\n                                                                                                                        <span\n                                            class=\"text-base leading-6 text-grey-txt\">Nemokamas WiFi<\/span>\n                                    <\/div>\n                                                                    <div class=\"flex gap-2.5 items-center\">\n                                                                                                                        <span\n                                            class=\"text-base leading-6 text-grey-txt\">Oro kondicionierius<\/span>\n                                    <\/div>\n                                                            <\/div>\n                                            <\/div>\n                \n                \n                                    <div class=\"bc-pros\">\n                                                    <h3 class=\"text-2xl leading-6 font-primary mt-10 md:mt-[60px] mb-5 md:mb-[15px] text-dark\">\n                                Privalumai<\/h3>\n                                                                            <ul class=\"grid md:grid-cols-2 md:gap-x-[30px] gap-y-[12px] md:gap-y-0 pl-5 md:pl-10\">\n                                                                    <li class=\"text-base leading-6 text-grey-txt\">Rami atoki vieta<\/li>\n                                                                    <li class=\"text-base leading-6 text-grey-txt\">Gamtos apsuptyje<\/li>\n                                                                    <li class=\"text-base leading-6 text-grey-txt\">Parkingas<\/li>\n                                                                    <li class=\"text-base leading-6 text-grey-txt\">Galima apsistoti su augintiniais<\/li>\n                                                            <\/ul>\n                                            <\/div>\n                \n                \n                                    <div class=\"bc-rules\">\n                                                    <h3 class=\"text-2xl leading-6 font-primary mt-10 md:mt-[60px] mb-5 md:mb-[15px] text-dark\">\n                                Taisykl\u0117s<\/h3>\n                                                                            <ul class=\"pl-5 md:pl-10\">\n                                                                    <li class=\"text-base leading-6 text-grey-txt\">Minimalus am\u017eius norint \u012fsiregistruoti turi b\u016bti 18 m.<\/li>\n                                                                    <li class=\"text-base leading-6 text-grey-txt\">Renginiai ar vakar\u0117liai neleid\u017eiami<\/li>\n                                                                    <li class=\"text-base leading-6 text-grey-txt\">R\u016bkymas patalpose grie\u017etai draud\u017eiamas<\/li>\n                                                                    <li class=\"text-base leading-6 text-grey-txt\">Sve\u010diai privalo laikytis ramyb\u0117s nuo 22:00 iki 06:00.<\/li>\n                                                            <\/ul>\n                                            <\/div>\n                            <\/div>\n\n            \n            \n            <div class=\"siderbar\">\n        <div id=\"reservation\" class=\"content sticky top-5 bg-dark-secondary py-10 px-6 md:p-[60px] rounded-md text-white\">\n                            <h3 class=\"text-[32px] leading-[35px] font-normal font-primary m-0\">\n                    Rezervacija:\n                <\/h3>\n            \n            <div class=\"grid mt-[30px] gap-y-[30px] gap-x-[57px]\">\n                \n                <div>\n                                            <h4 class=\"text-2xl leading-[26px] font-normal mb-[12px] font-primary\">\n                            Pirties nuoma (val):\n                        <\/h4>\n                                        <div class=\"bc-quantity py-1 px-2 rounded-md w-min flex\"\n                         style=\"background: rgba(145,144,142, 0.4); color: #c6c6c6\">\n                        <button type=\"button\" class=\"qty-btn w-8\" data-action=\"minus\" aria-label=\"Decrease\">&#8211;<\/button>\n                        <input id=\"Main-input\" type=\"number\" name=\"quantity\"\n                               value=\"3\"\n                               min=\"3\"\n                               step=\"1\"\n                               class=\"focus:outline-none text-center w-14 pl-[14px]\"\n                               style=\"background: transparent;\" readonly>\n                        <button type=\"button\" class=\"qty-btn w-8\" data-action=\"plus\" aria-label=\"Increase\">+<\/button>\n                    <\/div>\n                <\/div>\n\n                \n                                    <div class=\"grid gap-y-[30px] grid-cols-2 gap-x-5\">\n                                                    \n                            <div id=\"ms_0\" data-min=\"3\" data-base=\"30\" data-per=\"6\">\n                                <label for=\"ms_0_qty\" class=\"text-2xl leading-[26px] font-normal mb-[12px] font-primary block\">\n                                    D\u017eiakuzi <span class=\"text-[11px] font-secondary\">(val)<\/span>:\n                                <\/label>\n                                <div class=\"bc-quantity py-1 px-2 rounded-md w-min flex\"\n                                     style=\"background: rgba(145,144,142, 0.4); color: #c6c6c6\">\n                                    <button type=\"button\" class=\"qty-btn w-8\" data-action=\"minus\" aria-label=\"Decrease\">&#8211;<\/button>\n                                    <input type=\"number\" id=\"ms_0_qty\"\n                                           name=\"metered[0][qty]\"\n                                           value=\"0\" min=\"0\" step=\"1\"\n                                           class=\"focus:outline-none text-center w-14 pl-[14px]\"\n                                           style=\"background: transparent;\" readonly>\n                                    <button type=\"button\" class=\"qty-btn w-8\" data-action=\"plus\" aria-label=\"Increase\">+<\/button>\n                                <\/div>\n                            <\/div>\n                                                    \n                            <div id=\"ms_1\" data-min=\"1\" data-base=\"10\" data-per=\"10\">\n                                <label for=\"ms_1_qty\" class=\"text-2xl leading-[26px] font-normal mb-[12px] font-primary block\">\n                                    Nakvyn\u0117 <span class=\"text-[11px] font-secondary\">(asm)<\/span>:\n                                <\/label>\n                                <div class=\"bc-quantity py-1 px-2 rounded-md w-min flex\"\n                                     style=\"background: rgba(145,144,142, 0.4); color: #c6c6c6\">\n                                    <button type=\"button\" class=\"qty-btn w-8\" data-action=\"minus\" aria-label=\"Decrease\">&#8211;<\/button>\n                                    <input type=\"number\" id=\"ms_1_qty\"\n                                           name=\"metered[1][qty]\"\n                                           value=\"0\" min=\"0\" step=\"1\"\n                                           class=\"focus:outline-none text-center w-14 pl-[14px]\"\n                                           style=\"background: transparent;\" readonly>\n                                    <button type=\"button\" class=\"qty-btn w-8\" data-action=\"plus\" aria-label=\"Increase\">+<\/button>\n                                <\/div>\n                            <\/div>\n                                            <\/div>\n                \n                \n                                    <div class=\"bc-additional-services\">\n                                                    <h4 class=\"text-2xl leading-[26px] font-normal mb-[24px] font-primary\">\n                                Papildomos paslaugos\n                            <\/h4>\n                        \n                                                    <div class=\"checklist grid gap-6\">\n                                                                                                        <div class=\"flex items-center\">\n                                        <input type=\"checkbox\" id=\"service_0\" name=\"additional_services[]\" value=\"Pirties programa\">\n                                        <label for=\"service_0\">Pirties programa<span class=\"service-price\"> (100\u20ac)<\/span><\/label>\n                                    <\/div>\n                                                            <\/div>\n                                            <\/div>\n                \n                \n                                    <div class=\"flex gap-2.5 mt-6\">\n                        <div class=\"text-[32px] leading-[26px] font-primary\">Kaina nuo:<\/div>\n                        <div data-currency=\"\u20ac\" id=\"final-price\"\n                             class=\"text-[48px] leading-[26px] text-right flex-grow font-primary text-primary\">0<\/div>\n                    <\/div>\n\n                                            <div class=\"bc-main-service-min-qty-price hidden\">30<\/div>\n                    \n                                            <div class=\"bc-main-service-unit-price hidden\">6<\/div>\n                                    \n                \n                \n                \n                \n                \n                            <\/div>\n        <\/div>\n    <\/div>\n\n<script>\n(function () {\n  \/\/ ---------- helpers ----------\n  function parseNumber(text) {\n    if (!text) return 0;\n    const cleaned = String(text).replace(\/[^\\d.,-]\/g, \"\").replace(\",\", \".\");\n    const num = parseFloat(cleaned);\n    return isNaN(num) ? 0 : num;\n  }\n  function getText(el) {\n    return el ? (el.textContent || el.value || \"\").trim() : \"\";\n  }\n  function getHiddenNumber(selector) {\n    const el = document.querySelector(selector);\n    return el ? parseNumber(getText(el)) : null;\n  }\n  function getCurrency() {\n    const fp = document.getElementById(\"final-price\");\n    return fp ? (fp.dataset.currency || \"\").trim() : \"\";\n  }\n\n  \/\/ ---------- main quantity ----------\n  function getMainInput() {\n    return document.getElementById(\"Main-input\");\n  }\n  function getMainQtyAndMin() {\n    const input = getMainInput();\n    const min = input ? (parseInt(input.min, 10) || 1) : 1;\n    let q = input ? (parseInt(input.value, 10) || min) : min;\n    if (q < min) q = min;\n    return { input, q, min };\n  }\n\n  \/\/ ---------- additional checkbox services ----------\n  function getAdditionalServicesTotal() {\n    let total = 0;\n    document.querySelectorAll('.checklist input[type=\"checkbox\"]:checked').forEach((cb) => {\n      const label = document.querySelector('label[for=\"' + cb.id + '\"] .service-price');\n      if (label) total += parseNumber(label.textContent);\n    });\n    return total;\n  }\n\n  \/\/ ---------- metered services ----------\n  \/\/ Pricing:\n  \/\/ qty  = 0       => 0\n  \/\/ 1..min         => base (UI constrains to either 0 or min; no in-between)\n  \/\/ qty > min      => base + (qty - min) * per\n  function getMeteredServicesTotal() {\n    let total = 0;\n    document.querySelectorAll('#reservation .grid [id^=\"ms_\"]').forEach((row) => {\n      const min  = parseInt(row.dataset.min || \"1\", 10) || 1;\n      const base = parseNumber(row.dataset.base || \"0\");\n      const per  = parseNumber(row.dataset.per  || \"0\");\n      const input = row.querySelector('input[type=\"number\"]');\n      let qty = input ? parseInt(input.value, 10) : 0;\n      if (isNaN(qty) || qty < 0) qty = 0;\n\n      if (qty === 0) {\n        total += 0;\n      } else if (qty <= min) {\n        total += base;\n      } else {\n        total += base + (qty - min) * per;\n      }\n    });\n    return total;\n  }\n\n  \/\/ ---------- main service subtotal ----------\n  function computeMainServiceSubtotal() {\n    const { q, min } = getMainQtyAndMin();\n    const minQtyPrice = getHiddenNumber(\".bc-main-service-min-qty-price\") || 0;\n    const unitPrice   = getHiddenNumber(\".bc-main-service-unit-price\")   || 0;\n    const extra = Math.max(0, q - min);\n    return minQtyPrice + extra * unitPrice;\n  }\n\n  \/\/ ---------- total ----------\n  function computeTotal() {\n    const main    = computeMainServiceSubtotal();\n    const add     = getAdditionalServicesTotal();\n    const metered = getMeteredServicesTotal();\n    return main + add + metered;\n  }\n  function formatNumber(n) {\n    return (Math.round(n * 100) \/ 100).toLocaleString(undefined, {\n      minimumFractionDigits: 0,\n      maximumFractionDigits: 2,\n    });\n  }\n  function updateTotal() {\n    const fp = document.getElementById(\"final-price\");\n    if (!fp) return;\n    const total = computeTotal();\n    const currency = getCurrency();\n    fp.textContent = formatNumber(total) + (currency ? currency : \"\");\n  }\n\n  \/\/ ---------- handlers ----------\n  function handleMainBtnClick(btn) {\n    const input = getMainInput();\n    if (!input) return;\n    const min = parseInt(input.min, 10) || 1;\n    let val = parseInt(input.value, 10);\n    if (isNaN(val)) val = min;\n\n    const action = btn.dataset.action;\n    if (action === \"plus\") {\n      val = val + 1;\n    } else if (action === \"minus\") {\n      val = Math.max(min, val - 1);\n    }\n    input.value = String(val);\n    updateTotal();\n  }\n\n  function handleMeteredBtnClick(btn) {\n    const row = btn.closest('[id^=\"ms_\"]');\n    if (!row) return;\n    const input = row.querySelector('input[type=\"number\"]');\n    if (!input) return;\n\n    const min = parseInt(row.dataset.min || \"1\", 10) || 1;\n    let val = parseInt(input.value || \"0\", 10);\n    if (isNaN(val) || val < 0) val = 0;\n\n    const action = btn.dataset.action;\n    if (action === \"plus\") {\n      input.value = String(val === 0 ? min : val + 1);\n    } else if (action === \"minus\") {\n      if (val > min) input.value = String(val - 1);\n      else input.value = \"0\";\n    }\n    updateTotal();\n  }\n\n  \/\/ Defensive: if someone changes metered inputs via script, normalize & recalc\n  function attachMeteredInputGuards() {\n    document.querySelectorAll('#reservation [id^=\"ms_\"] input[type=\"number\"]').forEach((inp) => {\n      inp.addEventListener(\"input\", () => {\n        const row = inp.closest('[id^=\"ms_\"]');\n        const min = parseInt(row?.dataset.min || \"1\", 10) || 1;\n        let val = parseInt(inp.value || \"0\", 10);\n        if (isNaN(val) || val < 0) val = 0;\n        if (val > 0 && val < min) val = min; \/\/ snap in-between to min\n        inp.value = String(val);\n        updateTotal();\n      });\n      inp.addEventListener(\"change\", () => inp.dispatchEvent(new Event(\"input\")));\n    });\n  }\n\n  \/\/ ---------- init ----------\n  function attach() {\n    \/\/ Main input: clamp to min and listen for btn clicks\n    const mainInput = getMainInput();\n    if (mainInput) {\n      const min = parseInt(mainInput.min, 10) || 1;\n      const val = parseInt(mainInput.value, 10);\n      if (isNaN(val) || val < min) mainInput.value = String(min);\n    }\n    \/\/ Main +\/- buttons (outside metered rows)\n    document.querySelectorAll('#reservation .bc-quantity .qty-btn[data-action]').forEach((btn) => {\n      if (btn.closest('[id^=\"ms_\"]')) return; \/\/ skip metered rows here\n      btn.addEventListener(\"click\", () => handleMainBtnClick(btn));\n    });\n\n    \/\/ Metered +\/- buttons\n    document.querySelectorAll('#reservation [id^=\"ms_\"] .qty-btn[data-action]').forEach((btn) => {\n      btn.addEventListener(\"click\", () => handleMeteredBtnClick(btn));\n    });\n\n    \/\/ Additional services checkboxes\n    document.querySelectorAll('#reservation .checklist input[type=\"checkbox\"]').forEach((cb) => {\n      cb.addEventListener(\"change\", updateTotal);\n    });\n\n    attachMeteredInputGuards();\n    updateTotal();\n  }\n\n  if (document.readyState === \"loading\") {\n    document.addEventListener(\"DOMContentLoaded\", attach);\n  } else {\n    attach();\n  }\n})();\n<\/script>\n\n\n        <\/div>\n<\/section>\n<\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"featured_media":0,"template":"","amenity":[],"class_list":["post-222","room","type-room","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/pirtisberzyne.lt\/index.php\/wp-json\/wp\/v2\/room\/222","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pirtisberzyne.lt\/index.php\/wp-json\/wp\/v2\/room"}],"about":[{"href":"https:\/\/pirtisberzyne.lt\/index.php\/wp-json\/wp\/v2\/types\/room"}],"version-history":[{"count":6,"href":"https:\/\/pirtisberzyne.lt\/index.php\/wp-json\/wp\/v2\/room\/222\/revisions"}],"predecessor-version":[{"id":229,"href":"https:\/\/pirtisberzyne.lt\/index.php\/wp-json\/wp\/v2\/room\/222\/revisions\/229"}],"wp:attachment":[{"href":"https:\/\/pirtisberzyne.lt\/index.php\/wp-json\/wp\/v2\/media?parent=222"}],"wp:term":[{"taxonomy":"amenity","embeddable":true,"href":"https:\/\/pirtisberzyne.lt\/index.php\/wp-json\/wp\/v2\/amenity?post=222"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}