{"id":4018,"date":"2025-05-07T00:02:26","date_gmt":"2025-05-07T03:02:26","guid":{"rendered":"https:\/\/rizdesarrollos.com\/simulador-de-cuotas\/"},"modified":"2025-06-22T18:40:41","modified_gmt":"2025-06-22T21:40:41","slug":"quota-simulator","status":"publish","type":"page","link":"https:\/\/rizdesarrollos.com\/en\/quota-simulator\/","title":{"rendered":"Quota Simulator"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"4018\" class=\"elementor elementor-4018\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a97d974 e-flex e-con-boxed e-con e-parent\" data-id=\"a97d974\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f2fe863 elementor-widget elementor-widget-simulador_proyectos\" data-id=\"f2fe863\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"simulador_proyectos.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t            <style>\r\n                #simulador-form {\r\n                    max-width: 900px;\r\n                    margin: 0 auto;\r\n                    padding: 25px;\r\n                    background-color: #f9f9f9;\r\n                    border-radius: 8px;\r\n                    box-shadow: 0 0 15px rgba(0,0,0,0.1);\r\n                }\r\n                \r\n                #simulador-form h2 {\r\n                    text-align: center;\r\n                    margin-bottom: 20px;\r\n                    color: #000000;\r\n                }\r\n                \r\n                #simulador-form label {\r\n                    display: block;\r\n                    margin-bottom: 5px;\r\n                    font-weight: bold;\r\n                }\r\n                \r\n                #simulador-form input, \r\n                #simulador-form select {\r\n                    width: 100%;\r\n                    padding: 10px;\r\n                    border: 1px solid #ddd;\r\n                }\r\n                \r\n                #simulador-form input[type=\"submit\"],\r\n                #simulador-form .btn-generar-pdf,\r\n                #simulador-form .btn-whatsapp,\r\n                #simulador-form .btn-continuar-iterando {\r\n                    cursor: pointer;\r\n                    color: white;\r\n                    border: none;\r\n                    padding: 12px 20px;\r\n                    font-weight: bold;\r\n                    text-align: center;\r\n                    margin-top: 10px;\r\n                    transition: all 0.3s ease;\r\n                    background-color: #128C7E;\r\n                }\r\n                \r\n                #simulador-form input[type=\"submit\"]:hover,\r\n                #simulador-form .btn-generar-pdf:hover,\r\n                #simulador-form .btn-continuar-iterando:hover {\r\n                    opacity: 0.9;\r\n                }\r\n                \r\n                #simulador-form input[type=\"submit\"]:disabled {\r\n                    background-color: #cccccc;\r\n                    cursor: not-allowed;\r\n                    opacity: 0.7;\r\n                }\r\n                \r\n                #simulador-form .btn-loader {\r\n                    display: inline-block;\r\n                    width: 20px;\r\n                    height: 20px;\r\n                    border: 3px solid rgba(255,255,255,.3);\r\n                    border-radius: 50%;\r\n                    border-top-color: #fff;\r\n                    animation: spin 1s ease-in-out infinite;\r\n                    margin-left: 10px;\r\n                    vertical-align: middle;\r\n                }\r\n                \r\n                @keyframes spin {\r\n                    to { transform: rotate(360deg); }\r\n                }\r\n                \r\n                #simulador-form .btn-whatsapp {\r\n                    background-color: #25D366;\r\n                    display: inline-block;\r\n                    text-decoration: none;\r\n                }\r\n                \r\n                #simulador-form .btn-whatsapp:hover {\r\n                    background-color: #128C7E;\r\n                }\r\n                \r\n                #simulador-form .simulador-resultados {\r\n                    margin-top: 30px;\r\n                    padding: 20px;\r\n                    background-color: white;\r\n                    border-radius: 8px;\r\n                    box-shadow: 0 0 10px rgba(0,0,0,0.05);\r\n                    display: none;\r\n                }\r\n                \r\n                #simulador-form .tabla-cuotas {\r\n                    width: 100%;\r\n                    border-collapse: collapse;\r\n                    margin-top: 20px;\r\n                }\r\n                \r\n                #simulador-form .tabla-cuotas th, \r\n                #simulador-form .tabla-cuotas td {\r\n                    border: 1px solid #ddd;\r\n                    padding: 10px;\r\n                    text-align: center;\r\n                }\r\n                \r\n                #simulador-form .tabla-cuotas th {\r\n                    background-color: #000000;\r\n                    color: white;\r\n                }\r\n                \r\n                #simulador-form .tabla-cuotas tr:nth-child(even) {\r\n                    background-color: #f2f2f2;\r\n                }\r\n                \r\n                #simulador-form .botones-accion {\r\n                    display: flex;\r\n                    justify-content: space-between;\r\n                    margin-top: 20px;\r\n                }\r\n                \r\n                @media (min-width: 768px) {\r\n                    #simulador-form .form-row {\r\n                        display: flex;\r\n                        gap: 15px;\r\n                        padding-top: 15px;\r\n                    }\r\n                    \r\n                    #simulador-form .form-col {\r\n                        flex: 1;\r\n                    }\r\n                }\r\n\r\n                @media (max-width: 768px) {\r\n                    #simulador-form h2 {\r\n                        font-size: 20px;\r\n                    }\r\n                    #simulador-form {\r\n                        padding: 10px;\r\n                    }\r\n                }\r\n                \r\n\t\t\t\t\r\n\t\t\t\/* \u2014\u2014\u2014 Tabla de amortizaci\u00f3n responsive \u2014\u2014\u2014 *\/\r\n@media (max-width: 768px) {\r\n\r\n    \/* Ocultamos el thead y convertimos todo en bloques *\/\r\n    #simulador-form .tabla-cuotas thead {\r\n        display: none;\r\n    }\r\n\r\n    #simulador-form .tabla-cuotas,\r\n    #simulador-form .tabla-cuotas tbody,\r\n    #simulador-form .tabla-cuotas tr,\r\n    #simulador-form .tabla-cuotas td {\r\n        display: block;\r\n        width: 100%;\r\n    }\r\n\r\n    \/* Cada fila se ve como una tarjeta *\/\r\n    #simulador-form .tabla-cuotas tr {\r\n        margin: 0 0 15px;\r\n        border: 1px solid #ddd;\r\n        border-radius: 6px;\r\n        box-shadow: 0 0 4px rgba(0,0,0,.05);\r\n        background: #fff;\r\n    }\r\n\r\n    \/* Celda \u25b6 etiqueta+valor (stacked) *\/\r\n    #simulador-form .tabla-cuotas td {\r\n        padding-left: 50%;        \/* espacio para la etiqueta *\/\r\n        text-align: left;\r\n        position: relative;\r\n        border: none;            \/* l\u00edneas verticales ya no hacen falta *\/\r\n        border-bottom: 1px solid #f2f2f2;\r\n    }\r\n    #simulador-form .tabla-cuotas tr td:last-child { border-bottom: none; }\r\n\r\n    \/* Etiqueta tomada de data-label *\/\r\n    #simulador-form .tabla-cuotas td::before {\r\n        content: attr(data-label);\r\n        position: absolute;\r\n        left: 10px;\r\n        top: 50%;\r\n        transform: translateY(-50%);\r\n        font-weight: 600;\r\n        white-space: nowrap;\r\n    }\r\n\t\r\n\t\r\n\t \/* Contenedor: apilados, 100 % de ancho, con espacio vertical *\/\r\n    #simulador-form .botones-accion {\r\n        flex-direction: column;   \/* de fila \u2192 columna  *\/\r\n        align-items: stretch;     \/* que ocupen todo el ancho *\/\r\n        gap: 10px;                \/* separaci\u00f3n agradable *\/\r\n    }\r\n\r\n    \/* Cada bot\u00f3n\/anchor ocupa todo el ancho y se alinea centrado *\/\r\n    #simulador-form .botones-accion > button,\r\n    #simulador-form .botones-accion > a {\r\n        width: 100%;\r\n        margin: 0;                \/* elimina m\u00e1rgenes laterales sobrantes *\/\r\n        text-align: center;\r\n    }\r\n\t\r\n\t#simulador-form label {\r\n    margin-top: 15px;\r\n}\r\n\t\r\n\t.page-content .e-con{\r\n\t padding-right: 30px;\r\n     padding-left: 30px;\r\n\t}\r\n}\r\n\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n            <\/style>\r\n            \r\n            <div id=\"simulador-form\">\r\n                <h2>Simulador de Cuotas<\/h2>\r\n                \r\n                <form class=\"simulador-form-inputs\" method=\"post\">\r\n                    <input type=\"hidden\" id=\"sp_nonce_field\" name=\"sp_nonce_field\" value=\"f7bd36e526\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/en\/wp-json\/wp\/v2\/pages\/4018\" \/>                    <input type=\"hidden\" id=\"sp_simulador_nonce_field\" name=\"sp_simulador_nonce_field\" value=\"405cf77b45\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/en\/wp-json\/wp\/v2\/pages\/4018\" \/>                    <input type=\"hidden\" name=\"action\" value=\"sp_guardar_registro\">\r\n                    <input type=\"hidden\" name=\"recaptcha_response\" id=\"recaptchaResponse\">\r\n\r\n                    <div class=\"form-row\">\r\n                        <div class=\"form-col\">\r\n                            <label for=\"sp-nombre\">Name and Surname<\/label>\r\n                            <input type=\"text\" id=\"sp-nombre\" name=\"sp_nombre\" required>\r\n                        <\/div>\r\n                        <div class=\"form-col\">\r\n                            <label for=\"sp-correo\">Email<\/label>\r\n                            <input type=\"email\" id=\"sp-correo\" name=\"sp_correo\" required>\r\n                        <\/div>\r\n\r\n                        <div class=\"form-col\">\r\n                            <label for=\"sp-telefono\">Phone<\/label>\r\n                            <input type=\"text\" id=\"sp-telefono\" name=\"sp_telefono\" required>\r\n                        <\/div>\r\n                    <\/div>\r\n                      <div class=\"form-row\">\r\n                        \r\n                        <div class=\"form-col\">\r\n                            <label for=\"sp-proyecto\">Projects:<\/label>\r\n                            <select id=\"sp-proyecto\" name=\"sp_proyecto\" required>\r\n                                <option value=\"\">Select a Project<\/option>\r\n                                <option value=\"5051\" precio_en_obra=\"\">Porta 6<\/option><option value=\"4968\" precio_en_obra=\"\">Porta 5<\/option><option value=\"4045\" precio_en_obra=\"\">Porta 4<\/option><option value=\"2302\" precio_en_obra=\"\">Porta 3<\/option><option value=\"2130\" precio_en_obra=\"\">Porta 2<\/option><option value=\"2129\" precio_en_obra=\"\">Porta 1<\/option>                            <\/select>\r\n                        <\/div>\r\n                        <div class=\"form-col\">\r\n                            <label for=\"sp-tipologia\">Typology<\/label>\r\n                            <select id=\"sp-tipologia\" name=\"sp_tipologia\" required disabled>\r\n                                <option value=\"\">Select a project first<\/option>\r\n                            <\/select>\r\n                        <\/div>\r\n                        <div class=\"form-col\">\r\n                            <label for=\"sp-financiamiento\">Type of Financing<\/label>\r\n                            <select id=\"sp-financiamiento\" name=\"sp_financiamiento\" required disabled>\r\n                                <option value=\"\">Select a typology first<\/option>\r\n                                <option value=\"enobra\">In works<\/option>\r\n                                <option value=\"financiado\">Funded<\/option>\r\n                            <\/select>\r\n                        <\/div>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"form-row\">\r\n                        <div class=\"form-col\">\r\n                            <label for=\"sp-meses\">Number of months<\/label>\r\n                            <select id=\"sp-meses\" name=\"sp_meses\" required>\r\n                                <option value=\"\">Select the months<\/option>\r\n                                <option value=\"1\">1 month<\/option><option value=\"2\">2 months<\/option><option value=\"3\">3 months<\/option><option value=\"4\">4 months<\/option><option value=\"5\">5 months<\/option><option value=\"6\">6 months<\/option><option value=\"7\">7 months<\/option><option value=\"8\">8 months<\/option><option value=\"9\">9 months<\/option><option value=\"10\">10 months<\/option><option value=\"11\">11 months<\/option><option value=\"12\">12 months<\/option><option value=\"13\">13 months<\/option><option value=\"14\">14 months<\/option><option value=\"15\">15 months<\/option><option value=\"16\">16 months<\/option><option value=\"17\">17 months<\/option><option value=\"18\">18 months<\/option><option value=\"19\">19 months<\/option><option value=\"20\">20 months<\/option><option value=\"21\">21 months<\/option><option value=\"22\">22 months<\/option><option value=\"23\">23 months<\/option><option value=\"24\">24 months<\/option><option value=\"25\">25 months<\/option><option value=\"26\">26 months<\/option><option value=\"27\">27 months<\/option><option value=\"28\">28 months<\/option><option value=\"29\">29 months<\/option><option value=\"30\">30 months<\/option><option value=\"31\">31 months<\/option><option value=\"32\">32 months<\/option><option value=\"33\">33 months<\/option><option value=\"34\">34 months<\/option><option value=\"35\">35 months<\/option><option value=\"36\">36 months<\/option><option value=\"37\">37 months<\/option><option value=\"38\">38 months<\/option><option value=\"39\">39 months<\/option><option value=\"40\">40 months<\/option><option value=\"41\">41 months<\/option><option value=\"42\">42 months<\/option><option value=\"43\">43 months<\/option><option value=\"44\">44 months<\/option><option value=\"45\">45 months<\/option><option value=\"46\">46 months<\/option><option value=\"47\">47 months<\/option><option value=\"48\">48 months<\/option><option value=\"49\">49 months<\/option><option value=\"50\">50 months<\/option><option value=\"51\">51 months<\/option><option value=\"52\">52 months<\/option><option value=\"53\">53 months<\/option><option value=\"54\">54 months<\/option><option value=\"55\">55 months<\/option><option value=\"56\">56 months<\/option><option value=\"57\">57 months<\/option><option value=\"58\">58 months<\/option><option value=\"59\">59 months<\/option><option value=\"60\">60 months<\/option><option value=\"61\">61 months<\/option><option value=\"62\">62 months<\/option><option value=\"63\">63 months<\/option><option value=\"64\">64 months<\/option><option value=\"65\">65 months<\/option><option value=\"66\">66 months<\/option><option value=\"67\">67 months<\/option><option value=\"68\">68 months<\/option><option value=\"69\">69 months<\/option><option value=\"70\">70 months<\/option><option value=\"71\">71 months<\/option><option value=\"72\">72 months<\/option><option value=\"73\">73 months<\/option><option value=\"74\">74 months<\/option><option value=\"75\">75 months<\/option><option value=\"76\">76 months<\/option><option value=\"77\">77 months<\/option><option value=\"78\">78 months<\/option><option value=\"79\">79 months<\/option><option value=\"80\">80 months<\/option><option value=\"81\">81 months<\/option><option value=\"82\">82 months<\/option><option value=\"83\">83 months<\/option><option value=\"84\">84 months<\/option><option value=\"85\">85 months<\/option><option value=\"86\">86 months<\/option><option value=\"87\">87 months<\/option><option value=\"88\">88 months<\/option><option value=\"89\">89 months<\/option><option value=\"90\">90 months<\/option><option value=\"91\">91 months<\/option><option value=\"92\">92 months<\/option><option value=\"93\">93 months<\/option><option value=\"94\">94 months<\/option><option value=\"95\">95 months<\/option><option value=\"96\">96 months<\/option><option value=\"97\">97 months<\/option><option value=\"98\">98 months<\/option><option value=\"99\">99 months<\/option><option value=\"100\">100 months<\/option><option value=\"101\">101 months<\/option><option value=\"102\">102 months<\/option><option value=\"103\">103 months<\/option><option value=\"104\">104 months<\/option><option value=\"105\">105 months<\/option><option value=\"106\">106 months<\/option><option value=\"107\">107 months<\/option><option value=\"108\">108 months<\/option><option value=\"109\">109 months<\/option><option value=\"110\">110 months<\/option><option value=\"111\">111 months<\/option><option value=\"112\">112 months<\/option><option value=\"113\">113 months<\/option><option value=\"114\">114 months<\/option><option value=\"115\">115 months<\/option><option value=\"116\">116 months<\/option><option value=\"117\">117 months<\/option><option value=\"118\">118 months<\/option><option value=\"119\">119 months<\/option><option value=\"120\">120 months<\/option>                            <\/select>\r\n                        <\/div>\r\n                        <div class=\"form-col\">\r\n                            <label for=\"sp-monto\">Initial Delivery in USD<\/label>\r\n                            <input type=\"number\" id=\"sp-monto\" name=\"sp_monto\" min=\"0\" step=\"0.01\" value=\"0\">\r\n                        <\/div>\r\n                    <\/div>\r\n                    \r\n                    <div>\r\n                        <input type=\"submit\" id=\"btn-simular\" value=\"Simulate\">\r\n                    <\/div>\r\n                <\/form>\r\n                \r\n                <div class=\"simulador-resultados\">\r\n                    <h3>Simulation Results<\/h3>\r\n                    \r\n                    <div class=\"resumen-simulacion\">\r\n                        <p><strong>Project:<\/strong> <span id=\"resumen-proyecto\"><\/span><\/p>\r\n                        <p><strong>Typology:<\/strong> <span id=\"resumen-tipologia\"><\/span><\/p>\r\n                        <p><strong>Total Amount:<\/strong> <span id=\"resumen-monto\"><\/span><\/p>\r\n                        <p><strong>Initial delivery:<\/strong> <span id=\"resumen-monto-adelanto\"><\/span><\/p>\r\n                        <p><strong>Term:<\/strong> <span id=\"resumen-plazo\"><\/span><\/p>\r\n                        \t\t\t\t\t\t\r\n                    <\/div>\r\n                    \r\n                                            <table class=\"tabla-cuotas\">\r\n                            <thead>\r\n                                <tr>\r\n                                    <th>Fees<\/th>\r\n                                    <th>Date<\/th>\r\n                                    <th>Capital<\/th>\r\n                                    <th>Interest<\/th>\r\n                                    <th>Total Quota<\/th>\r\n                                                                 <\/tr>\r\n                            <\/thead>\r\n                            <tbody id=\"tabla-amortizacion\">\r\n                                <!-- Aqu\u00ed se generar\u00e1n din\u00e1micamente las filas -->\r\n                            <\/tbody>\r\n                        <\/table>\r\n                                        \r\n                    <div class=\"botones-accion\">\r\n                        <button class=\"btn-generar-pdf\" id=\"generar-pdf\">\r\n                            Generate PDF                        <\/button>\r\n                                                <!-- Bot\u00f3n Continuar Iterando -->\r\n                        <button class=\"btn-continuar-iterando\" id=\"continuar-iterando\">\r\n                            Attempt                        <\/button>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n            \r\n            <script>\r\n                jQuery(document).ready(function($) {\r\n                    const form = $('.simulador-form-inputs');\r\n                    const resultados = $('.simulador-resultados');\r\n                    const proyectoSelect = $('#sp-proyecto');\r\n                    const tipologiaSelect = $('#sp-tipologia');\r\n                    const montoInput = $('#sp-monto');\r\n                    const btnSimular = $('#btn-simular');\r\n                    const btnWhatsapp = $('#contactar-whatsapp');\r\n                    const btnPdf = $('#generar-pdf');\r\n                   \r\n                    \r\n                    \/\/ Objeto para almacenar datos de proyectos\r\n                    const proyectosData = {};\r\n                    \r\n                                            proyectosData[5051] = {\r\n                            id: 5051,\r\n                            titulo: 'Porta 6',\r\n                            fechaInicial: '28\/02\/2026',\r\n                            fechaFinal: '30\/06\/2028',\r\n                            porcentaje: 0,\r\n                            activarEnObra: 'si',\r\n                            activarFinanciado: 'si'\r\n                        };\r\n                                            proyectosData[4968] = {\r\n                            id: 4968,\r\n                            titulo: 'Porta 5',\r\n                            fechaInicial: '28\/02\/2026',\r\n                            fechaFinal: '30\/06\/2028',\r\n                            porcentaje: 0,\r\n                            activarEnObra: 'si',\r\n                            activarFinanciado: 'si'\r\n                        };\r\n                                            proyectosData[4045] = {\r\n                            id: 4045,\r\n                            titulo: 'Porta 4',\r\n                            fechaInicial: '28\/02\/2026',\r\n                            fechaFinal: '30\/06\/2028',\r\n                            porcentaje: 0,\r\n                            activarEnObra: 'si',\r\n                            activarFinanciado: 'si'\r\n                        };\r\n                                            proyectosData[2302] = {\r\n                            id: 2302,\r\n                            titulo: 'Porta 3',\r\n                            fechaInicial: '30\/04\/2025',\r\n                            fechaFinal: '31\/10\/2026',\r\n                            porcentaje: 13,\r\n                            activarEnObra: 'si',\r\n                            activarFinanciado: 'si'\r\n                        };\r\n                                            proyectosData[2130] = {\r\n                            id: 2130,\r\n                            titulo: 'Porta 2',\r\n                            fechaInicial: '25\/04\/2025',\r\n                            fechaFinal: '15\/04\/2026',\r\n                            porcentaje: 13,\r\n                            activarEnObra: 'no',\r\n                            activarFinanciado: 'si'\r\n                        };\r\n                                            proyectosData[2129] = {\r\n                            id: 2129,\r\n                            titulo: 'Porta 1',\r\n                            fechaInicial: '17\/04\/2025',\r\n                            fechaFinal: '30\/09\/2026',\r\n                            porcentaje: 13,\r\n                            activarEnObra: 'no',\r\n                            activarFinanciado: 'si'\r\n                        };\r\n                    \r\n\r\n                    \/* \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014  PAR\u00c1METROS GLOBALES  \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 *\/\r\nconst mesesMaximos = 120;   \/\/ valor que ya usas para poblar el select\r\n\r\n\/* \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014  UTILIDADES DE FECHAS  \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 *\/\r\n\/\/ Convierte \u201cYYYY-MM-DD\u201d, \u201cDD\/MM\/YYYY\u201d o \u201cYYYY\/MM\/DD\u201d a Date()\r\nfunction parseDate(str) {\r\n    if (!str) return null;\r\n    let p;\r\n    if (str.includes('\/')) {\r\n        p = str.split('\/');\r\n        return p[0].length === 4           \/\/ YYYY\/MM\/DD\r\n            ? new Date(+p[0], p[1] - 1, p[2])\r\n            : new Date(+p[2], p[1] - 1, p[0]); \/\/ DD\/MM\/YYYY\r\n    }\r\n    if (str.includes('-')) {\r\n        p = str.split('-');\r\n        return new Date(+p[0], p[1] - 1, p[2]); \/\/ YYYY-MM-DD\r\n    }\r\n    return new Date(str);\r\n}\r\n\r\n\/\/ Diferencia de meses; si \u201cinclusive\u201d = true cuenta el mes inicial\r\nfunction diffMeses(a, b, inclusive = false) {\r\n    let m = (b.getFullYear() - a.getFullYear()) * 12 +\r\n            (b.getMonth()     - a.getMonth());\r\n    return inclusive ? m + 1 : m;\r\n}\r\n\r\n\/* \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014  HANDLER PARA #sp-financiamiento  \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 *\/\r\n$('#sp-financiamiento').on('change', function () {\r\n    const tipoFin = $(this).val();\r\n    const proyectoId = $('#sp-proyecto').val();\r\n    const selMeses   = $('#sp-meses');\r\n\r\n    \/\/ Siempre que no sea \u201cfinanciado\u201d devolvemos el select a su estado normal\r\n    if (tipoFin !== 'enobra' || !proyectoId) {\r\n        selMeses.prop('disabled', false)\r\n                .html('<option value=\"\">Select the months<\/option>');\r\n        for (let i = 1; i <= mesesMaximos; i++) {\r\n            selMeses.append(`<option value=\"${i}\">${i} ${i === 1 ? 'mes' : 'meses'}<\/option>`);\r\n        }\r\n        return;\r\n    }\r\n\r\n    \/\/ Para \u201cenobra\u201d calculamos los meses restantes y bloqueamos el select\r\n    const fIni = parseDate(proyectosData[proyectoId].fechaInicial);\r\n    const fFin = parseDate(proyectosData[proyectoId].fechaFinal);\r\n    if (!fIni || !fFin) { console.warn('Fechas de obra no definidas'); return; }\r\n\r\n    const hoy          = new Date();\r\n    const totalMeses   = diffMeses(fIni, fFin, true);   \/\/ p.e. May-25 \u2192 May-26 = 12\r\n    const transcurrido = hoy < fIni ? 0 : diffMeses(fIni, hoy, true); \/\/ meses incluidos\r\n    let restantes      = totalMeses - transcurrido;\r\n    if (restantes < 1) restantes = 1; \/\/ nunca <1\r\n\r\n    selMeses.html(`<option value=\"${restantes}\">${restantes} ${restantes === 1 ? 'mes' : 'meses'}<\/option>`)\r\n            .val(restantes)\r\n            .prop('disabled', true);\r\n});\r\n\r\n                    \r\n                    \/\/ Objeto para almacenar las tipolog\u00edas\r\n                    let tipologias = [];                    \/\/ Manejar cambio en el select de proyectos\r\n                    proyectoSelect.on('change', function() {\r\n                        const proyectoId = $(this).val();\r\n                        \r\n                        \/\/ Resetear tipolog\u00eda\r\n                        tipologiaSelect.html('<option value=\"\">Select a typology<\/option>');\r\n                        tipologiaSelect.prop('disabled', true);\r\n                        \r\n                        \/\/ Resetear tipo de financiamiento\r\n                        const financiamientoSelect = $('#sp-financiamiento');\r\n                        financiamientoSelect.html('<option value=\"\">Select a typology first<\/option>');\r\n                        financiamientoSelect.prop('disabled', true);\r\n                        \r\n                        \/\/ Resetear monto\r\n                        montoInput.val('0');\r\n                        \r\n                        if (proyectoId) {\r\n                            \/\/ Cargar tipolog\u00edas v\u00eda AJAX\r\n                            $.ajax({\r\n                                url: 'https:\/\/rizdesarrollos.com\/wp-admin\/admin-ajax.php',\r\n                                type: 'POST',\r\n                                data: {\r\n                                    action: 'sp_obtener_tipologias_proyecto',\r\n                                    proyecto_id: proyectoId,\r\n                                    nonce: '6fe864292d'\r\n                                },\r\n                                success: function(response) {\r\n                                    if (response.success && response.data.tipologias.length > 0) {\r\n                                        tipologias = response.data.tipologias;\r\n                                        \r\n                                        \/\/ Llenar el select de tipolog\u00edas\r\n                                        $.each(tipologias, function(index, tipologia) {\r\n                                            const option = $('<option>')\r\n                                                .val(index) \/\/ Usamos el \u00edndice como valor\r\n                                                .text(tipologia.nombre + ' - ' + tipologia.dimensiones)\r\n                                                .data('precio_en_obra', tipologia.precio_en_obra)\r\n                                                .data('precio_en_financiado', tipologia.precio_en_financiado)\r\n                                                .data('precio_en_obra', tipologia.precio_en_obra);\r\n                                            tipologiaSelect.append(option);\r\n                                        });\r\n                                        \r\n                                        \/\/ Habilitar el select de tipolog\u00edas\r\n                                        tipologiaSelect.prop('disabled', false);\r\n                                    } else {\r\n                                        console.error('No se encontraron tipolog\u00edas para este proyecto');\r\n                                    }\r\n                                },\r\n                                error: function(error) {\r\n                                    console.error('Error al cargar tipolog\u00edas:', error);\r\n                                }\r\n                            });\r\n                        }\r\n                    });\r\n                    \r\n                    \/\/ Manejar cambio en la tipolog\u00eda\r\n                    tipologiaSelect.on('change', function() {\r\n                        const tipologiaIndex = $(this).val();\r\n                        \r\n                        \/\/ Habilitar el select de financiamiento\r\n                        const financiamientoSelect = $('#sp-financiamiento');\r\n                        financiamientoSelect.html('<option value=\"\">Select financing type<\/option>');\r\n\r\n                        const proyectoId =  proyectoSelect.val();  \r\n\r\n                        if (proyectoId !== '') {\r\n                            const precioEnObra =  proyectosData[proyectoId].activarEnObra;\r\n                            const precioEnFinanciado = proyectosData[proyectoId].activarFinanciado;\r\n                            \r\n                            \/\/ Solo mostrar opciones disponibles (con precio mayor a 0)\r\n                            if (precioEnObra && precioEnObra == 'si') {\r\n                                financiamientoSelect.append('<option value=\"enobra\">In works<\/option>');\r\n                            }\r\n                            \r\n                            if (precioEnFinanciado && precioEnFinanciado == 'si') {\r\n                                financiamientoSelect.append('<option value=\"financiado\">Funded<\/option>');\r\n                            }\r\n                            \r\n                            financiamientoSelect.prop('disabled', false);\r\n                        } else {\r\n                            financiamientoSelect.prop('disabled', true);\r\n                        }\r\n                    });\r\n                    \r\n                    \/\/ Funci\u00f3n para validar que todos los campos est\u00e9n completos\r\n                    function validarFormularioCompleto() {\r\n                        let formularioCompleto = true;\r\n                        $('#simulador-form input[required], #simulador-form select[required]').each(function() {\r\n                            if (!$(this).val().trim()) {\r\n                                formularioCompleto = false;\r\n                                return false; \/\/ romper el ciclo\r\n                            }\r\n                        });\r\n                        return formularioCompleto;\r\n                    }\r\n                    \r\n                    \/\/ Desactivar el bot\u00f3n inicialmente\r\n                    btnSimular.prop('disabled', !validarFormularioCompleto());\r\n                    \r\n                    \/\/ Agregar event listeners a todos los campos requeridos\r\n                    $('#simulador-form input[required], #simulador-form select[required]').on('input change', function() {\r\n                        btnSimular.prop('disabled', !validarFormularioCompleto());\r\n                    });\r\n                   \r\n                    \/\/ Manejar evento de env\u00edo del formulario\r\n                    form.on('submit', function(e) {\r\n                        e.preventDefault();\r\n\r\n                        \/\/ --- INICIO MODIFICACI\u00d3N RECAPTCHA ---\r\n                        const siteKey = '';\r\n                        \r\n                        if (typeof grecaptcha !== 'undefined' && siteKey) {\r\n                            grecaptcha.ready(function() {\r\n                                grecaptcha.execute(siteKey, {action: 'submit_simulador'}).then(function(token) {\r\n                                    document.getElementById('recaptchaResponse').value = token;\r\n                                    procederConEnvioFormulario(); \/\/ Llamar a la l\u00f3gica original del formulario\r\n                                });\r\n                            });\r\n                        } else {\r\n                            \/\/ Si reCAPTCHA no est\u00e1 configurado o no se carg\u00f3, proceder directamente\r\n                            \/\/ Opcionalmente, se podr\u00eda poner un console.warn o alert si se espera que reCAPTCHA est\u00e9 siempre activo.\r\n                            \/\/ console.warn('reCAPTCHA no configurado o no cargado.');\r\n                            procederConEnvioFormulario();\r\n                        }\r\n                        \/\/ --- FIN MODIFICACI\u00d3N RECAPTCHA ---\r\n                    });\r\n                    \r\n                    function procederConEnvioFormulario() {\r\n                        \/\/ Validaci\u00f3n b\u00e1sica (se mantiene)\r\n                        const nombre = $('#sp-nombre').val();\r\n                        const correo = $('#sp-correo').val();\r\n                        const telefono = $('#sp-telefono').val();\r\n                        const proyectoId = proyectoSelect.val();\r\n                        const tipologiaIndex = tipologiaSelect.val(); \/\/ Es el \u00edndice del array 'tipologias'\r\n                        const financiamiento = $('#sp-financiamiento').val();\r\n                        const meses = $('#sp-meses').val();\r\n                        let montoIngresado = parseFloat($('#sp-monto').val()) || 0;\r\n                        \r\n                        if (!nombre || !correo || !telefono || !proyectoId || tipologiaIndex === '' || !financiamiento || !meses) {\r\n                            alert('Por favor complete todos los campos requeridos.');\r\n                            return;\r\n                        }\r\n                        \/\/ M\u00e1s validaciones de montoIngresado (se mantienen)\r\n                        if (isNaN(montoIngresado) || montoIngresado < 0) {\r\n                            alert('Por favor, ingrese un monto v\u00e1lido para la entrega inicial.');\r\n                            return;\r\n                        } else if (montoIngresado > 0 && montoIngresado < 500) {\r\n                            \/\/ Permitir monto 0, pero si es >0 debe ser >=500\r\n                            alert('La entrega inicial, si es mayor a cero, debe ser de al menos 500 USD.');\r\n                            return;\r\n                        }\r\n\r\n                        \/\/ Obtener datos de la tipolog\u00eda seleccionada\r\n                        const selectedTipologiaData = tipologias[tipologiaIndex]; \/\/ Acceder por \u00edndice\r\n                        let valorTipologia = 0;\r\n                        if (selectedTipologiaData) {\r\n                            if (financiamiento === 'enobra') {\r\n                                valorTipologia = parseFloat(selectedTipologiaData.precio_en_obra);\r\n                            } else if (financiamiento === 'financiado') {\r\n                                valorTipologia = parseFloat(selectedTipologiaData.precio_en_financiado);\r\n                            }\r\n                        } else {\r\n                            alert('Por favor seleccione una tipolog\u00eda v\u00e1lida.');\r\n                            return;\r\n                        }\r\n\r\n                        console.log('valorTipologia', valorTipologia);\r\n\r\n                        if (isNaN(valorTipologia) || valorTipologia <= 0) {\r\n                             alert('El precio de la tipolog\u00eda seleccionada no es v\u00e1lido. Contacte al administrador.');\r\n                             return;\r\n                        }\r\n\r\n                        \/\/ Calcular el monto final a financiar (se mantiene)\r\n                        let montoFinalAFinanciar = 0;\r\n                        if (montoIngresado === 0) {\r\n                            montoFinalAFinanciar = valorTipologia;\r\n                        } else {\r\n                            montoFinalAFinanciar = valorTipologia - montoIngresado;\r\n                            if (montoFinalAFinanciar < 0) montoFinalAFinanciar = 0;\r\n                        }\r\n\r\n                        const nombreTipologiaCompleto = selectedTipologiaData ? selectedTipologiaData.nombre + ' - ' + selectedTipologiaData.dimensiones : '';\r\n\r\n                        \/\/ --- INICIO: Nueva llamada AJAX para calcular amortizaci\u00f3n y obtener HTML ---\r\n                        $.ajax({\r\n                            url: 'https:\/\/rizdesarrollos.com\/wp-admin\/admin-ajax.php',\r\n                            type: 'POST',\r\n                            data: {\r\n                                action: 'sp_ajax_calcular_amortizacion_html',\r\n                                nonce: $('#sp_simulador_nonce_field').val(), \/\/ Nuevo nonce\r\n                                proyecto_id: proyectoId,\r\n                                meses: meses,\r\n                                monto_a_financiar: montoFinalAFinanciar,\r\n                                monto_ingresado_inicial: montoIngresado,\r\n                                nombre_tipologia: nombreTipologiaCompleto,\r\n                                tipo_financiamiento: financiamiento \r\n                            },\r\n                            beforeSend: function() {\r\n                                btnSimular.prop('disabled', true).append('<span class=\"btn-loader\"><\/span>');\r\n                            },\r\n                            success: function(response) {\r\n                                btnSimular.prop('disabled', false).find('.btn-loader').remove();\r\n                                if (response.success) {\r\n                                    \/\/ Actualizar DOM con HTML de la tabla y resumen\r\n                                    $('#tabla-amortizacion').html(response.data.tabla_html);\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\/\/  A\u00f1adimos data-label a cada <td> para la vista m\u00f3vil\r\n$('#tabla-amortizacion tr').each(function () {\r\n    $(this).find('td').eq(0).attr('data-label', 'Fees');\r\n    $(this).find('td').eq(1).attr('data-label', 'Date');\r\n    $(this).find('td').eq(2).attr('data-label', 'Capital');\r\n    $(this).find('td').eq(3).attr('data-label', 'Interest');\r\n    $(this).find('td').eq(4).attr('data-label', 'Total Quota');\r\n});\r\n\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n                                    $('#resumen-proyecto').text(response.data.resumen.proyecto);\r\n                                    $('#resumen-monto').text(response.data.resumen.monto_financiado); \/\/ Monto a financiar\r\n                                    $('#resumen-monto-adelanto').text(response.data.resumen.monto_adelanto); \/\/ Entrega inicial\r\n                                    $('#resumen-tipologia').text(response.data.resumen.tipologia);\r\n                                    $('#resumen-plazo').text(response.data.resumen.plazo);\r\n                                    \/\/ Opcional: actualizar tasa y gracia si se muestran\r\n                                    \/\/ if(response.data.resumen.tasa) $('#resumen-tasa').text(response.data.resumen.tasa).parent().show(); else $('#resumen-tasa').parent().hide();\r\n                                    \/\/ if(response.data.resumen.gracia) $('#resumen-gracia').text(response.data.resumen.gracia).parent().show(); else $('#resumen-gracia').parent().hide();\r\n\r\n                                    resultados.css('display', 'block');\r\n\r\n                                    \/\/ Ahora, llamar a guardarRegistro con los datos consistentes\r\n                                    \/\/ Algunos datos vienen de la respuesta de AJAX para asegurar consistencia si es necesario\r\n                                    \/\/ o se pueden usar los ya calculados en JS.\r\n                                    guardarRegistro(\r\n                                        nombre,\r\n                                        correo,\r\n                                        telefono,\r\n                                        proyectoId,\r\n                                        meses,\r\n                                        montoFinalAFinanciar, \/\/ monto_financiado_final para el backend\r\n                                        montoIngresado,       \/\/ monto_ingresado_original para el backend\r\n                                        valorTipologia,       \/\/ valor_tipologia_seleccionada para el backend\r\n                                        nombreTipologiaCompleto, \/\/ nombre_tipologia_seleccionada para el backend\r\n                                        financiamiento        \/\/ tipo_financiamiento_seleccionado para el backend\r\n                                    );\r\n\r\n                                    \/\/ Configurar bot\u00f3n de WhatsApp (se mantiene)\r\n                                    const numeroWhatsapp = '';\r\n                                    const mensajeBase = 'Hola, estoy interesado en financiamiento para un proyecto';\r\n                                    \/\/ Usar nombreTipologiaCompleto en lugar de 'tipologia' (que era el \u00edndice)\r\n                                    const mensajeCompleto = mensajeBase + ' ' + proyectosData[proyectoId].titulo + ' - ' + nombreTipologiaCompleto + ' por un monto de ' + montoFinalAFinanciar + ' a ' + meses + ' meses.';\r\n                                    const urlWhatsapp = 'https:\/\/wa.me\/' + numeroWhatsapp + '?text=' + encodeURIComponent(mensajeCompleto);\r\n                                    btnWhatsapp.attr('href', urlWhatsapp);\r\n                                    btnWhatsapp.off('click').on('click', function() {\r\n                                        registrarClickWhatsapp(proyectoId);\r\n                                    });\r\n\r\n                                } else {\r\n                                    alert('Error al calcular la simulaci\u00f3n: ' + (response.data.message || 'Error desconocido.'));\r\n                                }\r\n                            },\r\n                            error: function(jqXHR, textStatus, errorThrown) {\r\n                                btnSimular.prop('disabled', false).find('.btn-loader').remove();\r\n                                console.error('Error AJAX calculando amortizaci\u00f3n:', textStatus, errorThrown, jqXHR.responseText);\r\n                                alert('Error de comunicaci\u00f3n al calcular la simulaci\u00f3n. Por favor, int\u00e9ntelo de nuevo.');\r\n                            }\r\n                        });\r\n                        \/\/ --- FIN: Nueva llamada AJAX ---\r\n                    }\r\n                    \r\n                    \/\/ Funci\u00f3n para guardar el registro v\u00eda AJAX\r\n                    function guardarRegistro(nombre, correo, telefono, proyectoId, meses, montoFinalCalculado, montoIngresadoOriginal, valorTipologiaSeleccionada, nombreTipologiaCompleta, tipoFinanciamientoSeleccionado) {\r\n                        \r\n                        const dataObj = {\r\n                            \/\/ Campos del formulario directo que son par\u00e1metros de la funci\u00f3n\r\n                            sp_nombre: nombre,\r\n                            sp_correo: correo,\r\n                            sp_telefono: telefono,\r\n                            sp_proyecto: proyectoId,\r\n                            sp_meses: meses,\r\n                            \/\/ El campo sp_monto del formulario (entrega inicial) se pasa como montoIngresadoOriginal\r\n\r\n                            \/\/ Campos calculados\/espec\u00edficos que el backend necesita\r\n                            monto_financiado_final: montoFinalCalculado,\r\n                            monto_ingresado_original: montoIngresadoOriginal,\r\n                            valor_tipologia_seleccionada: valorTipologiaSeleccionada,\r\n                            nombre_tipologia_seleccionada: nombreTipologiaCompleta, \r\n                            tipo_financiamiento_seleccionado: tipoFinanciamientoSeleccionado,\r\n\r\n                            \/\/ Campos de control (tomados directamente del formulario)\r\n                            action: form.find('input[name=\"action\"]').val(),\r\n                            sp_nonce_field: form.find('input[name=\"sp_nonce_field\"]').val(),\r\n                            recaptcha_response: $('#recaptchaResponse').val()\r\n                        };\r\n                        \r\n                        \/\/ Asegurarse que el valor original del campo sp_monto (entrega inicial) tambi\u00e9n se env\u00ede si es necesario\r\n                        \/\/ ya que montoIngresadoOriginal es el par\u00e1metro de la funci\u00f3n.\r\n                        \/\/ Si el backend va a usar $_POST['sp_monto'], este debe ser el valor del campo del form.\r\n                        \/\/ El par\u00e1metro montoIngresadoOriginal ya tiene este valor.\r\n                        \/\/ dataObj.sp_monto_del_form = form.find('#sp-monto').val(); \/\/ Ejemplo si se necesitara con otro nombre\r\n\r\n                        $.ajax({\r\n                            url: 'https:\/\/rizdesarrollos.com\/wp-admin\/admin-ajax.php',\r\n                            type: 'POST',\r\n                            data: dataObj,\r\n                            success: function(response) {\r\n                                if (response.success) {\r\n                                    console.log('Registro guardado con \u00e9xito', response);\r\n                                    \/\/ Mostrar nuevamente el formulario y mantener los datos\r\n                                    form.css('display', 'block');\r\n                                    \r\n                                    \/\/ Desplazarse suavemente hasta el inicio del formulario\r\n                                    $('html, body').animate({\r\n                                        scrollTop: form.offset().top\r\n                                    }, 500);\r\n                                    \r\n                                    \/\/ Enfocar el primer campo editable que queramos cambiar (ej: monto)\r\n                                    $('#sp-monto').focus();\r\n                                 } else {\r\n                                    console.error('Error al guardar registro', response);\r\n                                    let errorMessage = 'Ha ocurrido un error al guardar el registro. Por favor intente nuevamente m\u00e1s tarde.';\r\n                                    if (response.data && response.data.message) {\r\n                                        errorMessage = response.data.message; \/\/ Usar mensaje del backend si est\u00e1 disponible\r\n                                    }\r\n                                    alert(errorMessage);\r\n                                 }\r\n                            },\r\n                            error: function(jqXHR, textStatus, errorThrown) {\r\n                                console.error('Error en la petici\u00f3n AJAX:', textStatus, errorThrown);\r\n                                alert('Error de comunicaci\u00f3n al guardar el registro. Por favor intente nuevamente.');\r\n                            }\r\n                        });\r\n                    }\r\n                    \r\n                    \/\/ Funci\u00f3n para registrar clic en WhatsApp\r\n                    function registrarClickWhatsapp(proyectoId) {\r\n                        \/\/ AJAX para registrar clic\r\n                        $.ajax({\r\n                            url: 'https:\/\/rizdesarrollos.com\/wp-admin\/admin-ajax.php',\r\n                            type: 'POST',\r\n                            data: {\r\n                                action: 'sp_registrar_click_whatsapp',\r\n                                proyecto_id: proyectoId,\r\n                                nonce: '46ad31017d'\r\n                            },\r\n                            error: function(error) {\r\n                                console.error('Error al registrar clic', error);\r\n                            }\r\n                        });\r\n                    }\r\n                    \r\n                    \/\/ Configurar generaci\u00f3n de PDF\r\n                    btnPdf.on('click', function() {\r\n                        const nombre = $('#sp-nombre').val();\r\n                        const correo = $('#sp-correo').val();\r\n                        const telefono = $('#sp-telefono').val();\r\n                        const proyectoId = proyectoSelect.val();\r\n                        const meses = $('#sp-meses').val();\r\n                        const monto = $('#sp-monto').val();\r\n                        \r\n                        \/\/ Generar el PDF directamente usando el nuevo par\u00e1metro\r\n                        $.ajax({\r\n                            url: 'https:\/\/rizdesarrollos.com\/wp-admin\/admin-ajax.php',\r\n                            type: 'POST',\r\n                            data: {\r\n                                action: 'sp_obtener_hash_pdf',\r\n                                nombre: nombre,\r\n                                correo: correo,\r\n                                telefono: telefono,\r\n                                proyecto_id: proyectoId,\r\n                                meses: meses,\r\n                                monto: monto,\r\n                                generar_directo: '1',\r\n                                nonce: '2394781111'\r\n                            },\r\n                            success: function(data) {\r\n                                console.log(data);\r\n                                \/\/ Verificar si la respuesta es exitosa y contiene la URL del PDF\r\n                                if (data.success && data.data.url_pdf) {\r\n                                    \/\/ Abrir el PDF usando la URL generada\r\n                                    window.open(data.data.url_pdf, '_blank');\r\n                                } else {\r\n                                    console.error('Error al generar el PDF', data);\r\n                                    alert('Ha ocurrido un error al generar el PDF. Por favor intente nuevamente.');\r\n                                }\r\n                            },\r\n                            error: function(error) {\r\n                                console.error('Error en la petici\u00f3n', error);\r\n                                alert('Ha ocurrido un error al generar el PDF. Por favor intente nuevamente.');\r\n                            }\r\n                        });\r\n                    });\r\n                    \r\n                    \/\/ Configurar el bot\u00f3n \"Continuar iterando\"\r\n                    const btnContinuarIterando = $('#continuar-iterando');\r\n                    btnContinuarIterando.on('click', function() {\r\n                        \/\/ Mostrar nuevamente el formulario y mantener los datos\r\n                        form.css('display', 'block');\r\n                        \r\n                        \/\/ Desplazarse suavemente hasta el inicio del formulario\r\n                        $('html, body').animate({\r\n                            scrollTop: form.offset().top\r\n                        }, 500);\r\n                        \r\n                        \/\/ Enfocar el primer campo editable que queramos cambiar (ej: monto)\r\n                        $('#sp-monto').focus();\r\n                    });\r\n                    \r\n                });\r\n            <\/script>\r\n            \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Simulador de Cuotas Nombre y Apellido Correo Tel\u00e9fono Proyectos Selecciona un ProyectoPorta 3Porta 2Porta 1 Tipolog\u00eda Selecciona un proyecto primero Tipo de Financiamiento Selecciona una tipolog\u00eda primeroEn obraFinanciado Cantidad de meses Selecciona los meses1 mes2 meses3 meses4 meses5 meses6 meses7 meses8 meses9 meses10 meses11 meses12 meses13 meses14 meses15 meses16 meses17 meses18 meses19 meses20 meses21 meses22 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_joinchat":[],"footnotes":""},"class_list":["post-4018","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/rizdesarrollos.com\/en\/wp-json\/wp\/v2\/pages\/4018","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rizdesarrollos.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/rizdesarrollos.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/rizdesarrollos.com\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/rizdesarrollos.com\/en\/wp-json\/wp\/v2\/comments?post=4018"}],"version-history":[{"count":4,"href":"https:\/\/rizdesarrollos.com\/en\/wp-json\/wp\/v2\/pages\/4018\/revisions"}],"predecessor-version":[{"id":4022,"href":"https:\/\/rizdesarrollos.com\/en\/wp-json\/wp\/v2\/pages\/4018\/revisions\/4022"}],"wp:attachment":[{"href":"https:\/\/rizdesarrollos.com\/en\/wp-json\/wp\/v2\/media?parent=4018"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}