{"id":9399,"date":"2026-09-25T15:47:43","date_gmt":"2026-09-25T12:47:43","guid":{"rendered":"https:\/\/younessclinic.ro\/?page_id=9399"},"modified":"2026-09-25T15:55:44","modified_gmt":"2026-09-25T12:55:44","slug":"autumn-day-spa","status":"publish","type":"page","link":"https:\/\/younessclinic.ro\/en\/autumn-day-spa\/","title":{"rendered":"Autumn Day Spa"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"9399\" class=\"elementor elementor-9399\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8d381f8 e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-parent\" data-id=\"8d381f8\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-693c524 e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"693c524\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4c4fbed elementor-widget elementor-widget-image\" data-id=\"4c4fbed\" 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=\"500\" height=\"500\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/02\/Youness-Clinic-@-Favicon-Alb-Transparent-PNG.png\" class=\"attachment-large size-large wp-image-774\" alt=\"\" srcset=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/02\/Youness-Clinic-@-Favicon-Alb-Transparent-PNG.png 500w, https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/02\/Youness-Clinic-@-Favicon-Alb-Transparent-PNG-175x175.png 175w, https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/02\/Youness-Clinic-@-Favicon-Alb-Transparent-PNG-300x300.png 300w, https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/02\/Youness-Clinic-@-Favicon-Alb-Transparent-PNG-180x180.png 180w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4a93719 elementor-widget elementor-widget-gva-heading-block\" data-id=\"4a93719\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"gva-heading-block.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"gva-element-gva-heading-block gva-element\">   <div class=\"align-center style-1 widget gsc-heading box-align-left auto-responsive\">\r\n      <div class=\"content-inner\">\r\n         \r\n                  \r\n           \r\n         \r\n                     <h1 class=\"title\">\r\n               <span>Autumn Day SPA<\/span>\r\n            <\/h1>\r\n         \r\n                  \r\n         \r\n         \r\n      <\/div>\r\n   <\/div>\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cffeddd elementor-widget elementor-widget-gva-heading-block\" data-id=\"cffeddd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"gva-heading-block.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"gva-element-gva-heading-block gva-element\">   <div class=\"align-center style-1 widget gsc-heading box-align-left auto-responsive\">\r\n      <div class=\"content-inner\">\r\n         \r\n                  \r\n           \r\n         \r\n         \r\n                  \r\n                     <div class=\"title-desc\">O zi cozy de SPA, wellness &amp; relaxare.<\/div>\r\n         \r\n         \r\n      <\/div>\r\n   <\/div>\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-bf3e236 e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-parent\" data-id=\"bf3e236\" 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-605f665 e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"605f665\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-fb77139 e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"fb77139\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-29f264b elementor-widget elementor-widget-gva-gallery\" data-id=\"29f264b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"gva-gallery.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"gva-element-gva-gallery gva-element\">  \r\n<div class=\"gva-gallery-grid clearfix \">\r\n\t<div class=\"gva-content-items\"> \r\n\t  \t<div class=\"lg-block-grid-1 md-block-grid-1 sm-block-grid-1 xs-block-grid-1 xx-block-grid-1\">\r\n\t\t \t<div class=\"item\"><div class=\"gallery-one__single\"><div class=\"gallery-one__image\"><img decoding=\"async\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/09\/Autumn-Day-Spa-at-YOUness-550x580.png\" alt=\"\" \/><\/div><a class=\"gallery-one__photo photo-gallery\" href=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/09\/Autumn-Day-Spa-at-YOUness.png\" data-elementor-lightbox-slideshow=\"gallery-sok3\"><i class=\"fas fa-expand\"><\/i><\/a><div class=\"gallery-one__content\"><div class=\"gallery-one__content-inner\"><\/div><\/div><\/div><\/div>\t  \t<\/div>\r\n\t<\/div>\r\n<\/div>\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-393da06 elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-mobile elementor-view-default elementor-position-block-start elementor-mobile-position-block-start elementor-widget elementor-widget-icon-box\" data-id=\"393da06\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<a href=\"#detaliilerezervarii\" class=\"elementor-icon\" tabindex=\"-1\" aria-label=\"Daruieste un &lt;br&gt; Gift Card\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-gift\"><\/i>\t\t\t\t<\/a>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<a href=\"#detaliilerezervarii\" >\n\t\t\t\t\t\t\tDaruieste un <br> Gift Card\t\t\t\t\t\t<\/a>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-4e8eb42 e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"4e8eb42\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4ae5263 elementor-widget elementor-widget-text-editor\" data-id=\"4ae5263\" 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 style=\"text-align: center;\"><strong data-start=\"151\" data-end=\"163\">Liniste.<\/strong><br data-start=\"163\" data-end=\"166\" \/><strong data-start=\"166\" data-end=\"178\">Confort.<\/strong><br data-start=\"178\" data-end=\"181\" \/><strong data-start=\"181\" data-end=\"199\" data-is-last-node=\"\" data-is-only-node=\"\">Stare de bine.<\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1a988a4 elementor-widget__width-auto elementor-widget elementor-widget-html\" data-id=\"1a988a4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<a class=\"btn-theme\" href=\"#1daypass\">\n    Rezerva acum pachetul\n<\/a>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f4356dc e-con-full center-heading e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"f4356dc\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-131f75f elementor-widget elementor-widget-gva-gallery\" data-id=\"131f75f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"gva-gallery.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"gva-element-gva-gallery gva-element\">\r\n<div class=\"gva-gallery-carousel swiper-slider-wrapper style-1 \">\r\n\t<div class=\"swiper-content-inner\">\r\n   \t<div class=\"init-carousel-swiper swiper\" data-carousel=\"{&quot;items&quot;:2,&quot;items_lg&quot;:2,&quot;items_md&quot;:2,&quot;items_sm&quot;:2,&quot;items_xs&quot;:2,&quot;items_xx&quot;:1,&quot;effect&quot;:&quot;slide&quot;,&quot;space_between&quot;:30,&quot;loop&quot;:1,&quot;speed&quot;:600,&quot;autoplay&quot;:1,&quot;autoplay_delay&quot;:4500,&quot;autoplay_hover&quot;:1,&quot;navigation&quot;:0,&quot;pagination&quot;:0,&quot;dynamic_bullets&quot;:0,&quot;pagination_type&quot;:&quot;bullets&quot;}\">\r\n      \t<div class=\"swiper-wrapper\">\r\n\t\t\t\t<div class=\"swiper-slide item\"><div class=\"gallery-one__single\"><div class=\"gallery-one__image\"><img decoding=\"async\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/Jacuzzi-550x580.jpeg\" alt=\"Jacuzzi si stare de bine\" \/><\/div><a class=\"gallery-one__photo photo-gallery\" href=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/Jacuzzi.jpeg\" data-elementor-lightbox-slideshow=\"gallery-sqmu\"><i class=\"fas fa-expand\"><\/i><\/a><div class=\"gallery-one__content\"><div class=\"gallery-one__content-inner\"><div class=\"gallery-one__sub-title\">Timp pentru tine<\/div><h3 class=\"gallery-one__title\">Jacuzzi si stare de bine<\/h3><\/div><\/div><\/div><\/div><div class=\"swiper-slide item\"><div class=\"gallery-one__single\"><div class=\"gallery-one__image\"><img decoding=\"async\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/08\/Yoga-Pillates-la-YOUness-550x580.png\" alt=\"Echilibru interior\" \/><\/div><a class=\"gallery-one__photo photo-gallery\" href=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/08\/Yoga-Pillates-la-YOUness.png\" data-elementor-lightbox-slideshow=\"gallery-sqmu\"><i class=\"fas fa-expand\"><\/i><\/a><div class=\"gallery-one__content\"><div class=\"gallery-one__content-inner\"><div class=\"gallery-one__sub-title\">Timp pentru corp<\/div><h3 class=\"gallery-one__title\">Echilibru interior<\/h3><\/div><\/div><\/div><\/div><div class=\"swiper-slide item\"><div class=\"gallery-one__single\"><div class=\"gallery-one__image\"><img decoding=\"async\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/137-1200x628-upd-550x580.jpg\" alt=\"Pauza in biblioteca\" \/><\/div><a class=\"gallery-one__photo photo-gallery\" href=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/137-1200x628-upd.jpg\" data-elementor-lightbox-slideshow=\"gallery-sqmu\"><i class=\"fas fa-expand\"><\/i><\/a><div class=\"gallery-one__content\"><div class=\"gallery-one__content-inner\"><div class=\"gallery-one__sub-title\">Liniste<\/div><h3 class=\"gallery-one__title\">Pauza in biblioteca<\/h3><\/div><\/div><\/div><\/div><div class=\"swiper-slide item\"><div class=\"gallery-one__single\"><div class=\"gallery-one__image\"><img decoding=\"async\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/08\/Sauna-la-YOUness-1-e1787835843513-550x580.png\" alt=\"Sauna umeda si uscata\" \/><\/div><a class=\"gallery-one__photo photo-gallery\" href=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/08\/Sauna-la-YOUness-1.png\" data-elementor-lightbox-slideshow=\"gallery-sqmu\"><i class=\"fas fa-expand\"><\/i><\/a><div class=\"gallery-one__content\"><div class=\"gallery-one__content-inner\"><div class=\"gallery-one__sub-title\">Relaxare profunda<\/div><h3 class=\"gallery-one__title\">Sauna umeda si uscata<\/h3><\/div><\/div><\/div><\/div>\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t<\/div>\r\n\t<div class=\"swiper-pagination\"><\/div>   <\/div>\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-226b11b elementor-widget elementor-widget-image\" data-id=\"226b11b\" 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 decoding=\"async\" width=\"500\" height=\"500\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/02\/Youness-Clinic-@-Favicon-Transparent-PNG.png\" class=\"attachment-large size-large wp-image-704\" alt=\"\" srcset=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/02\/Youness-Clinic-@-Favicon-Transparent-PNG.png 500w, https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/02\/Youness-Clinic-@-Favicon-Transparent-PNG-175x175.png 175w, https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/02\/Youness-Clinic-@-Favicon-Transparent-PNG-300x300.png 300w, https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/02\/Youness-Clinic-@-Favicon-Transparent-PNG-180x180.png 180w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-617d337 elementor-widget elementor-widget-gva-heading-block\" data-id=\"617d337\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"gva-heading-block.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"gva-element-gva-heading-block gva-element\">   <div class=\"align-left style-1 widget gsc-heading box-align-left auto-responsive\">\r\n      <div class=\"content-inner\">\r\n         \r\n                  \r\n         <div class=\"sub-title\"><span class=\"tagline\">Autumn Day SPA<\/span><\/div>  \r\n         \r\n                     <h2 class=\"title\">\r\n               <span>SPA, liniste si relaxare.<\/span>\r\n            <\/h2>\r\n         \r\n                  \r\n                     <div class=\"title-desc\">Zilele innorate sunt o invitatie sa incetinesti si sa iti oferi mai mult timp pentru tine.\n\nO carte buna si un ceai savurat in tihna, o sesiune de yoga sau pilates in interior, cateva momente de relaxare in sauna si jacuzzi sau putina miscare la gym, in ritmul tau \u2014 fiecare alegere poate transforma o zi ploioasa intr-o pauza binevenita de la agitatia orasului.\n<br><br>\nAtmosfera calma, spatiile dedicate starii de bine si timpul petrecut fara graba creeaza cadrul perfect pentru a te reconecta cu tine, a-ti recapata energia si a te bucura de o zi in care nu trebuie sa faci nimic in plus. Doar sa fii bine, in ritmul tau.<\/div>\r\n         \r\n         \r\n      <\/div>\r\n   <\/div>\r\n<\/div>\t\t\t\t<\/div>\n\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-43f4fec e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-parent\" data-id=\"43f4fec\" 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-fb881b3 e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"fb881b3\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d5a0c0a elementor-widget elementor-widget-gva_icon_box_group\" data-id=\"d5a0c0a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"gva_icon_box_group.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"gva-element-gva_icon_box_group gva-element\">\r\n<div class=\"gsc-icon-box-group layout-carousel swiper-slider-wrapper \">\r\n   <div class=\"swiper-content-inner\">\r\n      <div class=\"init-carousel-swiper swiper\" data-carousel=\"{&quot;items&quot;:3,&quot;items_lg&quot;:3,&quot;items_md&quot;:3,&quot;items_sm&quot;:2,&quot;items_xs&quot;:2,&quot;items_xx&quot;:2,&quot;effect&quot;:&quot;slide&quot;,&quot;space_between&quot;:30,&quot;loop&quot;:1,&quot;speed&quot;:1200,&quot;autoplay&quot;:1,&quot;autoplay_delay&quot;:5500,&quot;autoplay_hover&quot;:1,&quot;navigation&quot;:0,&quot;pagination&quot;:1,&quot;dynamic_bullets&quot;:0,&quot;pagination_type&quot;:&quot;bullets&quot;}\">\r\n         <div class=\"swiper-wrapper\">\r\n            <div class=\"swiper-slide\">\r\n<div class=\"icon-box-item elementor-repeater-item-b50c52e\">\r\n\t\t\r\n\t\t<div class=\"iconbox-two__single\"><div class=\"iconbox-two__content\"><div class=\"iconbox-two__icon\"><i aria-hidden=\"true\" class=\"fas fa-leaf\"><\/i><\/div><div class=\"iconbox-two__content-inner\"><h3 class=\"iconbox-two__title\">Detox fizic & mental<\/h3><div class=\"iconbox-two__desc\">Hidratare alcalina, alimentatie curata, miscare si timp petrecut in natura.<\/div><\/div><\/div><\/div><\/div><\/div><div class=\"swiper-slide\">\r\n<div class=\"icon-box-item elementor-repeater-item-dac36cc\">\r\n\t\t\r\n\t\t<div class=\"iconbox-two__single\"><div class=\"iconbox-two__content\"><div class=\"iconbox-two__icon\"><i aria-hidden=\"true\" class=\" sicon-spa\"><\/i><\/div><div class=\"iconbox-two__content-inner\"><h3 class=\"iconbox-two__title\">Relaxare la spa<\/h3><div class=\"iconbox-two__desc\">Zile lente la spa, lectura, conversatii si liniste.<\/div><\/div><\/div><\/div><\/div><\/div><div class=\"swiper-slide\">\r\n<div class=\"icon-box-item elementor-repeater-item-d833a49\">\r\n\t\t\r\n\t\t<div class=\"iconbox-two__single\"><div class=\"iconbox-two__content\"><div class=\"iconbox-two__icon\"><i aria-hidden=\"true\" class=\"fas fa-seedling\"><\/i><\/div><div class=\"iconbox-two__content-inner\"><h3 class=\"iconbox-two__title\">Stare de bine<\/h3><div class=\"iconbox-two__desc\">Contact cu linistea spatiilor interioare si ritmul calm al unei zile traite fara graba.<\/div><\/div><\/div><\/div><\/div><\/div><div class=\"swiper-slide\">\r\n<div class=\"icon-box-item elementor-repeater-item-2c50c28\">\r\n\t\t\r\n\t\t<div class=\"iconbox-two__single\"><div class=\"iconbox-two__content\"><div class=\"iconbox-two__icon\"><i aria-hidden=\"true\" class=\"fas fa-spa\"><\/i><\/div><div class=\"iconbox-two__content-inner\"><h3 class=\"iconbox-two__title\">Energie prin miscare<\/h3><div class=\"iconbox-two__desc\">Yoga, pilates si antrenamente usoare care activeaza corpul, elibereaza mintea si iti dau energie in ritmul tau.<\/div><\/div><\/div><\/div><\/div><\/div>         <\/div>\r\n      <\/div>\r\n   <\/div>   \r\n   <div class=\"swiper-pagination\"><\/div>   <\/div>\r\n<\/div>\t\t\t\t<\/div>\n\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-f731b22 e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-parent\" data-id=\"f731b22\" 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-b4fe79c elementor-widget elementor-widget-menu-anchor\" data-id=\"b4fe79c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"menu-anchor.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-menu-anchor\" id=\"bookingdetails\"><\/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<div class=\"elementor-element elementor-element-ff1173a elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-mobile e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-parent\" data-id=\"ff1173a\" 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-7b13d1d e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"7b13d1d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-86968e6 elementor-widget elementor-widget-image\" data-id=\"86968e6\" 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 decoding=\"async\" width=\"500\" height=\"298\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/Youness-Clinic-@-Logo-Amprenta-Negru-e1772635616708.png\" class=\"attachment-large size-large wp-image-2698\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-77208fc elementor-widget elementor-widget-gva-heading-block\" data-id=\"77208fc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"gva-heading-block.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"gva-element-gva-heading-block gva-element\">   <div class=\"align-left style-1 widget gsc-heading box-align-left auto-responsive\">\r\n      <div class=\"content-inner\">\r\n         \r\n                  \r\n           \r\n         \r\n                     <h2 class=\"title\">\r\n               <span>Detaliile rezervarii<\/span>\r\n            <\/h2>\r\n         \r\n                  \r\n         \r\n         \r\n      <\/div>\r\n   <\/div>\r\n<\/div>\t\t\t\t<\/div>\n\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-5288cb3 elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-mobile e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-parent\" data-id=\"5288cb3\" 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-4a4ce66 elementor-widget elementor-widget-shortcode\" data-id=\"4a4ce66\" 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\">        <div id=\"gpbf-root-1\" class=\"gpbe-app gpbf-theme gpbf-wrap gp-ui gpbf-flatpickr\" style=\"--gp-primary:#D1B177;--gp-primary-hover:#9F7F46;--gp-primary-ring:rgba(159, 127, 70, 0.18);--gp-primary-soft:rgba(159, 127, 70, 0.22);--gp-focus-ring:0 0 0 4px rgba(159, 127, 70, 0.18)\" data-gpbf-root>\r\n            <div class=\"gp-card gpbf-card\">\r\n                \r\n                <h2 class=\"gp-h2\">Seasonal Experiences<\/h2>\r\n\r\n                <form class=\"gp-form\" method=\"post\" action=\"\">\r\n                    <input type=\"hidden\" id=\"gpb_nonce\" name=\"gpb_nonce\" value=\"5b0ad93e18\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/en\/wp-json\/wp\/v2\/pages\/9399\" \/>                    <input type=\"hidden\" name=\"gpb_booking_reserve\" value=\"1\">\r\n                    <input type=\"hidden\" name=\"gpb_context_mode\" value=\"package_specific\">\r\n                    <input type=\"hidden\" name=\"gpb_room_code\" value=\"\">\r\n                    <input type=\"hidden\" name=\"gpb_package_code\" value=\"PCK-FRIAAE\">\r\n                    <input type=\"hidden\" name=\"gpb_selected_room_id\" value=\"\">\r\n                    <input type=\"hidden\" name=\"gpb_selected_package_id\" value=\"\">\r\n                    <input type=\"hidden\" name=\"gpb_selected_rooms_json\" value=\"[]\">\r\n                    <input type=\"hidden\" name=\"gpb_check_in\" value=\"\">\r\n                    <input type=\"hidden\" name=\"gpb_check_out\" value=\"\">\r\n                    <input type=\"hidden\" name=\"gpb_booking_date\" value=\"\">\r\n                    <input type=\"hidden\" name=\"gpb_rooms\" value=\"1\">\r\n                    <input type=\"hidden\" name=\"gpb_adults\" value=\"1\">\r\n                    <input type=\"hidden\" name=\"gpb_children\" value=\"0\">\r\n                    <input type=\"hidden\" name=\"gpb_children_cat_1\" value=\"0\">\r\n                    <input type=\"hidden\" name=\"gpb_children_cat_2\" value=\"0\">\r\n                    <input type=\"hidden\" name=\"gpb_contact_name\" value=\"\">\r\n                    <input type=\"hidden\" name=\"gpb_contact_email\" value=\"\">\r\n                    <input type=\"hidden\" name=\"gpb_contact_phone\" value=\"\">\r\n                    <input type=\"hidden\" name=\"gpb_promo_code\" value=\"\">\r\n                    <input type=\"hidden\" name=\"gpb_promo_lead\" value=\"\">\r\n\r\n                    <div class=\"gpbf-booking-grid\" data-gpbf-contact-step>\r\n                        <div class=\"gpbf-date-wrap\">\r\n                            <input\r\n                                type=\"text\"\r\n                                class=\"gp-input\"\r\n                                name=\"gpb_contact_name_visible\"\r\n                                value=\"\"\r\n                                autocomplete=\"name\"\r\n                                placeholder=\"Name\"\r\n                                aria-label=\"Name\"\r\n                                data-gpbf-contact-name\r\n                            >\r\n                        <\/div>\r\n\r\n                        <div class=\"gpbf-guests-wrap\">\r\n                            <input\r\n                                type=\"email\"\r\n                                class=\"gp-input\"\r\n                                name=\"gpb_contact_email_visible\"\r\n                                value=\"\"\r\n                                autocomplete=\"email\"\r\n                                placeholder=\"Email\"\r\n                                aria-label=\"Email\"\r\n                                data-gpbf-contact-email\r\n                            >\r\n                        <\/div>\r\n\r\n                        <div class=\"gpbf-action\">\r\n                            <input\r\n                                type=\"tel\"\r\n                                class=\"gp-input\"\r\n                                name=\"gpb_contact_phone_visible\"\r\n                                value=\"\"\r\n                                autocomplete=\"tel\"\r\n                                placeholder=\"Phone\"\r\n                                aria-label=\"Phone\"\r\n                                data-gpbf-contact-phone\r\n                            >\r\n                        <\/div>\r\n\r\n                        <div class=\"gpbf-action\">\r\n                            <button type=\"button\" class=\"gp-btn gp-btn--primary\" data-gpbf-contact-check>\r\n                                <span class=\"gp-btn__text\">Continua<\/span>\r\n                            <\/button>\r\n                        <\/div>\r\n                    <\/div>\r\n\r\n                    <div class=\"gpbf-booking-grid gpbf-booking-grid--3col gpbf-hidden\" data-gpbf-booking-step>\r\n                        <div class=\"gpbf-date-wrap\">\r\n                            <input\r\n                                type=\"text\"\r\n                                class=\"gpbf-date-input gp-input\"\r\n                                inputmode=\"none\"\r\n                                autocomplete=\"off\"\r\n                                readonly\r\n                                placeholder=\"Check-in date \u2014 Check-out date\"\r\n                                aria-label=\"Check-in date \u2014 Check-out date\"\r\n                                data-gpbf-date-range\r\n                            >\r\n                        <\/div>\r\n\r\n                        <div class=\"gpbf-guests-wrap\">\r\n                            <div class=\"gpbf-guests-trigger gp-input\" tabindex=\"0\" role=\"button\" aria-haspopup=\"dialog\" aria-expanded=\"false\" data-gpbf-guests-field data-placeholder=\"1 adult, 0 children, 1 rooms\">1 adult, 0 children, 1 rooms<\/div>\r\n\r\n                            <div class=\"gpbf-guests-panel\" role=\"dialog\" aria-label=\"Select guests and rooms\" data-gpbf-guests-panel>\r\n                                <button type=\"button\" class=\"gpbf-mobile-close gpbf-hidden\" data-gpbf-guests-close aria-label=\"Close\" hidden tabindex=\"-1\">\u00d7<\/button>\r\n\r\n                                <div class=\"gpbf-guests-row\" data-k=\"adults\">\r\n                                    <div class=\"gpbf-guests-label\">Adults<\/div>\r\n                                    <div class=\"gpbf-stepper\">\r\n                                        <button type=\"button\" class=\"gpbf-minus\" aria-label=\"Decrease number of adults\">\u2212<\/button>\r\n                                        <div class=\"gpbf-count\" aria-live=\"polite\">1<\/div>\r\n                                        <button type=\"button\" class=\"gpbf-plus\" aria-label=\"Increase number of adults\">+<\/button>\r\n                                    <\/div>\r\n                                <\/div>\r\n\r\n                                <div class=\"gpbf-guests-row\" data-k=\"children_cat_1\">\r\n                                    <div class=\"gpbf-guests-label\">Children 0\u20132 years old<\/div>\r\n                                    <div class=\"gpbf-stepper\">\r\n                                        <button type=\"button\" class=\"gpbf-minus\" aria-label=\"Decrease number of children\">\u2212<\/button>\r\n                                        <div class=\"gpbf-count\" aria-live=\"polite\">0<\/div>\r\n                                        <button type=\"button\" class=\"gpbf-plus\" aria-label=\"Increase number of children\">+<\/button>\r\n                                    <\/div>\r\n                                <\/div>\r\n\r\n                                <div class=\"gpbf-guests-row\" data-k=\"children_cat_2\">\r\n                                    <div class=\"gpbf-guests-label\">Children 3\u201316 years old<\/div>\r\n                                    <div class=\"gpbf-stepper\">\r\n                                        <button type=\"button\" class=\"gpbf-minus\" aria-label=\"Decrease number of children\">\u2212<\/button>\r\n                                        <div class=\"gpbf-count\" aria-live=\"polite\">0<\/div>\r\n                                        <button type=\"button\" class=\"gpbf-plus\" aria-label=\"Increase number of children\">+<\/button>\r\n                                    <\/div>\r\n                                <\/div>\r\n\r\n                                <div class=\"gpbf-guests-row\" data-k=\"rooms\" data-gpbf-rooms-row style=\"display:none;\">\r\n                                    <div class=\"gpbf-guests-label\">Rooms<\/div>\r\n                                    <div class=\"gpbf-stepper\">\r\n                                        <button type=\"button\" class=\"gpbf-minus\" aria-label=\"Decrease number of rooms\">\u2212<\/button>\r\n                                        <div class=\"gpbf-count\" aria-live=\"polite\">1<\/div>\r\n                                        <button type=\"button\" class=\"gpbf-plus\" aria-label=\"Increase number of rooms\">+<\/button>\r\n                                    <\/div>\r\n                                <\/div>\r\n\r\n                                <div class=\"gpbf-mobile-actions gpbf-hidden\">\r\n                                    <button type=\"button\" class=\"gp-btn gp-btn--primary\" data-gpbf-guests-done>\r\n                                        <span class=\"gp-btn__text\">Done<\/span>\r\n                                    <\/button>\r\n                                <\/div>\r\n                            <\/div>\r\n                        <\/div>\r\n\r\n                        <div class=\"gpbf-action\">\r\n                            <button type=\"button\" class=\"gp-btn gp-btn--primary\" data-gpbf-check>\r\n                                <span class=\"gp-btn__text\">Book now<\/span>\r\n                            <\/button>\r\n                            <button type=\"submit\" class=\"gp-btn gp-btn--primary gpbf-pay-hidden gpbf-pay-disabled\" data-gpbf-submit disabled>\r\n                                <span class=\"gp-btn__text\">Book now<\/span>\r\n                            <\/button>\r\n                        <\/div>\r\n                    <\/div>\r\n\r\n                    <div class=\"gpbf-result\" data-gpbf-result><\/div>\r\n                    <div class=\"gpbf-mobile-overlay gpbf-hidden\" data-gpbf-mobile-overlay><\/div>\r\n\r\n                    <div class=\"gpbf-optionals-wrap gpbf-optionals-hidden\" data-gpbf-optionals-wrap>\r\n                        <h3 style=\"margin-top:0;\">Optional experiences to complement your stay<\/h3>\r\n                        <div class=\"gpbf-optionals-intro\">\r\n                            Each selected procedure represents a valid session for one person.<br>\r\n                            For more people, please adjust the quantity.                        <\/div>\r\n                        <div class=\"gpbf-optionals-empty gpbf-help gpbf-hidden\" data-gpbf-optionals-empty>No additional options are available for this selection.<\/div>\r\n                        <div class=\"gpbf-optionals-list\" data-gpbf-optionals-list><\/div>\r\n                        <button type=\"button\" class=\"gp-btn gp-btn--primary gpbf-optionals-toggle gpbf-hidden\" data-gpbf-optionals-toggle>\r\n                            <span class=\"gp-btn__text\">See all options<\/span>\r\n                        <\/button>\r\n                        <div class=\"gpbf-optionals-maxmsg\" data-gpbf-optionals-maxmsg>You have reached the maximum limit for this booking.<\/div>\r\n                        <div class=\"gpbf-total-line\">Total (with options): <strong><span data-gpbf-total-value>0.00<\/span> lei<\/strong><\/div>\r\n                    <\/div>\r\n                <\/form>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <script>\r\n        (function() {\r\n            var rootId = \"gpbf-root-1\";\r\n            var root = document.getElementById(rootId);\r\n            if (!root || root.__gpbfReady) return;\r\n            root.__gpbfReady = true;\r\n\r\n            var ajaxUrl = \"https:\\\/\\\/younessclinic.ro\\\/wp-admin\\\/admin-ajax.php\";\r\n            var ajaxAction = \"gpbe_booking_front_check\";\r\n            var nonce = \"5b0ad93e18\";\r\n            var contextData = {\"mode\":\"package_specific\",\"room_code\":\"\",\"package_code\":\"PCK-FRIAAE\",\"booking_type\":\"stay\",\"room_name\":\"\",\"package_name\":\"Seasonal Experiences\",\"package_calendar_rules\":[{\"package_id\":6,\"package_code\":\"PCK-FRIAAE\",\"package_name\":\"Experiente Sezoniere\",\"date_start\":\"2026-03-28\",\"date_end\":\"\",\"min_nights\":1,\"max_nights\":0,\"allowed_checkin_days\":[],\"has_interval_limits\":true,\"has_stay_limits\":true,\"has_calendar_rules\":true}]};\r\n            var currentLanguage = \"en\";\r\n            var childConfig = {\"cat1_max\":2,\"cat2_max\":16,\"cat2_min\":3,\"label_cat_1\":\"Children 0\\u20132 years old\",\"label_cat_2\":\"Children 3\\u201316 years old\"};\r\n            var i18n = {\"error_title\":\"An issue occurred\",\"loading_title\":\"Checking availability\",\"loading_text\":\"Please wait a few moments.\",\"generic_error\":\"An issue occurred. Please try again. \",\"default_range_label\":\"Check-in date \\u2014 Check-out date\",\"default_single_label\":\"Select date\",\"weekdays_short\":[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],\"months_short\":[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],\"months_full\":[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],\"weekday_initials\":[\"M\",\"W\",\"W\",\"T\",\"F\",\"S\",\"S\"],\"done\":\"Done\",\"package_period_invalid\":\"The selected period does not comply with the package rules for the active period and allowed number of nights.\",\"package_checkin_unavailable\":\"The selected check-in date is not available within the package's active period.\",\"package_checkin_day_not_allowed\":\"The package does not allow check-in on the selected day.\",\"package_last_checkin_prefix\":\"For the defined period, the last available check-in day is\",\"package_checkin_no_valid_checkout\":\"The selected check-in date no longer allows a valid check-out within the available range.\",\"period_unavailable_title\":\"Period unavailable\",\"guests_adults_suffix\":\"adults\",\"guests_children_suffix\":\"children\",\"guests_rooms_suffix\":\"rooms\",\"combo_rooms_label\":\"Room combination\",\"combo_rooms_desc\":\"Combination selected from multiple room types.\",\"room_selection_select_at_least_one\":\"Please select at least one room to continue.\",\"room_selection_min_rooms_prefix\":\"The selection must contain at least\",\"room_selection_min_rooms_suffix\":\"rooms.\",\"room_selection_not_enough_adults\":\"The selection does not cover the required number of adults.\",\"room_selection_not_enough_children\":\"The selection does not cover the required number of children.\",\"room_selection_not_enough_capacity\":\"The selection does not cover the total required capacity.\",\"view_all_optionals\":\"See all options\",\"view_fewer_optionals\":\"Show less\",\"selection_available_day_use\":\"Your selection is available\",\"selection_available_stay\":\"The selected period is available\",\"choose_room_combo\":\"Choose your desired room combination:\",\"choose_option\":\"Choose your desired option:\",\"max_capacity_prefix\":\"Maximum capacity\",\"max_adults_prefix\":\"Maximum adults\",\"max_children_prefix\":\"Maximum children\",\"room_available_singular\":\"1 room available\",\"rooms_available_plural_suffix\":\"rooms available\",\"facilities_included\":\"Included facilities:\",\"per_stay_suffix\":\"lei \\\/ stay\",\"currency_suffix\":\"lei\",\"decrease\":\"Decrease\",\"increase\":\"Increase\",\"no_more_availability\":\"No availability for your selection.\",\"selected_date_prefix\":\"Selected date:\",\"selected_period_prefix\":\"Selected period:\",\"selected_rooms_prefix\":\"Selected rooms:\",\"guests_label_prefix\":\"Guests:\",\"invalid_date_required\":\"Please select a valid date.\",\"invalid_range_required\":\"Please select a valid check-in and check-out period.\",\"contact_data_error\":\"Could not process contact details. Please try again. \",\"choose_option_before_continue\":\"Please select an available option before continuing.\"};\r\n            var uiMessages = {\r\n                errorTitle: i18n.error_title,\r\n                loadingTitle: i18n.loading_title,\r\n                loadingText: i18n.loading_text,\r\n                genericError: i18n.generic_error\r\n            };\r\n\r\n            var form = root.querySelector('form');\r\n            var contactStep = root.querySelector('[data-gpbf-contact-step]');\r\n            var bookingStep = root.querySelector('[data-gpbf-booking-step]');\r\n            var contactNameInput = root.querySelector('[data-gpbf-contact-name]');\r\n            var contactEmailInput = root.querySelector('[data-gpbf-contact-email]');\r\n            var contactPhoneInput = root.querySelector('[data-gpbf-contact-phone]');\r\n            var contactCheckBtn = root.querySelector('[data-gpbf-contact-check]');\r\n            var hiddenContactName = form.querySelector('input[name=\"gpb_contact_name\"]');\r\n            var hiddenContactEmail = form.querySelector('input[name=\"gpb_contact_email\"]');\r\n            var hiddenContactPhone = form.querySelector('input[name=\"gpb_contact_phone\"]');\r\n            var dateInput = root.querySelector('[data-gpbf-date-range]');\r\n            var guestsField = root.querySelector('[data-gpbf-guests-field]');\r\n            var guestsPanel = root.querySelector('[data-gpbf-guests-panel]');\r\n            var guestsCloseBtn = root.querySelector('[data-gpbf-guests-close]');\r\n            var guestsDoneBtn = root.querySelector('[data-gpbf-guests-done]');\r\n            var mobileOverlay = root.querySelector('[data-gpbf-mobile-overlay]');\r\n            var roomsRow = root.querySelector('[data-gpbf-rooms-row]');\r\n            var result = root.querySelector('[data-gpbf-result]');\r\n            var optionalsWrap = root.querySelector('[data-gpbf-optionals-wrap]');\r\n            var optionalsList = root.querySelector('[data-gpbf-optionals-list]');\r\n            var optionalsEmpty = root.querySelector('[data-gpbf-optionals-empty]');\r\n            var optionalsToggle = root.querySelector('[data-gpbf-optionals-toggle]');\r\n            var optionalsMaxMsg = root.querySelector('[data-gpbf-optionals-maxmsg]');\r\n            var totalValue = root.querySelector('[data-gpbf-total-value]');\r\n            var checkBtn = root.querySelector('[data-gpbf-check]');\r\n            var submitBtn = root.querySelector('[data-gpbf-submit]');\r\n            var hCheckIn = form.querySelector('input[name=\"gpb_check_in\"]');\r\n            var hCheckOut = form.querySelector('input[name=\"gpb_check_out\"]');\r\n            var hBookingDate = form.querySelector('input[name=\"gpb_booking_date\"]');\r\n            var hRooms = form.querySelector('input[name=\"gpb_rooms\"]');\r\n            var hAdults = form.querySelector('input[name=\"gpb_adults\"]');\r\n            var hChildren = form.querySelector('input[name=\"gpb_children\"]');\r\n            var hChildrenCat1 = form.querySelector('input[name=\"gpb_children_cat_1\"]');\r\n            var hChildrenCat2 = form.querySelector('input[name=\"gpb_children_cat_2\"]');\r\n            var hSelectedRoomId = form.querySelector('input[name=\"gpb_selected_room_id\"]');\r\n            var hSelectedPackageId = form.querySelector('input[name=\"gpb_selected_package_id\"]');\r\n            var hSelectedRoomsJson = form.querySelector('input[name=\"gpb_selected_rooms_json\"]');\r\n            var fp = null;\r\n            var lastBaseTotal = 0;\r\n            var lastNights = 0;\r\n            var optLimitHit = false;\r\n            var availableItems = [];\r\n            var selectedItem = null;\r\n            var selectedRoomQuantities = {};\r\n            var DEFAULT_RANGE_LABEL = i18n.default_range_label;\r\n            var DEFAULT_SINGLE_LABEL = i18n.default_single_label;\r\n\r\n            function pad2(n){ return (n < 10 ? '0' : '') + n; }\r\n            function toYMD(d){ return d.getFullYear() + '-' + pad2(d.getMonth() + 1) + '-' + pad2(d.getDate()); }\r\n            function formatMoney(n){ return (parseFloat(n || 0) || 0).toFixed(2); }\r\n            function escapeHtml(str){\r\n                return String(str || '').replace(\/[&<>\"']\/g, function(m){\r\n                    return ({'&':'&amp;','<':'&lt;','>':'&gt;','\"':'&quot;',\"'\":'&#039;'})[m];\r\n                });\r\n            }\r\n            function formatRoShort(d){\r\n                var wd = i18n.weekdays_short;\r\n                var mo = i18n.months_short;\r\n                return wd[d.getDay()] + ' ' + pad2(d.getDate()) + ' ' + mo[d.getMonth()];\r\n            }\r\n            function labelRange(inYMD, outYMD){\r\n                var a = new Date(inYMD + 'T00:00:00');\r\n                var b = new Date(outYMD + 'T00:00:00');\r\n                return formatRoShort(a) + ' \u2014 ' + formatRoShort(b);\r\n            }\r\n            function labelSingle(ymd){\r\n                var a = new Date(ymd + 'T00:00:00');\r\n                return formatRoShort(a);\r\n            }\r\n            function renderAlert(type, title, text){\r\n                if (type === 'error') { type = 'danger'; }\r\n                return '<div class=\"gp-alert gp-alert--' + escapeHtml(type) + '\"><div class=\"gp-alert__title\">' + escapeHtml(title) + '<\/div><div class=\"gp-alert__text\">' + escapeHtml(text) + '<\/div><\/div>';\r\n            }\r\n            function toastError(message) {\r\n                if (window.gpToast && typeof window.gpToast.error === 'function') {\r\n                    window.gpToast.error(message);\r\n                }\r\n            }\r\n            function currentBookingType() {\r\n                return contextData.booking_type === 'day_use' ? 'day_use' : 'stay';\r\n            }\r\n            function isPackageContextMode() {\r\n                return contextData.mode === 'packages_general' || contextData.mode === 'package_specific';\r\n            }\r\n            function shouldHideRoomsSelector() {\r\n                return currentBookingType() === 'day_use' || isPackageContextMode();\r\n            }\r\n            function parsePackageCalendarRules(rawRules) {\r\n                if (!Array.isArray(rawRules)) return [];\r\n                return rawRules.map(function(rule) {\r\n                    rule = rule && typeof rule === 'object' ? rule : {};\r\n                    return {\r\n                        package_id: parseInt(rule.package_id || '0', 10) || 0,\r\n                        package_code: String(rule.package_code || ''),\r\n                        package_name: String(rule.package_name || ''),\r\n                        date_start: String(rule.date_start || ''),\r\n                        date_end: String(rule.date_end || ''),\r\n                        min_nights: Math.max(0, parseInt(rule.min_nights || '0', 10) || 0),\r\n                        max_nights: Math.max(0, parseInt(rule.max_nights || '0', 10) || 0),\r\n                        allowed_checkin_days: Array.isArray(rule.allowed_checkin_days) ? rule.allowed_checkin_days.map(function(day){ return String(day || '').toLowerCase(); }).filter(Boolean) : [],\r\n                        has_interval_limits: !!rule.has_interval_limits,\r\n                        has_stay_limits: !!rule.has_stay_limits,\r\n                        has_calendar_rules: !!rule.has_calendar_rules\r\n                    };\r\n                }).filter(function(rule) {\r\n                    return !!rule.package_id;\r\n                });\r\n            }\r\n            var packageCalendarRules = parsePackageCalendarRules(contextData.package_calendar_rules || []);\r\n            function getTodayYMD() {\r\n                return toYMD(new Date());\r\n            }\r\n            function ymdToDate(ymd) {\r\n                if (!ymd || !\/^\\d{4}-\\d{2}-\\d{2}$\/.test(String(ymd))) return null;\r\n                var parts = String(ymd).split('-');\r\n                var year = parseInt(parts[0], 10) || 0;\r\n                var month = (parseInt(parts[1], 10) || 1) - 1;\r\n                var day = parseInt(parts[2], 10) || 1;\r\n                return new Date(year, month, day);\r\n            }\r\n            function compareYMD(a, b) {\r\n                a = String(a || '');\r\n                b = String(b || '');\r\n                if (!a && !b) return 0;\r\n                if (!a) return -1;\r\n                if (!b) return 1;\r\n                if (a === b) return 0;\r\n                return a < b ? -1 : 1;\r\n            }\r\n            function maxYMD(a, b) {\r\n                return compareYMD(a, b) >= 0 ? a : b;\r\n            }\r\n            function addDaysYMD(ymd, days) {\r\n                var date = ymdToDate(ymd);\r\n                if (!date) return '';\r\n                date.setDate(date.getDate() + (parseInt(days || '0', 10) || 0));\r\n                return toYMD(date);\r\n            }\r\n            function diffDaysYMD(startYmd, endYmd) {\r\n                var start = ymdToDate(startYmd);\r\n                var end = ymdToDate(endYmd);\r\n                if (!start || !end) return 0;\r\n                return Math.round((end.getTime() - start.getTime()) \/ 86400000);\r\n            }\r\n            function getWeekdayKey(ymd) {\r\n                var date = ymdToDate(ymd);\r\n                if (!date) return '';\r\n                return ['sun','mon','tue','wed','thu','fri','sat'][date.getDay()] || '';\r\n            }\r\n            function packageRulesApply() {\r\n                return currentBookingType() !== 'day_use' && isPackageContextMode() && packageCalendarRules.length > 0;\r\n            }\r\n          \r\n\t\t  function packageAutoSelectApplies() {\r\n    var packageCode = String(contextData && contextData.package_code ? contextData.package_code : '').trim();\r\n\r\n    \/\/ Auto-select doar pe shortcode specific de pachet, nu pe listarea general\u0103\r\n    return currentBookingType() !== 'day_use'\r\n        && isPackageContextMode()\r\n        && !!packageCode\r\n        && packageCalendarRules.length > 0;\r\n}\r\n\t\t  \r\nfunction getPackageRuleDefaultNights(rule) {\r\n    var minNights = Math.max(0, parseInt(rule && rule.min_nights || '0', 10) || 0);\r\n    var maxNights = Math.max(0, parseInt(rule && rule.max_nights || '0', 10) || 0);\r\n\r\n    \/\/ Auto-select doar dac\u0103 ambele sunt setate\r\n    if (minNights <= 0 || maxNights <= 0) {\r\n        return 0;\r\n    }\r\n\r\n    return Math.min(minNights, maxNights);\r\n}\r\n\r\n            function isWithinPackageInterval(rule, checkInYmd) {\r\n                if (!rule) return false;\r\n                var start = String(rule.date_start || '');\r\n                var end = String(rule.date_end || '');\r\n                if (start && compareYMD(checkInYmd, start) < 0) return false;\r\n                if (end && compareYMD(checkInYmd, end) > 0) return false;\r\n                return true;\r\n            }\r\n            function packageRuleAllowsWeekday(rule, checkInYmd) {\r\n                var allowed = Array.isArray(rule && rule.allowed_checkin_days) ? rule.allowed_checkin_days : [];\r\n                if (!allowed.length) return true;\r\n                return allowed.indexOf(getWeekdayKey(checkInYmd)) !== -1;\r\n            }\r\n            function packageRuleAllowsCheckin(rule, checkInYmd, requireCheckoutFit) {\r\n                if (!isWithinPackageInterval(rule, checkInYmd)) return false;\r\n                if (!packageRuleAllowsWeekday(rule, checkInYmd)) return false;\r\n                if (!requireCheckoutFit) return true;\r\n                var defaultCheckout = addDaysYMD(checkInYmd, getPackageRuleDefaultNights(rule));\r\n                if (!defaultCheckout) return false;\r\n                if (rule.date_end && compareYMD(defaultCheckout, rule.date_end) > 0) return false;\r\n                return true;\r\n            }\r\n            function getMatchingPackageRules(checkInYmd, requireCheckoutFit) {\r\n                return packageCalendarRules.filter(function(rule) {\r\n                    return packageRuleAllowsCheckin(rule, checkInYmd, !!requireCheckoutFit);\r\n                });\r\n            }\r\n            function packageRuleAllowsRange(rule, checkInYmd, checkOutYmd) {\r\n                if (!packageRuleAllowsCheckin(rule, checkInYmd, false)) return false;\r\n                var nights = diffDaysYMD(checkInYmd, checkOutYmd);\r\n                if (nights <= 0) return false;\r\n                if (rule.min_nights > 0 && nights < rule.min_nights) return false;\r\n                if (rule.max_nights > 0 && nights > rule.max_nights) return false;\r\n                if (rule.date_end && compareYMD(checkOutYmd, rule.date_end) > 0) return false;\r\n                return true;\r\n            }\r\n            function getMatchingPackageRulesForRange(checkInYmd, checkOutYmd) {\r\n                return packageCalendarRules.filter(function(rule) {\r\n                    return packageRuleAllowsRange(rule, checkInYmd, checkOutYmd);\r\n                });\r\n            }\r\n            function getPackageRangeValidationMessage(checkInYmd, checkOutYmd) {\r\n                if (!packageRulesApply() || !checkInYmd || !checkOutYmd) return '';\r\n                if (getMatchingPackageRulesForRange(checkInYmd, checkOutYmd).length) return '';\r\n                if (!getMatchingPackageRules(checkInYmd, false).length) {\r\n                    return getPackageCheckinErrorMessage(checkInYmd);\r\n                }\r\n                return i18n.package_period_invalid;\r\n            }\r\n            function getEarliestPackageCalendarDate() {\r\n                var today = getTodayYMD();\r\n                var best = '';\r\n                if (!packageRulesApply()) return ymdToDate(today);\r\n                packageCalendarRules.forEach(function(rule) {\r\n                    var candidate = rule.date_start ? maxYMD(rule.date_start, today) : today;\r\n                    if (!packageRuleAllowsCheckin(rule, candidate, true)) {\r\n                        var cursor = candidate;\r\n                        for (var i = 0; i < 366; i++) {\r\n                            if (packageRuleAllowsCheckin(rule, cursor, true)) {\r\n                                candidate = cursor;\r\n                                break;\r\n                            }\r\n                            cursor = addDaysYMD(cursor, 1);\r\n                            if (!cursor || (rule.date_end && compareYMD(cursor, rule.date_end) > 0)) {\r\n                                candidate = '';\r\n                                break;\r\n                            }\r\n                        }\r\n                    }\r\n                    if (!candidate) return;\r\n                    if (!best || compareYMD(candidate, best) < 0) best = candidate;\r\n                });\r\n                return ymdToDate(best || today);\r\n            }\r\n\r\n\r\nfunction getDefaultPackageSelection(checkInYmd) {\r\n    if (!packageAutoSelectApplies()) return null;\r\n\r\n    var currentPackageCode = String(contextData && contextData.package_code ? contextData.package_code : '').trim();\r\n    if (!currentPackageCode) return null;\r\n\r\n    var matches = getMatchingPackageRules(checkInYmd, true);\r\n    if (!matches.length) return null;\r\n\r\n    matches = matches.filter(function(rule) {\r\n        var rulePackageCode = String(rule && rule.package_code ? rule.package_code : '').trim();\r\n        var minNights = Math.max(0, parseInt(rule && rule.min_nights || '0', 10) || 0);\r\n        var maxNights = Math.max(0, parseInt(rule && rule.max_nights || '0', 10) || 0);\r\n\r\n        return rulePackageCode === currentPackageCode\r\n            && minNights > 0\r\n            && maxNights > 0;\r\n    });\r\n\r\n    if (!matches.length) return null;\r\n\r\n    matches.sort(function(a, b) {\r\n        var aNights = getPackageRuleDefaultNights(a);\r\n        var bNights = getPackageRuleDefaultNights(b);\r\n        if (aNights !== bNights) return aNights - bNights;\r\n\r\n        var aEnd = String(a.date_end || '9999-12-31');\r\n        var bEnd = String(b.date_end || '9999-12-31');\r\n        return compareYMD(aEnd, bEnd);\r\n    });\r\n\r\n    var rule = matches[0];\r\n    var nights = getPackageRuleDefaultNights(rule);\r\n    if (nights <= 0) return null;\r\n\r\n    return {\r\n        rule: rule,\r\n        nights: nights,\r\n        check_out: addDaysYMD(checkInYmd, nights)\r\n    };\r\n}\r\n\r\n\t\t  function getLatestAllowedCheckinForRule(rule) {\r\n                if (!rule) return '';\r\n                var today = getTodayYMD();\r\n                var latest = rule.date_end ? addDaysYMD(rule.date_end, -getPackageRuleDefaultNights(rule)) : '';\r\n                if (!latest) return '';\r\n                var floor = rule.date_start ? maxYMD(rule.date_start, today) : today;\r\n                if (compareYMD(latest, floor) < 0) return '';\r\n                if (!Array.isArray(rule.allowed_checkin_days) || !rule.allowed_checkin_days.length) return latest;\r\n                var cursor = latest;\r\n                for (var i = 0; i < 7; i++) {\r\n                    if (packageRuleAllowsWeekday(rule, cursor) && compareYMD(cursor, floor) >= 0) {\r\n                        return cursor;\r\n                    }\r\n                    cursor = addDaysYMD(cursor, -1);\r\n                }\r\n                return '';\r\n            }\r\n            function getPackageCheckinErrorMessage(checkInYmd) {\r\n                if (!packageRulesApply() || !checkInYmd) return '';\r\n                var intervalMatches = packageCalendarRules.filter(function(rule) {\r\n                    return isWithinPackageInterval(rule, checkInYmd);\r\n                });\r\n                if (!intervalMatches.length) {\r\n                    return i18n.package_checkin_unavailable;\r\n                }\r\n                var weekdayMatches = intervalMatches.filter(function(rule) {\r\n                    return packageRuleAllowsWeekday(rule, checkInYmd);\r\n                });\r\n                if (!weekdayMatches.length) {\r\n                    return i18n.package_checkin_day_not_allowed;\r\n                }\r\n                var latest = '';\r\n                weekdayMatches.forEach(function(rule) {\r\n                    var candidate = getLatestAllowedCheckinForRule(rule);\r\n                    if (candidate && (!latest || compareYMD(candidate, latest) > 0)) {\r\n                        latest = candidate;\r\n                    }\r\n                });\r\n                if (latest) {\r\n                    return i18n.package_last_checkin_prefix + ' ' + formatRoShort(ymdToDate(latest)) + '.';\r\n                }\r\n                return i18n.package_checkin_no_valid_checkout;\r\n            }\r\n            function maybeShowPackageCalendarWarning(checkInYmd) {\r\n                var message = getPackageCheckinErrorMessage(checkInYmd);\r\n                if (!message) return;\r\n                result.innerHTML = renderAlert('warning', i18n.period_unavailable_title, message);\r\n            }\r\n            function ensureRoomsVisibility() {\r\n                if (shouldHideRoomsSelector()) {\r\n                    state.rooms = 1;\r\n                    if (hRooms) hRooms.value = '1';\r\n                }\r\n                if (roomsRow) {\r\n                    roomsRow.style.display = shouldHideRoomsSelector() ? 'none' : '';\r\n                }\r\n            }\r\n            function isMobileUI() {\r\n                return window.matchMedia && window.matchMedia('(max-width: 768px)').matches;\r\n            }\r\n            function setBodyLock(on) {\r\n                document.documentElement.style.overflow = on ? 'hidden' : '';\r\n                document.body.style.overflow = on ? 'hidden' : '';\r\n            }\r\n            function setMobileOverlay(on) {\r\n                if (!mobileOverlay) return;\r\n                mobileOverlay.classList.toggle('gpbf-hidden', !on);\r\n            }\r\n            function setDateInputDefault(label) {\r\n                dateInput.value = '';\r\n                dateInput.placeholder = label;\r\n                dateInput.classList.add('gpbf-date-input--default');\r\n            }\r\n            function setDateInputValue(label) {\r\n                dateInput.value = label;\r\n                dateInput.placeholder = '';\r\n                dateInput.classList.remove('gpbf-date-input--default');\r\n            }\r\n            function syncDateLabel() {\r\n                if (currentBookingType() === 'day_use') {\r\n                    if (hBookingDate.value) {\r\n                        setDateInputValue(labelSingle(hBookingDate.value));\r\n                    } else {\r\n                        setDateInputDefault(DEFAULT_SINGLE_LABEL);\r\n                    }\r\n                    return;\r\n                }\r\n                if (hCheckIn.value && hCheckOut.value) {\r\n                    setDateInputValue(labelRange(hCheckIn.value, hCheckOut.value));\r\n                } else {\r\n                    setDateInputDefault(DEFAULT_RANGE_LABEL);\r\n                }\r\n            }\r\n            function syncGuests() {\r\n                ensureRoomsVisibility();\r\n                var adultsCount = guestsPanel.querySelector('[data-k=\"adults\"] .gpbf-count');\r\n                var childrenCat1Count = guestsPanel.querySelector('[data-k=\"children_cat_1\"] .gpbf-count');\r\n                var childrenCat2Count = guestsPanel.querySelector('[data-k=\"children_cat_2\"] .gpbf-count');\r\n                var roomsCount = guestsPanel.querySelector('[data-k=\"rooms\"] .gpbf-count');\r\n                var childrenTotal = Math.max(0, state.children_cat_1 + state.children_cat_2);\r\n\r\n                if (adultsCount) adultsCount.textContent = String(state.adults);\r\n                if (childrenCat1Count) childrenCat1Count.textContent = String(state.children_cat_1);\r\n                if (childrenCat2Count) childrenCat2Count.textContent = String(state.children_cat_2);\r\n                if (roomsCount) roomsCount.textContent = String(state.rooms);\r\n\r\n                hAdults.value = String(state.adults);\r\n                hChildren.value = String(childrenTotal);\r\n                if (hChildrenCat1) hChildrenCat1.value = String(state.children_cat_1);\r\n                if (hChildrenCat2) hChildrenCat2.value = String(state.children_cat_2);\r\n                hRooms.value = String(shouldHideRoomsSelector() ? 1 : state.rooms);\r\n\r\n                var childLabel = childrenTotal + ' ' + i18n.guests_children_suffix;\r\n                var label = state.adults + ' ' + i18n.guests_adults_suffix + ', ' + childLabel;\r\n                if (!shouldHideRoomsSelector()) {\r\n                    label += ', ' + state.rooms + ' ' + i18n.guests_rooms_suffix;\r\n                }\r\n                guestsField.textContent = label;\r\n                guestsField.setAttribute('data-placeholder', label);\r\n                guestsField.setAttribute('aria-label', label);\r\n            }\r\n            function syncContactHiddenFields() {\r\n                if (hiddenContactName && contactNameInput) hiddenContactName.value = String(contactNameInput.value || '').trim();\r\n                if (hiddenContactEmail && contactEmailInput) hiddenContactEmail.value = String(contactEmailInput.value || '').trim();\r\n                if (hiddenContactPhone && contactPhoneInput) hiddenContactPhone.value = String(contactPhoneInput.value || '').trim();\r\n            }\r\n            function contactStepIsCompleted() {\r\n                return !!(hiddenContactName && hiddenContactEmail && hiddenContactPhone\r\n                    && String(hiddenContactName.value || '').trim()\r\n                    && String(hiddenContactEmail.value || '').trim()\r\n                    && String(hiddenContactPhone.value || '').trim());\r\n            }\r\n            function validateContactStep() {\r\n                var fields = [contactNameInput, contactEmailInput, contactPhoneInput];\r\n                syncContactHiddenFields();\r\n                for (var i = 0; i < fields.length; i++) {\r\n                    var field = fields[i];\r\n                    if (!field) continue;\r\n                    if (typeof field.reportValidity === 'function' && !field.reportValidity()) {\r\n                        return false;\r\n                    }\r\n                }\r\n                return true;\r\n            }\r\n            function setBookingStepVisible(on, options) {\r\n                options = options || {};\r\n                if (contactStep) contactStep.classList.toggle('gpbf-hidden', !!on);\r\n                if (bookingStep) bookingStep.classList.toggle('gpbf-hidden', !on);\r\n                if (on) {\r\n                    syncContactHiddenFields();\r\n                    initFlatpickr();\r\n                    syncDateLabel();\r\n                    syncGuests();\r\n                    if (options.focus !== false) {\r\n                        window.setTimeout(function(){ if (dateInput) dateInput.focus(); }, 0);\r\n                    }\r\n                }\r\n            }\r\n            function setBusy(on) {\r\n                checkBtn.disabled = !!on;\r\n                checkBtn.classList.toggle('is-loading', !!on);\r\n            }\r\n            function setPayLocked() {\r\n                submitBtn.classList.add('gpbf-pay-hidden', 'gpbf-pay-disabled');\r\n                submitBtn.disabled = true;\r\n                if (checkBtn) checkBtn.classList.remove('gpbf-hidden');\r\n            }\r\n            function setPayUnlocked() {\r\n                submitBtn.classList.remove('gpbf-pay-hidden', 'gpbf-pay-disabled');\r\n                submitBtn.disabled = false;\r\n                if (checkBtn) checkBtn.classList.add('gpbf-hidden');\r\n            }\r\n            function setOptionalsVisible(on) {\r\n                optionalsWrap.classList.toggle('gpbf-optionals-hidden', !on);\r\n            }\r\n            function getMaxPerOptional() {\r\n                var guests = Math.max(0, state.adults + state.children_cat_1 + state.children_cat_2);\r\n                if (currentBookingType() === 'day_use') {\r\n                    return Math.max(0, guests);\r\n                }\r\n                return Math.max(0, guests * Math.max(1, lastNights || 1));\r\n            }\r\n            function getRoomItemById(roomId) {\r\n                roomId = parseInt(roomId || '0', 10) || 0;\r\n                for (var i = 0; i < availableItems.length; i++) {\r\n                    var item = availableItems[i];\r\n                    if (item && !item.package_id && (parseInt(item.room_id || '0', 10) || 0) === roomId) {\r\n                        return item;\r\n                    }\r\n                }\r\n                return null;\r\n            }\r\n            function isRoomResultsMode() {\r\n                if (currentBookingType() === 'day_use') {\r\n                    return false;\r\n                }\r\n                return availableItems.some(function(item) {\r\n                    return item && !item.package_id;\r\n                });\r\n            }\r\n            function normalizeSelectedRoomEntries() {\r\n                var entries = [];\r\n                Object.keys(selectedRoomQuantities).forEach(function(roomId) {\r\n                    var qty = parseInt(selectedRoomQuantities[roomId] || '0', 10) || 0;\r\n                    var numericRoomId = parseInt(roomId || '0', 10) || 0;\r\n                    if (numericRoomId > 0 && qty > 0) {\r\n                        entries.push({ room_id: numericRoomId, quantity: qty });\r\n                    }\r\n                });\r\n                entries.sort(function(a, b) { return a.room_id - b.room_id; });\r\n                return entries;\r\n            }\r\n            function syncSelectedRoomsJson() {\r\n                if (!hSelectedRoomsJson) return;\r\n                hSelectedRoomsJson.value = JSON.stringify(normalizeSelectedRoomEntries());\r\n            }\r\n            function getSelectedUnitsCount() {\r\n                return normalizeSelectedRoomEntries().reduce(function(sum, entry){\r\n                    return sum + (parseInt(entry.quantity || '0', 10) || 0);\r\n                }, 0);\r\n            }\r\n            function getRoomSelectionCapacitySummary() {\r\n                var adultsRequired = Math.max(0, state.adults || 0);\r\n                var childrenRequired = Math.max(0, (state.children_cat_1 || 0) + (state.children_cat_2 || 0));\r\n                var totalPeopleRequired = adultsRequired + childrenRequired;\r\n                var adultSlots = 0;\r\n                var childSlots = 0;\r\n                var totalSlots = 0;\r\n\r\n                normalizeSelectedRoomEntries().forEach(function(entry) {\r\n                    var item = getRoomItemById(entry.room_id);\r\n                    var qty = parseInt(entry.quantity || '0', 10) || 0;\r\n                    if (!item || qty <= 0) {\r\n                        return;\r\n                    }\r\n\r\n                    var meta = item.room_meta || {};\r\n                    adultSlots += (parseInt(meta.max_adults || '0', 10) || 0) * qty;\r\n                    childSlots += (parseInt(meta.max_children || '0', 10) || 0) * qty;\r\n                    totalSlots += (parseInt(meta.max_capacity || '0', 10) || 0) * qty;\r\n                });\r\n\r\n                var remainingAdultSlots = Math.max(0, adultSlots - adultsRequired);\r\n                var childrenFit = (childSlots + remainingAdultSlots) >= childrenRequired;\r\n                var totalFit = totalSlots <= 0 ? true : totalSlots >= totalPeopleRequired;\r\n\r\n                return {\r\n                    adults_required: adultsRequired,\r\n                    children_required: childrenRequired,\r\n                    total_people_required: totalPeopleRequired,\r\n                    adult_slots: adultSlots,\r\n                    child_slots: childSlots,\r\n                    total_slots: totalSlots,\r\n                    selected_units: getSelectedUnitsCount(),\r\n                    required_rooms: Math.max(1, state.rooms || 1),\r\n                    meets_room_count: getSelectedUnitsCount() >= Math.max(1, state.rooms || 1),\r\n                    fits_adults: adultSlots >= adultsRequired,\r\n                    fits_children: childrenFit,\r\n                    fits_total: totalFit,\r\n                    is_valid: (getSelectedUnitsCount() > 0) && (adultSlots >= adultsRequired) && childrenFit && totalFit\r\n                };\r\n            }\r\n            function buildRoomSelectionItem() {\r\n                var entries = normalizeSelectedRoomEntries();\r\n                if (!entries.length) {\r\n                    return null;\r\n                }\r\n\r\n                var firstItem = null;\r\n                var baseTotal = 0;\r\n                var distinctRoomIds = [];\r\n                var facilitiesMap = {};\r\n                var optionalsMap = {};\r\n\r\n                entries.forEach(function(entry) {\r\n                    var item = getRoomItemById(entry.room_id);\r\n                    var qty = parseInt(entry.quantity || '0', 10) || 0;\r\n                    if (!item || qty <= 0) {\r\n                        return;\r\n                    }\r\n\r\n                    if (!firstItem) {\r\n                        firstItem = item;\r\n                    }\r\n\r\n                    distinctRoomIds.push(entry.room_id);\r\n                    baseTotal += (parseFloat(item.base_total_raw || item.base_total || 0) || 0) * qty;\r\n\r\n                    if (Array.isArray(item.facilities)) {\r\n                        item.facilities.forEach(function(facility) {\r\n                            if (!facility || typeof facility !== 'object') {\r\n                                return;\r\n                            }\r\n                            var facilityKey = facility.id ? ('id:' + String(facility.id)) : ('name:' + String(facility.name || ''));\r\n                            facilitiesMap[facilityKey] = facility;\r\n                        });\r\n                    }\r\n\r\n                    if (Array.isArray(item.optionals)) {\r\n                        item.optionals.forEach(function(optional) {\r\n                            if (!optional || typeof optional !== 'object') {\r\n                                return;\r\n                            }\r\n                            var optionalKey = optional.id ? ('id:' + String(optional.id)) : ('name:' + String(optional.name || ''));\r\n                            if (!optionalsMap[optionalKey]) {\r\n                                optionalsMap[optionalKey] = optional;\r\n                            }\r\n                        });\r\n                    }\r\n                });\r\n\r\n                if (!firstItem) {\r\n                    return null;\r\n                }\r\n\r\n                distinctRoomIds = Array.from(new Set(distinctRoomIds));\r\n                var optionals = Object.keys(optionalsMap).map(function(key){ return optionalsMap[key]; });\r\n\r\n                return {\r\n                    type: 'room',\r\n                    label: distinctRoomIds.length > 1 ? i18n.combo_rooms_label : (firstItem.label || ''),\r\n                    description: distinctRoomIds.length > 1 ? i18n.combo_rooms_desc : (firstItem.description || ''),\r\n                    room_id: parseInt(firstItem.room_id || '0', 10) || 0,\r\n                    package_id: 0,\r\n                    nights: parseInt(firstItem.nights || '0', 10) || 0,\r\n                    base_total_raw: parseFloat(baseTotal || 0) || 0,\r\n                    base_total: formatMoney(baseTotal || 0),\r\n                    optionals: optionals,\r\n                    facilities: Object.keys(facilitiesMap).map(function(key){ return facilitiesMap[key]; }),\r\n                    selected_rooms: entries,\r\n                    selection_mode: 'multi_room',\r\n                    allocated_rooms: [],\r\n                    allocated_room_ids: [],\r\n                    allocation_summary: getRoomSelectionCapacitySummary(),\r\n                    allocation_type: 'user_selected'\r\n                };\r\n            }\r\n            function getRoomSelectionStatusMessage(summary) {\r\n                if (!summary || !summary.selected_units) {\r\n                    return i18n.room_selection_select_at_least_one;\r\n                }\r\n                if (!summary.meets_room_count) {\r\n                    return i18n.room_selection_min_rooms_prefix + ' ' + String(summary.required_rooms) + ' ' + i18n.room_selection_min_rooms_suffix;\r\n                }\r\n                if (!summary.fits_adults) {\r\n                    return i18n.room_selection_not_enough_adults;\r\n                }\r\n                if (!summary.fits_children) {\r\n                    return i18n.room_selection_not_enough_children;\r\n                }\r\n                if (!summary.fits_total) {\r\n                    return i18n.room_selection_not_enough_capacity;\r\n                }\r\n                return '';\r\n            }\r\n            function syncRoomSelectionState() {\r\n                if (!isRoomResultsMode()) {\r\n                    syncSelectedRoomsJson();\r\n                    return;\r\n                }\r\n\r\n                selectedItem = buildRoomSelectionItem();\r\n                hSelectedPackageId.value = '';\r\n                hSelectedRoomId.value = selectedItem ? String(selectedItem.room_id || 0) : '';\r\n                syncSelectedRoomsJson();\r\n                lastBaseTotal = selectedItem ? (parseFloat(selectedItem.base_total_raw || selectedItem.base_total || 0) || 0) : 0;\r\n                lastNights = selectedItem ? (parseInt(selectedItem.nights || 0, 10) || 0) : 0;\r\n\r\n                var statusEl = result.querySelector('[data-gpbf-room-selection-status]');\r\n                var summary = getRoomSelectionCapacitySummary();\r\n                var statusMessage = getRoomSelectionStatusMessage(summary);\r\n\r\n                if (statusEl) {\r\n    statusEl.innerHTML = '';\r\n}\r\n                if (selectedItem && !statusMessage) {\r\n                    \/\/ Op\u021bionalele au fost eliminate din flux \u2014 nu mai oferim\r\n                    \/\/ personalizarea sejurului, indiferent de selec\u021bie.\r\n                    setPayUnlocked();\r\n                    setOptionalsVisible(false);\r\n                    optionalsList.innerHTML = '';\r\n                    optionalsEmpty.classList.add('gpbf-hidden');\r\n                    optionalsToggle.classList.add('gpbf-hidden');\r\n                    updateTotals();\r\n                } else {\r\n                    setPayLocked();\r\n                    setOptionalsVisible(false);\r\n                    optionalsList.innerHTML = '';\r\n                    updateTotals();\r\n                }\r\n            }\r\n            function updateTotals() {\r\n                var base = selectedItem ? (parseFloat(selectedItem.base_total_raw || selectedItem.base_total || 0) || 0) : 0;\r\n                var options = 0;\r\n                Array.prototype.forEach.call(optionalsList.querySelectorAll('input[type=\"hidden\"]'), function(inp){\r\n                    var qty = parseInt(inp.value || '0', 10) || 0;\r\n                    var price = parseFloat(inp.getAttribute('data-price') || '0') || 0;\r\n                    options += qty * price;\r\n                });\r\n                totalValue.textContent = formatMoney(base + options);\r\n                optionalsMaxMsg.style.display = optLimitHit ? 'block' : 'none';\r\n            }\r\n            function resetOptionals() {\r\n                Array.prototype.forEach.call(optionalsList.querySelectorAll('input[type=\"hidden\"]'), function(inp){\r\n                    inp.value = '0';\r\n                });\r\n                Array.prototype.forEach.call(optionalsList.querySelectorAll('.gpbf-optional__count'), function(cnt){\r\n                    cnt.textContent = '0';\r\n                });\r\n                optLimitHit = false;\r\n                refreshPlusDisabled();\r\n                updateTotals();\r\n            }\r\n            function refreshPlusDisabled() {\r\n                var maxPer = getMaxPerOptional();\r\n                Array.prototype.forEach.call(optionalsList.querySelectorAll('.gpbf-optional'), function(row){\r\n                    var inp = row.querySelector('input[type=\"hidden\"]');\r\n                    var plus = row.querySelector('.gpbf-opt-plus');\r\n                    var qty = parseInt(inp ? (inp.value || '0') : '0', 10) || 0;\r\n                    if (plus) plus.disabled = maxPer > 0 && qty >= maxPer;\r\n                });\r\n            }\r\n            function renderOptionals() {\r\n                var optionals = selectedItem && Array.isArray(selectedItem.optionals) ? selectedItem.optionals : [];\r\n                optionalsList.innerHTML = '';\r\n                optionalsToggle.classList.add('gpbf-hidden');\r\n                optionalsEmpty.classList.toggle('gpbf-hidden', optionals.length !== 0);\r\n\r\n                optionals.forEach(function(item, index){\r\n                    var row = document.createElement('div');\r\n                    row.className = 'gpbf-optional' + (index >= 3 ? ' gpbf-optional--hidden' : '');\r\n                    if (index >= 3) row.style.display = 'none';\r\n\r\n                    row.innerHTML = ''\r\n                        + '<div class=\"gpbf-optional__content\">'\r\n                        +   '<div class=\"gpbf-optional__title\">' + escapeHtml(item.name || '') + '<\/div>'\r\n                        +   '<div class=\"gpbf-optional__meta\">' + escapeHtml(item.description || '') + '<\/div>'\r\n                        +   '<div class=\"gpbf-optional__meta\">' + escapeHtml(formatMoney(item.price || 0).replace('.', ',')) + ' lei<\/div>'\r\n                        + '<\/div>'\r\n                        + '<div class=\"gpbf-optional__actions\">'\r\n                        +   '<button type=\"button\" class=\"gpbf-opt-minus\" aria-label=\"' + escapeHtml(i18n.decrease) + '\">\u2212<\/button>'\r\n                        +   '<div class=\"gpbf-optional__count\">0<\/div>'\r\n                        +   '<button type=\"button\" class=\"gpbf-opt-plus\" aria-label=\"' + escapeHtml(i18n.increase) + '\">+<\/button>'\r\n                        +   '<input type=\"hidden\" name=\"gpb_optionals_qty[' + String(item.id) + ']\" value=\"0\" data-price=\"' + escapeHtml(item.price || 0) + '\">'\r\n                        + '<\/div>';\r\n\r\n                    optionalsList.appendChild(row);\r\n                });\r\n\r\n                if (optionals.length > 3) {\r\n                    optionalsToggle.classList.remove('gpbf-hidden');\r\n                    optionalsToggle.querySelector('.gp-btn__text').textContent = i18n.view_all_optionals;\r\n                }\r\n                refreshPlusDisabled();\r\n                updateTotals();\r\n            }\r\n            function setSelection(item) {\r\n                selectedItem = item || null;\r\n                hSelectedRoomId.value = selectedItem ? String(selectedItem.room_id || 0) : '';\r\n                hSelectedPackageId.value = selectedItem ? String(selectedItem.package_id || 0) : '';\r\n                if (hSelectedRoomsJson && (!selectedItem || selectedItem.package_id)) {\r\n                    hSelectedRoomsJson.value = '[]';\r\n                }\r\n                lastBaseTotal = selectedItem ? (parseFloat(selectedItem.base_total_raw || selectedItem.base_total || 0) || 0) : 0;\r\n                lastNights = selectedItem ? (parseInt(selectedItem.nights || 0, 10) || 0) : 0;\r\n\r\n                if (selectedItem) {\r\n                    \/\/ Op\u021bionalele au fost eliminate din flux \u2014 nu mai oferim\r\n                    \/\/ personalizarea sejurului, indiferent de selec\u021bie.\r\n                    setPayUnlocked();\r\n                    setOptionalsVisible(false);\r\n                    optionalsList.innerHTML = '';\r\n                    optionalsEmpty.classList.add('gpbf-hidden');\r\n                    optionalsToggle.classList.add('gpbf-hidden');\r\n                    updateTotals();\r\n                } else {\r\n                    setPayLocked();\r\n                    setOptionalsVisible(false);\r\n                    optionalsList.innerHTML = '';\r\n                    updateTotals();\r\n                }\r\n            }\r\n            function renderChoices(items, summaryText) {\r\n                var isRoomMode = items.every(function(item){ return item && !item.package_id; });\r\n                var html = '';\r\nif (summaryText) {\r\n    html += renderAlert(\r\n        'success',\r\n        currentBookingType() === 'day_use' ? i18n.selection_available_day_use : i18n.selection_available_stay,\r\n        summaryText\r\n    );\r\n}\r\nhtml += '<div style=\"display:grid;gap:12px;' + (summaryText ? 'margin-top:12px;' : '') + '\">';\r\n                html += '<div><strong>' + (isRoomMode ? i18n.choose_room_combo : i18n.choose_option) + '<\/strong><\/div>';\r\n\r\n                items.forEach(function(item, index){\r\n                    var meta = [];\r\n                    var facilities = [];\r\n                    var availableUnits = parseInt(item.available_units || item.max_selectable_units || 0, 10) || 0;\r\n                    var maxSelectableUnits = parseInt(item.max_selectable_units || availableUnits || 0, 10) || 0;\r\n                    var currentQty = parseInt(selectedRoomQuantities[item.room_id] || '0', 10) || 0;\r\n\r\n                    if (item.room_meta && item.room_meta.max_capacity) meta.push(i18n.max_capacity_prefix + ' ' + item.room_meta.max_capacity);\r\n                    if (item.room_meta && item.room_meta.max_adults) meta.push(i18n.max_adults_prefix + ' ' + item.room_meta.max_adults);\r\n                    if (item.room_meta && item.room_meta.max_children) meta.push(i18n.max_children_prefix + ' ' + item.room_meta.max_children);\r\n                   \r\n                    if (Array.isArray(item.facilities)) {\r\n                        item.facilities.forEach(function(facility) {\r\n                            if (!facility || !facility.name) {\r\n                                return;\r\n                            }\r\n                            facilities.push(facility.name);\r\n                        });\r\n                    }\r\n\r\n                    if (isRoomMode) {\r\n                        var availabilityLabel = availableUnits === 1\r\n                            ? i18n.room_available_singular\r\n                            : String(availableUnits) + ' ' + i18n.rooms_available_plural_suffix;\r\n\r\n                        html += ''\r\n                            + '<div style=\"display:block;border:1px solid #e5e7eb;border-radius:12px;padding:12px;\">'\r\n                            +   '<div class=\"gpbf-result-card\">'\r\n                            +     '<div class=\"gpbf-result-card__media\">'\r\n                            +       '<img decoding=\"async\" src=\"' + escapeHtml(item.image_url || '') + '\" alt=\"' + escapeHtml(item.image_alt || '') + '\">'\r\n                            +     '<\/div>'\r\n                            +     '<div class=\"gpbf-result-card__body\">'\r\n                            +       '<strong>' + escapeHtml(item.label || '') + '<\/strong>'\r\n                            +       (item.description ? '<div style=\"margin-top:6px;\">' + escapeHtml(item.description) + '<\/div>' : '')\r\n                            +      (facilities.length ? '<div style=\"margin-top:6px;color:#667085;\">' + escapeHtml(i18n.facilities_included) + ' '\r\n+ facilities.map(function(f){ return '<span style=\"color:#54aa59;\">\u2713<\/span> ' + escapeHtml(f); }).join(' ')\r\n+ '<\/div>' : '')\r\n                            +       (meta.length ? '<div style=\"margin-top:6px;\">' + escapeHtml(meta.join(' \u2022 ')) + '<\/div>' : '')\r\n                            +       '<div style=\"margin-top:6px;\"><strong>' + escapeHtml(formatMoney(item.base_total || 0).replace('.', ',')) + ' ' + escapeHtml(i18n.per_stay_suffix) + '<\/strong><\/div>'\r\n                            +       '<div class=\"gpbf-room-availability\" style=\"margin-top:8px;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#166534;color:#ffffff;font-size:13px;font-weight:300;\">'\r\n\r\n                            +         '<strong>' + escapeHtml(availabilityLabel) + '<\/strong>'\r\n                            +       '<\/div>'\r\n                            +       '<div class=\"gpbf-room-qty gpbf-optional__actions\" style=\"display:flex;align-items:center;gap:8px;margin-top:12px;\">'\r\n                            +         '<button type=\"button\" class=\"gpbf-room-minus gpbf-opt-minus\" data-room-id=\"' + String(item.room_id || 0) + '\" aria-label=\"' + escapeHtml(i18n.decrease) + '\" ' + (currentQty <= 0 ? 'disabled' : '') + '>\u2212<\/button>'\r\n                            +         '<div class=\"gpbf-room-qty__value gpbf-optional__count\" data-room-qty-value=\"' + String(item.room_id || 0) + '\">' + String(currentQty) + '<\/div>'\r\n                            +         '<button type=\"button\" class=\"gpbf-room-plus gpbf-opt-plus\" data-room-id=\"' + String(item.room_id || 0) + '\" aria-label=\"' + escapeHtml(i18n.increase) + '\" ' + (currentQty >= maxSelectableUnits ? 'disabled' : '') + '>+<\/button>'\r\n                            +       '<\/div>'\r\n                            +     '<\/div>'\r\n                            +   '<\/div>'\r\n                            + '<\/div>';\r\n                    } else {\r\n                        html += ''\r\n                            + '<label style=\"display:block;border:1px solid #e5e7eb;border-radius:12px;padding:12px;cursor:pointer;\">'\r\n                            +   '<div class=\"gpbf-result-card\">'\r\n                            +     '<div class=\"gpbf-result-card__media\">'\r\n                            +       '<img decoding=\"async\" src=\"' + escapeHtml(item.image_url || '') + '\" alt=\"' + escapeHtml(item.image_alt || '') + '\">'\r\n                            +     '<\/div>'\r\n                            +     '<div class=\"gpbf-result-card__body\">'\r\n                            +       '<input type=\"radio\" name=\"gpbf_choice_' + rootId + '\" value=\"' + index + '\" ' + (items.length === 1 && index === 0 ? 'checked' : '') + '>'\r\n                            +       ' <strong>' + escapeHtml(item.label || '') + '<\/strong>'\r\n                            +       (item.description ? '<div style=\"margin-top:6px;\">' + escapeHtml(item.description) + '<\/div>' : '')\r\n                            +       (facilities.length ? '<div style=\"margin-top:6px;color:#667085;\">' + escapeHtml(i18n.facilities_included) + ' '\r\n+ facilities.map(function(f){ return '<span style=\"color:#54aa59;\">\u2713<\/span> ' + escapeHtml(f); }).join(' ')\r\n+ '<\/div>' : '')\r\n\t\t\t\t\t\t\t+       (meta.length && item.type !== 'package' && item.type !== 'package_room' ? '<div style=\"margin-top:6px;\">' + escapeHtml(meta.join(' \u2022 ')) + '<\/div>' : '')\r\n                            +       '<div style=\"margin-top:6px;\"><strong>' + escapeHtml(formatMoney(item.base_total || 0).replace('.', ',')) + ' ' + escapeHtml(i18n.currency_suffix) + '<\/strong><\/div>'\r\n                            +     '<\/div>'\r\n                            +   '<\/div>'\r\n                            + '<\/label>';\r\n                    }\r\n                });\r\n\r\n                if (isRoomMode) {\r\n                    html += '<div data-gpbf-room-selection-status style=\"margin-top:4px;\"><\/div>';\r\n                }\r\n\r\n                html += '<\/div>';\r\n                result.innerHTML = html;\r\n\r\n                if (isRoomMode) {\r\n                    Array.prototype.forEach.call(result.querySelectorAll('.gpbf-room-minus'), function(button){\r\n                        button.addEventListener('click', function(){\r\n                            var roomId = parseInt(button.getAttribute('data-room-id') || '0', 10) || 0;\r\n                            if (!roomId) return;\r\n                            var item = getRoomItemById(roomId);\r\n                            var currentQty = parseInt(selectedRoomQuantities[roomId] || '0', 10) || 0;\r\n                            if (!item || currentQty <= 0) return;\r\n                            selectedRoomQuantities[roomId] = Math.max(0, currentQty - 1);\r\n                            if (selectedRoomQuantities[roomId] <= 0) {\r\n                                delete selectedRoomQuantities[roomId];\r\n                            }\r\n                            renderChoices(availableItems, '');\r\n                            syncRoomSelectionState();\r\n                        });\r\n                    });\r\n\r\n                    Array.prototype.forEach.call(result.querySelectorAll('.gpbf-room-plus'), function(button){\r\n                        button.addEventListener('click', function(){\r\n                            var roomId = parseInt(button.getAttribute('data-room-id') || '0', 10) || 0;\r\n                            if (!roomId) return;\r\n                            var item = getRoomItemById(roomId);\r\n                            var maxQty = parseInt(item && (item.max_selectable_units || item.available_units) || '0', 10) || 0;\r\n                            var currentQty = parseInt(selectedRoomQuantities[roomId] || '0', 10) || 0;\r\n                            if (!item || currentQty >= maxQty) return;\r\n                            selectedRoomQuantities[roomId] = currentQty + 1;\r\n                            renderChoices(availableItems, '');\r\n                            syncRoomSelectionState();\r\n                        });\r\n                    });\r\n\r\n                   selectedItem = null;\r\nhSelectedRoomId.value = '';\r\nhSelectedPackageId.value = '';\r\nsyncSelectedRoomsJson();\r\nsetPayLocked();\r\nsetOptionalsVisible(false);\r\nupdateTotals();\r\n\r\nvar statusEl = result.querySelector('[data-gpbf-room-selection-status]');\r\nif (statusEl) {\r\n    statusEl.innerHTML = '';\r\n}               \r\n\t\t\t\t} else {\r\n                    var radios = result.querySelectorAll('input[type=\"radio\"]');\r\n                    Array.prototype.forEach.call(radios, function(radio){\r\n                        radio.addEventListener('change', function(){\r\n                            var idx = parseInt(radio.value || '-1', 10);\r\n                            if (idx >= 0 && items[idx]) {\r\n                                setSelection(items[idx]);\r\n                            }\r\n                        });\r\n                    });\r\n\r\n                    if (items.length === 1) {\r\n                        setSelection(items[0]);\r\n                    } else {\r\n                        setSelection(null);\r\n                    }\r\n                }\r\n            }\r\n            function applyAjaxResult(res) {\r\n                if (!res || typeof res !== 'object') {\r\n                    result.innerHTML = renderAlert('error', uiMessages.errorTitle, uiMessages.genericError);\r\n                    setPayLocked();\r\n                    setOptionalsVisible(false);\r\n                    return;\r\n                }\r\n\r\n                if (!res.ok) {\r\n                    result.innerHTML = renderAlert('error', uiMessages.errorTitle, String(res.message || uiMessages.genericError));\r\n                    setPayLocked();\r\n                    setOptionalsVisible(false);\r\n                    availableItems = [];\r\n                    selectedItem = null;\r\n                    updateTotals();\r\n                    return;\r\n                }\r\n\r\n                availableItems = Array.isArray(res.available_items) ? res.available_items : [];\r\n                selectedRoomQuantities = {};\r\n                if (hSelectedRoomsJson) {\r\n                    hSelectedRoomsJson.value = '[]';\r\n                }\r\n                if (!availableItems.length) {\r\n                    result.innerHTML = renderAlert('error', uiMessages.errorTitle, i18n.no_more_availability);\r\n                    setPayLocked();\r\n                    setOptionalsVisible(false);\r\n                    return;\r\n                }\r\n\r\n                var s = res.summary || {};\r\n                var summaryText = '';\r\n                if (res.booking_type === 'day_use') {\r\n                    summaryText = i18n.selected_date_prefix + ' ' + (s.booking_date || '') + '. ' + i18n.guests_label_prefix + ' ' + (s.adults || 0) + ' ' + i18n.guests_adults_suffix + ', ' + (s.children || 0) + ' ' + i18n.guests_children_suffix + '. ' + String(res.message || '');\r\n                } else {\r\n                    summaryText = i18n.selected_period_prefix + ' ' + (s.check_in || '') + ' \u2014 ' + (s.check_out || '') + '. ' + i18n.selected_rooms_prefix + ' ' + (s.rooms || 1) + '. ' + i18n.guests_label_prefix + ' ' + (s.adults || 0) + ' ' + i18n.guests_adults_suffix + ', ' + (s.children || 0) + ' ' + i18n.guests_children_suffix + '. ' + String(res.message || '');\r\n                }\r\n\r\n                var isSpecificContext = contextData && (contextData.mode === 'room_specific' || contextData.mode === 'package_specific');\r\n\r\n                if (isSpecificContext && availableItems.length === 1) {\r\n                    var onlyItem = availableItems[0];\r\n\r\n                    if (onlyItem.package_id) {\r\n                        setSelection(onlyItem);\r\n                    } else {\r\n                        selectedRoomQuantities[onlyItem.room_id] = Math.max(1, state.rooms || 1);\r\n                        syncRoomSelectionState();\r\n                    }\r\n\r\n                    if (selectedItem) {\r\n                        result.innerHTML = renderAlert(\r\n                            'success',\r\n                            currentBookingType() === 'day_use' ? i18n.selection_available_day_use : i18n.selection_available_stay,\r\n                            summaryText\r\n                        );\r\n\r\n                        window.setTimeout(function () {\r\n                            if (typeof form.requestSubmit === 'function') {\r\n                                form.requestSubmit(submitBtn);\r\n                            } else {\r\n                                submitBtn.click();\r\n                            }\r\n                        }, 50);\r\n\r\n                        return;\r\n                    }\r\n                }\r\n\r\n                renderChoices(availableItems, summaryText);\r\n            }\r\n\r\n            function openGuests() {\r\n                guestsPanel.classList.add('is-open');\r\n                guestsField.setAttribute('aria-expanded', 'true');\r\n\r\n                if (isMobileUI()) {\r\n                    setMobileOverlay(true);\r\n                    setBodyLock(true);\r\n                    guestsPanel.style.display = 'flex';\r\n                    guestsPanel.style.left = '12px';\r\n                    guestsPanel.style.right = '12px';\r\n                    guestsPanel.style.top = '12px';\r\n                    guestsPanel.style.bottom = '12px';\r\n                    void guestsPanel.offsetHeight;\r\n                }\r\n            }\r\n            function closeGuests() {\r\n                guestsPanel.classList.remove('is-open');\r\n                guestsField.setAttribute('aria-expanded', 'false');\r\n                if (isMobileUI()) {\r\n                    setMobileOverlay(false);\r\n                    setBodyLock(false);\r\n                }\r\n            }\r\n            function toggleGuests() {\r\n                if (guestsPanel.classList.contains('is-open')) closeGuests();\r\n                else openGuests();\r\n            }\r\n            function isValidDayUseSelection() {\r\n                return !!hBookingDate.value;\r\n            }\r\n            function isValidStaySelection() {\r\n                return !!hCheckIn.value && !!hCheckOut.value;\r\n            }\r\n            function validateBeforeCheck() {\r\n                if (currentBookingType() === 'day_use') {\r\n                    return isValidDayUseSelection() ? '' : i18n.invalid_date_required;\r\n                }\r\n                if (!isValidStaySelection()) {\r\n                    return i18n.invalid_range_required;\r\n                }\r\n                return getPackageRangeValidationMessage(hCheckIn.value || '', hCheckOut.value || '');\r\n            }\r\n            function lockPayAndResetOptionals() {\r\n                setPayLocked();\r\n                setSelection(null);\r\n                result.innerHTML = '';\r\n            }\r\n            function buildData() {\r\n                var fd = new FormData();\r\n                fd.append('action', ajaxAction);\r\n                fd.append('nonce', nonce);\r\n                fd.append('context_mode', contextData.mode || 'rooms_general');\r\n                fd.append('room_code', contextData.room_code || '');\r\n                fd.append('package_code', contextData.package_code || '');\r\n                fd.append('adults', hAdults.value || '1');\r\n                fd.append('children', hChildren.value || '0');\r\n                fd.append('children_cat_1', hChildrenCat1 ? (hChildrenCat1.value || '0') : '0');\r\n                fd.append('children_cat_2', hChildrenCat2 ? (hChildrenCat2.value || '0') : '0');\r\n                if (currentBookingType() === 'day_use') {\r\n                    fd.append('booking_date', hBookingDate.value || '');\r\n                } else {\r\n                    fd.append('check_in', hCheckIn.value || '');\r\n                    fd.append('check_out', hCheckOut.value || '');\r\n                    fd.append('rooms', hRooms.value || '1');\r\n                }\r\n                return fd;\r\n            }\r\n\r\n            guestsField.addEventListener('click', function(e) {\r\n                e.preventDefault();\r\n                e.stopPropagation();\r\n                toggleGuests();\r\n            });\r\n            guestsField.addEventListener('keydown', function(e) {\r\n                if (e.key === 'Enter' || e.key === ' ') {\r\n                    e.preventDefault();\r\n                    toggleGuests();\r\n                }\r\n                if (e.key === 'Escape') {\r\n                    e.preventDefault();\r\n                    closeGuests();\r\n                }\r\n            });\r\n            document.addEventListener('click', function(e) {\r\n                if (!guestsPanel.classList.contains('is-open')) return;\r\n                if (root.contains(e.target) && (guestsPanel.contains(e.target) || guestsField.contains(e.target))) return;\r\n                closeGuests();\r\n            });\r\n            if (mobileOverlay) {\r\n                mobileOverlay.addEventListener('click', function() { closeGuests(); });\r\n            }\r\n            if (guestsCloseBtn) {\r\n                guestsCloseBtn.addEventListener('click', closeGuests);\r\n            }\r\n            if (guestsDoneBtn) {\r\n                guestsDoneBtn.addEventListener('click', closeGuests);\r\n            }\r\n            guestsPanel.addEventListener('click', function(e) {\r\n                var btn = e.target.closest('button');\r\n                if (!btn) return;\r\n                var row = e.target.closest('.gpbf-guests-row');\r\n                if (!row) return;\r\n                var k = row.getAttribute('data-k');\r\n\r\n                if (btn.classList.contains('gpbf-minus')) {\r\n                    if (k === 'adults' && state.adults > 1) state.adults--;\r\n                    if (k === 'children_cat_1' && state.children_cat_1 > 0) state.children_cat_1--;\r\n                    if (k === 'children_cat_2' && state.children_cat_2 > 0) state.children_cat_2--;\r\n                    if (k === 'rooms' && !shouldHideRoomsSelector() && state.rooms > 1) state.rooms--;\r\n                }\r\n                if (btn.classList.contains('gpbf-plus')) {\r\n                    if (k === 'adults') state.adults++;\r\n                    if (k === 'children_cat_1') state.children_cat_1++;\r\n                    if (k === 'children_cat_2') state.children_cat_2++;\r\n                    if (k === 'rooms' && !shouldHideRoomsSelector()) state.rooms++;\r\n                }\r\n                syncGuests();\r\n                lockPayAndResetOptionals();\r\n            });\r\n\r\n            optionalsList.addEventListener('click', function(e) {\r\n                var plus = e.target.closest('.gpbf-opt-plus');\r\n                var minus = e.target.closest('.gpbf-opt-minus');\r\n                if (!plus && !minus) return;\r\n\r\n                var row = e.target.closest('.gpbf-optional');\r\n                if (!row) return;\r\n\r\n                var inp = row.querySelector('input[type=\"hidden\"]');\r\n                var cnt = row.querySelector('.gpbf-optional__count');\r\n                var v = inp ? parseInt(inp.value || '0', 10) : 0;\r\n                if (!isFinite(v) || v < 0) v = 0;\r\n\r\n                var maxPer = getMaxPerOptional();\r\n                if (plus) {\r\n                    if (maxPer > 0 && v >= maxPer) {\r\n                        optLimitHit = true;\r\n                        updateTotals();\r\n                        refreshPlusDisabled();\r\n                        return;\r\n                    }\r\n                    v++;\r\n                    optLimitHit = false;\r\n                }\r\n                if (minus) {\r\n                    if (v > 0) v--;\r\n                    optLimitHit = false;\r\n                }\r\n\r\n                if (inp) inp.value = String(v);\r\n                if (cnt) cnt.textContent = String(v);\r\n\r\n                updateTotals();\r\n                refreshPlusDisabled();\r\n            });\r\n\r\n            optionalsToggle.addEventListener('click', function() {\r\n                var hidden = optionalsList.querySelectorAll('.gpbf-optional--hidden');\r\n                if (!hidden.length) return;\r\n\r\n                var showingAll = Array.prototype.some.call(hidden, function(row) {\r\n                    return window.getComputedStyle(row).display !== 'none';\r\n                });\r\n\r\n                Array.prototype.forEach.call(hidden, function(row) {\r\n                    row.style.display = showingAll ? 'none' : 'flex';\r\n                });\r\n\r\n                optionalsToggle.querySelector('.gp-btn__text').textContent = showingAll ? i18n.view_all_optionals : i18n.view_fewer_optionals;\r\n            });\r\n\r\n            function monthLabelRo(d) {\r\n                var mo = i18n.months_full;\r\n                return mo[d.getMonth()] + ' ' + d.getFullYear();\r\n            }\r\n            function destroyFlatpickr() {\r\n                if (fp && typeof fp.destroy === 'function') fp.destroy();\r\n                fp = null;\r\n            }\r\n            function ensureCalendarMobileChrome(instance) {\r\n                if (!instance || !instance.calendarContainer) return;\r\n                var calendar = instance.calendarContainer;\r\n                var stickyHeader = calendar.querySelector('.gpbf-fp-mobile-sticky-header');\r\n                if (!stickyHeader) {\r\n                    stickyHeader = document.createElement('div');\r\n                    stickyHeader.className = 'gpbf-fp-mobile-sticky-header';\r\n                    calendar.insertBefore(stickyHeader, calendar.firstChild);\r\n                }\r\n                \r\n\t\t\t\tvar closeBtn = calendar.querySelector('.gpbf-fp-mobile-close');\r\nif (closeBtn && closeBtn.parentNode) {\r\n    closeBtn.parentNode.removeChild(closeBtn);\r\n}\r\ncloseBtn = null;\r\n\t\t\t\t\r\n                var weekdaysBar = calendar.querySelector('.gpbf-fp-mobile-weekdays');\r\n                if (!weekdaysBar) {\r\n                    weekdaysBar = document.createElement('div');\r\n                    weekdaysBar.className = 'gpbf-fp-mobile-weekdays';\r\n                    weekdaysBar.setAttribute('aria-hidden', 'true');\r\n                    weekdaysBar.innerHTML = i18n.weekday_initials.map(function(w){ return '<span>' + escapeHtml(w) + '<\/span>'; }).join('');\r\n                }\r\n                if (closeBtn && closeBtn.parentNode !== stickyHeader) stickyHeader.appendChild(closeBtn);\r\n                if (weekdaysBar.parentNode !== stickyHeader) stickyHeader.appendChild(weekdaysBar);\r\n\r\n                var actions = calendar.querySelector('.gpbf-fp-mobile-actions');\r\n                if (!actions) {\r\n                    actions = document.createElement('div');\r\n                    actions.className = 'gpbf-fp-mobile-actions';\r\n                    var doneBtn = document.createElement('button');\r\n                    doneBtn.type = 'button';\r\n                    doneBtn.className = 'gp-btn gp-btn--primary';\r\n                    doneBtn.innerHTML = '<span class=\"gp-btn__text\">' + escapeHtml(i18n.done) + '<\/span>';\r\n                    doneBtn.addEventListener('click', function() { instance.close(); });\r\n                    actions.appendChild(doneBtn);\r\n                    calendar.appendChild(actions);\r\n                }\r\n            }\r\n            function syncMobileCalendarLayout(instance) {\r\n                if (!instance || !instance.calendarContainer) return;\r\n                var calendar = instance.calendarContainer;\r\n                var isMobile = isMobileUI();\r\n                calendar.classList.toggle('gpbf-fp-mobile-mode', isMobile);\r\n                Array.prototype.forEach.call(calendar.querySelectorAll('.gpbf-fp-mobile-month-title'), function(node) {\r\n                    node.parentNode.removeChild(node);\r\n                });\r\n                var weekdaysBar = calendar.querySelector('.gpbf-fp-mobile-weekdays');\r\n                if (weekdaysBar) weekdaysBar.style.display = isMobile ? 'flex' : 'none';\r\n                var nativeWeekdays = calendar.querySelector('.flatpickr-weekdays');\r\n                if (nativeWeekdays) nativeWeekdays.style.display = isMobile ? 'none' : '';\r\n                if (!isMobile) return;\r\n                var dayContainers = calendar.querySelectorAll('.dayContainer');\r\n                Array.prototype.forEach.call(dayContainers, function(container, index) {\r\n                    var title = document.createElement('div');\r\n                    title.className = 'gpbf-fp-mobile-month-title';\r\n                    title.textContent = monthLabelRo(new Date(instance.currentYear, instance.currentMonth + index, 1));\r\n                    container.insertBefore(title, container.firstChild);\r\n                });\r\n            }\r\n            var isApplyingPackageAutoSelection = false;\r\n            function buildFlatpickrConfig(mode) {\r\n                var mobile = isMobileUI();\r\n                var isDayUse = mode === 'single';\r\n                var todayDate = ymdToDate(getTodayYMD()) || new Date();\r\n                var packageJumpDate = packageRulesApply() ? getEarliestPackageCalendarDate() : null;\r\n                return {\r\n                    mode: mode,\r\n                    dateFormat: 'Y-m-d',\r\n                    monthSelectorType: 'static',\r\n                    showMonths: mobile ? 12 : 2,\r\n                    static: true,\r\n                    animate: false,\r\n                    disableMobile: true,\r\n                    allowInput: false,\r\n                    clickOpens: true,\r\n                    closeOnSelect: false,\r\n                    minDate: packageJumpDate || todayDate,\r\n                    disable: packageRulesApply() ? [function(date) {\r\n                        var ymd = toYMD(date);\r\n                        if (compareYMD(ymd, getTodayYMD()) < 0) return true;\r\n                        return !packageCalendarRules.some(function(rule) {\r\n                            return isWithinPackageInterval(rule, ymd);\r\n                        });\r\n                    }] : [],\r\n                    defaultDate: isDayUse\r\n                        ? (isValidDayUseSelection() ? hBookingDate.value : null)\r\n                        : (isValidStaySelection() ? [hCheckIn.value, hCheckOut.value] : null),\r\n                    onReady: function(selectedDates, dateStr, instance) {\r\n    ensureCalendarMobileChrome(instance);\r\n    syncMobileCalendarLayout(instance);\r\n\r\n    if (packageRulesApply() && packageJumpDate && !isValidStaySelection()) {\r\n        instance.jumpToDate(packageJumpDate);\r\n        setTimeout(function() {\r\n            syncMobileCalendarLayout(instance);\r\n        }, 0);\r\n    }\r\n\r\n    if (isDayUse) {\r\n        hBookingDate.value = (selectedDates && selectedDates.length === 1) ? toYMD(selectedDates[0]) : '';\r\n    } else {\r\n        hCheckIn.value = (selectedDates && selectedDates.length >= 1) ? toYMD(selectedDates[0]) : '';\r\n        hCheckOut.value = (selectedDates && selectedDates.length >= 2) ? toYMD(selectedDates[1]) : '';\r\n    }\r\n    syncDateLabel();\r\n},\r\n                    onOpen: function(selectedDates, dateStr, instance) {\r\n    ensureCalendarMobileChrome(instance);\r\n    syncMobileCalendarLayout(instance);\r\n\r\n    if (packageRulesApply() && packageJumpDate && !hCheckIn.value) {\r\n        instance.jumpToDate(packageJumpDate);\r\n        setTimeout(function() {\r\n            syncMobileCalendarLayout(instance);\r\n        }, 0);\r\n    }\r\n\r\n    if (isMobileUI()) {\r\n        setMobileOverlay(true);\r\n        setBodyLock(true);\r\n    }\r\n},\r\n                    onClose: function() {\r\n                        if (isMobileUI()) {\r\n                            setMobileOverlay(false);\r\n                            setBodyLock(false);\r\n                        }\r\n                    },\r\n                    onMonthChange: function(selectedDates, dateStr, instance) {\r\n                        syncMobileCalendarLayout(instance);\r\n                    },\r\n                    onYearChange: function(selectedDates, dateStr, instance) {\r\n                        syncMobileCalendarLayout(instance);\r\n                    },\r\n                    onValueUpdate: function(selectedDates, dateStr, instance) {\r\n                        syncMobileCalendarLayout(instance);\r\n                    },\r\n                    onChange: function(selectedDates, dateStr, instance) {\r\n                        if (isDayUse) {\r\n                            hBookingDate.value = (selectedDates && selectedDates.length === 1) ? toYMD(selectedDates[0]) : '';\r\n                            syncDateLabel();\r\n                            lockPayAndResetOptionals();\r\n                            return;\r\n                        }\r\n\r\n                        hCheckIn.value = (selectedDates && selectedDates.length >= 1) ? toYMD(selectedDates[0]) : '';\r\n                        hCheckOut.value = (selectedDates && selectedDates.length >= 2) ? toYMD(selectedDates[1]) : '';\r\n\r\nvar packageCalendarWarning = '';\r\nif (packageAutoSelectApplies() && hCheckIn.value) {\r\n    if (isApplyingPackageAutoSelection) {\r\n        syncDateLabel();\r\n        lockPayAndResetOptionals();\r\n        return;\r\n    }\r\n\r\n    var defaultSelection = getDefaultPackageSelection(hCheckIn.value);\r\n\r\n    if (defaultSelection && defaultSelection.check_out) {\r\n        if (selectedDates.length < 2) {\r\n            isApplyingPackageAutoSelection = true;\r\n            instance.setDate([hCheckIn.value, defaultSelection.check_out], true, 'Y-m-d');\r\n            isApplyingPackageAutoSelection = false;\r\n            return;\r\n        }\r\n    } else {\r\n        var hasValidCheckinRule = getMatchingPackageRules(hCheckIn.value, false).length > 0;\r\n\r\n        if (!hasValidCheckinRule) {\r\n            hCheckOut.value = '';\r\n            packageCalendarWarning = getPackageCheckinErrorMessage(hCheckIn.value);\r\n        }\r\n    }\r\n}\r\n\r\nsyncDateLabel();\r\nlockPayAndResetOptionals();\r\nif (packageCalendarWarning) {\r\n    result.innerHTML = renderAlert('warning', i18n.period_unavailable_title, packageCalendarWarning);\r\n}\r\n\t\t\t\t\t\t\r\n                        syncDateLabel();\r\n                        lockPayAndResetOptionals();\r\n                        if (packageCalendarWarning) {\r\n                            result.innerHTML = renderAlert('warning', i18n.period_unavailable_title, packageCalendarWarning);\r\n                        }\r\n                    }\r\n                };\r\n            }\r\n            function initFlatpickr() {\r\n                if (typeof flatpickr !== 'function' || !dateInput) {\r\n                    syncDateLabel();\r\n                    return;\r\n                }\r\n                destroyFlatpickr();\r\n                try {\r\n                    if (currentLanguage === 'ro' && flatpickr.l10ns && flatpickr.l10ns.ro) {\r\n                        flatpickr.localize(flatpickr.l10ns.ro);\r\n                    } else if (flatpickr.l10ns && flatpickr.l10ns.default) {\r\n                        flatpickr.localize(flatpickr.l10ns.default);\r\n                    }\r\n                } catch (e) {}\r\n                fp = flatpickr(dateInput, buildFlatpickrConfig(currentBookingType() === 'day_use' ? 'single' : 'range'));\r\n            }\r\n\r\n           \r\nif (contactCheckBtn) {\r\n    contactCheckBtn.addEventListener('click', function() {\r\n        if (!validateContactStep()) {\r\n            return;\r\n        }\r\n\r\n        syncContactHiddenFields();\r\n\r\n        contactCheckBtn.disabled = true;\r\n\r\n        try {\r\n            \/\/ Cerem mai \u00eent\u00e2i un nonce proasp\u0103t de la server,\r\n            \/\/ astfel \u00eenc\u00e2t s\u0103 func\u021bioneze corect \u0219i pe pagini servite din cache.\r\n            var nonceFormData = new FormData();\r\n            nonceFormData.append('action', 'gpbe_get_fresh_nonce');\r\n\r\n            fetch(ajaxUrl, {\r\n                method: 'POST',\r\n                credentials: 'same-origin',\r\n                body: nonceFormData\r\n            })\r\n            .then(function(r) {\r\n                return r.json();\r\n            })\r\n            .then(function(nonceResponse) {\r\n                var freshNonce = (nonceResponse && nonceResponse.nonce) ? nonceResponse.nonce : nonce;\r\n\r\n                var leadFormData = new FormData();\r\n                leadFormData.append('action', 'gpbe_leads_capture_contact');\r\n                leadFormData.append('nonce', freshNonce);\r\n                leadFormData.append('gpb_contact_name', hiddenContactName ? hiddenContactName.value : '');\r\n                leadFormData.append('gpb_contact_email', hiddenContactEmail ? hiddenContactEmail.value : '');\r\n                leadFormData.append('gpb_contact_phone', hiddenContactPhone ? hiddenContactPhone.value : '');\r\n                leadFormData.append('gpb_context_mode', contextData && contextData.mode ? contextData.mode : '');\r\n                leadFormData.append('gpb_room_code', contextData && contextData.room_code ? contextData.room_code : '');\r\n                leadFormData.append('gpb_package_code', contextData && contextData.package_code ? contextData.package_code : '');\r\n\r\n                return fetch(ajaxUrl, {\r\n                    method: 'POST',\r\n                    credentials: 'same-origin',\r\n                    body: leadFormData\r\n                });\r\n            })\r\n            .then(function(r) {\r\n                return r.text().then(function(payload) {\r\n                    return {\r\n                        ok: r.ok,\r\n                        status: r.status,\r\n                        payload: payload\r\n                    };\r\n                });\r\n            })\r\n            .then(function(response) {\r\n                var parsed = null;\r\n\r\n                try {\r\n                    parsed = response.payload ? JSON.parse(response.payload) : null;\r\n                } catch (e) {\r\n                    parsed = null;\r\n                }\r\n\r\n                if (!response.ok) {\r\n                    if (parsed && parsed.message) {\r\n                        throw new Error(parsed.message);\r\n                    }\r\n                    throw new Error('http_' + response.status);\r\n                }\r\n\r\n                if (!parsed) {\r\n                    throw new Error('invalid_json');\r\n                }\r\n\r\n                if (!parsed.ok) {\r\n                    throw new Error(parsed.message ? parsed.message : 'lead_capture_failed');\r\n                }\r\n\r\n                syncContactHiddenFields();\r\n                setBookingStepVisible(true);\r\n            })\r\n            .catch(function(err) {\r\n                console.warn('GPBE lead capture failed', err);\r\n                result.innerHTML = renderAlert(\r\n                    'error',\r\n                    uiMessages.errorTitle,\r\n                    (err && err.message) ? err.message : i18n.contact_data_error\r\n                );\r\n            })\r\n            .finally(function() {\r\n                contactCheckBtn.disabled = false;\r\n            });\r\n\r\n        } catch (err) {\r\n            console.warn('GPBE lead capture error', err);\r\n            result.innerHTML = renderAlert(\r\n                'error',\r\n                uiMessages.errorTitle,\r\n                i18n.contact_data_error\r\n            );\r\n            contactCheckBtn.disabled = false;\r\n        }\r\n    });\r\n}\r\n\t\t\t\t\t\t\t\t\t\t\t\t   \r\n            checkBtn.addEventListener('click', function() {\r\n                var validationMessage = validateBeforeCheck();\r\n                if (validationMessage) {\r\n                    result.innerHTML = renderAlert('error', uiMessages.errorTitle, validationMessage);\r\n                    setPayLocked();\r\n                    setOptionalsVisible(false);\r\n                    return;\r\n                }\r\n\r\n                setBusy(true);\r\n                result.innerHTML = renderAlert('info', uiMessages.loadingTitle, uiMessages.loadingText);\r\n                setPayLocked();\r\n                setOptionalsVisible(false);\r\n\r\n                fetch(ajaxUrl, {\r\n                    method: 'POST',\r\n                    body: buildData(),\r\n                    credentials: 'same-origin'\r\n                })\r\n                .then(function(r) {\r\n                    if (!r.ok) throw new Error('http_' + r.status);\r\n                    return r.text();\r\n                })\r\n                .then(function(payload) {\r\n                    try {\r\n                        return JSON.parse(payload);\r\n                    } catch (e) {\r\n                        throw new Error('invalid_json');\r\n                    }\r\n                })\r\n                .then(function(res) {\r\n                    applyAjaxResult(res);\r\n                })\r\n                .catch(function() {\r\n                    result.innerHTML = renderAlert('error', uiMessages.errorTitle, uiMessages.genericError);\r\n                    setPayLocked();\r\n                    setOptionalsVisible(false);\r\n                    toastError(uiMessages.genericError);\r\n                })\r\n                .finally(function() {\r\n                    setBusy(false);\r\n                });\r\n            });\r\n\r\n            form.addEventListener('submit', function(e) {\r\n                syncContactHiddenFields();\r\n\r\n                if (bookingStep && bookingStep.classList.contains('gpbf-hidden')) {\r\n                    e.preventDefault();\r\n                    if (validateContactStep()) {\r\n                        setBookingStepVisible(true);\r\n                    }\r\n                    return;\r\n                }\r\n\r\n                if (submitBtn.disabled) {\r\n                    e.preventDefault();\r\n                    return;\r\n                }\r\n                var validationMessage = validateBeforeCheck();\r\n                if (validationMessage) {\r\n                    e.preventDefault();\r\n                    result.innerHTML = renderAlert('error', uiMessages.errorTitle, validationMessage);\r\n                    return;\r\n                }\r\n                if (isRoomResultsMode()) {\r\n                    var roomSummary = getRoomSelectionCapacitySummary();\r\n                    var roomMessage = getRoomSelectionStatusMessage(roomSummary);\r\n                    if (roomMessage) {\r\n                        e.preventDefault();\r\n                        result.innerHTML = renderAlert('error', uiMessages.errorTitle, roomMessage);\r\n                        return;\r\n                    }\r\n                }\r\n\r\n                if (!selectedItem) {\r\n                    e.preventDefault();\r\n                    result.innerHTML = renderAlert('error', uiMessages.errorTitle, i18n.choose_option_before_continue);\r\n                }\r\n            });\r\n\r\n            var state = {\r\n                adults: parseInt(hAdults.value || '1', 10) || 1,\r\n                children_cat_1: parseInt(hChildrenCat1 ? (hChildrenCat1.value || '0') : '0', 10) || 0,\r\n                children_cat_2: parseInt(hChildrenCat2 ? (hChildrenCat2.value || '0') : '0', 10) || 0,\r\n                rooms: parseInt(hRooms.value || '1', 10) || 1\r\n            };\r\n            if (shouldHideRoomsSelector()) {\r\n                state.rooms = 1;\r\n                hRooms.value = '1';\r\n            }\r\n            ensureRoomsVisibility();\r\n\r\n            \/\/ S\u0103rim direct la booking-step doar dac\u0103 datele de contact sunt deja\r\n            \/\/ completate (f\u0103r\u0103 focus automat, ca s\u0103 nu sar\u0103 pagina la formular).\r\n            setBookingStepVisible(contactStepIsCompleted(), { focus: false });\r\n            syncGuests();\r\n            setPayLocked();\r\n            setOptionalsVisible(false);\r\n            updateTotals();\r\n\r\n            var lastMobileMode = isMobileUI();\r\n            window.addEventListener('resize', function() {\r\n                var nowMobileMode = isMobileUI();\r\n                if (nowMobileMode !== lastMobileMode) {\r\n                    lastMobileMode = nowMobileMode;\r\n                    initFlatpickr();\r\n                    closeGuests();\r\n                }\r\n            });\r\n        })();\r\n        <\/script>\r\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<div class=\"elementor-element elementor-element-bbdc849 e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-parent\" data-id=\"bbdc849\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-975284f e-con-full elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-mobile e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"975284f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-609e91a elementor-widget elementor-widget-image\" data-id=\"609e91a\" 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 decoding=\"async\" width=\"500\" height=\"500\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/02\/Youness-Clinic-@-Favicon-Transparent-PNG.png\" class=\"attachment-large size-large wp-image-704\" alt=\"\" srcset=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/02\/Youness-Clinic-@-Favicon-Transparent-PNG.png 500w, https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/02\/Youness-Clinic-@-Favicon-Transparent-PNG-175x175.png 175w, https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/02\/Youness-Clinic-@-Favicon-Transparent-PNG-300x300.png 300w, https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/02\/Youness-Clinic-@-Favicon-Transparent-PNG-180x180.png 180w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a3ae71c elementor-widget elementor-widget-gva-heading-block\" data-id=\"a3ae71c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"gva-heading-block.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"gva-element-gva-heading-block gva-element\">   <div class=\"align-center style-1 widget gsc-heading box-align-left auto-responsive\">\r\n      <div class=\"content-inner\">\r\n         \r\n                  \r\n         <div class=\"sub-title\"><span class=\"tagline\">OAZA DE NATURA SI ECHILIBRU<\/span><\/div>  \r\n         \r\n                     <h2 class=\"title\">\r\n               <span>Experiente optionale care completeaza sejurul tau<\/span>\r\n            <\/h2>\r\n         \r\n                  \r\n                     <div class=\"title-desc\">Optionalele pot fi selectate direct in procesul de rezervare. In momentul in care completati rezervarea, <br>\nveti avea posibilitatea sa alegeti serviciile optionale dorite si sa le adaugati la pachet.<\/div>\r\n         \r\n         \r\n      <\/div>\r\n   <\/div>\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7d12b1c e-con-full elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-mobile e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-parent\" data-id=\"7d12b1c\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-9c63f95 e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"9c63f95\" 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-55e04c9 elementor-widget__width-initial elementor-widget elementor-widget-gva-services\" data-id=\"55e04c9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"gva-services.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"gva-element-gva-services gva-element\">\r\n<div class=\"gsc-services layout-grid\">\r\n   <div class=\"lg-block-grid-2 md-block-grid-2 sm-block-grid-2 xs-block-grid-1 xx-block-grid-1\">\r\n      <div class=\"item-columns\">\r\n \r\n<div class=\"service-two__single\"><div class=\"service-two__image-inner\"><div class=\"service-two__image\"><img decoding=\"async\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/500903-1080x1350-1.jpg\" alt=\"Picnic in the forest\"\/><\/div><h4 class=\"service-two__title\"><span>Picnic in the forest<\/span><\/h4><\/div><div class=\"service-two__content\"><div class=\"service-two__desc\">Timpul petrecut in natura, singuri sau alaturi de oameni dragi, este o sursa de vibratii inalte si momente memorabile. Am creat experienta \u201cPicnic in the Forest\u201d pentru a transforma o zi obisnuita intr-o amintire speciala. <br><br>\n\n\ud83c\udf43 Cos de picnic complet echipat, cu bunatati si toate cele necesare pentru o experienta relaxanta in padurea noastra privata, langa raul magic. <br>\n\n* paturica si pernute<br>\n* aranjament special in padure<br><br>\n\n<strong>Investitia in experienta: 50 EUR\/cos\/2 persoane<\/strong><br><br>\n\n<a class=\"btn-theme\" href=\"#detaliilerezervarii\"\nstyle=\"background:#ffffff; border:1px solid #d1b177; color:#d1b177; padding:12px 28px;\"\nonmouseover=\"this.style.background='#d1b177'; this.style.color='#ffffff'; this.style.borderColor='#d1b177';\"\nonmouseout=\"this.style.background='#ffffff'; this.style.color='#d1b177'; this.style.borderColor='#d1b177';\">\nRezerva Acum\n<\/a>\n<\/div><\/div><\/div>\r\n\r\n <\/div><div class=\"item-columns\">\r\n \r\n<div class=\"service-two__single\"><div class=\"service-two__image-inner\"><div class=\"service-two__image\"><img decoding=\"async\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/510903-1080x1350-1.jpg\" alt=\"Cinema in livada\"\/><\/div><h4 class=\"service-two__title\"><span>Cinema in livada<\/span><\/h4><\/div><div class=\"service-two__content\"><div class=\"service-two__desc\">Proiectii de documentare inspirationale, intr-un cadru relaxant in aer liber. <br>\nInvitatii pot alege dintr-o selectie de filme si documentare cu teme de dezvoltare personala, constientizare si echilibru interior. <br><br>\n\nSelectia include titluri precum: <br>\n\u2022 The Shift \u2013 Wayne Dyer<br>\n\u2022 Documentare din seria Super Soul<br><br>\n\nO experienta gandita pentru inspiratie, reflectie si momente de liniste petrecute sub cerul liber. <br><br>\n\n<a class=\"btn-theme\" href=\"#detaliilerezervarii\"\nstyle=\"background:#ffffff; border:1px solid #d1b177; color:#d1b177; padding:12px 28px;\"\nonmouseover=\"this.style.background='#d1b177'; this.style.color='#ffffff'; this.style.borderColor='#d1b177';\"\nonmouseout=\"this.style.background='#ffffff'; this.style.color='#d1b177'; this.style.borderColor='#d1b177';\">\nRezerva Acum\n<\/a>\n\n<\/div><\/div><\/div>\r\n\r\n <\/div>   <\/div>\r\n<\/div><\/div>\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<div class=\"elementor-element elementor-element-b941fa0 e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-parent\" data-id=\"b941fa0\" 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-26f3d1b elementor-widget elementor-widget-spacer\" data-id=\"26f3d1b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/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<div class=\"elementor-element elementor-element-56e06ab e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-parent\" data-id=\"56e06ab\" 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-9c6ee28 e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"9c6ee28\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-7a3a9e8 e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"7a3a9e8\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9defb47 elementor-widget elementor-widget-image\" data-id=\"9defb47\" 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 decoding=\"async\" width=\"500\" height=\"500\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/02\/Youness-Clinic-@-Favicon-Transparent-PNG.png\" class=\"attachment-large size-large wp-image-704\" alt=\"\" srcset=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/02\/Youness-Clinic-@-Favicon-Transparent-PNG.png 500w, https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/02\/Youness-Clinic-@-Favicon-Transparent-PNG-175x175.png 175w, https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/02\/Youness-Clinic-@-Favicon-Transparent-PNG-300x300.png 300w, https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/02\/Youness-Clinic-@-Favicon-Transparent-PNG-180x180.png 180w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-87a81cb elementor-widget elementor-widget-gva-heading-block\" data-id=\"87a81cb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"gva-heading-block.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"gva-element-gva-heading-block gva-element\">   <div class=\"align-center style-1 widget gsc-heading box-align-left auto-responsive\">\r\n      <div class=\"content-inner\">\r\n         \r\n                  \r\n         <div class=\"sub-title\"><span class=\"tagline\">1 DAY PASS<\/span><\/div>  \r\n         \r\n                     <h2 class=\"title\">\r\n               <span>Facilitati 1 Day Spa & Relax, <br>pentru cei ce vor sa vina doar o zi<\/span>\r\n            <\/h2>\r\n         \r\n                  \r\n                     <div class=\"title-desc\">Si o singura zi oferita noua este un cadou de care sufletul nostru are atat de multa nevoie.<br>\nNu sunt multe locuri unde poti veni pentru o zi de relaxare si sa ai parte de regim sanatos, apa Kangen, facilitati spa si natura autentica intr-un cadru linistitor\n<\/div>\r\n         \r\n         \r\n      <\/div>\r\n   <\/div>\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3d7abd3 e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"3d7abd3\" 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-a0fb5d3 elementor-widget elementor-widget-gva-image-accordion\" data-id=\"a0fb5d3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"gva-image-accordion.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"gva-element-gva-image-accordion gva-element\">\r\n<div class=\"el-image-accordion\">\r\n   <div class=\"images-accordion-wrap\">\r\n       \r\n         <div class=\"image-accordion-item\">\r\n            <div class=\"accordion-one__image\"><img decoding=\"async\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/105-1200x628-1.jpg\" alt=\"PISCINA\"\/><\/div>            <div class=\"accordion-one__single\">\r\n               <div class=\"accordion-one__content\">\r\n         \t\t\t<div class=\"accordion-one__content-inner\">\r\n                     <h4 class=\"accordion-one__title\"><span>PISCINA<\/span><\/h4><div class=\"accordion-one__desc\">Oaza de relaxare in aer liber<\/div>         \t\t\t<\/div>\r\n                                    <a class=\"accordion-one__mobile-control\" href=\"#\"><i class=\"fas fa-expand-alt\"><\/i><\/a>\r\n         \t   <\/div>\r\n            <\/div>\r\n      \t<\/div>\r\n       \r\n         <div class=\"image-accordion-item\">\r\n            <div class=\"accordion-one__image\"><img decoding=\"async\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/99-1200x628-1.jpg\" alt=\"MASA &amp; HIDRATARE\"\/><\/div>            <div class=\"accordion-one__single\">\r\n               <div class=\"accordion-one__content\">\r\n         \t\t\t<div class=\"accordion-one__content-inner\">\r\n                     <h4 class=\"accordion-one__title\"><span>MASA &amp; HIDRATARE<\/span><\/h4><div class=\"accordion-one__desc\">1 masa sanatoasa vegetariana & <br> apa Kangen<\/div>         \t\t\t<\/div>\r\n                                    <a class=\"accordion-one__mobile-control\" href=\"#\"><i class=\"fas fa-expand-alt\"><\/i><\/a>\r\n         \t   <\/div>\r\n            <\/div>\r\n      \t<\/div>\r\n       \r\n         <div class=\"image-accordion-item\">\r\n            <div class=\"accordion-one__image\"><img decoding=\"async\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/02\/Youness007.jpg\" alt=\"SAUNA UMEDA\"\/><\/div>            <div class=\"accordion-one__single\">\r\n               <div class=\"accordion-one__content\">\r\n         \t\t\t<div class=\"accordion-one__content-inner\">\r\n                     <h4 class=\"accordion-one__title\"><span>SAUNA UMEDA<\/span><\/h4><div class=\"accordion-one__desc\">Cu inhalari de propolis, polen, miere <br> si uleiuri esentiale<\/div>         \t\t\t<\/div>\r\n                                    <a class=\"accordion-one__mobile-control\" href=\"#\"><i class=\"fas fa-expand-alt\"><\/i><\/a>\r\n         \t   <\/div>\r\n            <\/div>\r\n      \t<\/div>\r\n       \r\n         <div class=\"image-accordion-item active default-active\">\r\n            <div class=\"accordion-one__image\"><img decoding=\"async\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/02\/Youness008.jpg\" alt=\"SAUNA USCATA\"\/><\/div>            <div class=\"accordion-one__single\">\r\n               <div class=\"accordion-one__content\">\r\n         \t\t\t<div class=\"accordion-one__content-inner\">\r\n                     <h4 class=\"accordion-one__title\"><span>SAUNA USCATA<\/span><\/h4><div class=\"accordion-one__desc\">Detoxifiere si revitalizare completa<\/div>         \t\t\t<\/div>\r\n                                    <a class=\"accordion-one__mobile-control\" href=\"#\"><i class=\"fas fa-expand-alt\"><\/i><\/a>\r\n         \t   <\/div>\r\n            <\/div>\r\n      \t<\/div>\r\n       \r\n         <div class=\"image-accordion-item\">\r\n            <div class=\"accordion-one__image\"><img decoding=\"async\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/Jacuzzi.jpeg\" alt=\"JACUZZI\"\/><\/div>            <div class=\"accordion-one__single\">\r\n               <div class=\"accordion-one__content\">\r\n         \t\t\t<div class=\"accordion-one__content-inner\">\r\n                     <h4 class=\"accordion-one__title\"><span>JACUZZI<\/span><\/h4><div class=\"accordion-one__desc\">Relaxare pentru corp si minte<\/div>         \t\t\t<\/div>\r\n                                    <a class=\"accordion-one__mobile-control\" href=\"#\"><i class=\"fas fa-expand-alt\"><\/i><\/a>\r\n         \t   <\/div>\r\n            <\/div>\r\n      \t<\/div>\r\n       \r\n         <div class=\"image-accordion-item\">\r\n            <div class=\"accordion-one__image\"><img decoding=\"async\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/96-1200x628-1.jpg\" alt=\"BIBLIOTECA\"\/><\/div>            <div class=\"accordion-one__single\">\r\n               <div class=\"accordion-one__content\">\r\n         \t\t\t<div class=\"accordion-one__content-inner\">\r\n                     <h4 class=\"accordion-one__title\"><span>BIBLIOTECA<\/span><\/h4><div class=\"accordion-one__desc\">Pentru momente de retragere<\/div>         \t\t\t<\/div>\r\n                                    <a class=\"accordion-one__mobile-control\" href=\"#\"><i class=\"fas fa-expand-alt\"><\/i><\/a>\r\n         \t   <\/div>\r\n            <\/div>\r\n      \t<\/div>\r\n       \r\n         <div class=\"image-accordion-item\">\r\n            <div class=\"accordion-one__image\"><img decoding=\"async\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/02\/Youness011.jpg\" alt=\"CARDIO ROOM &amp; FITNESS\"\/><\/div>            <div class=\"accordion-one__single\">\r\n               <div class=\"accordion-one__content\">\r\n         \t\t\t<div class=\"accordion-one__content-inner\">\r\n                     <h4 class=\"accordion-one__title\"><span>CARDIO ROOM &amp; FITNESS<\/span><\/h4><div class=\"accordion-one__desc\">Miscare pentru energie zilnica<\/div>         \t\t\t<\/div>\r\n                                    <a class=\"accordion-one__mobile-control\" href=\"#\"><i class=\"fas fa-expand-alt\"><\/i><\/a>\r\n         \t   <\/div>\r\n            <\/div>\r\n      \t<\/div>\r\n       \r\n         <div class=\"image-accordion-item\">\r\n            <div class=\"accordion-one__image\"><img decoding=\"async\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/441004.jpeg\" alt=\"YOGA SANCTUARY\"\/><\/div>            <div class=\"accordion-one__single\">\r\n               <div class=\"accordion-one__content\">\r\n         \t\t\t<div class=\"accordion-one__content-inner\">\r\n                     <h4 class=\"accordion-one__title\"><span>YOGA SANCTUARY<\/span><\/h4><div class=\"accordion-one__desc\">Liniste, respiratie si reconectare<\/div>         \t\t\t<\/div>\r\n                                    <a class=\"accordion-one__mobile-control\" href=\"#\"><i class=\"fas fa-expand-alt\"><\/i><\/a>\r\n         \t   <\/div>\r\n            <\/div>\r\n      \t<\/div>\r\n       \r\n         <div class=\"image-accordion-item\">\r\n            <div class=\"accordion-one__image\"><img decoding=\"async\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/02\/Youness013.jpg\" alt=\"CICLISM RURAL\"\/><\/div>            <div class=\"accordion-one__single\">\r\n               <div class=\"accordion-one__content\">\r\n         \t\t\t<div class=\"accordion-one__content-inner\">\r\n                     <h4 class=\"accordion-one__title\"><span>CICLISM RURAL<\/span><\/h4><div class=\"accordion-one__desc\">Miscare libera in natura<\/div>         \t\t\t<\/div>\r\n                                    <a class=\"accordion-one__mobile-control\" href=\"#\"><i class=\"fas fa-expand-alt\"><\/i><\/a>\r\n         \t   <\/div>\r\n            <\/div>\r\n      \t<\/div>\r\n       \r\n         <div class=\"image-accordion-item\">\r\n            <div class=\"accordion-one__image\"><img decoding=\"async\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/02\/Youness014.jpg\" alt=\"CONEXIUNE CU NATURA\"\/><\/div>            <div class=\"accordion-one__single\">\r\n               <div class=\"accordion-one__content\">\r\n         \t\t\t<div class=\"accordion-one__content-inner\">\r\n                     <h4 class=\"accordion-one__title\"><span>CONEXIUNE CU NATURA<\/span><\/h4><div class=\"accordion-one__desc\">Earthing in gradina si plimbari prin <br> padurea \ninconjurata de rau, printre culturi  <br>  de lavanda, \ntrandafiri si potgoria proprie  <br> cu struguri dulci<\/div>         \t\t\t<\/div>\r\n                                    <a class=\"accordion-one__mobile-control\" href=\"#\"><i class=\"fas fa-expand-alt\"><\/i><\/a>\r\n         \t   <\/div>\r\n            <\/div>\r\n      \t<\/div>\r\n       \r\n   <\/div>\r\n<\/div><\/div>\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 class=\"elementor-element elementor-element-ce7d8ce elementor-widget elementor-widget-menu-anchor\" data-id=\"ce7d8ce\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"menu-anchor.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-menu-anchor\" id=\"1daypass\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6321940 elementor-widget elementor-widget-spacer\" data-id=\"6321940\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-64697bf elementor-widget elementor-widget-spacer\" data-id=\"64697bf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3c0bfb1 elementor-widget elementor-widget-heading\" data-id=\"3c0bfb1\" 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\">O zi dedicata starii de bine, intr-o atmosfera calda si cozy, cu o masa vegetariana sanatoasa, apa Kangen si facilitati SPA de sezon. <br><br>  Costul pachetului: 50EUR\/pers<br><br> Completeza formularul si rezerva:\n\n<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9e9d923 elementor-widget elementor-widget-spacer\" data-id=\"9e9d923\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6c515ea elementor-widget__width-initial elementor-widget elementor-widget-shortcode\" data-id=\"6c515ea\" 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\">        <div id=\"gpbf-root-2\" class=\"gpbe-app gpbf-theme gpbf-wrap gp-ui gpbf-flatpickr\" style=\"--gp-primary:#D1B177;--gp-primary-hover:#9F7F46;--gp-primary-ring:rgba(159, 127, 70, 0.18);--gp-primary-soft:rgba(159, 127, 70, 0.22);--gp-focus-ring:0 0 0 4px rgba(159, 127, 70, 0.18)\" data-gpbf-root>\r\n            <div class=\"gp-card gpbf-card\">\r\n                \r\n                <h2 class=\"gp-h2\">1 Day Spa<\/h2>\r\n\r\n                <form class=\"gp-form\" method=\"post\" action=\"\">\r\n                    <input type=\"hidden\" id=\"gpb_nonce\" name=\"gpb_nonce\" value=\"5b0ad93e18\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/en\/wp-json\/wp\/v2\/pages\/9399\" \/>                    <input type=\"hidden\" name=\"gpb_booking_reserve\" value=\"1\">\r\n                    <input type=\"hidden\" name=\"gpb_context_mode\" value=\"package_specific\">\r\n                    <input type=\"hidden\" name=\"gpb_room_code\" value=\"\">\r\n                    <input type=\"hidden\" name=\"gpb_package_code\" value=\"PCK-MEJTYU\">\r\n                    <input type=\"hidden\" name=\"gpb_selected_room_id\" value=\"\">\r\n                    <input type=\"hidden\" name=\"gpb_selected_package_id\" value=\"\">\r\n                    <input type=\"hidden\" name=\"gpb_selected_rooms_json\" value=\"[]\">\r\n                    <input type=\"hidden\" name=\"gpb_check_in\" value=\"\">\r\n                    <input type=\"hidden\" name=\"gpb_check_out\" value=\"\">\r\n                    <input type=\"hidden\" name=\"gpb_booking_date\" value=\"\">\r\n                    <input type=\"hidden\" name=\"gpb_rooms\" value=\"1\">\r\n                    <input type=\"hidden\" name=\"gpb_adults\" value=\"1\">\r\n                    <input type=\"hidden\" name=\"gpb_children\" value=\"0\">\r\n                    <input type=\"hidden\" name=\"gpb_children_cat_1\" value=\"0\">\r\n                    <input type=\"hidden\" name=\"gpb_children_cat_2\" value=\"0\">\r\n                    <input type=\"hidden\" name=\"gpb_contact_name\" value=\"\">\r\n                    <input type=\"hidden\" name=\"gpb_contact_email\" value=\"\">\r\n                    <input type=\"hidden\" name=\"gpb_contact_phone\" value=\"\">\r\n                    <input type=\"hidden\" name=\"gpb_promo_code\" value=\"\">\r\n                    <input type=\"hidden\" name=\"gpb_promo_lead\" value=\"\">\r\n\r\n                    <div class=\"gpbf-booking-grid\" data-gpbf-contact-step>\r\n                        <div class=\"gpbf-date-wrap\">\r\n                            <input\r\n                                type=\"text\"\r\n                                class=\"gp-input\"\r\n                                name=\"gpb_contact_name_visible\"\r\n                                value=\"\"\r\n                                autocomplete=\"name\"\r\n                                placeholder=\"Name\"\r\n                                aria-label=\"Name\"\r\n                                data-gpbf-contact-name\r\n                            >\r\n                        <\/div>\r\n\r\n                        <div class=\"gpbf-guests-wrap\">\r\n                            <input\r\n                                type=\"email\"\r\n                                class=\"gp-input\"\r\n                                name=\"gpb_contact_email_visible\"\r\n                                value=\"\"\r\n                                autocomplete=\"email\"\r\n                                placeholder=\"Email\"\r\n                                aria-label=\"Email\"\r\n                                data-gpbf-contact-email\r\n                            >\r\n                        <\/div>\r\n\r\n                        <div class=\"gpbf-action\">\r\n                            <input\r\n                                type=\"tel\"\r\n                                class=\"gp-input\"\r\n                                name=\"gpb_contact_phone_visible\"\r\n                                value=\"\"\r\n                                autocomplete=\"tel\"\r\n                                placeholder=\"Phone\"\r\n                                aria-label=\"Phone\"\r\n                                data-gpbf-contact-phone\r\n                            >\r\n                        <\/div>\r\n\r\n                        <div class=\"gpbf-action\">\r\n                            <button type=\"button\" class=\"gp-btn gp-btn--primary\" data-gpbf-contact-check>\r\n                                <span class=\"gp-btn__text\">Continua<\/span>\r\n                            <\/button>\r\n                        <\/div>\r\n                    <\/div>\r\n\r\n                    <div class=\"gpbf-booking-grid gpbf-booking-grid--3col gpbf-hidden\" data-gpbf-booking-step>\r\n                        <div class=\"gpbf-date-wrap\">\r\n                            <input\r\n                                type=\"text\"\r\n                                class=\"gpbf-date-input gp-input\"\r\n                                inputmode=\"none\"\r\n                                autocomplete=\"off\"\r\n                                readonly\r\n                                placeholder=\"Select date\"\r\n                                aria-label=\"Select date\"\r\n                                data-gpbf-date-range\r\n                            >\r\n                        <\/div>\r\n\r\n                        <div class=\"gpbf-guests-wrap\">\r\n                            <div class=\"gpbf-guests-trigger gp-input\" tabindex=\"0\" role=\"button\" aria-haspopup=\"dialog\" aria-expanded=\"false\" data-gpbf-guests-field data-placeholder=\"1 adult, 0 children, 1 rooms\">1 adult, 0 children, 1 rooms<\/div>\r\n\r\n                            <div class=\"gpbf-guests-panel\" role=\"dialog\" aria-label=\"Select guests and rooms\" data-gpbf-guests-panel>\r\n                                <button type=\"button\" class=\"gpbf-mobile-close gpbf-hidden\" data-gpbf-guests-close aria-label=\"Close\" hidden tabindex=\"-1\">\u00d7<\/button>\r\n\r\n                                <div class=\"gpbf-guests-row\" data-k=\"adults\">\r\n                                    <div class=\"gpbf-guests-label\">Adults<\/div>\r\n                                    <div class=\"gpbf-stepper\">\r\n                                        <button type=\"button\" class=\"gpbf-minus\" aria-label=\"Decrease number of adults\">\u2212<\/button>\r\n                                        <div class=\"gpbf-count\" aria-live=\"polite\">1<\/div>\r\n                                        <button type=\"button\" class=\"gpbf-plus\" aria-label=\"Increase number of adults\">+<\/button>\r\n                                    <\/div>\r\n                                <\/div>\r\n\r\n                                <div class=\"gpbf-guests-row\" data-k=\"children_cat_1\">\r\n                                    <div class=\"gpbf-guests-label\">Children 0\u20132 years old<\/div>\r\n                                    <div class=\"gpbf-stepper\">\r\n                                        <button type=\"button\" class=\"gpbf-minus\" aria-label=\"Decrease number of children\">\u2212<\/button>\r\n                                        <div class=\"gpbf-count\" aria-live=\"polite\">0<\/div>\r\n                                        <button type=\"button\" class=\"gpbf-plus\" aria-label=\"Increase number of children\">+<\/button>\r\n                                    <\/div>\r\n                                <\/div>\r\n\r\n                                <div class=\"gpbf-guests-row\" data-k=\"children_cat_2\">\r\n                                    <div class=\"gpbf-guests-label\">Children 3\u201316 years old<\/div>\r\n                                    <div class=\"gpbf-stepper\">\r\n                                        <button type=\"button\" class=\"gpbf-minus\" aria-label=\"Decrease number of children\">\u2212<\/button>\r\n                                        <div class=\"gpbf-count\" aria-live=\"polite\">0<\/div>\r\n                                        <button type=\"button\" class=\"gpbf-plus\" aria-label=\"Increase number of children\">+<\/button>\r\n                                    <\/div>\r\n                                <\/div>\r\n\r\n                                <div class=\"gpbf-guests-row\" data-k=\"rooms\" data-gpbf-rooms-row style=\"display:none;\">\r\n                                    <div class=\"gpbf-guests-label\">Rooms<\/div>\r\n                                    <div class=\"gpbf-stepper\">\r\n                                        <button type=\"button\" class=\"gpbf-minus\" aria-label=\"Decrease number of rooms\">\u2212<\/button>\r\n                                        <div class=\"gpbf-count\" aria-live=\"polite\">1<\/div>\r\n                                        <button type=\"button\" class=\"gpbf-plus\" aria-label=\"Increase number of rooms\">+<\/button>\r\n                                    <\/div>\r\n                                <\/div>\r\n\r\n                                <div class=\"gpbf-mobile-actions gpbf-hidden\">\r\n                                    <button type=\"button\" class=\"gp-btn gp-btn--primary\" data-gpbf-guests-done>\r\n                                        <span class=\"gp-btn__text\">Done<\/span>\r\n                                    <\/button>\r\n                                <\/div>\r\n                            <\/div>\r\n                        <\/div>\r\n\r\n                        <div class=\"gpbf-action\">\r\n                            <button type=\"button\" class=\"gp-btn gp-btn--primary\" data-gpbf-check>\r\n                                <span class=\"gp-btn__text\">Book now<\/span>\r\n                            <\/button>\r\n                            <button type=\"submit\" class=\"gp-btn gp-btn--primary gpbf-pay-hidden gpbf-pay-disabled\" data-gpbf-submit disabled>\r\n                                <span class=\"gp-btn__text\">Book now<\/span>\r\n                            <\/button>\r\n                        <\/div>\r\n                    <\/div>\r\n\r\n                    <div class=\"gpbf-result\" data-gpbf-result><\/div>\r\n                    <div class=\"gpbf-mobile-overlay gpbf-hidden\" data-gpbf-mobile-overlay><\/div>\r\n\r\n                    <div class=\"gpbf-optionals-wrap gpbf-optionals-hidden\" data-gpbf-optionals-wrap>\r\n                        <h3 style=\"margin-top:0;\">Optional experiences to complement your stay<\/h3>\r\n                        <div class=\"gpbf-optionals-intro\">\r\n                            Each selected procedure represents a valid session for one person.<br>\r\n                            For more people, please adjust the quantity.                        <\/div>\r\n                        <div class=\"gpbf-optionals-empty gpbf-help gpbf-hidden\" data-gpbf-optionals-empty>No additional options are available for this selection.<\/div>\r\n                        <div class=\"gpbf-optionals-list\" data-gpbf-optionals-list><\/div>\r\n                        <button type=\"button\" class=\"gp-btn gp-btn--primary gpbf-optionals-toggle gpbf-hidden\" data-gpbf-optionals-toggle>\r\n                            <span class=\"gp-btn__text\">See all options<\/span>\r\n                        <\/button>\r\n                        <div class=\"gpbf-optionals-maxmsg\" data-gpbf-optionals-maxmsg>You have reached the maximum limit for this booking.<\/div>\r\n                        <div class=\"gpbf-total-line\">Total (with options): <strong><span data-gpbf-total-value>0.00<\/span> lei<\/strong><\/div>\r\n                    <\/div>\r\n                <\/form>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <script>\r\n        (function() {\r\n            var rootId = \"gpbf-root-2\";\r\n            var root = document.getElementById(rootId);\r\n            if (!root || root.__gpbfReady) return;\r\n            root.__gpbfReady = true;\r\n\r\n            var ajaxUrl = \"https:\\\/\\\/younessclinic.ro\\\/wp-admin\\\/admin-ajax.php\";\r\n            var ajaxAction = \"gpbe_booking_front_check\";\r\n            var nonce = \"5b0ad93e18\";\r\n            var contextData = {\"mode\":\"package_specific\",\"room_code\":\"\",\"package_code\":\"PCK-MEJTYU\",\"booking_type\":\"day_use\",\"room_name\":\"\",\"package_name\":\"1 Day Spa\",\"package_calendar_rules\":[]};\r\n            var currentLanguage = \"en\";\r\n            var childConfig = {\"cat1_max\":2,\"cat2_max\":16,\"cat2_min\":3,\"label_cat_1\":\"Children 0\\u20132 years old\",\"label_cat_2\":\"Children 3\\u201316 years old\"};\r\n            var i18n = {\"error_title\":\"An issue occurred\",\"loading_title\":\"Checking availability\",\"loading_text\":\"Please wait a few moments.\",\"generic_error\":\"An issue occurred. Please try again. \",\"default_range_label\":\"Check-in date \\u2014 Check-out date\",\"default_single_label\":\"Select date\",\"weekdays_short\":[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],\"months_short\":[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],\"months_full\":[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],\"weekday_initials\":[\"M\",\"W\",\"W\",\"T\",\"F\",\"S\",\"S\"],\"done\":\"Done\",\"package_period_invalid\":\"The selected period does not comply with the package rules for the active period and allowed number of nights.\",\"package_checkin_unavailable\":\"The selected check-in date is not available within the package's active period.\",\"package_checkin_day_not_allowed\":\"The package does not allow check-in on the selected day.\",\"package_last_checkin_prefix\":\"For the defined period, the last available check-in day is\",\"package_checkin_no_valid_checkout\":\"The selected check-in date no longer allows a valid check-out within the available range.\",\"period_unavailable_title\":\"Period unavailable\",\"guests_adults_suffix\":\"adults\",\"guests_children_suffix\":\"children\",\"guests_rooms_suffix\":\"rooms\",\"combo_rooms_label\":\"Room combination\",\"combo_rooms_desc\":\"Combination selected from multiple room types.\",\"room_selection_select_at_least_one\":\"Please select at least one room to continue.\",\"room_selection_min_rooms_prefix\":\"The selection must contain at least\",\"room_selection_min_rooms_suffix\":\"rooms.\",\"room_selection_not_enough_adults\":\"The selection does not cover the required number of adults.\",\"room_selection_not_enough_children\":\"The selection does not cover the required number of children.\",\"room_selection_not_enough_capacity\":\"The selection does not cover the total required capacity.\",\"view_all_optionals\":\"See all options\",\"view_fewer_optionals\":\"Show less\",\"selection_available_day_use\":\"Your selection is available\",\"selection_available_stay\":\"The selected period is available\",\"choose_room_combo\":\"Choose your desired room combination:\",\"choose_option\":\"Choose your desired option:\",\"max_capacity_prefix\":\"Maximum capacity\",\"max_adults_prefix\":\"Maximum adults\",\"max_children_prefix\":\"Maximum children\",\"room_available_singular\":\"1 room available\",\"rooms_available_plural_suffix\":\"rooms available\",\"facilities_included\":\"Included facilities:\",\"per_stay_suffix\":\"lei \\\/ stay\",\"currency_suffix\":\"lei\",\"decrease\":\"Decrease\",\"increase\":\"Increase\",\"no_more_availability\":\"No availability for your selection.\",\"selected_date_prefix\":\"Selected date:\",\"selected_period_prefix\":\"Selected period:\",\"selected_rooms_prefix\":\"Selected rooms:\",\"guests_label_prefix\":\"Guests:\",\"invalid_date_required\":\"Please select a valid date.\",\"invalid_range_required\":\"Please select a valid check-in and check-out period.\",\"contact_data_error\":\"Could not process contact details. Please try again. \",\"choose_option_before_continue\":\"Please select an available option before continuing.\"};\r\n            var uiMessages = {\r\n                errorTitle: i18n.error_title,\r\n                loadingTitle: i18n.loading_title,\r\n                loadingText: i18n.loading_text,\r\n                genericError: i18n.generic_error\r\n            };\r\n\r\n            var form = root.querySelector('form');\r\n            var contactStep = root.querySelector('[data-gpbf-contact-step]');\r\n            var bookingStep = root.querySelector('[data-gpbf-booking-step]');\r\n            var contactNameInput = root.querySelector('[data-gpbf-contact-name]');\r\n            var contactEmailInput = root.querySelector('[data-gpbf-contact-email]');\r\n            var contactPhoneInput = root.querySelector('[data-gpbf-contact-phone]');\r\n            var contactCheckBtn = root.querySelector('[data-gpbf-contact-check]');\r\n            var hiddenContactName = form.querySelector('input[name=\"gpb_contact_name\"]');\r\n            var hiddenContactEmail = form.querySelector('input[name=\"gpb_contact_email\"]');\r\n            var hiddenContactPhone = form.querySelector('input[name=\"gpb_contact_phone\"]');\r\n            var dateInput = root.querySelector('[data-gpbf-date-range]');\r\n            var guestsField = root.querySelector('[data-gpbf-guests-field]');\r\n            var guestsPanel = root.querySelector('[data-gpbf-guests-panel]');\r\n            var guestsCloseBtn = root.querySelector('[data-gpbf-guests-close]');\r\n            var guestsDoneBtn = root.querySelector('[data-gpbf-guests-done]');\r\n            var mobileOverlay = root.querySelector('[data-gpbf-mobile-overlay]');\r\n            var roomsRow = root.querySelector('[data-gpbf-rooms-row]');\r\n            var result = root.querySelector('[data-gpbf-result]');\r\n            var optionalsWrap = root.querySelector('[data-gpbf-optionals-wrap]');\r\n            var optionalsList = root.querySelector('[data-gpbf-optionals-list]');\r\n            var optionalsEmpty = root.querySelector('[data-gpbf-optionals-empty]');\r\n            var optionalsToggle = root.querySelector('[data-gpbf-optionals-toggle]');\r\n            var optionalsMaxMsg = root.querySelector('[data-gpbf-optionals-maxmsg]');\r\n            var totalValue = root.querySelector('[data-gpbf-total-value]');\r\n            var checkBtn = root.querySelector('[data-gpbf-check]');\r\n            var submitBtn = root.querySelector('[data-gpbf-submit]');\r\n            var hCheckIn = form.querySelector('input[name=\"gpb_check_in\"]');\r\n            var hCheckOut = form.querySelector('input[name=\"gpb_check_out\"]');\r\n            var hBookingDate = form.querySelector('input[name=\"gpb_booking_date\"]');\r\n            var hRooms = form.querySelector('input[name=\"gpb_rooms\"]');\r\n            var hAdults = form.querySelector('input[name=\"gpb_adults\"]');\r\n            var hChildren = form.querySelector('input[name=\"gpb_children\"]');\r\n            var hChildrenCat1 = form.querySelector('input[name=\"gpb_children_cat_1\"]');\r\n            var hChildrenCat2 = form.querySelector('input[name=\"gpb_children_cat_2\"]');\r\n            var hSelectedRoomId = form.querySelector('input[name=\"gpb_selected_room_id\"]');\r\n            var hSelectedPackageId = form.querySelector('input[name=\"gpb_selected_package_id\"]');\r\n            var hSelectedRoomsJson = form.querySelector('input[name=\"gpb_selected_rooms_json\"]');\r\n            var fp = null;\r\n            var lastBaseTotal = 0;\r\n            var lastNights = 0;\r\n            var optLimitHit = false;\r\n            var availableItems = [];\r\n            var selectedItem = null;\r\n            var selectedRoomQuantities = {};\r\n            var DEFAULT_RANGE_LABEL = i18n.default_range_label;\r\n            var DEFAULT_SINGLE_LABEL = i18n.default_single_label;\r\n\r\n            function pad2(n){ return (n < 10 ? '0' : '') + n; }\r\n            function toYMD(d){ return d.getFullYear() + '-' + pad2(d.getMonth() + 1) + '-' + pad2(d.getDate()); }\r\n            function formatMoney(n){ return (parseFloat(n || 0) || 0).toFixed(2); }\r\n            function escapeHtml(str){\r\n                return String(str || '').replace(\/[&<>\"']\/g, function(m){\r\n                    return ({'&':'&amp;','<':'&lt;','>':'&gt;','\"':'&quot;',\"'\":'&#039;'})[m];\r\n                });\r\n            }\r\n            function formatRoShort(d){\r\n                var wd = i18n.weekdays_short;\r\n                var mo = i18n.months_short;\r\n                return wd[d.getDay()] + ' ' + pad2(d.getDate()) + ' ' + mo[d.getMonth()];\r\n            }\r\n            function labelRange(inYMD, outYMD){\r\n                var a = new Date(inYMD + 'T00:00:00');\r\n                var b = new Date(outYMD + 'T00:00:00');\r\n                return formatRoShort(a) + ' \u2014 ' + formatRoShort(b);\r\n            }\r\n            function labelSingle(ymd){\r\n                var a = new Date(ymd + 'T00:00:00');\r\n                return formatRoShort(a);\r\n            }\r\n            function renderAlert(type, title, text){\r\n                if (type === 'error') { type = 'danger'; }\r\n                return '<div class=\"gp-alert gp-alert--' + escapeHtml(type) + '\"><div class=\"gp-alert__title\">' + escapeHtml(title) + '<\/div><div class=\"gp-alert__text\">' + escapeHtml(text) + '<\/div><\/div>';\r\n            }\r\n            function toastError(message) {\r\n                if (window.gpToast && typeof window.gpToast.error === 'function') {\r\n                    window.gpToast.error(message);\r\n                }\r\n            }\r\n            function currentBookingType() {\r\n                return contextData.booking_type === 'day_use' ? 'day_use' : 'stay';\r\n            }\r\n            function isPackageContextMode() {\r\n                return contextData.mode === 'packages_general' || contextData.mode === 'package_specific';\r\n            }\r\n            function shouldHideRoomsSelector() {\r\n                return currentBookingType() === 'day_use' || isPackageContextMode();\r\n            }\r\n            function parsePackageCalendarRules(rawRules) {\r\n                if (!Array.isArray(rawRules)) return [];\r\n                return rawRules.map(function(rule) {\r\n                    rule = rule && typeof rule === 'object' ? rule : {};\r\n                    return {\r\n                        package_id: parseInt(rule.package_id || '0', 10) || 0,\r\n                        package_code: String(rule.package_code || ''),\r\n                        package_name: String(rule.package_name || ''),\r\n                        date_start: String(rule.date_start || ''),\r\n                        date_end: String(rule.date_end || ''),\r\n                        min_nights: Math.max(0, parseInt(rule.min_nights || '0', 10) || 0),\r\n                        max_nights: Math.max(0, parseInt(rule.max_nights || '0', 10) || 0),\r\n                        allowed_checkin_days: Array.isArray(rule.allowed_checkin_days) ? rule.allowed_checkin_days.map(function(day){ return String(day || '').toLowerCase(); }).filter(Boolean) : [],\r\n                        has_interval_limits: !!rule.has_interval_limits,\r\n                        has_stay_limits: !!rule.has_stay_limits,\r\n                        has_calendar_rules: !!rule.has_calendar_rules\r\n                    };\r\n                }).filter(function(rule) {\r\n                    return !!rule.package_id;\r\n                });\r\n            }\r\n            var packageCalendarRules = parsePackageCalendarRules(contextData.package_calendar_rules || []);\r\n            function getTodayYMD() {\r\n                return toYMD(new Date());\r\n            }\r\n            function ymdToDate(ymd) {\r\n                if (!ymd || !\/^\\d{4}-\\d{2}-\\d{2}$\/.test(String(ymd))) return null;\r\n                var parts = String(ymd).split('-');\r\n                var year = parseInt(parts[0], 10) || 0;\r\n                var month = (parseInt(parts[1], 10) || 1) - 1;\r\n                var day = parseInt(parts[2], 10) || 1;\r\n                return new Date(year, month, day);\r\n            }\r\n            function compareYMD(a, b) {\r\n                a = String(a || '');\r\n                b = String(b || '');\r\n                if (!a && !b) return 0;\r\n                if (!a) return -1;\r\n                if (!b) return 1;\r\n                if (a === b) return 0;\r\n                return a < b ? -1 : 1;\r\n            }\r\n            function maxYMD(a, b) {\r\n                return compareYMD(a, b) >= 0 ? a : b;\r\n            }\r\n            function addDaysYMD(ymd, days) {\r\n                var date = ymdToDate(ymd);\r\n                if (!date) return '';\r\n                date.setDate(date.getDate() + (parseInt(days || '0', 10) || 0));\r\n                return toYMD(date);\r\n            }\r\n            function diffDaysYMD(startYmd, endYmd) {\r\n                var start = ymdToDate(startYmd);\r\n                var end = ymdToDate(endYmd);\r\n                if (!start || !end) return 0;\r\n                return Math.round((end.getTime() - start.getTime()) \/ 86400000);\r\n            }\r\n            function getWeekdayKey(ymd) {\r\n                var date = ymdToDate(ymd);\r\n                if (!date) return '';\r\n                return ['sun','mon','tue','wed','thu','fri','sat'][date.getDay()] || '';\r\n            }\r\n            function packageRulesApply() {\r\n                return currentBookingType() !== 'day_use' && isPackageContextMode() && packageCalendarRules.length > 0;\r\n            }\r\n          \r\n\t\t  function packageAutoSelectApplies() {\r\n    var packageCode = String(contextData && contextData.package_code ? contextData.package_code : '').trim();\r\n\r\n    \/\/ Auto-select doar pe shortcode specific de pachet, nu pe listarea general\u0103\r\n    return currentBookingType() !== 'day_use'\r\n        && isPackageContextMode()\r\n        && !!packageCode\r\n        && packageCalendarRules.length > 0;\r\n}\r\n\t\t  \r\nfunction getPackageRuleDefaultNights(rule) {\r\n    var minNights = Math.max(0, parseInt(rule && rule.min_nights || '0', 10) || 0);\r\n    var maxNights = Math.max(0, parseInt(rule && rule.max_nights || '0', 10) || 0);\r\n\r\n    \/\/ Auto-select doar dac\u0103 ambele sunt setate\r\n    if (minNights <= 0 || maxNights <= 0) {\r\n        return 0;\r\n    }\r\n\r\n    return Math.min(minNights, maxNights);\r\n}\r\n\r\n            function isWithinPackageInterval(rule, checkInYmd) {\r\n                if (!rule) return false;\r\n                var start = String(rule.date_start || '');\r\n                var end = String(rule.date_end || '');\r\n                if (start && compareYMD(checkInYmd, start) < 0) return false;\r\n                if (end && compareYMD(checkInYmd, end) > 0) return false;\r\n                return true;\r\n            }\r\n            function packageRuleAllowsWeekday(rule, checkInYmd) {\r\n                var allowed = Array.isArray(rule && rule.allowed_checkin_days) ? rule.allowed_checkin_days : [];\r\n                if (!allowed.length) return true;\r\n                return allowed.indexOf(getWeekdayKey(checkInYmd)) !== -1;\r\n            }\r\n            function packageRuleAllowsCheckin(rule, checkInYmd, requireCheckoutFit) {\r\n                if (!isWithinPackageInterval(rule, checkInYmd)) return false;\r\n                if (!packageRuleAllowsWeekday(rule, checkInYmd)) return false;\r\n                if (!requireCheckoutFit) return true;\r\n                var defaultCheckout = addDaysYMD(checkInYmd, getPackageRuleDefaultNights(rule));\r\n                if (!defaultCheckout) return false;\r\n                if (rule.date_end && compareYMD(defaultCheckout, rule.date_end) > 0) return false;\r\n                return true;\r\n            }\r\n            function getMatchingPackageRules(checkInYmd, requireCheckoutFit) {\r\n                return packageCalendarRules.filter(function(rule) {\r\n                    return packageRuleAllowsCheckin(rule, checkInYmd, !!requireCheckoutFit);\r\n                });\r\n            }\r\n            function packageRuleAllowsRange(rule, checkInYmd, checkOutYmd) {\r\n                if (!packageRuleAllowsCheckin(rule, checkInYmd, false)) return false;\r\n                var nights = diffDaysYMD(checkInYmd, checkOutYmd);\r\n                if (nights <= 0) return false;\r\n                if (rule.min_nights > 0 && nights < rule.min_nights) return false;\r\n                if (rule.max_nights > 0 && nights > rule.max_nights) return false;\r\n                if (rule.date_end && compareYMD(checkOutYmd, rule.date_end) > 0) return false;\r\n                return true;\r\n            }\r\n            function getMatchingPackageRulesForRange(checkInYmd, checkOutYmd) {\r\n                return packageCalendarRules.filter(function(rule) {\r\n                    return packageRuleAllowsRange(rule, checkInYmd, checkOutYmd);\r\n                });\r\n            }\r\n            function getPackageRangeValidationMessage(checkInYmd, checkOutYmd) {\r\n                if (!packageRulesApply() || !checkInYmd || !checkOutYmd) return '';\r\n                if (getMatchingPackageRulesForRange(checkInYmd, checkOutYmd).length) return '';\r\n                if (!getMatchingPackageRules(checkInYmd, false).length) {\r\n                    return getPackageCheckinErrorMessage(checkInYmd);\r\n                }\r\n                return i18n.package_period_invalid;\r\n            }\r\n            function getEarliestPackageCalendarDate() {\r\n                var today = getTodayYMD();\r\n                var best = '';\r\n                if (!packageRulesApply()) return ymdToDate(today);\r\n                packageCalendarRules.forEach(function(rule) {\r\n                    var candidate = rule.date_start ? maxYMD(rule.date_start, today) : today;\r\n                    if (!packageRuleAllowsCheckin(rule, candidate, true)) {\r\n                        var cursor = candidate;\r\n                        for (var i = 0; i < 366; i++) {\r\n                            if (packageRuleAllowsCheckin(rule, cursor, true)) {\r\n                                candidate = cursor;\r\n                                break;\r\n                            }\r\n                            cursor = addDaysYMD(cursor, 1);\r\n                            if (!cursor || (rule.date_end && compareYMD(cursor, rule.date_end) > 0)) {\r\n                                candidate = '';\r\n                                break;\r\n                            }\r\n                        }\r\n                    }\r\n                    if (!candidate) return;\r\n                    if (!best || compareYMD(candidate, best) < 0) best = candidate;\r\n                });\r\n                return ymdToDate(best || today);\r\n            }\r\n\r\n\r\nfunction getDefaultPackageSelection(checkInYmd) {\r\n    if (!packageAutoSelectApplies()) return null;\r\n\r\n    var currentPackageCode = String(contextData && contextData.package_code ? contextData.package_code : '').trim();\r\n    if (!currentPackageCode) return null;\r\n\r\n    var matches = getMatchingPackageRules(checkInYmd, true);\r\n    if (!matches.length) return null;\r\n\r\n    matches = matches.filter(function(rule) {\r\n        var rulePackageCode = String(rule && rule.package_code ? rule.package_code : '').trim();\r\n        var minNights = Math.max(0, parseInt(rule && rule.min_nights || '0', 10) || 0);\r\n        var maxNights = Math.max(0, parseInt(rule && rule.max_nights || '0', 10) || 0);\r\n\r\n        return rulePackageCode === currentPackageCode\r\n            && minNights > 0\r\n            && maxNights > 0;\r\n    });\r\n\r\n    if (!matches.length) return null;\r\n\r\n    matches.sort(function(a, b) {\r\n        var aNights = getPackageRuleDefaultNights(a);\r\n        var bNights = getPackageRuleDefaultNights(b);\r\n        if (aNights !== bNights) return aNights - bNights;\r\n\r\n        var aEnd = String(a.date_end || '9999-12-31');\r\n        var bEnd = String(b.date_end || '9999-12-31');\r\n        return compareYMD(aEnd, bEnd);\r\n    });\r\n\r\n    var rule = matches[0];\r\n    var nights = getPackageRuleDefaultNights(rule);\r\n    if (nights <= 0) return null;\r\n\r\n    return {\r\n        rule: rule,\r\n        nights: nights,\r\n        check_out: addDaysYMD(checkInYmd, nights)\r\n    };\r\n}\r\n\r\n\t\t  function getLatestAllowedCheckinForRule(rule) {\r\n                if (!rule) return '';\r\n                var today = getTodayYMD();\r\n                var latest = rule.date_end ? addDaysYMD(rule.date_end, -getPackageRuleDefaultNights(rule)) : '';\r\n                if (!latest) return '';\r\n                var floor = rule.date_start ? maxYMD(rule.date_start, today) : today;\r\n                if (compareYMD(latest, floor) < 0) return '';\r\n                if (!Array.isArray(rule.allowed_checkin_days) || !rule.allowed_checkin_days.length) return latest;\r\n                var cursor = latest;\r\n                for (var i = 0; i < 7; i++) {\r\n                    if (packageRuleAllowsWeekday(rule, cursor) && compareYMD(cursor, floor) >= 0) {\r\n                        return cursor;\r\n                    }\r\n                    cursor = addDaysYMD(cursor, -1);\r\n                }\r\n                return '';\r\n            }\r\n            function getPackageCheckinErrorMessage(checkInYmd) {\r\n                if (!packageRulesApply() || !checkInYmd) return '';\r\n                var intervalMatches = packageCalendarRules.filter(function(rule) {\r\n                    return isWithinPackageInterval(rule, checkInYmd);\r\n                });\r\n                if (!intervalMatches.length) {\r\n                    return i18n.package_checkin_unavailable;\r\n                }\r\n                var weekdayMatches = intervalMatches.filter(function(rule) {\r\n                    return packageRuleAllowsWeekday(rule, checkInYmd);\r\n                });\r\n                if (!weekdayMatches.length) {\r\n                    return i18n.package_checkin_day_not_allowed;\r\n                }\r\n                var latest = '';\r\n                weekdayMatches.forEach(function(rule) {\r\n                    var candidate = getLatestAllowedCheckinForRule(rule);\r\n                    if (candidate && (!latest || compareYMD(candidate, latest) > 0)) {\r\n                        latest = candidate;\r\n                    }\r\n                });\r\n                if (latest) {\r\n                    return i18n.package_last_checkin_prefix + ' ' + formatRoShort(ymdToDate(latest)) + '.';\r\n                }\r\n                return i18n.package_checkin_no_valid_checkout;\r\n            }\r\n            function maybeShowPackageCalendarWarning(checkInYmd) {\r\n                var message = getPackageCheckinErrorMessage(checkInYmd);\r\n                if (!message) return;\r\n                result.innerHTML = renderAlert('warning', i18n.period_unavailable_title, message);\r\n            }\r\n            function ensureRoomsVisibility() {\r\n                if (shouldHideRoomsSelector()) {\r\n                    state.rooms = 1;\r\n                    if (hRooms) hRooms.value = '1';\r\n                }\r\n                if (roomsRow) {\r\n                    roomsRow.style.display = shouldHideRoomsSelector() ? 'none' : '';\r\n                }\r\n            }\r\n            function isMobileUI() {\r\n                return window.matchMedia && window.matchMedia('(max-width: 768px)').matches;\r\n            }\r\n            function setBodyLock(on) {\r\n                document.documentElement.style.overflow = on ? 'hidden' : '';\r\n                document.body.style.overflow = on ? 'hidden' : '';\r\n            }\r\n            function setMobileOverlay(on) {\r\n                if (!mobileOverlay) return;\r\n                mobileOverlay.classList.toggle('gpbf-hidden', !on);\r\n            }\r\n            function setDateInputDefault(label) {\r\n                dateInput.value = '';\r\n                dateInput.placeholder = label;\r\n                dateInput.classList.add('gpbf-date-input--default');\r\n            }\r\n            function setDateInputValue(label) {\r\n                dateInput.value = label;\r\n                dateInput.placeholder = '';\r\n                dateInput.classList.remove('gpbf-date-input--default');\r\n            }\r\n            function syncDateLabel() {\r\n                if (currentBookingType() === 'day_use') {\r\n                    if (hBookingDate.value) {\r\n                        setDateInputValue(labelSingle(hBookingDate.value));\r\n                    } else {\r\n                        setDateInputDefault(DEFAULT_SINGLE_LABEL);\r\n                    }\r\n                    return;\r\n                }\r\n                if (hCheckIn.value && hCheckOut.value) {\r\n                    setDateInputValue(labelRange(hCheckIn.value, hCheckOut.value));\r\n                } else {\r\n                    setDateInputDefault(DEFAULT_RANGE_LABEL);\r\n                }\r\n            }\r\n            function syncGuests() {\r\n                ensureRoomsVisibility();\r\n                var adultsCount = guestsPanel.querySelector('[data-k=\"adults\"] .gpbf-count');\r\n                var childrenCat1Count = guestsPanel.querySelector('[data-k=\"children_cat_1\"] .gpbf-count');\r\n                var childrenCat2Count = guestsPanel.querySelector('[data-k=\"children_cat_2\"] .gpbf-count');\r\n                var roomsCount = guestsPanel.querySelector('[data-k=\"rooms\"] .gpbf-count');\r\n                var childrenTotal = Math.max(0, state.children_cat_1 + state.children_cat_2);\r\n\r\n                if (adultsCount) adultsCount.textContent = String(state.adults);\r\n                if (childrenCat1Count) childrenCat1Count.textContent = String(state.children_cat_1);\r\n                if (childrenCat2Count) childrenCat2Count.textContent = String(state.children_cat_2);\r\n                if (roomsCount) roomsCount.textContent = String(state.rooms);\r\n\r\n                hAdults.value = String(state.adults);\r\n                hChildren.value = String(childrenTotal);\r\n                if (hChildrenCat1) hChildrenCat1.value = String(state.children_cat_1);\r\n                if (hChildrenCat2) hChildrenCat2.value = String(state.children_cat_2);\r\n                hRooms.value = String(shouldHideRoomsSelector() ? 1 : state.rooms);\r\n\r\n                var childLabel = childrenTotal + ' ' + i18n.guests_children_suffix;\r\n                var label = state.adults + ' ' + i18n.guests_adults_suffix + ', ' + childLabel;\r\n                if (!shouldHideRoomsSelector()) {\r\n                    label += ', ' + state.rooms + ' ' + i18n.guests_rooms_suffix;\r\n                }\r\n                guestsField.textContent = label;\r\n                guestsField.setAttribute('data-placeholder', label);\r\n                guestsField.setAttribute('aria-label', label);\r\n            }\r\n            function syncContactHiddenFields() {\r\n                if (hiddenContactName && contactNameInput) hiddenContactName.value = String(contactNameInput.value || '').trim();\r\n                if (hiddenContactEmail && contactEmailInput) hiddenContactEmail.value = String(contactEmailInput.value || '').trim();\r\n                if (hiddenContactPhone && contactPhoneInput) hiddenContactPhone.value = String(contactPhoneInput.value || '').trim();\r\n            }\r\n            function contactStepIsCompleted() {\r\n                return !!(hiddenContactName && hiddenContactEmail && hiddenContactPhone\r\n                    && String(hiddenContactName.value || '').trim()\r\n                    && String(hiddenContactEmail.value || '').trim()\r\n                    && String(hiddenContactPhone.value || '').trim());\r\n            }\r\n            function validateContactStep() {\r\n                var fields = [contactNameInput, contactEmailInput, contactPhoneInput];\r\n                syncContactHiddenFields();\r\n                for (var i = 0; i < fields.length; i++) {\r\n                    var field = fields[i];\r\n                    if (!field) continue;\r\n                    if (typeof field.reportValidity === 'function' && !field.reportValidity()) {\r\n                        return false;\r\n                    }\r\n                }\r\n                return true;\r\n            }\r\n            function setBookingStepVisible(on, options) {\r\n                options = options || {};\r\n                if (contactStep) contactStep.classList.toggle('gpbf-hidden', !!on);\r\n                if (bookingStep) bookingStep.classList.toggle('gpbf-hidden', !on);\r\n                if (on) {\r\n                    syncContactHiddenFields();\r\n                    initFlatpickr();\r\n                    syncDateLabel();\r\n                    syncGuests();\r\n                    if (options.focus !== false) {\r\n                        window.setTimeout(function(){ if (dateInput) dateInput.focus(); }, 0);\r\n                    }\r\n                }\r\n            }\r\n            function setBusy(on) {\r\n                checkBtn.disabled = !!on;\r\n                checkBtn.classList.toggle('is-loading', !!on);\r\n            }\r\n            function setPayLocked() {\r\n                submitBtn.classList.add('gpbf-pay-hidden', 'gpbf-pay-disabled');\r\n                submitBtn.disabled = true;\r\n                if (checkBtn) checkBtn.classList.remove('gpbf-hidden');\r\n            }\r\n            function setPayUnlocked() {\r\n                submitBtn.classList.remove('gpbf-pay-hidden', 'gpbf-pay-disabled');\r\n                submitBtn.disabled = false;\r\n                if (checkBtn) checkBtn.classList.add('gpbf-hidden');\r\n            }\r\n            function setOptionalsVisible(on) {\r\n                optionalsWrap.classList.toggle('gpbf-optionals-hidden', !on);\r\n            }\r\n            function getMaxPerOptional() {\r\n                var guests = Math.max(0, state.adults + state.children_cat_1 + state.children_cat_2);\r\n                if (currentBookingType() === 'day_use') {\r\n                    return Math.max(0, guests);\r\n                }\r\n                return Math.max(0, guests * Math.max(1, lastNights || 1));\r\n            }\r\n            function getRoomItemById(roomId) {\r\n                roomId = parseInt(roomId || '0', 10) || 0;\r\n                for (var i = 0; i < availableItems.length; i++) {\r\n                    var item = availableItems[i];\r\n                    if (item && !item.package_id && (parseInt(item.room_id || '0', 10) || 0) === roomId) {\r\n                        return item;\r\n                    }\r\n                }\r\n                return null;\r\n            }\r\n            function isRoomResultsMode() {\r\n                if (currentBookingType() === 'day_use') {\r\n                    return false;\r\n                }\r\n                return availableItems.some(function(item) {\r\n                    return item && !item.package_id;\r\n                });\r\n            }\r\n            function normalizeSelectedRoomEntries() {\r\n                var entries = [];\r\n                Object.keys(selectedRoomQuantities).forEach(function(roomId) {\r\n                    var qty = parseInt(selectedRoomQuantities[roomId] || '0', 10) || 0;\r\n                    var numericRoomId = parseInt(roomId || '0', 10) || 0;\r\n                    if (numericRoomId > 0 && qty > 0) {\r\n                        entries.push({ room_id: numericRoomId, quantity: qty });\r\n                    }\r\n                });\r\n                entries.sort(function(a, b) { return a.room_id - b.room_id; });\r\n                return entries;\r\n            }\r\n            function syncSelectedRoomsJson() {\r\n                if (!hSelectedRoomsJson) return;\r\n                hSelectedRoomsJson.value = JSON.stringify(normalizeSelectedRoomEntries());\r\n            }\r\n            function getSelectedUnitsCount() {\r\n                return normalizeSelectedRoomEntries().reduce(function(sum, entry){\r\n                    return sum + (parseInt(entry.quantity || '0', 10) || 0);\r\n                }, 0);\r\n            }\r\n            function getRoomSelectionCapacitySummary() {\r\n                var adultsRequired = Math.max(0, state.adults || 0);\r\n                var childrenRequired = Math.max(0, (state.children_cat_1 || 0) + (state.children_cat_2 || 0));\r\n                var totalPeopleRequired = adultsRequired + childrenRequired;\r\n                var adultSlots = 0;\r\n                var childSlots = 0;\r\n                var totalSlots = 0;\r\n\r\n                normalizeSelectedRoomEntries().forEach(function(entry) {\r\n                    var item = getRoomItemById(entry.room_id);\r\n                    var qty = parseInt(entry.quantity || '0', 10) || 0;\r\n                    if (!item || qty <= 0) {\r\n                        return;\r\n                    }\r\n\r\n                    var meta = item.room_meta || {};\r\n                    adultSlots += (parseInt(meta.max_adults || '0', 10) || 0) * qty;\r\n                    childSlots += (parseInt(meta.max_children || '0', 10) || 0) * qty;\r\n                    totalSlots += (parseInt(meta.max_capacity || '0', 10) || 0) * qty;\r\n                });\r\n\r\n                var remainingAdultSlots = Math.max(0, adultSlots - adultsRequired);\r\n                var childrenFit = (childSlots + remainingAdultSlots) >= childrenRequired;\r\n                var totalFit = totalSlots <= 0 ? true : totalSlots >= totalPeopleRequired;\r\n\r\n                return {\r\n                    adults_required: adultsRequired,\r\n                    children_required: childrenRequired,\r\n                    total_people_required: totalPeopleRequired,\r\n                    adult_slots: adultSlots,\r\n                    child_slots: childSlots,\r\n                    total_slots: totalSlots,\r\n                    selected_units: getSelectedUnitsCount(),\r\n                    required_rooms: Math.max(1, state.rooms || 1),\r\n                    meets_room_count: getSelectedUnitsCount() >= Math.max(1, state.rooms || 1),\r\n                    fits_adults: adultSlots >= adultsRequired,\r\n                    fits_children: childrenFit,\r\n                    fits_total: totalFit,\r\n                    is_valid: (getSelectedUnitsCount() > 0) && (adultSlots >= adultsRequired) && childrenFit && totalFit\r\n                };\r\n            }\r\n            function buildRoomSelectionItem() {\r\n                var entries = normalizeSelectedRoomEntries();\r\n                if (!entries.length) {\r\n                    return null;\r\n                }\r\n\r\n                var firstItem = null;\r\n                var baseTotal = 0;\r\n                var distinctRoomIds = [];\r\n                var facilitiesMap = {};\r\n                var optionalsMap = {};\r\n\r\n                entries.forEach(function(entry) {\r\n                    var item = getRoomItemById(entry.room_id);\r\n                    var qty = parseInt(entry.quantity || '0', 10) || 0;\r\n                    if (!item || qty <= 0) {\r\n                        return;\r\n                    }\r\n\r\n                    if (!firstItem) {\r\n                        firstItem = item;\r\n                    }\r\n\r\n                    distinctRoomIds.push(entry.room_id);\r\n                    baseTotal += (parseFloat(item.base_total_raw || item.base_total || 0) || 0) * qty;\r\n\r\n                    if (Array.isArray(item.facilities)) {\r\n                        item.facilities.forEach(function(facility) {\r\n                            if (!facility || typeof facility !== 'object') {\r\n                                return;\r\n                            }\r\n                            var facilityKey = facility.id ? ('id:' + String(facility.id)) : ('name:' + String(facility.name || ''));\r\n                            facilitiesMap[facilityKey] = facility;\r\n                        });\r\n                    }\r\n\r\n                    if (Array.isArray(item.optionals)) {\r\n                        item.optionals.forEach(function(optional) {\r\n                            if (!optional || typeof optional !== 'object') {\r\n                                return;\r\n                            }\r\n                            var optionalKey = optional.id ? ('id:' + String(optional.id)) : ('name:' + String(optional.name || ''));\r\n                            if (!optionalsMap[optionalKey]) {\r\n                                optionalsMap[optionalKey] = optional;\r\n                            }\r\n                        });\r\n                    }\r\n                });\r\n\r\n                if (!firstItem) {\r\n                    return null;\r\n                }\r\n\r\n                distinctRoomIds = Array.from(new Set(distinctRoomIds));\r\n                var optionals = Object.keys(optionalsMap).map(function(key){ return optionalsMap[key]; });\r\n\r\n                return {\r\n                    type: 'room',\r\n                    label: distinctRoomIds.length > 1 ? i18n.combo_rooms_label : (firstItem.label || ''),\r\n                    description: distinctRoomIds.length > 1 ? i18n.combo_rooms_desc : (firstItem.description || ''),\r\n                    room_id: parseInt(firstItem.room_id || '0', 10) || 0,\r\n                    package_id: 0,\r\n                    nights: parseInt(firstItem.nights || '0', 10) || 0,\r\n                    base_total_raw: parseFloat(baseTotal || 0) || 0,\r\n                    base_total: formatMoney(baseTotal || 0),\r\n                    optionals: optionals,\r\n                    facilities: Object.keys(facilitiesMap).map(function(key){ return facilitiesMap[key]; }),\r\n                    selected_rooms: entries,\r\n                    selection_mode: 'multi_room',\r\n                    allocated_rooms: [],\r\n                    allocated_room_ids: [],\r\n                    allocation_summary: getRoomSelectionCapacitySummary(),\r\n                    allocation_type: 'user_selected'\r\n                };\r\n            }\r\n            function getRoomSelectionStatusMessage(summary) {\r\n                if (!summary || !summary.selected_units) {\r\n                    return i18n.room_selection_select_at_least_one;\r\n                }\r\n                if (!summary.meets_room_count) {\r\n                    return i18n.room_selection_min_rooms_prefix + ' ' + String(summary.required_rooms) + ' ' + i18n.room_selection_min_rooms_suffix;\r\n                }\r\n                if (!summary.fits_adults) {\r\n                    return i18n.room_selection_not_enough_adults;\r\n                }\r\n                if (!summary.fits_children) {\r\n                    return i18n.room_selection_not_enough_children;\r\n                }\r\n                if (!summary.fits_total) {\r\n                    return i18n.room_selection_not_enough_capacity;\r\n                }\r\n                return '';\r\n            }\r\n            function syncRoomSelectionState() {\r\n                if (!isRoomResultsMode()) {\r\n                    syncSelectedRoomsJson();\r\n                    return;\r\n                }\r\n\r\n                selectedItem = buildRoomSelectionItem();\r\n                hSelectedPackageId.value = '';\r\n                hSelectedRoomId.value = selectedItem ? String(selectedItem.room_id || 0) : '';\r\n                syncSelectedRoomsJson();\r\n                lastBaseTotal = selectedItem ? (parseFloat(selectedItem.base_total_raw || selectedItem.base_total || 0) || 0) : 0;\r\n                lastNights = selectedItem ? (parseInt(selectedItem.nights || 0, 10) || 0) : 0;\r\n\r\n                var statusEl = result.querySelector('[data-gpbf-room-selection-status]');\r\n                var summary = getRoomSelectionCapacitySummary();\r\n                var statusMessage = getRoomSelectionStatusMessage(summary);\r\n\r\n                if (statusEl) {\r\n    statusEl.innerHTML = '';\r\n}\r\n                if (selectedItem && !statusMessage) {\r\n                    \/\/ Op\u021bionalele au fost eliminate din flux \u2014 nu mai oferim\r\n                    \/\/ personalizarea sejurului, indiferent de selec\u021bie.\r\n                    setPayUnlocked();\r\n                    setOptionalsVisible(false);\r\n                    optionalsList.innerHTML = '';\r\n                    optionalsEmpty.classList.add('gpbf-hidden');\r\n                    optionalsToggle.classList.add('gpbf-hidden');\r\n                    updateTotals();\r\n                } else {\r\n                    setPayLocked();\r\n                    setOptionalsVisible(false);\r\n                    optionalsList.innerHTML = '';\r\n                    updateTotals();\r\n                }\r\n            }\r\n            function updateTotals() {\r\n                var base = selectedItem ? (parseFloat(selectedItem.base_total_raw || selectedItem.base_total || 0) || 0) : 0;\r\n                var options = 0;\r\n                Array.prototype.forEach.call(optionalsList.querySelectorAll('input[type=\"hidden\"]'), function(inp){\r\n                    var qty = parseInt(inp.value || '0', 10) || 0;\r\n                    var price = parseFloat(inp.getAttribute('data-price') || '0') || 0;\r\n                    options += qty * price;\r\n                });\r\n                totalValue.textContent = formatMoney(base + options);\r\n                optionalsMaxMsg.style.display = optLimitHit ? 'block' : 'none';\r\n            }\r\n            function resetOptionals() {\r\n                Array.prototype.forEach.call(optionalsList.querySelectorAll('input[type=\"hidden\"]'), function(inp){\r\n                    inp.value = '0';\r\n                });\r\n                Array.prototype.forEach.call(optionalsList.querySelectorAll('.gpbf-optional__count'), function(cnt){\r\n                    cnt.textContent = '0';\r\n                });\r\n                optLimitHit = false;\r\n                refreshPlusDisabled();\r\n                updateTotals();\r\n            }\r\n            function refreshPlusDisabled() {\r\n                var maxPer = getMaxPerOptional();\r\n                Array.prototype.forEach.call(optionalsList.querySelectorAll('.gpbf-optional'), function(row){\r\n                    var inp = row.querySelector('input[type=\"hidden\"]');\r\n                    var plus = row.querySelector('.gpbf-opt-plus');\r\n                    var qty = parseInt(inp ? (inp.value || '0') : '0', 10) || 0;\r\n                    if (plus) plus.disabled = maxPer > 0 && qty >= maxPer;\r\n                });\r\n            }\r\n            function renderOptionals() {\r\n                var optionals = selectedItem && Array.isArray(selectedItem.optionals) ? selectedItem.optionals : [];\r\n                optionalsList.innerHTML = '';\r\n                optionalsToggle.classList.add('gpbf-hidden');\r\n                optionalsEmpty.classList.toggle('gpbf-hidden', optionals.length !== 0);\r\n\r\n                optionals.forEach(function(item, index){\r\n                    var row = document.createElement('div');\r\n                    row.className = 'gpbf-optional' + (index >= 3 ? ' gpbf-optional--hidden' : '');\r\n                    if (index >= 3) row.style.display = 'none';\r\n\r\n                    row.innerHTML = ''\r\n                        + '<div class=\"gpbf-optional__content\">'\r\n                        +   '<div class=\"gpbf-optional__title\">' + escapeHtml(item.name || '') + '<\/div>'\r\n                        +   '<div class=\"gpbf-optional__meta\">' + escapeHtml(item.description || '') + '<\/div>'\r\n                        +   '<div class=\"gpbf-optional__meta\">' + escapeHtml(formatMoney(item.price || 0).replace('.', ',')) + ' lei<\/div>'\r\n                        + '<\/div>'\r\n                        + '<div class=\"gpbf-optional__actions\">'\r\n                        +   '<button type=\"button\" class=\"gpbf-opt-minus\" aria-label=\"' + escapeHtml(i18n.decrease) + '\">\u2212<\/button>'\r\n                        +   '<div class=\"gpbf-optional__count\">0<\/div>'\r\n                        +   '<button type=\"button\" class=\"gpbf-opt-plus\" aria-label=\"' + escapeHtml(i18n.increase) + '\">+<\/button>'\r\n                        +   '<input type=\"hidden\" name=\"gpb_optionals_qty[' + String(item.id) + ']\" value=\"0\" data-price=\"' + escapeHtml(item.price || 0) + '\">'\r\n                        + '<\/div>';\r\n\r\n                    optionalsList.appendChild(row);\r\n                });\r\n\r\n                if (optionals.length > 3) {\r\n                    optionalsToggle.classList.remove('gpbf-hidden');\r\n                    optionalsToggle.querySelector('.gp-btn__text').textContent = i18n.view_all_optionals;\r\n                }\r\n                refreshPlusDisabled();\r\n                updateTotals();\r\n            }\r\n            function setSelection(item) {\r\n                selectedItem = item || null;\r\n                hSelectedRoomId.value = selectedItem ? String(selectedItem.room_id || 0) : '';\r\n                hSelectedPackageId.value = selectedItem ? String(selectedItem.package_id || 0) : '';\r\n                if (hSelectedRoomsJson && (!selectedItem || selectedItem.package_id)) {\r\n                    hSelectedRoomsJson.value = '[]';\r\n                }\r\n                lastBaseTotal = selectedItem ? (parseFloat(selectedItem.base_total_raw || selectedItem.base_total || 0) || 0) : 0;\r\n                lastNights = selectedItem ? (parseInt(selectedItem.nights || 0, 10) || 0) : 0;\r\n\r\n                if (selectedItem) {\r\n                    \/\/ Op\u021bionalele au fost eliminate din flux \u2014 nu mai oferim\r\n                    \/\/ personalizarea sejurului, indiferent de selec\u021bie.\r\n                    setPayUnlocked();\r\n                    setOptionalsVisible(false);\r\n                    optionalsList.innerHTML = '';\r\n                    optionalsEmpty.classList.add('gpbf-hidden');\r\n                    optionalsToggle.classList.add('gpbf-hidden');\r\n                    updateTotals();\r\n                } else {\r\n                    setPayLocked();\r\n                    setOptionalsVisible(false);\r\n                    optionalsList.innerHTML = '';\r\n                    updateTotals();\r\n                }\r\n            }\r\n            function renderChoices(items, summaryText) {\r\n                var isRoomMode = items.every(function(item){ return item && !item.package_id; });\r\n                var html = '';\r\nif (summaryText) {\r\n    html += renderAlert(\r\n        'success',\r\n        currentBookingType() === 'day_use' ? i18n.selection_available_day_use : i18n.selection_available_stay,\r\n        summaryText\r\n    );\r\n}\r\nhtml += '<div style=\"display:grid;gap:12px;' + (summaryText ? 'margin-top:12px;' : '') + '\">';\r\n                html += '<div><strong>' + (isRoomMode ? i18n.choose_room_combo : i18n.choose_option) + '<\/strong><\/div>';\r\n\r\n                items.forEach(function(item, index){\r\n                    var meta = [];\r\n                    var facilities = [];\r\n                    var availableUnits = parseInt(item.available_units || item.max_selectable_units || 0, 10) || 0;\r\n                    var maxSelectableUnits = parseInt(item.max_selectable_units || availableUnits || 0, 10) || 0;\r\n                    var currentQty = parseInt(selectedRoomQuantities[item.room_id] || '0', 10) || 0;\r\n\r\n                    if (item.room_meta && item.room_meta.max_capacity) meta.push(i18n.max_capacity_prefix + ' ' + item.room_meta.max_capacity);\r\n                    if (item.room_meta && item.room_meta.max_adults) meta.push(i18n.max_adults_prefix + ' ' + item.room_meta.max_adults);\r\n                    if (item.room_meta && item.room_meta.max_children) meta.push(i18n.max_children_prefix + ' ' + item.room_meta.max_children);\r\n                   \r\n                    if (Array.isArray(item.facilities)) {\r\n                        item.facilities.forEach(function(facility) {\r\n                            if (!facility || !facility.name) {\r\n                                return;\r\n                            }\r\n                            facilities.push(facility.name);\r\n                        });\r\n                    }\r\n\r\n                    if (isRoomMode) {\r\n                        var availabilityLabel = availableUnits === 1\r\n                            ? i18n.room_available_singular\r\n                            : String(availableUnits) + ' ' + i18n.rooms_available_plural_suffix;\r\n\r\n                        html += ''\r\n                            + '<div style=\"display:block;border:1px solid #e5e7eb;border-radius:12px;padding:12px;\">'\r\n                            +   '<div class=\"gpbf-result-card\">'\r\n                            +     '<div class=\"gpbf-result-card__media\">'\r\n                            +       '<img decoding=\"async\" src=\"' + escapeHtml(item.image_url || '') + '\" alt=\"' + escapeHtml(item.image_alt || '') + '\">'\r\n                            +     '<\/div>'\r\n                            +     '<div class=\"gpbf-result-card__body\">'\r\n                            +       '<strong>' + escapeHtml(item.label || '') + '<\/strong>'\r\n                            +       (item.description ? '<div style=\"margin-top:6px;\">' + escapeHtml(item.description) + '<\/div>' : '')\r\n                            +      (facilities.length ? '<div style=\"margin-top:6px;color:#667085;\">' + escapeHtml(i18n.facilities_included) + ' '\r\n+ facilities.map(function(f){ return '<span style=\"color:#54aa59;\">\u2713<\/span> ' + escapeHtml(f); }).join(' ')\r\n+ '<\/div>' : '')\r\n                            +       (meta.length ? '<div style=\"margin-top:6px;\">' + escapeHtml(meta.join(' \u2022 ')) + '<\/div>' : '')\r\n                            +       '<div style=\"margin-top:6px;\"><strong>' + escapeHtml(formatMoney(item.base_total || 0).replace('.', ',')) + ' ' + escapeHtml(i18n.per_stay_suffix) + '<\/strong><\/div>'\r\n                            +       '<div class=\"gpbf-room-availability\" style=\"margin-top:8px;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#166534;color:#ffffff;font-size:13px;font-weight:300;\">'\r\n\r\n                            +         '<strong>' + escapeHtml(availabilityLabel) + '<\/strong>'\r\n                            +       '<\/div>'\r\n                            +       '<div class=\"gpbf-room-qty gpbf-optional__actions\" style=\"display:flex;align-items:center;gap:8px;margin-top:12px;\">'\r\n                            +         '<button type=\"button\" class=\"gpbf-room-minus gpbf-opt-minus\" data-room-id=\"' + String(item.room_id || 0) + '\" aria-label=\"' + escapeHtml(i18n.decrease) + '\" ' + (currentQty <= 0 ? 'disabled' : '') + '>\u2212<\/button>'\r\n                            +         '<div class=\"gpbf-room-qty__value gpbf-optional__count\" data-room-qty-value=\"' + String(item.room_id || 0) + '\">' + String(currentQty) + '<\/div>'\r\n                            +         '<button type=\"button\" class=\"gpbf-room-plus gpbf-opt-plus\" data-room-id=\"' + String(item.room_id || 0) + '\" aria-label=\"' + escapeHtml(i18n.increase) + '\" ' + (currentQty >= maxSelectableUnits ? 'disabled' : '') + '>+<\/button>'\r\n                            +       '<\/div>'\r\n                            +     '<\/div>'\r\n                            +   '<\/div>'\r\n                            + '<\/div>';\r\n                    } else {\r\n                        html += ''\r\n                            + '<label style=\"display:block;border:1px solid #e5e7eb;border-radius:12px;padding:12px;cursor:pointer;\">'\r\n                            +   '<div class=\"gpbf-result-card\">'\r\n                            +     '<div class=\"gpbf-result-card__media\">'\r\n                            +       '<img decoding=\"async\" src=\"' + escapeHtml(item.image_url || '') + '\" alt=\"' + escapeHtml(item.image_alt || '') + '\">'\r\n                            +     '<\/div>'\r\n                            +     '<div class=\"gpbf-result-card__body\">'\r\n                            +       '<input type=\"radio\" name=\"gpbf_choice_' + rootId + '\" value=\"' + index + '\" ' + (items.length === 1 && index === 0 ? 'checked' : '') + '>'\r\n                            +       ' <strong>' + escapeHtml(item.label || '') + '<\/strong>'\r\n                            +       (item.description ? '<div style=\"margin-top:6px;\">' + escapeHtml(item.description) + '<\/div>' : '')\r\n                            +       (facilities.length ? '<div style=\"margin-top:6px;color:#667085;\">' + escapeHtml(i18n.facilities_included) + ' '\r\n+ facilities.map(function(f){ return '<span style=\"color:#54aa59;\">\u2713<\/span> ' + escapeHtml(f); }).join(' ')\r\n+ '<\/div>' : '')\r\n\t\t\t\t\t\t\t+       (meta.length && item.type !== 'package' && item.type !== 'package_room' ? '<div style=\"margin-top:6px;\">' + escapeHtml(meta.join(' \u2022 ')) + '<\/div>' : '')\r\n                            +       '<div style=\"margin-top:6px;\"><strong>' + escapeHtml(formatMoney(item.base_total || 0).replace('.', ',')) + ' ' + escapeHtml(i18n.currency_suffix) + '<\/strong><\/div>'\r\n                            +     '<\/div>'\r\n                            +   '<\/div>'\r\n                            + '<\/label>';\r\n                    }\r\n                });\r\n\r\n                if (isRoomMode) {\r\n                    html += '<div data-gpbf-room-selection-status style=\"margin-top:4px;\"><\/div>';\r\n                }\r\n\r\n                html += '<\/div>';\r\n                result.innerHTML = html;\r\n\r\n                if (isRoomMode) {\r\n                    Array.prototype.forEach.call(result.querySelectorAll('.gpbf-room-minus'), function(button){\r\n                        button.addEventListener('click', function(){\r\n                            var roomId = parseInt(button.getAttribute('data-room-id') || '0', 10) || 0;\r\n                            if (!roomId) return;\r\n                            var item = getRoomItemById(roomId);\r\n                            var currentQty = parseInt(selectedRoomQuantities[roomId] || '0', 10) || 0;\r\n                            if (!item || currentQty <= 0) return;\r\n                            selectedRoomQuantities[roomId] = Math.max(0, currentQty - 1);\r\n                            if (selectedRoomQuantities[roomId] <= 0) {\r\n                                delete selectedRoomQuantities[roomId];\r\n                            }\r\n                            renderChoices(availableItems, '');\r\n                            syncRoomSelectionState();\r\n                        });\r\n                    });\r\n\r\n                    Array.prototype.forEach.call(result.querySelectorAll('.gpbf-room-plus'), function(button){\r\n                        button.addEventListener('click', function(){\r\n                            var roomId = parseInt(button.getAttribute('data-room-id') || '0', 10) || 0;\r\n                            if (!roomId) return;\r\n                            var item = getRoomItemById(roomId);\r\n                            var maxQty = parseInt(item && (item.max_selectable_units || item.available_units) || '0', 10) || 0;\r\n                            var currentQty = parseInt(selectedRoomQuantities[roomId] || '0', 10) || 0;\r\n                            if (!item || currentQty >= maxQty) return;\r\n                            selectedRoomQuantities[roomId] = currentQty + 1;\r\n                            renderChoices(availableItems, '');\r\n                            syncRoomSelectionState();\r\n                        });\r\n                    });\r\n\r\n                   selectedItem = null;\r\nhSelectedRoomId.value = '';\r\nhSelectedPackageId.value = '';\r\nsyncSelectedRoomsJson();\r\nsetPayLocked();\r\nsetOptionalsVisible(false);\r\nupdateTotals();\r\n\r\nvar statusEl = result.querySelector('[data-gpbf-room-selection-status]');\r\nif (statusEl) {\r\n    statusEl.innerHTML = '';\r\n}               \r\n\t\t\t\t} else {\r\n                    var radios = result.querySelectorAll('input[type=\"radio\"]');\r\n                    Array.prototype.forEach.call(radios, function(radio){\r\n                        radio.addEventListener('change', function(){\r\n                            var idx = parseInt(radio.value || '-1', 10);\r\n                            if (idx >= 0 && items[idx]) {\r\n                                setSelection(items[idx]);\r\n                            }\r\n                        });\r\n                    });\r\n\r\n                    if (items.length === 1) {\r\n                        setSelection(items[0]);\r\n                    } else {\r\n                        setSelection(null);\r\n                    }\r\n                }\r\n            }\r\n            function applyAjaxResult(res) {\r\n                if (!res || typeof res !== 'object') {\r\n                    result.innerHTML = renderAlert('error', uiMessages.errorTitle, uiMessages.genericError);\r\n                    setPayLocked();\r\n                    setOptionalsVisible(false);\r\n                    return;\r\n                }\r\n\r\n                if (!res.ok) {\r\n                    result.innerHTML = renderAlert('error', uiMessages.errorTitle, String(res.message || uiMessages.genericError));\r\n                    setPayLocked();\r\n                    setOptionalsVisible(false);\r\n                    availableItems = [];\r\n                    selectedItem = null;\r\n                    updateTotals();\r\n                    return;\r\n                }\r\n\r\n                availableItems = Array.isArray(res.available_items) ? res.available_items : [];\r\n                selectedRoomQuantities = {};\r\n                if (hSelectedRoomsJson) {\r\n                    hSelectedRoomsJson.value = '[]';\r\n                }\r\n                if (!availableItems.length) {\r\n                    result.innerHTML = renderAlert('error', uiMessages.errorTitle, i18n.no_more_availability);\r\n                    setPayLocked();\r\n                    setOptionalsVisible(false);\r\n                    return;\r\n                }\r\n\r\n                var s = res.summary || {};\r\n                var summaryText = '';\r\n                if (res.booking_type === 'day_use') {\r\n                    summaryText = i18n.selected_date_prefix + ' ' + (s.booking_date || '') + '. ' + i18n.guests_label_prefix + ' ' + (s.adults || 0) + ' ' + i18n.guests_adults_suffix + ', ' + (s.children || 0) + ' ' + i18n.guests_children_suffix + '. ' + String(res.message || '');\r\n                } else {\r\n                    summaryText = i18n.selected_period_prefix + ' ' + (s.check_in || '') + ' \u2014 ' + (s.check_out || '') + '. ' + i18n.selected_rooms_prefix + ' ' + (s.rooms || 1) + '. ' + i18n.guests_label_prefix + ' ' + (s.adults || 0) + ' ' + i18n.guests_adults_suffix + ', ' + (s.children || 0) + ' ' + i18n.guests_children_suffix + '. ' + String(res.message || '');\r\n                }\r\n\r\n                var isSpecificContext = contextData && (contextData.mode === 'room_specific' || contextData.mode === 'package_specific');\r\n\r\n                if (isSpecificContext && availableItems.length === 1) {\r\n                    var onlyItem = availableItems[0];\r\n\r\n                    if (onlyItem.package_id) {\r\n                        setSelection(onlyItem);\r\n                    } else {\r\n                        selectedRoomQuantities[onlyItem.room_id] = Math.max(1, state.rooms || 1);\r\n                        syncRoomSelectionState();\r\n                    }\r\n\r\n                    if (selectedItem) {\r\n                        result.innerHTML = renderAlert(\r\n                            'success',\r\n                            currentBookingType() === 'day_use' ? i18n.selection_available_day_use : i18n.selection_available_stay,\r\n                            summaryText\r\n                        );\r\n\r\n                        window.setTimeout(function () {\r\n                            if (typeof form.requestSubmit === 'function') {\r\n                                form.requestSubmit(submitBtn);\r\n                            } else {\r\n                                submitBtn.click();\r\n                            }\r\n                        }, 50);\r\n\r\n                        return;\r\n                    }\r\n                }\r\n\r\n                renderChoices(availableItems, summaryText);\r\n            }\r\n\r\n            function openGuests() {\r\n                guestsPanel.classList.add('is-open');\r\n                guestsField.setAttribute('aria-expanded', 'true');\r\n\r\n                if (isMobileUI()) {\r\n                    setMobileOverlay(true);\r\n                    setBodyLock(true);\r\n                    guestsPanel.style.display = 'flex';\r\n                    guestsPanel.style.left = '12px';\r\n                    guestsPanel.style.right = '12px';\r\n                    guestsPanel.style.top = '12px';\r\n                    guestsPanel.style.bottom = '12px';\r\n                    void guestsPanel.offsetHeight;\r\n                }\r\n            }\r\n            function closeGuests() {\r\n                guestsPanel.classList.remove('is-open');\r\n                guestsField.setAttribute('aria-expanded', 'false');\r\n                if (isMobileUI()) {\r\n                    setMobileOverlay(false);\r\n                    setBodyLock(false);\r\n                }\r\n            }\r\n            function toggleGuests() {\r\n                if (guestsPanel.classList.contains('is-open')) closeGuests();\r\n                else openGuests();\r\n            }\r\n            function isValidDayUseSelection() {\r\n                return !!hBookingDate.value;\r\n            }\r\n            function isValidStaySelection() {\r\n                return !!hCheckIn.value && !!hCheckOut.value;\r\n            }\r\n            function validateBeforeCheck() {\r\n                if (currentBookingType() === 'day_use') {\r\n                    return isValidDayUseSelection() ? '' : i18n.invalid_date_required;\r\n                }\r\n                if (!isValidStaySelection()) {\r\n                    return i18n.invalid_range_required;\r\n                }\r\n                return getPackageRangeValidationMessage(hCheckIn.value || '', hCheckOut.value || '');\r\n            }\r\n            function lockPayAndResetOptionals() {\r\n                setPayLocked();\r\n                setSelection(null);\r\n                result.innerHTML = '';\r\n            }\r\n            function buildData() {\r\n                var fd = new FormData();\r\n                fd.append('action', ajaxAction);\r\n                fd.append('nonce', nonce);\r\n                fd.append('context_mode', contextData.mode || 'rooms_general');\r\n                fd.append('room_code', contextData.room_code || '');\r\n                fd.append('package_code', contextData.package_code || '');\r\n                fd.append('adults', hAdults.value || '1');\r\n                fd.append('children', hChildren.value || '0');\r\n                fd.append('children_cat_1', hChildrenCat1 ? (hChildrenCat1.value || '0') : '0');\r\n                fd.append('children_cat_2', hChildrenCat2 ? (hChildrenCat2.value || '0') : '0');\r\n                if (currentBookingType() === 'day_use') {\r\n                    fd.append('booking_date', hBookingDate.value || '');\r\n                } else {\r\n                    fd.append('check_in', hCheckIn.value || '');\r\n                    fd.append('check_out', hCheckOut.value || '');\r\n                    fd.append('rooms', hRooms.value || '1');\r\n                }\r\n                return fd;\r\n            }\r\n\r\n            guestsField.addEventListener('click', function(e) {\r\n                e.preventDefault();\r\n                e.stopPropagation();\r\n                toggleGuests();\r\n            });\r\n            guestsField.addEventListener('keydown', function(e) {\r\n                if (e.key === 'Enter' || e.key === ' ') {\r\n                    e.preventDefault();\r\n                    toggleGuests();\r\n                }\r\n                if (e.key === 'Escape') {\r\n                    e.preventDefault();\r\n                    closeGuests();\r\n                }\r\n            });\r\n            document.addEventListener('click', function(e) {\r\n                if (!guestsPanel.classList.contains('is-open')) return;\r\n                if (root.contains(e.target) && (guestsPanel.contains(e.target) || guestsField.contains(e.target))) return;\r\n                closeGuests();\r\n            });\r\n            if (mobileOverlay) {\r\n                mobileOverlay.addEventListener('click', function() { closeGuests(); });\r\n            }\r\n            if (guestsCloseBtn) {\r\n                guestsCloseBtn.addEventListener('click', closeGuests);\r\n            }\r\n            if (guestsDoneBtn) {\r\n                guestsDoneBtn.addEventListener('click', closeGuests);\r\n            }\r\n            guestsPanel.addEventListener('click', function(e) {\r\n                var btn = e.target.closest('button');\r\n                if (!btn) return;\r\n                var row = e.target.closest('.gpbf-guests-row');\r\n                if (!row) return;\r\n                var k = row.getAttribute('data-k');\r\n\r\n                if (btn.classList.contains('gpbf-minus')) {\r\n                    if (k === 'adults' && state.adults > 1) state.adults--;\r\n                    if (k === 'children_cat_1' && state.children_cat_1 > 0) state.children_cat_1--;\r\n                    if (k === 'children_cat_2' && state.children_cat_2 > 0) state.children_cat_2--;\r\n                    if (k === 'rooms' && !shouldHideRoomsSelector() && state.rooms > 1) state.rooms--;\r\n                }\r\n                if (btn.classList.contains('gpbf-plus')) {\r\n                    if (k === 'adults') state.adults++;\r\n                    if (k === 'children_cat_1') state.children_cat_1++;\r\n                    if (k === 'children_cat_2') state.children_cat_2++;\r\n                    if (k === 'rooms' && !shouldHideRoomsSelector()) state.rooms++;\r\n                }\r\n                syncGuests();\r\n                lockPayAndResetOptionals();\r\n            });\r\n\r\n            optionalsList.addEventListener('click', function(e) {\r\n                var plus = e.target.closest('.gpbf-opt-plus');\r\n                var minus = e.target.closest('.gpbf-opt-minus');\r\n                if (!plus && !minus) return;\r\n\r\n                var row = e.target.closest('.gpbf-optional');\r\n                if (!row) return;\r\n\r\n                var inp = row.querySelector('input[type=\"hidden\"]');\r\n                var cnt = row.querySelector('.gpbf-optional__count');\r\n                var v = inp ? parseInt(inp.value || '0', 10) : 0;\r\n                if (!isFinite(v) || v < 0) v = 0;\r\n\r\n                var maxPer = getMaxPerOptional();\r\n                if (plus) {\r\n                    if (maxPer > 0 && v >= maxPer) {\r\n                        optLimitHit = true;\r\n                        updateTotals();\r\n                        refreshPlusDisabled();\r\n                        return;\r\n                    }\r\n                    v++;\r\n                    optLimitHit = false;\r\n                }\r\n                if (minus) {\r\n                    if (v > 0) v--;\r\n                    optLimitHit = false;\r\n                }\r\n\r\n                if (inp) inp.value = String(v);\r\n                if (cnt) cnt.textContent = String(v);\r\n\r\n                updateTotals();\r\n                refreshPlusDisabled();\r\n            });\r\n\r\n            optionalsToggle.addEventListener('click', function() {\r\n                var hidden = optionalsList.querySelectorAll('.gpbf-optional--hidden');\r\n                if (!hidden.length) return;\r\n\r\n                var showingAll = Array.prototype.some.call(hidden, function(row) {\r\n                    return window.getComputedStyle(row).display !== 'none';\r\n                });\r\n\r\n                Array.prototype.forEach.call(hidden, function(row) {\r\n                    row.style.display = showingAll ? 'none' : 'flex';\r\n                });\r\n\r\n                optionalsToggle.querySelector('.gp-btn__text').textContent = showingAll ? i18n.view_all_optionals : i18n.view_fewer_optionals;\r\n            });\r\n\r\n            function monthLabelRo(d) {\r\n                var mo = i18n.months_full;\r\n                return mo[d.getMonth()] + ' ' + d.getFullYear();\r\n            }\r\n            function destroyFlatpickr() {\r\n                if (fp && typeof fp.destroy === 'function') fp.destroy();\r\n                fp = null;\r\n            }\r\n            function ensureCalendarMobileChrome(instance) {\r\n                if (!instance || !instance.calendarContainer) return;\r\n                var calendar = instance.calendarContainer;\r\n                var stickyHeader = calendar.querySelector('.gpbf-fp-mobile-sticky-header');\r\n                if (!stickyHeader) {\r\n                    stickyHeader = document.createElement('div');\r\n                    stickyHeader.className = 'gpbf-fp-mobile-sticky-header';\r\n                    calendar.insertBefore(stickyHeader, calendar.firstChild);\r\n                }\r\n                \r\n\t\t\t\tvar closeBtn = calendar.querySelector('.gpbf-fp-mobile-close');\r\nif (closeBtn && closeBtn.parentNode) {\r\n    closeBtn.parentNode.removeChild(closeBtn);\r\n}\r\ncloseBtn = null;\r\n\t\t\t\t\r\n                var weekdaysBar = calendar.querySelector('.gpbf-fp-mobile-weekdays');\r\n                if (!weekdaysBar) {\r\n                    weekdaysBar = document.createElement('div');\r\n                    weekdaysBar.className = 'gpbf-fp-mobile-weekdays';\r\n                    weekdaysBar.setAttribute('aria-hidden', 'true');\r\n                    weekdaysBar.innerHTML = i18n.weekday_initials.map(function(w){ return '<span>' + escapeHtml(w) + '<\/span>'; }).join('');\r\n                }\r\n                if (closeBtn && closeBtn.parentNode !== stickyHeader) stickyHeader.appendChild(closeBtn);\r\n                if (weekdaysBar.parentNode !== stickyHeader) stickyHeader.appendChild(weekdaysBar);\r\n\r\n                var actions = calendar.querySelector('.gpbf-fp-mobile-actions');\r\n                if (!actions) {\r\n                    actions = document.createElement('div');\r\n                    actions.className = 'gpbf-fp-mobile-actions';\r\n                    var doneBtn = document.createElement('button');\r\n                    doneBtn.type = 'button';\r\n                    doneBtn.className = 'gp-btn gp-btn--primary';\r\n                    doneBtn.innerHTML = '<span class=\"gp-btn__text\">' + escapeHtml(i18n.done) + '<\/span>';\r\n                    doneBtn.addEventListener('click', function() { instance.close(); });\r\n                    actions.appendChild(doneBtn);\r\n                    calendar.appendChild(actions);\r\n                }\r\n            }\r\n            function syncMobileCalendarLayout(instance) {\r\n                if (!instance || !instance.calendarContainer) return;\r\n                var calendar = instance.calendarContainer;\r\n                var isMobile = isMobileUI();\r\n                calendar.classList.toggle('gpbf-fp-mobile-mode', isMobile);\r\n                Array.prototype.forEach.call(calendar.querySelectorAll('.gpbf-fp-mobile-month-title'), function(node) {\r\n                    node.parentNode.removeChild(node);\r\n                });\r\n                var weekdaysBar = calendar.querySelector('.gpbf-fp-mobile-weekdays');\r\n                if (weekdaysBar) weekdaysBar.style.display = isMobile ? 'flex' : 'none';\r\n                var nativeWeekdays = calendar.querySelector('.flatpickr-weekdays');\r\n                if (nativeWeekdays) nativeWeekdays.style.display = isMobile ? 'none' : '';\r\n                if (!isMobile) return;\r\n                var dayContainers = calendar.querySelectorAll('.dayContainer');\r\n                Array.prototype.forEach.call(dayContainers, function(container, index) {\r\n                    var title = document.createElement('div');\r\n                    title.className = 'gpbf-fp-mobile-month-title';\r\n                    title.textContent = monthLabelRo(new Date(instance.currentYear, instance.currentMonth + index, 1));\r\n                    container.insertBefore(title, container.firstChild);\r\n                });\r\n            }\r\n            var isApplyingPackageAutoSelection = false;\r\n            function buildFlatpickrConfig(mode) {\r\n                var mobile = isMobileUI();\r\n                var isDayUse = mode === 'single';\r\n                var todayDate = ymdToDate(getTodayYMD()) || new Date();\r\n                var packageJumpDate = packageRulesApply() ? getEarliestPackageCalendarDate() : null;\r\n                return {\r\n                    mode: mode,\r\n                    dateFormat: 'Y-m-d',\r\n                    monthSelectorType: 'static',\r\n                    showMonths: mobile ? 12 : 2,\r\n                    static: true,\r\n                    animate: false,\r\n                    disableMobile: true,\r\n                    allowInput: false,\r\n                    clickOpens: true,\r\n                    closeOnSelect: false,\r\n                    minDate: packageJumpDate || todayDate,\r\n                    disable: packageRulesApply() ? [function(date) {\r\n                        var ymd = toYMD(date);\r\n                        if (compareYMD(ymd, getTodayYMD()) < 0) return true;\r\n                        return !packageCalendarRules.some(function(rule) {\r\n                            return isWithinPackageInterval(rule, ymd);\r\n                        });\r\n                    }] : [],\r\n                    defaultDate: isDayUse\r\n                        ? (isValidDayUseSelection() ? hBookingDate.value : null)\r\n                        : (isValidStaySelection() ? [hCheckIn.value, hCheckOut.value] : null),\r\n                    onReady: function(selectedDates, dateStr, instance) {\r\n    ensureCalendarMobileChrome(instance);\r\n    syncMobileCalendarLayout(instance);\r\n\r\n    if (packageRulesApply() && packageJumpDate && !isValidStaySelection()) {\r\n        instance.jumpToDate(packageJumpDate);\r\n        setTimeout(function() {\r\n            syncMobileCalendarLayout(instance);\r\n        }, 0);\r\n    }\r\n\r\n    if (isDayUse) {\r\n        hBookingDate.value = (selectedDates && selectedDates.length === 1) ? toYMD(selectedDates[0]) : '';\r\n    } else {\r\n        hCheckIn.value = (selectedDates && selectedDates.length >= 1) ? toYMD(selectedDates[0]) : '';\r\n        hCheckOut.value = (selectedDates && selectedDates.length >= 2) ? toYMD(selectedDates[1]) : '';\r\n    }\r\n    syncDateLabel();\r\n},\r\n                    onOpen: function(selectedDates, dateStr, instance) {\r\n    ensureCalendarMobileChrome(instance);\r\n    syncMobileCalendarLayout(instance);\r\n\r\n    if (packageRulesApply() && packageJumpDate && !hCheckIn.value) {\r\n        instance.jumpToDate(packageJumpDate);\r\n        setTimeout(function() {\r\n            syncMobileCalendarLayout(instance);\r\n        }, 0);\r\n    }\r\n\r\n    if (isMobileUI()) {\r\n        setMobileOverlay(true);\r\n        setBodyLock(true);\r\n    }\r\n},\r\n                    onClose: function() {\r\n                        if (isMobileUI()) {\r\n                            setMobileOverlay(false);\r\n                            setBodyLock(false);\r\n                        }\r\n                    },\r\n                    onMonthChange: function(selectedDates, dateStr, instance) {\r\n                        syncMobileCalendarLayout(instance);\r\n                    },\r\n                    onYearChange: function(selectedDates, dateStr, instance) {\r\n                        syncMobileCalendarLayout(instance);\r\n                    },\r\n                    onValueUpdate: function(selectedDates, dateStr, instance) {\r\n                        syncMobileCalendarLayout(instance);\r\n                    },\r\n                    onChange: function(selectedDates, dateStr, instance) {\r\n                        if (isDayUse) {\r\n                            hBookingDate.value = (selectedDates && selectedDates.length === 1) ? toYMD(selectedDates[0]) : '';\r\n                            syncDateLabel();\r\n                            lockPayAndResetOptionals();\r\n                            return;\r\n                        }\r\n\r\n                        hCheckIn.value = (selectedDates && selectedDates.length >= 1) ? toYMD(selectedDates[0]) : '';\r\n                        hCheckOut.value = (selectedDates && selectedDates.length >= 2) ? toYMD(selectedDates[1]) : '';\r\n\r\nvar packageCalendarWarning = '';\r\nif (packageAutoSelectApplies() && hCheckIn.value) {\r\n    if (isApplyingPackageAutoSelection) {\r\n        syncDateLabel();\r\n        lockPayAndResetOptionals();\r\n        return;\r\n    }\r\n\r\n    var defaultSelection = getDefaultPackageSelection(hCheckIn.value);\r\n\r\n    if (defaultSelection && defaultSelection.check_out) {\r\n        if (selectedDates.length < 2) {\r\n            isApplyingPackageAutoSelection = true;\r\n            instance.setDate([hCheckIn.value, defaultSelection.check_out], true, 'Y-m-d');\r\n            isApplyingPackageAutoSelection = false;\r\n            return;\r\n        }\r\n    } else {\r\n        var hasValidCheckinRule = getMatchingPackageRules(hCheckIn.value, false).length > 0;\r\n\r\n        if (!hasValidCheckinRule) {\r\n            hCheckOut.value = '';\r\n            packageCalendarWarning = getPackageCheckinErrorMessage(hCheckIn.value);\r\n        }\r\n    }\r\n}\r\n\r\nsyncDateLabel();\r\nlockPayAndResetOptionals();\r\nif (packageCalendarWarning) {\r\n    result.innerHTML = renderAlert('warning', i18n.period_unavailable_title, packageCalendarWarning);\r\n}\r\n\t\t\t\t\t\t\r\n                        syncDateLabel();\r\n                        lockPayAndResetOptionals();\r\n                        if (packageCalendarWarning) {\r\n                            result.innerHTML = renderAlert('warning', i18n.period_unavailable_title, packageCalendarWarning);\r\n                        }\r\n                    }\r\n                };\r\n            }\r\n            function initFlatpickr() {\r\n                if (typeof flatpickr !== 'function' || !dateInput) {\r\n                    syncDateLabel();\r\n                    return;\r\n                }\r\n                destroyFlatpickr();\r\n                try {\r\n                    if (currentLanguage === 'ro' && flatpickr.l10ns && flatpickr.l10ns.ro) {\r\n                        flatpickr.localize(flatpickr.l10ns.ro);\r\n                    } else if (flatpickr.l10ns && flatpickr.l10ns.default) {\r\n                        flatpickr.localize(flatpickr.l10ns.default);\r\n                    }\r\n                } catch (e) {}\r\n                fp = flatpickr(dateInput, buildFlatpickrConfig(currentBookingType() === 'day_use' ? 'single' : 'range'));\r\n            }\r\n\r\n           \r\nif (contactCheckBtn) {\r\n    contactCheckBtn.addEventListener('click', function() {\r\n        if (!validateContactStep()) {\r\n            return;\r\n        }\r\n\r\n        syncContactHiddenFields();\r\n\r\n        contactCheckBtn.disabled = true;\r\n\r\n        try {\r\n            \/\/ Cerem mai \u00eent\u00e2i un nonce proasp\u0103t de la server,\r\n            \/\/ astfel \u00eenc\u00e2t s\u0103 func\u021bioneze corect \u0219i pe pagini servite din cache.\r\n            var nonceFormData = new FormData();\r\n            nonceFormData.append('action', 'gpbe_get_fresh_nonce');\r\n\r\n            fetch(ajaxUrl, {\r\n                method: 'POST',\r\n                credentials: 'same-origin',\r\n                body: nonceFormData\r\n            })\r\n            .then(function(r) {\r\n                return r.json();\r\n            })\r\n            .then(function(nonceResponse) {\r\n                var freshNonce = (nonceResponse && nonceResponse.nonce) ? nonceResponse.nonce : nonce;\r\n\r\n                var leadFormData = new FormData();\r\n                leadFormData.append('action', 'gpbe_leads_capture_contact');\r\n                leadFormData.append('nonce', freshNonce);\r\n                leadFormData.append('gpb_contact_name', hiddenContactName ? hiddenContactName.value : '');\r\n                leadFormData.append('gpb_contact_email', hiddenContactEmail ? hiddenContactEmail.value : '');\r\n                leadFormData.append('gpb_contact_phone', hiddenContactPhone ? hiddenContactPhone.value : '');\r\n                leadFormData.append('gpb_context_mode', contextData && contextData.mode ? contextData.mode : '');\r\n                leadFormData.append('gpb_room_code', contextData && contextData.room_code ? contextData.room_code : '');\r\n                leadFormData.append('gpb_package_code', contextData && contextData.package_code ? contextData.package_code : '');\r\n\r\n                return fetch(ajaxUrl, {\r\n                    method: 'POST',\r\n                    credentials: 'same-origin',\r\n                    body: leadFormData\r\n                });\r\n            })\r\n            .then(function(r) {\r\n                return r.text().then(function(payload) {\r\n                    return {\r\n                        ok: r.ok,\r\n                        status: r.status,\r\n                        payload: payload\r\n                    };\r\n                });\r\n            })\r\n            .then(function(response) {\r\n                var parsed = null;\r\n\r\n                try {\r\n                    parsed = response.payload ? JSON.parse(response.payload) : null;\r\n                } catch (e) {\r\n                    parsed = null;\r\n                }\r\n\r\n                if (!response.ok) {\r\n                    if (parsed && parsed.message) {\r\n                        throw new Error(parsed.message);\r\n                    }\r\n                    throw new Error('http_' + response.status);\r\n                }\r\n\r\n                if (!parsed) {\r\n                    throw new Error('invalid_json');\r\n                }\r\n\r\n                if (!parsed.ok) {\r\n                    throw new Error(parsed.message ? parsed.message : 'lead_capture_failed');\r\n                }\r\n\r\n                syncContactHiddenFields();\r\n                setBookingStepVisible(true);\r\n            })\r\n            .catch(function(err) {\r\n                console.warn('GPBE lead capture failed', err);\r\n                result.innerHTML = renderAlert(\r\n                    'error',\r\n                    uiMessages.errorTitle,\r\n                    (err && err.message) ? err.message : i18n.contact_data_error\r\n                );\r\n            })\r\n            .finally(function() {\r\n                contactCheckBtn.disabled = false;\r\n            });\r\n\r\n        } catch (err) {\r\n            console.warn('GPBE lead capture error', err);\r\n            result.innerHTML = renderAlert(\r\n                'error',\r\n                uiMessages.errorTitle,\r\n                i18n.contact_data_error\r\n            );\r\n            contactCheckBtn.disabled = false;\r\n        }\r\n    });\r\n}\r\n\t\t\t\t\t\t\t\t\t\t\t\t   \r\n            checkBtn.addEventListener('click', function() {\r\n                var validationMessage = validateBeforeCheck();\r\n                if (validationMessage) {\r\n                    result.innerHTML = renderAlert('error', uiMessages.errorTitle, validationMessage);\r\n                    setPayLocked();\r\n                    setOptionalsVisible(false);\r\n                    return;\r\n                }\r\n\r\n                setBusy(true);\r\n                result.innerHTML = renderAlert('info', uiMessages.loadingTitle, uiMessages.loadingText);\r\n                setPayLocked();\r\n                setOptionalsVisible(false);\r\n\r\n                fetch(ajaxUrl, {\r\n                    method: 'POST',\r\n                    body: buildData(),\r\n                    credentials: 'same-origin'\r\n                })\r\n                .then(function(r) {\r\n                    if (!r.ok) throw new Error('http_' + r.status);\r\n                    return r.text();\r\n                })\r\n                .then(function(payload) {\r\n                    try {\r\n                        return JSON.parse(payload);\r\n                    } catch (e) {\r\n                        throw new Error('invalid_json');\r\n                    }\r\n                })\r\n                .then(function(res) {\r\n                    applyAjaxResult(res);\r\n                })\r\n                .catch(function() {\r\n                    result.innerHTML = renderAlert('error', uiMessages.errorTitle, uiMessages.genericError);\r\n                    setPayLocked();\r\n                    setOptionalsVisible(false);\r\n                    toastError(uiMessages.genericError);\r\n                })\r\n                .finally(function() {\r\n                    setBusy(false);\r\n                });\r\n            });\r\n\r\n            form.addEventListener('submit', function(e) {\r\n                syncContactHiddenFields();\r\n\r\n                if (bookingStep && bookingStep.classList.contains('gpbf-hidden')) {\r\n                    e.preventDefault();\r\n                    if (validateContactStep()) {\r\n                        setBookingStepVisible(true);\r\n                    }\r\n                    return;\r\n                }\r\n\r\n                if (submitBtn.disabled) {\r\n                    e.preventDefault();\r\n                    return;\r\n                }\r\n                var validationMessage = validateBeforeCheck();\r\n                if (validationMessage) {\r\n                    e.preventDefault();\r\n                    result.innerHTML = renderAlert('error', uiMessages.errorTitle, validationMessage);\r\n                    return;\r\n                }\r\n                if (isRoomResultsMode()) {\r\n                    var roomSummary = getRoomSelectionCapacitySummary();\r\n                    var roomMessage = getRoomSelectionStatusMessage(roomSummary);\r\n                    if (roomMessage) {\r\n                        e.preventDefault();\r\n                        result.innerHTML = renderAlert('error', uiMessages.errorTitle, roomMessage);\r\n                        return;\r\n                    }\r\n                }\r\n\r\n                if (!selectedItem) {\r\n                    e.preventDefault();\r\n                    result.innerHTML = renderAlert('error', uiMessages.errorTitle, i18n.choose_option_before_continue);\r\n                }\r\n            });\r\n\r\n            var state = {\r\n                adults: parseInt(hAdults.value || '1', 10) || 1,\r\n                children_cat_1: parseInt(hChildrenCat1 ? (hChildrenCat1.value || '0') : '0', 10) || 0,\r\n                children_cat_2: parseInt(hChildrenCat2 ? (hChildrenCat2.value || '0') : '0', 10) || 0,\r\n                rooms: parseInt(hRooms.value || '1', 10) || 1\r\n            };\r\n            if (shouldHideRoomsSelector()) {\r\n                state.rooms = 1;\r\n                hRooms.value = '1';\r\n            }\r\n            ensureRoomsVisibility();\r\n\r\n            \/\/ S\u0103rim direct la booking-step doar dac\u0103 datele de contact sunt deja\r\n            \/\/ completate (f\u0103r\u0103 focus automat, ca s\u0103 nu sar\u0103 pagina la formular).\r\n            setBookingStepVisible(contactStepIsCompleted(), { focus: false });\r\n            syncGuests();\r\n            setPayLocked();\r\n            setOptionalsVisible(false);\r\n            updateTotals();\r\n\r\n            var lastMobileMode = isMobileUI();\r\n            window.addEventListener('resize', function() {\r\n                var nowMobileMode = isMobileUI();\r\n                if (nowMobileMode !== lastMobileMode) {\r\n                    lastMobileMode = nowMobileMode;\r\n                    initFlatpickr();\r\n                    closeGuests();\r\n                }\r\n            });\r\n        })();\r\n        <\/script>\r\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<div class=\"elementor-element elementor-element-c3ef463 e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-parent\" data-id=\"c3ef463\" 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-868c025 e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"868c025\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e683bad elementor-widget elementor-widget-image\" data-id=\"e683bad\" 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 decoding=\"async\" width=\"500\" height=\"500\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/02\/Youness-Clinic-@-Favicon-Transparent-PNG.png\" class=\"attachment-large size-large wp-image-704\" alt=\"\" srcset=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/02\/Youness-Clinic-@-Favicon-Transparent-PNG.png 500w, https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/02\/Youness-Clinic-@-Favicon-Transparent-PNG-175x175.png 175w, https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/02\/Youness-Clinic-@-Favicon-Transparent-PNG-300x300.png 300w, https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/02\/Youness-Clinic-@-Favicon-Transparent-PNG-180x180.png 180w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-aab5f20 elementor-widget elementor-widget-gva-heading-block\" data-id=\"aab5f20\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"gva-heading-block.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"gva-element-gva-heading-block gva-element\">   <div class=\"align-center style-1 widget gsc-heading box-align-center auto-responsive\">\r\n      <div class=\"content-inner\">\r\n         \r\n                  \r\n         <div class=\"sub-title\"><span class=\"tagline\">TESTIMONIALE<\/span><\/div>  \r\n         \r\n                     <h2 class=\"title\">\r\n               <span>Ce spun oaspetii nostri<\/span>\r\n            <\/h2>\r\n         \r\n                  \r\n         \r\n         \r\n      <\/div>\r\n   <\/div>\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5dfd5ed elementor-widget elementor-widget-gva-testimonials\" data-id=\"5dfd5ed\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"gva-testimonials.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"gva-element-gva-testimonials gva-element\">\r\n<div class=\"gsc-testimonial layout-carousel swiper-slider-wrapper style-1 \">\r\n   <div class=\"swiper-content-inner\">\r\n      <div class=\"init-carousel-swiper swiper col-1\" data-carousel=\"{&quot;items&quot;:1,&quot;items_lg&quot;:1,&quot;items_md&quot;:1,&quot;items_sm&quot;:1,&quot;items_xs&quot;:1,&quot;items_xx&quot;:1,&quot;effect&quot;:&quot;slide&quot;,&quot;space_between&quot;:30,&quot;loop&quot;:1,&quot;speed&quot;:1200,&quot;autoplay&quot;:1,&quot;autoplay_delay&quot;:5000,&quot;autoplay_hover&quot;:1,&quot;navigation&quot;:0,&quot;pagination&quot;:1,&quot;dynamic_bullets&quot;:0,&quot;pagination_type&quot;:&quot;bullets&quot;}\">\r\n         <div class=\"swiper-wrapper\">\r\n                           <div class=\"swiper-slide\">\r\n                 <div class=\"testimonial-item style-1 elementor-repeater-item-2533560\">\r\n   \r\n         <div class=\"testimonial-one__single\">\r\n         <div class=\"testimonial-one__content\">\r\n            <span class=\"testimonial-one__icon\"><i class=\" sicon-quote\"><\/i><\/span>\r\n            <div class=\"testimonial-one__meta\">\r\n                              <div class=\"testimonial-one__information\">\r\n                  <h3 class=\"testimonial-one__name\">Cezar Bija<\/h3>\r\n                  <div class=\"testimonial-one__job\"><\/div>\r\n                  <div class=\"testimonial-one__stars\">\r\n                     <i class=\"fa fa-star\"><\/i>\r\n                     <i class=\"fa fa-star\"><\/i>\r\n                     <i class=\"fa fa-star\"><\/i>\r\n                     <i class=\"fa fa-star\"><\/i>\r\n                     <i class=\"fa fa-star\"><\/i>\r\n                  <\/div>\r\n               <\/div>\r\n            <\/div>\r\n         <\/div>\r\n         <div class=\"testimonial-one__quote\">\r\n            Recomand aceasta locatie pentru cine vrea sa isi ragaseasca echilibrul, pacea interioara intr-o oaza de liniste cu oameni calzi si primitori, cu zona verde cum in putine locuri gasesti. Locuri de retragere sau de conexiune dupa voia fiecaruia: padurea,gradina,terasa de la etaj cu o priveliste minunata,sala de lectura,piscina cu sezlonguri,sauna si masaj.         <\/div>\r\n      <\/div>   \r\n     \r\n\r\n     \r\n\r\n    \r\n\r\n<\/div>\r\n\r\n               <\/div>\r\n                           <div class=\"swiper-slide\">\r\n                 <div class=\"testimonial-item style-1 elementor-repeater-item-e7a7c7a\">\r\n   \r\n         <div class=\"testimonial-one__single\">\r\n         <div class=\"testimonial-one__content\">\r\n            <span class=\"testimonial-one__icon\"><i class=\" sicon-quote\"><\/i><\/span>\r\n            <div class=\"testimonial-one__meta\">\r\n                              <div class=\"testimonial-one__information\">\r\n                  <h3 class=\"testimonial-one__name\">Daniel Rada<\/h3>\r\n                  <div class=\"testimonial-one__job\"><\/div>\r\n                  <div class=\"testimonial-one__stars\">\r\n                     <i class=\"fa fa-star\"><\/i>\r\n                     <i class=\"fa fa-star\"><\/i>\r\n                     <i class=\"fa fa-star\"><\/i>\r\n                     <i class=\"fa fa-star\"><\/i>\r\n                     <i class=\"fa fa-star\"><\/i>\r\n                  <\/div>\r\n               <\/div>\r\n            <\/div>\r\n         <\/div>\r\n         <div class=\"testimonial-one__quote\">\r\n            Am avut ocazia sa ajung de mai multe ori in aceasta locatie si pot spune ca este magica! Linistea, natura si oamenii de acolo iti ofera o stare de asezare si relaxare uimitoare, mai ales daca ai nevoie de timp pentru tine. Recomand cu drag si bucurie!         <\/div>\r\n      <\/div>   \r\n     \r\n\r\n     \r\n\r\n    \r\n\r\n<\/div>\r\n\r\n               <\/div>\r\n                           <div class=\"swiper-slide\">\r\n                 <div class=\"testimonial-item style-1 elementor-repeater-item-e9da676\">\r\n   \r\n         <div class=\"testimonial-one__single\">\r\n         <div class=\"testimonial-one__content\">\r\n            <span class=\"testimonial-one__icon\"><i class=\" sicon-quote\"><\/i><\/span>\r\n            <div class=\"testimonial-one__meta\">\r\n                              <div class=\"testimonial-one__information\">\r\n                  <h3 class=\"testimonial-one__name\">Bianca Crenganis<\/h3>\r\n                  <div class=\"testimonial-one__job\"><\/div>\r\n                  <div class=\"testimonial-one__stars\">\r\n                     <i class=\"fa fa-star\"><\/i>\r\n                     <i class=\"fa fa-star\"><\/i>\r\n                     <i class=\"fa fa-star\"><\/i>\r\n                     <i class=\"fa fa-star\"><\/i>\r\n                     <i class=\"fa fa-star\"><\/i>\r\n                  <\/div>\r\n               <\/div>\r\n            <\/div>\r\n         <\/div>\r\n         <div class=\"testimonial-one__quote\">\r\n            \u201cExcelent loc de relaxare . Totul este foarte curat, ordonat, aerisit si bine g\u00e2ndit. Ce ma impresioneaza de fiecare data, este amabilitatea si atentia oferita de personalul clinicii. Merita sa petreci macar o zi, in acest loc, pozitionat in mijlocul naturii, departe de haosul Bucurestiului.\u201d         <\/div>\r\n      <\/div>   \r\n     \r\n\r\n     \r\n\r\n    \r\n\r\n<\/div>\r\n\r\n               <\/div>\r\n                           <div class=\"swiper-slide\">\r\n                 <div class=\"testimonial-item style-1 elementor-repeater-item-35102d2\">\r\n   \r\n         <div class=\"testimonial-one__single\">\r\n         <div class=\"testimonial-one__content\">\r\n            <span class=\"testimonial-one__icon\"><i class=\" sicon-quote\"><\/i><\/span>\r\n            <div class=\"testimonial-one__meta\">\r\n                              <div class=\"testimonial-one__information\">\r\n                  <h3 class=\"testimonial-one__name\">Florentina Stanciu<\/h3>\r\n                  <div class=\"testimonial-one__job\"><\/div>\r\n                  <div class=\"testimonial-one__stars\">\r\n                     <i class=\"fa fa-star\"><\/i>\r\n                     <i class=\"fa fa-star\"><\/i>\r\n                     <i class=\"fa fa-star\"><\/i>\r\n                     <i class=\"fa fa-star\"><\/i>\r\n                     <i class=\"fa fa-star\"><\/i>\r\n                  <\/div>\r\n               <\/div>\r\n            <\/div>\r\n         <\/div>\r\n         <div class=\"testimonial-one__quote\">\r\n            \u201dCand am ajuns prima oara in locatie am simtit o energie aparte, totul este curat si frumos aranjat, in armonie. Cei de la Youness ne-au intampinat cu fresh-uri de fructe si multa caldura. Recomand oricui isi doreste sa petreaca un timp de calitate impreuna cu cei dragi, sa iasa din rutina, sa se relaxeze, sa intre in contact cu natura, si toate astea fara a merge prea departe de Bucuresti.\u201d         <\/div>\r\n      <\/div>   \r\n     \r\n\r\n     \r\n\r\n    \r\n\r\n<\/div>\r\n\r\n               <\/div>\r\n                           <div class=\"swiper-slide\">\r\n                 <div class=\"testimonial-item style-1 elementor-repeater-item-4764be0\">\r\n   \r\n         <div class=\"testimonial-one__single\">\r\n         <div class=\"testimonial-one__content\">\r\n            <span class=\"testimonial-one__icon\"><i class=\" sicon-quote\"><\/i><\/span>\r\n            <div class=\"testimonial-one__meta\">\r\n                              <div class=\"testimonial-one__information\">\r\n                  <h3 class=\"testimonial-one__name\">Luminita Ignat<\/h3>\r\n                  <div class=\"testimonial-one__job\"><\/div>\r\n                  <div class=\"testimonial-one__stars\">\r\n                     <i class=\"fa fa-star\"><\/i>\r\n                     <i class=\"fa fa-star\"><\/i>\r\n                     <i class=\"fa fa-star\"><\/i>\r\n                     <i class=\"fa fa-star\"><\/i>\r\n                     <i class=\"fa fa-star\"><\/i>\r\n                  <\/div>\r\n               <\/div>\r\n            <\/div>\r\n         <\/div>\r\n         <div class=\"testimonial-one__quote\">\r\n            Un loc MINUNAT. Nu stiu despre ce sa vorbesc mai intai \u2764 Oameni calzi, primitori, mereu cu zambetul pe buze, locatie de VIS, langa padure, fara poluare, cu multa liniste, relaxare....mancarea excelenta. Sauna, jacuzzi, sala de sport, Biblioteca. Foarte aproape de Bucuresti este aceasta oaza de liniste. Recomand cu mare drag.Voi reveni cat de curand. Multumesc mult pentru zilele minunate petrecute aici !!!!         <\/div>\r\n      <\/div>   \r\n     \r\n\r\n     \r\n\r\n    \r\n\r\n<\/div>\r\n\r\n               <\/div>\r\n                           <div class=\"swiper-slide\">\r\n                 <div class=\"testimonial-item style-1 elementor-repeater-item-1955509\">\r\n   \r\n         <div class=\"testimonial-one__single\">\r\n         <div class=\"testimonial-one__content\">\r\n            <span class=\"testimonial-one__icon\"><i class=\" sicon-quote\"><\/i><\/span>\r\n            <div class=\"testimonial-one__meta\">\r\n                              <div class=\"testimonial-one__information\">\r\n                  <h3 class=\"testimonial-one__name\">Emilia Bogosel<\/h3>\r\n                  <div class=\"testimonial-one__job\"><\/div>\r\n                  <div class=\"testimonial-one__stars\">\r\n                     <i class=\"fa fa-star\"><\/i>\r\n                     <i class=\"fa fa-star\"><\/i>\r\n                     <i class=\"fa fa-star\"><\/i>\r\n                     <i class=\"fa fa-star\"><\/i>\r\n                     <i class=\"fa fa-star\"><\/i>\r\n                  <\/div>\r\n               <\/div>\r\n            <\/div>\r\n         <\/div>\r\n         <div class=\"testimonial-one__quote\">\r\n            \u201dUn loc cu o ambianta pozitiva deosebita de relaxare si refacere, ideal pentru retreat din stresul cotidian urban, cu servicii de spa de calitate, terapii naturiste si mancare vegana, fara gluten si zahar delicioasa.\u201d         <\/div>\r\n      <\/div>   \r\n     \r\n\r\n     \r\n\r\n    \r\n\r\n<\/div>\r\n\r\n               <\/div>\r\n                           <div class=\"swiper-slide\">\r\n                 <div class=\"testimonial-item style-1 elementor-repeater-item-e88bc85\">\r\n   \r\n         <div class=\"testimonial-one__single\">\r\n         <div class=\"testimonial-one__content\">\r\n            <span class=\"testimonial-one__icon\"><i class=\" sicon-quote\"><\/i><\/span>\r\n            <div class=\"testimonial-one__meta\">\r\n                              <div class=\"testimonial-one__information\">\r\n                  <h3 class=\"testimonial-one__name\">Alexandra Nicolae<\/h3>\r\n                  <div class=\"testimonial-one__job\"><\/div>\r\n                  <div class=\"testimonial-one__stars\">\r\n                     <i class=\"fa fa-star\"><\/i>\r\n                     <i class=\"fa fa-star\"><\/i>\r\n                     <i class=\"fa fa-star\"><\/i>\r\n                     <i class=\"fa fa-star\"><\/i>\r\n                     <i class=\"fa fa-star\"><\/i>\r\n                  <\/div>\r\n               <\/div>\r\n            <\/div>\r\n         <\/div>\r\n         <div class=\"testimonial-one__quote\">\r\n            Loca\u021bia este plina de magie, personalul este foarte amabil ... Elena,Antonia \u0219i Buni sunt acolo sa \u00ee\u021bi d\u0103ruiasc\u0103 informa\u021biile necesare \u00een plus m\u00e2ncarea este delicioas\u0103..... dac\u0103 vrei sa te sim\u021bi cu adev\u0103rat prin\u021bes\u0103 vin o \u0219i traiesteti propria poveste magic\u0103!         <\/div>\r\n      <\/div>   \r\n     \r\n\r\n     \r\n\r\n    \r\n\r\n<\/div>\r\n\r\n               <\/div>\r\n                           <div class=\"swiper-slide\">\r\n                 <div class=\"testimonial-item style-1 elementor-repeater-item-cd9dfd6\">\r\n   \r\n         <div class=\"testimonial-one__single\">\r\n         <div class=\"testimonial-one__content\">\r\n            <span class=\"testimonial-one__icon\"><i class=\" sicon-quote\"><\/i><\/span>\r\n            <div class=\"testimonial-one__meta\">\r\n                              <div class=\"testimonial-one__information\">\r\n                  <h3 class=\"testimonial-one__name\">Elena Cimpean<\/h3>\r\n                  <div class=\"testimonial-one__job\"><\/div>\r\n                  <div class=\"testimonial-one__stars\">\r\n                     <i class=\"fa fa-star\"><\/i>\r\n                     <i class=\"fa fa-star\"><\/i>\r\n                     <i class=\"fa fa-star\"><\/i>\r\n                     <i class=\"fa fa-star\"><\/i>\r\n                     <i class=\"fa fa-star\"><\/i>\r\n                  <\/div>\r\n               <\/div>\r\n            <\/div>\r\n         <\/div>\r\n         <div class=\"testimonial-one__quote\">\r\n            Multumim! In mijlocul naturii, un loc minunat si Binecuvintat, deoarece este plin de energiea oamenilor minunati care fac toate lucrurile cu multa IUBIRE. Multumim pentru ospitalitate! Vom reveni cu mult drag!         <\/div>\r\n      <\/div>   \r\n     \r\n\r\n     \r\n\r\n    \r\n\r\n<\/div>\r\n\r\n               <\/div>\r\n                           <div class=\"swiper-slide\">\r\n                 <div class=\"testimonial-item style-1 elementor-repeater-item-15dc2bf\">\r\n   \r\n         <div class=\"testimonial-one__single\">\r\n         <div class=\"testimonial-one__content\">\r\n            <span class=\"testimonial-one__icon\"><i class=\" sicon-quote\"><\/i><\/span>\r\n            <div class=\"testimonial-one__meta\">\r\n                              <div class=\"testimonial-one__information\">\r\n                  <h3 class=\"testimonial-one__name\">Corina Ionita<\/h3>\r\n                  <div class=\"testimonial-one__job\"><\/div>\r\n                  <div class=\"testimonial-one__stars\">\r\n                     <i class=\"fa fa-star\"><\/i>\r\n                     <i class=\"fa fa-star\"><\/i>\r\n                     <i class=\"fa fa-star\"><\/i>\r\n                     <i class=\"fa fa-star\"><\/i>\r\n                     <i class=\"fa fa-star\"><\/i>\r\n                  <\/div>\r\n               <\/div>\r\n            <\/div>\r\n         <\/div>\r\n         <div class=\"testimonial-one__quote\">\r\n            Am trait aici clipe minunate alaturi de oameni minuna\u021bi \u2764 Locatia este superba, atmosfera calda, mancarea exceptionala (un deliciu), energia extraordinara, personalul cald, prietenos si gata oricand sa iti fie alaturi. Multumesc si abia astept sa revin \u2764\ud83d\ude4f         <\/div>\r\n      <\/div>   \r\n     \r\n\r\n     \r\n\r\n    \r\n\r\n<\/div>\r\n\r\n               <\/div>\r\n                     <\/div>\r\n      <\/div>\r\n   <\/div>   \r\n   <div class=\"swiper-pagination\"><\/div>   <\/div>\r\n<\/div>\t\t\t\t<\/div>\n\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-1a157a1 e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-parent\" data-id=\"1a157a1\" 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-f08fd9b e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"f08fd9b\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-693a984 e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"693a984\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0fd131c elementor-widget elementor-widget-gva-gallery\" data-id=\"0fd131c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"gva-gallery.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"gva-element-gva-gallery gva-element\">\r\n<div class=\"gva-gallery-carousel swiper-slider-wrapper style-2 \">\r\n\t<div class=\"swiper-content-inner\">\r\n   \t<div class=\"init-carousel-swiper swiper\" data-carousel=\"{&quot;items&quot;:3,&quot;items_lg&quot;:3,&quot;items_md&quot;:3,&quot;items_sm&quot;:2,&quot;items_xs&quot;:1,&quot;items_xx&quot;:1,&quot;effect&quot;:&quot;slide&quot;,&quot;space_between&quot;:30,&quot;loop&quot;:1,&quot;speed&quot;:1200,&quot;autoplay&quot;:1,&quot;autoplay_delay&quot;:5000,&quot;autoplay_hover&quot;:1,&quot;navigation&quot;:1,&quot;pagination&quot;:0,&quot;dynamic_bullets&quot;:0,&quot;pagination_type&quot;:&quot;bullets&quot;}\">\r\n      \t<div class=\"swiper-wrapper\">\r\n\t\t\t\t<div class=\"swiper-slide item\"><div class=\"gallery-two__single\"><div class=\"gallery-two__image\"><img decoding=\"async\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/poza-flori-1080x1350-1-550x580.jpg\" alt=\"\" \/><\/div><a class=\"gallery-two__photo photo-gallery\" href=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/poza-flori-1080x1350-1.jpg\" data-elementor-lightbox-slideshow=\"gallery-1r0e\"><i class=\"fas fa-expand\"><\/i><\/a><\/div><\/div><div class=\"swiper-slide item\"><div class=\"gallery-two__single\"><div class=\"gallery-two__image\"><img decoding=\"async\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/poza-flori-1200x1200-1-550x580.jpg\" alt=\"\" \/><\/div><a class=\"gallery-two__photo photo-gallery\" href=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/poza-flori-1200x1200-1.jpg\" data-elementor-lightbox-slideshow=\"gallery-1r0e\"><i class=\"fas fa-expand\"><\/i><\/a><\/div><\/div><div class=\"swiper-slide item\"><div class=\"gallery-two__single\"><div class=\"gallery-two__image\"><img decoding=\"async\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/poza-flori-1200x628-1-550x580.jpg\" alt=\"\" \/><\/div><a class=\"gallery-two__photo photo-gallery\" href=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/poza-flori-1200x628-1.jpg\" data-elementor-lightbox-slideshow=\"gallery-1r0e\"><i class=\"fas fa-expand\"><\/i><\/a><\/div><\/div><div class=\"swiper-slide item\"><div class=\"gallery-two__single\"><div class=\"gallery-two__image\"><img decoding=\"async\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/02\/013-550x580.jpg\" alt=\"\" \/><\/div><a class=\"gallery-two__photo photo-gallery\" href=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/02\/013.jpg\" data-elementor-lightbox-slideshow=\"gallery-1r0e\"><i class=\"fas fa-expand\"><\/i><\/a><\/div><\/div><div class=\"swiper-slide item\"><div class=\"gallery-two__single\"><div class=\"gallery-two__image\"><img decoding=\"async\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/02\/008-550x580.jpg\" alt=\"\" \/><\/div><a class=\"gallery-two__photo photo-gallery\" href=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/02\/008.jpg\" data-elementor-lightbox-slideshow=\"gallery-1r0e\"><i class=\"fas fa-expand\"><\/i><\/a><\/div><\/div><div class=\"swiper-slide item\"><div class=\"gallery-two__single\"><div class=\"gallery-two__image\"><img decoding=\"async\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/02\/007-550x580.jpg\" alt=\"\" \/><\/div><a class=\"gallery-two__photo photo-gallery\" href=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/02\/007.jpg\" data-elementor-lightbox-slideshow=\"gallery-1r0e\"><i class=\"fas fa-expand\"><\/i><\/a><\/div><\/div><div class=\"swiper-slide item\"><div class=\"gallery-two__single\"><div class=\"gallery-two__image\"><img decoding=\"async\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/02\/005-550x580.jpg\" alt=\"\" \/><\/div><a class=\"gallery-two__photo photo-gallery\" href=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/02\/005.jpg\" data-elementor-lightbox-slideshow=\"gallery-1r0e\"><i class=\"fas fa-expand\"><\/i><\/a><\/div><\/div><div class=\"swiper-slide item\"><div class=\"gallery-two__single\"><div class=\"gallery-two__image\"><img decoding=\"async\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/02\/004-550x580.jpg\" alt=\"\" \/><\/div><a class=\"gallery-two__photo photo-gallery\" href=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/02\/004.jpg\" data-elementor-lightbox-slideshow=\"gallery-1r0e\"><i class=\"fas fa-expand\"><\/i><\/a><\/div><\/div><div class=\"swiper-slide item\"><div class=\"gallery-two__single\"><div class=\"gallery-two__image\"><img decoding=\"async\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/02\/002-550x580.jpg\" alt=\"\" \/><\/div><a class=\"gallery-two__photo photo-gallery\" href=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/02\/002.jpg\" data-elementor-lightbox-slideshow=\"gallery-1r0e\"><i class=\"fas fa-expand\"><\/i><\/a><\/div><\/div><div class=\"swiper-slide item\"><div class=\"gallery-two__single\"><div class=\"gallery-two__image\"><img decoding=\"async\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/94-1200x628-1-550x580.jpg\" alt=\"\" \/><\/div><a class=\"gallery-two__photo photo-gallery\" href=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/94-1200x628-1.jpg\" data-elementor-lightbox-slideshow=\"gallery-1r0e\"><i class=\"fas fa-expand\"><\/i><\/a><\/div><\/div><div class=\"swiper-slide item\"><div class=\"gallery-two__single\"><div class=\"gallery-two__image\"><img decoding=\"async\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/95-1200x628-1-550x580.jpg\" alt=\"\" \/><\/div><a class=\"gallery-two__photo photo-gallery\" href=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/95-1200x628-1.jpg\" data-elementor-lightbox-slideshow=\"gallery-1r0e\"><i class=\"fas fa-expand\"><\/i><\/a><\/div><\/div><div class=\"swiper-slide item\"><div class=\"gallery-two__single\"><div class=\"gallery-two__image\"><img decoding=\"async\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/96-1200x628-1-550x580.jpg\" alt=\"\" \/><\/div><a class=\"gallery-two__photo photo-gallery\" href=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/96-1200x628-1.jpg\" data-elementor-lightbox-slideshow=\"gallery-1r0e\"><i class=\"fas fa-expand\"><\/i><\/a><\/div><\/div><div class=\"swiper-slide item\"><div class=\"gallery-two__single\"><div class=\"gallery-two__image\"><img decoding=\"async\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/97-1200x628-1-550x580.jpg\" alt=\"\" \/><\/div><a class=\"gallery-two__photo photo-gallery\" href=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/97-1200x628-1.jpg\" data-elementor-lightbox-slideshow=\"gallery-1r0e\"><i class=\"fas fa-expand\"><\/i><\/a><\/div><\/div><div class=\"swiper-slide item\"><div class=\"gallery-two__single\"><div class=\"gallery-two__image\"><img decoding=\"async\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/99-1200x628-1-550x580.jpg\" alt=\"\" \/><\/div><a class=\"gallery-two__photo photo-gallery\" href=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/99-1200x628-1.jpg\" data-elementor-lightbox-slideshow=\"gallery-1r0e\"><i class=\"fas fa-expand\"><\/i><\/a><\/div><\/div><div class=\"swiper-slide item\"><div class=\"gallery-two__single\"><div class=\"gallery-two__image\"><img decoding=\"async\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/108-1200x628-1-550x580.jpg\" alt=\"\" \/><\/div><a class=\"gallery-two__photo photo-gallery\" href=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/108-1200x628-1.jpg\" data-elementor-lightbox-slideshow=\"gallery-1r0e\"><i class=\"fas fa-expand\"><\/i><\/a><\/div><\/div><div class=\"swiper-slide item\"><div class=\"gallery-two__single\"><div class=\"gallery-two__image\"><img decoding=\"async\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/100-1200x628-1-550x580.jpg\" alt=\"\" \/><\/div><a class=\"gallery-two__photo photo-gallery\" href=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/100-1200x628-1.jpg\" data-elementor-lightbox-slideshow=\"gallery-1r0e\"><i class=\"fas fa-expand\"><\/i><\/a><\/div><\/div><div class=\"swiper-slide item\"><div class=\"gallery-two__single\"><div class=\"gallery-two__image\"><img decoding=\"async\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/101-1200x628-1-550x580.jpg\" alt=\"\" \/><\/div><a class=\"gallery-two__photo photo-gallery\" href=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/101-1200x628-1.jpg\" data-elementor-lightbox-slideshow=\"gallery-1r0e\"><i class=\"fas fa-expand\"><\/i><\/a><\/div><\/div><div class=\"swiper-slide item\"><div class=\"gallery-two__single\"><div class=\"gallery-two__image\"><img decoding=\"async\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/102-1200x628-1-550x580.jpg\" alt=\"\" \/><\/div><a class=\"gallery-two__photo photo-gallery\" href=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/102-1200x628-1.jpg\" data-elementor-lightbox-slideshow=\"gallery-1r0e\"><i class=\"fas fa-expand\"><\/i><\/a><\/div><\/div><div class=\"swiper-slide item\"><div class=\"gallery-two__single\"><div class=\"gallery-two__image\"><img decoding=\"async\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/103-1200x628-1-550x580.jpg\" alt=\"\" \/><\/div><a class=\"gallery-two__photo photo-gallery\" href=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/103-1200x628-1.jpg\" data-elementor-lightbox-slideshow=\"gallery-1r0e\"><i class=\"fas fa-expand\"><\/i><\/a><\/div><\/div><div class=\"swiper-slide item\"><div class=\"gallery-two__single\"><div class=\"gallery-two__image\"><img decoding=\"async\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/104-1200x628-1-550x580.jpg\" alt=\"\" \/><\/div><a class=\"gallery-two__photo photo-gallery\" href=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/104-1200x628-1.jpg\" data-elementor-lightbox-slideshow=\"gallery-1r0e\"><i class=\"fas fa-expand\"><\/i><\/a><\/div><\/div><div class=\"swiper-slide item\"><div class=\"gallery-two__single\"><div class=\"gallery-two__image\"><img decoding=\"async\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/105-1200x628-1-550x580.jpg\" alt=\"\" \/><\/div><a class=\"gallery-two__photo photo-gallery\" href=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/105-1200x628-1.jpg\" data-elementor-lightbox-slideshow=\"gallery-1r0e\"><i class=\"fas fa-expand\"><\/i><\/a><\/div><\/div><div class=\"swiper-slide item\"><div class=\"gallery-two__single\"><div class=\"gallery-two__image\"><img decoding=\"async\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/106-1200x628-1-e1773836736231-550x580.jpg\" alt=\"\" \/><\/div><a class=\"gallery-two__photo photo-gallery\" href=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/106-1200x628-1-e1773836736231.jpg\" data-elementor-lightbox-slideshow=\"gallery-1r0e\"><i class=\"fas fa-expand\"><\/i><\/a><\/div><\/div><div class=\"swiper-slide item\"><div class=\"gallery-two__single\"><div class=\"gallery-two__image\"><img decoding=\"async\" src=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/107-1200x628-1-550x580.jpg\" alt=\"\" \/><\/div><a class=\"gallery-two__photo photo-gallery\" href=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/03\/107-1200x628-1.jpg\" data-elementor-lightbox-slideshow=\"gallery-1r0e\"><i class=\"fas fa-expand\"><\/i><\/a><\/div><\/div>\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t<\/div>\r\n\t<div class=\"swiper-pagination\"><\/div>   <div class=\"swiper-nav-next\"><\/div><div class=\"swiper-nav-prev\"><\/div><\/div>\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\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>Autumn Day SPA O zi cozy de SPA, wellness &amp; relaxare. Daruieste un Gift Card Liniste.Confort.Stare de bine. Rezerva acum pachetul Timp pentru tine Jacuzzi si stare de bine Timp pentru corp Echilibru interior Liniste Pauza in biblioteca Relaxare profunda Sauna umeda si uscata Autumn Day SPA SPA, liniste si relaxare. Zilele innorate sunt o invitatie sa incetinesti si sa iti oferi mai mult timp pentru tine. O carte buna si un ceai savurat in tihna, o sesiune de yoga sau pilates in interior, cateva momente de relaxare in sauna si jacuzzi sau putina miscare la gym, in ritmul tau \u2014 fiecare alegere poate transforma o zi ploioasa intr-o pauza binevenita de la agitatia orasului. Atmosfera calma, spatiile dedicate starii de bine si timpul petrecut fara graba creeaza cadrul perfect pentru a te reconecta cu tine, a-ti recapata energia si a te bucura de o zi in care nu trebuie sa faci nimic in plus. Doar sa fii bine, in ritmul tau. Detox fizic &#038; mental Hidratare alcalina, alimentatie curata, miscare si timp petrecut in natura. Relaxare la spa Zile lente la spa, lectura, conversatii si liniste. Stare de bine Contact cu linistea spatiilor interioare si ritmul calm al unei zile traite fara graba. Energie prin miscare Yoga, pilates si antrenamente usoare care activeaza corpul, elibereaza mintea si iti dau energie in ritmul tau. Detaliile rezervarii OAZA DE NATURA SI ECHILIBRU Experiente optionale care completeaza sejurul tau Optionalele pot fi selectate direct in procesul de rezervare. In momentul in care completati rezervarea, veti avea posibilitatea sa alegeti serviciile optionale dorite si sa le adaugati la pachet. Picnic in the forest Timpul petrecut in natura, singuri sau alaturi de oameni dragi, este o sursa de vibratii inalte si momente memorabile. Am creat experienta \u201cPicnic in the Forest\u201d pentru a transforma o zi obisnuita intr-o amintire speciala. \ud83c\udf43 Cos de picnic complet echipat, cu bunatati si toate cele necesare pentru o experienta relaxanta in padurea noastra privata, langa raul magic. * paturica si pernute * aranjament special in padure Investitia in experienta: 50 EUR\/cos\/2 persoane Rezerva Acum Cinema in livada Proiectii de documentare inspirationale, intr-un cadru relaxant in aer liber. Invitatii pot alege dintr-o selectie de filme si documentare cu teme de dezvoltare personala, constientizare si echilibru interior. Selectia include titluri precum: \u2022 The Shift \u2013 Wayne Dyer \u2022 Documentare din seria Super Soul O experienta gandita pentru inspiratie, reflectie si momente de liniste petrecute sub cerul liber. Rezerva Acum 1 DAY PASS Facilitati 1 Day Spa &#038; Relax, pentru cei ce vor sa vina doar o zi Si o singura zi oferita noua este un cadou de care sufletul nostru are atat de multa nevoie. Nu sunt multe locuri unde poti veni pentru o zi de relaxare si sa ai parte de regim sanatos, apa Kangen, facilitati spa si natura autentica intr-un cadru linistitor PISCINA Oaza de relaxare in aer liber MASA &amp; HIDRATARE 1 masa sanatoasa vegetariana &#038; apa Kangen SAUNA UMEDA Cu inhalari de propolis, polen, miere si uleiuri esentiale SAUNA USCATA Detoxifiere si revitalizare completa JACUZZI Relaxare pentru corp si minte BIBLIOTECA Pentru momente de retragere CARDIO ROOM &amp; FITNESS Miscare pentru energie zilnica YOGA SANCTUARY Liniste, respiratie si reconectare CICLISM RURAL Miscare libera in natura CONEXIUNE CU NATURA Earthing in gradina si plimbari prin padurea inconjurata de rau, printre culturi de lavanda, trandafiri si potgoria proprie cu struguri dulci O zi dedicata starii de bine, intr-o atmosfera calda si cozy, cu o masa vegetariana sanatoasa, apa Kangen si facilitati SPA de sezon. Costul pachetului: 50EUR\/pers Completeza formularul si rezerva: TESTIMONIALE Ce spun oaspetii nostri Cezar Bija Recomand aceasta locatie pentru cine vrea sa isi ragaseasca echilibrul, pacea interioara intr-o oaza de liniste cu oameni calzi si primitori, cu zona verde cum in putine locuri gasesti. Locuri de retragere sau de conexiune dupa voia fiecaruia: padurea,gradina,terasa de la etaj cu o priveliste minunata,sala de lectura,piscina cu sezlonguri,sauna si masaj. Daniel Rada Am avut ocazia sa ajung de mai multe ori in aceasta locatie si pot spune ca este magica! Linistea, natura si oamenii de acolo iti ofera o stare de asezare si relaxare uimitoare, mai ales daca ai nevoie de timp pentru tine. Recomand cu drag si bucurie! Bianca Crenganis \u201cExcelent loc de relaxare . Totul este foarte curat, ordonat, aerisit si bine g\u00e2ndit. Ce ma impresioneaza de fiecare data, este amabilitatea si atentia oferita de personalul clinicii. Merita sa petreci macar o zi, in acest loc, pozitionat in mijlocul naturii, departe de haosul Bucurestiului.\u201d Florentina Stanciu \u201dCand am ajuns prima oara in locatie am simtit o energie aparte, totul este curat si frumos aranjat, in armonie. Cei de la Youness ne-au intampinat cu fresh-uri de fructe si multa caldura. Recomand oricui isi doreste sa petreaca un timp de calitate impreuna cu cei dragi, sa iasa din rutina, sa se relaxeze, sa intre in contact cu natura, si toate astea fara a merge prea departe de Bucuresti.\u201d Luminita Ignat Un loc MINUNAT. Nu stiu despre ce sa vorbesc mai intai \u2764 Oameni calzi, primitori, mereu cu zambetul pe buze, locatie de VIS, langa padure, fara poluare, cu multa liniste, relaxare&#8230;.mancarea excelenta. Sauna, jacuzzi, sala de sport, Biblioteca. Foarte aproape de Bucuresti este aceasta oaza de liniste. Recomand cu mare drag.Voi reveni cat de curand. Multumesc mult pentru zilele minunate petrecute aici !!!! Emilia Bogosel \u201dUn loc cu o ambianta pozitiva deosebita de relaxare si refacere, ideal pentru retreat din stresul cotidian urban, cu servicii de spa de calitate, terapii naturiste si mancare vegana, fara gluten si zahar delicioasa.\u201d Alexandra Nicolae Loca\u021bia este plina de magie, personalul este foarte amabil &#8230; Elena,Antonia \u0219i Buni sunt acolo sa \u00ee\u021bi d\u0103ruiasc\u0103 informa\u021biile necesare \u00een plus m\u00e2ncarea este delicioas\u0103&#8230;.. dac\u0103 vrei sa te sim\u021bi cu adev\u0103rat prin\u021bes\u0103 vin o \u0219i traiesteti propria poveste magic\u0103! Elena Cimpean Multumim! In mijlocul naturii, un loc minunat si Binecuvintat, deoarece este plin de energiea oamenilor minunati care fac toate lucrurile cu multa IUBIRE. Multumim pentru ospitalitate! Vom reveni cu mult drag! Corina Ionita Am trait<\/p>\n","protected":false},"author":1,"featured_media":9402,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-9399","page","type-page","status-publish","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Experien\u021be Sezoniere &amp; Retreat Rom\u00e2nia | YOUness WELLness Clinic<\/title>\n<meta name=\"description\" content=\"Alege experien\u021be sezoniere de retreat, relaxare \u0219i wellness \u00een natur\u0103, cu spa, saun\u0103 \u0219i momente speciale. Descoper\u0103 pachetele disponibile.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/younessclinic.ro\/en\/autumn-day-spa\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Experien\u021be Sezoniere &amp; Retreat Rom\u00e2nia | YOUness WELLness Clinic\" \/>\n<meta property=\"og:description\" content=\"Alege experien\u021be sezoniere de retreat, relaxare \u0219i wellness \u00een natur\u0103, cu spa, saun\u0103 \u0219i momente speciale. Descoper\u0103 pachetele disponibile.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/younessclinic.ro\/en\/autumn-day-spa\/\" \/>\n<meta property=\"og:site_name\" content=\"YOUness WELLness Clinic &amp; Retreat\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-25T12:55:44+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/09\/Autumn-Day-Spa-at-YOUness.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1230\" \/>\n\t<meta property=\"og:image:height\" content=\"1278\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"19 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/younessclinic.ro\\\/en\\\/autumn-day-spa\\\/\",\"url\":\"https:\\\/\\\/younessclinic.ro\\\/en\\\/autumn-day-spa\\\/\",\"name\":\"Experien\u021be Sezoniere & Retreat Rom\u00e2nia | YOUness WELLness Clinic\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/younessclinic.ro\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/younessclinic.ro\\\/en\\\/autumn-day-spa\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/younessclinic.ro\\\/en\\\/autumn-day-spa\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/younessclinic.ro\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/Autumn-Day-Spa-at-YOUness.png\",\"datePublished\":\"2026-09-25T12:47:43+00:00\",\"dateModified\":\"2026-09-25T12:55:44+00:00\",\"description\":\"Alege experien\u021be sezoniere de retreat, relaxare \u0219i wellness \u00een natur\u0103, cu spa, saun\u0103 \u0219i momente speciale. Descoper\u0103 pachetele disponibile.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/younessclinic.ro\\\/en\\\/autumn-day-spa\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/younessclinic.ro\\\/en\\\/autumn-day-spa\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/younessclinic.ro\\\/en\\\/autumn-day-spa\\\/#primaryimage\",\"url\":\"https:\\\/\\\/younessclinic.ro\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/Autumn-Day-Spa-at-YOUness.png\",\"contentUrl\":\"https:\\\/\\\/younessclinic.ro\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/Autumn-Day-Spa-at-YOUness.png\",\"width\":1230,\"height\":1278},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/younessclinic.ro\\\/en\\\/autumn-day-spa\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Prima pagin\u0103\",\"item\":\"https:\\\/\\\/younessclinic.ro\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Autumn Day Spa\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/younessclinic.ro\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/younessclinic.ro\\\/en\\\/\",\"name\":\"YOUness WELLness Clinic &amp; Retreat\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/younessclinic.ro\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Experien\u021be Sezoniere & Retreat Rom\u00e2nia | YOUness WELLness Clinic","description":"Alege experien\u021be sezoniere de retreat, relaxare \u0219i wellness \u00een natur\u0103, cu spa, saun\u0103 \u0219i momente speciale. Descoper\u0103 pachetele disponibile.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/younessclinic.ro\/en\/autumn-day-spa\/","og_locale":"en_US","og_type":"article","og_title":"Experien\u021be Sezoniere & Retreat Rom\u00e2nia | YOUness WELLness Clinic","og_description":"Alege experien\u021be sezoniere de retreat, relaxare \u0219i wellness \u00een natur\u0103, cu spa, saun\u0103 \u0219i momente speciale. Descoper\u0103 pachetele disponibile.","og_url":"https:\/\/younessclinic.ro\/en\/autumn-day-spa\/","og_site_name":"YOUness WELLness Clinic &amp; Retreat","article_modified_time":"2026-09-25T12:55:44+00:00","og_image":[{"width":1230,"height":1278,"url":"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/09\/Autumn-Day-Spa-at-YOUness.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"19 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/younessclinic.ro\/en\/autumn-day-spa\/","url":"https:\/\/younessclinic.ro\/en\/autumn-day-spa\/","name":"Experien\u021be Sezoniere & Retreat Rom\u00e2nia | YOUness WELLness Clinic","isPartOf":{"@id":"https:\/\/younessclinic.ro\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/younessclinic.ro\/en\/autumn-day-spa\/#primaryimage"},"image":{"@id":"https:\/\/younessclinic.ro\/en\/autumn-day-spa\/#primaryimage"},"thumbnailUrl":"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/09\/Autumn-Day-Spa-at-YOUness.png","datePublished":"2026-09-25T12:47:43+00:00","dateModified":"2026-09-25T12:55:44+00:00","description":"Alege experien\u021be sezoniere de retreat, relaxare \u0219i wellness \u00een natur\u0103, cu spa, saun\u0103 \u0219i momente speciale. Descoper\u0103 pachetele disponibile.","breadcrumb":{"@id":"https:\/\/younessclinic.ro\/en\/autumn-day-spa\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/younessclinic.ro\/en\/autumn-day-spa\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/younessclinic.ro\/en\/autumn-day-spa\/#primaryimage","url":"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/09\/Autumn-Day-Spa-at-YOUness.png","contentUrl":"https:\/\/younessclinic.ro\/wp-content\/uploads\/2026\/09\/Autumn-Day-Spa-at-YOUness.png","width":1230,"height":1278},{"@type":"BreadcrumbList","@id":"https:\/\/younessclinic.ro\/en\/autumn-day-spa\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Prima pagin\u0103","item":"https:\/\/younessclinic.ro\/en\/"},{"@type":"ListItem","position":2,"name":"Autumn Day Spa"}]},{"@type":"WebSite","@id":"https:\/\/younessclinic.ro\/en\/#website","url":"https:\/\/younessclinic.ro\/en\/","name":"YOUness WELLness Clinic &amp; Retreat","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/younessclinic.ro\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/younessclinic.ro\/en\/wp-json\/wp\/v2\/pages\/9399","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/younessclinic.ro\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/younessclinic.ro\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/younessclinic.ro\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/younessclinic.ro\/en\/wp-json\/wp\/v2\/comments?post=9399"}],"version-history":[{"count":13,"href":"https:\/\/younessclinic.ro\/en\/wp-json\/wp\/v2\/pages\/9399\/revisions"}],"predecessor-version":[{"id":9419,"href":"https:\/\/younessclinic.ro\/en\/wp-json\/wp\/v2\/pages\/9399\/revisions\/9419"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/younessclinic.ro\/en\/wp-json\/wp\/v2\/media\/9402"}],"wp:attachment":[{"href":"https:\/\/younessclinic.ro\/en\/wp-json\/wp\/v2\/media?parent=9399"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}