{"id":2489,"date":"2025-12-01T11:28:29","date_gmt":"2025-12-01T10:28:29","guid":{"rendered":"https:\/\/ruaabogados.es\/?page_id=2489"},"modified":"2025-12-02T17:46:39","modified_gmt":"2025-12-02T16:46:39","slug":"calculadora-gastos-hipotecarios","status":"publish","type":"page","link":"https:\/\/ruaabogados.es\/en\/calculadora-gastos-hipotecarios\/","title":{"rendered":"Calculadora de gastos hipotecarios"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"2489\" class=\"elementor elementor-2489\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a69347a e-flex e-con-boxed e-con e-parent\" data-id=\"a69347a\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-b331b52 e-con-full e-flex e-con e-child\" data-id=\"b331b52\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c80a138 elementor-widget elementor-widget-heading\" data-id=\"c80a138\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Calculadora de gastos hipotecarios<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-403f5c2 elementor-widget elementor-widget-shortcode\" data-id=\"403f5c2\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    <div class=\"container\">\n        <!-- Columna Izquierda: Informaci\u00f3n -->\n        <div class=\"info-column\">\n            <!-- Secciones Colapsables de Hipotecas -->\n            <div class=\"info-section\">\n                <h3>\ud83d\udcc5 Mortgages according to signing date<\/h3>\n                <div class=\"info-content\">\n                    <p>Select your mortgage signing date in the calculator to see what expenses you can claim.<\/p>\n                <\/div>\n\n                <!-- Secci\u00f3n Colapsable: Antes de 16 de Junio de 2019 -->\n                <div class=\"collapsible-section collapsed\" id=\"section-before\">\n                    <div class=\"collapsible-header\">\n                        Mortgages signed before June 16, 2019\n                    <\/div>\n                    <div class=\"collapsible-content\">\n                        <h4>The bank had to pay:<\/h4>\n                        <ul>\n                            <li>Property Registry<\/li>\n                            <li>Management services<\/li>\n                            <li>Appraisal<\/li>\n                            <li>50% of notary fees<\/li>\n                        <\/ul>\n                        <h4 style=\"margin-top: 1rem;\">The customer only had to pay:<\/h4>\n                        <ul>\n                            <li>The other 50% of the notary fees<\/li>\n                            <li>The Tax on Documented Legal Acts (IAJD)<\/li>\n                        <\/ul>\n                        <p style=\"margin-top: 1rem; font-size: 0.9rem; font-weight: 600; line-height: 1.6; color:#0E3C4D\">Therefore, if you signed before 2019 and assumed all the expenses, you can claim almost the entire amount.<\/p>\n                    <\/div>\n                <\/div>\n\n                <!-- Secci\u00f3n Colapsable: Despu\u00e9s de 16 de Junio de 2019 -->\n                <div class=\"collapsible-section collapsed\" id=\"section-after\">\n                    <div class=\"collapsible-header\">\n                        Mortgages signed from June 16, 2019 onwards\n                    <\/div>\n                    <div class=\"collapsible-content\">\n                        <p style=\"margin-bottom: 1rem; font-weight: 600; color:#0E3C4D;\">With the entry into force of the Real Estate Credit Contracts Act, the distribution changed:<\/p>\n                        <h4>The bank pays:<\/h4>\n                        <ul>\n                            <li>IAJD<\/li>\n                            <li>Notary (except copies)<\/li>\n                            <li>Record<\/li>\n                            <li>Management services<\/li>\n                        <\/ul>\n                        <h4 style=\"margin-top: 1rem;\">The customer only pays:<\/h4>\n                        <ul>\n                            <li>Appraisal<\/li>\n                        <\/ul>\n                        <p style=\"margin-top: 1rem; font-size: 0.9rem; line-height: 1.6; color: #0E3C4D\">This means that, in recent mortgages, you could only claim if the bank incorrectly charged you for any of these expenses.<\/p>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <!-- Informaci\u00f3n sobre R\u00faa Abogados -->\n            <div class=\"info-section\">\n                <h3>\ud83c\udfe2 R\u00faa Abogados<\/h3>\n                <div class=\"info-content\">\n                    <p>We are Rua Abogados, we have a team of lawyers with more than 50 years of experience claiming against banking entities.<\/p>\n                    <p><strong>Why choose R\u00faa Abogados?<\/strong><\/p>\n                    <ul style=\"margin: 0; padding-left: 1.5rem;\">\n                        <li>Free feasibility study.<\/li>\n                        <li>Success fee: You don't pay anything upfront and we only get paid if we win. <\/li>\n                        <li>More than 50 years of experience.<\/li>\n                        <li>More than 50 professionals.<\/li>\n                        <li>Success rate exceeding 95%.<\/li>\n                    <\/ul>\n                    <p style=\"margin-top: 1rem; color: #1C494E; font-weight: bold;\">Reclaim what's yours. Contact us today.<\/p>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <!-- Columna Derecha: Calculadora -->\n        <div class=\"calculator-column\">\n            <div class=\"calculator-widget\">\n                <div class=\"widget-header\">\n                    <h2>Expense Calculator<\/h2>\n                    <p>Find out how much you can recover from your mortgage<\/p>\n                <\/div>\n                \n                <div class=\"widget-body\">\n                    <div class=\"input-grid\">\n                        <div class=\"form-group\">\n                            <label for=\"fechaPago\">\n                                Mortgage date\n                                <div class=\"tooltip-container\">\n                                    <i class=\"info-icon\">?<\/i>\n                                    <span class=\"tooltip-text\">Enter the approximate date on which these expenses were paid (it usually coincides with the signing of the mortgage).<\/span>\n                                <\/div>\n                            <\/label>\n                            <div class=\"input-wrapper\">\n                                <input type=\"date\" id=\"fechaPago\">\n                            <\/div>\n                        <\/div>\n\n                        <div class=\"form-group\">\n                            <label for=\"importeNotario\">\n                                Notary\n                                <div class=\"tooltip-container\">\n                                    <i class=\"info-icon\">?<\/i>\n                                    <span class=\"tooltip-text\">Enter the total amount of the notary's bill for the mortgage deed.<\/span>\n                                <\/div>\n                            <\/label>\n                            <div class=\"input-wrapper\">\n                                <span class=\"currency-symbol\">\u20ac<\/span>\n                                <input type=\"number\" id=\"importeNotario\" placeholder=\"0\" min=\"0\" step=\"any\">\n                            <\/div>\n                        <\/div>\n\n                        <div class=\"form-group\">\n                            <label for=\"importeRegistro\">\n                                Record\n                                <div class=\"tooltip-container\">\n                                    <i class=\"info-icon\">?<\/i>\n                                    <span class=\"tooltip-text\">Enter the cost of registering the mortgage in the Property Registry.<\/span>\n                                <\/div>\n                            <\/label>\n                            <div class=\"input-wrapper\">\n                                <span class=\"currency-symbol\">\u20ac<\/span>\n                                <input type=\"number\" id=\"importeRegistro\" placeholder=\"0\" min=\"0\" step=\"any\">\n                            <\/div>\n                        <\/div>\n\n                        <div class=\"form-group\">\n                            <label for=\"importeGestion\">\n                                Management services\n                                <div class=\"tooltip-container\">\n                                    <i class=\"info-icon\">?<\/i>\n                                    <span class=\"tooltip-text\">Introduce los gastos de gestor\u00eda por la tramitaci\u00f3n de la hipoteca.<\/span>\n                                <\/div>\n                            <\/label>\n                            <div class=\"input-wrapper\">\n                                <span class=\"currency-symbol\">\u20ac<\/span>\n                                <input type=\"number\" id=\"importeGestion\" placeholder=\"0\" min=\"0\" step=\"any\">\n                            <\/div>\n                        <\/div>\n\n                        <div class=\"form-group\">\n                            <label for=\"importeTasador\">\n                                Appraisal\n                                <div class=\"tooltip-container\">\n                                    <i class=\"info-icon\">?<\/i>\n                                    <span class=\"tooltip-text\">Enter the cost of the property appraisal carried out for the mortgage.<\/span>\n                                <\/div>\n                            <\/label>\n                            <div class=\"input-wrapper\">\n                                <span class=\"currency-symbol\">\u20ac<\/span>\n                                <input type=\"number\" id=\"importeTasador\" placeholder=\"0\" min=\"0\" step=\"any\">\n                            <\/div>\n                        <\/div>\n\n                        <div class=\"form-group\" id=\"iajdField\" style=\"display: none;\">\n                            <label for=\"importeIAJD\">\n                                IPAJD\n                                <div class=\"tooltip-container\">\n                                    <i class=\"info-icon\">i<\/i>\n                                    <span class=\"tooltip-text\">Property Transfer Tax and Stamp Duty. For mortgages taken out after June 2019, the bank is responsible for paying this tax, so you can claim a refund if you were charged it.<\/span>\n                                <\/div>\n                            <\/label>\n                            <div class=\"input-wrapper\">\n                                <span class=\"currency-symbol\">\u20ac<\/span>\n                                <input type=\"number\" id=\"importeIAJD\" placeholder=\"0\" min=\"0\" step=\"any\">\n                            <\/div>\n                        <\/div>\n                    <\/div>\n\n                    <button class=\"btn-calculate\" onclick=\"calcularTotal()\">\n                        <span>Calculate Refund<\/span>\n                        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"20\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"22 12 18 12 15 21 9 3 6 12 2 12\"><\/polyline><\/svg>\n                    <\/button>\n\n                    <div class=\"result-section\" id=\"resultSection\">\n                        <div class=\"result-label\">Money you can get back<\/div>\n                        <div class=\"result-value\" id=\"resultadoFinal\">0,00 \u20ac<\/div>\n                        <div class=\"result-breakdown\" id=\"desgloseIntereses\"><\/div>\n                        <div class=\"result-description\">\n                            The calculation shown is for guidance purposes only; to calculate the actual amount, you need to contact R\u00faa Abogados and have a professional review your specific case.\n                        <\/div>\n                        <a href=\"https:\/\/ruaabogados.es\/en\/contact\/\" class=\"cta-button\" onclick=\"alert('Redirigiendo a contacto con R\u00faa Abogados...')\">I want my money back!<\/a>\n                    <\/div>\n\n                    <!-- Alerta din\u00e1mica seg\u00fan fecha -->\n                    <div id=\"dateAlert\"><\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <!-- Estilos y Scripts -->\n    <style>\n        :root {\n            --primary-color: #1C494E;\n            --primary-hover: #0f172a;\n            --primary-light: #cbd5e1;\n            --primary-dark: #0f172a;\n            --secondary-color: #1C494E;\n            --accent-color: #10b981;\n            --accent-hover: #059669;\n            --bg-color: #ffffff;\n            --card-bg: #ffffff;\n            --text-main: #334155;\n            --text-muted: #64748b;\n            --border-color: #e2e8f0;\n            --input-bg: #f1f5f9;\n            --success-light: #dcfce7;\n            --warning-light: #fef3c7;\n            --error-light: #fee2e2;\n            --shadow-sm: 0 1px 2px 0 rgb(0 0 0 \/ 0.05);\n            --shadow-md: 0 4px 6px -1px rgb(0 0 0 \/ 0.1), 0 2px 4px -2px rgb(0 0 0 \/ 0.1);\n            --shadow-lg: 0 10px 15px -3px rgb(0 0 0 \/ 0.1), 0 4px 6px -4px rgb(0 0 0 \/ 0.1);\n            --shadow-xl: 0 20px 25px -5px rgb(0 0 0 \/ 0.15);\n        }\n\n        body {\n            font-family: 'Inter', sans-serif;\n            min-height: 100vh;\n            background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);\n            margin: 0;\n            padding: 2rem 1rem;\n            color: var(--text-main);\n        }\n\n        .container {\n            max-width: 1400px;\n            margin: 0 auto;\n            display: grid;\n            grid-template-columns: 1fr 1fr;\n            gap: 3rem;\n            align-items: start;\n        }\n\n        .info-column {\n            display: flex;\n            flex-direction: column;\n            gap: 2rem;\n        }\n\n        .calculator-column {\n            display: flex;\n            justify-content: center;\n        }\n\n        .calculator-widget {\n            background-color: var(--card-bg);\n            border-radius: 20px;\n            box-shadow: var(--shadow-xl);\n            width: 100%;\n            max-width: 520px;\n            overflow: hidden;\n            transition: all 0.3s ease;\n        }\n        \n        .calculator-widget:hover {\n            box-shadow: 0 25px 30px -5px rgb(0 0 0 \/ 0.2);\n        }\n\n        .widget-header {\n            background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%);\n            padding: 2.5rem 1.5rem;\n            text-align: center;\n            color: white;\n            position: relative;\n            overflow: hidden;\n        }\n        \n        .widget-header::before {\n            content: '';\n            position: absolute;\n            top: 0;\n            right: 0;\n            width: 400px;\n            height: 400px;\n            background: radial-gradient(circle, rgba(255,255,255,0.15) 0%, transparent 70%);\n            border-radius: 50%;\n            transform: translate(100px, -100px);\n        }\n        \n        .widget-header h2 {\n            margin: 0;\n            font-size: 1.75rem;\n            font-weight: 800;\n            letter-spacing: -0.03em;\n            position: relative;\n            z-index: 1;\n        }\n\n        .widget-header p {\n            margin: 0.75rem 0 0;\n            opacity: 0.95;\n            font-size: 0.95rem;\n            font-weight: 500;\n            position: relative;\n            z-index: 1;\n        }\n\n        .widget-body {\n            padding: 2.5rem 2rem;\n        }\n\n        .input-grid {\n            display: grid;\n            gap: 1.25rem;\n        }\n\n        .form-group {\n            position: relative;\n        }\n\n        .form-group label {\n            display: flex;\n            align-items: center;\n            margin-bottom: 0.75rem;\n            color: var(--text-main);\n            font-weight: 600;\n            font-size: 0.85rem;\n            text-transform: uppercase;\n            letter-spacing: 0.05em;\n        }\n\n        \/* Tooltip Styles *\/\n        .tooltip-container {\n            position: relative;\n            margin-left: 0.5rem;\n            cursor: help;\n            display: inline-flex;\n        }\n\n        .info-icon {\n            display: inline-flex;\n            align-items: center;\n            justify-content: center;\n            width: 18px;\n            height: 18px;\n            border-radius: 50%;\n            background-color: var(--primary-color);\n            color: white;\n            font-size: 12px;\n            font-weight: bold;\n            font-style: normal;\n            transition: all 0.2s ease;\n        }\n        \n        .tooltip-container:hover .info-icon {\n            background-color: var(--primary-hover);\n            transform: scale(1.1);\n        }\n\n        .tooltip-text {\n            visibility: hidden;\n            width: 240px;\n            background-color: var(--secondary-color);\n            color: #fff;\n            text-align: center;\n            border-radius: 8px;\n            padding: 0.875rem;\n            position: absolute;\n            z-index: 10;\n            bottom: 135%;\n            left: 50%;\n            transform: translateX(-50%);\n            opacity: 0;\n            transition: opacity 0.3s, visibility 0.3s;\n            font-size: 0.8rem;\n            font-weight: 500;\n            line-height: 1.5;\n            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);\n            pointer-events: none;\n        }\n\n        .tooltip-text::after {\n            content: \"\";\n            position: absolute;\n            top: 100%;\n            left: 50%;\n            margin-left: -5px;\n            border-width: 5px;\n            border-style: solid;\n            border-color: var(--secondary-color) transparent transparent transparent;\n        }\n\n        .tooltip-container:hover .tooltip-text {\n            visibility: visible;\n            opacity: 1;\n        }\n\n        .input-wrapper {\n            position: relative;\n            display: flex;\n            align-items: center;\n        }\n\n        .input-wrapper input {\n            width: 100%;\n            padding: 0.95rem 1rem 0.95rem 2.75rem;\n            border: 2px solid var(--border-color);\n            border-radius: 10px;\n            background-color: var(--input-bg);\n            font-size: 1rem;\n            color: var(--secondary-color);\n            transition: all 0.3s ease;\n            outline: none;\n            font-family: 'Inter', sans-serif;\n            font-weight: 500;\n        }\n\n        .input-wrapper input[type=\"date\"] {\n            padding-left: 1rem;\n        }\n        \n        .input-wrapper input::placeholder {\n            color: var(--text-muted);\n            font-weight: 400;\n        }\n\n        .input-wrapper input:hover:not(:focus) {\n            border-color: #cbd5e1;\n            background-color: #f8fafc;\n        }\n\n        .input-wrapper input:focus {\n            border-color: var(--primary-color);\n            background-color: white;\n            box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.1);\n            transform: translateY(-1px);\n        }\n\n        .currency-symbol {\n            position: absolute;\n            left: 1rem;\n            color: var(--text-muted);\n            font-weight: 500;\n            pointer-events: none;\n        }\n\n        .btn-calculate {\n            width: 100%;\n            padding: 1.1rem;\n            background: linear-gradient(135deg, var(--secondary-color) 0%, #0f172a 100%);\n            color: white;\n            border: none;\n            border-radius: 10px;\n            font-size: 1rem;\n            font-weight: 700;\n            cursor: pointer;\n            transition: all 0.3s ease;\n            margin-top: 2rem;\n            display: flex;\n            justify-content: center;\n            align-items: center;\n            gap: 0.75rem;\n            position: relative;\n            overflow: hidden;\n        }\n        \n        .btn-calculate::before {\n            content: '';\n            position: absolute;\n            top: 0;\n            left: -100%;\n            width: 100%;\n            height: 100%;\n            background: rgba(255, 255, 255, 0.15);\n            transition: left 0.5s ease;\n        }\n        \n        .btn-calculate svg {\n            transition: transform 0.3s ease;\n        }\n        \n        .btn-calculate:hover {\n            transform: translateY(-2px);\n            box-shadow: 0 15px 20px rgba(30, 41, 59, 0.3);\n        }\n        \n        .btn-calculate:hover::before {\n            left: 100%;\n        }\n        \n        .btn-calculate:hover svg {\n            transform: translateY(-2px);\n            animation: bounce 0.6s ease-in-out;\n        }\n        \n        @keyframes bounce {\n            0%, 100% {\n                transform: translateY(0);\n            }\n            50% {\n                transform: translateY(-4px);\n            }\n        }\n\n        .btn-calculate:active {\n            transform: translateY(0);\n        }\n\n        \/* Result Section *\/\n        .result-section {\n            margin-top: 2rem;\n            padding-top: 1.5rem;\n            border-top: 1px solid var(--border-color);\n            text-align: center;\n            opacity: 0;\n            transform: translateY(10px);\n            transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);\n            display: none;\n        }\n\n        .result-section.visible {\n            opacity: 1;\n            transform: translateY(0);\n            display: block;\n        }\n\n        .result-label {\n            color: var(--text-muted);\n            font-size: 0.75rem;\n            text-transform: uppercase;\n            letter-spacing: 0.1em;\n            font-weight: 700;\n            margin-bottom: 0.75rem;\n        }\n\n        .result-value {\n            font-size: 3rem;\n            font-weight: 900;\n            background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%);\n            -webkit-background-clip: text;\n            -webkit-text-fill-color: transparent;\n            background-clip: text;\n            line-height: 1.1;\n            margin-bottom: 0.75rem;\n        }\n\n        .result-breakdown {\n            font-size: 0.8rem;\n            color: var(--text-muted);\n            margin-bottom: 1.5rem;\n            font-weight: 500;\n        }\n\n        \/* Gr\u00e1fico de Evoluci\u00f3n *\/\n        .evolution-chart {\n            margin-bottom: 2rem;\n            padding: 1.5rem;\n            background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);\n            border-radius: 12px;\n            border: 2px solid var(--border-color);\n            display: none;\n        }\n\n        .evolution-chart.visible {\n            display: block;\n            animation: slideInChart 0.4s ease;\n        }\n\n        @keyframes slideInChart {\n            from {\n                opacity: 0;\n                transform: translateY(-10px);\n            }\n            to {\n                opacity: 1;\n                transform: translateY(0);\n            }\n        }\n\n        .chart-title {\n            font-size: 0.85rem;\n            font-weight: 600;\n            color: var(--text-muted);\n            text-transform: uppercase;\n            letter-spacing: 0.05em;\n            margin-bottom: 1rem;\n        }\n\n        .chart-container {\n            position: relative;\n            height: 200px;\n            margin-bottom: 1rem;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            background: #ffffff;\n            border-radius: 8px;\n            overflow: hidden;\n        }\n\n        canvas {\n            display: block;\n            width: 100% !important;\n            height: 100% !important;\n            max-width: 100%;\n        }\n\n        .chart-legend {\n            display: flex;\n            justify-content: center;\n            gap: 2rem;\n            font-size: 0.8rem;\n            margin-top: 1rem;\n            padding-top: 1rem;\n            border-top: 1px solid var(--border-color);\n        }\n\n        .legend-item {\n            display: flex;\n            align-items: center;\n            gap: 0.5rem;\n        }\n\n        .legend-color {\n            width: 16px;\n            height: 16px;\n            border-radius: 3px;\n        }\n\n        .result-description {\n            margin-bottom: 1.5rem;\n            color: var(--text-main);\n            font-size: 0.9rem;\n            line-height: 1.6;\n            background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);\n            padding: 1.25rem;\n            border-radius: 12px;\n            border-left: 4px solid var(--accent-color);\n            font-weight: 500;\n        }\n\n        .result-description strong {\n            color: #15803d;\n            font-weight: 700;\n        }\n\n        .cta-button {\n            display: inline-block;\n            width: 100%;\n            padding: 1.1rem;\n            background: linear-gradient(135deg, var(--accent-color) 0%, #047857 100%);\n            color: white;\n            text-decoration: none;\n            border-radius: 10px;\n            font-weight: 700;\n            transition: all 0.3s ease;\n            box-sizing: border-box;\n            font-size: 1.05rem;\n            position: relative;\n            overflow: hidden;\n            border: 2px solid transparent;\n        }\n        \n        .cta-button::before {\n            content: '';\n            position: absolute;\n            top: 50%;\n            left: 50%;\n            width: 0;\n            height: 0;\n            background: rgba(255, 255, 255, 0.3);\n            border-radius: 50%;\n            transform: translate(-50%, -50%);\n            transition: width 0.6s, height 0.6s;\n        }\n        \n        .cta-button:hover::before {\n            width: 300px;\n            height: 300px;\n        }\n\n        .cta-button:hover {\n            transform: translateY(-2px);\n            box-shadow: 0 15px 25px rgba(16, 185, 129, 0.3);\n        }\n        \n        .cta-button:active {\n            transform: translateY(0);\n        }\n\n        \/* Info Section Styles *\/\n        .info-section {\n            background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);\n            padding: 2rem;\n            border-radius: 14px;\n            border-left: 5px solid var(--primary-color);\n            box-shadow: var(--shadow-lg);\n        }\n\n        .info-section h3 {\n            margin: 0 0 1.5rem 0;\n            color: var(--secondary-color);\n            font-size: 1.3rem;\n            font-weight: 700;\n            letter-spacing: -0.02em;\n        }\n\n        .info-content {\n            color: var(--text-main);\n            font-size: 0.9rem;\n            line-height: 1.7;\n        }\n\n        .info-content p {\n            margin: 0 0 1rem 0;\n            font-weight: 500;\n        }\n\n        .info-content strong {\n            color: var(--primary-color);\n            font-weight: 700;\n        }\n        \n        .info-content ul {\n            margin: 0.5rem 0;\n            padding-left: 1.5rem;\n        }\n        \n        .info-content li {\n            margin-bottom: 0.5rem;\n            color: var(--text-main);\n\t\t\tfont-weight: normal;\n        }\n\n        \/* Secciones Colapsables *\/\n        .collapsible-section {\n            background: linear-gradient(135deg, #cbd5e1 0%, #a8b5c4 100%);\n            border: 2px solid var(--primary-color);\n            border-radius: 10px;\n            margin: 1.25rem 0;\n            overflow: hidden;\n            transition: all 0.3s ease;\n        }\n\n        .collapsible-header {\n            padding: 1.25rem;\n            background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%);\n            color: white;\n            font-weight: 700;\n            font-size: 0.95rem;\n            cursor: pointer;\n            display: flex;\n            justify-content: space-between;\n            align-items: center;\n            transition: all 0.3s ease;\n            user-select: none;\n        }\n\n        .collapsible-header:hover {\n            padding-left: 1.5rem;\n            box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1);\n        }\n\n        .collapsible-header::after {\n            content: '\u25bc';\n            display: inline-block;\n            transition: transform 0.3s ease;\n            font-size: 0.8rem;\n        }\n\n        .collapsible-section.collapsed .collapsible-header::after {\n            transform: rotate(-90deg);\n        }\n\n        .collapsible-content {\n            padding: 1.25rem;\n            background: linear-gradient(135deg, #cbd5e1 0%, #a8b5c4 100%);\n            color: #ffffff;\n            font-size: 0.85rem;\n            max-height: 500px;\n            overflow: hidden;\n            transition: all 0.3s ease;\n        }\n\n        .collapsible-section.collapsed .collapsible-content {\n            max-height: 0;\n            padding: 0 1.25rem;\n            overflow: hidden;\n        }\n\n        .collapsible-content h4 {\n            margin: 0 0 0.75rem 0;\n            color: #0E3C4D;\n            font-weight: 700;\n            font-size: 0.95rem;\n        }\n\n        .collapsible-content ul {\n            margin: 0;\n            padding-left: 1.5rem;\n        }\n\n        .collapsible-content li {\n            margin-bottom: 0.5rem;\n            color: #0E3C4D;\n            font-weight: 500;\n        }\n\n        .claim-info {\n            background: linear-gradient(135deg, #cbd5e1 0%, #a8b5c4 100%);\n            border: 2px solid var(--primary-color);\n            border-radius: 10px;\n            padding: 1.25rem;\n            margin: 1.25rem 0;\n            font-size: 0.85rem;\n            transition: all 0.3s ease;\n        }\n        \n        .claim-info:hover {\n            box-shadow: 0 8px 15px rgba(8, 60, 63, 0.2);\n            transform: translateY(-2px);\n        }\n\n        .claim-info h4 {\n            margin: 0 0 0.75rem 0;\n            color: #ffffff;\n            font-weight: 700;\n            font-size: 0.95rem;\n        }\n\n        .claim-info ul {\n            margin: 0;\n            padding-left: 1.5rem;\n        }\n\n        .claim-info li {\n            margin-bottom: 0.5rem;\n            color: #ffffff;\n            font-weight: 500;\n        }\n\n        .date-based-alert {\n            background: linear-gradient(135deg, #dcfce7 0%, #bbf7d0 100%);\n            border: 2px solid #22c55e;\n            border-radius: 10px;\n            padding: 1.25rem;\n            margin-top: 1.5rem;\n            font-size: 0.9rem;\n            color: #166534;\n            transition: all 0.3s ease;\n            animation: slideInAlert 0.4s ease;\n        }\n        \n        @keyframes slideInAlert {\n            from {\n                opacity: 0;\n                transform: translateY(-10px);\n            }\n            to {\n                opacity: 1;\n                transform: translateY(0);\n            }\n        }\n        \n        .date-based-alert:hover {\n            box-shadow: 0 8px 15px rgba(34, 197, 94, 0.15);\n            transform: translateY(-2px);\n        }\n\n        .date-based-alert.warning {\n            background: linear-gradient(135deg, #fee2e2 0%, #fecaca 100%);\n            border-color: #ef4444;\n            color: #991b1b;\n        }\n        \n        .date-based-alert.warning:hover {\n            box-shadow: 0 8px 15px rgba(239, 68, 68, 0.15);\n        }\n\n        .date-based-alert h4 {\n            margin: 0 0 0.75rem 0;\n            font-weight: 700;\n            font-size: 0.95rem;\n        }\n\n        .date-based-alert ul {\n            margin: 0;\n            padding-left: 1.5rem;\n        }\n\n        .date-based-alert li {\n            margin-bottom: 0.5rem;\n            font-weight: 500;\n        }\n\n        @media (max-width: 1024px) {\n            .container {\n                grid-template-columns: 1fr;\n                gap: 2rem;\n            }\n            \n            .calculator-column {\n                justify-content: start;\n            }\n        }\n\n        @media (max-width: 640px) {\n            .container {\n                gap: 1.5rem;\n            }\n            \n            .calculator-widget {\n                max-width: 100%;\n                border-radius: 16px;\n            }\n            \n            .widget-body {\n                padding: 2rem 1.5rem;\n            }\n            \n            .widget-header {\n                padding: 2rem 1.5rem;\n            }\n            \n            .widget-header h2 {\n                font-size: 1.5rem;\n            }\n            \n            .result-value {\n                font-size: 2.25rem;\n            }\n            \n            .info-section {\n                padding: 1.5rem;\n            }\n        }\n        \n        @media (max-width: 480px) {\n            body {\n                padding: 1rem 0.5rem;\n            }\n            \n            .container {\n                gap: 1rem;\n            }\n            \n            .widget-body {\n                padding: 1.5rem 1rem;\n            }\n            \n            .widget-header {\n                padding: 1.75rem 1rem;\n            }\n            \n            .widget-header h2 {\n                font-size: 1.25rem;\n            }\n            \n            .widget-header p {\n                font-size: 0.85rem;\n            }\n            \n            .result-value {\n                font-size: 2rem;\n            }\n            \n            .info-section {\n                padding: 1.25rem;\n            }\n            \n            .info-section h3 {\n                font-size: 1rem;\n            }\n            \n            .form-group label {\n                font-size: 0.75rem;\n            }\n        }\n    <\/style>\n\n    <script>\n        const INTERESES_LEGALES = {\n        1995: 9.00, 1996: 9.00, 1997: 7.50, 1998: 5.50, 1999: 4.25,\n        2000: 4.25, 2001: 5.50, 2002: 4.25, 2003: 4.25, 2004: 3.75,\n        2005: 4.00, 2006: 4.00, 2007: 5.00, 2008: 5.50, 2009: 4.00,\n        2010: 4.00, 2011: 4.00, 2012: 4.00, 2013: 4.00, 2014: 4.00,\n        2015: 3.50, 2016: 3.00, 2017: 3.00, 2018: 3.00, 2019: 3.00,\n        2020: 3.00, 2021: 3.00, 2022: 3.00, 2023: 3.25, 2024: 3.25,\n        2025: 3.25\n    };\n\n    function calcularTotal() {\n        \/\/ Ocultar la secci\u00f3n de alerta por fecha\n        const dateAlert = document.getElementById('dateAlert');\n        if (dateAlert) {\n            dateAlert.style.display = 'none';\n        }\n        \n        \/\/ Obtener valores\n        const notario = parseFloat(document.getElementById('importeNotario').value) || 0;\n        const tasador = parseFloat(document.getElementById('importeTasador').value) || 0;\n        const gestion = parseFloat(document.getElementById('importeGestion').value) || 0;\n        const registro = parseFloat(document.getElementById('importeRegistro').value) || 0;\n        const iajd = parseFloat(document.getElementById('importeIAJD').value) || 0;\n        const fechaPagoInput = document.getElementById('fechaPago').value;\n\n        \/\/ Determinar qu\u00e9 gastos se pueden reclamar seg\u00fan la fecha\n        const {principal, detalles} = calcularPrincipalSegunFecha(\n            notario, tasador, gestion, registro, iajd, fechaPagoInput\n        );\n\n        let total = principal;\n        let intereses = 0;\n\n        if (fechaPagoInput && principal > 0) {\n            intereses = calcularInteresesLegales(principal, fechaPagoInput);\n            total += intereses;\n            \n            \/\/ Mostrar alerta seg\u00fan la fecha\n            mostrarAlertaPorFecha(fechaPagoInput);\n        }\n\n        \/\/ Mostrar resultado con animaci\u00f3n\n        const resultSection = document.getElementById('resultSection');\n        const resultValue = document.getElementById('resultadoFinal');\n        const breakdown = document.getElementById('desgloseIntereses');\n        \n        \/\/ Actualizar desglose\n        let textoDesglose = detalles;\n        if (intereses > 0) {\n            textoDesglose += ` + Intereses: ${intereses.toLocaleString('es-ES', {minimumFractionDigits: 2})} \u20ac`;\n        }\n        breakdown.textContent = `(${textoDesglose})`;\n\n        \/\/ Redondear hacia arriba el total\n        const totalRedondeado = Math.ceil(total);\n\n        \/\/ Si ya es visible, solo actualizamos el n\u00famero\n        if (resultSection.classList.contains('visible')) {\n            animateValue(resultValue, parseCurrency(resultValue.textContent), totalRedondeado, 500);\n        } else {\n            resultSection.classList.add('visible');\n            animateValue(resultValue, 0, totalRedondeado, 1000);\n        }\n    }\n\n    function calcularPrincipalSegunFecha(notario, tasador, gestion, registro, iajd, fechaStr) {\n        if (!fechaStr) {\n            \/\/ Si no hay fecha, usar la f\u00f3rmula antigua (antes de 2019)\n            const principal = (notario * 0.5) + tasador + gestion + registro;\n            return {\n                principal: principal,\n                detalles: `Principal: ${principal.toLocaleString('es-ES', {minimumFractionDigits: 2})} \u20ac`\n            };\n        }\n\n        const fecha = new Date(fechaStr);\n        const year = fecha.getFullYear();\n        const mes = fecha.getMonth() + 1;\n        const dia = fecha.getDate();\n\n        \/\/ ANTES DE 16 DE JUNIO 2019\n        if (year < 2019 || (year === 2019 && mes < 6) || (year === 2019 && mes === 6 && dia < 16)) {\n            \/\/ Puede reclamar: 50% notario + tasador + gestion + registro\n            const principal = (notario * 0.5) + tasador + gestion + registro;\n            const detalles = `\n                Notario 50%: ${(notario * 0.5).toLocaleString('es-ES', {minimumFractionDigits: 2})} \u20ac + \n                Tasador: ${tasador.toLocaleString('es-ES', {minimumFractionDigits: 2})} \u20ac + \n                Gesti\u00f3n: ${gestion.toLocaleString('es-ES', {minimumFractionDigits: 2})} \u20ac + \n                Registro: ${registro.toLocaleString('es-ES', {minimumFractionDigits: 2})} \u20ac`;\n            \n            return {\n                principal: principal,\n                detalles: detalles\n            };\n        }\n        \/\/ A PARTIR DE 16 DE JUNIO 2019\n        else {\n            \/\/ Puede reclamar tasaci\u00f3n + IAJD si el banco se los cobr\u00f3\n            const principal = tasador + iajd;\n            const detalles = `Tasaci\u00f3n: ${tasador.toLocaleString('es-ES', {minimumFractionDigits: 2})} \u20ac + IAJD: ${iajd.toLocaleString('es-ES', {minimumFractionDigits: 2})} \u20ac`;\n            \n            return {\n                principal: principal,\n                detalles: detalles\n            };\n        }\n    }\n\n    function mostrarAlertaPorFecha(fechaStr) {\n        const fecha = new Date(fechaStr);\n        const year = fecha.getFullYear();\n        const mes = fecha.getMonth() + 1; \/\/ getMonth() devuelve 0-11\n        const dia = fecha.getDate();\n        const alertDiv = document.getElementById('dateAlert');\n        const iajdField = document.getElementById('iajdField');\n        const sectionBefore = document.getElementById('section-before');\n        const sectionAfter = document.getElementById('section-after');\n\n        let htmlAlert = '';\n\n        \/\/ Antes de 16 de junio 2019\n        if (year < 2019 || (year === 2019 && mes < 6) || (year === 2019 && mes === 6 && dia < 16)) {\n            \/\/ Ocultar campo IAJD\n            iajdField.style.display = 'none';\n            \n            \/\/ Expandir secci\u00f3n ANTES y contraer DESPU\u00c9S\n            if (sectionBefore) sectionBefore.classList.remove('collapsed');\n            if (sectionAfter) sectionAfter.classList.add('collapsed');\n            \n            htmlAlert = `\n                <div class=\"date-based-alert\">\n                    <h4>\u2705 Hipotecas firmadas antes de 2019<\/h4>\n                    <p><strong>El banco deb\u00eda pagar:<\/strong><\/p>\n                    <ul>\n                        <li>Registro de la propiedad<\/li>\n                        <li>Gestor\u00eda<\/li>\n                        <li>Tasaci\u00f3n<\/li>\n                        <li>50% de notar\u00eda<\/li>\n                    <\/ul>\n                    <p style=\"margin-top: 1rem;\"><strong>El cliente solo deb\u00eda pagar:<\/strong><\/p>\n                    <ul>\n                        <li>El otro 50% de notar\u00eda<\/li>\n                        <li>El Impuesto de Actos Jur\u00eddicos Documentados (IAJD)<\/li>\n                    <\/ul>\n                    <p style=\"margin-top: 1rem; font-weight: 600;\">Por tanto, si firmaste antes de 2019 y asumiste todos los gastos, puedes reclamar casi la totalidad.<\/p>\n                <\/div>\n            `;\n        } \n        \/\/ A partir de 16 de junio 2019\n        else if (year > 2019 || (year === 2019 && mes > 6) || (year === 2019 && mes === 6 && dia >= 16)) {\n            \/\/ Mostrar campo IAJD\n            iajdField.style.display = 'block';\n            \n            \/\/ Expandir secci\u00f3n DESPU\u00c9S y contraer ANTES\n            if (sectionAfter) sectionAfter.classList.remove('collapsed');\n            if (sectionBefore) sectionBefore.classList.add('collapsed');\n            \n            htmlAlert = `\n                <div class=\"date-based-alert warning\">\n                    <h4>\u26a0\ufe0f Hipotecas firmadas a partir de marzo de 2019<\/h4>\n                    <p style=\"font-weight: 600; margin-bottom: 0.75rem;\">Con la entrada en vigor de la Ley de Contratos de Cr\u00e9dito Inmobiliario, el reparto cambi\u00f3:<\/p>\n                    <p><strong>El banco paga:<\/strong><\/p>\n                    <ul>\n                        <li>IAJD<\/li>\n                        <li>Notar\u00eda (salvo copias)<\/li>\n                        <li>Registro<\/li>\n                        <li>Gestor\u00eda<\/li>\n                    <\/ul>\n                    <p style=\"margin-top: 1rem;\"><strong>El cliente solo paga:<\/strong><\/p>\n                    <ul>\n                        <li>Tasaci\u00f3n<\/li>\n                    <\/ul>\n                    <p style=\"margin-top: 1rem; font-weight: 600;\">Esto significa que, en hipotecas recientes, solo podr\u00edas reclamar si el banco te carg\u00f3 indebidamente alguno de estos gastos.<\/p>\n                <\/div>\n            `;\n        }\n\n        alertDiv.innerHTML = '';\n    }\n\n    function calcularInteresesLegales(principal, fechaInicioStr) {\n        let fechaActual = new Date(fechaInicioStr);\n        const fechaFin = new Date(); \/\/ Hoy\n        let totalIntereses = 0;\n\n        \/\/ Normalizar fechas a mediod\u00eda para evitar problemas de zona horaria\n        fechaActual.setHours(12, 0, 0, 0);\n        fechaFin.setHours(12, 0, 0, 0);\n\n        if (fechaActual > fechaFin) return 0;\n\n        while (fechaActual < fechaFin) {\n            const year = fechaActual.getFullYear();\n            const interesAnual = INTERESES_LEGALES[year] || 3.25; \/\/ Default al \u00faltimo conocido si no existe\n            \n            \/\/ Determinar el fin de este periodo (fin de a\u00f1o o fecha final)\n            let finPeriodo = new Date(year, 11, 31, 12, 0, 0);\n            if (finPeriodo > fechaFin) {\n                finPeriodo = new Date(fechaFin);\n            }\n\n            \/\/ Calcular d\u00edas en este periodo\n            \/\/ Diferencia en milisegundos\n            const diffTime = finPeriodo - fechaActual;\n            \/\/ Convertir a d\u00edas (a\u00f1adimos 1 si queremos incluir el d\u00eda final, pero en intereses financieros suele ser por d\u00edas transcurridos)\n            \/\/ La f\u00f3rmula dada es: cuantia + (numero de dias del a\u00f1o de cada periodo\/365 * intereslegal * cuantia)\n            \/\/ Usaremos Math.round para d\u00edas enteros\n            let dias = Math.round(diffTime \/ (1000 * 60 * 60 * 24));\n            \n            \/\/ Ajuste para el primer d\u00eda si es necesario, pero diffTime ya da la diferencia.\n            \/\/ Si fechaActual es 31-Dic y finPeriodo es 31-Dic, diff es 0.\n            \/\/ Avanzamos al menos 1 d\u00eda si las fechas son distintas al inicio del bucle.\n            if (dias < 0) dias = 0;\n\n            \/\/ Calcular inter\u00e9s del periodo\n            \/\/ F\u00f3rmula: (dias \/ 365) * (interes \/ 100) * principal\n            const interesPeriodo = (dias \/ 365) * (interesAnual \/ 100) * principal;\n            totalIntereses += interesPeriodo;\n\n            \/\/ Avanzar fechaActual al d\u00eda siguiente del fin de periodo\n            fechaActual = new Date(finPeriodo);\n            fechaActual.setDate(fechaActual.getDate() + 1);\n        }\n\n        return totalIntereses;\n    }\n\n    \/\/ Funci\u00f3n auxiliar para animar el conteo num\u00e9rico\n    function animateValue(obj, start, end, duration) {\n        let startTimestamp = null;\n        const step = (timestamp) => {\n            if (!startTimestamp) startTimestamp = timestamp;\n            const progress = Math.min((timestamp - startTimestamp) \/ duration, 1);\n            const currentVal = progress * (end - start) + start;\n            \n            obj.innerHTML = currentVal.toLocaleString('es-ES', { \n                minimumFractionDigits: 2, \n                maximumFractionDigits: 2 \n            }) + ' <span style=\"font-size: 0.6em; vertical-align: super;\">\u20ac<\/span>';\n            \n            if (progress < 1) {\n                window.requestAnimationFrame(step);\n            }\n        };\n        window.requestAnimationFrame(step);\n    }\n\n    \/\/ Helper para obtener valor num\u00e9rico de string formateado\n    function parseCurrency(str) {\n        return parseFloat(str.replace(\/[^\\d,-]\/g, '').replace(',', '.')) || 0;\n    }\n\n    \/\/ Agregar funcionalidad a los headers colapsables\n    document.querySelectorAll('.collapsible-header').forEach(header => {\n        header.addEventListener('click', function() {\n            const section = this.parentElement;\n            section.classList.toggle('collapsed');\n        });\n    });\n    \n    \/\/ A\u00f1adir listener para calcular al presionar Enter en los inputs\n    document.querySelectorAll('input').forEach(input => {\n        input.addEventListener('keypress', function (e) {\n            if (e.key === 'Enter') {\n                calcularTotal();\n            }\n        });\n        \n        \/\/ Agregar validaci\u00f3n en tiempo real para campos de fecha\n        if (input.type === 'date') {\n            input.addEventListener('change', function() {\n                mostrarAlertaPorFecha(this.value);\n            });\n        }\n    });\n    \n    \/\/ Agregar efecto visual al pasar el mouse sobre tarjetas\n    document.querySelectorAll('.claim-info, .date-based-alert').forEach(card => {\n        card.addEventListener('mouseenter', function() {\n            this.style.transition = 'all 0.3s ease';\n        });\n    });\n    <\/script>\n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-2489","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Calculadora de gastos hipotecarios - R\u00faa Abogados<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/ruaabogados.es\/en\/calculadora-gastos-hipotecarios\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Calculadora de gastos hipotecarios - R\u00faa Abogados\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ruaabogados.es\/en\/calculadora-gastos-hipotecarios\/\" \/>\n<meta property=\"og:site_name\" content=\"R\u00faa Abogados\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-02T16:46:39+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/ruaabogados.es\/calculadora-gastos-hipotecarios\/\",\"url\":\"https:\/\/ruaabogados.es\/calculadora-gastos-hipotecarios\/\",\"name\":\"Calculadora de gastos hipotecarios - R\u00faa Abogados\",\"isPartOf\":{\"@id\":\"https:\/\/ruaabogados.es\/#website\"},\"datePublished\":\"2025-12-01T10:28:29+00:00\",\"dateModified\":\"2025-12-02T16:46:39+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/ruaabogados.es\/calculadora-gastos-hipotecarios\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/ruaabogados.es\/calculadora-gastos-hipotecarios\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/ruaabogados.es\/calculadora-gastos-hipotecarios\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/ruaabogados.es\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Calculadora de gastos hipotecarios\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/ruaabogados.es\/#website\",\"url\":\"https:\/\/ruaabogados.es\/\",\"name\":\"R\u00faa Abogados\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/ruaabogados.es\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/ruaabogados.es\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/ruaabogados.es\/#organization\",\"name\":\"R\u00faa Abogados\",\"url\":\"https:\/\/ruaabogados.es\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/ruaabogados.es\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/ruaabogados.es\/wp-content\/uploads\/logo-rua.png\",\"contentUrl\":\"https:\/\/ruaabogados.es\/wp-content\/uploads\/logo-rua.png\",\"width\":976,\"height\":729,\"caption\":\"R\u00faa Abogados\"},\"image\":{\"@id\":\"https:\/\/ruaabogados.es\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Mortgage expense calculator - R\u00faa Abogados","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/ruaabogados.es\/en\/calculadora-gastos-hipotecarios\/","og_locale":"en_GB","og_type":"article","og_title":"Calculadora de gastos hipotecarios - R\u00faa Abogados","og_url":"https:\/\/ruaabogados.es\/en\/calculadora-gastos-hipotecarios\/","og_site_name":"R\u00faa Abogados","article_modified_time":"2025-12-02T16:46:39+00:00","twitter_card":"summary_large_image","twitter_misc":{"Estimated reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/ruaabogados.es\/calculadora-gastos-hipotecarios\/","url":"https:\/\/ruaabogados.es\/calculadora-gastos-hipotecarios\/","name":"Mortgage expense calculator - R\u00faa Abogados","isPartOf":{"@id":"https:\/\/ruaabogados.es\/#website"},"datePublished":"2025-12-01T10:28:29+00:00","dateModified":"2025-12-02T16:46:39+00:00","breadcrumb":{"@id":"https:\/\/ruaabogados.es\/calculadora-gastos-hipotecarios\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ruaabogados.es\/calculadora-gastos-hipotecarios\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/ruaabogados.es\/calculadora-gastos-hipotecarios\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/ruaabogados.es\/"},{"@type":"ListItem","position":2,"name":"Calculadora de gastos hipotecarios"}]},{"@type":"WebSite","@id":"https:\/\/ruaabogados.es\/#website","url":"https:\/\/ruaabogados.es\/","name":"R\u00faa Abogados","description":"","publisher":{"@id":"https:\/\/ruaabogados.es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ruaabogados.es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Organization","@id":"https:\/\/ruaabogados.es\/#organization","name":"R\u00faa Abogados","url":"https:\/\/ruaabogados.es\/","logo":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/ruaabogados.es\/#\/schema\/logo\/image\/","url":"https:\/\/ruaabogados.es\/wp-content\/uploads\/logo-rua.png","contentUrl":"https:\/\/ruaabogados.es\/wp-content\/uploads\/logo-rua.png","width":976,"height":729,"caption":"R\u00faa Abogados"},"image":{"@id":"https:\/\/ruaabogados.es\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/ruaabogados.es\/en\/wp-json\/wp\/v2\/pages\/2489","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ruaabogados.es\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ruaabogados.es\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ruaabogados.es\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ruaabogados.es\/en\/wp-json\/wp\/v2\/comments?post=2489"}],"version-history":[{"count":21,"href":"https:\/\/ruaabogados.es\/en\/wp-json\/wp\/v2\/pages\/2489\/revisions"}],"predecessor-version":[{"id":2619,"href":"https:\/\/ruaabogados.es\/en\/wp-json\/wp\/v2\/pages\/2489\/revisions\/2619"}],"wp:attachment":[{"href":"https:\/\/ruaabogados.es\/en\/wp-json\/wp\/v2\/media?parent=2489"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}