{"id":4968,"date":"2023-04-25T08:26:50","date_gmt":"2023-04-25T08:26:50","guid":{"rendered":"https:\/\/demo.7iquid.com\/carmelina\/?page_id=4968"},"modified":"2026-08-25T19:31:11","modified_gmt":"2026-08-25T19:31:11","slug":"reservaciones","status":"publish","type":"page","link":"https:\/\/finca.brumamarketing.com\/en\/reservaciones\/","title":{"rendered":"Reservaciones"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"4968\" class=\"elementor elementor-4968\">\n\t\t\t\t        <section class=\"elementor-section elementor-top-section elementor-element elementor-element-855e962 elementor-section-boxed elementor-section-height-default elementor-section-height-default pxl-section-static-pos-no pxl-section-overflow-hidden-no pxl-container-margin-auto-no\" data-id=\"855e962\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\n                \n                <div class=\"elementor-container elementor-column-gap-default \">\n                <div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-4818e56 col-offset-none pxl-column-element-default pxl-column-overflow-hidden-no\" data-id=\"4818e56\" data-element_type=\"column\" data-e-type=\"column\">\r\n        <div class=\"elementor-widget-wrap elementor-element-populated\">\r\n                    \t\t<div class=\"elementor-element elementor-element-8cd5048 elementor-widget elementor-widget-pxl_room_check_available_form\" data-id=\"8cd5048\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"pxl_room_check_available_form.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\r\n<div class=\"pxl-room-check-available-form-wg layout-2 light-mode \">\r\n\t<form class=\"room-check-available-form submit\" name=\"room-check-available-form\" method=\"post\" action=\"https:\/\/finca.brumamarketing.com\/en\/check-availability\/\">\r\n        <input type=\"hidden\" class=\"checkin-date-hidden\" name=\"checkin_date\" value=\"2026-09-04\">\r\n        <input type=\"hidden\" class=\"checkout-date-hidden\" name=\"checkout_date\" value=\"2026-09-05\">\r\n\t\t<div class=\"check-available-form-wrap relative border-bottom\">\r\n\t\t\t<div class=\"check-available-form-inner row gx-30 gx-xl-60\">\r\n\t\t\t\t<div class=\"form-field-row checkin-col col-12 col-sm-6 col-md-4 col-lg-auto\">\r\n                    <div class=\"field-wrap date-checkin-wrap relative\">\r\n                        <div class=\"field-title checkin-title\">Check - In<\/div>\r\n                        <input class=\"has-datepicker date-checkin\" type=\"text\" name=\"date_checkin\" value=\"04 Sep 2026\">\r\n                        <span aria-hidden=\"true\" class=\"pxl-icon cmli cmli-calendar22\"><\/span>\r\n                    <\/div>\r\n                <\/div>\r\n                <div class=\"separate\"><\/div>\r\n                <div class=\"form-field-row checkout-col col-12 col-sm-6 col-md-4 col-lg-auto\">\r\n                    <div class=\"field-wrap date-checkout-wrap relative\">\r\n                        <div class=\"field-title checkout-title\">Check - Out<\/div>\r\n                        <input class=\"has-datepicker date-checkout\" type=\"text\" name=\"date_checkout\" value=\"05 Sep 2026\">\r\n                        <span aria-hidden=\"true\" class=\"pxl-icon cmli cmli-calendar22\"><\/span>\r\n                        \r\n                    <\/div> \r\n                <\/div>\r\n                <div class=\"separate\"><\/div> \r\n                <div class=\"form-field-row guest-col col-6 col-sm-6 col-md-2 col-lg-auto\">\r\n                    <div class=\"field-wrap guest-wrap relative\">\r\n                        <div class=\"field-title adults-title\">Adults<\/div>\r\n                        <div class=\"input-number-inner\">\r\n                            <span class=\"input-number-button number-up\"><span class=\"zmdi zmdi-chevron-up\"><\/span><\/span>\r\n                            <input type=\"number\" class=\"input-text adults-number\" name=\"adults_number\" value=\"1\" min=\"1\" max=\"5\" step=\"1\" inputmode=\"numeric\" autocomplete=\"off\">\r\n                            <span class=\"input-number-button number-down\"><span class=\"zmdi zmdi-chevron-down\"><\/span><\/span>\r\n                        <\/div> \r\n                    <\/div> \r\n                <\/div>\r\n                <div class=\"separate\"><\/div>\r\n                <div class=\"form-field-row children-col col-6 col-sm-6 col-md-2 col-lg-auto\">\r\n                    <div class=\"field-wrap children-wrap relative\">\r\n                        <div class=\"field-title children-title\">Children<\/div>\r\n                        <div class=\"input-number-inner\">\r\n                            <span class=\"input-number-button number-up\"><span class=\"zmdi zmdi-chevron-up\"><\/span><\/span>\r\n                            <input type=\"number\" class=\"input-text children-number\" name=\"children_number\" value=\"0\" min=\"0\" max=\"4\" step=\"1\" inputmode=\"numeric\" autocomplete=\"off\">\r\n                            <span class=\"input-number-button number-down\"><span class=\"zmdi zmdi-chevron-down\"><\/span><\/span>\r\n                        <\/div> \r\n                    <\/div> \r\n                <\/div>\r\n                                <div class=\"form-action col-12 col-lg-auto\">    \r\n\t                <button class=\"pxl-btn btn-check-available w-100 pxl-split-text hover-split-text split-words-scale \"  type=\"submit\">\r\n                        <span class=\"btn-text\">Checar disponibilidad <\/span>\r\n                        <span class=\"pxl-btn-spinner pxli-spinner\"><\/span>\r\n                    <\/button>\r\n\t            <\/div>\r\n                 \r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t<\/form>\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t                    <\/div>\r\n        <\/div>\r\n        \t\t\t<\/div>\n\t\t<\/section>\n\t\t        <section class=\"elementor-section elementor-top-section elementor-element elementor-element-1018e9b elementor-section-full_width elementor-section-height-default elementor-section-height-default pxl-section-offset-none pxl-section-static-pos-no pxl-section-overflow-hidden-no pxl-container-margin-auto-no\" data-id=\"1018e9b\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\n                \n                <div class=\"elementor-container elementor-column-gap-default \">\n                <div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-431d73f col-offset-none pxl-column-element-default pxl-column-overflow-hidden-no\" data-id=\"431d73f\" data-element_type=\"column\" data-e-type=\"column\">\r\n        <div class=\"elementor-widget-wrap elementor-element-populated\">\r\n                    \t\t<div class=\"elementor-element elementor-element-bbfe6c5 elementor-widget elementor-widget-html\" data-id=\"bbfe6c5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- =========================================================\r\n     FINCA TR\u00c9 - HABITACIONES, SUITES Y VILLAS\r\n     Pegar todo dentro de un widget HTML de Elementor   <div class=\"ft-rooms-heading\">\r\n        <span>FINCA TR\u00c9 \u00b7 VALLE DE GUADALUPE<\/span>\r\n\r\n        <h2>Habitaciones, suites y villas<\/h2>\r\n\r\n        <p>\r\n            Descubre nuestros espacios y encuentra la opci\u00f3n ideal para tu\r\n            estancia en Valle de Guadalupe.\r\n        <\/p>\r\n    <\/div>\r\n========================================================= -->\r\n\r\n<link\r\n    rel=\"stylesheet\"\r\n    href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.5.2\/css\/all.min.css\"\r\n>\r\n\r\n<section class=\"ft-rooms-section\">\r\n\r\n  \r\n\r\n    <div class=\"ft-rooms-grid\" id=\"ftRoomsGrid\"><\/div>\r\n\r\n<\/section>\r\n\r\n\r\n<style>\r\n\/* =========================================================\r\n   VARIABLES GENERALES\r\n========================================================= *\/\r\n\r\n.ft-rooms-section {\r\n    --ft-burgundy: #71132f;\r\n    --ft-burgundy-dark: #4c0d20;\r\n    --ft-copper: #ae642d;\r\n    --ft-copper-dark: #86481e;\r\n    --ft-dark: #10171b;\r\n    --ft-text: #222222;\r\n    --ft-gray: #696969;\r\n    --ft-light: white;\r\n    --ft-border: #dedbd6;\r\n    --ft-white: #ffffff;\r\n\r\n    width: 100%;\r\n    padding: 72px 20px;\r\n    overflow: hidden;\r\n    background: var(--ft-light);\r\n    box-sizing: border-box;\r\n    font-family: Arial, Helvetica, sans-serif;\r\n}\r\n\r\n.ft-rooms-section *,\r\n.ft-rooms-section *::before,\r\n.ft-rooms-section *::after {\r\n    box-sizing: border-box;\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   ENCABEZADO\r\n========================================================= *\/\r\n\r\n.ft-rooms-heading {\r\n    max-width: 780px;\r\n    margin: 0 auto 40px;\r\n    text-align: center;\r\n}\r\n\r\n.ft-rooms-heading > span {\r\n    display: inline-block;\r\n    margin-bottom: 12px;\r\n    color: var(--ft-copper);\r\n    font-size: 12px;\r\n    font-weight: 700;\r\n    letter-spacing: 2.3px;\r\n}\r\n\r\n.ft-rooms-heading h2 {\r\n    margin: 0 0 14px;\r\n    color: var(--ft-dark);\r\n    font-family: Georgia, \"Times New Roman\", serif;\r\n    font-size: clamp(34px, 5vw, 54px);\r\n    font-weight: 400;\r\n    line-height: 1.08;\r\n}\r\n\r\n.ft-rooms-heading p {\r\n    max-width: 650px;\r\n    margin: 0 auto;\r\n    color: var(--ft-gray);\r\n    font-size: 16px;\r\n    line-height: 1.7;\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   GRID\r\n========================================================= *\/\r\n\r\n.ft-rooms-grid {\r\n    display: grid;\r\n    grid-template-columns: repeat(3, minmax(0, 1fr));\r\n    gap: 24px;\r\n    max-width: 1480px;\r\n    margin: 0 auto;\r\n    align-items: stretch;\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   TARJETAS\r\n========================================================= *\/\r\n\r\n.ft-room-card {\r\n    display: flex;\r\n    min-width: 0;\r\n    height: 100%;\r\n    flex-direction: column;\r\n    overflow: hidden;\r\n    background: var(--ft-white);\r\n    border: 1px solid var(--ft-border);\r\n    border-radius: 7px;\r\n    box-shadow: 0 10px 32px rgba(19, 18, 17, 0.07);\r\n    transition:\r\n        transform 0.25s ease,\r\n        box-shadow 0.25s ease;\r\n}\r\n\r\n.ft-room-card:hover {\r\n    transform: translateY(-5px);\r\n    box-shadow: 0 20px 50px rgba(19, 18, 17, 0.13);\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   SLIDER\r\n========================================================= *\/\r\n\r\n.ft-room-slider {\r\n    position: relative;\r\n    width: 100%;\r\n    height: 255px;\r\n    overflow: hidden;\r\n    background: #ddd8d2;\r\n    outline: none;\r\n    user-select: none;\r\n    touch-action: pan-y;\r\n}\r\n\r\n.ft-slider-track {\r\n    position: relative;\r\n    width: 100%;\r\n    height: 100%;\r\n}\r\n\r\n.ft-slide {\r\n    position: absolute;\r\n    inset: 0;\r\n    width: 100%;\r\n    height: 100%;\r\n    visibility: hidden;\r\n    opacity: 0;\r\n    transform: scale(1.025);\r\n    transition:\r\n        opacity 0.45s ease,\r\n        visibility 0.45s ease,\r\n        transform 0.6s ease;\r\n}\r\n\r\n.ft-slide.is-active {\r\n    z-index: 2;\r\n    visibility: visible;\r\n    opacity: 1;\r\n    transform: scale(1);\r\n}\r\n\r\n.ft-slide-link {\r\n    position: absolute;\r\n    inset: 0;\r\n    z-index: 1;\r\n    display: block;\r\n    width: 100%;\r\n    height: 100%;\r\n    cursor: pointer;\r\n}\r\n\r\n.ft-slide img {\r\n    width: 100%;\r\n    height: 100%;\r\n    display: block;\r\n    object-fit: cover;\r\n    transition: transform 0.6s ease;\r\n}\r\n\r\n.ft-room-card:hover .ft-slide.is-active img {\r\n    transform: scale(1.035);\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   BOTONES DEL SLIDER\r\n========================================================= *\/\r\n\r\n.ft-slider-arrow {\r\n    position: absolute;\r\n    top: 50%;\r\n    z-index: 10;\r\n    display: flex;\r\n    width: 40px;\r\n    height: 40px;\r\n    align-items: center;\r\n    justify-content: center;\r\n    padding: 0;\r\n    color: #ffffff;\r\n    background: rgba(10, 15, 18, 0.6);\r\n    border: 1px solid rgba(255, 255, 255, 0.45);\r\n    border-radius: 50%;\r\n    cursor: pointer;\r\n    opacity: 1;\r\n    transform: translateY(-50%);\r\n    transition:\r\n        opacity 0.25s ease,\r\n        background 0.25s ease,\r\n        transform 0.25s ease;\r\n}\r\n\r\n.ft-room-slider:hover .ft-slider-arrow,\r\n.ft-slider-arrow:focus-visible {\r\n    opacity: 1;\r\n}\r\n\r\n.ft-slider-arrow:hover {\r\n    background: rgba(10, 15, 18, 0.9);\r\n}\r\n\r\n.ft-slider-prev {\r\n    left: 13px;\r\n}\r\n\r\n.ft-slider-next {\r\n    right: 13px;\r\n}\r\n\r\n.ft-slider-prev:hover {\r\n    transform: translateY(-50%) translateX(-2px);\r\n}\r\n\r\n.ft-slider-next:hover {\r\n    transform: translateY(-50%) translateX(2px);\r\n}\r\n\r\n.ft-slider-arrow i {\r\n    font-size: 13px;\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   CONTADOR Y PUNTOS\r\n========================================================= *\/\r\n\r\n.ft-slider-counter {\r\n    position: absolute;\r\n    right: 13px;\r\n    bottom: 13px;\r\n    z-index: 10;\r\n    display: inline-flex;\r\n    min-width: 57px;\r\n    align-items: center;\r\n    justify-content: center;\r\n    gap: 4px;\r\n    padding: 8px 10px;\r\n    color: #ffffff;\r\n    background: rgba(10, 15, 18, 0.72);\r\n    border-radius: 5px;\r\n    font-size: 12px;\r\n    line-height: 1;\r\n    backdrop-filter: blur(5px);\r\n}\r\n\r\n.ft-slider-counter i {\r\n    margin-right: 2px;\r\n}\r\n\r\n.ft-slider-dots {\r\n    position: absolute;\r\n    bottom: 17px;\r\n    left: 50%;\r\n    z-index: 10;\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    gap: 6px;\r\n    transform: translateX(-50%);\r\n}\r\n\r\n.ft-slider-dot {\r\n    width: 7px;\r\n    height: 7px;\r\n    padding: 0;\r\n    background: rgba(255, 255, 255, 0.65);\r\n    border: 0;\r\n    border-radius: 50%;\r\n    cursor: pointer;\r\n    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);\r\n    transition:\r\n        width 0.25s ease,\r\n        background 0.25s ease,\r\n        border-radius 0.25s ease;\r\n}\r\n\r\n.ft-slider-dot.is-active {\r\n    width: 21px;\r\n    background: #ffffff;\r\n    border-radius: 10px;\r\n}\r\n\r\n.ft-room-slider.has-one-image .ft-slider-arrow,\r\n.ft-room-slider.has-one-image .ft-slider-dots {\r\n    display: none;\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   DATOS PRINCIPALES\r\n========================================================= *\/\r\n\r\n.ft-room-stats {\r\n    display: grid;\r\n    grid-template-columns: repeat(4, minmax(0, 1fr));\r\n    background: #ffffff;\r\n    border-bottom: 1px solid var(--ft-border);\r\n}\r\n\r\n.ft-room-stat {\r\n    display: flex;\r\n    min-width: 0;\r\n    align-items: center;\r\n    justify-content: center;\r\n    gap: 7px;\r\n    padding: 15px 7px;\r\n    color: #333333;\r\n    border-right: 1px solid var(--ft-border);\r\n    font-size: 12px;\r\n    line-height: 1.25;\r\n    text-align: center;\r\n}\r\n\r\n.ft-room-stat:last-child {\r\n    border-right: 0;\r\n}\r\n\r\n.ft-room-stat i {\r\n    flex: 0 0 auto;\r\n    color: var(--ft-dark);\r\n    font-size: 14px;\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   CONTENIDO\r\n========================================================= *\/\r\n\r\n.ft-room-body {\r\n    display: flex;\r\n    flex: 1;\r\n    flex-direction: column;\r\n}\r\n\r\n.ft-room-info,\r\n.ft-room-policy {\r\n    padding: 21px 18px;\r\n    border-bottom: 1px solid var(--ft-border);\r\n}\r\n\r\n.ft-room-info h3 {\r\n    margin: 0 0 11px;\r\n    color: var(--ft-dark);\r\n    font-family: Georgia, \"Times New Roman\", serif;\r\n    font-size: 25px;\r\n    font-weight: 400;\r\n    line-height: 1.2;\r\n}\r\n\r\n.ft-room-description {\r\n    margin: 0 0 16px;\r\n    color: var(--ft-gray);\r\n    font-size: 13px;\r\n    line-height: 1.65;\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   CARACTER\u00cdSTICAS\r\n========================================================= *\/\r\n\r\n.ft-room-features {\r\n    display: grid;\r\n    gap: 9px;\r\n    margin: 0 0 16px;\r\n    padding: 0;\r\n    list-style: none;\r\n}\r\n\r\n.ft-room-features li {\r\n    display: flex;\r\n    align-items: flex-start;\r\n    gap: 9px;\r\n    color: #393939;\r\n    font-size: 13px;\r\n    line-height: 1.45;\r\n}\r\n\r\n.ft-room-features i {\r\n    width: 18px;\r\n    margin-top: 2px;\r\n    color: var(--ft-copper);\r\n    text-align: center;\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   ENLACES Y BOTONES DE INFORMACI\u00d3N\r\n========================================================= *\/\r\n\r\n.ft-room-links {\r\n    display: flex;\r\n    flex-wrap: wrap;\r\n    gap: 10px 16px;\r\n    align-items: center;\r\n}\r\n\r\n.ft-room-more,\r\n.ft-room-amenities-button {\r\n    display: inline-flex;\r\n    align-items: center;\r\n    gap: 7px;\r\n    padding: 0;\r\n    color: var(--ft-burgundy) !important;\r\n    background: transparent;\r\n    border: 0;\r\n    cursor: pointer;\r\n    text-decoration: none !important;\r\n    font-size: 13px;\r\n    font-weight: 700;\r\n    transition:\r\n        color 0.2s ease,\r\n        gap 0.2s ease;\r\n}\r\n\r\n.ft-room-more:hover,\r\n.ft-room-amenities-button:hover {\r\n    gap: 10px;\r\n    color: var(--ft-copper-dark) !important;\r\n}\r\n\r\n.ft-room-more i,\r\n.ft-room-amenities-button i {\r\n    font-size: 11px;\r\n}\r\n\r\n.ft-room-amenities-button i {\r\n    transition: transform 0.25s ease;\r\n}\r\n\r\n.ft-room-amenities-button.is-open i {\r\n    transform: rotate(180deg);\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   AMENIDADES DESPLEGABLES\r\n========================================================= *\/\r\n\r\n.ft-amenities-panel {\r\n    display: none;\r\n    margin-top: 18px;\r\n    padding-top: 17px;\r\n    border-top: 1px solid var(--ft-border);\r\n}\r\n\r\n.ft-amenities-panel.is-open {\r\n    display: block;\r\n}\r\n\r\n.ft-amenity-group {\r\n    margin-bottom: 17px;\r\n}\r\n\r\n.ft-amenity-group:last-child {\r\n    margin-bottom: 0;\r\n}\r\n\r\n.ft-amenity-group h5 {\r\n    margin: 0 0 8px;\r\n    color: var(--ft-dark);\r\n    font-size: 11px;\r\n    font-weight: 700;\r\n    letter-spacing: 1px;\r\n    text-transform: uppercase;\r\n}\r\n\r\n.ft-amenity-group ul {\r\n    display: grid;\r\n    grid-template-columns: repeat(2, minmax(0, 1fr));\r\n    gap: 7px 13px;\r\n    margin: 0;\r\n    padding: 0;\r\n    list-style: none;\r\n}\r\n\r\n.ft-amenity-group li {\r\n    position: relative;\r\n    padding-left: 15px;\r\n    color: #5b5b5b;\r\n    font-size: 12px;\r\n    line-height: 1.45;\r\n}\r\n\r\n.ft-amenity-group li::before {\r\n    position: absolute;\r\n    top: 1px;\r\n    left: 0;\r\n    color: var(--ft-copper);\r\n    content: \"\u2713\";\r\n    font-size: 10px;\r\n    font-weight: 700;\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   POL\u00cdTICA\r\n========================================================= *\/\r\n\r\n.ft-room-policy p {\r\n    display: flex;\r\n    gap: 8px;\r\n    margin: 0;\r\n    color: #595959;\r\n    font-size: 12px;\r\n    line-height: 1.55;\r\n}\r\n\r\n.ft-room-policy p i {\r\n    margin-top: 3px;\r\n    color: var(--ft-copper);\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   PIE DE TARJETA\r\n========================================================= *\/\r\n\r\n.ft-room-footer {\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    padding: 18px;\r\n    background: #ffffff;\r\n}\r\n\r\n\r\n.ft-room-book {\r\n    display: inline-flex;\r\n    min-height: 45px;\r\n    align-items: center;\r\n    justify-content: center;\r\n    gap: 8px;\r\n    padding: 12px 17px;\r\n    color: #ffffff !important;\r\n    background: var(--ft-burgundy);\r\n    border-radius: 4px;\r\n    text-decoration: none !important;\r\n    font-size: 13px;\r\n    font-weight: 700;\r\n    white-space: nowrap;\r\n    transition:\r\n        background 0.2s ease,\r\n        transform 0.2s ease;\r\n}\r\n\r\n.ft-room-book:hover {\r\n    color: #ffffff !important;\r\n    background: var(--ft-burgundy-dark);\r\n    transform: translateY(-2px);\r\n}\r\n\r\n\r\n\/* =========================================================\r\n   RESPONSIVE\r\n========================================================= *\/\r\n\r\n@media (max-width: 1180px) {\r\n    .ft-rooms-grid {\r\n        grid-template-columns: repeat(2, minmax(0, 1fr));\r\n    }\r\n}\r\n\r\n@media (max-width: 760px) {\r\n    .ft-rooms-section {\r\n        padding: 50px 13px;\r\n    }\r\n\r\n    .ft-rooms-grid {\r\n        grid-template-columns: 1fr;\r\n    }\r\n\r\n    .ft-room-slider {\r\n        height: 245px;\r\n    }\r\n\r\n    .ft-slider-arrow {\r\n        width: 38px;\r\n        height: 38px;\r\n        opacity: 1;\r\n    }\r\n}\r\n\r\n@media (max-width: 470px) {\r\n    .ft-room-slider {\r\n        height: 225px;\r\n    }\r\n\r\n    .ft-room-stats {\r\n        grid-template-columns: repeat(2, minmax(0, 1fr));\r\n    }\r\n\r\n    .ft-room-stat:nth-child(2) {\r\n        border-right: 0;\r\n    }\r\n\r\n    .ft-room-stat:nth-child(-n+2) {\r\n        border-bottom: 1px solid var(--ft-border);\r\n    }\r\n\r\n\r\n    .ft-amenity-group ul {\r\n        grid-template-columns: 1fr;\r\n    }\r\n\r\n    .ft-room-footer {\r\n        align-items: stretch;\r\n        flex-direction: column;\r\n    }\r\n\r\n    .ft-room-book {\r\n        width: 100%;\r\n    }\r\n}\r\n<\/style>\r\n\r\n\r\n<script>\r\n(function () {\r\n\r\n    \/* =====================================================\r\n       ENLACES DE RESERVACI\u00d3N\r\n\r\n       Las fotograf\u00edas y los botones de reservar utilizan la\r\n       propiedad \"url\" de cada habitaci\u00f3n.\r\n    ===================================================== *\/\r\n\r\n\r\n    \/* =====================================================\r\n       HABITACIONES\r\n\r\n       ORDEN:\r\n       1. Habitaci\u00f3n Standar\r\n       2. Junior Suite 1 cama King\r\n       3. Junior Suite 2 camas Queen\r\n       4. Suite de Lujo\r\n       5. Villa Junior\r\n       6. Villa Doble\r\n       7. Villa Master\r\n\r\n       PARA CAMBIAR LAS FOTOS:\r\n\r\n       Reemplaza cada URL dentro de \"images\".\r\n\r\n       Puedes agregar m\u00e1s fotograf\u00edas:\r\n\r\n       images: [\r\n           \"URL-FOTO-1\",\r\n           \"URL-FOTO-2\",\r\n           \"URL-FOTO-3\",\r\n           \"URL-FOTO-4\"\r\n       ]\r\n    ===================================================== *\/\r\n\r\n    const FT_ROOMS = [\r\n\r\n        \/* =================================================\r\n           1. HABITACI\u00d3N STANDAR\r\n        ================================================= *\/\r\n\r\n        {\r\n            title: \"Habitaci\u00f3n Standar\",\r\n\r\n            url:\r\n                \"https:\/\/finca.brumamarketing.com\/rooms\/habitacion-estandar\/\",\r\n\r\n            area: \"22 m\u00b2\",\r\n            beds: \"1 cama\",\r\n            guests: \"2 hu\u00e9spedes\",\r\n            baths: \"1 ba\u00f1o\",\r\n            description:\r\n                \"Habitaci\u00f3n en Valle de Guadalupe con alberca al aire libre y restaurante.\",\r\n\r\n            images: [\r\n                \"https:\/\/finca.brumamarketing.com\/wp-content\/uploads\/2023\/04\/STANDAR-1-scaled.jpg\",\r\n                \"https:\/\/finca.brumamarketing.com\/wp-content\/uploads\/2023\/04\/STANDAR-2-scaled.jpg\",\r\n                \"https:\/\/finca.brumamarketing.com\/wp-content\/uploads\/2023\/04\/STANDAR-2.avif\"\r\n                \r\n                \r\n            ],\r\n\r\n            features: [\r\n                {\r\n                    icon: \"fa-solid fa-snowflake\",\r\n                    text: \"Aire acondicionado\"\r\n                },\r\n                {\r\n                    icon: \"fa-solid fa-person-swimming\",\r\n                    text: \"Alberca\"\r\n                },\r\n                {\r\n                    icon: \"fa-solid fa-wifi\",\r\n                    text: \"Wifi gratuito\"\r\n                },\r\n                {\r\n                    icon: \"fa-solid fa-square-parking\",\r\n                    text: \"Estacionamiento gratis\"\r\n                },\r\n                {\r\n                    icon: \"fa-solid fa-utensils\",\r\n                    text: \"Restaurante\"\r\n                },\r\n                {\r\n                    icon: \"fa-solid fa-mountain-sun\",\r\n                    text: \"Balc\u00f3n con vista al vi\u00f1edo\"\r\n                }\r\n            ],\r\n\r\n            amenityGroups: [\r\n                {\r\n                    title: \"Generales\",\r\n                    items: [\r\n                        \"Aire acondicionado\",\r\n                        \"Alberca\",\r\n                        \"Alimentos y bebidas\",\r\n                        \"Ba\u00f1o\",\r\n                        \"Entretenimiento\",\r\n                        \"Espacios exteriores\",\r\n                        \"Estacionamiento gratis\",\r\n                        \"Internet\",\r\n                        \"Recepci\u00f3n 24\/7\",\r\n                        \"Restaurante\",\r\n                        \"Seguridad\",\r\n                        \"Wifi gratuito\"\r\n                    ]\r\n                },\r\n                {\r\n                    title: \"Ba\u00f1o\",\r\n                    items: [\r\n                        \"Batas\",\r\n                        \"Ba\u00f1o privado\",\r\n                        \"Jab\u00f3n\",\r\n                        \"Regadera\",\r\n                        \"Secadora de cabello\",\r\n                        \"Shampoo\",\r\n                        \"Toallas\"\r\n                    ]\r\n                },\r\n                {\r\n                    title: \"Habitaci\u00f3n\",\r\n                    items: [\r\n                        \"Aire acondicionado\",\r\n                        \"Calefacci\u00f3n\",\r\n                        \"Cortinas blackout\",\r\n                        \"Habitaci\u00f3n separada\",\r\n                        \"S\u00e1banas\"\r\n                    ]\r\n                },\r\n                {\r\n                    title: \"Entretenimiento\",\r\n                    items: [\r\n                        \"TV de pantalla plana de 55 pulgadas con canales de cable\"\r\n                    ]\r\n                },\r\n                {\r\n                    title: \"Alimentos y bebidas\",\r\n                    items: [\r\n                        \"Cafetera de espresso\",\r\n                        \"Minibar\",\r\n                        \"Servicio a la habitaci\u00f3n en horario limitado\"\r\n                    ]\r\n                },\r\n                {\r\n                    title: \"Internet\",\r\n                    items: [\r\n                        \"Wifi gratis\"\r\n                    ]\r\n                },\r\n                {\r\n                    title: \"Seguridad\",\r\n                    items: [\r\n                        \"Botiqu\u00edn de primeros auxilios\",\r\n                        \"Extintor de incendios\"\r\n                    ]\r\n                },\r\n                {\r\n                    title: \"M\u00e1s\",\r\n                    items: [\r\n                        \"Caja de seguridad\",\r\n                        \"Con muebles diferentes\",\r\n                        \"Con vista al vi\u00f1edo\",\r\n                        \"Guardarropa o cl\u00f3set\",\r\n                        \"Llamadas locales gratis\",\r\n                        \"Plancha y tabla de planchar\",\r\n                        \"Servicio de limpieza diario\",\r\n                        \"Tel\u00e9fono\"\r\n                    ]\r\n                },\r\n                {\r\n                    title: \"Espacios exteriores\",\r\n                    items: [\r\n                        \"Balc\u00f3n\"\r\n                    ]\r\n                }\r\n            ]\r\n        },\r\n\r\n\r\n        \/* =================================================\r\n           2. JUNIOR SUITE 1 CAMA KING\r\n        ================================================= *\/\r\n\r\n        {\r\n            title: \"Junior Suite 1 cama King\",\r\n\r\n            url:\r\n                \"https:\/\/finca.brumamarketing.com\/rooms\/junior\/\",\r\n\r\n            area: \"39 m\u00b2\",\r\n            beds: \"1 cama King\",\r\n            guests: \"2 hu\u00e9spedes\",\r\n            baths: \"1 ba\u00f1o\",\r\n            description:\r\n                \"Reserva Finca Tr\u00e9 Hotel and Villas Resort y disfruta tu estancia en Valle de Guadalupe.\",\r\n\r\n            images: [\r\n                \"https:\/\/finca.brumamarketing.com\/wp-content\/uploads\/2023\/04\/JUNIOR.webp\",\r\n                \"https:\/\/finca.brumamarketing.com\/wp-content\/uploads\/2023\/04\/JUNIOR-1-scaled.jpg\",\r\n                \"https:\/\/finca.brumamarketing.com\/wp-content\/uploads\/2023\/04\/JUNIOR-2-scaled.jpg\"\r\n            ],\r\n\r\n            features: [\r\n                {\r\n                    icon: \"fa-solid fa-bed\",\r\n                    text: \"1 cama King\"\r\n                },\r\n                {\r\n                    icon: \"fa-solid fa-person-swimming\",\r\n                    text: \"Alberca\"\r\n                },\r\n                {\r\n                    icon: \"fa-solid fa-bath\",\r\n                    text: \"Ba\u00f1o privado\"\r\n                }\r\n            ],\r\n\r\n            amenityGroups: []\r\n        },\r\n\r\n\r\n        \/* =================================================\r\n           3. JUNIOR SUITE 2 CAMAS QUEEN\r\n        ================================================= *\/\r\n\r\n        {\r\n            title: \"Junior Suite 2 camas Queen\",\r\n\r\n            url:\r\n                \"https:\/\/finca.brumamarketing.com\/rooms\/habitacion-junior-suite-2-camas-queen\/\",\r\n\r\n            area: \"39 m\u00b2\",\r\n            beds: \"2 camas Queen\",\r\n            guests: \"4 hu\u00e9spedes\",\r\n            baths: \"1 ba\u00f1o\",\r\n            description:\r\n                \"Despierta con calma y disfruta de espacios dise\u00f1ados para hacer de cada estancia una experiencia memorable.\",\r\n\r\n            images: [\r\n                \"https:\/\/finca.brumamarketing.com\/wp-content\/uploads\/2023\/04\/DOBLE.webp\",\r\n                \"https:\/\/finca.brumamarketing.com\/wp-content\/uploads\/2023\/04\/DOBLE-2-scaled.jpg\",\r\n                \"https:\/\/finca.brumamarketing.com\/wp-content\/uploads\/2023\/04\/DOBLE-scaled.jpg\"\r\n            ],\r\n\r\n            features: [\r\n                {\r\n                    icon: \"fa-solid fa-bed\",\r\n                    text: \"2 camas Queen\"\r\n                },\r\n                {\r\n                    icon: \"fa-solid fa-user-group\",\r\n                    text: \"Capacidad para 4 hu\u00e9spedes\"\r\n                },\r\n                {\r\n                    icon: \"fa-solid fa-bath\",\r\n                    text: \"1 ba\u00f1o\"\r\n                }\r\n            ],\r\n\r\n            amenityGroups: []\r\n        },\r\n\r\n\r\n        \/* =================================================\r\n           4. SUITE DE LUJO\r\n        ================================================= *\/\r\n\r\n        {\r\n            title: \"Suite de Lujo\",\r\n\r\n            url:\r\n                \"https:\/\/finca.brumamarketing.com\/rooms\/suite-suite-de-lujo\/\",\r\n\r\n            area: \"39 m\u00b2\",\r\n            beds: \"1 cama\",\r\n            guests: \"2 hu\u00e9spedes\",\r\n            baths: \"1 ba\u00f1o\",\r\n            description: \"\",\r\n\r\n            images: [\r\n                \"https:\/\/finca.brumamarketing.com\/wp-content\/uploads\/2023\/04\/SUITE.webp\",\r\n                \"https:\/\/finca.brumamarketing.com\/wp-content\/uploads\/2023\/04\/SUITE-1-scaled.jpg\",\r\n                \"https:\/\/finca.brumamarketing.com\/wp-content\/uploads\/2023\/04\/SUITE-3-scaled.jpg\"\r\n            ],\r\n\r\n            features: [\r\n                {\r\n                    icon: \"fa-solid fa-crown\",\r\n                    text: \"Suite de lujo\"\r\n                },\r\n                {\r\n                    icon: \"fa-solid fa-bed\",\r\n                    text: \"1 cama\"\r\n                },\r\n                {\r\n                    icon: \"fa-solid fa-bath\",\r\n                    text: \"1 ba\u00f1o\"\r\n                }\r\n            ],\r\n\r\n            amenityGroups: []\r\n        },\r\n\r\n\r\n        \/* =================================================\r\n           5. VILLA JUNIOR\r\n           ACTUALIZADA:\r\n           30 m\u00b2\r\n           2 camas\r\n        ================================================= *\/\r\n\r\n        {\r\n            title: \"Villa Junior\",\r\n\r\n            url:\r\n                \"https:\/\/finca.brumamarketing.com\/rooms\/villa-junior\/\",\r\n\r\n            area: \"30 m\u00b2\",\r\n            beds: \"2 camas\",\r\n            guests: \"350 hu\u00e9spedes\",\r\n            baths: \"0 ba\u00f1os\",\r\n            description: \"\",\r\n\r\n            images: [\r\n                \"https:\/\/finca.brumamarketing.com\/wp-content\/uploads\/2023\/04\/JUNIOR-VILLA-13-scaled.jpg\",\r\n                \"https:\/\/finca.brumamarketing.com\/wp-content\/uploads\/2023\/04\/JUNIOR-VILLA-11-scaled.jpg\",\r\n                \"https:\/\/finca.brumamarketing.com\/wp-content\/uploads\/2023\/04\/JUNIOR-VILLA-7-scaled.jpg\",\r\n                \"https:\/\/finca.brumamarketing.com\/wp-content\/uploads\/2023\/04\/JUNIOR-VILLA-13-scaled.jpg\" \r\n            ],\r\n\r\n            features: [\r\n                {\r\n                    icon: \"fa-solid fa-bed\",\r\n                    text: \"2 camas\"\r\n                },\r\n                {\r\n                    icon: \"fa-solid fa-city\",\r\n                    text: \"Vista a la ciudad\"\r\n                },\r\n                {\r\n                    icon: \"fa-solid fa-house\",\r\n                    text: \"Villa Junior\"\r\n                }\r\n            ],\r\n\r\n            amenityGroups: []\r\n        },\r\n\r\n\r\n        \/* =================================================\r\n           6. VILLA DOBLE\r\n        ================================================= *\/\r\n\r\n        {\r\n            title: \"Villa Doble\",\r\n\r\n            url:\r\n                \"https:\/\/finca.brumamarketing.com\/rooms\/villa-doble\/\",\r\n\r\n            area: \"30 m\u00b2\",\r\n            beds: \"2 camas\",\r\n            guests: \"4 hu\u00e9spedes\",\r\n            baths: \"2 ba\u00f1os\",\r\n            description: \"\",\r\n\r\n            images: [\r\n                \"https:\/\/finca.brumamarketing.com\/wp-content\/uploads\/2023\/04\/VILLA-DOBLE-1-scaled.jpg\",\r\n                \"https:\/\/finca.brumamarketing.com\/wp-content\/uploads\/2023\/04\/MASTER-VILLA-16-scaled.jpg\",\r\n                \"https:\/\/finca.brumamarketing.com\/wp-content\/uploads\/2023\/04\/VILLA-DOBLE-3-scaled.jpg\"\r\n            ],\r\n\r\n            features: [\r\n                {\r\n                    icon: \"fa-solid fa-bed\",\r\n                    text: \"2 camas\"\r\n                },\r\n                {\r\n                    icon: \"fa-solid fa-user-group\",\r\n                    text: \"Capacidad para 4 hu\u00e9spedes\"\r\n                },\r\n                {\r\n                    icon: \"fa-solid fa-bath\",\r\n                    text: \"2 ba\u00f1os\"\r\n                }\r\n            ],\r\n\r\n            amenityGroups: []\r\n        },\r\n\r\n\r\n        \/* =================================================\r\n           7. VILLA MASTER\r\n        ================================================= *\/\r\n\r\n        {\r\n            title: \"Villa Master\",\r\n\r\n            url:\r\n                \"https:\/\/finca.brumamarketing.com\/rooms\/villa-master\/\",\r\n\r\n            area: \"60 m\u00b2\",\r\n            beds: \"2 camas\",\r\n            guests: \"3 hu\u00e9spedes\",\r\n            baths: \"2 ba\u00f1os\",\r\n            description: \"\",\r\n\r\n            images: [\r\n                \"https:\/\/finca.brumamarketing.com\/wp-content\/uploads\/2023\/04\/MASTER-VILLA-1-1-scaled.jpg\",\r\n                \"https:\/\/finca.brumamarketing.com\/wp-content\/uploads\/2023\/04\/MASTER-VILLA-16-scaled.jpg\",\r\n                \"https:\/\/finca.brumamarketing.com\/wp-content\/uploads\/2023\/04\/MASTER-VILLA-19-scaled.jpg\"\r\n            ],\r\n\r\n            features: [\r\n                {\r\n                    icon: \"fa-solid fa-bed\",\r\n                    text: \"2 camas\"\r\n                },\r\n                {\r\n                    icon: \"fa-solid fa-user-group\",\r\n                    text: \"Capacidad para 3 hu\u00e9spedes\"\r\n                },\r\n                {\r\n                    icon: \"fa-solid fa-bath\",\r\n                    text: \"2 ba\u00f1os\"\r\n                }\r\n            ],\r\n\r\n            amenityGroups: []\r\n        }\r\n\r\n    ];\r\n\r\n\r\n    \/* =====================================================\r\n       CREAR TARJETAS\r\n    ===================================================== *\/\r\n\r\n    function ftCreateCards() {\r\n\r\n        const grid = document.getElementById(\"ftRoomsGrid\");\r\n\r\n        if (!grid || grid.dataset.initialized === \"true\") {\r\n            return;\r\n        }\r\n\r\n        grid.dataset.initialized = \"true\";\r\n\r\n        grid.innerHTML = FT_ROOMS.map(function (room, roomIndex) {\r\n\r\n            \/*\r\n             * Evita mostrar la misma fotograf\u00eda varias veces.\r\n             * Para que exista un slider real, cada URL dentro de \"images\"\r\n             * debe apuntar a una fotograf\u00eda diferente.\r\n             *\/\r\n            const roomImages = Array.from(\r\n                new Set((room.images || []).filter(Boolean))\r\n            );\r\n\r\n            const slides = roomImages.map(function (image, imageIndex) {\r\n\r\n                return `\r\n                    <div class=\"ft-slide ${imageIndex === 0 ? \"is-active\" : \"\"}\">\r\n\r\n                        <a\r\n                            href=\"${room.url}\"\r\n                            class=\"ft-slide-link\"\r\n                            aria-label=\"Ver la p\u00e1gina de ${room.title}\"\r\n                        >\r\n                            <img decoding=\"async\"\r\n                                src=\"${image}\"\r\n                                alt=\"${room.title} - fotograf\u00eda ${imageIndex + 1}\"\r\n                                loading=\"${imageIndex === 0 ? \"eager\" : \"lazy\"}\"\r\n                            >\r\n                        <\/a>\r\n\r\n                    <\/div>\r\n                `;\r\n\r\n            }).join(\"\");\r\n\r\n\r\n            const features = room.features.map(function (feature) {\r\n\r\n                return `\r\n                    <li>\r\n                        <i class=\"${feature.icon}\"><\/i>\r\n                        <span>${feature.text}<\/span>\r\n                    <\/li>\r\n                `;\r\n\r\n            }).join(\"\");\r\n\r\n\r\n            \/*\r\n             * Todas las habitaciones muestran el bot\u00f3n de amenidades.\r\n             * Cuando no existe una lista detallada, se usan las\r\n             * caracter\u00edsticas principales de la habitaci\u00f3n.\r\n             *\/\r\n            const amenityGroups =\r\n                room.amenityGroups && room.amenityGroups.length\r\n                    ? room.amenityGroups\r\n                    : [\r\n                        {\r\n                            title: \"Amenidades principales\",\r\n                            items: room.features.map(function (feature) {\r\n                                return feature.text;\r\n                            })\r\n                        },\r\n                        {\r\n                            title: \"Informaci\u00f3n adicional\",\r\n                            items: [\r\n                                \"Consulta todas las amenidades, disponibilidad y condiciones en la p\u00e1gina individual de esta habitaci\u00f3n.\"\r\n                            ]\r\n                        }\r\n                    ];\r\n\r\n\r\n            const amenities = amenityGroups.map(function (group) {\r\n\r\n                const groupItems = group.items.map(function (item) {\r\n\r\n                    return `\r\n                        <li>${item}<\/li>\r\n                    `;\r\n\r\n                }).join(\"\");\r\n\r\n\r\n                return `\r\n                    <div class=\"ft-amenity-group\">\r\n\r\n                        <h5>${group.title}<\/h5>\r\n\r\n                        <ul>\r\n                            ${groupItems}\r\n                        <\/ul>\r\n\r\n                    <\/div>\r\n                `;\r\n\r\n            }).join(\"\");\r\n\r\n\r\n            const description = room.description\r\n                ? `<p class=\"ft-room-description\">${room.description}<\/p>`\r\n                : \"\";\r\n\r\n\r\n            const amenitiesButton = `\r\n                <button\r\n                    class=\"ft-room-amenities-button\"\r\n                    type=\"button\"\r\n                    aria-expanded=\"false\"\r\n                >\r\n                    Ver todas las amenidades\r\n                    <i class=\"fa-solid fa-chevron-down\"><\/i>\r\n                <\/button>\r\n            `;\r\n\r\n\r\n            const amenitiesPanel = `\r\n                <div class=\"ft-amenities-panel\">\r\n                    ${amenities}\r\n                <\/div>\r\n            `;\r\n\r\n\r\n            return `\r\n                <article\r\n                    class=\"ft-room-card\"\r\n                    data-room=\"${room.title}\"\r\n                    data-url=\"${room.url}\"\r\n                >\r\n\r\n                    <div\r\n                        class=\"ft-room-slider\"\r\n                        tabindex=\"0\"\r\n                        aria-label=\"Galer\u00eda de ${room.title}\"\r\n                    >\r\n\r\n                        <div class=\"ft-slider-track\">\r\n                            ${slides}\r\n                        <\/div>\r\n\r\n                        <button\r\n                            class=\"ft-slider-arrow ft-slider-prev\"\r\n                            type=\"button\"\r\n                            aria-label=\"Fotograf\u00eda anterior\"\r\n                        >\r\n                            <i class=\"fa-solid fa-chevron-left\"><\/i>\r\n                        <\/button>\r\n\r\n                        <button\r\n                            class=\"ft-slider-arrow ft-slider-next\"\r\n                            type=\"button\"\r\n                            aria-label=\"Fotograf\u00eda siguiente\"\r\n                        >\r\n                            <i class=\"fa-solid fa-chevron-right\"><\/i>\r\n                        <\/button>\r\n\r\n                        <div\r\n                            class=\"ft-slider-dots\"\r\n                            aria-label=\"Seleccionar fotograf\u00eda\"\r\n                        ><\/div>\r\n\r\n                        <span class=\"ft-slider-counter\">\r\n\r\n                            <i class=\"fa-regular fa-images\"><\/i>\r\n\r\n                            <span class=\"ft-current-slide\">\r\n                                1\r\n                            <\/span>\r\n\r\n                            \/\r\n\r\n                            <span class=\"ft-total-slides\">\r\n                                ${roomImages.length}\r\n                            <\/span>\r\n\r\n                        <\/span>\r\n\r\n                    <\/div>\r\n\r\n\r\n                    <div class=\"ft-room-stats\">\r\n\r\n                        <div class=\"ft-room-stat\">\r\n                            <i class=\"fa-solid fa-expand\"><\/i>\r\n                            <span>${room.area}<\/span>\r\n                        <\/div>\r\n\r\n                        <div class=\"ft-room-stat\">\r\n                            <i class=\"fa-solid fa-bed\"><\/i>\r\n                            <span>${room.beds}<\/span>\r\n                        <\/div>\r\n\r\n                        <div class=\"ft-room-stat\">\r\n                            <i class=\"fa-solid fa-user-group\"><\/i>\r\n                            <span>${room.guests}<\/span>\r\n                        <\/div>\r\n\r\n                        <div class=\"ft-room-stat\">\r\n                            <i class=\"fa-solid fa-bath\"><\/i>\r\n                            <span>${room.baths}<\/span>\r\n                        <\/div>\r\n\r\n                    <\/div>\r\n\r\n\r\n                    <div class=\"ft-room-body\">\r\n\r\n                        <div class=\"ft-room-info\">\r\n\r\n                            <h3>${room.title}<\/h3>\r\n\r\n                            ${description}\r\n\r\n                            <ul class=\"ft-room-features\">\r\n                                ${features}\r\n                            <\/ul>\r\n\r\n                            <div class=\"ft-room-links\">\r\n\r\n                                <a\r\n                                    href=\"${room.url}\"\r\n                                    class=\"ft-room-more\"\r\n                                >\r\n                                    M\u00e1s informaci\u00f3n\r\n                                    <i class=\"fa-solid fa-arrow-right\"><\/i>\r\n                                <\/a>\r\n\r\n                                ${amenitiesButton}\r\n\r\n                            <\/div>\r\n\r\n                            ${amenitiesPanel}\r\n\r\n                        <\/div>\r\n\r\n                        <div class=\"ft-room-policy\">\r\n\r\n                            <h4>Disponibilidad y reservaci\u00f3n<\/h4>\r\n\r\n                            <p>\r\n                                <i class=\"fa-solid fa-circle-info\"><\/i>\r\n\r\n                                Consulta las fechas disponibles y las condiciones\r\n                                aplicables antes de confirmar tu reservaci\u00f3n.\r\n                            <\/p>\r\n\r\n                        <\/div>\r\n\r\n\r\n                        <div class=\"ft-room-footer\">\r\n\r\n                            <a\r\n                                href=\"${room.url}\"\r\n                                class=\"ft-room-book\"\r\n                            >\r\n                                Reservar\r\n\r\n                                <i class=\"fa-solid fa-calendar-check\"><\/i>\r\n                            <\/a>\r\n\r\n                        <\/div>\r\n\r\n                    <\/div>\r\n\r\n                <\/article>\r\n            `;\r\n\r\n        }).join(\"\");\r\n\r\n    }\r\n\r\n\r\n    \/* =====================================================\r\n       INICIAR SLIDERS\r\n    ===================================================== *\/\r\n\r\n    function ftInitializeSliders() {\r\n\r\n        const sliders = document.querySelectorAll(\".ft-room-slider\");\r\n\r\n        sliders.forEach(function (slider) {\r\n\r\n            const slides = slider.querySelectorAll(\".ft-slide\");\r\n            const previousButton = slider.querySelector(\".ft-slider-prev\");\r\n            const nextButton = slider.querySelector(\".ft-slider-next\");\r\n            const dotsContainer = slider.querySelector(\".ft-slider-dots\");\r\n            const currentNumber = slider.querySelector(\".ft-current-slide\");\r\n            const totalNumber = slider.querySelector(\".ft-total-slides\");\r\n\r\n            let currentIndex = 0;\r\n            let touchStartX = 0;\r\n            let touchEndX = 0;\r\n            let suppressImageClick = false;\r\n\r\n            if (!slides.length) {\r\n                return;\r\n            }\r\n\r\n            totalNumber.textContent = slides.length;\r\n\r\n            if (slides.length === 1) {\r\n                slider.classList.add(\"has-one-image\");\r\n            }\r\n\r\n\r\n            slides.forEach(function (slide, index) {\r\n\r\n                const dot = document.createElement(\"button\");\r\n\r\n                dot.type = \"button\";\r\n                dot.className = \"ft-slider-dot\";\r\n\r\n                dot.setAttribute(\r\n                    \"aria-label\",\r\n                    \"Mostrar fotograf\u00eda \" + (index + 1)\r\n                );\r\n\r\n                if (index === 0) {\r\n                    dot.classList.add(\"is-active\");\r\n                }\r\n\r\n                dot.addEventListener(\"click\", function () {\r\n                    showSlide(index);\r\n                });\r\n\r\n                dotsContainer.appendChild(dot);\r\n\r\n            });\r\n\r\n\r\n            const dots = dotsContainer.querySelectorAll(\".ft-slider-dot\");\r\n\r\n\r\n            function showSlide(index) {\r\n\r\n                if (index < 0) {\r\n                    index = slides.length - 1;\r\n                }\r\n\r\n                if (index >= slides.length) {\r\n                    index = 0;\r\n                }\r\n\r\n                slides.forEach(function (slide) {\r\n                    slide.classList.remove(\"is-active\");\r\n                });\r\n\r\n                dots.forEach(function (dot) {\r\n                    dot.classList.remove(\"is-active\");\r\n                });\r\n\r\n                slides[index].classList.add(\"is-active\");\r\n\r\n                if (dots[index]) {\r\n                    dots[index].classList.add(\"is-active\");\r\n                }\r\n\r\n                currentIndex = index;\r\n                currentNumber.textContent = currentIndex + 1;\r\n\r\n            }\r\n\r\n\r\n            previousButton.addEventListener(\"click\", function () {\r\n                showSlide(currentIndex - 1);\r\n            });\r\n\r\n\r\n            nextButton.addEventListener(\"click\", function () {\r\n                showSlide(currentIndex + 1);\r\n            });\r\n\r\n\r\n            slider.addEventListener(\r\n                \"touchstart\",\r\n                function (event) {\r\n                    touchStartX = event.changedTouches[0].screenX;\r\n                },\r\n                {\r\n                    passive: true\r\n                }\r\n            );\r\n\r\n\r\n            slider.addEventListener(\r\n                \"touchend\",\r\n                function (event) {\r\n\r\n                    touchEndX = event.changedTouches[0].screenX;\r\n\r\n                    const distance = touchStartX - touchEndX;\r\n\r\n                    if (Math.abs(distance) < 45) {\r\n                        return;\r\n                    }\r\n\r\n                    suppressImageClick = true;\r\n\r\n                    window.setTimeout(function () {\r\n                        suppressImageClick = false;\r\n                    }, 400);\r\n\r\n                    if (distance > 0) {\r\n                        showSlide(currentIndex + 1);\r\n                    } else {\r\n                        showSlide(currentIndex - 1);\r\n                    }\r\n\r\n                },\r\n                {\r\n                    passive: true\r\n                }\r\n            );\r\n\r\n\r\n            slider.addEventListener(\"click\", function (event) {\r\n\r\n                const imageLink = event.target.closest(\".ft-slide-link\");\r\n\r\n                if (imageLink && suppressImageClick) {\r\n                    event.preventDefault();\r\n                }\r\n\r\n            });\r\n\r\n\r\n            slider.addEventListener(\"keydown\", function (event) {\r\n\r\n                if (event.key === \"ArrowLeft\") {\r\n                    showSlide(currentIndex - 1);\r\n                }\r\n\r\n                if (event.key === \"ArrowRight\") {\r\n                    showSlide(currentIndex + 1);\r\n                }\r\n\r\n            });\r\n\r\n\r\n            showSlide(0);\r\n\r\n        });\r\n\r\n    }\r\n\r\n\r\n    \/* =====================================================\r\n       AMENIDADES DESPLEGABLES\r\n    ===================================================== *\/\r\n\r\n    function ftInitializeAmenities() {\r\n\r\n        const buttons = document.querySelectorAll(\r\n            \".ft-room-amenities-button\"\r\n        );\r\n\r\n        buttons.forEach(function (button) {\r\n\r\n            const infoContainer = button.closest(\".ft-room-info\");\r\n            const panel = infoContainer.querySelector(\r\n                \".ft-amenities-panel\"\r\n            );\r\n\r\n            if (!panel) {\r\n                return;\r\n            }\r\n\r\n            button.addEventListener(\"click\", function () {\r\n\r\n                const isOpen = panel.classList.contains(\"is-open\");\r\n\r\n                panel.classList.toggle(\"is-open\", !isOpen);\r\n                button.classList.toggle(\"is-open\", !isOpen);\r\n\r\n                button.setAttribute(\r\n                    \"aria-expanded\",\r\n                    String(!isOpen)\r\n                );\r\n\r\n                button.childNodes[0].nodeValue = isOpen\r\n                    ? \"Ver todas las amenidades \"\r\n                    : \"Ocultar amenidades \";\r\n\r\n            });\r\n\r\n        });\r\n\r\n    }\r\n\r\n\r\n    \/* =====================================================\r\n       BOT\u00d3N DE RESERVACI\u00d3N\r\n\r\n       Cada bot\u00f3n dirige a la p\u00e1gina individual de su\r\n       habitaci\u00f3n, suite o villa.\r\n    ===================================================== *\/\r\n\r\n    function ftInitializeBookingButtons() {\r\n\r\n        const cards = document.querySelectorAll(\".ft-room-card\");\r\n\r\n        cards.forEach(function (card) {\r\n\r\n            const button = card.querySelector(\".ft-room-book\");\r\n            const roomUrl = card.dataset.url || \"#\";\r\n\r\n            if (button) {\r\n                button.href = roomUrl;\r\n            }\r\n\r\n        });\r\n\r\n    }\r\n\r\n\r\n    \/* =====================================================\r\n       EJECUTAR\r\n    ===================================================== *\/\r\n\r\n    function ftInitializeRooms() {\r\n\r\n        ftCreateCards();\r\n        ftInitializeSliders();\r\n        ftInitializeAmenities();\r\n        ftInitializeBookingButtons();\r\n\r\n    }\r\n\r\n\r\n    if (document.readyState === \"loading\") {\r\n\r\n        document.addEventListener(\r\n            \"DOMContentLoaded\",\r\n            ftInitializeRooms\r\n        );\r\n\r\n    } else {\r\n\r\n        ftInitializeRooms();\r\n\r\n    }\r\n\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t                    <\/div>\r\n        <\/div>\r\n        \t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Check &#8211; In Check &#8211; Out Adults Children Checar disponibilidad<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-4968","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/finca.brumamarketing.com\/en\/wp-json\/wp\/v2\/pages\/4968","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/finca.brumamarketing.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/finca.brumamarketing.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/finca.brumamarketing.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/finca.brumamarketing.com\/en\/wp-json\/wp\/v2\/comments?post=4968"}],"version-history":[{"count":47,"href":"https:\/\/finca.brumamarketing.com\/en\/wp-json\/wp\/v2\/pages\/4968\/revisions"}],"predecessor-version":[{"id":20800,"href":"https:\/\/finca.brumamarketing.com\/en\/wp-json\/wp\/v2\/pages\/4968\/revisions\/20800"}],"wp:attachment":[{"href":"https:\/\/finca.brumamarketing.com\/en\/wp-json\/wp\/v2\/media?parent=4968"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}