{"id":20204,"date":"2026-06-23T22:21:16","date_gmt":"2026-06-23T22:21:16","guid":{"rendered":"https:\/\/ruca-lemu.com.ar\/?page_id=20204"},"modified":"2026-10-09T15:47:57","modified_gmt":"2026-10-09T15:47:57","slug":"presupuestador","status":"publish","type":"page","link":"https:\/\/ruca-lemu.com.ar\/?page_id=20204","title":{"rendered":"Presupuestador"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"20204\" class=\"elementor elementor-20204\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-3f998de elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"3f998de\" 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-e6f624a\" data-id=\"e6f624a\" 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-234671d elementor-widget elementor-widget-image\" data-id=\"234671d\" data-element_type=\"widget\" data-e-type=\"widget\" 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=\"748\" height=\"561\" src=\"https:\/\/ruca-lemu.com.ar\/wp-content\/uploads\/2026\/05\/IMG_20260514_124754790_HDR-1024x768.jpg\" class=\"attachment-large size-large wp-image-19896\" alt=\"\" srcset=\"https:\/\/ruca-lemu.com.ar\/wp-content\/uploads\/2026\/05\/IMG_20260514_124754790_HDR-1024x768.jpg 1024w, https:\/\/ruca-lemu.com.ar\/wp-content\/uploads\/2026\/05\/IMG_20260514_124754790_HDR-300x225.jpg 300w, https:\/\/ruca-lemu.com.ar\/wp-content\/uploads\/2026\/05\/IMG_20260514_124754790_HDR-768x576.jpg 768w, https:\/\/ruca-lemu.com.ar\/wp-content\/uploads\/2026\/05\/IMG_20260514_124754790_HDR-1536x1152.jpg 1536w, https:\/\/ruca-lemu.com.ar\/wp-content\/uploads\/2026\/05\/IMG_20260514_124754790_HDR-747x560.jpg 747w, https:\/\/ruca-lemu.com.ar\/wp-content\/uploads\/2026\/05\/IMG_20260514_124754790_HDR.jpg 1920w\" sizes=\"(max-width: 748px) 100vw, 748px\" \/>\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\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-38a8643 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"38a8643\" 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-f2b9834\" data-id=\"f2b9834\" 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-c826a4d elementor-widget elementor-widget-text-editor\" data-id=\"c826a4d\" 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<h6 style=\"text-align: center;\"><span style=\"color: #ffffff;\"><strong><span style=\"text-decoration: underline;\">Importante<\/span>:<\/strong><\/span><\/h6>\n<p style=\"text-align: center;\"><strong>Fines de semana Largo de Noviembre Reserva minima 3 noches<\/strong><\/p>\n<h6 style=\"text-align: center;\"><span style=\"color: #ffffff;\"><u>Promo <b data-path-to-node=\"2,1,0\" data-index-in-node=\"0\">Sinton\u00eda de a Dos:<\/b> <i data-path-to-node=\"2,1,0\" data-index-in-node=\"19\">M\u00e1s noches, m\u00e1s tiempo juntos,&nbsp;<\/i><\/u><\/span><u style=\"color: rgb(255, 255, 255); font-size: 1rem;\"><i data-path-to-node=\"2,1,0\" data-index-in-node=\"19\">m\u00e1s descuento<\/i><\/u><\/h6>\n<p style=\"text-align: center;\"><strong>V\u00e1lido para dias de semana (noches de lunes a jueves no feriados) de octubre a diciembre<\/strong><\/p>\n<ul>\n<li style=\"text-align: center;\"><strong>Reservas por 2 noches 10% de descuento<\/strong><\/li>\n<li style=\"text-align: center;\"><strong>Reserva por 3 noches: 20% de descuento<\/strong><\/li>\n<li style=\"text-align: center;\"><strong>Reserva por 4 noches: 30% de descuento<\/strong><\/li>\n<\/ul>\t\t\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-top-section elementor-element elementor-element-f21e947 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"f21e947\" 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-10f8738\" data-id=\"10f8738\" 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-b2a218d elementor-widget elementor-widget-html\" data-id=\"b2a218d\" 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=\"booking-widget\">\r\n    <div class=\"widget-header\">\r\n        <h2>Consulta de disponibilidad y presupuesto<\/h2>\r\n    <\/div>\r\n    <div id=\"alert-box\" class=\"alert alert-error\"><\/div>\r\n    <div class=\"form-row\">\r\n        <div class=\"input-group\">\r\n            <label for=\"checkin\">Ingreso (Check-in)<\/label>\r\n            <input type=\"date\" id=\"checkin\" required>\r\n        <\/div>\r\n        <div class=\"input-group\">\r\n            <label for=\"checkout\">Egreso (Check-out)<\/label>\r\n            <input type=\"date\" id=\"checkout\" required>\r\n        <\/div>\r\n    <\/div>\r\n    <button class=\"btn-search\" onclick=\"checkAvailability()\">BUSCAR DISPONIBILIDAD<\/button>\r\n    <div id=\"results\" class=\"results-container\">\r\n        <div class=\"results-title\" id=\"results-title\">Caba\u00f1as Disponibles:<\/div>\r\n        <div id=\"cabins-list\"><\/div>\r\n    <\/div>\r\n    \r\n    <!-- PANEL DE ADMINISTRACI\u00d3N AVANZADO -->\r\n    <div class=\"admin-toggle\" onclick=\"toggleAdminPanel()\">\ud83d\udd27 Configuraci\u00f3n Avanzada de Tarifas y Restricciones (Uso Interno)<\/div>\r\n    <div id=\"admin-panel\" class=\"admin-panel\">\r\n        <h3>Panel de Control Tarifario<\/h3>\r\n        <p style=\"font-size: 11px; margin-bottom: 15px; color: #555;\">Desde ac\u00e1 pod\u00e9s actualizar la disponibilidad diaria pegando el texto de Dioni, cambiar precios por periodo\/d\u00eda de la semana y definir feriados o tarifas de fechas especiales.<\/p>\r\n        \r\n        <label class=\"admin-label\">Disponibilidad Cruda (Texto de Dioni):<\/label>\r\n        <textarea id=\"raw-availability-input\" placeholder=\"Peg\u00e1 ac\u00e1 el listado de disponibilidad diaria...\"><\/textarea>\r\n        \r\n        <!-- TARIFAS POR PERIODO -->\r\n        <div style=\"margin-top: 15px; border-top: 1px solid #ccc; padding-top: 10px;\">\r\n            <h4 style=\"margin-bottom: 10px; font-size: 13px; color: var(--primary-color);\">1. Estructura de Tarifas por Periodo<\/h4>\r\n            \r\n            <div style=\"display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px; margin-bottom: 15px;\">\r\n                <!-- PERIODO 1 -->\r\n                <div>\r\n                    <label class=\"admin-label\">Hasta 31 de Diciembre<\/label>\r\n                    <div class=\"rate-box\">\r\n                        <strong>Cl\u00e1sica:<\/strong> <br>\r\n                        Sem: $<input type=\"number\" id=\"p1-clasica-sem\" value=\"130000\"> | S\u00e1b: $<input type=\"number\" id=\"p1-clasica-finde\" value=\"187000\"> <br>\r\n                        <strong>Superior:<\/strong> <br>\r\n                        Sem: $<input type=\"number\" id=\"p1-superior-sem\" value=\"135000\"> | S\u00e1b: $<input type=\"number\" id=\"p1-superior-finde\" value=\"200000\"> <br>\r\n                        <strong>Superior Plus:<\/strong> <br>\r\n                        Sem: $<input type=\"number\" id=\"p1-plus-sem\" value=\"140000\"> | S\u00e1b: $<input type=\"number\" id=\"p1-plus-finde\" value=\"215000\"> <br>\r\n                        <strong>Sup. 2 Ambientes:<\/strong> <br>\r\n                        Sem: $<input type=\"number\" id=\"p1-2amb-sem\" value=\"140000\"> | S\u00e1b: $<input type=\"number\" id=\"p1-2amb-finde\" value=\"215000\">\r\n                    <\/div>\r\n                <\/div>\r\n                <!-- PERIODO 2 -->\r\n                <div>\r\n                    <label class=\"admin-label\">01\/01 al 31\/01 (Enero)<\/label>\r\n                    <div class=\"rate-box\">\r\n                        <strong>Cl\u00e1sica:<\/strong> <br>\r\n                        Sem: $<input type=\"number\" id=\"p2-clasica-sem\" value=\"150000\"> | S\u00e1b: $<input type=\"number\" id=\"p2-clasica-finde\" value=\"210000\"> <br>\r\n                        <strong>Superior:<\/strong> <br>\r\n                        Sem: $<input type=\"number\" id=\"p2-superior-sem\" value=\"160000\"> | S\u00e1b: $<input type=\"number\" id=\"p2-superior-finde\" value=\"225000\"> <br>\r\n                        <strong>Superior Plus:<\/strong> <br>\r\n                        Sem: $<input type=\"number\" id=\"p2-plus-sem\" value=\"170000\"> | S\u00e1b: $<input type=\"number\" id=\"p2-plus-finde\" value=\"240000\"> <br>\r\n                        <strong>Sup. 2 Ambientes:<\/strong> <br>\r\n                        Sem: $<input type=\"number\" id=\"p2-2amb-sem\" value=\"170000\"> | S\u00e1b: $<input type=\"number\" id=\"p2-2amb-finde\" value=\"240000\">\r\n                    <\/div>\r\n                <\/div>\r\n                <!-- PERIODO 3 -->\r\n                <div>\r\n                    <label class=\"admin-label\">01\/02 al 31\/03 (Feb \/ Mar)<\/label>\r\n                    <div class=\"rate-box\">\r\n                        <strong>Cl\u00e1sica:<\/strong> <br>\r\n                        Sem: $<input type=\"number\" id=\"p3-clasica-sem\" value=\"140000\"> | S\u00e1b: $<input type=\"number\" id=\"p3-clasica-finde\" value=\"195000\"> <br>\r\n                        <strong>Superior:<\/strong> <br>\r\n                        Sem: $<input type=\"number\" id=\"p3-superior-sem\" value=\"145000\"> | S\u00e1b: $<input type=\"number\" id=\"p3-superior-finde\" value=\"210000\"> <br>\r\n                        <strong>Superior Plus:<\/strong> <br>\r\n                        Sem: $<input type=\"number\" id=\"p3-plus-sem\" value=\"155000\"> | S\u00e1b: $<input type=\"number\" id=\"p3-plus-finde\" value=\"225000\"> <br>\r\n                        <strong>Sup. 2 Ambientes:<\/strong> <br>\r\n                        Sem: $<input type=\"number\" id=\"p3-2amb-sem\" value=\"155000\"> | S\u00e1b: $<input type=\"number\" id=\"p3-2amb-finde\" value=\"225000\">\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <!-- RESTRICCIONES Y M\u00cdNIMOS DE NOCHES -->\r\n        <div style=\"border-top: 1px solid #ccc; padding-top: 10px; margin-top: 15px;\">\r\n            <h4 style=\"margin-bottom: 10px; font-size: 13px; color: var(--primary-color);\">2. M\u00ednimo de Noches seg\u00fan Fecha de Ingreso<\/h4>\r\n            \r\n            <div style=\"margin-bottom: 15px;\">\r\n                <label class=\"admin-label\">Bloquear Check-in los Domingos:<\/label>\r\n                <select id=\"block-sunday-checkin\" style=\"padding: 5px; border-radius: 4px;\">\r\n                    <option value=\"true\">S\u00ed, bloquear<\/option>\r\n                    <option value=\"false\">No bloquear<\/option>\r\n                <\/select>\r\n            <\/div>\r\n\r\n            <!-- Alternativa 1: Hasta 31 de Diciembre de 2026 -->\r\n            <label class=\"admin-label\">Alternativa 1: M\u00ednimo de Noches (Hasta 31\/12\/2026):<\/label>\r\n            <div class=\"rate-box\" style=\"margin-bottom: 12px; display: grid; grid-template-columns: repeat(auto-fit, minmax(70px, 1fr)); gap: 5px;\">\r\n                <div>Dom: <input type=\"number\" id=\"min1-dom\" value=\"1\" style=\"width:40px;\"><\/div>\r\n                <div>Lun: <input type=\"number\" id=\"min1-lun\" value=\"1\" style=\"width:40px;\"><\/div>\r\n                <div>Mar: <input type=\"number\" id=\"min1-mar\" value=\"1\" style=\"width:40px;\"><\/div>\r\n                <div>Mi\u00e9: <input type=\"number\" id=\"min1-mie\" value=\"1\" style=\"width:40px;\"><\/div>\r\n                <div>Jue: <input type=\"number\" id=\"min1-jue\" value=\"1\" style=\"width:40px;\"><\/div>\r\n                <div>Vie: <input type=\"number\" id=\"min1-vie\" value=\"2\" style=\"width:40px;\"><\/div>\r\n                <div>S\u00e1b: <input type=\"number\" id=\"min1-sab\" value=\"2\" style=\"width:40px;\"><\/div>\r\n            <\/div>\r\n\r\n            <!-- Alternativa 2: Desde el 1 de Enero de 2027 -->\r\n            <label class=\"admin-label\">Alternativa 2: M\u00ednimo de Noches (A partir del 01\/01\/2027):<\/label>\r\n            <div class=\"rate-box\" style=\"margin-bottom: 15px; display: grid; grid-template-columns: repeat(auto-fit, minmax(70px, 1fr)); gap: 5px;\">\r\n                <div>Dom: <input type=\"number\" id=\"min2-dom\" value=\"1\" style=\"width:40px;\"><\/div>\r\n                <div>Lun: <input type=\"number\" id=\"min2-lun\" value=\"1\" style=\"width:40px;\"><\/div>\r\n                <div>Mar: <input type=\"number\" id=\"min2-mar\" value=\"1\" style=\"width:40px;\"><\/div>\r\n                <div>Mi\u00e9: <input type=\"number\" id=\"min2-mie\" value=\"1\" style=\"width:40px;\"><\/div>\r\n                <div>Jue: <input type=\"number\" id=\"min2-jue\" value=\"1\" style=\"width:40px;\"><\/div>\r\n                <div>Vie: <input type=\"number\" id=\"min2-vie\" value=\"2\" style=\"width:40px;\"><\/div>\r\n                <div>S\u00e1b: <input type=\"number\" id=\"min2-sab\" value=\"2\" style=\"width:40px;\"><\/div>\r\n            <\/div>\r\n\r\n            <!-- Fines de Semana Largos \/ Feriados Generales -->\r\n            <label class=\"admin-label\">Fines de Semana Largos General (M\u00ednimo 3 Noches):<\/label>\r\n            <p style=\"font-size: 10px; color: #666; margin-bottom: 5px;\">Ingres\u00e1 fechas separadas por coma (AAAA-MM-DD):<\/p>\r\n            <textarea id=\"holidays-input-3\" style=\"height: 40px; font-size: 12px; margin-bottom: 10px;\" placeholder=\"Ejemplo: 2026-08-14, 2026-08-17, 2026-10-12\"><\/textarea>\r\n            \r\n            <label class=\"admin-label\">Fines de Semana Largos General (M\u00ednimo 4 Noches):<\/label>\r\n            <p style=\"font-size: 10px; color: #666; margin-bottom: 5px;\">Ingres\u00e1 fechas separadas por coma (AAAA-MM-DD):<\/p>\r\n            <textarea id=\"holidays-input-4\" style=\"height: 40px; font-size: 12px;\" placeholder=\"Ejemplo: 2026-04-02, 2026-04-03\"><\/textarea>\r\n        <\/div>\r\n\r\n        <!-- TARIFAS ESPECIALES PARA 4 FINES DE SEMANA LARGOS -->\r\n        <div style=\"border-top: 1px solid #ccc; padding-top: 10px; margin-top: 15px;\">\r\n            <h4 style=\"margin-bottom: 10px; font-size: 13px; color: var(--primary-color);\">3. Tarifas Especiales para 4 Fines de Semana Largos Distintos<\/h4>\r\n            \r\n            <!-- Opci\u00f3n 1 -->\r\n            <div class=\"rate-box\" style=\"margin-bottom: 10px;\">\r\n                <strong>Finde Largo Opci\u00f3n 1:<\/strong>\r\n                <input type=\"text\" id=\"sp1-dates\" placeholder=\"Fechas ej: 2026-10-09, 2026-10-10, 2026-10-11, 2026-10-12\" style=\"width: 100%; margin: 4px 0 8px 0;\">\r\n                Cl\u00e1sica: $<input type=\"number\" id=\"sp1-clasica\" value=\"180000\" style=\"width: 75px;\"> | \r\n                Superior: $<input type=\"number\" id=\"sp1-superior\" value=\"195000\" style=\"width: 75px;\"><br>\r\n                Sup. Plus: $<input type=\"number\" id=\"sp1-plus\" value=\"210000\" style=\"width: 75px;\"> | \r\n                Sup. 2 Amb: $<input type=\"number\" id=\"sp1-2amb\" value=\"210000\" style=\"width: 75px;\">\r\n            <\/div>\r\n\r\n            <!-- Opci\u00f3n 2 -->\r\n            <div class=\"rate-box\" style=\"margin-bottom: 10px;\">\r\n                <strong>Finde Largo Opci\u00f3n 2:<\/strong>\r\n                <input type=\"text\" id=\"sp2-dates\" placeholder=\"Fechas ej: 2026-11-20, 2026-11-21, 2026-11-22, 2026-11-23\" style=\"width: 100%; margin: 4px 0 8px 0;\">\r\n                Cl\u00e1sica: $<input type=\"number\" id=\"sp2-clasica\" value=\"185000\" style=\"width: 75px;\"> | \r\n                Superior: $<input type=\"number\" id=\"sp2-superior\" value=\"200000\" style=\"width: 75px;\"><br>\r\n                Sup. Plus: $<input type=\"number\" id=\"sp2-plus\" value=\"215000\" style=\"width: 75px;\"> | \r\n                Sup. 2 Amb: $<input type=\"number\" id=\"sp2-2amb\" value=\"215000\" style=\"width: 75px;\">\r\n            <\/div>\r\n\r\n            <!-- Opci\u00f3n 3 -->\r\n            <div class=\"rate-box\" style=\"margin-bottom: 10px;\">\r\n                <strong>Finde Largo Opci\u00f3n 3 (Ej. Navidad):<\/strong>\r\n                <input type=\"text\" id=\"sp3-dates\" placeholder=\"Fechas ej: 2026-12-24, 2026-12-25, 2026-12-26, 2026-12-27\" style=\"width: 100%; margin: 4px 0 8px 0;\">\r\n                Cl\u00e1sica: $<input type=\"number\" id=\"sp3-clasica\" value=\"190000\" style=\"width: 75px;\"> | \r\n                Superior: $<input type=\"number\" id=\"sp3-superior\" value=\"205000\" style=\"width: 75px;\"><br>\r\n                Sup. Plus: $<input type=\"number\" id=\"sp3-plus\" value=\"220000\" style=\"width: 75px;\"> | \r\n                Sup. 2 Amb: $<input type=\"number\" id=\"sp3-2amb\" value=\"220000\" style=\"width: 75px;\">\r\n            <\/div>\r\n\r\n            <!-- Opci\u00f3n 4 -->\r\n            <div class=\"rate-box\" style=\"margin-bottom: 10px;\">\r\n                <strong>Finde Largo Opci\u00f3n 4 (Ej. Fin de A\u00f1o):<\/strong>\r\n                <input type=\"text\" id=\"sp4-dates\" placeholder=\"Fechas ej: 2026-12-30, 2026-12-31, 2027-01-01, 2027-01-02\" style=\"width: 100%; margin: 4px 0 8px 0;\">\r\n                Cl\u00e1sica: $<input type=\"number\" id=\"sp4-clasica\" value=\"200000\" style=\"width: 75px;\"> | \r\n                Superior: $<input type=\"number\" id=\"sp4-superior\" value=\"220000\" style=\"width: 75px;\"><br>\r\n                Sup. Plus: $<input type=\"number\" id=\"sp4-plus\" value=\"240000\" style=\"width: 75px;\"> | \r\n                Sup. 2 Amb: $<input type=\"number\" id=\"sp4-2amb\" value=\"240000\" style=\"width: 75px;\">\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <button id=\"save-btn\" onclick=\"saveAdminConfig()\" style=\"background-color: #2e7d32; color: white; border: none; padding: 12px 20px; border-radius: 6px; cursor: pointer; font-weight: bold; width: 100%; margin-top: 15px;\">Guardar Configuraci\u00f3n Completa<\/button>\r\n    <\/div>\r\n<\/div>\r\n\r\n<style>\r\n    :root {\r\n        --primary-color: #2c5e43;\r\n        --accent-color: #d4af37;\r\n        --bg-color: #faf8f5;\r\n        --card-bg: #ffffff;\r\n        --text-color: #2b2b2b;\r\n        --text-muted: #666666;\r\n        --border-color: #e2e8f0;\r\n        --success-color: #2e7d32;\r\n        --error-color: #c62828;\r\n    }\r\n    .booking-widget {\r\n        background: var(--card-bg);\r\n        border-radius: 16px;\r\n        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);\r\n        width: 100%;\r\n        max-width: 680px;\r\n        padding: 30px;\r\n        border: 1px solid var(--border-color);\r\n        margin: 20px auto;\r\n        font-family: 'Segoe UI', sans-serif;\r\n        box-sizing: border-box;\r\n    }\r\n    .booking-widget * { box-sizing: border-box; }\r\n    .widget-header { text-align: center; margin-bottom: 25px; }\r\n    .widget-header h2 { color: var(--primary-color); font-size: 24px; margin-bottom: 8px; }\r\n    .form-row { display: flex; flex-wrap: wrap; gap: 15px; margin-bottom: 20px; }\r\n    .input-group { flex: 1 1 240px; display: flex; flex-direction: column; }\r\n    .input-group label { font-size: 13px; font-weight: 600; color: var(--primary-color); margin-bottom: 6px; text-transform: uppercase; }\r\n    .input-group input { padding: 12px; border: 1px solid var(--border-color); border-radius: 8px; font-size: 15px; outline: none; width: 100%; }\r\n    .btn-search { width: 100%; background-color: #000000; color: white; border: none; padding: 14px; font-size: 16px; font-weight: 600; border-radius: 8px; cursor: pointer; margin-bottom: 25px; letter-spacing: 1px; }\r\n    .btn-search:hover { background-color: #222222; }\r\n    .results-container { border-top: 1px solid var(--border-color); padding-top: 20px; display: none; }\r\n    .results-title { font-size: 18px; font-weight: 600; color: var(--primary-color); margin-bottom: 20px; }\r\n    .cabin-card { border: 1px solid var(--border-color); border-radius: 12px; padding: 20px; margin-bottom: 20px; background: #fff; display: flex; flex-direction: column; gap: 15px; box-shadow: 0 4px 12px rgba(0,0,0,0.02); }\r\n    .cabin-top-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }\r\n    .cabin-title-area h4 { color: var(--primary-color); font-size: 20px; margin: 0 0 5px 0; font-weight: 700; }\r\n    .cabin-title-area p { color: var(--text-muted); font-size: 13px; margin: 0; }\r\n    .btn-view-cabin { background: transparent; color: var(--primary-color); border: 1px solid var(--primary-color); padding: 5px 10px; border-radius: 6px; font-size: 12px; font-weight: 600; cursor: pointer; text-decoration: none; display: inline-flex; align-items: center; gap: 4px; transition: all 0.2s; }\r\n    .btn-view-cabin:hover { background: var(--primary-color); color: #fff; }\r\n    .cabin-pricing-block { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; background: #fdfcf9; border: 1px solid #f3ebd4; border-radius: 10px; padding: 12px; }\r\n    .price-col { display: flex; flex-direction: column; justify-content: space-between; }\r\n    .price-col.border-right { border-right: 1px solid #e2e8f0; padding-right: 10px; }\r\n    .price-label-top { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; }\r\n    .price-label-top.promo { color: var(--success-color); }\r\n    .price-amount { font-size: 22px; font-weight: 800; margin: 4px 0; }\r\n    .price-amount.promo { color: var(--success-color); }\r\n    .price-conditions { font-size: 11px; color: var(--text-muted); line-height: 1.4; }\r\n    .btn-book { background-color: var(--accent-color); color: #fff; border: none; padding: 12px 20px; border-radius: 8px; font-size: 14px; font-weight: 700; cursor: pointer; text-decoration: none; display: block; text-align: center; margin-top: 5px; transition: background 0.2s; }\r\n    .btn-book:hover { background-color: #bfa032; }\r\n    .alert { padding: 12px 15px; border-radius: 8px; font-size: 14px; margin-bottom: 15px; display: none; }\r\n    .alert-error { background-color: #ffebee; color: var(--error-color); border: 1px solid #ffcdd2; }\r\n    .alert-info { background-color: #e3f2fd; color: #0d47a1; border: 1px solid #bbdefb; }\r\n    .admin-toggle { text-align: center; font-size: 12px; color: var(--text-muted); cursor: pointer; margin-top: 35px; border-top: 1px dashed #ccc; padding-top: 15px; }\r\n    .admin-toggle:hover { color: var(--primary-color); }\r\n    .admin-panel { display: none; background: #f8fafc; padding: 20px; border-radius: 10px; margin-top: 15px; border: 1px solid #cbd5e1; }\r\n    .admin-label { font-weight: 600; font-size: 12px; display: block; margin-bottom: 5px; color: var(--primary-color); }\r\n    .admin-panel textarea { width: 100%; height: 100px; padding: 10px; border-radius: 5px; border: 1px solid #cbd5e1; font-family: monospace; font-size: 11px; }\r\n    .rate-box { background: white; padding: 10px; border-radius: 6px; border: 1px solid #e2e8f0; font-size: 11px; line-height: 1.8; }\r\n    .rate-box input { width: 70px; padding: 2px; border: 1px solid #ccc; border-radius: 3px; font-size: 11px; }\r\n    @media (max-width: 580px) {\r\n        .cabin-pricing-block { grid-template-columns: 1fr; gap: 15px; }\r\n        .price-col.border-right { border-right: none; border-bottom: 1px solid #e2e8f0; padding-right: 0; padding-bottom: 10px; }\r\n        .cabin-top-row { flex-direction: column; align-items: flex-start; gap: 10px; }\r\n        .btn-view-cabin { align-self: flex-start; }\r\n    }\r\n<\/style>\r\n\r\n<script>\r\n    const FORM_PAGE_URL = \"https:\/\/ruca-lemu.com.ar\/?page_id=5479\";\r\n    const AJAX_URL = \"\/wp-admin\/admin-ajax.php\";\r\n    const CABIN_LINKS = {\r\n        \"Clasica\": \"https:\/\/ruca-lemu.com.ar\/?page_id=39\",\r\n        \"Superior\": \"https:\/\/ruca-lemu.com.ar\/?page_id=478\",\r\n        \"Superior plus\": \"https:\/\/ruca-lemu.com.ar\/?page_id=486\",\r\n        \"Superior de 2 ambientes\": \"https:\/\/ruca-lemu.com.ar\/?page_id=1137\"\r\n    };\r\n\r\n    const todayStr = new Date().toISOString().split('T')[0];\r\n    document.getElementById('checkin').min = todayStr;\r\n    document.getElementById('checkout').min = todayStr;\r\n    document.getElementById('checkin').addEventListener('change', function() {\r\n        document.getElementById('checkout').min = this.value;\r\n    });\r\n\r\n    let COMPLEX_DATA = {\r\n        minNightsUntilDec31: { 0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 2, 6: 2 },\r\n        minNightsFromJan1: { 0: 1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 2, 6: 2 },\r\n        blockSundayCheckin: true,\r\n        feriadosFindeLargo3: [\"2026-08-14\", \"2026-08-17\"],\r\n        feriadosFindeLargo4: [\"2026-04-02\", \"2026-04-03\"],\r\n        \r\n        specialOption1: { dates: [], rates: { \"Clasica\": 180000, \"Superior\": 195000, \"Superior plus\": 210000, \"Superior de 2 ambientes\": 210000 } },\r\n        specialOption2: { dates: [], rates: { \"Clasica\": 185000, \"Superior\": 200000, \"Superior plus\": 215000, \"Superior de 2 ambientes\": 215000 } },\r\n        specialOption3: { dates: [], rates: { \"Clasica\": 190000, \"Superior\": 205000, \"Superior plus\": 220000, \"Superior de 2 ambientes\": 220000 } },\r\n        specialOption4: { dates: [], rates: { \"Clasica\": 200000, \"Superior\": 220000, \"Superior plus\": 240000, \"Superior de 2 ambientes\": 240000 } },\r\n\r\n        tarifasPeriodos: {\r\n            hasta31Dec: {\r\n                \"Clasica\": { semana: 130000, finDeSemana: 187000 },\r\n                \"Superior\": { semana: 135000, finDeSemana: 200000 },\r\n                \"Superior plus\": { semana: 140000, finDeSemana: 215000 },\r\n                \"Superior de 2 ambientes\": { semana: 140000, finDeSemana: 215000 }\r\n            },\r\n            enero: {\r\n                \"Clasica\": { semana: 150000, finDeSemana: 210000 },\r\n                \"Superior\": { semana: 160000, finDeSemana: 225000 },\r\n                \"Superior plus\": { semana: 170000, finDeSemana: 240000 },\r\n                \"Superior de 2 ambientes\": { semana: 170000, finDeSemana: 240000 }\r\n            },\r\n            febMar: {\r\n                \"Clasica\": { semana: 140000, finDeSemana: 195000 },\r\n                \"Superior\": { semana: 145000, finDeSemana: 210000 },\r\n                \"Superior plus\": { semana: 155000, finDeSemana: 225000 },\r\n                \"Superior de 2 ambientes\": { semana: 155000, finDeSemana: 225000 }\r\n            }\r\n        },\r\n        disponibilidad: {}\r\n    };\r\n\r\n    document.addEventListener(\"DOMContentLoaded\", () => {\r\n        fetch(`${AJAX_URL}?action=get_ruca_lemu_config`)\r\n            .then(res => res.json())\r\n            .then(response => {\r\n                if (response.success && response.data) {\r\n                    if (response.data.complex_data) {\r\n                        COMPLEX_DATA = Object.assign({}, COMPLEX_DATA, response.data.complex_data);\r\n                        loadConfigValuesToUI();\r\n                    }\r\n                    if (response.data.raw_text) {\r\n                        document.getElementById('raw-availability-input').value = response.data.raw_text;\r\n                    }\r\n                    const toggleBtn = document.querySelector('.admin-toggle');\r\n                    if (!response.data.is_admin && toggleBtn) {\r\n                        toggleBtn.style.display = 'none';\r\n                    }\r\n                }\r\n            }).catch(err => console.log(\"Error cargando datos en la nube.\", err));\r\n    });\r\n\r\n    function parseLocalDate(dateString) {\r\n        const parts = dateString.split('-');\r\n        return new Date(parseInt(parts[0]), parseInt(parts[1]) - 1, parseInt(parts[2]), 0, 0, 0);\r\n    }\r\n\r\n    function toggleAdminPanel() {\r\n        const panel = document.getElementById('admin-panel');\r\n        panel.style.display = panel.style.display === 'block' ? 'none' : 'block';\r\n    }\r\n\r\n    function loadConfigValuesToUI() {\r\n        \/\/ Periodo 1\r\n        const p1 = COMPLEX_DATA.tarifasPeriodos.hasta31Dec;\r\n        document.getElementById('p1-clasica-sem').value = p1[\"Clasica\"].semana;\r\n        document.getElementById('p1-clasica-finde').value = p1[\"Clasica\"].finDeSemana;\r\n        document.getElementById('p1-superior-sem').value = p1[\"Superior\"].semana;\r\n        document.getElementById('p1-superior-finde').value = p1[\"Superior\"].finDeSemana;\r\n        document.getElementById('p1-plus-sem').value = p1[\"Superior plus\"].semana;\r\n        document.getElementById('p1-plus-finde').value = p1[\"Superior plus\"].finDeSemana;\r\n        document.getElementById('p1-2amb-sem').value = p1[\"Superior de 2 ambientes\"].semana;\r\n        document.getElementById('p1-2amb-finde').value = p1[\"Superior de 2 ambientes\"].finDeSemana;\r\n\r\n        \/\/ Periodo 2\r\n        const p2 = COMPLEX_DATA.tarifasPeriodos.enero;\r\n        document.getElementById('p2-clasica-sem').value = p2[\"Clasica\"].semana;\r\n        document.getElementById('p2-clasica-finde').value = p2[\"Clasica\"].finDeSemana;\r\n        document.getElementById('p2-superior-sem').value = p2[\"Superior\"].semana;\r\n        document.getElementById('p2-superior-finde').value = p2[\"Superior\"].finDeSemana;\r\n        document.getElementById('p2-plus-sem').value = p2[\"Superior plus\"].semana;\r\n        document.getElementById('p2-plus-finde').value = p2[\"Superior plus\"].finDeSemana;\r\n        document.getElementById('p2-2amb-sem').value = p2[\"Superior de 2 ambientes\"].semana;\r\n        document.getElementById('p2-2amb-finde').value = p2[\"Superior de 2 ambientes\"].finDeSemana;\r\n\r\n        \/\/ Periodo 3\r\n        const p3 = COMPLEX_DATA.tarifasPeriodos.febMar;\r\n        document.getElementById('p3-clasica-sem').value = p3[\"Clasica\"].semana;\r\n        document.getElementById('p3-clasica-finde').value = p3[\"Clasica\"].finDeSemana;\r\n        document.getElementById('p3-superior-sem').value = p3[\"Superior\"].semana;\r\n        document.getElementById('p3-superior-finde').value = p3[\"Superior\"].finDeSemana;\r\n        document.getElementById('p3-plus-sem').value = p3[\"Superior plus\"].semana;\r\n        document.getElementById('p3-plus-finde').value = p3[\"Superior plus\"].finDeSemana;\r\n        document.getElementById('p3-2amb-sem').value = p3[\"Superior de 2 ambientes\"].semana;\r\n        document.getElementById('p3-2amb-finde').value = p3[\"Superior de 2 ambientes\"].finDeSemana;\r\n\r\n        document.getElementById('block-sunday-checkin').value = (COMPLEX_DATA.blockSundayCheckin ?? true).toString();\r\n\r\n        \/\/ M\u00ednimos Alt 1 y Alt 2\r\n        const days = ['dom', 'lun', 'mar', 'mie', 'jue', 'vie', 'sab'];\r\n        days.forEach((day, idx) => {\r\n            const el1 = document.getElementById(`min1-${day}`);\r\n            if(el1 && COMPLEX_DATA.minNightsUntilDec31) el1.value = COMPLEX_DATA.minNightsUntilDec31[idx] || 1;\r\n            \r\n            const el2 = document.getElementById(`min2-${day}`);\r\n            const min2Dict = COMPLEX_DATA.minNightsFromJan1 || COMPLEX_DATA.minNightsFromMar1;\r\n            if(el2 && min2Dict) el2.value = min2Dict[idx] || 1;\r\n        });\r\n\r\n        \/\/ Feriados Generales\r\n        document.getElementById('holidays-input-3').value = (COMPLEX_DATA.feriadosFindeLargo3 || []).join(', ');\r\n        document.getElementById('holidays-input-4').value = (COMPLEX_DATA.feriadosFindeLargo4 || []).join(', ');\r\n\r\n        \/\/ 4 Tarifas Especiales\r\n        for (let i = 1; i <= 4; i++) {\r\n            const opt = COMPLEX_DATA[`specialOption${i}`];\r\n            if (opt) {\r\n                document.getElementById(`sp${i}-dates`).value = (opt.dates || []).join(', ');\r\n                document.getElementById(`sp${i}-clasica`).value = opt.rates[\"Clasica\"] || 0;\r\n                document.getElementById(`sp${i}-superior`).value = opt.rates[\"Superior\"] || 0;\r\n                document.getElementById(`sp${i}-plus`).value = opt.rates[\"Superior plus\"] || 0;\r\n                document.getElementById(`sp${i}-2amb`).value = opt.rates[\"Superior de 2 ambientes\"] || 0;\r\n            }\r\n        }\r\n    }\r\n\r\n    function parseRawAvailability(rawText) {\r\n        const lines = rawText.split('\\n');\r\n        const parsedDispo = {};\r\n        lines.forEach(line => {\r\n            if (!line.includes('|')) return;\r\n            const parts = line.split('|');\r\n            const datePart = parts[0].trim();\r\n            const contentPart = parts[1] ? parts[1].trim() : \"\";\r\n            if (!datePart || datePart.includes(\"30\/12\/1899\")) return;\r\n            const dateMatch = datePart.match(\/^(\\d+)\\\/(\\d+)\\\/(\\d+)\/);\r\n            if (!dateMatch) return;\r\n            const formattedDate = `${dateMatch[3]}-${String(dateMatch[2]).padStart(2, '0')}-${String(dateMatch[1]).padStart(2, '0')}`;\r\n            const availableCabins = contentPart.split(',').map(c => c.replace('Disponible', '').trim()).filter(c => c !== \"\");\r\n            if (availableCabins.length > 0) parsedDispo[formattedDate] = availableCabins;\r\n        });\r\n        return parsedDispo;\r\n    }\r\n\r\n    function saveAdminConfig() {\r\n        const saveBtn = document.getElementById('save-btn');\r\n        saveBtn.innerText = \"Guardando en la nube...\";\r\n        saveBtn.disabled = true;\r\n        const rawText = document.getElementById('raw-availability-input').value;\r\n\r\n        const getMinFromInputs = (prefix) => ({\r\n            0: parseInt(document.getElementById(`${prefix}-dom`).value) || 1,\r\n            1: parseInt(document.getElementById(`${prefix}-lun`).value) || 1,\r\n            2: parseInt(document.getElementById(`${prefix}-mar`).value) || 1,\r\n            3: parseInt(document.getElementById(`${prefix}-mie`).value) || 1,\r\n            4: parseInt(document.getElementById(`${prefix}-jue`).value) || 1,\r\n            5: parseInt(document.getElementById(`${prefix}-vie`).value) || 2,\r\n            6: parseInt(document.getElementById(`${prefix}-sab`).value) || 2\r\n        });\r\n\r\n        const parseDatesList = (id) => document.getElementById(id).value.split(',').map(h => h.trim()).filter(h => h.match(\/^\\d{4}-\\d{2}-\\d{2}$\/));\r\n\r\n        COMPLEX_DATA = {\r\n            minNightsUntilDec31: getMinFromInputs('min1'),\r\n            minNightsFromJan1: getMinFromInputs('min2'),\r\n            blockSundayCheckin: document.getElementById('block-sunday-checkin').value === \"true\",\r\n            feriadosFindeLargo3: parseDatesList('holidays-input-3'),\r\n            feriadosFindeLargo4: parseDatesList('holidays-input-4'),\r\n\r\n            specialOption1: {\r\n                dates: parseDatesList('sp1-dates'),\r\n                rates: {\r\n                    \"Clasica\": parseFloat(document.getElementById('sp1-clasica').value) || 0,\r\n                    \"Superior\": parseFloat(document.getElementById('sp1-superior').value) || 0,\r\n                    \"Superior plus\": parseFloat(document.getElementById('sp1-plus').value) || 0,\r\n                    \"Superior de 2 ambientes\": parseFloat(document.getElementById('sp1-2amb').value) || 0\r\n                }\r\n            },\r\n            specialOption2: {\r\n                dates: parseDatesList('sp2-dates'),\r\n                rates: {\r\n                    \"Clasica\": parseFloat(document.getElementById('sp2-clasica').value) || 0,\r\n                    \"Superior\": parseFloat(document.getElementById('sp2-superior').value) || 0,\r\n                    \"Superior plus\": parseFloat(document.getElementById('sp2-plus').value) || 0,\r\n                    \"Superior de 2 ambientes\": parseFloat(document.getElementById('sp2-2amb').value) || 0\r\n                }\r\n            },\r\n            specialOption3: {\r\n                dates: parseDatesList('sp3-dates'),\r\n                rates: {\r\n                    \"Clasica\": parseFloat(document.getElementById('sp3-clasica').value) || 0,\r\n                    \"Superior\": parseFloat(document.getElementById('sp3-superior').value) || 0,\r\n                    \"Superior plus\": parseFloat(document.getElementById('sp3-plus').value) || 0,\r\n                    \"Superior de 2 ambientes\": parseFloat(document.getElementById('sp3-2amb').value) || 0\r\n                }\r\n            },\r\n            specialOption4: {\r\n                dates: parseDatesList('sp4-dates'),\r\n                rates: {\r\n                    \"Clasica\": parseFloat(document.getElementById('sp4-clasica').value) || 0,\r\n                    \"Superior\": parseFloat(document.getElementById('sp4-superior').value) || 0,\r\n                    \"Superior plus\": parseFloat(document.getElementById('sp4-plus').value) || 0,\r\n                    \"Superior de 2 ambientes\": parseFloat(document.getElementById('sp4-2amb').value) || 0\r\n                }\r\n            },\r\n\r\n            tarifasPeriodos: {\r\n                hasta31Dec: {\r\n                    \"Clasica\": { semana: parseFloat(document.getElementById('p1-clasica-sem').value), finDeSemana: parseFloat(document.getElementById('p1-clasica-finde').value) },\r\n                    \"Superior\": { semana: parseFloat(document.getElementById('p1-superior-sem').value), finDeSemana: parseFloat(document.getElementById('p1-superior-finde').value) },\r\n                    \"Superior plus\": { semana: parseFloat(document.getElementById('p1-plus-sem').value), finDeSemana: parseFloat(document.getElementById('p1-plus-finde').value) },\r\n                    \"Superior de 2 ambientes\": { semana: parseFloat(document.getElementById('p1-2amb-sem').value), finDeSemana: parseFloat(document.getElementById('p1-2amb-finde').value) }\r\n                },\r\n                enero: {\r\n                    \"Clasica\": { semana: parseFloat(document.getElementById('p2-clasica-sem').value), finDeSemana: parseFloat(document.getElementById('p2-clasica-finde').value) },\r\n                    \"Superior\": { semana: parseFloat(document.getElementById('p2-superior-sem').value), finDeSemana: parseFloat(document.getElementById('p2-superior-finde').value) },\r\n                    \"Superior plus\": { semana: parseFloat(document.getElementById('p2-plus-sem').value), finDeSemana: parseFloat(document.getElementById('p2-plus-finde').value) },\r\n                    \"Superior de 2 ambientes\": { semana: parseFloat(document.getElementById('p2-2amb-sem').value), finDeSemana: parseFloat(document.getElementById('p2-2amb-finde').value) }\r\n                },\r\n                febMar: {\r\n                    \"Clasica\": { semana: parseFloat(document.getElementById('p3-clasica-sem').value), finDeSemana: parseFloat(document.getElementById('p3-clasica-finde').value) },\r\n                    \"Superior\": { semana: parseFloat(document.getElementById('p3-superior-sem').value), finDeSemana: parseFloat(document.getElementById('p3-superior-finde').value) },\r\n                    \"Superior plus\": { semana: parseFloat(document.getElementById('p3-plus-sem').value), finDeSemana: parseFloat(document.getElementById('p3-plus-finde').value) },\r\n                    \"Superior de 2 ambientes\": { semana: parseFloat(document.getElementById('p3-2amb-sem').value), finDeSemana: parseFloat(document.getElementById('p3-2amb-finde').value) }\r\n                }\r\n            },\r\n            disponibilidad: parseRawAvailability(rawText)\r\n        };\r\n\r\n        const formData = new FormData();\r\n        formData.append('action', 'save_ruca_lemu_config');\r\n        formData.append('complex_data', JSON.stringify(COMPLEX_DATA));\r\n        formData.append('raw_text', rawText);\r\n\r\n        fetch(AJAX_URL, {\r\n            method: 'POST',\r\n            body: formData\r\n        })\r\n        .then(res => res.json())\r\n        .then(response => {\r\n            saveBtn.innerText = \"Guardar Configuraci\u00f3n Completa\";\r\n            saveBtn.disabled = false;\r\n            if(response.success) {\r\n                alert(\"\u00a1Configuraci\u00f3n guardada en la nube con \u00e9xito!\");\r\n                document.getElementById('admin-panel').style.display = 'none';\r\n            } else {\r\n                alert(\"Hubo un problema al guardar en la nube.\");\r\n            }\r\n        })\r\n        .catch(err => {\r\n            saveBtn.innerText = \"Guardar Configuraci\u00f3n Completa\";\r\n            saveBtn.disabled = false;\r\n            console.error(err);\r\n            alert(\"Error de conexi\u00f3n con el servidor.\");\r\n        });\r\n    }\r\n\r\n    function getDatesInRange(startDate, endDate) {\r\n        const dates = [];\r\n        let currentDate = new Date(startDate);\r\n        while (currentDate < endDate) {\r\n            const yyyy = currentDate.getFullYear();\r\n            const mm = String(currentDate.getMonth() + 1).padStart(2, '0');\r\n            const dd = String(currentDate.getDate()).padStart(2, '0');\r\n            dates.push(`${yyyy}-${mm}-${dd}`);\r\n            currentDate.setDate(currentDate.getDate() + 1);\r\n        }\r\n        return dates;\r\n    }\r\n\r\n    function getSpecialRateForDate(cabinName, dateStr) {\r\n        for (let i = 1; i <= 4; i++) {\r\n            const opt = COMPLEX_DATA[`specialOption${i}`];\r\n            if (opt && opt.dates && opt.dates.includes(dateStr)) {\r\n                if (opt.rates && opt.rates[cabinName]) {\r\n                    return opt.rates[cabinName];\r\n                }\r\n            }\r\n        }\r\n        return null;\r\n    }\r\n\r\n    function calculateCabinPrice(cabinName, datesList, checkoutDateStr) {\r\n        let total = 0;\r\n        let isStrictWeekdayRange = true;\r\n\r\n        datesList.forEach(dateStr => {\r\n            const dateObj = parseLocalDate(dateStr);\r\n            const dayOfWeek = dateObj.getDay(); \/\/ 0: Dom ... 6: S\u00e1b\r\n\r\n            \/\/ D\u00edas de semana v\u00e1lidos para promo: Lunes(1), Martes(2), Mi\u00e9rcoles(3), Jueves(4)\r\n            const isWeekdayNight = (dayOfWeek >= 1 && dayOfWeek <= 4);\r\n            const specialRate = getSpecialRateForDate(cabinName, dateStr);\r\n            const isHoliday3 = COMPLEX_DATA.feriadosFindeLargo3 && COMPLEX_DATA.feriadosFindeLargo3.includes(dateStr);\r\n            const isHoliday4 = COMPLEX_DATA.feriadosFindeLargo4 && COMPLEX_DATA.feriadosFindeLargo4.includes(dateStr);\r\n\r\n            \/\/ Si toca viernes, s\u00e1bado, domingo, o alg\u00fan feriado\/fin de semana largo especial, se invalida la promo\r\n            if (!isWeekdayNight || specialRate !== null || isHoliday3 || isHoliday4) {\r\n                isStrictWeekdayRange = false;\r\n            }\r\n\r\n            \/\/ Si es fecha con Tarifa Especial\r\n            if (specialRate !== null) {\r\n                total += specialRate;\r\n                return;\r\n            }\r\n\r\n            \/\/ Periodo Tarifario\r\n            const month = dateObj.getMonth() + 1;\r\n            let periodRates;\r\n\r\n            if (month === 1) {\r\n                periodRates = COMPLEX_DATA.tarifasPeriodos.enero;\r\n            } else if (month === 2 || month === 3) {\r\n                periodRates = COMPLEX_DATA.tarifasPeriodos.febMar;\r\n            } else {\r\n                periodRates = COMPLEX_DATA.tarifasPeriodos.hasta31Dec;\r\n            }\r\n\r\n            const cabinRates = periodRates[cabinName];\r\n            if (!cabinRates) return;\r\n\r\n            const isSaturdayNight = (dayOfWeek === 6);\r\n            total += isSaturdayNight ? cabinRates.finDeSemana : cabinRates.semana;\r\n        });\r\n\r\n        \/\/ REGLA DE DESCUENTO D\u00cdAS DE SEMANA:\r\n        \/\/ Solo aplica en estad\u00edas estrictas de Lun a Jue (sin feriados) y HASTA el 31 de Diciembre de 2026\r\n        const isBeforeOrOnDec31_2026 = checkoutDateStr <= '2026-12-31';\r\n\r\n        if (isStrictWeekdayRange && isBeforeOrOnDec31_2026) {\r\n            const numNights = datesList.length;\r\n            if (numNights === 2) {\r\n                total = total * 0.90; \/\/ 10% desc\r\n            } else if (numNights === 3) {\r\n                total = total * 0.80; \/\/ 20% desc\r\n            } else if (numNights >= 4) {\r\n                total = total * 0.70; \/\/ 30% desc\r\n            }\r\n        }\r\n\r\n        return Math.round(total);\r\n    }\r\n\r\n    function showAlert(msg, type) {\r\n        const alertBox = document.getElementById('alert-box');\r\n        alertBox.innerText = msg;\r\n        alertBox.className = `alert alert-${type}`;\r\n        alertBox.style.display = 'block';\r\n    }\r\n\r\n    function checkAvailability() {\r\n        const checkinVal = document.getElementById('checkin').value;\r\n        const checkoutVal = document.getElementById('checkout').value;\r\n        const alertBox = document.getElementById('alert-box');\r\n        const resultsContainer = document.getElementById('results');\r\n        const cabinsList = document.getElementById('cabins-list');\r\n        \r\n        alertBox.style.display = 'none';\r\n        resultsContainer.style.display = 'none';\r\n        cabinsList.innerHTML = '';\r\n\r\n        if (!checkinVal || !checkoutVal) {\r\n            showAlert('Por favor, selecciona las fechas de ingreso y egreso.', 'error');\r\n            return;\r\n        }\r\n\r\n        const checkinDate = parseLocalDate(checkinVal);\r\n        const checkoutDate = parseLocalDate(checkoutVal);\r\n\r\n        if (checkoutDate <= checkinDate) {\r\n            showAlert('La fecha de egreso debe ser posterior a la de ingreso.', 'error');\r\n            return;\r\n        }\r\n\r\n        if (COMPLEX_DATA.blockSundayCheckin && checkinDate.getDay() === 0) {\r\n            showAlert('Por pol\u00edtica del complejo, no realizamos ingresos (check-in) los d\u00edas domingos. Por favor, seleccion\u00e1 otra fecha.', 'error');\r\n            return;\r\n        }\r\n\r\n        const datesToBook = getDatesInRange(checkinDate, checkoutDate);\r\n        const diffNights = datesToBook.length;\r\n        const checkinDayOfWeek = checkinDate.getDay();\r\n\r\n        \/\/ SELECCI\u00d3N DE ALTERNATIVA DE M\u00cdNIMO DE NOCHES\r\n        \/\/ Alternativa 1: Hasta 31 de Diciembre de 2026 (checkinVal <= '2026-12-31')\r\n        \/\/ Alternativa 2: Desde 1 de Enero de 2027 (checkinVal >= '2027-01-01')\r\n        let activeMinNightsDict;\r\n        if (checkinVal <= '2026-12-31') {\r\n            activeMinNightsDict = COMPLEX_DATA.minNightsUntilDec31;\r\n        } else {\r\n            activeMinNightsDict = COMPLEX_DATA.minNightsFromJan1 || COMPLEX_DATA.minNightsFromMar1;\r\n        }\r\n\r\n        let requiredMinNights = activeMinNightsDict ? (activeMinNightsDict[checkinDayOfWeek] || 1) : 1;\r\n\r\n        const touchesHoliday3 = datesToBook.some(date => COMPLEX_DATA.feriadosFindeLargo3 && COMPLEX_DATA.feriadosFindeLargo3.includes(date));\r\n        const touchesHoliday4 = datesToBook.some(date => COMPLEX_DATA.feriadosFindeLargo4 && COMPLEX_DATA.feriadosFindeLargo4.includes(date));\r\n\r\n        if (touchesHoliday4) {\r\n            requiredMinNights = Math.max(requiredMinNights, 4);\r\n        } else if (touchesHoliday3) {\r\n            requiredMinNights = Math.max(requiredMinNights, 3);\r\n        }\r\n\r\n        if (diffNights < requiredMinNights) {\r\n            showAlert(`Para la fecha de ingreso seleccionada, el m\u00ednimo de estad\u00eda requerido es de ${requiredMinNights} noche(s).`, 'error');\r\n            return;\r\n        }\r\n\r\n        \/\/ L\u00f3gica de disponibilidad\r\n        const cabinTypes = [\"Clasica\", \"Superior\", \"Superior plus\", \"Superior de 2 ambientes\"];\r\n        const availableCabins = [];\r\n\r\n        cabinTypes.forEach(cabin => {\r\n            let isAvailable = true;\r\n            for (let d of datesToBook) {\r\n                if (COMPLEX_DATA.disponibilidad && COMPLEX_DATA.disponibilidad[d]) {\r\n                    if (!COMPLEX_DATA.disponibilidad[d].includes(cabin)) {\r\n                        isAvailable = false;\r\n                        break;\r\n                    }\r\n                }\r\n            }\r\n            if (isAvailable) availableCabins.push(cabin);\r\n        });\r\n\r\n        if (availableCabins.length === 0) {\r\n            showAlert('No hay caba\u00f1as disponibles para el rango de fechas seleccionado.', 'info');\r\n            return;\r\n        }\r\n\r\n        \/\/ Renderizado de resultados\r\n        resultsContainer.style.display = 'block';\r\n        availableCabins.forEach(cabinName => {\r\n            const totalPrice = calculateCabinPrice(cabinName, datesToBook, checkoutVal);\r\n            const link = CABIN_LINKS[cabinName] || \"#\";\r\n\r\n            const card = document.createElement('div');\r\n            card.className = 'cabin-card';\r\n            card.innerHTML = `\r\n                <div class=\"cabin-top-row\">\r\n                    <div class=\"cabin-title-area\">\r\n                        <h4>Caba\u00f1a ${cabinName}<\/h4>\r\n                        <p>Total por ${diffNights} noche(s)<\/p>\r\n                    <\/div>\r\n                    <a href=\"${link}\" target=\"_blank\" class=\"btn-view-cabin\">Ver detalles \u2794<\/a>\r\n                <\/div>\r\n                <div class=\"cabin-pricing-block\">\r\n                    <div class=\"price-col border-right\">\r\n                        <span class=\"price-label-top promo\">Precio Final<\/span>\r\n                        <div class=\"price-amount promo\">$${totalPrice.toLocaleString('es-AR')}<\/div>\r\n                        <span class=\"price-conditions\">Incluye impuestos y servicios<\/span>\r\n                    <\/div>\r\n                <\/div>\r\n                <a href=\"${FORM_PAGE_URL}&checkin=${checkinVal}&checkout=${checkoutVal}&cabin=${encodeURIComponent(cabinName)}&total=${totalPrice}\" class=\"btn-book\">SOLICITAR RESERVA<\/a>\r\n            `;\r\n            cabinsList.appendChild(card);\r\n        });\r\n    }\r\n<\/script>\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-top-section elementor-element elementor-element-e90f815 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"e90f815\" 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-db97a5b\" data-id=\"db97a5b\" 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-8d2ee97 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"8d2ee97\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\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-top-section elementor-element elementor-element-164b18a elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"164b18a\" 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-8b57605\" data-id=\"8b57605\" 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-f1fd82d elementor-shape-rounded elementor-grid-0 e-grid-align-center elementor-widget elementor-widget-social-icons\" data-id=\"f1fd82d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"social-icons.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-social-icons-wrapper elementor-grid\" role=\"list\">\n\t\t\t\t\t\t\t<span class=\"elementor-grid-item\" role=\"listitem\">\n\t\t\t\t\t<a class=\"elementor-icon elementor-social-icon elementor-social-icon-facebook elementor-repeater-item-76077d0\" href=\"https:\/\/www.facebook.com\/Ruca-Lemu-Chascom%C3%BAs-915731661821634\/\" target=\"_blank\" rel=\"noopener\">\n\t\t\t\t\t\t<span class=\"elementor-screen-only\">Facebook<\/span>\n\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fab fa-facebook\"><\/i>\t\t\t\t\t<\/a>\n\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<span class=\"elementor-grid-item\" role=\"listitem\">\n\t\t\t\t\t<a class=\"elementor-icon elementor-social-icon elementor-social-icon-youtube elementor-repeater-item-0395a82\" href=\"https:\/\/www.youtube.com\/channel\/UC-HEeeFOZT6Q69pismoYSXA\" target=\"_blank\" rel=\"noopener\">\n\t\t\t\t\t\t<span class=\"elementor-screen-only\">Youtube<\/span>\n\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fab fa-youtube\"><\/i>\t\t\t\t\t<\/a>\n\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<span class=\"elementor-grid-item\" role=\"listitem\">\n\t\t\t\t\t<a class=\"elementor-icon elementor-social-icon elementor-social-icon-instagram elementor-repeater-item-e671f38\" href=\"https:\/\/www.instagram.com\/ruca.lemu\/\" target=\"_blank\" rel=\"noopener\">\n\t\t\t\t\t\t<span class=\"elementor-screen-only\">Instagram<\/span>\n\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fab fa-instagram\"><\/i>\t\t\t\t\t<\/a>\n\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<span class=\"elementor-grid-item\" role=\"listitem\">\n\t\t\t\t\t<a class=\"elementor-icon elementor-social-icon elementor-social-icon-tripadvisor elementor-repeater-item-1d71d30\" href=\"https:\/\/www.tripadvisor.com.ar\/Hotel_Review-g312746-d3786021-Reviews-Ruca_Lemu_Apart_Cabanas-Chascomus_Province_of_Buenos_Aires_Central_Argentina.html\" target=\"_blank\" rel=\"noopener\">\n\t\t\t\t\t\t<span class=\"elementor-screen-only\">Tripadvisor<\/span>\n\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fab fa-tripadvisor\"><\/i>\t\t\t\t\t<\/a>\n\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<span class=\"elementor-grid-item\" role=\"listitem\">\n\t\t\t\t\t<a class=\"elementor-icon elementor-social-icon elementor-social-icon-whatsapp elementor-repeater-item-972a903\" href=\"https:\/\/wa.me\/5492241538115?text=Me%20interesa%20disponibilidad%20y%20servicios%20fechas%3A\" target=\"_blank\" rel=\"noopener\">\n\t\t\t\t\t\t<span class=\"elementor-screen-only\">Whatsapp<\/span>\n\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fab fa-whatsapp\"><\/i>\t\t\t\t\t<\/a>\n\t\t\t\t<\/span>\n\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<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>\u00bfCu\u00e1l de las Rucas les gusta m\u00e1s para avanzar? Seleccion\u00e1 tu caba\u00f1a: Siguiente: Confirmar Reserva<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_joinchat":[],"footnotes":""},"class_list":["post-20204","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/ruca-lemu.com.ar\/index.php?rest_route=\/wp\/v2\/pages\/20204","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ruca-lemu.com.ar\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ruca-lemu.com.ar\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ruca-lemu.com.ar\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ruca-lemu.com.ar\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=20204"}],"version-history":[{"count":152,"href":"https:\/\/ruca-lemu.com.ar\/index.php?rest_route=\/wp\/v2\/pages\/20204\/revisions"}],"predecessor-version":[{"id":20834,"href":"https:\/\/ruca-lemu.com.ar\/index.php?rest_route=\/wp\/v2\/pages\/20204\/revisions\/20834"}],"wp:attachment":[{"href":"https:\/\/ruca-lemu.com.ar\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=20204"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}