{"id":1392,"date":"2024-12-17T15:13:23","date_gmt":"2024-12-17T21:13:23","guid":{"rendered":"https:\/\/www.caribbeandream.org\/?page_id=1392"},"modified":"2026-07-13T13:37:16","modified_gmt":"2026-07-13T19:37:16","slug":"casa-bodhi","status":"publish","type":"page","link":"https:\/\/www.caribbeandream.org\/en\/casa-bodhi\/","title":{"rendered":"Casa Bodhi"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1392\" class=\"elementor elementor-1392\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-2ae757c elementor-section-height-min-height elementor-section-boxed elementor-section-height-default elementor-section-items-middle\" data-id=\"2ae757c\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;background_motion_fx_motion_fx_scrolling&quot;:&quot;yes&quot;,&quot;background_motion_fx_translateX_effect&quot;:&quot;yes&quot;,&quot;background_motion_fx_translateX_speed&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:4,&quot;sizes&quot;:[]},&quot;background_motion_fx_translateX_affectedRange&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:{&quot;start&quot;:0,&quot;end&quot;:100}},&quot;background_motion_fx_devices&quot;:[&quot;desktop&quot;,&quot;tablet&quot;,&quot;mobile&quot;]}\">\n\t\t\t\t\t\t\t<div class=\"elementor-background-overlay\"><\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-a2fc931\" data-id=\"a2fc931\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-9848702 elementor-invisible elementor-widget elementor-widget-heading\" data-id=\"9848702\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInDown&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\">Playa Negra - Puerto Viejo, Costa Rica<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-44363ef elementor-section-content-middle elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"44363ef\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-0cde6ba\" data-id=\"0cde6ba\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-fb9efd6 elementor-invisible elementor-widget elementor-widget-heading\" data-id=\"fb9efd6\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Casa Bodhi<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-089dffa elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"089dffa\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-ab3f150\" data-id=\"ab3f150\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-f401dea elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"f401dea\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-a599e5f\" data-id=\"a599e5f\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-3d4924d elementor-invisible elementor-widget elementor-widget-image\" data-id=\"3d4924d\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;zoomIn&quot;}\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"1920\" height=\"1282\" src=\"https:\/\/www.caribbeandream.org\/wp-content\/uploads\/2025\/08\/Casa-Bodhi.webp\" class=\"attachment-full size-full wp-image-2425\" alt=\"\" srcset=\"https:\/\/www.caribbeandream.org\/wp-content\/uploads\/2025\/08\/Casa-Bodhi.webp 1920w, https:\/\/www.caribbeandream.org\/wp-content\/uploads\/2025\/08\/Casa-Bodhi-300x200.webp 300w, https:\/\/www.caribbeandream.org\/wp-content\/uploads\/2025\/08\/Casa-Bodhi-1024x684.webp 1024w, https:\/\/www.caribbeandream.org\/wp-content\/uploads\/2025\/08\/Casa-Bodhi-768x513.webp 768w, https:\/\/www.caribbeandream.org\/wp-content\/uploads\/2025\/08\/Casa-Bodhi-1536x1026.webp 1536w, https:\/\/www.caribbeandream.org\/wp-content\/uploads\/2025\/08\/Casa-Bodhi-18x12.webp 18w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-46d40db elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"46d40db\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-670bcc3\" data-id=\"670bcc3\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-00312c4 slider-img elementor-arrows-position-inside elementor-widget elementor-widget-image-carousel\" data-id=\"00312c4\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;slides_to_show&quot;:&quot;3&quot;,&quot;slides_to_scroll&quot;:&quot;2&quot;,&quot;navigation&quot;:&quot;arrows&quot;,&quot;autoplay&quot;:&quot;yes&quot;,&quot;pause_on_hover&quot;:&quot;yes&quot;,&quot;pause_on_interaction&quot;:&quot;yes&quot;,&quot;autoplay_speed&quot;:5000,&quot;infinite&quot;:&quot;yes&quot;,&quot;speed&quot;:500,&quot;image_spacing_custom&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:20,&quot;sizes&quot;:[]},&quot;image_spacing_custom_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;image_spacing_custom_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"image-carousel.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-image-carousel-wrapper swiper\" role=\"region\" aria-roledescription=\"carousel\" aria-label=\"Carrusel de im\u00e1genes\" dir=\"ltr\">\n\t\t\t<div class=\"elementor-image-carousel swiper-wrapper\" aria-live=\"off\">\n\t\t\t\t\t\t\t\t<div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"1 of 13\"><figure class=\"swiper-slide-inner\"><img decoding=\"async\" class=\"swiper-slide-image\" src=\"https:\/\/www.caribbeandream.org\/wp-content\/uploads\/2025\/08\/Casa-Bodhi-Entrada-768x432.webp\" alt=\"Casa Bodhi Entrada\" \/><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"2 of 13\"><figure class=\"swiper-slide-inner\"><img decoding=\"async\" class=\"swiper-slide-image\" src=\"https:\/\/www.caribbeandream.org\/wp-content\/uploads\/2025\/08\/Casa-Bodhi-Aerea-768x432.webp\" alt=\"Casa Bodhi Aerea\" \/><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"3 of 13\"><figure class=\"swiper-slide-inner\"><img decoding=\"async\" class=\"swiper-slide-image\" src=\"https:\/\/www.caribbeandream.org\/wp-content\/uploads\/2025\/08\/Casa-Bodhi-Piscina-768x512.webp\" alt=\"Casa Bodhi Piscina\" \/><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"4 of 13\"><figure class=\"swiper-slide-inner\"><img decoding=\"async\" class=\"swiper-slide-image\" src=\"https:\/\/www.caribbeandream.org\/wp-content\/uploads\/2025\/08\/Casa-Bodhi-Sala-768x512.webp\" alt=\"Casa Bodhi Sala\" \/><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"5 of 13\"><figure class=\"swiper-slide-inner\"><img decoding=\"async\" class=\"swiper-slide-image\" src=\"https:\/\/www.caribbeandream.org\/wp-content\/uploads\/2025\/08\/Casa-Bodhi-Comedor.webp\" alt=\"Casa Bodhi Comedor\" \/><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"6 of 13\"><figure class=\"swiper-slide-inner\"><img decoding=\"async\" class=\"swiper-slide-image\" src=\"https:\/\/www.caribbeandream.org\/wp-content\/uploads\/2025\/08\/Casa-Bodhi-Cocina-Completa-768x512.webp\" alt=\"Casa Bodhi Cocina Completa\" \/><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"7 of 13\"><figure class=\"swiper-slide-inner\"><img decoding=\"async\" class=\"swiper-slide-image\" src=\"https:\/\/www.caribbeandream.org\/wp-content\/uploads\/2025\/08\/Casa-Bodhi-Habitacion-Principal-768x512.webp\" alt=\"Casa Bodhi Habitacio\u0301n Principal\" \/><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"8 of 13\"><figure class=\"swiper-slide-inner\"><img decoding=\"async\" class=\"swiper-slide-image\" src=\"https:\/\/www.caribbeandream.org\/wp-content\/uploads\/2025\/08\/Casa-Bodhi-Bano-Privado-768x512.webp\" alt=\"Casa Bodhi Ban\u0303o Privado\" \/><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"9 of 13\"><figure class=\"swiper-slide-inner\"><img decoding=\"async\" class=\"swiper-slide-image\" src=\"https:\/\/www.caribbeandream.org\/wp-content\/uploads\/2025\/08\/Casa-Bodhi-Habitacion-Privada-768x512.webp\" alt=\"Casa Bodhi Habitacio\u0301n Privada\" \/><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"10 of 13\"><figure class=\"swiper-slide-inner\"><img decoding=\"async\" class=\"swiper-slide-image\" src=\"https:\/\/www.caribbeandream.org\/wp-content\/uploads\/2025\/08\/Casa-Bodhi-Ducha-768x512.webp\" alt=\"Casa Bodhi Ducha\" \/><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"11 of 13\"><figure class=\"swiper-slide-inner\"><img decoding=\"async\" class=\"swiper-slide-image\" src=\"https:\/\/www.caribbeandream.org\/wp-content\/uploads\/2025\/08\/Casa-Bodhi-Vista-desde-la-habitacion-768x512.webp\" alt=\"Casa Bodhi Vista desde la habitacio\u0301n\" \/><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"12 of 13\"><figure class=\"swiper-slide-inner\"><img decoding=\"async\" class=\"swiper-slide-image\" src=\"https:\/\/www.caribbeandream.org\/wp-content\/uploads\/2025\/08\/Casa-Bodhi-Lavamanos-768x432.webp\" alt=\"Casa Bodhi Lavamanos\" \/><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"13 of 13\"><figure class=\"swiper-slide-inner\"><img decoding=\"async\" class=\"swiper-slide-image\" src=\"https:\/\/www.caribbeandream.org\/wp-content\/uploads\/2025\/08\/Casa-Bodhi-Relax-768x512.webp\" alt=\"Casa Bodhi Relax\" \/><\/figure><\/div>\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-swiper-button elementor-swiper-button-prev\" role=\"button\" tabindex=\"0\">\n\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-eicon-chevron-left\" viewBox=\"0 0 1000 1000\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M646 125C629 125 613 133 604 142L308 442C296 454 292 471 292 487 292 504 296 521 308 533L604 854C617 867 629 875 646 875 663 875 679 871 692 858 704 846 713 829 713 812 713 796 708 779 692 767L438 487 692 225C700 217 708 204 708 187 708 171 704 154 692 142 675 129 663 125 646 125Z\"><\/path><\/svg>\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"elementor-swiper-button elementor-swiper-button-next\" role=\"button\" tabindex=\"0\">\n\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-eicon-chevron-right\" viewBox=\"0 0 1000 1000\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M696 533C708 521 713 504 713 487 713 471 708 454 696 446L400 146C388 133 375 125 354 125 338 125 325 129 313 142 300 154 292 171 292 187 292 204 296 221 308 233L563 492 304 771C292 783 288 800 288 817 288 833 296 850 308 863 321 871 338 875 354 875 371 875 388 867 400 854L696 533Z\"><\/path><\/svg>\t\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-7fab0ee elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"7fab0ee\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-7d41a3e\" data-id=\"7d41a3e\" data-element_type=\"column\" data-e-type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-c2fe7b6 elementor-invisible elementor-widget elementor-widget-heading\" data-id=\"c2fe7b6\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Casa Bodhi<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5d1a2d5 elementor-widget__width-auto elementor--star-style-star_fontawesome elementor-widget elementor-widget-star-rating\" data-id=\"5d1a2d5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"star-rating.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-star-rating__wrapper\">\n\t\t\t\t\t\t<div class=\"elementor-star-rating\" itemtype=\"http:\/\/schema.org\/Rating\" itemscope=\"\" itemprop=\"reviewRating\">\n\t\t\t\t<i class=\"elementor-star-full\" aria-hidden=\"true\">&#xE934;<\/i><i class=\"elementor-star-full\" aria-hidden=\"true\">&#xE934;<\/i><i class=\"elementor-star-full\" aria-hidden=\"true\">&#xE934;<\/i><i class=\"elementor-star-full\" aria-hidden=\"true\">&#xE934;<\/i><i class=\"elementor-star-full\" aria-hidden=\"true\">&#xE934;<\/i>\t\t\t\t<span itemprop=\"ratingValue\" class=\"elementor-screen-only\">Rated 5 out of 5<\/span>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4ec9997 elementor-widget__width-auto elementor-widget elementor-widget-heading\" data-id=\"4ec9997\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\">5.0 Average - 40 Reviews<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c13af30 elementor-widget elementor-widget-text-editor\" data-id=\"c13af30\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Experimente el lujo y la tranquilidad en Casa Bodhi, un elegante refugio con un plan de piso abierto que crea una perfecta integraci\u00f3n entre la vida interior y exterior. \u00a1A 5 minutos a pie de la playa de arena negra! Esta residencia cuenta con puertas correderas de cristal triples de 9 pies de altura que abren el espacio. Disfrute de las comodidades modernas como aire acondicionado, camas king-size, piscina de agua salada y jacuzzi. \u00a1Despertar a los sonidos y las vistas de la selva, con monos aulladores, tucanes, mariposas monarca, y perezosos!<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9b4e7c9 elementor-widget elementor-widget-html\" data-id=\"9b4e7c9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"cd-booking-widget\"\n       data-base-url=\"https:\/\/caribbeandreamcasasvacacionales.kross.travel\/casa-bodhi-ve\"\n       data-min-nights=\"2\"\n       data-max-guests=\"6\"\n       data-default-guests=\"2\">\n \n    <div class=\"cd-bar\">\n      <div class=\"cd-field checkin\" data-field=\"checkin\">\n        <div class=\"label\">LLEGADA<\/div>\n        <div class=\"value\">\n          <span class=\"day-num\" data-role=\"ci-day\">--<\/span>\n          <span class=\"month-year\" data-role=\"ci-month\"><\/span>\n        <\/div>\n        <span class=\"weekday\" data-role=\"ci-weekday\"><\/span>\n      <\/div>\n \n      <div class=\"cd-field checkout\" data-field=\"checkout\">\n        <div class=\"label\">SALIDA<\/div>\n        <div class=\"value\">\n          <span class=\"day-num\" data-role=\"co-day\">--<\/span>\n          <span class=\"month-year\" data-role=\"co-month\"><\/span>\n        <\/div>\n        <span class=\"weekday\" data-role=\"co-weekday\"><\/span>\n      <\/div>\n \n      <div class=\"cd-field guests\" data-field=\"guests\">\n        <div class=\"label\">HU\u00c9SPEDES<\/div>\n        <div class=\"value\">\n          <span class=\"day-num\" data-role=\"guests-count\">2<\/span>\n        <\/div>\n \n        <div class=\"cd-guests-pop\" data-role=\"guests-pop\">\n          <div class=\"cd-counter-row\" style=\"border-bottom:none;\">\n            <div class=\"cname\">Hu\u00e9spedes<\/div>\n            <div class=\"cd-stepper\">\n              <button type=\"button\" data-role=\"guests-minus\">\u2212<\/button>\n              <span class=\"n\" data-role=\"guests-n\">2<\/span>\n              <button type=\"button\" data-role=\"guests-plus\">+<\/button>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n \n      <button type=\"button\" class=\"cd-cta\" data-role=\"cta-btn\">Verificar disponibilidad<\/button>\n    <\/div>\n \n    <div class=\"cd-calendar-pop\" data-role=\"calendar-pop\">\n      <div class=\"cd-cal-header-row\">\n        <button type=\"button\" class=\"cd-cal-nav\" data-role=\"prev-month\">&#10094;<\/button>\n        <div style=\"flex:1\"><\/div>\n        <button type=\"button\" class=\"cd-cal-nav\" data-role=\"next-month\">&#10095;<\/button>\n      <\/div>\n      <div class=\"cd-months\" data-role=\"months-container\"><\/div>\n    <\/div>\n \n  <\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t<div class=\"elementor-element elementor-element-eee5e5e e-flex e-con-boxed e-con e-parent\" data-id=\"eee5e5e\" 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-aeabe40 elementor-widget elementor-widget-html\" data-id=\"aeabe40\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<script>\n(function(){\n \n  const MONTHS = ['Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'];\n  const WEEKDAYS_FULL = ['domingo','lunes','martes','mi\u00e9rcoles','jueves','viernes','s\u00e1bado'];\n  const WEEK_HEADERS = ['LU','MA','MI','JU','VI','S\u00c1','DO'];\n \n  function stripTime(d){ return new Date(d.getFullYear(), d.getMonth(), d.getDate()); }\n  function addDays(d, n){ const r = new Date(d); r.setDate(r.getDate()+n); return r; }\n  function sameDay(a,b){ return a && b && a.getTime() === b.getTime(); }\n  function fmtISO(d){\n    const y = d.getFullYear();\n    const m = String(d.getMonth()+1).padStart(2,'0');\n    const day = String(d.getDate()).padStart(2,'0');\n    return `${y}-${m}-${day}`;\n  }\n \n  \/\/ Inicializa UNA instancia del widget, completamente aislada dentro de `root`.\n  function initBookingWidget(root){\n    const BASE_URL = root.dataset.baseUrl || '';\n    const MIN_NIGHTS = parseInt(root.dataset.minNights, 10) || 1;\n    const MAX_GUESTS = parseInt(root.dataset.maxGuests, 10) || 10;\n    const ROOMS = 0; \/\/ el motor siempre espera guests_rooms=huespedes,habitaciones\n \n    const today = stripTime(new Date());\n    let checkIn = today;\n    let checkOut = addDays(today, MIN_NIGHTS);\n    let guests = parseInt(root.dataset.defaultGuests, 10) || 2;\n \n    const anchor = new Date(today.getFullYear(), today.getMonth(), 1);\n    let monthOffset = 0;\n \n    \/\/ todas las b\u00fasquedas se hacen DENTRO de `root`, nunca en document,\n    \/\/ as\u00ed cada widget queda completamente aislado del resto.\n    const q = (role) => root.querySelector(`[data-role=\"${role}\"]`);\n    const calendarPop = q('calendar-pop');\n    const guestsPop = q('guests-pop');\n    const monthsContainer = q('months-container');\n \n    function renderFields(){\n      q('ci-day').textContent = checkIn.getDate();\n      q('ci-month').innerHTML = `${MONTHS[checkIn.getMonth()]} ${checkIn.getFullYear()}`;\n      q('ci-weekday').textContent = WEEKDAYS_FULL[checkIn.getDay()];\n \n      q('co-day').textContent = checkOut.getDate();\n      q('co-month').innerHTML = `${MONTHS[checkOut.getMonth()]} ${checkOut.getFullYear()}`;\n      q('co-weekday').textContent = WEEKDAYS_FULL[checkOut.getDay()];\n \n      q('guests-count').textContent = guests;\n      q('guests-n').textContent = guests;\n      q('guests-plus').disabled = guests >= MAX_GUESTS;\n      q('guests-minus').disabled = guests <= 1;\n    }\n \n    function buildMonthTable(year, month){\n      const firstDay = new Date(year, month, 1);\n      const startIdx = (firstDay.getDay() + 6) % 7; \/\/ Lunes-first\n      const daysInMonth = new Date(year, month+1, 0).getDate();\n \n      let html = `<div class=\"cd-month-title\">${MONTHS[month].substring(0,3).toUpperCase()}. ${year}<\/div>`;\n      html += `<table class=\"cd-cal\"><thead><tr>`;\n      WEEK_HEADERS.forEach(h => html += `<th>${h}<\/th>`);\n      html += `<\/tr><\/thead><tbody><tr>`;\n \n      const selectingCheckout = !!(checkIn && !checkOut);\n      const earliestCheckout = checkIn ? addDays(checkIn, MIN_NIGHTS) : null;\n \n      let cellCount = 0;\n      for(let i=0;i<startIdx;i++){\n        html += `<td><div class=\"cd-day empty\"><\/div><\/td>`;\n        cellCount++;\n      }\n \n      for(let d=1; d<=daysInMonth; d++){\n        const date = new Date(year, month, d);\n        const isPast = date < today;\n        const isTooSoon = selectingCheckout && date > checkIn && date < earliestCheckout;\n        const isCheckIn = sameDay(date, checkIn);\n        const isCheckOut = sameDay(date, checkOut);\n        const inRange = checkIn && checkOut && date > checkIn && date < checkOut;\n \n        let classes = ['cd-day'];\n        if(isPast || isTooSoon) classes.push('disabled');\n        if(isCheckIn) classes.push('range-start');\n        if(isCheckOut) classes.push('range-end');\n        if(inRange) classes.push('in-range');\n \n        html += `<td><div class=\"${classes.join(' ')}\" data-date=\"${fmtISO(date)}\">`;\n        if(isCheckIn || isCheckOut || inRange) html += `<span class=\"cd-bar-fill\"><\/span>`;\n        html += `<span class=\"num\">${d}<\/span><\/div><\/td>`;\n \n        cellCount++;\n        if(cellCount % 7 === 0 && d !== daysInMonth){\n          html += `<\/tr><tr>`;\n        }\n      }\n      html += `<\/tr><\/tbody><\/table>`;\n      return html;\n    }\n \n    function renderCalendar(){\n      const m1 = new Date(anchor.getFullYear(), anchor.getMonth() + monthOffset, 1);\n      const m2 = new Date(anchor.getFullYear(), anchor.getMonth() + monthOffset + 1, 1);\n \n      monthsContainer.innerHTML =\n        `<div class=\"cd-month\">${buildMonthTable(m1.getFullYear(), m1.getMonth())}<\/div>` +\n        `<div class=\"cd-month\">${buildMonthTable(m2.getFullYear(), m2.getMonth())}<\/div>`;\n \n      q('prev-month').disabled = monthOffset <= 0;\n \n      monthsContainer.querySelectorAll('.cd-day[data-date]').forEach(el => {\n        if(el.classList.contains('disabled')) return;\n        el.addEventListener('click', () => onDayClick(el.getAttribute('data-date')));\n      });\n    }\n \n    function onDayClick(iso){\n      const [y,m,d] = iso.split('-').map(Number);\n      const clicked = new Date(y, m-1, d);\n \n      if(!checkIn || (checkIn && checkOut)){\n        checkIn = clicked;\n        checkOut = null;\n      } else if(clicked <= checkIn){\n        checkIn = clicked;\n        checkOut = null;\n      } else {\n        const nights = Math.round((clicked - checkIn) \/ 86400000);\n        if(nights < MIN_NIGHTS) return;\n        checkOut = clicked;\n      }\n \n      if(checkIn && checkOut){\n        renderFields();\n        closeCalendar();\n      } else {\n        q('ci-day').textContent = checkIn.getDate();\n        q('ci-month').innerHTML = `${MONTHS[checkIn.getMonth()]} ${checkIn.getFullYear()}`;\n        q('ci-weekday').textContent = WEEKDAYS_FULL[checkIn.getDay()];\n        renderCalendar();\n      }\n    }\n \n    function openCalendar(){\n      guestsPop.classList.remove('open');\n      calendarPop.classList.add('open');\n      monthOffset = 0;\n      renderCalendar();\n    }\n    function closeCalendar(){\n      calendarPop.classList.remove('open');\n    }\n    function toggleGuests(){\n      calendarPop.classList.remove('open');\n      guestsPop.classList.toggle('open');\n    }\n \n    root.querySelector('[data-field=\"checkin\"]').addEventListener('click', (e) => {\n      e.stopPropagation();\n      if(calendarPop.classList.contains('open')) closeCalendar(); else openCalendar();\n    });\n    root.querySelector('[data-field=\"checkout\"]').addEventListener('click', (e) => {\n      e.stopPropagation();\n      if(calendarPop.classList.contains('open')) closeCalendar(); else openCalendar();\n    });\n    root.querySelector('[data-field=\"guests\"]').addEventListener('click', (e) => {\n      e.stopPropagation();\n      toggleGuests();\n    });\n \n    document.addEventListener('click', (e) => {\n      if(!root.contains(e.target)){\n        closeCalendar();\n        guestsPop.classList.remove('open');\n      }\n    });\n \n    q('prev-month').addEventListener('click', () => {\n      if(monthOffset > 0){ monthOffset--; renderCalendar(); }\n    });\n    q('next-month').addEventListener('click', () => {\n      monthOffset++; renderCalendar();\n    });\n \n    q('guests-plus').addEventListener('click', (e) => {\n      e.stopPropagation();\n      if(guests < MAX_GUESTS){ guests++; renderFields(); }\n    });\n    q('guests-minus').addEventListener('click', (e) => {\n      e.stopPropagation();\n      if(guests > 1){ guests--; renderFields(); }\n    });\n    guestsPop.addEventListener('click', (e) => e.stopPropagation());\n \n    q('cta-btn').addEventListener('click', () => {\n      const params = new URLSearchParams();\n      params.set('from', fmtISO(checkIn));\n      params.set('to', fmtISO(checkOut));\n      params.set('guests_rooms', `${guests},${ROOMS}`);\n      const url = `${BASE_URL}?${params.toString()}`;\n      window.open(url, '_blank');\n    });\n \n    renderFields();\n  }\n \n  \/\/ Inicializa TODOS los widgets presentes en la p\u00e1gina, cada uno aislado.\n  document.querySelectorAll('.cd-booking-widget').forEach(initBookingWidget);\n \n})();\n<\/script>\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-d19da0b e-con-full e-flex e-con e-parent\" data-id=\"d19da0b\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d1d6970 elementor-widget elementor-widget-html\" data-id=\"d1d6970\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<iframe src=\"https:\/\/www.google.com\/maps\/embed?pb=!1m18!1m12!1m3!1d3933.2964419156797!2d-82.7764323!3d9.655692!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x8fa651955451ba53%3A0xd770e24e9dc8a37d!2sCasa%20Bodhi!5e0!3m2!1ses-419!2sni!4v1734551524193!5m2!1ses-419!2sni\" width=\"600\" height=\"450\" style=\"border:0;\" allowfullscreen=\"\" loading=\"lazy\" referrerpolicy=\"no-referrer-when-downgrade\"><\/iframe>\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","protected":false},"excerpt":{"rendered":"<p>Experience luxury and tranquility at Casa Bodhi, an elegant retreat with an open floor plan that creates a seamless integration between indoor and outdoor living. <\/p>","protected":false},"author":1,"featured_media":2425,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-1392","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/www.caribbeandream.org\/en\/wp-json\/wp\/v2\/pages\/1392","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.caribbeandream.org\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.caribbeandream.org\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.caribbeandream.org\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.caribbeandream.org\/en\/wp-json\/wp\/v2\/comments?post=1392"}],"version-history":[{"count":68,"href":"https:\/\/www.caribbeandream.org\/en\/wp-json\/wp\/v2\/pages\/1392\/revisions"}],"predecessor-version":[{"id":3442,"href":"https:\/\/www.caribbeandream.org\/en\/wp-json\/wp\/v2\/pages\/1392\/revisions\/3442"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.caribbeandream.org\/en\/wp-json\/wp\/v2\/media\/2425"}],"wp:attachment":[{"href":"https:\/\/www.caribbeandream.org\/en\/wp-json\/wp\/v2\/media?parent=1392"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}