{"id":20138,"date":"2026-06-19T12:24:42","date_gmt":"2026-06-19T11:24:42","guid":{"rendered":"https:\/\/busy-goldstine.212-227-153-4.plesk.page\/property-calculator"},"modified":"2026-07-02T09:44:58","modified_gmt":"2026-07-02T08:44:58","slug":"property-calculator","status":"publish","type":"page","link":"https:\/\/busy-goldstine.212-227-153-4.plesk.page\/da\/property-calculator","title":{"rendered":"Ejendom Beregner"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"20138\" class=\"elementor elementor-20138 elementor-17477\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-95f7c5e e-con-full e-flex e-con e-parent\" data-id=\"95f7c5e\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t<div class=\"elementor-element elementor-element-18b801d e-con-full empty-boxes e-flex e-con e-child\" data-id=\"18b801d\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a4cce64 e-con-full e-flex e-con e-child\" data-id=\"a4cce64\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-64e9863 elementor-widget-mobile__width-inherit elementor-widget elementor-widget-heading\" data-id=\"64e9863\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation_mobile&quot;:&quot;none&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Ekspertr\u00e5dgivning om k\u00f8b, salg og spanske <span class=\"rebekka_style\">love<\/span><\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-24b4fac e-con-full empty-boxes e-flex e-con e-child\" data-id=\"24b4fac\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-0dd5328 e-con-full e-flex e-con e-parent\" data-id=\"0dd5328\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t<div class=\"elementor-element elementor-element-2dc738d e-con-full empty-boxes e-flex e-con e-child\" data-id=\"2dc738d\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-fcffcfc e-con-full e-flex e-con e-child\" data-id=\"fcffcfc\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-dc63fbe elementor-nav-menu--dropdown-none main-menu elementor-widget elementor-widget-nav-menu\" data-id=\"dc63fbe\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;layout&quot;:&quot;horizontal&quot;,&quot;submenu_icon&quot;:{&quot;value&quot;:&quot;&lt;svg aria-hidden=\\&quot;true\\&quot; class=\\&quot;e-font-icon-svg e-fas-caret-down\\&quot; viewBox=\\&quot;0 0 320 512\\&quot; xmlns=\\&quot;http:\\\/\\\/www.w3.org\\\/2000\\\/svg\\&quot;&gt;&lt;path d=\\&quot;M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z\\&quot;&gt;&lt;\\\/path&gt;&lt;\\\/svg&gt;&quot;,&quot;library&quot;:&quot;fa-solid&quot;}}\" data-widget_type=\"nav-menu.default\">\n\t\t\t\t\t\t\t\t<nav aria-label=\"Menu\" class=\"elementor-nav-menu--main elementor-nav-menu__container elementor-nav-menu--layout-horizontal e--pointer-background e--animation-fade\">\n\t\t\t\t<ul id=\"menu-1-dc63fbe\" class=\"elementor-nav-menu\"><li class=\"menu-item menu-item-type-taxonomy menu-item-object-guide-topic menu-item-16201\"><a href=\"https:\/\/busy-goldstine.212-227-153-4.plesk.page\/da\/topic\/buying-guide\" class=\"elementor-item\">Buying Guide<\/a><\/li>\n<li class=\"menu-item menu-item-type-taxonomy menu-item-object-guide-topic menu-item-9454\"><a href=\"https:\/\/busy-goldstine.212-227-153-4.plesk.page\/da\/topic\/selling-guide\" class=\"elementor-item\">Selling Guide<\/a><\/li>\n<li class=\"menu-item menu-item-type-taxonomy menu-item-object-guide-topic menu-item-9452\"><a href=\"https:\/\/busy-goldstine.212-227-153-4.plesk.page\/da\/topic\/legal-guide\" class=\"elementor-item\">Legal Guide<\/a><\/li>\n<li class=\"menu-item menu-item-type-taxonomy menu-item-object-guide-topic menu-item-9451\"><a href=\"https:\/\/busy-goldstine.212-227-153-4.plesk.page\/da\/topic\/finance-guide\" class=\"elementor-item\">Finance Guide<\/a><\/li>\n<li class=\"menu-item menu-item-type-taxonomy menu-item-object-guide-topic menu-item-9449\"><a href=\"https:\/\/busy-goldstine.212-227-153-4.plesk.page\/da\/topic\/area-guide\" class=\"elementor-item\">Area Guide<\/a><\/li>\n<li class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-9455\"><a href=\"https:\/\/busy-goldstine.212-227-153-4.plesk.page\/blog\" class=\"elementor-item\">Blogs<\/a><\/li>\n<li class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-9420\"><a href=\"https:\/\/busy-goldstine.212-227-153-4.plesk.page\/property-calculator\" class=\"elementor-item\">Property Calculator<\/a><\/li>\n<\/ul>\t\t\t<\/nav>\n\t\t\t\t\t\t<nav class=\"elementor-nav-menu--dropdown elementor-nav-menu__container\" aria-hidden=\"true\">\n\t\t\t\t<ul id=\"menu-2-dc63fbe\" class=\"elementor-nav-menu\"><li class=\"menu-item menu-item-type-taxonomy menu-item-object-guide-topic menu-item-16201\"><a href=\"https:\/\/busy-goldstine.212-227-153-4.plesk.page\/da\/topic\/buying-guide\" class=\"elementor-item\" tabindex=\"-1\">Buying Guide<\/a><\/li>\n<li class=\"menu-item menu-item-type-taxonomy menu-item-object-guide-topic menu-item-9454\"><a href=\"https:\/\/busy-goldstine.212-227-153-4.plesk.page\/da\/topic\/selling-guide\" class=\"elementor-item\" tabindex=\"-1\">Selling Guide<\/a><\/li>\n<li class=\"menu-item menu-item-type-taxonomy menu-item-object-guide-topic menu-item-9452\"><a href=\"https:\/\/busy-goldstine.212-227-153-4.plesk.page\/da\/topic\/legal-guide\" class=\"elementor-item\" tabindex=\"-1\">Legal Guide<\/a><\/li>\n<li class=\"menu-item menu-item-type-taxonomy menu-item-object-guide-topic menu-item-9451\"><a href=\"https:\/\/busy-goldstine.212-227-153-4.plesk.page\/da\/topic\/finance-guide\" class=\"elementor-item\" tabindex=\"-1\">Finance Guide<\/a><\/li>\n<li class=\"menu-item menu-item-type-taxonomy menu-item-object-guide-topic menu-item-9449\"><a href=\"https:\/\/busy-goldstine.212-227-153-4.plesk.page\/da\/topic\/area-guide\" class=\"elementor-item\" tabindex=\"-1\">Area Guide<\/a><\/li>\n<li class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-9455\"><a href=\"https:\/\/busy-goldstine.212-227-153-4.plesk.page\/blog\" class=\"elementor-item\" tabindex=\"-1\">Blogs<\/a><\/li>\n<li class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-9420\"><a href=\"https:\/\/busy-goldstine.212-227-153-4.plesk.page\/property-calculator\" class=\"elementor-item\" tabindex=\"-1\">Property Calculator<\/a><\/li>\n<\/ul>\t\t\t<\/nav>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-be74d8c e-con-full empty-boxes e-flex e-con e-child\" data-id=\"be74d8c\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8d65d55 e-con-full e-flex e-con e-parent\" data-id=\"8d65d55\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t<div class=\"elementor-element elementor-element-f2ec262 e-con-full empty-boxes e-flex e-con e-child\" data-id=\"f2ec262\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1020bc7 e-con-full e-flex e-con e-child\" data-id=\"1020bc7\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1a18fc7 elementor-widget elementor-widget-html\" data-id=\"1a18fc7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"mojoTC\">\r\n  <div class=\"tc-card\" id=\"tc_card\">\r\n\r\n    <div class=\"tc-head\">\r\n      <h2>Beregner for ejendomsomkostninger, skat og afkast <span class=\"tc-script\">beregner<\/span><\/h2>\r\n      <p class=\"tc-sub\">Beregn de reelle omkostninger, skatter og afkast efter skat ved k\u00f8b, ejerskab, udlejning, salg, finansiering og medejerskab af ejendomme p\u00e5 Costa del Sol og Mallorca. Det g\u00e5r hurtigt og er gratis at bruge. <\/p>\r\n      <p class=\"tc-sub2\">Alle spanske skatter p\u00e5 \u00e9t sted \u2014 <strong>ITP, IBI, skat for ikke-hjemmeh\u00f8rende, kapitalgevinster & den s\u00e5kaldte dual-method plusval\u00eda<\/strong> \u2014 plus din <strong>hjemlandets skat<\/strong> og fuld <strong>f\u00f8r - og efter-skat ROI<\/strong>, uanset om du er en k\u00f8ber, ejer, s\u00e6lger eller Mojo Sharing medejer .<\/p>\r\n      <div class=\"tc-badges\">\r\n        <span class=\"tc-badge\"><b>4<\/b> k\u00f8ber rejser<\/span>\r\n<span class=\"tc-badge\"><b>7<\/b> beregnere<\/span>\r\n<span class=\"tc-badge\"><b>20+<\/b> spansk skatter & omkostninger<\/span>\r\n<span class=\"tc-badge\"><b>17<\/b> kommuner<\/span>\r\n<span class=\"tc-badge\"><b> \u2713<\/b> afkast f\u00f8r og efter skat<\/span>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"tc-tophead\">\r\n      <div class=\"tc-stephead\"><span class=\"tc-num\">1<\/span>Hvor er du i din rejse?<\/div>\r\n      <button type=\"button\" class=\"tc-reset\" id=\"resetBtn\">Nulstil alle felter<\/button>\r\n    <\/div>\r\n    <div class=\"tc-pcards\" id=\"tcPersona\">\r\n      <button type=\"button\" class=\"tc-pcard is-on\" data-persona=\"buyer\">\r\n        <svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.7\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M4 12 12 5l8 7\"><\/path><path d=\"M6 11v9h12v-9\"><\/path><\/svg>\r\n        <span class=\"tc-pc-t\">Jeg k\u00f8ber<\/span>\r\n<span class=\"tc-pc-s\">K\u00f8bsomkostninger, driftsomkostninger, realkreditl\u00e5n, lejeindt\u00e6gter, skat og afkast<\/span>\r\n      <\/button>\r\n      <button type=\"button\" class=\"tc-pcard\" data-persona=\"sell\">\r\n        <svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.7\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M3 7h11l6 6-7 7-6-6V7z\"><\/path><circle cx=\"8.5\" cy=\"11.5\" r=\"1.4\"><\/circle><\/svg>\r\n        <span class=\"tc-pc-t\">Jeg vil gerne s\u00e6lge<\/span>\r\n<span class=\"tc-pc-s\">Kapitalgevinstskat, plusval\u00eda og nettoprovenu<\/span>\r\n      <\/button>\r\n      <button type=\"button\" class=\"tc-pcard\" data-persona=\"rentout\">\r\n        <svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.7\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"8\" cy=\"9\" r=\"4\"><\/circle><path d=\"M11 12l8 8M16 17l2 2M14 19l2 2\"><\/path><\/svg>\r\n        <span class=\"tc-pc-t\">Jeg vil gerne udleje<\/span>\r\n<span class=\"tc-pc-s\">Lejeindt\u00e6gter, driftsomkostninger, skat og afkast<\/span>\r\n      <\/button>\r\n      <button type=\"button\" class=\"tc-pcard\" data-persona=\"coowner\">\r\n        <svg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.7\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"9\" cy=\"9\" r=\"3\"><\/circle><circle cx=\"16.5\" cy=\"10\" r=\"2.3\"><\/circle><path d=\"M4 19c0-3 2.5-5 5-5s5 2 5 5\"><\/path><path d=\"M14.5 19c0-2 .8-3.2 2-3.6\"><\/path><\/svg>\r\n        <span class=\"tc-pc-t\">Medejer af Mojo Sharing<\/span>\r\n<span class=\"tc-pc-s\">\u00d8konomi ved medejerskab og tilg\u00e6ngelighedsafgift<\/span>\r\n      <\/button>\r\n    <\/div>\r\n\r\n    <div class=\"tc-region\" id=\"tcRegionWrap\">\r\n      <span class=\"tc-region-label\">Region<\/span>\r\n      <div class=\"tc-seg\" id=\"tcRegion\">\r\n        <button type=\"button\" class=\"tc-seg-btn is-on\" data-region=\"AND\">Andaluc\u00eda<\/button>\r\n<button type=\"button\" class=\"tc-seg-btn\" data-region=\"BAL\">Balearics \u00b7 Mallorca<\/button>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"tc-stephead\" id=\"tcJourneyHead\"><span class=\"tc-num\">2<\/span>Din k\u00f8bsrejse rejse<\/div>\r\n    <div class=\"tc-steprail\" id=\"tcSteps\"><\/div>\r\n\r\n    <!-- BUYING -->\r\n    <section class=\"tc-panel\" data-panel=\"buy\">\r\n      <h3 class=\"tc-ptitle\">Hvad det koster at k\u00f8be fast ejendom i Spanien \u2014 skatter og gebyrer ud over k\u00f8bsprisen<\/h3>\r\n      <div class=\"tc-grid\">\r\n        <div class=\"tc-field\"><label>K\u00f8bspris (\u20ac)<\/label><input type=\"text\" inputmode=\"numeric\" class=\"tc-money tc-link-price\" id=\"b_price\" value=\"650.000\"><\/div>\r\n        <div class=\"tc-field\"><label>Ejendomstype<\/label><select id=\"b_type\">\r\n          <option value=\"resale\">Brugt (andenh\u00e5nds)<\/option>\r\n<option value=\"new\">Nybyggeri (fra bygherre) <\/option>\r\n<option value=\"plot_co\">Grund (fra virksomhed)<\/option>\r\n<option value=\"plot_coin\">Grund (fra virksomhed \u2013 inaktiv)<\/option>\r\n<option value=\"plot_priv\">Grund (fra privatperson)<\/option>\r\n        <\/select><\/div>\r\n        <div class=\"tc-field\"><label>M\u00f8blernes andel af prisen (\u20ac) <span class=\"tc-tip\" tabindex=\"0\" data-tip=\"If part of the purchase price is the existing\/used furniture, enter that share. It is taxed at 4% ITP (movable goods) instead of the property rate, so your transfer tax falls proportionally. Same 4% in Andaluc\u00eda & the Balearics.\">?<\/span><\/label><input type=\"text\" inputmode=\"numeric\" class=\"tc-money\" id=\"fn_old\" value=\"0\"><\/div>\r\n        <div class=\"tc-field\"><label>Nyt m\u00f8belpakke \u2014 inkl. moms (\u20ac) <span class=\"tc-tip\" tabindex=\"0\" data-tip=\"A brand-new furniture & interior package delivered turnkey by the Mojo Architecture & Design Studio \u2014 our White Gloves concept. Enter the price including 21% IVA; ask the studio for a quote.\">?<\/span> <\/label><input type=\"text\" inputmode=\"numeric\" class=\"tc-money\" id=\"fn_new\" value=\"0\"><\/div>\r\n        <div class=\"tc-field\"><br\/><label>Juridisk service<\/label><select id=\"b_legal\">\r\n<option value=\"std\">Standard \u2013 1,0 % af k\u00f8bsprisen + moms<\/option>\r\n<option value=\"merit\">Mojo-honorar \u2013 10 % rabat<\/option>\r\n<\/select> <\/div>\r\n        <div class=\"tc-field tc-check\"><label class=\"tc-switch\"><input type=\"checkbox\" id=\"b_mort\" checked=\"checked\"\/><span>K\u00f8b med realkreditl\u00e5n<\/span><\/label><span class=\"tc-hint\">Der tilkommer ca. 0,5 % i omkostninger til taksering, sk\u00f8de og bankgebyrer.<\/span><\/div>\r\n      <\/div>\r\n      <div class=\"tc-result\" id=\"b_out\"><\/div>\r\n    <\/section>\r\n\r\n    <!-- OWNING \/ RUNNING COSTS -->\r\n    <section class=\"tc-panel\" data-panel=\"own\">\r\n      <h3 class=\"tc-ptitle\">Driftsomkostninger \u2014 de \u00e5rlige omkostninger ved at eje en ejendom i Spanien (IBI, f\u00e6llesudgifter og skat for ikke-bosiddende)<\/h3>\r\n      <div class=\"tc-grid\">\r\n        <div class=\"tc-field\"><label>Ejendomsv\u00e6rdi (\u20ac)<\/label><input type=\"text\" inputmode=\"numeric\" class=\"tc-money tc-link-price\" id=\"o_value\" value=\"650.000\"><\/div>\r\n        <div class=\"tc-field\"><label>Matrikelv\u00e6rdi (\u20ac) <span class=\"tc-tip\" tabindex=\"0\" data-tip=\"Valor catastral \u2014 the official value on your IBI receipt, usually well below market value. IBI and Modelo 210 are calculated from it.\">?<\/span><\/label><input type=\"text\" inputmode=\"numeric\" class=\"tc-money tc-link-cad\" id=\"o_cad\" value=\"260.000\"><\/div>\r\n        <div class=\"tc-field\"><label>Kommune<\/label><select id=\"o_muni\"><\/select><\/div>\r\n        <div class=\"tc-field\"><label>IBI-sats (% af matrikelv\u00e6rdien) <span class=\"tc-tip\" tabindex=\"0\" data-tip=\"Pre-filled from the municipality and editable. Each town hall sets the IBI rate yearly in its ordenanza fiscal \u2014 confirm the current rate with your adviser.\">?<\/span><\/label><div class=\"tc-inpct\"><input type=\"text\" inputmode=\"decimal\" id=\"o_ibirate\" value=\"0,45\"><span>%<\/span><\/div><\/div>\r\n        <div class=\"tc-field\"><label>Skattem\u00e6ssig bop\u00e6l<\/label><select id=\"o_res\"><option value=\"resident\">Skattem\u00e6ssigt bosiddende i Spanien<\/option><option value=\"eu\" selected=\"selected\">Ikke-bosiddende \u00b7 EU\/E\u00d8S<\/option><option value=\"noneu\">Ikke-bosiddende \u00b7 ikke-EU<\/option><option value=\"company\">Ejet via et selskab (SL) \u00b7 25 %<\/option><\/select><\/div>\r\n        <div class=\"tc-field\"><label>F\u00e6llesudgifter (\u20ac\/\u00e5r)<\/label><input type=\"text\" inputmode=\"numeric\" class=\"tc-money tc-own-op\" id=\"o_comm\" value=\"1.800\"><\/div>\r\n        <div class=\"tc-field\"><label>Ejendomsforsikring (\u20ac\/\u00e5r)<\/label><input type=\"text\" inputmode=\"numeric\" class=\"tc-money tc-own-op\" id=\"o_ins\" value=\"450\"><\/div>\r\n        <div class=\"tc-field\"><label>Vand (\u20ac\/\u00e5r)<\/label><input type=\"text\" inputmode=\"numeric\" class=\"tc-money tc-own-op\" id=\"o_water\" value=\"600\"><\/div>\r\n        <div class=\"tc-field\"><label>El (\u20ac\/\u00e5r)<\/label><input type=\"text\" inputmode=\"numeric\" class=\"tc-money tc-own-op\" id=\"o_elec\" value=\"1.500\"><\/div>\r\n        <div class=\"tc-field\"><label>Internet (\u20ac\/\u00e5r)<\/label><input type=\"text\" inputmode=\"numeric\" class=\"tc-money tc-own-op\" id=\"o_internet\" value=\"600\"><\/div>\r\n        <div class=\"tc-field\"><label>Alarm (\u20ac\/\u00e5r)<\/label><input type=\"text\" inputmode=\"numeric\" class=\"tc-money tc-own-op\" id=\"o_alarm\" value=\"300\"><\/div>\r\n        <div class=\"tc-field\"><label>Affaldsindsamling \/ basura (\u20ac\/\u00e5r) <span class=\"tc-tip\" tabindex=\"0\" data-tip=\"Set yearly by each town hall, so it varies. The 150 \u20ac here is a typical Costa del Sol figure (M\u00e1laga's 2026 fee averages ~130 \u20ac) \u2014 replace it with your actual basura bill.\">?<\/span><\/label><input type=\"text\" inputmode=\"numeric\" class=\"tc-money tc-own-op\" id=\"o_basura\" value=\"150\"><\/div>\r\n        <div class=\"tc-field\"><label>Andet (\u20ac\/\u00e5r) <span class=\"tc-tip\" tabindex=\"0\" data-tip=\"Anything else \u2014 gardener, pool service, property management \u2014 enter your own annual figure.\">?<\/span><\/label><input type=\"text\" inputmode=\"numeric\" class=\"tc-money tc-own-op\" id=\"o_other\" value=\"0\"><\/div>\r\n      <\/div>\r\n      <div class=\"tc-expand\"><label class=\"tc-switch\"><input type=\"checkbox\" id=\"hc_on\"><span>Tilf\u00f8j ejendomsskat i hjemlandet (for personer, der ikke er skattem\u00e6ssigt hjemmeh\u00f8rende i Spanien)<\/span><\/label><\/div>\r\n      <div class=\"tc-extra\" id=\"hc_box\">\r\n        <div class=\"tc-grid\">\r\n          <div class=\"tc-field\">Hjemland: Danmark \u2014 Ejendomsv\u00e6rdiskat: Andet \u2014 indtast bel\u00f8b<\/div>\r\n          <div class=\"tc-field\" id=\"hc_otherF\" style=\"display:none\"><label>Ejendomsskat i hjemlandet (\u20ac\/\u00e5r)<\/label><input type=\"text\" inputmode=\"numeric\" class=\"tc-money\" id=\"hc_other\" value=\"0\"><\/div>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"tc-expand\" id=\"omExpand\"><label class=\"tc-switch\"><input type=\"checkbox\" id=\"om_on\"><span>Jeg har allerede et boligl\u00e5n p\u00e5 denne ejendom<\/span><\/label><\/div>\r\n      <div class=\"tc-extra\" id=\"om_box\">\r\n        <div class=\"tc-grid\">\r\n          <div class=\"tc-field\"><label>Udest\u00e5ende realkreditl\u00e5n (\u20ac)<\/label><input type=\"text\" inputmode=\"numeric\" class=\"tc-money\" id=\"o_loan\" value=\"0\"><\/div>\r\n          <div class=\"tc-field\"><label>Boligl\u00e5n rente (%)<\/label><div class=\"tc-inpct\"><input type=\"text\" inputmode=\"decimal\" id=\"o_lrate\" value=\"3,0\"><span>%<\/span><\/div><\/div>\r\n          <div class=\"tc-field\"><label>Resterende \u00e5r <span class=\"tc-tip\" tabindex=\"0\" data-tip=\"How many years are left on the loan \u2014 used to split your annual payment into deductible interest and capital repayment.\">?<\/span><\/label><input type=\"number\" id=\"o_lterm\" value=\"20\" min=\"1\" max=\"40\" step=\"1\"><\/div>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"tc-result\" id=\"o_out\"><\/div>\r\n    <\/section>\r\n\r\n    <!-- RENTING OUT -->\r\n    <section class=\"tc-panel\" data-panel=\"rent\">\r\n      <h3 class=\"tc-ptitle\">Indt\u00e6gter fra ferieudlejning og afkast efter skat p\u00e5 Costa del Sol \u2014 med Mojo Rentals<\/h3>\r\n      <div class=\"tc-grid\">\r\n        <div class=\"tc-field\"><label id=\"y_valLbl\">Samlet k\u00f8bspris (\u20ac) <span class=\"tc-tip\" tabindex=\"0\" data-tip=\"Your total invested amount \u2014 purchase price plus purchase costs (and furniture) from the Purchase-cost step. The yield is calculated on this. Auto-filled.\">?<\/span><\/label><input type=\"text\" id=\"y_value\" class=\"tc-ro\" readonly><\/div>\r\n        <div class=\"tc-field\"><label>Driftsomkostninger \u2014 fradragsberettiget (\u20ac\/\u00e5r) <span class=\"tc-hint2\">udfyldt automatisk fra Driftsomkostninger<\/span> <span class=\"tc-tip\" tabindex=\"0\" data-tip=\"Operating costs apportioned to the let period. Formula: (annual operating costs + mortgage interest) \u00d7 rented-days share. Pre-filled from your Running-costs step; editable.\">?<\/span><\/label><input type=\"text\" inputmode=\"numeric\" class=\"tc-money\" id=\"y_costs\" value=\"9.000\"><\/div>\r\n        <div class=\"tc-field\"><label>Indkomstskattegrundlag <span class=\"tc-tip\" tabindex=\"0\" data-tip=\"Applied to your net rental profit (expenses deductible). EU\/EEA 19%; non-EU 24% \u2014 deductions now allowed too after National Court ruling 3630\/2025 (under appeal); a Spanish company (SL) pays 25% Impuesto sobre Sociedades.\">?<\/span><\/label><select id=\"y_tax\"><option value=\"19\" selected=\"selected\">Ikke-hjemmeh\u00f8rende i EU\/E\u00d8S \u2014 19 %<\/option><option value=\"24\">Ikke-hjemmeh\u00f8rende uden for EU \u2014 24 %<\/option><option value=\"25\">Selskab (SL) \u2014 25 %<\/option><\/select><\/div>\r\n        <div class=\"tc-field\"><label>Gennemsnitlig pris pr. overnatning <strong id=\"y_rateLbl\">220 \u20ac<\/strong> <span class=\"tc-tip\" tabindex=\"0\" data-tip=\"Mojo Rentals can provide a property-specific nightly-rate estimate based on location, size, quality and season.\">?<\/span><\/label><input type=\"range\" id=\"y_rate\" min=\"60\" max=\"600\" value=\"220\" step=\"10\"\/><span class=\"tc-hint\">Mojo Rentals kan give et overslag p\u00e5 dette for din bolig.<\/span><\/div>\r\n        <div class=\"tc-field\"><label>Bel\u00e6gningsgrad <strong id=\"y_occLbl\">62 %<\/strong> <span class=\"tc-hint2\" id=\"y_nights\">\u2248 226 overnatninger\/\u00e5r<\/span><\/label><input type=\"range\" id=\"y_occ\" min=\"20\" max=\"90\" value=\"62\" step=\"1\"><\/div>\r\n        <div class=\"tc-field\"><label>Mojo Udlejning gebyr (+ 21 % moms)<\/label><select id=\"y_mgmt\">19 % + moms 21 % + moms 23 % + moms 26 % + moms<\/select><\/div>\r\n        <div class=\"tc-field tc-check\"><label class=\"tc-switch\"><input type=\"checkbox\" id=\"y_ai\" checked=\"checked\"\/><span>Mojo AI \u2013 Dynamisk prisfasts\u00e6ttelse (+13 %)<\/span><\/label><span class=\"tc-hint\">\u00d8ger oms\u00e6tningen med ca. 13 % sammenlignet med en fast pris pr. overnatning.<\/span><\/div>\r\n      <\/div>\r\n      <div class=\"tc-compare\" id=\"y_compare\"><\/div>\r\n      <div class=\"tc-yields\" id=\"y_yields\"><\/div>\r\n      <div class=\"tc-result\" id=\"y_out\"><\/div>\r\n    <\/section>\r\n\r\n    <!-- SELLING -->\r\n    <section class=\"tc-panel\" data-panel=\"sell\">\r\n      <h3 class=\"tc-ptitle\">Hvad du beholder, n\u00e5r du s\u00e6lger en ejendom i Spanien \u2014 Kapitalgevinstskat og Plusval\u00eda<\/h3>\r\n      <div class=\"tc-grid\">\r\n        <div class=\"tc-field\"><label>Udbudspris (\u20ac)<\/label><input type=\"text\" inputmode=\"numeric\" class=\"tc-money\" id=\"s_ask\" value=\"900.000\"><\/div>\r\n        <div class=\"tc-field\"><label>Rabat (%) <span class=\"tc-hint2\" id=\"s_discAmt\">\u2013 0 \u20ac<\/span><\/label><div class=\"tc-inpct\"><input type=\"text\" inputmode=\"decimal\" id=\"s_disc\" value=\"0\"><span>%<\/span><\/div><\/div>\r\n        <div class=\"tc-field\"><label>Salgspris (\u20ac) <span class=\"tc-tip\" tabindex=\"0\" data-tip=\"Asking price minus the discount \u2014 the actual sale price used for all calculations.\">?<\/span><\/label><input type=\"text\" id=\"s_sellprice\" readonly class=\"tc-ro\"><\/div>\r\n        <div class=\"tc-field\"><label>M\u00f8bler inkluderet i salget (\u20ac) <span class=\"tc-tip\" tabindex=\"0\" data-tip=\"If part of the sale price is furniture (movable goods), enter it. It is excluded from the property gain and Plusval\u00eda \u2014 those apply to the property only.\">?<\/span><\/label><input type=\"text\" inputmode=\"numeric\" class=\"tc-money\" id=\"s_furn\" value=\"0\"><\/div>\r\n        <div class=\"tc-field\"><label>Oprindelig k\u00f8bspris (\u20ac)<\/label><input type=\"text\" inputmode=\"numeric\" class=\"tc-money\" id=\"s_buy\" value=\"650.000\"><\/div>\r\n        <div class=\"tc-field\"><label>Skattehjemsted<\/label><select id=\"s_res\"><option value=\"resident\">Skattepligtig i Spanien<\/option><option value=\"eu\" selected=\"selected\">Ikke-skattepligtig \u00b7 EU\/E\u00d8S<\/option><option value=\"noneu\">Ikke-skattepligtig \u00b7 ikke-EU<\/option><\/select><\/div>\r\n        <div class=\"tc-field\"><label>K\u00f8bt \u2014 m\u00e5ned og \u00e5r<\/label><div class=\"tc-row2\"><select id=\"s_buyM\"><\/select><input type=\"number\" id=\"s_buyY\" value=\"2019\" min=\"1990\" max=\"2026\" step=\"1\"><\/div><\/div>\r\n        <div class=\"tc-field\"><label>Salg \u2014 m\u00e5ned og \u00e5r<\/label><div class=\"tc-row2\"><select id=\"s_saleM\"><\/select><input type=\"number\" id=\"s_saleY\" value=\"2026\" min=\"1990\" max=\"2040\" step=\"1\"><\/div><\/div>\r\n        <div class=\"tc-field\"><label>Indk\u00f8bsomkostninger \u2014 fradragsberettiget (\u20ac) <span class=\"tc-hint2\" id=\"s_costsPct\"><\/span> <span class=\"tc-tip\" tabindex=\"0\" data-tip=\"Costs you paid when you bought \u2014 ITP\/IVA, notary, Land Registry and lawyer fees \u2014 which reduce your taxable gain.\">?<\/span><\/label><input type=\"text\" inputmode=\"numeric\" class=\"tc-money\" id=\"s_costs\" value=\"55.000\"><\/div>\r\n        <div class=\"tc-field\"><label>Forbedringer \u2014 selvrisiko (\u20ac) <span class=\"tc-tip\" tabindex=\"0\" data-tip=\"Invoiced renovation or improvement works (not ordinary repairs) that increase the property's value \u2014 they also reduce the taxable gain.\">?<\/span><\/label><input type=\"text\" inputmode=\"numeric\" class=\"tc-money\" id=\"s_impr\" value=\"15.000\"><\/div>\r\n        <div class=\"tc-field\"><label>Mojo-salgspakke <span class=\"tc-tip\" tabindex=\"0\" data-tip=\"Mojo listing packages (2025 Sellers materials). The total commission on the sale price, plus 21% IVA, deductible from your gain. Move 5,0% \u00b7 Momentum 6,5% \u00b7 Maximise 7,5% \u2014 the 70-20-10 model, where most of the commission funds the buyer-agent side that actually sells your home.\">?<\/span><\/label><select id=\"s_agency\"><option value=\"5\">Move \u2014 5,0 % + moms<\/option><option value=\"6.5\" selected=\"selected\">Momentum \u2014 6,5 % + moms<\/option><option value=\"7.5\">Maximise \u2014 7,5 % + moms<\/option><\/select><\/div>\r\n        <div class=\"tc-field\"><label>Juridisk service <span class=\"tc-tip\" tabindex=\"0\" data-tip=\"Your lawyer's fee to handle the sale (conveyancing), plus 21% IVA \u2014 deductible from your gain. Mojo Legal fee is 10% off the standard 1,0%; Legal Merit Partnership members get 50% off.\">?<\/span><\/label><select id=\"s_legal\"><option value=\"std\">Standard \u2013 1,0 % af salgsprisen + moms<\/option><option value=\"merit\">Mojo Legal-honorar - 10 % rabat<\/option><option value=\"merit50\">Mojo Legal Merit-partnerskab - 50 % rabat<\/option><\/select><\/div>\r\n        <div class=\"tc-field\"><label>Restg\u00e6ld p\u00e5 realkreditl\u00e5n (\u20ac) <span class=\"tc-tip\" tabindex=\"0\" data-tip=\"The balance still owed to the bank, repaid out of the sale proceeds. Not a tax \u2014 it just reduces the cash you walk away with.\">?<\/span><\/label><input type=\"text\" inputmode=\"numeric\" class=\"tc-money\" id=\"s_loan\" value=\"0\"><\/div>\r\n        <div class=\"tc-field\"><label>Bankens indl\u00f8snings-\/annulleringsgebyr (\u20ac) <span class=\"tc-tip\" tabindex=\"0\" data-tip=\"Early-repayment or cancellation fee charged by your bank to clear the mortgage on sale. Enter the amount your bank quotes.\">?<\/span><\/label><input type=\"text\" inputmode=\"numeric\" class=\"tc-money\" id=\"s_redeem\" value=\"0\"><\/div>\r\n        <div class=\"tc-field\"><label>Samlet matrikelv\u00e6rdi (\u20ac) <span class=\"tc-tip\" tabindex=\"0\" data-tip=\"Valor catastral total on your IBI receipt \u2014 used to work out the land's share of the gain for the real plusval\u00eda method.\">?<\/span><\/label><input type=\"text\" inputmode=\"numeric\" class=\"tc-money tc-link-cad\" id=\"s_cadTot\" value=\"260.000\"><\/div>\r\n        <div class=\"tc-field\"><label>Matrikul\u00e6r grundv\u00e6rdi (\u20ac) <span class=\"tc-tip\" tabindex=\"0\" data-tip=\"Valor catastral del suelo \u2014 the land portion on your IBI receipt. Drives both plusval\u00eda methods. Left blank we estimate 45% of the total cadastral value.\">?<\/span><\/label><input type=\"text\" inputmode=\"numeric\" class=\"tc-money\" id=\"s_land\" value=\"110.000\"><\/div>\r\n        <div class=\"tc-field\"><label>Plusval\u00eda kommune<\/label><select id=\"s_plusMuni\"><\/select><\/div>\r\n        <div class=\"tc-field\"><label>V\u00e6rdistigningssats (%) <span class=\"tc-tip\" tabindex=\"0\" data-tip=\"Pre-filled from the municipality and editable. Each town hall sets the plusval\u00eda tipo yearly (maximum 30%) \u2014 confirm the current rate with your adviser.\">?<\/span><\/label><div class=\"tc-inpct\"><input type=\"text\" inputmode=\"decimal\" id=\"s_plusRate\" value=\"29\"><span>%<\/span><\/div><\/div>\r\n      <\/div>\r\n      <div class=\"tc-plusbox\" id=\"s_plusBox\"><\/div>\r\n      <div class=\"tc-proj\">\r\n        <div class=\"tc-proj-head\"><span class=\"tc-proj-title\">S\u00e6lg nu \u2014 eller beholde l\u00e6ngere?<\/span><span class=\"tc-proj-val\">Behold <strong id=\"s_holdLbl\">0 \u00e5r<\/strong> \u00b7 v\u00e6kst <strong id=\"s_grLbl\">4 %\/\u00e5r<\/strong><\/span><\/div>\r\n        <div class=\"tc-sliders\"><div><label>Vent yderligere\u2026 <strong id=\"s_holdLbl2\">0 \u00e5r<\/strong><\/label><input type=\"range\" id=\"s_hold\" min=\"0\" max=\"15\" value=\"0\" step=\"1\"><\/div><div><label>Forventet v\u00e6rdistigning <strong id=\"s_grLbl2\">4 %\/\u00e5r<\/strong><\/label><input type=\"range\" id=\"s_growth\" min=\"0\" max=\"8\" value=\"4\" step=\"0.5\"><\/div><\/div>\r\n      <\/div>\r\n      <div class=\"tc-result\" id=\"s_out\"><\/div>\r\n    <\/section>\r\n\r\n    <!-- MORTGAGE -->\r\n    <section class=\"tc-panel\" data-panel=\"mort\">\r\n      <h3 class=\"tc-ptitle\">Spansk realkreditl\u00e5n til ikke-fastboende \u2014 m\u00e5nedlig ydelse, udbetaling og renter<\/h3>\r\n      <div class=\"tc-grid\">\r\n        <div class=\"tc-field\"><label>Ejendomspris (\u20ac)<\/label><input type=\"text\" inputmode=\"numeric\" class=\"tc-money tc-link-price\" id=\"m_price\" value=\"650.000\"><\/div>\r\n        <div class=\"tc-field\"><label>Bel\u00e5ningsgrad <strong id=\"m_ltvLbl\">70 %<\/strong><\/label><input type=\"range\" id=\"m_ltv\" min=\"0\" max=\"80\" value=\"70\" step=\"5\"\/><span class=\"tc-hint\">Udenlandske k\u00f8bere l\u00e5ner typisk op til 70 %. Ved kontantk\u00f8b falder bel\u00e5ningsgraden til 0 %.<\/span><\/div>\r\n        <div class=\"tc-field\"><label>Rente (%) <span class=\"tc-tip\" tabindex=\"0\" data-tip=\"3-month Eur\u00edbor \u2248 2,8% (June 2026) plus the bank's margin. Most non-resident mortgages are fixed or Eur\u00edbor-linked.\">?<\/span><\/label><div class=\"tc-inpct\"><input type=\"text\" inputmode=\"decimal\" id=\"m_rate\" value=\"3,6\"><span>%<\/span><\/div><\/div>\r\n        <div class=\"tc-field\"><label>L\u00f8betid (\u00e5r)<\/label><input type=\"number\" id=\"m_term\" value=\"25\" min=\"5\" max=\"40\" step=\"1\"\/><span class=\"tc-hint\">L\u00e5net skal v\u00e6re fuldt indfriet, n\u00e5r l\u00e5ntageren fylder 75 \u00e5r.<\/span><\/div>\r\n      <\/div>\r\n      <div class=\"tc-result\" id=\"m_out\"><\/div>\r\n    <\/section>\r\n\r\n    <!-- CO-OWNERSHIP -->\r\n    <section class=\"tc-panel\" data-panel=\"coown\">\r\n      <h3 class=\"tc-ptitle\">Mojo Sharing medejerskab \u2014 bliv medejer af en villa p\u00e5 Costa del Sol for en ottendedel<\/h3>\r\n      <div class=\"tc-grid\">\r\n        <div class=\"tc-field\"><label>Aktiekurs \u2014 din 1\/8 (\u20ac)<\/label><input type=\"text\" inputmode=\"numeric\" class=\"tc-money\" id=\"c_share\" value=\"175.000\"><\/div>\r\n        <div class=\"tc-field\"><label>Finansieret af Mojo Mortgage <strong id=\"c_finLbl\">80 %<\/strong> <span class=\"tc-tip\" tabindex=\"0\" data-tip=\"Up to 80% of your share financed by Mojo Mortgage \u2014 24-hour approval, 15-year term.\">?<\/span><\/label><input type=\"range\" id=\"c_fin\" min=\"0\" max=\"80\" value=\"80\" step=\"5\"><\/div>\r\n        <div class=\"tc-field\"><label>Behold i <strong id=\"c_holdLbl\">7 \u00e5r<\/strong><\/label><input type=\"range\" id=\"c_hold\" min=\"1\" max=\"15\" value=\"7\" step=\"1\"><\/div>\r\n        <div class=\"tc-field\"><label>Antaget v\u00e6rdistigning <strong id=\"c_aprLbl\">5 %\/\u00e5r<\/strong> <span class=\"tc-tip\" tabindex=\"0\" data-tip=\"Compound annual growth applied to your share price (CAGR) \u2014 this is a projected value, not an IRR. Mojo Sharing cites historical Costa del Sol growth nearer 9,3%\/yr \u2014 move the slider to test it.\">?<\/span><\/label><input type=\"range\" id=\"c_apr\" min=\"0\" max=\"10\" value=\"5\" step=\"0.5\"><\/div>\r\n      <\/div>\r\n      <div class=\"tc-expand\"><label class=\"tc-switch\"><input type=\"checkbox\" id=\"cr_on\"><span>Udlej dine uger via Mojo Rentals (indt\u00e6gt)<\/span><\/label><\/div>\r\n      <div class=\"tc-extra\" id=\"cr_box\">\r\n        <div class=\"tc-grid\">\r\n          <div class=\"tc-field\"><label>Antal udlejningsdage pr. \u00e5r <span class=\"tc-hint2\">maks. 45<\/span><\/label><input type=\"number\" id=\"cr_days\" value=\"20\" min=\"0\" max=\"45\" step=\"1\"><\/div>\r\n          <div class=\"tc-field\"><label>Leje pris pr. dag (\u20ac)<\/label><input type=\"text\" inputmode=\"numeric\" class=\"tc-money\" id=\"cr_rate\" value=\"350\"><\/div>\r\n          <div class=\"tc-field\"><label>Maksimumsbel\u00f8b til den f\u00e6lles fond (\u20ac) <span class=\"tc-tip\" tabindex=\"0\" data-tip=\"20% of your rental goes to the shared house fund. Once the fund reaches this cap, that 20% comes back to you instead \u2014 so beyond the cap you keep 80% rather than 60%.\">?<\/span><\/label><input type=\"text\" inputmode=\"numeric\" class=\"tc-money\" id=\"cr_cap\" value=\"2.000\"><\/div>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"tc-expand\"><label class=\"tc-switch\"><input type=\"checkbox\" id=\"av_on\"><span>Medejer i dansk virksomhed \u2014 tilf\u00f8j r\u00e5dighedsskat (eller skat fra et andet land)<\/span><\/label><\/div>\r\n      <div class=\"tc-extra\" id=\"av_box\">\r\n        <div class=\"tc-grid\">\r\n          <div class=\"tc-field\"><label>Hjemland<\/label><select id=\"av_country\"><option value=\"DK\">Danmark \u2014 R\u00e5dighedsskat<\/option><option value=\"OT\">Andet \u2014 angiv bel\u00f8b<\/option><\/select><\/div>\r\n          <div class=\"tc-field\" id=\"av_baseF\"><label>Tilg\u00e6ngelighedsskattegrundlag (\u20ac) <span class=\"tc-tip\" tabindex=\"0\" data-tip=\"Contact Mojo Sharing for the specific Sharing property's availability-tax base. Shown in euro (the underlying Danish figure is converted at 7,46 DKK\/EUR).\">?<\/span><\/label><input type=\"text\" inputmode=\"numeric\" class=\"tc-money\" id=\"av_base\" value=\"1.190.000\"><\/div>\r\n          <div class=\"tc-field\" id=\"av_prateF\"><label>Indkomstskattesats <span class=\"tc-tip\" tabindex=\"0\" data-tip=\"Your personal income-tax rate in your home country, applied to the availability amount. Denmark: 37% (default) or 56% top bracket.\">?<\/span><\/label><select id=\"av_prate\"><option value=\"37\" selected=\"selected\">37 % (standard)<\/option><option value=\"56\">56 % (h\u00f8jeste skatteklasse)<\/option><\/select><\/div>\r\n          <div class=\"tc-field\" id=\"av_wsumF\"><label>Sommer uger (0,50 %\/uge) <span class=\"tc-hint2\">uger 22\u201334<\/span><\/label><input type=\"number\" id=\"av_wsum\" value=\"2\" min=\"0\" max=\"6\" step=\"1\"><\/div>\r\n          <div class=\"tc-field\" id=\"av_wnonF\"><label>Uger uden for sommerperioden (0,25 %\/uge) <span class=\"tc-hint2\">uge 1\u201321 og 35\u201352<\/span><\/label><input type=\"number\" id=\"av_wnon\" value=\"4\" min=\"0\" max=\"6\" step=\"1\"><\/div>\r\n          <div class=\"tc-field\" id=\"av_wrentF\"><label>Uger udlejet via Mojo Rentals <span class=\"tc-hint2\">fritaget \u2014 ingen tilg\u00e6ngelighedsafgift<\/span><\/label><input type=\"number\" id=\"av_wrent\" value=\"0\" min=\"0\" max=\"6\" step=\"1\"><\/div>\r\n          <div class=\"tc-field\" id=\"av_otherF\" style=\"display:none\"><label>Skat p\u00e5 tilg\u00e6ngelighed i hjemlandet (\u20ac\/\u00e5r)<\/label><input type=\"text\" inputmode=\"numeric\" class=\"tc-money\" id=\"av_other\" value=\"0\"><\/div>\r\n        <\/div>\r\n        <span class=\"tc-hint\" id=\"av_wtot\">Dine 6 uger, hvor du har ejendomsret \u2014 sommer + ikke-sommer + udlejningsuger \u2014 udg\u00f8r altid i alt 6.<\/span>\r\n      <\/div>\r\n      <div class=\"tc-result\" id=\"c_out\"><\/div>\r\n      <div class=\"tc-expand\"><label class=\"tc-switch\"><input type=\"checkbox\" id=\"c_resale\"\/><span>Lad Mojo st\u00e5 for videresalget ved udtr\u00e6den (10.000 \u20ac + 5 % + moms) <\/span><\/label><span class=\"tc-hint\">Hvis du helst ikke vil s\u00e6lge privat, markedsf\u00f8rer og s\u00e6lger Mojo din andel \u2014 gebyret fremg\u00e5r nedenfor og er IKKE medregnet i den forventede gevinst ovenfor.<\/span><\/div>\r\n      <div class=\"tc-result\" id=\"c_out2\"><\/div>\r\n    <\/section>\r\n\r\n    <!-- OVERVIEW (full picture) -->\r\n    <section class=\"tc-panel\" data-panel=\"overview\">\r\n      <h3 class=\"tc-ptitle\">Det fulde overblik \u2014 samlede omkostninger, \u00e5rligt cashflow og afkast efter skat<\/h3>\r\n      <div class=\"tc-result\" id=\"ov_out\"><\/div>\r\n    <\/section>\r\n\r\n    <!-- Step navigation -->\r\n    <div class=\"tc-nav\" id=\"tcNav\">\r\n      <button type=\"button\" class=\"tc-navbtn\" id=\"navBack\">\u2190 Tilbage<\/button>\r\n<span class=\"tc-navind\" id=\"navInd\"><\/span>\r\n<button type=\"button\" class=\"tc-navbtn next\" id=\"navNext\">N\u00e6ste \u2192<\/button>\r\n    <\/div>\r\n\r\n    <!-- Live running summary -->\r\n    <div class=\"tc-summary\" id=\"tcSummary\"><\/div>\r\n\r\n    <!-- Lead capture (final step only) -->\r\n    <div class=\"tc-lead\" id=\"tcLead\">\r\n      <p class=\"tc-lead-h\">Vil du have disse tal tilsendt via e-mail? S\u00e5 sender vi dig et fuldst\u00e6ndigt tilbud. <\/p>\r\n      <div class=\"tc-lead-row\">\r\n        <input type=\"text\" id=\"tc_name\" placeholder=\"Fuldt navn\">\r\n        <input type=\"email\" id=\"tc_email\" placeholder=\"E-mail\">\r\n        <input type=\"tel\" id=\"tc_mobile\" placeholder=\"Mobil +34 600 000 000\">\r\n      <\/div>\r\n      <div class=\"tc-lead-btns\">\r\n        <button type=\"button\" id=\"leadBtn\">Send mine resultater via e-mail<\/button>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- Footer -->\r\n    <div class=\"tc-foot\">\r\n      <span class=\"tc-stamp\">Priserne er bekr\u00e6ftet i juni 2026<\/span>\r\n      <p>Dette er kun sk\u00f8n \u2014 ikke skatte-, investerings- eller kreditr\u00e5dgivning. Der vises standardsatser for Costa del Sol og Mallorca; fradrag og plusval\u00eda-metoden (n\u00e5r denne er lavere) anvendes, hvor det er angivet; tal for lejeindt\u00e6gter, investeringsafkast og medejerskab er vejledende, og v\u00e6rdistigning er ikke garanteret. De danske skatteregler er angivet i euro, omregnet internt til 7,46 DKK\/EUR. For bindende tal bedes du kontakte Mojo's juridiske og \u00f8konomiske afdelinger. Udarbejdet af Per Moensted, CEO. Mojo Estates \u2014 en del af House of Mojo \u00b7 busy-goldstine.212-227-153-4.plesk.page     <\/p>\r\n    <\/div>\r\n\r\n  <\/div>\r\n<\/div>\r\n\r\n<style>\r\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Poppins:wght@400;500;600;700&display=swap');\r\n.mojoTC{--teal:#62C0A8;--dark:#161616;--ink:#234E43;--mint:#8BE0CC;--body:#3D3D3D;--muted:#999;--glass:#EDF8F4;--glass2:#E0F3EC;--alt:#F7F7F7;--border:#E5E5E5;--white:#fff;\r\n  font-family:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--body);line-height:1.5;width:100%;max-width:100%; margin:0 auto;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-size-adjust:100%;box-sizing:border-box;overflow-x:hidden}\r\n.mojoTC,.mojoTC *{box-sizing:border-box}\r\n.mojoTC .tc-card{background:var(--white);border:1px solid var(--border);border-radius:16px;padding:32px;box-shadow:0 10px 40px rgba(22,22,22,.05);width:100%;max-width:100%;min-width:0;overflow:hidden}\r\n.mojoTC .tc-head h2{font-size:26px;font-weight:700;color:var(--dark);margin:0 0 6px}\r\n.mojoTC .tc-script{color:var(--teal);font-style:italic;font-weight:600}\r\n.mojoTC .tc-sub{color:var(--muted);font-size:14px;margin:0 0 8px}\r\n.mojoTC .tc-sub2{font-size:13px;color:var(--body);margin:0 0 12px;line-height:1.5}\r\n.mojoTC .tc-sub2 strong{color:var(--teal);font-weight:600}\r\n.mojoTC .tc-badges{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}\r\n.mojoTC .tc-badge{display:inline-flex;align-items:baseline;gap:5px;background:var(--glass);border:1px solid var(--glass2);border-radius:20px;padding:5px 13px;font-size:11.5px;color:var(--body)}\r\n.mojoTC .tc-badge b{color:var(--teal);font-weight:700;font-size:13px}\r\n.mojoTC .tc-region{display:flex;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap}\r\n.mojoTC .tc-region-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);font-weight:600}\r\n.mojoTC .tc-seg{display:inline-flex;background:var(--alt);border:1px solid var(--border);border-radius:10px;padding:4px}\r\n.mojoTC .tc-seg-btn{border:0;background:transparent;font:inherit;font-size:13px;color:var(--muted);padding:8px 16px;border-radius:7px;cursor:pointer;transition:.15s}\r\n.mojoTC .tc-seg-btn.is-on{background:var(--white);color:var(--dark);font-weight:600;box-shadow:0 1px 4px rgba(22,22,22,.08)}\r\n.mojoTC .tc-stephead{display:flex;align-items:center;gap:9px;font-size:13.5px;font-weight:600;color:var(--dark);margin:0 0 12px}\r\n.mojoTC .tc-num{display:inline-flex;align-items:center;justify-content:center;width:21px;height:21px;border-radius:50%;background:var(--ink);color:#fff;font-size:11px;font-weight:600;flex:none}\r\n.mojoTC .tc-pcards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:24px;width:100%;max-width:100%;overflow:hidden;align-items:stretch}\r\n.mojoTC .tc-pcard{text-align:left;border:1px solid var(--border);background:var(--white);border-radius:12px;padding:15px 16px;cursor:pointer;transition:.15s;display:flex;flex-direction:column;font:inherit;color:var(--muted);width:100%;min-width:0;max-width:100%;overflow:hidden;height:100%}\r\n.mojoTC .tc-pcard:hover{border-color:var(--teal)}\r\n.mojoTC .tc-pcard.is-on{border:2px solid var(--teal);background:var(--glass);padding:14px 15px}\r\n.mojoTC .tc-pcard svg{width:26px;height:26px;color:var(--muted)}\r\n.mojoTC .tc-pcard.is-on svg{color:var(--teal)}\r\n.mojoTC .tc-pc-t{font-weight:600;color:var(--dark);font-size:15px;margin-top:8px;line-height:1.25;white-space:normal;overflow-wrap:break-word;word-break:normal}\r\n.mojoTC .tc-pc-s{font-size:12px;color:var(--body);margin-top:3px;line-height:1.35;white-space:normal;overflow-wrap:break-word;word-break:normal}\r\n.mojoTC .tc-steprail{display:flex;gap:10px;margin-bottom:22px;flex-wrap:wrap}\r\n.mojoTC .tc-step{flex:1;min-width:140px;display:flex;align-items:center;gap:10px;background:var(--white);border:1.5px solid var(--border);border-radius:12px;padding:13px 15px;font:inherit;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;transition:.15s}\r\n.mojoTC .tc-step:hover{border-color:var(--teal);color:var(--body)}\r\n.mojoTC .tc-step .n{width:24px;height:24px;border-radius:50%;background:var(--alt);color:var(--muted);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex:none}\r\n.mojoTC .tc-step.is-on{background:var(--teal);border-color:var(--teal);color:#fff;box-shadow:0 8px 18px rgba(98,192,168,.4)}\r\n.mojoTC .tc-step.is-on .n{background:rgba(255,255,255,.28);color:#fff}\r\n.mojoTC .tc-step.is-done{background:var(--teal);border-color:var(--teal);color:#fff}\r\n.mojoTC .tc-step.is-done .n{background:rgba(255,255,255,.28);color:#fff}\r\n.mojoTC .tc-panel{display:none;animation:tcFade .25s ease}\r\n.mojoTC .tc-panel.is-on{display:block}\r\n@keyframes tcFade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}\r\n.mojoTC .tc-ptitle{font-size:16px;font-weight:600;color:var(--dark);margin:0 0 16px;padding-left:12px;border-left:4px solid var(--teal)}\r\n.mojoTC .tc-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px}\r\n.mojoTC .tc-field{display:flex;flex-direction:column;gap:6px}\r\n.mojoTC .tc-field label{font-size:13px;color:var(--dark);font-weight:500}\r\n.mojoTC .tc-field label strong{color:var(--teal)}\r\n.mojoTC .tc-field input,.mojoTC .tc-field select,.mojoTC .tc-lead input{font:inherit;font-size:16px;color:var(--dark);background:var(--white);border:1px solid var(--border);border-radius:9px;padding:11px 13px;width:100%;transition:.15s}\r\n.mojoTC .tc-field input:focus,.mojoTC .tc-field select:focus,.mojoTC .tc-lead input:focus{outline:0;border-color:var(--teal);box-shadow:0 0 0 3px rgba(98,192,168,.18)}\r\n.mojoTC .tc-ro{background:var(--alt)!important;color:var(--dark);font-weight:600}\r\n.mojoTC .tc-inpct{position:relative}\r\n.mojoTC .tc-inpct input{padding-right:30px!important}\r\n.mojoTC .tc-inpct span{position:absolute;right:13px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:14px;pointer-events:none}\r\n.mojoTC .tc-row2{display:flex;gap:8px}\r\n.mojoTC .tc-row2 select{flex:1.3}.mojoTC .tc-row2 input{flex:1}\r\n.mojoTC .tc-hint{font-size:11.5px;color:var(--muted)}\r\n.mojoTC .tc-hint2{font-size:11px;color:var(--muted);font-weight:400}\r\n.mojoTC .tc-check{justify-content:flex-start}\r\n.mojoTC .tc-switch{display:flex;align-items:center;gap:9px;font-weight:500;cursor:pointer;font-size:13px;color:var(--dark)}\r\n.mojoTC .tc-switch input{width:18px;height:18px;accent-color:var(--teal);flex:none}\r\n.mojoTC .tc-expand{margin-top:16px;background:var(--alt);border:1px solid var(--border);border-radius:10px;padding:12px 14px}\r\n.mojoTC .tc-extra{display:none;margin-top:12px;background:var(--glass);border:1px solid var(--glass2);border-radius:10px;padding:16px}\r\n.mojoTC .tc-extra.is-open{display:block}\r\n.mojoTC .tc-tip{position:relative;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--glass2);color:var(--teal);font-size:10px;font-weight:700;cursor:pointer;margin-left:2px;outline:none}\r\n.mojoTC .tc-tip:focus{box-shadow:0 0 0 3px rgba(98,192,168,.3)}\r\n.mojoTC .tc-tip::after{content:attr(data-tip);position:absolute;left:50%;bottom:150%;transform:translateX(-50%);background:var(--dark);color:#fff;padding:9px 11px;border-radius:8px;font-size:11.5px;font-weight:400;line-height:1.45;width:230px;max-width:62vw;opacity:0;visibility:hidden;transition:opacity .15s;z-index:20;pointer-events:none;text-transform:none;letter-spacing:normal;text-align:left;box-shadow:0 6px 22px rgba(22,22,22,.22)}\r\n.mojoTC .tc-tip:hover::after,.mojoTC .tc-tip:focus::after{opacity:1;visibility:visible}\r\n.mojoTC input[type=range]{-webkit-appearance:none;appearance:none;height:6px;border-radius:6px;background:var(--glass2);width:100%;margin:8px 0}\r\n.mojoTC input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--teal);cursor:pointer;border:3px solid var(--white);box-shadow:0 1px 4px rgba(22,22,22,.25)}\r\n.mojoTC input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--teal);cursor:pointer;border:3px solid var(--white)}\r\n.mojoTC .tc-plusbox{margin-top:22px}\r\n.mojoTC .tc-proj{margin-top:22px;background:var(--glass);border-top:3px solid var(--teal);border-bottom:3px solid var(--teal);padding:16px 18px;border-radius:4px}\r\n.mojoTC .tc-proj-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:6px;margin-bottom:10px}\r\n.mojoTC .tc-proj-title{font-weight:600;color:var(--dark);font-size:14px}\r\n.mojoTC .tc-proj-val{font-size:12.5px;color:var(--body)}.mojoTC .tc-proj-val strong{color:var(--teal)}\r\n.mojoTC .tc-sliders{display:grid;grid-template-columns:1fr 1fr;gap:8px 22px}\r\n.mojoTC .tc-sliders label{font-size:12px;color:var(--muted)}.mojoTC .tc-sliders label strong{color:var(--teal)}\r\n.mojoTC .tc-compare{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:8px}\r\n.mojoTC .tc-col{border:1px solid var(--border);border-radius:12px;padding:16px 18px}\r\n.mojoTC .tc-col.is-ai{border-color:var(--teal);background:var(--glass);box-shadow:0 0 0 3px rgba(98,192,168,.12)}\r\n.mojoTC .tc-col h4{margin:0 0 4px;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:600}\r\n.mojoTC .tc-col.is-ai h4{color:var(--teal)}\r\n.mojoTC .tc-col .tc-big{font-size:23px;font-weight:700;color:var(--dark);font-variant-numeric:tabular-nums}\r\n.mojoTC .tc-col .tc-cap{font-size:12px;color:var(--muted)}\r\n.mojoTC .tc-yields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}\r\n.mojoTC .tc-yield{background:var(--ink);border-radius:12px;padding:16px 18px;color:#fff}\r\n.mojoTC .tc-yield.alt{background:var(--glass);color:var(--dark);border:1px solid var(--glass2)}\r\n.mojoTC .tc-yield h4{margin:0 0 3px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--mint);font-weight:600}\r\n.mojoTC .tc-yield.alt h4{color:var(--teal)}\r\n.mojoTC .tc-yield .tc-ybig{font-size:30px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1}\r\n.mojoTC .tc-yield .tc-ycap{font-size:11.5px;opacity:.75;margin-top:3px}\r\n.mojoTC .tc-result{margin-top:18px}\r\n.mojoTC .tc-peryear{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--teal);font-weight:600;margin-bottom:8px}\r\n.mojoTC .tc-row{display:flex;justify-content:space-between;align-items:baseline;padding:11px 14px;font-size:14px;border-radius:7px}\r\n.mojoTC .tc-row:nth-child(even){background:var(--alt)}\r\n.mojoTC .tc-row .tc-amt{color:var(--dark);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}\r\n.mojoTC .tc-row small{display:block;color:var(--muted);font-size:11.5px;font-weight:400}\r\n.mojoTC .tc-methods{border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-top:14px}\r\n.mojoTC .tc-methods .tc-mhead{background:var(--alt);padding:10px 14px;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:600}\r\n.mojoTC .tc-mrow{display:flex;justify-content:space-between;align-items:baseline;padding:11px 14px;font-size:14px;border-top:1px solid var(--border)}\r\n.mojoTC .tc-mrow.is-applied{background:var(--glass)}\r\n.mojoTC .tc-mrow .tc-amt{font-weight:600;color:var(--dark);font-variant-numeric:tabular-nums}\r\n.mojoTC .tc-mrow small{display:block;color:var(--muted);font-size:11.5px}\r\n.mojoTC .tc-mtag{color:var(--teal);font-weight:600;font-size:11.5px}\r\n.mojoTC .tc-total{margin-top:10px;background:var(--ink);color:var(--white);border-radius:11px;padding:18px 20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}\r\n.mojoTC .tc-total .tc-tlabel{font-size:14px;opacity:.85}\r\n.mojoTC .tc-total .tc-tamt{font-size:25px;font-weight:700;font-variant-numeric:tabular-nums}\r\n.mojoTC .tc-total .tc-tpct{font-size:12px;opacity:.7;margin-top:2px}\r\n.mojoTC .tc-pos{color:var(--mint)!important}\r\n.mojoTC .tc-glass{margin-top:12px;background:var(--glass);border-top:3px solid var(--teal);border-bottom:3px solid var(--teal);border-radius:4px;padding:13px 16px;font-size:13px;color:var(--body)}\r\n.mojoTC .tc-glass strong{color:var(--teal)}\r\n.mojoTC .tc-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px;background:var(--alt);border:1px solid var(--border);border-radius:14px;padding:12px 14px}\r\n.mojoTC .tc-navbtn{border:1px solid var(--border);background:var(--white);color:var(--dark);font:inherit;font-size:15px;font-weight:600;padding:13px 28px;border-radius:11px;cursor:pointer;transition:.15s}\r\n.mojoTC .tc-navbtn:hover{border-color:var(--teal);color:var(--teal)}\r\n.mojoTC .tc-navbtn.next{background:var(--teal);color:#fff;border-color:var(--teal);box-shadow:0 8px 20px rgba(98,192,168,.45)}\r\n.mojoTC .tc-navbtn.next:hover{background:#52ad96;color:#fff}\r\n.mojoTC .tc-navbtn:disabled{opacity:.4;cursor:default;border-color:var(--border);color:var(--muted);box-shadow:none}\r\n.mojoTC .tc-navbtn.next:disabled{background:#e9eeec;color:var(--muted)}\r\n.mojoTC .tc-navind{font-size:13.5px;color:var(--dark);font-weight:600;text-align:center;flex:1}\r\n.mojoTC .tc-tophead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;flex-wrap:wrap}\r\n.mojoTC .tc-tophead .tc-stephead{margin:0}\r\n.mojoTC .tc-reset{display:flex;align-items:center;gap:7px;flex:none;background:var(--white);border:1px solid var(--border);color:var(--body);font:inherit;font-size:13px;font-weight:500;cursor:pointer;padding:9px 16px;border-radius:9px;transition:.15s}\r\n.mojoTC .tc-reset:hover{border-color:var(--teal);color:var(--teal);background:var(--glass)}\r\n.mojoTC .tc-summary{margin-top:18px;background:var(--glass);border:1px solid var(--glass2);border-left:4px solid var(--teal);border-radius:10px;padding:14px 20px;display:none;align-items:center;justify-content:space-between;gap:12px}\r\n.mojoTC .tc-summary.is-on{display:flex}\r\n.mojoTC .tc-summary .l{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);font-weight:600}\r\n.mojoTC .tc-summary .v{font-size:23px;font-weight:700;color:var(--dark);font-variant-numeric:tabular-nums}\r\n.mojoTC .tc-lead{margin-top:22px;background:var(--alt);border:1px solid var(--border);border-radius:12px;padding:18px;display:none}\r\n.mojoTC .tc-lead.is-on{display:block}\r\n.mojoTC .tc-lead-h{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--dark)}\r\n.mojoTC .tc-lead-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:10px}\r\n.mojoTC .tc-lead-btns{display:flex;gap:10px;flex-wrap:wrap}\r\n.mojoTC #leadBtn{flex:1;min-width:200px;background:var(--teal);color:var(--white);border:0;border-radius:9px;font:inherit;font-weight:600;font-size:15px;padding:12px 22px;cursor:pointer;transition:.15s}\r\n.mojoTC #leadBtn:hover{background:#52ad96}\r\n.mojoTC .tc-foot{margin-top:22px;border-top:1px solid var(--border);padding-top:14px}\r\n.mojoTC .tc-stamp{display:inline-block;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--teal);font-weight:600;border:1px solid var(--glass2);background:var(--glass);border-radius:20px;padding:3px 11px;margin-bottom:8px}\r\n.mojoTC .tc-foot p{font-size:11.5px;color:var(--muted);margin:0;line-height:1.55}\r\n@media(max-width:900px){.mojoTC .tc-pcards{grid-template-columns:repeat(2,minmax(0,1fr))}.mojoTC .tc-pcard{min-height:116px}}\r\n@media(max-width:720px){.mojoTC{width:100%;max-width:100%;padding:0 6px;overflow-x:hidden}.mojoTC .tc-card{padding:12px;max-width:100%;overflow:hidden}.mojoTC .tc-grid,.mojoTC .tc-sliders,.mojoTC .tc-compare,.mojoTC .tc-yields,.mojoTC .tc-lead-row{grid-template-columns:minmax(0,1fr)}.mojoTC .tc-head h2{font-size:22px}.mojoTC .tc-total .tc-tamt{font-size:22px}.mojoTC .tc-region,.mojoTC .tc-seg,.mojoTC .tc-steprail,.mojoTC .tc-grid,.mojoTC .tc-field,.mojoTC .tc-row,.mojoTC .tc-mrow,.mojoTC .tc-total,.mojoTC .tc-summary,.mojoTC .tc-nav,.mojoTC .tc-lead,.mojoTC .tc-extra,.mojoTC .tc-expand{max-width:100%;min-width:0}.mojoTC .tc-row,.mojoTC .tc-mrow{gap:8px;flex-wrap:wrap}.mojoTC .tc-row .tc-amt,.mojoTC .tc-mrow .tc-amt{white-space:normal;text-align:right}.mojoTC .tc-field label,.mojoTC .tc-row span,.mojoTC .tc-mrow span,.mojoTC .tc-total div,.mojoTC .tc-summary span,.mojoTC .tc-foot p{min-width:0;overflow-wrap:break-word;word-break:normal}.mojoTC input,.mojoTC select,.mojoTC button{max-width:100%}}\r\n@media(max-width:560px){.mojoTC .tc-pcards{grid-template-columns:1fr}.mojoTC .tc-pcard{min-height:0}.mojoTC .tc-tophead{align-items:flex-start}.mojoTC .tc-reset{width:100%;justify-content:center}.mojoTC .tc-seg{width:100%}.mojoTC .tc-seg-btn{flex:1;padding:8px 10px}.mojoTC .tc-nav{flex-wrap:wrap}.mojoTC .tc-navind{order:-1;flex-basis:100%;text-align:left}.mojoTC .tc-navbtn{flex:1;padding:12px 16px}}\r\n<\/style>\r\n\r\n<script>\r\n(function(){\r\n  var root=document.querySelector('.mojoTC'); if(!root||root.dataset.init) return; root.dataset.init=1;\r\n\r\n  var R={\r\n    regions:{\r\n      AND:{name:\"Andaluc\u00eda\",mode:\"flat\",itp:0.07,ajd:0.012,ivaNew:0.10,ivaPlot:0.21,\r\n        munis:{\"M\u00e1laga\":{ibi:0.00451,plus:29},\"Marbella\":{ibi:0.00650,plus:29},\"Benahav\u00eds\":{ibi:0.00800,plus:20},\"Fuengirola\":{ibi:0.00650,plus:25},\"Estepona\":{ibi:0.00550,plus:20},\"Mijas\":{ibi:0.00450,plus:30},\"Benalm\u00e1dena\":{ibi:0.00700,plus:27.5},\"Torremolinos\":{ibi:0.00740,plus:30},\"San Roque\":{ibi:0.0047,plus:21},\"Oj\u00e9n\":{ibi:0.0040,plus:21},\"Casares\":{ibi:0.0061,plus:30},\"Other (typical)\":{ibi:0.00650,plus:30}}},\r\n      BAL:{name:\"Balearics \u00b7 Mallorca\",mode:\"prog\",bands:[[400000,0.08],[600000,0.09],[1000000,0.10],[2000000,0.12],[Infinity,0.13]],ajd:0.015,ivaNew:0.10,ivaPlot:0.21,\r\n        munis:{\"Palma\":{ibi:0.00790,plus:30},\"Calvi\u00e0\":{ibi:0.00730,plus:30},\"Andratx\":{ibi:0.00710,plus:30},\"Pollen\u00e7a\":{ibi:0.00750,plus:30},\"Alc\u00fadia\":{ibi:0.00700,plus:30},\"Sant Lloren\u00e7\":{ibi:0.00700,plus:30},\"Other (typical)\":{ibi:0.00700,plus:30}}}\r\n    },\r\n    NOTARY:3000, LEGAL_STD:0.0121, LEGAL_MERIT:0.01089, MORTCOST:0.005,\r\n    FURN_ITP:0.04, FURN_IVA:0.21,\r\n    IMPUT:0.02, IMP_EU:0.19, IMP_NONEU:0.24, IVA:0.21, MOD_FEE:200, MOD_RENTAL:350,\r\n    CGT_NR:0.19, CGT_BANDS:[[6000,0.19],[50000,0.21],[200000,0.23],[300000,0.27],[Infinity,0.30]], RETENTION:0.03,\r\n    PLUSV:{1:0.15,2:0.14,3:0.14,4:0.16,5:0.18,6:0.19,7:0.20,8:0.19,9:0.15,10:0.12,11:0.10,12:0.09,13:0.09,14:0.09,15:0.09,16:0.10,17:0.13,18:0.17,19:0.23,20:0.40},\r\n    SHARE:0.125, COWN_RATE:0.0695+0.028, COWN_TERM:15, AI:0.13, COWN_MKT:10000,\r\n    EJV_CAUTION:0.20, EJV_THRESH_DKK:9200000, EJV_LO:0.0051, EJV_HI:0.014, KURS:7.46,\r\n    ILLUS_LTV:0.80, ILLUS_RATE:0.03, ILLUS_TERM:25\r\n  };\r\n  var region=\"AND\", MONTHS=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];\r\n  var G={};\r\n  var STEPS={\r\n    buyer:[['buy','Purchase cost'],['own','Running costs'],['mort','Mortgage'],['rent','Rental income'],['overview','Your full picture']],\r\n    sell:[['sell','Selling']],\r\n    rentout:[['own','Running costs'],['rent','Rental income'],['overview','Your full picture']],\r\n    coowner:[['coown','Co-ownership']]\r\n  };\r\n  var JNAME={buyer:'Your buying journey',sell:'Selling your property',rentout:'Renting out your property',coowner:'Mojo Sharing co-ownership'};\r\n  var persona='buyer', stepIdx=0, curLabel='Purchase cost';\r\n  var $=function(id){return document.getElementById(id)};\r\n  function money(id){return parseInt(String($(id).value).replace(\/[^0-9]\/g,''),10)||0}\r\n  function rate(id){return parseFloat(String($(id).value).replace(',','.').replace('%',''))||0}\r\n  function intv(id){return parseInt($(id).value,10)||0}\r\n  function grp(s){return String(s).replace(\/\\B(?=(\\d{3})+(?!\\d))\/g,'.');}\r\n  function fmtInt(n){var neg=n<0;return (neg?'-':'')+grp(Math.round(Math.abs(n)).toString());}\r\n  function eur(n){return fmtInt(n)+\" \u20ac\"}\r\n  function pcN(n){return ((parseFloat((n).toFixed(2))+\"\").replace('.',',')+\"%\").replace('-','\u2212')}\r\n  function pc0(n){return (Math.round(n)+\"%\").replace('-','\u2212')}\r\n  function row(l,a,sub){return '<div class=\"tc-row\"><span>'+l+(sub?'<small>'+sub+'<\/small>':'')+'<\/span><span class=\"tc-amt\">'+a+'<\/span><\/div>'}\r\n  function total(l,a,sub,pos){return '<div class=\"tc-total\"><div><div class=\"tc-tlabel\">'+l+'<\/div>'+(sub?'<div class=\"tc-tpct\">'+sub+'<\/div>':'')+'<\/div><div class=\"tc-tamt'+(pos?' tc-pos':'')+'\">'+a+'<\/div><\/div>'}\r\n  function mrow(l,a,sub,applied){return '<div class=\"tc-mrow'+(applied?' is-applied':'')+'\"><span>'+l+(sub?'<small>'+sub+'<\/small>':'')+'<\/span><span class=\"tc-amt\">'+a+'<\/span><\/div>'}\r\n\r\n  \/* ---------- home-country tax (Danish ejendomsv\u00e6rdiskat, in EUR) ---------- *\/\r\n  function ejvGrossEUR(valueEUR){\r\n    var grund=valueEUR*(1-R.EJV_CAUTION), threshEUR=R.EJV_THRESH_DKK\/R.KURS;\r\n    var tax=Math.min(grund,threshEUR)*R.EJV_LO+Math.max(0,grund-threshEUR)*R.EJV_HI;\r\n    return {eur:tax, grund:grund, threshEUR:threshEUR};\r\n  }\r\n  function homeTaxNet(valueEUR, ibiEUR){\r\n    if(!$('hc_on').checked) return null;\r\n    if($('hc_country').value===\"OT\") return {eur:money('hc_other'), label:\"Home-country property tax\", sub:\"your own figure\"};\r\n    var g=ejvGrossEUR(valueEUR), net=Math.max(0,g.eur-(ibiEUR||0));\r\n    return {eur:net, label:\"Home-country tax \u2014 Ejendomsv\u00e6rdiskat (net of IBI)\", sub:\"grundlag \"+eur(g.grund)+\" (value \u00d7 80%) \u00b7 0,51% to \"+eur(g.threshEUR)+\", 1,4% above \u00b7 net of IBI\"};\r\n  }\r\n\r\n  \/* ---------- BUYING ---------- *\/\r\n  function itpProg(price){var reg=R.regions[region],t=0,p=0,rows=[];\r\n    for(var i=0;i<reg.bands.length;i++){var c=reg.bands[i][0],r=reg.bands[i][1];if(price<=p)break;\r\n      var slice=(price>c?c:price)-p,amt=slice*r;var lab=(p===0?\"up to \"+eur(c):(c===Infinity?\"above \"+eur(p):eur(p)+\" \u2013 \"+eur(c)));\r\n      rows.push([pcN(r*100)+\" on \"+lab,amt]);t+=amt;p=c;if(price<=c)break;}return{tax:t,rows:rows};}\r\n  function itpRegional(price){var reg=R.regions[region];if(reg.mode===\"flat\")return{tax:price*reg.itp,rows:[[&quot;ITP 7%&quot;,price*reg.itp]]};return itpProg(price);}\r\n  function transferRows(price,type){var reg=R.regions[region],ajd=price*reg.ajd;\r\n    if(type===\"resale\"||type===\"plot_priv\"||type===\"plot_coin\"){var r=itpRegional(price);return {rows:r.rows,total:r.tax};}\r\n    if(type===\"new\")return{rows:[[&quot;IVA 10% (new build)&quot;,price*reg.ivaNew],[&quot;AJD &quot;+pcN(reg.ajd*100),ajd]],total:price*reg.ivaNew+ajd};\r\n    return{rows:[[&quot;IVA 21% (plot from company)&quot;,price*reg.ivaPlot],[&quot;AJD &quot;+pcN(reg.ajd*100),ajd]],total:price*reg.ivaPlot+ajd};}\r\n  function calcBuy(){\r\n    var price=money('b_price'),type=$('b_type').value,merit=$('b_legal').value===\"merit\",mort=$('b_mort').checked;\r\n    var fnOld=money('fn_old'),fnNew=money('fn_new'); if(fnOld>price)fnOld=price;\r\n    var propBase=price-fnOld;\r\n    var tt=transferRows(propBase,type),furnITP=fnOld*R.FURN_ITP;\r\n    var legal=price*(merit?R.LEGAL_MERIT:R.LEGAL_STD),mortc=mort?price*R.MORTCOST:0;\r\n    var allTop=tt.total+furnITP+R.NOTARY+legal+mortc+fnNew;\r\n    G.price=price;G.priceNoFurn=propBase;G.buyTotal=allTop;G.allIn=price+allTop;\r\n    var h=\"\";for(var i=0;i<tt.rows.length;i++){h+=row(tt.rows[i][0],eur(tt.rows[i][1]),(fnOld>0&&i===0)?(\"on the property part \u2014 \"+eur(propBase)+\" (price minus the \"+eur(fnOld)+\" furniture share)\"):\"\");}\r\n    if(fnOld>0)h+=row(\"ITP 4% on furniture share\",eur(furnITP),eur(fnOld)+\" of the price is furniture \u2014 taxed at 4%, not the property rate\");\r\n    h+=row(\"Notary &amp; Land Registry\",eur(R.NOTARY),\"typical fixed estimate\")\r\n      +row(\"Legal fees\",eur(legal),(merit?\"Mojo Legal fee \u00b7 10% discount \u00b7 0,9%\":\"Standard \u00b7 1,0%\")+\" of purchase price + IVA\")\r\n      +(mort?row(\"Mortgage set-up\",eur(mortc),\"valuation, deed &amp; bank ~0,5%\"):\"\");\r\n    if(fnNew>0)h+=row(\"New furniture package (incl. IVA)\",eur(fnNew),\"Mojo Architecture &amp; Design Studio \u2014 White Gloves\");\r\n    h+=total(\"Total cost on top of price\",eur(allTop),\"\u2248 \"+pcN(allTop\/(price||1)*100)+\" of price \u00b7 all-in \"+eur(price+allTop));\r\n    $('b_out').innerHTML=h;\r\n  }\r\n\r\n  \/* ---------- municipalities ---------- *\/\r\n  function fillMunis(){\r\n    var m=R.regions[region].munis, h=\"\";\r\n    for(var k in m){ h+='<option value=\"'+k+'\">'+k+'<\/option>'; }\r\n    var o=$('o_muni'), oc=o.value; o.innerHTML=h; if(m[oc])o.value=oc;\r\n    var s=$('s_plusMuni'), sc=s.value, h2=\"\";\r\n    for(var k2 in m){ h2+='<option value=\"'+k2+'\">'+k2+' \u2014 '+(''+m[k2].plus).replace('.',',')+'%<\/option>'; }\r\n    s.innerHTML=h2; if(m[sc])s.value=sc;\r\n    syncRateFields();\r\n  }\r\n  function syncRateFields(){\r\n    var om=R.regions[region].munis[$('o_muni').value]; if(om) $('o_ibirate').value=(om.ibi*100).toFixed(2).replace('.',',');\r\n    var sm=R.regions[region].munis[$('s_plusMuni').value]; if(sm) $('s_plusRate').value=(''+sm.plus).replace('.',',');\r\n  }\r\n\r\n  \/* ---------- OWNING \/ RUNNING COSTS ---------- *\/\r\n  function calcOwn(){\r\n    $('hc_box').classList.toggle('is-open',$('hc_on').checked);\r\n    $('om_box').classList.toggle('is-open',$('om_on').checked);\r\n    $('hc_otherF').style.display=($('hc_country').value===\"OT\")?'':'none';\r\n    var cad=money('o_cad'),ibiRate=rate('o_ibirate')\/100,res=$('o_res').value,\r\n        comm=money('o_comm'),ins=money('o_ins'),water=money('o_water'),elec=money('o_elec'),internet=money('o_internet'),alarm=money('o_alarm'),basura=money('o_basura'),other=money('o_other');\r\n    var op=comm+ins+water+elec+internet+alarm+basura+other;\r\n    var ibi=cad*ibiRate, m210=0, isEU=res===\"eu\"||res===\"noneu\", incRow;\r\n    if(res===\"company\"){incRow=row(\"Imputed income tax\",eur(0),\"owned via a Spanish company (SL) \u2014 25% Impuesto sobre Sociedades applies to rental income instead\");}\r\n    else if(res===\"resident\"){incRow=row(\"Imputed income \u2014 Modelo 100\",eur(0),\"declared in your IRPF as a Spanish resident\");}\r\n    else{m210=cad*R.IMPUT*(res===\"eu\"?R.IMP_EU:R.IMP_NONEU);incRow=row(\"Imputed income tax \u2014 Modelo 210\",eur(m210),\"non-resident: 2% of cadastral \u00d7 \"+(res===\"eu\"?\"19% (EU\/EEA)\":\"24% (non-EU)\"));}\r\n    var fin=isEU?R.MOD_FEE*(1+R.IVA):0;\r\n    var home=homeTaxNet(money('o_value'),ibi);\r\n    var annual=ibi+op+m210+fin+(home?home.eur:0);\r\n    G.ownAnnual=annual;G.ownOp=op;\r\n    G.ownLoan=(persona==='rentout'&&$('om_on').checked)?money('o_loan'):0;G.ownLrate=rate('o_lrate')\/100;G.ownLterm=intv('o_lterm')||20;G.ownIntYr=amortAnnualInterest(G.ownLoan,G.ownLrate,G.ownLterm);\r\n    $('o_out').innerHTML='<div class=\"tc-peryear\">All amounts per year<\/div>'+row(\"IBI (council tax)\",eur(ibi),pcN(ibiRate*100)+\" of cadastral value\")\r\n      +row(\"Community fees\",eur(comm))+row(\"Property insurance\",eur(ins))\r\n      +row(\"Water\",eur(water))+row(\"Electricity\",eur(elec))+row(\"Internet\",eur(internet))+row(\"Alarm\",eur(alarm))\r\n      +row(\"Waste collection \/ basura\",eur(basura))\r\n      +(other>0?row(\"Other\",eur(other)):\"\")\r\n      +incRow\r\n      +(fin>0?row(\"Modelo 210 filing \u2014 Mojo Finance Dept.\",eur(fin),\"200 \u20ac + 21% IVA \u00b7 prepared for you\"):\"\")\r\n      +(home?row(home.label,eur(home.eur),home.sub):\"\")\r\n      +((persona==='rentout'&&$('om_on').checked)?row(\"Mortgage interest (current loan)\",eur(G.ownIntYr),\"average \/ yr over \"+G.ownLterm+\" yrs left \u00b7 \"+pcN(G.ownLrate*100)+\" on \"+eur(G.ownLoan)+\" \u00b7 financing, shown separately\"):\"\")\r\n      +total(\"Annual cost of ownership\",eur(annual),\"\u2248 \"+eur(annual\/12)+\" \/ month\");\r\n  }\r\n\r\n  \/* ---------- SELLING ---------- *\/\r\n  function cgtRes(g){if(g<=0)return 0;var t=0,p=0;for(var i=0;i<R.CGT_BANDS.length;i++){var c=R.CGT_BANDS[i][0],r=R.CGT_BANDS[i][1];if(g>c){t+=(c-p)*r;p=c}else{t+=(g-p)*r;break}}return t}\r\n  function cgtResRows(g){var rows=[],p=0;if(g<=0)return rows;for(var i=0;i<R.CGT_BANDS.length;i++){var c=R.CGT_BANDS[i][0],r=R.CGT_BANDS[i][1];if(g<=p)break;var slice=(g>c?c:g)-p,lab=pcN(r*100)+\" on \"+(p===0?\"first \"+eur(c):(c===Infinity?\"above \"+eur(p):eur(p)+\"\u2013\"+eur(c)));rows.push([lab,slice*r]);p=c;if(g<=c)break;}return rows;}\r\n  function coef(y){return R.PLUSV[Math.max(1,Math.min(20,Math.floor(y)))]}\r\n  function calcSell(){\r\n    var ask=money('s_ask'),disc=rate('s_disc')\/100,sale=ask*(1-disc),furn=money('s_furn'),buy=money('s_buy'),res=$('s_res').value,\r\n        costs=money('s_costs'),impr=money('s_impr'),agencyPct=rate('s_agency'),cadTot=money('s_cadTot'),cadLand=money('s_land'),\r\n        loan=money('s_loan'),redeem=money('s_redeem'),\r\n        buyY=money('s_buyY'),buyM=parseInt($('s_buyM').value,10),saleY=money('s_saleY'),saleM=parseInt($('s_saleM').value,10),\r\n        plusPc=rate('s_plusRate')||29, prate=plusPc\/100;\r\n    var legalRate=$('s_legal').value==='std'?R.LEGAL_STD:($('s_legal').value==='merit'?R.LEGAL_MERIT:R.LEGAL_STD*0.5),\r\n        legalPkg=$('s_legal').value==='std'?'Standard \u00b7 1,0%':($('s_legal').value==='merit'?'Mojo Legal \u00b7 10% off':'Mojo Merit Partnership \u00b7 50% off');\r\n    $('s_discAmt').textContent=\"\u2013 \"+eur(ask*disc);\r\n    $('s_sellprice').value=eur(sale);\r\n    $('s_costsPct').textContent=ask>0?\"\u2248 \"+pcN(costs\/ask*100)+\" of price\":\"\";\r\n    if(cadLand<=0)cadLand=cadTot*0.45;\r\n    var landFrac=cadTot>0?Math.min(1,cadLand\/cadTot):0.45, years=Math.max(0,(saleY+saleM\/12)-(buyY+buyM\/12));\r\n    function plusv(propSale,yrsHeld){var realGain=propSale-buy;if(realGain<=0)return{tax:0,obj:0,real:0,method:\"exempt\"};\r\n      var obj=cadLand*coef(yrsHeld)*prate,real=realGain*landFrac*prate;return (real<obj)?{tax:real,obj:obj,real:real,method:\"real\"}:{tax:obj,obj:obj,real:real,method:\"objective\"};}\r\n    function scn(fullSale,yrsHeld){var propSale=Math.max(0,fullSale-furn),agency=fullSale*agencyPct\/100*(1+R.IVA),legalSell=fullSale*legalRate,\r\n      gain=Math.max(0,propSale-buy-costs-impr-agency-legalSell),cgt=res===\"resident\"?cgtRes(gain):gain*R.CGT_NR,pv=plusv(propSale,yrsHeld);\r\n      return {agency:agency,legalSell:legalSell,gain:gain,cgt:cgt,pv:pv,net:fullSale-agency-legalSell-cgt-pv.tax};}\r\n    var now=scn(sale,years),nr=res!==\"resident\",retention=nr?sale*R.RETENTION:0,balance=now.cgt-retention,pv=now.pv,pb=\"\";\r\n    var cashInHand=now.net-loan-redeem;\r\n    G.sellNet=now.net;\r\n    var pkg=$('s_agency').options[$('s_agency').selectedIndex].text.split(' \u2014 ')[0];\r\n    if(pv.method===\"exempt\"){pb='<div class=\"tc-methods\"><div class=\"tc-mhead\">Plusval\u00eda municipal \u00b7 '+plusPc+'%<\/div><div class=\"tc-mrow is-applied\"><span>Exempt \u2014 no land gain on this sale<small>Plusval\u00eda is not due when the land has not increased in value<\/small><\/span><span class=\"tc-amt\">'+eur(0)+'<\/span><\/div><\/div>';}\r\n    else{var objA=pv.method===\"objective\";\r\n      pb='<div class=\"tc-methods\"><div class=\"tc-mhead\">Plusval\u00eda municipal \u00b7 two methods \u2014 the lower one applies ('+plusPc+'%)<\/div>'\r\n        +'<div class=\"tc-mrow'+(objA?' is-applied':'')+'\"><span>Objective method'+(objA?' <span class=\"tc-mtag\">\u2713 applied (lower)<\/span>':'')+'<small>cadastral land \u00d7 coefficient ('+pcN(years).replace('%','')+' yrs) \u00d7 '+plusPc+'%<\/small><\/span><span class=\"tc-amt\">'+eur(pv.obj)+'<\/span><\/div>'\r\n        +'<div class=\"tc-mrow'+(!objA?' is-applied':'')+'\"><span>Real method'+(!objA?' <span class=\"tc-mtag\">\u2713 applied (lower)<\/span>':'')+'<small>land share of the actual gain \u00d7 '+plusPc+'%<\/small><\/span><span class=\"tc-amt\">'+eur(pv.real)+'<\/span><\/div><\/div>';}\r\n    $('s_plusBox').innerHTML=pb;\r\n    var h=\"\";\r\n    if(disc>0) h+=row(\"Discount on asking price\",eur(ask*disc),pcN(disc*100)+\" \u2192 selling price \"+eur(sale));\r\n    if(furn>0) h+=row(\"Furniture in the sale (excluded from gain)\",eur(furn),\"taxed as movable goods, not as property\");\r\n    var cgtBox=\"\";if(res===\"resident\"&&now.gain>0){var crr=cgtResRows(now.gain);cgtBox='<div class=\"tc-methods\"><div class=\"tc-mhead\">Capital Gains Tax \u2014 resident progressive scale<\/div>';for(var ci=0;ci<crr.length;ci++)cgtBox+=mrow(crr[ci][0],eur(crr[ci][1]),\"\",ci===crr.length-1);cgtBox+='<\/div>';}\r\n    h+=row(\"Gross profit\",eur(Math.max(0,sale-furn)-buy),\"sale price \u2212 original purchase price\"+(furn>0?\" (property only)\":\"\"))\r\n      +row(\"Taxable gain\",eur(now.gain),\"gross profit \u2212 deductible costs, improvements, agency &amp; legal\")\r\n      +row(\"Capital Gains Tax\",eur(now.cgt),nr?\"non-resident flat 19% (EU &amp; non-EU)\":\"resident progressive scale 19\u201330% \u2014 breakdown below\")+cgtBox\r\n      +(nr?row(\"3% retention at the notary\",eur(retention),\"your buyer's lawyer withholds it and pays it to the tax office (Modelo 211), on account of your CGT\"):\"\")\r\n      +(nr?row(balance>=0?\"Additional CGT still to pay\":\"CGT refund due to you\",eur(Math.abs(balance)),balance>=0?\"CGT exceeds the 3% already withheld \u2014 pay the difference\":\"the 3% withheld exceeds your CGT \u2014 your lawyer reclaims it for you\"):\"\")\r\n      +row(\"Plusval\u00eda municipal\",eur(now.pv.tax),now.pv.method===\"exempt\"?\"exempt \u2014 no land gain\":(now.pv.method+\" method \u2014 the lower of the two\"))\r\n      +row(\"Agency fee \u2014 Mojo \"+pkg+\" package\",eur(now.agency),pcN(agencyPct)+\" of price + 21% IVA\")\r\n      +row(\"Legal fees on sale \u2014 \"+legalPkg,eur(now.legalSell),pcN(legalRate\/(1+R.IVA)*100)+\" of sale price + 21% IVA\")\r\n      +total(\"Net proceeds (sell today)\",eur(now.net),\"after Capital Gains Tax, Plusval\u00eda, agency &amp; legal\",true);\r\n    if(loan>0||redeem>0){\r\n      h+=(loan>0?row(\"Less: redeem outstanding mortgage\",\"\u2212 \"+eur(loan),\"repaid to the bank from the proceeds\"):\"\")\r\n        +(redeem>0?row(\"Less: bank redemption fee\",\"\u2212 \"+eur(redeem),\"early-repayment \/ cancellation charge\"):\"\")\r\n        +total(\"Cash in hand after mortgage\",eur(cashInHand),\"what you actually walk away with\",cashInHand>=0);\r\n    }\r\n    var hold=money('s_hold'),gr=rate('s_growth')\/100;\r\n    if(hold>0){var fSale=sale*Math.pow(1+gr,hold),fut=scn(fSale,years+hold),diff=fut.net-now.net;\r\n      h+='<div class=\"tc-row\" style=\"margin-top:14px\"><span>Projected selling price in '+hold+' yr'+(hold>1?'s':'')+'<small>at '+pcN(gr*100)+'\/yr growth<\/small><\/span><span class=\"tc-amt\">'+eur(fSale)+'<\/span><\/div>'\r\n        +row(\"Net proceeds then\",eur(fut.net),\"taxes recalculated \u00b7 Plusval\u00eda \"+fut.pv.method+\" \u00b7 \"+Math.round(years+hold)+\" yrs owned\")\r\n        +total((diff>=0?\"Gain from holding \"+hold+\" yr\"+(hold>1?\"s\":\"\"):\"Cost of waiting\"),(diff>=0?\"+\":\"\u2212\")+eur(Math.abs(diff)),\"vs selling today\",diff>=0);}\r\n    $('s_out').innerHTML=h;\r\n  }\r\n\r\n  \/* ---------- MORTGAGE ---------- *\/\r\n  function calcMort(){\r\n    var price=money('m_price'),ltv=money('m_ltv')\/100,rt=rate('m_rate')\/100,term=money('m_term'),\r\n        loan=price*ltv,down=price-loan,n=term*12,r=rt\/12,\r\n        pay=(loan>0&&n>0)?(r>0?loan*r\/(1-Math.pow(1+r,-n)):loan\/n):0,interest=pay>0?pay*n-loan:0;\r\n    G.mortMonthly=pay;G.mortAnnual=pay*12;G.mortInterest=interest;G.mortTerm=term;G.down=down;G.loan=loan;\r\n    $('m_ltvLbl').textContent=Math.round(ltv*100)+\"%\";\r\n    $('m_out').innerHTML=row(\"Loan amount\",eur(loan),Math.round(ltv*100)+\"% LTV\")\r\n      +row(\"Your down payment\",eur(down),Math.round((1-ltv)*100)+\"% of price\")\r\n      +row(\"Total interest over term\",eur(interest),term+\" yrs @ \"+pcN(rt*100))\r\n      +total(\"Monthly payment\",eur(pay),\"loan repayment + interest\");\r\n  }\r\n\r\n  \/* ---------- RENTING OUT ---------- *\/\r\n  function amortAnnualInterest(loan,r,term){if(loan<=0||term<=0)return 0;var n=term*12,m=r\/12,pay=m>0?loan*m\/(1-Math.pow(1+m,-n)):loan\/n;return Math.max(0,(pay*n-loan)\/term);}\r\n  function rentLoan(value){\r\n    if(persona==='buyer' && $('b_mort').checked && money('m_ltv')>0){var l1=(G.priceNoFurn||value)*(money('m_ltv')\/100),r1=rate('m_rate')\/100,t1=money('m_term')||25;return {loan:l1,rate:r1,term:t1,illus:false,intYr:amortAnnualInterest(l1,r1,t1)};}\r\n    if(persona==='rentout' && $('om_on').checked && money('o_loan')>0){var l2=money('o_loan'),r2=rate('o_lrate')\/100,t2=G.ownLterm||20;return {loan:l2,rate:r2,term:t2,illus:false,intYr:amortAnnualInterest(l2,r2,t2)};}\r\n    var l3=(G.priceNoFurn||value)*R.ILLUS_LTV;return {loan:l3,rate:R.ILLUS_RATE,term:R.ILLUS_TERM,illus:true,intYr:amortAnnualInterest(l3,R.ILLUS_RATE,R.ILLUS_TERM)};\r\n  }\r\n  function calcYield(){\r\n    var base = persona==='rentout'?money('o_value'):(G.allIn||0);\r\n    $('y_value').value=fmtInt(base);\r\n    if($('y_valLbl').firstChild)$('y_valLbl').firstChild.textContent=(persona==='rentout'?'Current property value (\u20ac) ':'All-in purchase price (\u20ac) ');\r\n    var value=base,costs=money('y_costs'),rt=money('y_rate'),occ=money('y_occ')\/100,\r\n        mgmt=parseFloat($('y_mgmt').value)\/100,taxRate=rate('y_tax')\/100,fin=(R.MOD_FEE+R.MOD_RENTAL)*(1+R.IVA),aiOn=$('y_ai').checked,nights=Math.round(365*occ);\r\n    $('y_rateLbl').textContent=rt+\" \u20ac\";$('y_occLbl').textContent=Math.round(occ*100)+\"%\";$('y_nights').textContent=\"\u2248 \"+nights+\" nights\/yr\";\r\n    var baseRev=rt*365*occ,aiRev=baseRev*(1+R.AI),rev=aiOn?aiRev:baseRev;\r\n    function noiB(r){return r-r*mgmt*(1+R.IVA)-fin-costs;}\r\n    var fee=rev*mgmt*(1+R.IVA),noiBefore=noiB(rev);\r\n    var lev=rentLoan(value),equity=Math.max(0,value-lev.loan),interest=lev.intYr;\r\n    var dedInt=(!lev.illus)?interest*occ:0;\r\n    var incomeTax=Math.max(0,noiBefore-dedInt)*taxRate,noiAfter=noiBefore-incomeTax;\r\n    var yB=value>0?noiBefore\/value*100:0, yA=value>0?noiAfter\/value*100:0;\r\n    var levB=equity>0?(noiBefore-interest)\/equity*100:0, levA=equity>0?(noiAfter-interest)\/equity*100:0;\r\n    G.rentValue=value;G.rentNOIbefore=noiBefore;G.rentNOIafter=noiAfter;G.rentYB=yB;G.rentYA=yA;\r\n    G.rentLevB=levB;G.rentLevA=levA;G.rentIllus=lev.illus;G.rentTaxRate=taxRate;G.rentRev=rev;G.rentDedInt=dedInt;\r\n    var baseY=value>0?noiB(baseRev)\/value*100:0,aiY=value>0?noiB(aiRev)\/value*100:0;\r\n    $('y_compare').innerHTML='<div class=\"tc-col'+(aiOn?'':' is-ai')+'\"><h4>Flat pricing<\/h4><div class=\"tc-big\">'+eur(baseRev)+'<\/div><div class=\"tc-cap\">gross\/yr \u00b7 before-tax yield '+pcN(baseY)+'<\/div><\/div>'+\r\n      '<div class=\"tc-col'+(aiOn?' is-ai':'')+'\"><h4>Mojo AI \u2013 Dynamic Pricing<\/h4><div class=\"tc-big\">'+eur(aiRev)+'<\/div><div class=\"tc-cap\">gross\/yr \u00b7 before-tax yield '+pcN(aiY)+'<\/div><\/div>';\r\n    $('y_yields').innerHTML='<div class=\"tc-yield\"><h4>Gross yield \u00b7 before tax<\/h4><div class=\"tc-ybig\">'+pcN(yB)+'<\/div><div class=\"tc-ycap\">net of costs &amp; fees \u00b7 on '+eur(value)+'<\/div><\/div>'+\r\n      '<div class=\"tc-yield alt\"><h4>Net yield \u00b7 after tax<\/h4><div class=\"tc-ybig\">'+pcN(yA)+'<\/div><div class=\"tc-ycap\">after '+pc0(taxRate*100)+' income tax<\/div><\/div>';\r\n    $('y_out').innerHTML='<div class=\"tc-peryear\">All amounts per year<\/div>'+row(\"Gross rental income\",eur(rev),rt+\" \u20ac \u00d7 \"+nights+\" nights\"+(aiOn?\" \u00b7 incl. Mojo AI +13%\":\"\"))\r\n      +row(\"Mojo Rentals fee\",eur(fee),$('y_mgmt').value+\"% + 21% IVA \u2014 listing, guests, cleaning &amp; laundry, pricing\")\r\n      +row(\"Mojo Finance Dept. fee\",eur(fin),\"Modelo 210 incl. rental: 200 \u20ac + 350 \u20ac + 21% IVA\")\r\n      +row(\"Running costs (deductible)\",eur(costs),\"operating costs apportioned to the let period\")\r\n      +(dedInt>0?row(\"Deductible mortgage interest\",eur(dedInt),\"interest \u00d7 occupancy \u2014 reduces the taxable profit\"):\"\")\r\n      +total(\"Net income before tax \/ year\",eur(noiBefore),\"taxable rental profit \u00b7 before-tax yield \"+pcN(yB))\r\n      +row(\"Income tax on rental\",eur(incomeTax),pc0(taxRate*100)+(dedInt>0?\" of profit after interest\":\" of the net profit\"))\r\n      +total(\"Net income after tax \/ year\",eur(noiAfter),\"after-tax yield \"+pcN(yA)+\" on \"+eur(value),true)\r\n      +'<div class=\"tc-methods\"><div class=\"tc-mhead\">Return on your cash \u2014 gearing effect ('+(lev.illus?'illustrative '+Math.round(R.ILLUS_LTV*100)+'% \/ '+R.ILLUS_TERM+' yr \/ '+pcN(R.ILLUS_RATE*100)+' loan':'your mortgage')+')<\/div>'\r\n        +mrow(\"Unleveraged \u2014 cash buyer\",\"before tax \"+pcN(yB)+\" \u00b7 after tax \"+pcN(yA),\"return on the full \"+eur(value))\r\n        +mrow(\"Leveraged \u2014 with mortgage\",\"before tax \"+pcN(levB)+\" \u00b7 after tax \"+pcN(levA),\"on your \"+eur(equity)+\" equity, after \"+pcN(lev.rate*100)+\" interest\",true)+'<\/div>'\r\n      +'<div class=\"tc-glass\"><strong>Deductible running costs<\/strong> = (annual operating costs + mortgage interest) \u00d7 the share of the year it is let. Tax: non-resident EU\/EEA 19%, non-EU 24% (deductions now allowed too after the 2025 court ruling), or a Spanish company (SL) 25% \u2014 all on the net profit. Mojo AI \u2013 Dynamic Pricing adds an estimated <strong>'+eur(noiB(aiRev)-noiB(baseRev))+'\/yr<\/strong> versus flat pricing.<\/div>';\r\n  }\r\n\r\n  \/* ---------- CO-OWNERSHIP ---------- *\/\r\n  function calcCoown(){\r\n    $('av_box').classList.toggle('is-open',$('av_on').checked);\r\n    $('cr_box').classList.toggle('is-open',$('cr_on').checked);\r\n    var ot=$('av_country').value===\"OT\";\r\n    ['av_baseF','av_prateF','av_wsumF','av_wnonF','av_wrentF'].forEach(function(f){$(f).style.display=ot?'none':'';});\r\n    $('av_otherF').style.display=ot?'':'none';\r\n    var share=money('c_share'),fin=money('c_fin')\/100,hold=money('c_hold'),apr=(parseFloat($('c_apr').value)||0)\/100,resale=$('c_resale').checked;\r\n    $('c_finLbl').textContent=Math.round(fin*100)+\"%\";$('c_holdLbl').textContent=hold+\" year\"+(hold>1?\"s\":\"\");$('c_aprLbl').textContent=pcN(apr*100)+\"\/yr\";\r\n    var whole=share\/R.SHARE,loan=share*fin,down=share-loan,n=R.COWN_TERM*12,r=R.COWN_RATE\/12,\r\n        monthly=loan>0?loan*r\/(1-Math.pow(1+r,-n)):0,projected=share*Math.pow(1+apr,hold),gain=projected-share,\r\n        resaleFee=resale?(R.COWN_MKT+projected*0.05*(1+R.IVA)):0,netGain=gain-resaleFee;\r\n    G.coMonthly=monthly;G.coGain=gain;\r\n    var h=row(\"Your 1\/8 share price\",eur(share),\"12,5% of \"+eur(whole))\r\n      +row(\"Mojo Mortgage loan\",eur(loan),Math.round(fin*100)+\"% of share \u00b7 15-yr \u00b7 \"+pcN(R.COWN_RATE*100)+\" (6,95% + Eur\u00edbor)\")\r\n      +row(\"Your down payment\",eur(down),Math.round((1-fin)*100)+\"% of your share\")\r\n      +row(\"Monthly mortgage payment\",eur(monthly),\"loan repayment + interest\")\r\n      +row(\"Projected share value in \"+hold+\" yr\"+(hold>1?\"s\":\"\"),eur(projected),pcN(apr*100)+\"\/yr compound growth (CAGR, not IRR)\")\r\n      +total((gain>=0?\"Projected gain on your share\":\"Projected result\"),(gain>=0?\"+\":\"\u2212\")+eur(Math.abs(gain)),\"after \"+hold+\" yr\"+(hold>1?\"s\":\"\")+\" \u00b7 before tax &amp; any resale fee\",gain>=0);\r\n    $('c_out').innerHTML=h;\r\n    var h2='';\r\n    if(resale) h2+=row(\"Resale agency fee on exit (optional)\",\"\u2212 \"+eur(resaleFee),\"only if Mojo sells your share for you \u2014 10.000 \u20ac + 5% + IVA\")\r\n      +row(\"Net gain if Mojo handles the resale\",(netGain>=0?\"+\":\"\u2212\")+eur(Math.abs(netGain)),\"projected gain above \u2212 resale fee\");\r\n    if($('cr_on').checked){\r\n      var days=Math.min(45,intv('cr_days')),drate=money('cr_rate'),cap=money('cr_cap'),\r\n          gross=days*drate,common20=gross*0.20,toCommon=Math.min(common20,cap),extra=common20-toCommon,mojo=gross*0.20,ownerNet=gross*0.60+extra;\r\n      h2+='<div class=\"tc-methods\"><div class=\"tc-mhead\">Rent out your weeks \u00b7 '+days+' days \u00d7 '+eur(drate)+'\/day<\/div>'\r\n        +mrow(\"Gross rental income\",eur(gross),\"up to 45 days\/yr\")\r\n        +mrow(\"Your share (60%)\",eur(gross*0.60))\r\n        +mrow(\"To the common fund (20%, capped)\",eur(toCommon),\"cap \"+eur(cap))\r\n        +(extra>0?mrow(\"Extra back to you beyond the cap\",eur(extra),\"the 20% returns to you once the fund is full\"):\"\")\r\n        +mrow(\"Mojo Rentals (20%)\",eur(mojo))\r\n        +mrow(\"Your net rental income\",eur(ownerNet),\"60%\"+(extra>0?\" + cap-overflow\":\"\")+\" of the rental\",true)+'<\/div>';\r\n    }\r\n    if($('av_on').checked){\r\n      if(ot){\r\n        var avo=money('av_other');\r\n        h2+='<div class=\"tc-methods\"><div class=\"tc-mhead\">Home-country availability tax<\/div>'+mrow(\"Your annual figure\",eur(avo),\"as advised by your own tax adviser\",true)+'<\/div>';\r\n      } else {\r\n        var base=money('av_base'),wsum=intv('av_wsum'),wnon=intv('av_wnon'),wrent=intv('av_wrent'),\r\n            pct=wsum*0.005+wnon*0.0025, avail=base*pct, prate=parseFloat($('av_prate').value)\/100, tax=avail*prate;\r\n        h2+='<div class=\"tc-methods\"><div class=\"tc-mhead\">Danish R\u00e5dighedsskat (availability tax) \u00b7 '+(wsum+wnon)+' personal weeks \u2192 '+pcN(pct*100)+'<\/div>'\r\n          +mrow(\"Availability base\",eur(base),\"from Mojo Sharing for this property\")\r\n          +mrow(\"Availability amount \/ year\",eur(avail),wsum+\" summer \u00d7 0,50% + \"+wnon+\" non-summer \u00d7 0,25% \u00b7 \"+wrent+\" let weeks exempt\")\r\n          +mrow(\"Personal income tax @ \"+pc0(prate*100),eur(tax),\"payable in your home country\",true)+'<\/div>';\r\n      }\r\n    }\r\n    $('c_out2').innerHTML=h2;\r\n  }\r\n\r\n  \/* ---------- OVERVIEW (full picture) ---------- *\/\r\n  function calcOverview(){\r\n    if(!$('ov_out'))return;\r\n    if(persona==='rentout'){ovRentout();return;}\r\n    \/\/ buyer\r\n    var mortOn=$('b_mort').checked&&money('m_ltv')>0, allIn=G.allIn||0, buyTot=G.buyTotal||0, price=G.price||0, pnf=G.priceNoFurn||price,\r\n        ltv=mortOn?money('m_ltv'):0, down=mortOn?(G.down||0):price, cashIn=down+buyTot,\r\n        mAnnual=mortOn?(G.mortAnnual||0):0, mInt=mortOn?((G.mortInterest||0)\/(G.mortTerm||25)):0, mPrin=Math.max(0,mAnnual-mInt),\r\n        otherOwn=Math.max(0,(G.ownAnnual||0)-(G.ownOp||0)), rentAfter=G.rentNOIafter||0, rentBefore=G.rentNOIbefore||0;\r\n    var noiNetB=rentBefore-otherOwn, noiNetA=rentAfter-otherOwn, cfWith=noiNetA-mAnnual, cfWithout=noiNetA-mInt;\r\n    var yTotB=allIn>0?noiNetB\/allIn*100:0, yTotA=allIn>0?noiNetA\/allIn*100:0;\r\n    var ill=!mortOn, lLoan=ill?pnf*R.ILLUS_LTV:(G.loan||0), lRate=ill?R.ILLUS_RATE:rate('m_rate')\/100,\r\n        lInt=ill?amortAnnualInterest(lLoan,lRate,R.ILLUS_TERM):mInt, lEq=ill?(price-lLoan):cashIn,\r\n        cocB=lEq>0?(noiNetB-lInt)\/lEq*100:0, cocA=lEq>0?(noiNetA-lInt)\/lEq*100:0;\r\n    var h=row(\"All-in purchase cost\",eur(allIn),\"price \"+eur(price)+\" + costs \"+eur(buyTot))\r\n      +row(\"Your cash in (self-financing)\",eur(cashIn),mortOn?(\"down payment \"+eur(down)+\" (\"+ltv+\"% LTV) + purchase costs\"):\"cash buyer \u2014 full price + costs\")\r\n      +row(\"Rental income \u2014 before tax \/ yr\",eur(rentBefore),\"net of running costs &amp; Mojo fees\")\r\n      +row(\"Rental income \u2014 after tax \/ yr\",eur(rentAfter),\"after \"+pc0((G.rentTaxRate||0)*100)+\" income tax\"+(G.rentDedInt>0?\" (interest deducted)\":\"\"))\r\n      +row(\"Other ownership costs \/ yr\",eur(otherOwn),\"IBI, Modelo 210 &amp; home-country tax (not in rental costs)\")\r\n      +(mortOn?row(\"Mortgage interest \/ yr (deductible)\",eur(mInt),\"tax-deductible against rental for the let share\"):\"\")\r\n      +(mortOn?row(\"Capital repayment \/ yr (your saving)\",eur(mPrin),\"not a cost \u2014 it pays down your loan &amp; builds equity\"):\"\")\r\n      +total((cfWithout>=0?\"Net cashflow \u2014 interest only\":\"Net shortfall \u2014 interest only\"),(cfWithout>=0?\"+\":\"\u2212\")+eur(Math.abs(cfWithout)),\"\u2248 \"+(cfWithout>=0?\"+\":\"\u2212\")+eur(Math.abs(cfWithout)\/12)+\" \/ month \u00b7 the true economic return\",cfWithout>=0)\r\n      +(mortOn?total((cfWith>=0?\"Net cashflow \u2014 incl. repayment\":\"Net outlay \u2014 incl. repayment\"),(cfWith>=0?\"+\":\"\u2212\")+eur(Math.abs(cfWith)),\"\u2248 \"+(cfWith>=0?\"+\":\"\u2212\")+eur(Math.abs(cfWith)\/12)+\" \/ month \u00b7 part of it is saving\",cfWith>=0):\"\")\r\n      +'<div class=\"tc-methods\"><div class=\"tc-mhead\">Your after-tax return<\/div>'\r\n        +mrow(\"Yield on total price \u2014 cash buyer\",\"before tax \"+pcN(yTotB)+\" \u00b7 after tax \"+pcN(yTotA),\"net operating profit \u00f7 all-in \"+eur(allIn))\r\n        +mrow(\"Cash-on-cash \u2014 \"+(ill?\"illustrative \"+Math.round(R.ILLUS_LTV*100)+\"% loan\":\"with your mortgage\"),\"before tax \"+pcN(cocB)+\" \u00b7 after tax \"+pcN(cocA),\"\u00f7 \"+eur(lEq)+\" cash \u00b7 interest only\",true)+'<\/div>'\r\n      +'<div class=\"tc-glass\">Total cost, the cash you put in, and the after-tax return once let. We show two cashflows: <strong>interest only<\/strong> is the true economic return; <strong>incl. repayment<\/strong> is your real monthly outlay, where the repayment is really saving into your equity. '+(ill?'You chose no mortgage \u2014 the cash-on-cash line shows an illustrative '+Math.round(R.ILLUS_LTV*100)+'% \/ '+R.ILLUS_TERM+'-yr \/ '+pcN(R.ILLUS_RATE*100)+' loan on the property value ex-furniture. ':'')+'Illustrative; your Mojo adviser confirms the figures.<\/div>';\r\n    $('ov_out').innerHTML=h;\r\n  }\r\n  function ovRentout(){\r\n    var value=money('o_value'), loanOn=$('om_on').checked, loan=loanOn?money('o_loan'):0, lrate=rate('o_lrate')\/100, lterm=G.ownLterm||20,\r\n        interest=amortAnnualInterest(loan,lrate,lterm), equity=Math.max(0,value-loan),\r\n        otherOwn=Math.max(0,(G.ownAnnual||0)-(G.ownOp||0)), rentAfter=G.rentNOIafter||0, rentBefore=G.rentNOIbefore||0;\r\n    var n=lterm*12,r=lrate\/12,pay=(loan>0&&lterm>0)?(r>0?loan*r\/(1-Math.pow(1+r,-n)):loan\/n):0,mAnnual=pay*12,mPrin=Math.max(0,mAnnual-interest);\r\n    var cfWithout=rentAfter-otherOwn-interest, cfWith=rentAfter-otherOwn-mAnnual;\r\n    var roiUn=value>0?(rentAfter-otherOwn)\/value*100:0, roiEq=equity>0?cfWithout\/equity*100:0;\r\n    var h=row(\"Current property value\",eur(value))\r\n      +(loanOn?row(\"Outstanding mortgage\",eur(loan),pcN(lrate*100)+\" \u00b7 \"+lterm+\" yrs left\"):\"\")\r\n      +row(\"Rental income \u2014 before tax \/ yr\",eur(rentBefore),\"net of running costs &amp; Mojo fees\")\r\n      +row(\"Rental income \u2014 after tax \/ yr\",eur(rentAfter),\"after \"+pc0((G.rentTaxRate||0)*100)+\" income tax\"+(G.rentDedInt>0?\" (interest deducted)\":\"\"))\r\n      +row(\"Other ownership costs \/ yr\",eur(otherOwn),\"IBI, Modelo 210 &amp; home-country tax\")\r\n      +(loanOn?row(\"Mortgage interest \/ yr (deductible)\",eur(interest),\"tax-deductible against rental for the let share\"):\"\")\r\n      +(loanOn?row(\"Capital repayment \/ yr (your saving)\",eur(mPrin),\"pays down your loan &amp; builds equity\"):\"\")\r\n      +total((cfWithout>=0?\"Net cashflow \u2014 interest only\":\"Net shortfall \u2014 interest only\"),(cfWithout>=0?\"+\":\"\u2212\")+eur(Math.abs(cfWithout)),\"\u2248 \"+(cfWithout>=0?\"+\":\"\u2212\")+eur(Math.abs(cfWithout)\/12)+\" \/ month \u00b7 true economic return\",cfWithout>=0)\r\n      +(loanOn?total((cfWith>=0?\"Net cashflow \u2014 incl. repayment\":\"Net outlay \u2014 incl. repayment\"),(cfWith>=0?\"+\":\"\u2212\")+eur(Math.abs(cfWith)),\"\u2248 \"+(cfWith>=0?\"+\":\"\u2212\")+eur(Math.abs(cfWith)\/12)+\" \/ month\",cfWith>=0):\"\")\r\n      +'<div class=\"tc-methods\"><div class=\"tc-mhead\">Your after-tax return<\/div>'\r\n        +mrow(\"Unleveraged yield\",pcN(roiUn),\"on the full \"+eur(value))\r\n        +mrow(\"Return on your equity\",pcN(roiEq),\"on \"+eur(equity)+(loanOn?\" after interest\":\"\"),true)+'<\/div>'\r\n      +'<div class=\"tc-glass\">Your rental picture after tax, using the current loan (amount, rate &amp; years left) from the Running-costs step. The repayment portion is saving, not a cost. Illustrative; your Mojo adviser confirms the figures.<\/div>';\r\n    $('ov_out').innerHTML=h;\r\n  }\r\n\r\n  \/* ---------- live running summary ---------- *\/\r\n  function renderSummary(){\r\n    var box=$('tcSummary'); if(!box)return;\r\n    if(persona==='buyer'){box.innerHTML='<span class=\"l\">All-in purchase price<\/span><span class=\"v\">'+eur(G.allIn||0)+'<\/span>';box.classList.add('is-on');}\r\n    else{box.classList.remove('is-on');box.innerHTML='';}\r\n  }\r\n\r\n  function recalc(){calcBuy();calcOwn();calcSell();calcMort();calcYield();calcCoown();calcOverview();renderSummary();}\r\n\r\n  \/* ---------- money formatting + cross-tab carry-over ---------- *\/\r\n  function bindMoney(el){el.addEventListener('input',function(){var d=el.value.replace(\/[^0-9]\/g,'');el.value=d?grp(String(parseInt(d,10))):\"\";});}\r\n  root.querySelectorAll('.tc-money').forEach(bindMoney);\r\n  var LINKS=[['.tc-link-price'],['.tc-link-cad']];\r\n  LINKS.forEach(function(g){var els=root.querySelectorAll(g[0]);els.forEach(function(el){el.addEventListener('input',function(){els.forEach(function(o){if(o!==el)o.value=el.value;});});});});\r\n  function ownOpSum(){var s=0;root.querySelectorAll('.tc-own-op').forEach(function(el){s+=parseInt(el.value.replace(\/[^0-9]\/g,''),10)||0;});return s;}\r\n  root.querySelectorAll('.tc-own-op').forEach(function(el){el.addEventListener('input',function(){$('y_costs').value=grp(String(ownOpSum()));});});\r\n\r\n  \/* ---------- availability weeks: always total 6 ---------- *\/\r\n  function clampW(v){return Math.max(0,Math.min(6,v));}\r\n  function balWeeks(changed){\r\n    var S=clampW(intv('av_wsum')),N=clampW(intv('av_wnon')),Rw=clampW(intv('av_wrent')),rem;\r\n    if(changed==='av_wsum'){rem=6-S;if(Rw>rem)Rw=rem;N=rem-Rw;}\r\n    else if(changed==='av_wnon'){rem=6-N;if(Rw>rem)Rw=rem;S=rem-Rw;}\r\n    else{rem=6-Rw;if(S>rem)S=rem;N=rem-S;}\r\n    $('av_wsum').value=Math.max(0,S);$('av_wnon').value=Math.max(0,N);$('av_wrent').value=Math.max(0,Rw);\r\n  }\r\n  ['av_wsum','av_wnon','av_wrent'].forEach(function(id){$(id).addEventListener('input',function(){balWeeks(id);});});\r\n\r\n  \/* ---------- month selects ---------- *\/\r\n  (function(){var h=\"\";for(var i=0;i<12;i++)h+='<option value=\"'+(i+1)+'\">'+MONTHS[i]+'<\/option>';\r\n    $('s_buyM').innerHTML=h; $('s_buyM').value=6; $('s_saleM').innerHTML=h; $('s_saleM').value=6;})();\r\n\r\n  \/* ---------- persona + steps ---------- *\/\r\n  function showPanel(p){root.querySelectorAll('.tc-panel').forEach(function(x){x.classList.toggle('is-on',x.dataset.panel===p)});}\r\n  function renderSteps(){\r\n    var list=STEPS[persona]; if(stepIdx>=list.length)stepIdx=0;\r\n    var h='';list.forEach(function(s,i){var done=i<stepIdx;h+='<button type=\"button\" class=\"tc-step'+(i===stepIdx?' is-on':(done?' is-done':''))+'\" data-i=\"'+i+'\"><span class=\"n\">'+(done?'\u2713':(i+1))+'<\/span>'+s[1]+'<\/button>';});\r\n    $('tcSteps').innerHTML=h;\r\n    curLabel=list[stepIdx][1]; showPanel(list[stepIdx][0]);\r\n    $('tcJourneyHead').lastChild.textContent=JNAME[persona];\r\n    $('tcRegionWrap').style.display=(persona==='coowner')?'none':'';\r\n    var omx=$('omExpand'); if(omx)omx.style.display=(persona==='rentout')?'':'none';\r\n    if(persona!=='rentout'){var omb=$('om_box'); if(omb)omb.classList.remove('is-open');}\r\n    $('navBack').disabled=(stepIdx===0);\r\n    var last=(stepIdx===list.length-1);\r\n    $('navNext').disabled=last; $('navNext').textContent=last?'Done':'Next \u2192';\r\n    $('navInd').textContent=(list.length>1?'Step '+(stepIdx+1)+' of '+list.length+' \u00b7 ':'')+list[stepIdx][1];\r\n    $('tcLead').classList.toggle('is-on',last);\r\n    renderSummary();\r\n  }\r\n  function gotoStep(i){var n=STEPS[persona].length; stepIdx=Math.max(0,Math.min(n-1,i)); renderSteps(); $('tcSteps').scrollIntoView({behavior:'smooth',block:'nearest'});}\r\n  function setPersona(p){persona=p;stepIdx=0;root.querySelectorAll('#tcPersona .tc-pcard').forEach(function(c){c.classList.toggle('is-on',c.dataset.persona===p)});recalc();renderSteps();}\r\n  root.querySelectorAll('#tcPersona .tc-pcard').forEach(function(c){c.addEventListener('click',function(){setPersona(c.dataset.persona);})});\r\n  $('tcSteps').addEventListener('click',function(e){var b=e.target.closest('.tc-step');if(b)gotoStep(parseInt(b.dataset.i,10));});\r\n  $('navBack').addEventListener('click',function(){gotoStep(stepIdx-1);});\r\n  $('navNext').addEventListener('click',function(){gotoStep(stepIdx+1);});\r\n\r\n  \/* ---------- wiring ---------- *\/\r\n  root.querySelectorAll('#tcRegion .tc-seg-btn').forEach(function(b){b.addEventListener('click',function(){root.querySelectorAll('#tcRegion .tc-seg-btn').forEach(function(x){x.classList.remove('is-on')});b.classList.add('is-on');region=b.dataset.region;fillMunis();recalc()})});\r\n  $('s_hold').addEventListener('input',function(){var v=this.value;$('s_holdLbl').textContent=v+\" year\"+(v==1?\"\":\"s\");$('s_holdLbl2').textContent=v+\" year\"+(v==1?\"\":\"s\")});\r\n  $('s_growth').addEventListener('input',function(){var v=pcN(parseFloat(this.value))+\"\/yr\";$('s_grLbl').textContent=v;$('s_grLbl2').textContent=v});\r\n  $('o_muni').addEventListener('change',function(){var m=R.regions[region].munis[this.value];if(m)$('o_ibirate').value=(m.ibi*100).toFixed(2).replace('.',',');recalc();});\r\n  $('s_plusMuni').addEventListener('change',function(){var m=R.regions[region].munis[this.value];if(m)$('s_plusRate').value=(''+m.plus).replace('.',',');recalc();});\r\n  root.querySelectorAll('input,select').forEach(function(el){el.addEventListener('input',recalc)});\r\n\r\n  \/* ---------- lead (email only; Mojo sends the PDF) ---------- *\/\r\n  $('leadBtn').addEventListener('click',function(){\r\n    var name=$('tc_name').value.trim(), email=$('tc_email').value.trim(), mobile=$('tc_mobile').value.trim();\r\n    var body=root.querySelector('.tc-panel.is-on .tc-result').innerText;\r\n    var b=\"Name: \"+name+\"\\nEmail: \"+email+\"\\nMobile: \"+mobile+\"\\nRegion: \"+R.regions[region].name+\"\\nSection: \"+curLabel+\"\\n\\n\"+body+\"\\n\\n\u2014 Sent from the Mojo property calculator (busy-goldstine.212-227-153-4.plesk.page)\";\r\n    window.location.href=\"mailto:info@busy-goldstine.212-227-153-4.plesk.page?subject=\"+encodeURIComponent(\"My Mojo \"+curLabel+\" estimate\"+(name?\" \u2014 \"+name:\"\"))+\"&body=\"+encodeURIComponent(b);\r\n  });\r\n\r\n  \/* ---------- reset all fields ---------- *\/\r\n  var DEFAULTS=[];\r\n  $('resetBtn').addEventListener('click',function(){\r\n    region='AND';\r\n    root.querySelectorAll('#tcRegion .tc-seg-btn').forEach(function(x){x.classList.toggle('is-on',x.dataset.region==='AND')});\r\n    DEFAULTS.forEach(function(d){var el=d[0];\r\n      if(el.classList.contains('tc-money'))el.value='';\r\n      else if(el.type==='checkbox')el.checked=d[1];\r\n      else el.value=d[1];});\r\n    fillMunis();\r\n    setPersona('buyer');\r\n    root.scrollIntoView({behavior:'smooth',block:'start'});\r\n  });\r\n\r\n  fillMunis(); $('y_costs').value=grp(String(ownOpSum())); recalc(); setPersona('buyer');\r\n  root.querySelectorAll('input,select').forEach(function(el){DEFAULTS.push([el,el.type==='checkbox'?el.checked:el.value]);});\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-e58e8c2 e-con-full empty-boxes e-flex e-con e-child\" data-id=\"e58e8c2\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Ekspertr\u00e5dgivning om k\u00f8b, salg og spanske love Beregner for ejendomsomkostninger, skat og afkast beregner Beregn de reelle omkostninger, skatter og afkast efter skat ved k\u00f8b, ejerskab, udlejning, salg, finansiering og medejerskab af ejendomme p\u00e5 Costa del Sol og Mallorca. Det g\u00e5r hurtigt og er gratis at bruge. Alle spanske skatter p\u00e5 \u00e9t sted \u2014 ITP, [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-20138","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/busy-goldstine.212-227-153-4.plesk.page\/da\/wp-json\/wp\/v2\/pages\/20138","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/busy-goldstine.212-227-153-4.plesk.page\/da\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/busy-goldstine.212-227-153-4.plesk.page\/da\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/busy-goldstine.212-227-153-4.plesk.page\/da\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/busy-goldstine.212-227-153-4.plesk.page\/da\/wp-json\/wp\/v2\/comments?post=20138"}],"version-history":[{"count":3,"href":"https:\/\/busy-goldstine.212-227-153-4.plesk.page\/da\/wp-json\/wp\/v2\/pages\/20138\/revisions"}],"predecessor-version":[{"id":20167,"href":"https:\/\/busy-goldstine.212-227-153-4.plesk.page\/da\/wp-json\/wp\/v2\/pages\/20138\/revisions\/20167"}],"wp:attachment":[{"href":"https:\/\/busy-goldstine.212-227-153-4.plesk.page\/da\/wp-json\/wp\/v2\/media?parent=20138"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}<br />
<b>Warning</b>:  file_exists(): open_basedir restriction in effect. File(action-scheduler-da_DK.mo) is not within the allowed path(s): (/var/www/vhosts/busy-goldstine.212-227-153-4.plesk.page/:/tmp/) in <b>/var/www/vhosts/busy-goldstine.212-227-153-4.plesk.page/httpdocs/wp-content/plugins/wpml-string-translation/classes/MO/Hooks/LoadTranslationFile.php</b> on line <b>82</b><br />
<br />
<b>Warning</b>:  file_exists(): open_basedir restriction in effect. File(action-scheduler-da_DK.l10n.php) is not within the allowed path(s): (/var/www/vhosts/busy-goldstine.212-227-153-4.plesk.page/:/tmp/) in <b>/var/www/vhosts/busy-goldstine.212-227-153-4.plesk.page/httpdocs/wp-content/plugins/wpml-string-translation/classes/MO/Hooks/LoadTranslationFile.php</b> on line <b>85</b><br />
