{"id":70,"date":"2026-05-19T13:43:50","date_gmt":"2026-05-19T13:43:50","guid":{"rendered":"https:\/\/aluseg.com\/?page_id=70"},"modified":"2026-07-30T09:12:30","modified_gmt":"2026-07-30T09:12:30","slug":"rental-market-simulator","status":"publish","type":"page","link":"https:\/\/aluseg.com\/en\/rental-market-simulator\/","title":{"rendered":"Rental Market Simulator"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"70\" class=\"elementor elementor-70\" data-elementor-post-type=\"page\">\n\t\t\t\t<section class=\"elementor-element elementor-element-967e54b e-con-full e-flex e-con e-parent\" data-id=\"967e54b\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-f9009a3 e-flex e-con-boxed e-con e-child\" data-id=\"f9009a3\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-64e8e3f animated-slow elementor-invisible elementor-widget elementor-widget-heading\" data-id=\"64e8e3f\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Rental Market simulator Portugal 2026<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dc3f8c9 animated-slow elementor-widget-divider--view-line elementor-invisible elementor-widget elementor-widget-divider\" data-id=\"dc3f8c9\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeIn&quot;,&quot;_animation_delay&quot;:600}\" data-widget_type=\"divider.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ced5f22 elementor-widget__width-initial animated-slow elementor-widget-tablet__width-inherit elementor-invisible elementor-widget elementor-widget-text-editor\" data-id=\"ced5f22\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Get an instant, data-driven rent estimate for any property in Portugal. Whether you are setting an asking price as a landlord or checking the current market as a tenant, our free calculator delivers a fair market range in seconds.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-60ab838 animated-slow elementor-invisible elementor-widget elementor-widget-button\" data-id=\"60ab838\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"#estimator\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"jki jki-right-arrow-light\"><\/i>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Get My Rent Estimate<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5565c75 elementor-widget elementor-widget-heading\" data-id=\"5565c75\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<p class=\"elementor-heading-title elementor-size-default\">Free \u00b7 No Account Required<\/p>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<section class=\"elementor-element elementor-element-da19cd2 e-flex e-con-boxed e-con e-parent\" data-id=\"da19cd2\" data-element_type=\"container\" data-e-type=\"container\" id=\"estimator\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-b0e2c80 e-con-full e-flex e-con e-child\" data-id=\"b0e2c80\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<span class=\"e-154475a-0ec8d03 e-paragraph-base\" data-interaction-id=\"154475a\" data-e-type=\"widget\" data-id=\"154475a\">How It Works<\/span>\n\t\t\t\t<div class=\"elementor-element elementor-element-032224b animated-slow elementor-invisible elementor-widget elementor-widget-jkit_heading\" data-id=\"032224b\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"jkit_heading.default\">\n\t\t\t\t\t<div  class=\"jeg-elementor-kit jkit-heading  align-left align-tablet- align-mobile- jeg_module___6a6b859c5b1e0\" ><div class=\"heading-section-title  display-inline\"><h2 class=\"heading-title\">Three Steps to a <span class=\"style-color\"><span>Fair Rent Estimate<\/span><\/span><\/h2><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6ebb3b0 animated-slow elementor-invisible elementor-widget elementor-widget-n-accordion\" data-id=\"6ebb3b0\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;default_state&quot;:&quot;all_collapsed&quot;,&quot;max_items_expended&quot;:&quot;multiple&quot;,&quot;_animation&quot;:&quot;fadeInUp&quot;,&quot;n_accordion_animation_duration&quot;:{&quot;unit&quot;:&quot;ms&quot;,&quot;size&quot;:400,&quot;sizes&quot;:[]}}\" data-widget_type=\"nested-accordion.default\">\n\t\t\t\t\t\t\t<div class=\"e-n-accordion\" aria-label=\"Accordion. Open links with Enter or Space, close with Escape, and navigate with Arrow Keys\">\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-1160\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"1\" tabindex=\"0\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-1160\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> Step 1 \u2014 Select Your Precise Location <\/div><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><i aria-hidden=\"true\" class=\"jki jki-up-arrow-4\"><\/i><\/span>\n\t\t\t<span class='e-closed'><i aria-hidden=\"true\" class=\"jki jki-down-arrow-4\"><\/i><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-1160\" class=\"elementor-element elementor-element-4f96731 e-con-full e-flex e-con e-child\" data-id=\"4f96731\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6c4d1c3 animated-slow elementor-invisible elementor-widget elementor-widget-text-editor\" data-id=\"6c4d1c3\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Choose your Portuguese district and municipality. In high-demand cities like Lisbon, Porto, Cascais, and Braga, you can dive straight down to the specific parish (freguesia) level. This ensures a hyper-local price assessment.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-1161\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"2\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-1161\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> Step 2 \u2014 Define the Property Typology <\/div><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><i aria-hidden=\"true\" class=\"jki jki-up-arrow-4\"><\/i><\/span>\n\t\t\t<span class='e-closed'><i aria-hidden=\"true\" class=\"jki jki-down-arrow-4\"><\/i><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-1161\" class=\"elementor-element elementor-element-078086a e-con-full e-flex e-con e-child\" data-id=\"078086a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5ab5ca1 animated-slow elementor-invisible elementor-widget elementor-widget-text-editor\" data-id=\"5ab5ca1\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Select the layout type (Apartment, House, Studio\/T0, or Private Room) and specify the layout configuration (T0, T1, T2, etc). Open the advanced configuration options to adjust the property information.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-1162\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"3\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-1162\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> Step 3 \u2014 Review Your Calculated Market Range <\/div><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><i aria-hidden=\"true\" class=\"jki jki-up-arrow-4\"><\/i><\/span>\n\t\t\t<span class='e-closed'><i aria-hidden=\"true\" class=\"jki jki-down-arrow-4\"><\/i><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-1162\" class=\"elementor-element elementor-element-558236c e-con-full e-flex e-con e-child\" data-id=\"558236c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-959ddf7 animated-slow elementor-invisible elementor-widget elementor-widget-text-editor\" data-id=\"959ddf7\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>The tool instantly processes the inputs to return a realistic market rent range (low, median, and high bounds) along with the average price per m\u00b2 for your specific area.\u00a0<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-777edfa e-flex e-con-boxed e-con e-child\" data-id=\"777edfa\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2202d62 elementor-widget elementor-widget-html\" data-id=\"2202d62\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\n<html lang=\"en-GB\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>Rent Estimator<\/title>\n<!--\n  Aluseg \u2014 Rent Estimator (widget, version 2: 2-step flow)\n\n  Deploy: paste this WHOLE file into the Elementor HTML element.\n  \u00b7 Normal column\/embed:  leave as is (max width 720px, centred).\n  \u00b7 Full-width page: add the \"wide\" class to the root div\n    (<div class=\"rental-widget wide\">) \u2014 the result switches to 2 columns\n    on wide screens; on mobile the behaviour is identical.\n-->\n<style>\n  .rental-widget, .rental-widget *, .rental-widget *::before, .rental-widget *::after { box-sizing: border-box; margin: 0; padding: 0; }\n  .rental-widget {\n    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n    max-width: 720px;\n    margin: 0 auto;\n    padding: 16px;\n  }\n  .rental-widget.wide { max-width: 1040px; }\n  .rental-card {\n    background: #fff;\n    border-radius: 16px;\n    box-shadow: 0 4px 24px rgba(0,0,0,0.08);\n    padding: 28px;\n  }\n  .rental-card h2 {\n    font-size: 1.25rem;\n    font-weight: 700;\n    color: #111;\n    margin-bottom: 4px;\n  }\n  .widget-sub { font-size: 0.8rem; color: #777; margin-bottom: 18px; }\n\n  \/* \u2500\u2500 Steps \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  .step-view { display: none; animation: aluseg-fade-in 0.25s ease; }\n  .step-view.active { display: block; }\n  @keyframes aluseg-fade-in { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }\n  .step-head {\n    display: flex;\n    align-items: center;\n    gap: 10px;\n    margin-bottom: 14px;\n  }\n  .step-back {\n    display: inline-flex;\n    align-items: center;\n    gap: 6px;\n    padding: 8px 14px 8px 10px;\n    border-radius: 20px;\n    border: 1.5px solid #cfe0e3 !important;\n    background: #fff !important;\n    color: #005869 !important;\n    font-size: 0.78rem;\n    font-weight: 700;\n    line-height: 1;\n    appearance: none;\n    cursor: pointer;\n    flex-shrink: 0;\n    transition: background 0.15s, border-color 0.15s;\n  }\n  .step-back:hover { background: #f0f7f7 !important; border-color: #005869 !important; }\n  .step-back svg { display: block; flex-shrink: 0; }\n  .step-title { font-size: 0.95rem; font-weight: 700; color: #111; }\n  .step-count {\n    margin-left: auto;\n    font-size: 0.68rem;\n    font-weight: 700;\n    color: #888;\n    text-transform: uppercase;\n    letter-spacing: 0.05em;\n    white-space: nowrap;\n  }\n  .step-progress {\n    display: flex;\n    gap: 5px;\n    margin-bottom: 18px;\n  }\n  .step-progress span {\n    height: 4px;\n    flex: 1;\n    border-radius: 4px;\n    background: #e4eced;\n    transition: background 0.25s;\n  }\n  .step-progress span.on { background: #005869; }\n  .step-summary {\n    font-size: 0.78rem;\n    color: #666;\n    background: #f5f9f9;\n    border: 1px solid #e2ecec;\n    border-radius: 8px;\n    padding: 7px 11px;\n    margin-bottom: 14px;\n  }\n  .step-summary strong { color: #0f3d47; }\n\n  .field-group {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 12px;\n    margin-bottom: 12px;\n  }\n  .field-group.single { grid-template-columns: 1fr; }\n  @media (max-width: 520px) {\n    .field-group { grid-template-columns: 1fr; }\n    .rental-card { padding: 18px; }\n  }\n  .field-label {\n    display: flex;\n    align-items: center;\n    gap: 5px;\n    font-size: 0.72rem;\n    font-weight: 600;\n    color: #555;\n    text-transform: uppercase;\n    letter-spacing: 0.05em;\n    margin-bottom: 5px;\n  }\n  .req { color: #e53e3e; font-size: 0.8rem; line-height: 1; }\n  .rental-widget select, .rental-widget input[type=\"number\"] {\n    width: 100%;\n    padding: 10px 12px;\n    border: 1.5px solid #e0e0e0;\n    border-radius: 8px;\n    font-size: 0.9rem;\n    color: #111;\n    background: #fff;\n    transition: border-color 0.2s;\n  }\n  .rental-widget select {\n    appearance: none;\n    background-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round'\/%3E%3C\/svg%3E\");\n    background-repeat: no-repeat;\n    background-position: right 10px center;\n    cursor: pointer;\n    padding-right: 30px;\n  }\n  .rental-widget select:focus, .rental-widget input[type=\"number\"]:focus {\n    outline: none;\n    border-color: #005869;\n    box-shadow: 0 0 0 3px rgba(0,88,105,0.12);\n  }\n  .rental-widget select:disabled { background-color: #f7f7f7; color: #bbb; cursor: not-allowed; }\n  .rental-widget input[type=\"number\"]::placeholder { color: #bbb; }\n  .advanced-toggle {\n    display: flex;\n    align-items: center;\n    gap: 7px;\n    font-size: 0.82rem;\n    font-weight: 600;\n    color: #005869;\n    cursor: pointer;\n    margin: 4px 0 12px;\n    user-select: none;\n    width: fit-content;\n  }\n  .advanced-toggle:hover { color: #004d5e; }\n  .advanced-toggle svg { transition: transform 0.2s; flex-shrink: 0; }\n  .advanced-toggle.open svg { transform: rotate(180deg); }\n  .advanced-section {\n    display: none;\n    padding: 16px;\n    background: #f8f9fc;\n    border-radius: 10px;\n    margin-bottom: 12px;\n    border: 1px solid #ebebeb;\n  }\n  .advanced-section.open { display: block; }\n  .adv-grid {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 12px;\n    margin-bottom: 12px;\n  }\n  @media (max-width: 520px) { .adv-grid { grid-template-columns: 1fr; } }\n  .check-label {\n    display: flex;\n    align-items: center;\n    gap: 8px;\n    font-size: 0.88rem;\n    color: #333;\n    cursor: pointer;\n    padding: 9px 12px;\n    border: 1.5px solid #e0e0e0;\n    border-radius: 8px;\n    background: #fff;\n    transition: border-color 0.15s;\n    user-select: none;\n  }\n  .check-label:hover { border-color: #005869; }\n  .check-label input[type=\"checkbox\"] {\n    width: 15px; height: 15px;\n    accent-color: #005869;\n    cursor: pointer;\n    flex-shrink: 0;\n  }\n  .adv-checks-grid {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 7px;\n    margin-bottom: 4px;\n  }\n  @media (max-width: 520px) { .adv-checks-grid { grid-template-columns: 1fr; } }\n  .btn-estimate {\n    width: 100%;\n    padding: 13px;\n    background: #005869;\n    color: #fff;\n    border: none;\n    border-radius: 8px;\n    font-size: 0.95rem;\n    font-weight: 600;\n    cursor: pointer;\n    transition: background 0.2s;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 8px;\n    white-space: nowrap;\n  }\n  .btn-estimate:hover  { background: #004d5e; color: #fff; }\n  .btn-estimate:active { background: #004050; }\n  .btn-estimate:disabled { background: #80b8bf; cursor: not-allowed; color: #fff; }\n  .spinner {\n    width: 17px; height: 17px;\n    border: 2px solid rgba(255,255,255,0.35);\n    border-top-color: #fff;\n    border-radius: 50%;\n    animation: aluseg-spin 0.7s linear infinite;\n    display: none; flex-shrink: 0;\n  }\n  @keyframes aluseg-spin { to { transform: rotate(360deg); } }\n  .step-error {\n    display: none;\n    margin-top: 10px;\n    padding: 9px 12px;\n    background: #fff0f0;\n    border: 1px solid #fecaca;\n    border-radius: 8px;\n    color: #b91c1c;\n    font-size: 0.82rem;\n  }\n  .step-error.visible { display: block; }\n\n  \/* \u2500\u2500 Result \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  .result-panel {\n    padding: 20px;\n    background: #f0f7f7;\n    border-radius: 12px;\n  }\n  .result-panel.error { background: #fff0f0; }\n  .result-grid { display: block; }\n  @media (min-width: 860px) {\n    .rental-widget.wide .result-grid {\n      display: grid;\n      grid-template-columns: 1.25fr 1fr;\n      gap: 22px;\n      align-items: start;\n    }\n  }\n  .result-location { font-size: 0.83rem; color: #555; margin-bottom: 8px; }\n  .result-location strong { color: #111; }\n  .yoy-row { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; }\n  .yoy-badge {\n    display: inline-flex; align-items: center; gap: 4px;\n    padding: 3px 9px; border-radius: 20px;\n    font-size: 0.72rem; font-weight: 700; line-height: 1;\n  }\n  .yoy-badge.up   { background: #e6f9ed; color: #1a7f3c; }\n  .yoy-badge.down { background: #fff0f0; color: #c0392b; }\n  .yoy-badge.flat { background: #f0f0f0; color: #666; }\n  .yoy-label { font-size: 0.72rem; color: #888; }\n  .result-adjustments { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 12px; }\n  .adj-badge {\n    background: #e0f0f0;\n    color: #005A5A;\n    padding: 2px 8px;\n    border-radius: 10px;\n    font-size: 0.72rem;\n    font-weight: 600;\n  }\n  .result-range {\n    display: flex;\n    align-items: flex-end;\n    justify-content: space-around;\n    gap: 6px;\n    margin-bottom: 12px;\n  }\n  .price-block { text-align: center; flex: 1; min-width: 0; }\n  .price-label {\n    display: block;\n    font-size: 0.65rem;\n    font-weight: 700;\n    color: #888;\n    text-transform: uppercase;\n    letter-spacing: 0.05em;\n    margin-bottom: 3px;\n  }\n  .price-value { font-size: 0.98rem; font-weight: 700; color: #005869; }\n  .price-value.median { font-size: 1.5rem; color: #111; }\n  .range-divider { width: 1px; height: 36px; background: #b0d4d4; align-self: center; flex-shrink: 0; }\n  @media (max-width: 520px) {\n    .result-range { display: grid; grid-template-columns: 1fr; gap: 8px; }\n    .price-block { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; text-align: left; }\n    .price-label { margin-bottom: 0; }\n    .price-value { font-size: 0.95rem; }\n    .price-value.median { font-size: 1.35rem; }\n    .range-divider { display: none; }\n  }\n  .price-m2 {\n    display: flex;\n    align-items: baseline;\n    justify-content: space-between;\n    gap: 6px 14px;\n    flex-wrap: wrap;\n    font-size: 0.8rem; color: #666;\n    margin-top: 10px; padding-top: 10px;\n    border-top: 1px solid #c8dede;\n  }\n  .contrib-link {\n    color: #dc2626;\n    font-size: 0.78rem;\n    font-weight: 700;\n    text-decoration: none;\n    white-space: nowrap;\n    cursor: pointer;\n  }\n  .contrib-link:hover { color: #991b1b; text-decoration: underline; }\n  .contrib-link .arr { display: inline-block; transition: transform 0.2s; }\n  .contrib-link.open .arr { transform: rotate(90deg); }\n  .result-footer { font-size: 0.72rem; color: #999; margin-top: 10px; }\n  .error-msg { color: #ef4444; font-size: 0.88rem; }\n\n  \/* Upfront costs: one line + expandable (i) *\/\n  .upfront-line {\n    display: flex;\n    align-items: center;\n    gap: 7px;\n    flex-wrap: wrap;\n    margin-top: 12px;\n    font-size: 0.84rem;\n    color: #444;\n  }\n  .upfront-line strong { color: #111; font-size: 0.95rem; }\n  .info-dot {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    width: 24px; height: 24px;\n    border-radius: 50%;\n    border: 1.5px solid #9bbfc5;\n    background: #fff;\n    color: #005869;\n    font-size: 0.72rem;\n    font-weight: 700;\n    font-style: italic;\n    font-family: Georgia, serif;\n    cursor: pointer;\n    flex-shrink: 0;\n    transition: background 0.15s, border-color 0.15s;\n  }\n  .info-dot:hover { background: #e6f2f4; border-color: #005869; }\n  .upfront-detail {\n    display: none;\n    margin-top: 8px;\n    padding: 10px 13px;\n    background: #fffbeb;\n    border: 1px solid #fde68a;\n    border-radius: 8px;\n    font-size: 0.78rem;\n    color: #78350f;\n    line-height: 1.45;\n  }\n  .upfront-detail.open { display: block; }\n  .upfront-detail strong { color: #92400e; }\n  .nrau-note {\n    margin-top: 10px;\n    font-size: 0.72rem;\n    color: #666;\n    padding: 5px 9px;\n    background: #f0f7f7;\n    border-radius: 6px;\n    border-left: 3px solid #005869;\n  }\n  .nrau-note strong { color: #005869; }\n  .conf-row {\n    display: flex;\n    align-items: center;\n    gap: 8px;\n    margin-bottom: 10px;\n    flex-wrap: wrap;\n  }\n  .conf-badge {\n    display: inline-flex;\n    align-items: center;\n    gap: 5px;\n    padding: 3px 10px;\n    border-radius: 20px;\n    font-size: 0.72rem;\n    font-weight: 700;\n    line-height: 1;\n  }\n  .conf-badge.high   { background: #e2efda; color: #375623; }\n  .conf-badge.medium { background: #fff2cc; color: #7f6000; }\n  .conf-badge.low    { background: #fce4d6; color: #843c0c; }\n  .conf-badge .conf-dot {\n    width: 7px; height: 7px;\n    border-radius: 50%;\n    flex-shrink: 0;\n  }\n  .conf-badge.high   .conf-dot { background: #375623; }\n  .conf-badge.medium .conf-dot { background: #7f6000; }\n  .conf-badge.low    .conf-dot { background: #843c0c; }\n  .conf-geo { font-size: 0.70rem; color: #999; }\n\n  \/* Single CTA *\/\n  .lease-cta {\n    margin-top: 14px;\n    padding: 16px;\n    background: #005869;\n    border-radius: 10px;\n    display: grid;\n    grid-template-columns: 3fr 7fr;\n    gap: 14px;\n    align-items: center;\n  }\n  .lease-cta-icon { display: flex; align-items: center; justify-content: center; }\n  .lease-cta-icon svg { width: 100%; max-width: 104px; height: auto; display: block; }\n  @media (max-width: 520px) {\n    .lease-cta { grid-template-columns: 64px 1fr; gap: 12px; }\n  }\n  .lease-cta-text {\n    font-size: 0.8rem;\n    color: rgba(255,255,255,0.88);\n    line-height: 1.4;\n    margin-bottom: 10px;\n  }\n  .lease-cta-text strong { color: #fff; font-size: 0.9rem; }\n  .lease-cta a {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    gap: 6px;\n    background: #fff;\n    color: #005869;\n    font-size: 0.85rem;\n    font-weight: 700;\n    padding: 10px 22px;\n    border-radius: 999px;\n    text-decoration: none;\n    transition: background 0.15s;\n    width: auto;\n  }\n  .lease-cta a:hover { background: #e0f0f0; }\n  .funnel-err { display: none; margin-top: 6px; font-size: 0.74rem; color: #c0392b; }\n\n  \/* \u2500\u2500 Contribution: discreet orange link \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  .contribute-wrap { margin-top: 0; }\n  .contribute-panel {\n    display: none;\n    margin-top: 8px;\n    padding: 16px;\n    background: #fef6f6;\n    border: 1.5px solid #fecaca;\n    border-radius: 10px;\n  }\n  .contribute-panel.open { display: block; }\n  .contrib-row {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 10px;\n    margin-bottom: 10px;\n  }\n  @media (max-width: 520px) { .contrib-row { grid-template-columns: 1fr; } }\n  .contrib-field label {\n    display: block;\n    font-size: 0.70rem;\n    font-weight: 700;\n    color: #555;\n    text-transform: uppercase;\n    letter-spacing: 0.05em;\n    margin-bottom: 4px;\n  }\n  .contrib-field input[type=\"number\"] {\n    width: 100%;\n    padding: 8px 11px;\n    border: 1.5px solid #f5c2c2;\n    border-radius: 7px;\n    font-size: 0.88rem;\n    color: #111;\n    background: #fff;\n    transition: border-color 0.2s;\n  }\n  .contrib-field input[type=\"number\"]:focus {\n    outline: none;\n    border-color: #b91c1c;\n    box-shadow: 0 0 0 3px rgba(185,28,28,0.12);\n  }\n  .contrib-submit {\n    width: 100%;\n    padding: 9px;\n    background: #b91c1c;\n    color: #fff;\n    border: none;\n    border-radius: 7px;\n    font-size: 0.84rem;\n    font-weight: 700;\n    cursor: pointer;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 7px;\n    transition: background 0.15s;\n    margin-top: 4px;\n  }\n  .contrib-submit:hover:not(:disabled) { background: #991b1b; }\n  .contrib-submit:disabled { opacity: 0.6; cursor: not-allowed; }\n  .contrib-spinner {\n    width: 14px; height: 14px;\n    border: 2px solid rgba(255,255,255,0.35);\n    border-top-color: #fff;\n    border-radius: 50%;\n    animation: aluseg-spin 0.7s linear infinite;\n    display: none; flex-shrink: 0;\n  }\n  .contrib-result {\n    display: none;\n    margin-top: 10px;\n    padding: 11px 14px;\n    border-radius: 8px;\n    font-size: 0.80rem;\n    line-height: 1.5;\n  }\n  .contrib-result.above { background: #fff7ed; border: 1px solid #fed7aa; color: #7c2d12; }\n  .contrib-result.below { background: #f0fdf4; border: 1px solid #bbf7d0; color: #14532d; }\n  .contrib-result.inline{ background: #eff6ff; border: 1px solid #bfdbfe; color: #1e3a5f; }\n  .contrib-result .comp-pct { font-size: 1.1rem; font-weight: 800; display: block; margin-bottom: 3px; }\n  .contrib-result.visible { display: block; }\n  .contrib-privacy { font-size: 0.68rem; color: #999; margin-top: 8px; line-height: 1.4; }\n<\/style>\n<\/head>\n<body>\n<div class=\"rental-widget\">\n  <div class=\"rental-card\">\n    <h2>Rent Estimator<\/h2>\n    <div class=\"widget-sub\" id=\"en-widget-sub\">Find your property's market value in 2 steps.<\/div>\n\n    <!-- \u2500\u2500 Step 1: Location and type \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 -->\n    <div class=\"step-view active\" id=\"en-step1\">\n      <div class=\"step-head\">\n        <span class=\"step-title\">Where is the property?<\/span>\n        <span class=\"step-count\">Step 1 of 2<\/span>\n      <\/div>\n      <div class=\"step-progress\"><span class=\"on\"><\/span><span><\/span><\/div>\n\n      <div class=\"field-group\">\n        <div>\n          <label class=\"field-label\" for=\"en-distrito\">District <span class=\"req\">*<\/span><\/label>\n          <select id=\"en-distrito\"><option value=\"\">Select...<\/option><\/select>\n        <\/div>\n        <div>\n          <label class=\"field-label\" for=\"en-municipio\">Municipality (Concelho) <span class=\"req\">*<\/span><\/label>\n          <select id=\"en-municipio\" disabled><option value=\"\">Select the district first<\/option><\/select>\n        <\/div>\n      <\/div>\n\n      <div class=\"field-group single\" id=\"en-freguesia-row\" style=\"display:none\">\n        <div>\n          <label class=\"field-label\" for=\"en-freguesia\" id=\"en-freguesia-label\">Parish<\/label>\n          <select id=\"en-freguesia\"><option value=\"\">All parishes (municipality average)<\/option><\/select>\n        <\/div>\n      <\/div>\n\n      <div class=\"field-group single\">\n        <div>\n          <label class=\"field-label\" for=\"en-tipo\">Property Type <span class=\"req\">*<\/span><\/label>\n          <select id=\"en-tipo\">\n            <option value=\"\">Select...<\/option>\n            <option value=\"Apartamento\">Apartment<\/option>\n            <option value=\"Moradia\">House<\/option>\n            <option value=\"Studio\/Loft\">Studio \/ Loft<\/option>\n            <option value=\"Quarto\">Room<\/option>\n          <\/select>\n        <\/div>\n      <\/div>\n\n      <button class=\"btn-estimate\" id=\"en-next-btn\" onclick=\"goToStep2EN()\">\n        Continue\n        <svg width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M5 12h14\"\/><path d=\"m12 5 7 7-7 7\"\/><\/svg>\n      <\/button>\n      <div class=\"step-error\" id=\"en-step1-error\"><\/div>\n    <\/div>\n\n    <!-- \u2500\u2500 Step 2: Details \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 -->\n    <div class=\"step-view\" id=\"en-step2\">\n      <div class=\"step-head\">\n        <button type=\"button\" class=\"step-back\" onclick=\"goToStep1EN()\" aria-label=\"Back\">\n          <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M19 12H5\"\/><path d=\"m12 19-7-7 7-7\"\/><\/svg>\n          Back\n        <\/button>\n        <span class=\"step-title\">Property details<\/span>\n        <span class=\"step-count\">Step 2 of 2<\/span>\n      <\/div>\n      <div class=\"step-progress\"><span class=\"on\"><\/span><span class=\"on\"><\/span><\/div>\n      <div class=\"step-summary\" id=\"en-step2-summary\"><\/div>\n\n      <div class=\"field-group\">\n        <div id=\"en-tipologia-col\">\n          <label class=\"field-label\" for=\"en-tipologia\">Typology <span class=\"req\">*<\/span><\/label>\n          <select id=\"en-tipologia\">\n            <option value=\"\">Select...<\/option>\n            <option value=\"T0\">Studio (T0)<\/option>\n            <option value=\"T1\">T1<\/option>\n            <option value=\"T2\">T2<\/option>\n            <option value=\"T3\">T3<\/option>\n            <option value=\"T4\">T4<\/option>\n            <option value=\"T5\">T5<\/option>\n            <option value=\"T6\">T6<\/option>\n            <option value=\"T7\">T7<\/option>\n            <option value=\"T8\">T8<\/option>\n            <option value=\"T9\">T9<\/option>\n            <option value=\"T10\">T10<\/option>\n            <option value=\"T11\">T11<\/option>\n            <option value=\"T12\">T12<\/option>\n          <\/select>\n          <label class=\"check-label\" style=\"margin-top:6px\">\n            <input type=\"checkbox\" id=\"en-plus1\"> +1 interior room (+6%)\n          <\/label>\n        <\/div>\n        <div>\n          <label class=\"field-label\" for=\"en-m2-input\">Property area (m\u00b2)<\/label>\n          <input type=\"number\" id=\"en-m2-input\" placeholder=\"e.g. 75\" min=\"10\" max=\"500\" step=\"1\">\n          <label class=\"check-label\" style=\"margin-top:6px\">\n            <input type=\"checkbox\" id=\"en-furnished\"> Furnished property (+20%)\n          <\/label>\n        <\/div>\n      <\/div>\n\n      <div class=\"advanced-toggle\" id=\"en-adv-toggle\" onclick=\"toggleAdvancedEN()\">\n        <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n          <path d=\"M2 4.5L7 9.5L12 4.5\" stroke=\"#005869\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n        <\/svg>\n        Advanced options\n      <\/div>\n\n      <div class=\"advanced-section\" id=\"en-adv-section\">\n        <div class=\"adv-grid\">\n          <div>\n            <label class=\"field-label\" for=\"en-floor\">Floor<\/label>\n            <select id=\"en-floor\">\n              <option value=\"0\">Not specified<\/option>\n              <option value=\"-0.05\">Ground floor (\u22125%)<\/option>\n              <option value=\"0.05\">Top floor \/ penthouse (+5%)<\/option>\n            <\/select>\n          <\/div>\n          <div>\n            <label class=\"field-label\" for=\"en-condition\">Condition<\/label>\n            <select id=\"en-condition\">\n              <option value=\"0\">Not specified<\/option>\n              <option value=\"0.10\">New \/ Renovated (+10%)<\/option>\n              <option value=\"-0.15\">Needs renovation (\u221215%)<\/option>\n            <\/select>\n          <\/div>\n        <\/div>\n        <label class=\"field-label\" style=\"margin-bottom:6px\">Extras<\/label>\n        <div class=\"adv-checks-grid\">\n          <label class=\"check-label\"><input type=\"checkbox\" id=\"en-parking\"> Parking (+\u20ac75\/mo)<\/label>\n          <label class=\"check-label\"><input type=\"checkbox\" id=\"en-outdoor\"> Terrace \/ garden (+7%)<\/label>\n          <label class=\"check-label\"><input type=\"checkbox\" id=\"en-pool\"> Pool (+8%)<\/label>\n          <label class=\"check-label\"><input type=\"checkbox\" id=\"en-concierge\"> Concierge \/ building staff (+6%)<\/label>\n          <label class=\"check-label\"><input type=\"checkbox\" id=\"en-gym\"> Gym \/ fitness (+4%)<\/label>\n          <label class=\"check-label\"><input type=\"checkbox\" id=\"en-storage\"> Storage room (+\u20ac30\/mo)<\/label>\n          <label class=\"check-label\"><input type=\"checkbox\" id=\"en-nolift\"> No elevator (4th floor+, \u22125%)<\/label>\n        <\/div>\n        <div style=\"margin-top:12px\">\n          <label class=\"field-label\" for=\"en-lease\">Lease Duration<\/label>\n          <select id=\"en-lease\">\n            <option value=\"0\">Long term (\u2265 1 year)<\/option>\n            <option value=\"0.25\">Short term (&lt;1 year, +25%)<\/option>\n          <\/select>\n        <\/div>\n      <\/div>\n\n      <button class=\"btn-estimate\" id=\"en-btn\" onclick=\"getEstimateEN()\">\n        <div class=\"spinner\" id=\"en-spinner\"><\/div>\n        <span id=\"en-btn-text\">Get estimate<\/span>\n      <\/button>\n      <div class=\"step-error\" id=\"en-step2-error\"><\/div>\n    <\/div>\n\n    <!-- \u2500\u2500 Result \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 -->\n    <div class=\"step-view\" id=\"en-view-result\">\n      <div class=\"step-head\">\n        <button type=\"button\" class=\"step-back\" onclick=\"goToStep2FromResultEN()\" aria-label=\"Edit details\">\n          <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M19 12H5\"\/><path d=\"m12 19-7-7 7-7\"\/><\/svg>\n          Edit\n        <\/button>\n        <span class=\"step-title\">Your estimate<\/span>\n      <\/div>\n\n      <div class=\"result-panel\" id=\"en-result\">\n        <div class=\"result-grid\">\n          <div class=\"result-main\">\n            <div class=\"result-location\"    id=\"en-location\"><\/div>\n            <div class=\"yoy-row\"            id=\"en-yoy\"><\/div>\n            <div class=\"conf-row\"           id=\"en-conf\"><\/div>\n            <div class=\"result-adjustments\" id=\"en-adjustments\"><\/div>\n            <div class=\"result-range\"       id=\"en-range\"><\/div>\n            <div class=\"price-m2\"           id=\"en-m2-out\"><\/div>\n            <!-- Contribution: discreet link -->\n            <div class=\"contribute-wrap\" id=\"en-contribute-wrap\" style=\"display:none\">\n              <div class=\"contribute-panel\" id=\"en-contrib-panel\">\n                <div class=\"contrib-row\">\n                  <div class=\"contrib-field\">\n                    <label for=\"en-contrib-rent\">Your monthly rent (\u20ac) *<\/label>\n                    <input type=\"number\" id=\"en-contrib-rent\" placeholder=\"e.g. 900\" min=\"50\" max=\"50000\" step=\"1\" \/>\n                  <\/div>\n                  <div class=\"contrib-field\">\n                    <label for=\"en-contrib-m2\">Property area (m\u00b2) <em style=\"font-weight:400;text-transform:none\">optional<\/em><\/label>\n                    <input type=\"number\" id=\"en-contrib-m2\" placeholder=\"e.g. 75\" min=\"5\" max=\"2000\" step=\"1\" \/>\n                  <\/div>\n                <\/div>\n                <button type=\"button\" class=\"contrib-submit\" id=\"en-contrib-btn\" onclick=\"submitContrib('en')\">\n                  <div class=\"contrib-spinner\" id=\"en-contrib-spinner\"><\/div>\n                  <span id=\"en-contrib-btn-label\">Submit anonymously<\/span>\n                <\/button>\n                <div class=\"contrib-result\" id=\"en-contrib-result\"><\/div>\n                <div class=\"contrib-privacy\">Anonymous \u00b7 helps improve estimates for everyone.<\/div>\n              <\/div>\n            <\/div>\n\n            <div class=\"upfront-line\" id=\"en-upfront-line\" style=\"display:none\">\n              \ud83d\udd11 Estimated upfront costs: <strong id=\"en-upfront-val\"><\/strong>\n              <button type=\"button\" class=\"info-dot\" onclick=\"toggleUpfrontEN()\" aria-label=\"More information about upfront costs\">i<\/button>\n            <\/div>\n            <div class=\"upfront-detail\" id=\"en-upfront-detail\"><\/div>\n\n            <div class=\"nrau-note\" id=\"en-nrau\" style=\"display:none\"><\/div>\n            <div class=\"result-footer\" id=\"en-footer\"><\/div>\n          <\/div>\n\n          <div class=\"result-side\">\n\n            <!-- Single CTA -->\n            <div id=\"en-cta\"><\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n\n  <\/div>\n<\/div>\n\n<script>\nconst SUPABASE_URL  = 'https:\/\/ujbxjihbytloinjcannx.supabase.co';\nconst SUPABASE_ANON = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InVqYnhqaWhieXRsb2luamNhbm54Iiwicm9sZSI6ImFub24iLCJpYXQiOjE3Nzk0MjY4MTAsImV4cCI6MjA5NTAwMjgxMH0.0el6NhpshaeRAcrz2AX-YaPVcPxaY7-JGDNe3WGfVk8';\n\nconst APP_URL = 'https:\/\/app.aluseg.com';\n\n\/* Exact typology (T0\u2013T12, +1) is what the draft stores; the benchmark RPC and\n   the crowdsourced pipeline only know the INE buckets T0\u2013T4+. *\/\nfunction bucketTypologyEN(t) {\n  const m = \/^T(\\d{1,2})\/.exec(t || '');\n  if (!m) return t;\n  return Number(m[1]) >= 4 ? 'T4+' : 'T' + m[1];\n}\nfunction exactTypologyEN() {\n  const base = document.getElementById('en-tipologia').value;\n  if (!base) return '';\n  const plus1 = document.getElementById('en-plus1') && document.getElementById('en-plus1').checked;\n  return base + (plus1 ? '+1' : '');\n}\n\n\/* KAN-16 funnel: while the admin switch in the app is ON, the single CTA\n   saves the estimate as a draft and sends the visitor to signup; while OFF\n   it links to the free lease generator page. *\/\nlet funnelEnabled = false;\nfetch(APP_URL + '\/api\/estimator-draft')\n  .then(r => r.json())\n  .then(d => { funnelEnabled = d && d.enabled === true; })\n  .catch(() => { funnelEnabled = false; });\n\nlet nrauData = null;\n(async () => {\n  try {\n    const r = await fetch(`${SUPABASE_URL}\/rest\/v1\/nrau_coefficients?order=year.desc&limit=1`, {\n      headers: { 'apikey': SUPABASE_ANON, 'Authorization': `Bearer ${SUPABASE_ANON}` }\n    });\n    if (r.ok) { const d = await r.json(); nrauData = d[0] || null; }\n  } catch(e) {}\n})();\n\nconst TYPE_LABELS_EN = {\n  'Apartamento': 'Apartment',\n  'Moradia':     'House',\n  'Studio\/Loft': 'Studio \/ Loft',\n  'Quarto':      'Room'\n};\nconst TYPO_LABELS_EN = {\n  'T0': 'Studio (T0)',\n  'T1': 'T1',\n  'T2': 'T2',\n  'T3': 'T3',\n  'T4+': 'T4+'\n};\n\nconst MUNICIPIOS = {\n  \"Aveiro\":[\"\u00c1gueda\",\"Albergaria-a-Velha\",\"Anadia\",\"Arouca\",\"Aveiro\",\"Castelo de Paiva\",\"Espinho\",\"Estarreja\",\"\u00cdlhavo\",\"Mealhada\",\"Murtosa\",\"Oliveira de Azem\u00e9is\",\"Oliveira do Bairro\",\"Ovar\",\"Santa Maria da Feira\",\"S\u00e3o Jo\u00e3o da Madeira\",\"Sever do Vouga\",\"Vagos\",\"Vale de Cambra\"],\n  \"Beja\":[\"Aljustrel\",\"Beja\",\"Castro Verde\",\"Ferreira do Alentejo\",\"Moura\",\"Odemira\"],\n  \"Braga\":[\"Amares\",\"Barcelos\",\"Braga\",\"Cabeceiras de Basto\",\"Celorico de Basto\",\"Esposende\",\"Fafe\",\"Guimar\u00e3es\",\"P\u00f3voa de Lanhoso\",\"Vieira do Minho\",\"Vila Nova de Famalic\u00e3o\",\"Vila Verde\",\"Vizela\"],\n  \"Bragan\u00e7a\":[\"Bragan\u00e7a\",\"Macedo de Cavaleiros\",\"Mirandela\",\"Mogadouro\",\"Vila Flor\"],\n  \"Castelo Branco\":[\"Belmonte\",\"Castelo Branco\",\"Covilh\u00e3\",\"Fund\u00e3o\",\"Sert\u00e3\"],\n  \"Coimbra\":[\"Arganil\",\"Cantanhede\",\"Coimbra\",\"Condeixa-a-Nova\",\"Figueira da Foz\",\"Lous\u00e3\",\"Mira\",\"Miranda do Corvo\",\"Montemor-o-Velho\",\"Oliveira do Hospital\",\"Penacova\",\"Soure\",\"T\u00e1bua\",\"Vila Nova de Poiares\"],\n  \"\u00c9vora\":[\"Arraiolos\",\"Borba\",\"Estremoz\",\"\u00c9vora\",\"Montemor-o-Novo\",\"Redondo\",\"Reguengos de Monsaraz\",\"Vendas Novas\",\"Vila Vi\u00e7osa\"],\n  \"Faro\":[\"Albufeira\",\"Aljezur\",\"Castro Marim\",\"Faro\",\"Lagoa\",\"Lagos\",\"Loul\u00e9\",\"Monchique\",\"Olh\u00e3o\",\"Portim\u00e3o\",\"S\u00e3o Br\u00e1s de Alportel\",\"Silves\",\"Tavira\",\"Vila do Bispo\",\"Vila Real de Santo Ant\u00f3nio\"],\n  \"Guarda\":[\"Gouveia\",\"Guarda\",\"Sabugal\",\"Seia\",\"Trancoso\",\"Vila Nova de Foz C\u00f4a\"],\n  \"Leiria\":[\"Alcoba\u00e7a\",\"Alvai\u00e1zere\",\"Ansi\u00e3o\",\"Batalha\",\"Bombarral\",\"Caldas da Rainha\",\"Leiria\",\"Marinha Grande\",\"Nazar\u00e9\",\"\u00d3bidos\",\"Peniche\",\"Pombal\",\"Porto de M\u00f3s\"],\n  \"Lisboa\":[\"Alenquer\",\"Amadora\",\"Arruda dos Vinhos\",\"Azambuja\",\"Cadaval\",\"Cascais\",\"Lisboa\",\"Loures\",\"Lourinh\u00e3\",\"Mafra\",\"Odivelas\",\"Oeiras\",\"Sintra\",\"Sobral de Monte Agra\u00e7o\",\"Torres Vedras\",\"Vila Franca de Xira\"],\n  \"Madeira\":[\"Funchal\"],\n  \"Portalegre\":[\"Campo Maior\",\"Elvas\",\"Ponte de Sor\",\"Portalegre\"],\n  \"Porto\":[\"Amarante\",\"Bai\u00e3o\",\"Felgueiras\",\"Gondomar\",\"Lousada\",\"Maia\",\"Marco de Canaveses\",\"Matosinhos\",\"Pa\u00e7os de Ferreira\",\"Paredes\",\"Penafiel\",\"Porto\",\"P\u00f3voa de Varzim\",\"Santo Tirso\",\"Trofa\",\"Valongo\",\"Vila do Conde\",\"Vila Nova de Gaia\"],\n  \"Santar\u00e9m\":[\"Abrantes\",\"Alcanena\",\"Almeirim\",\"Benavente\",\"Cartaxo\",\"Chamusca\",\"Coruche\",\"Entroncamento\",\"Ferreira do Z\u00eazere\",\"Our\u00e9m\",\"Rio Maior\",\"Salvaterra de Magos\",\"Santar\u00e9m\",\"Tomar\",\"Torres Novas\",\"Vila Nova da Barquinha\"],\n  \"Set\u00fabal\":[\"Alc\u00e1cer do Sal\",\"Alcochete\",\"Almada\",\"Barreiro\",\"Gr\u00e2ndola\",\"Moita\",\"Montijo\",\"Palmela\",\"Santiago do Cac\u00e9m\",\"Seixal\",\"Sesimbra\",\"Set\u00fabal\",\"Sines\"],\n  \"Viana do Castelo\":[\"Arcos de Valdevez\",\"Caminha\",\"Melga\u00e7o\",\"Mon\u00e7\u00e3o\",\"Paredes de Coura\",\"Ponte da Barca\",\"Ponte de Lima\",\"Valen\u00e7a\",\"Viana do Castelo\",\"Vila Nova de Cerveira\"],\n  \"Vila Real\":[\"Chaves\",\"Peso da R\u00e9gua\",\"Valpa\u00e7os\",\"Vila Pouca de Aguiar\",\"Vila Real\"],\n  \"Viseu\":[\"Carregal do Sal\",\"Castro Daire\",\"Cinf\u00e3es\",\"Lamego\",\"Mangualde\",\"Moimenta da Beira\",\"Mort\u00e1gua\",\"Nelas\",\"Oliveira de Frades\",\"Resende\",\"Santa Comba D\u00e3o\",\"S\u00e3o Pedro do Sul\",\"S\u00e1t\u00e3o\",\"Tondela\",\"Viseu\",\"Vouzela\"]\n};\n\nconst FREGUESIAS = {\n  \"Lisboa\":        { label: \"Freguesia\", list: [\"Alvalade\",\"Arroios\",\"Avenidas Novas\",\"Bel\u00e9m\",\"Benfica\",\"Campolide\",\"Campo de Ourique\",\"Carnide\",\"Estrela\",\"Lumiar\",\"Marvila\",\"Miseric\u00f3rdia\",\"Olivais\",\"Parque das Na\u00e7\u00f5es\",\"Penha de Fran\u00e7a\",\"Santa Clara\",\"Santa Maria Maior\",\"Santo Ant\u00f3nio\"] },\n  \"Porto\":         { label: \"Freguesia\", list: [\"Aldoar, Foz do Douro e Nevogilde\",\"Bonfim\",\"Campanh\u00e3\",\"Cedofeita, Santo Ildefonso, S\u00e9, Miragaia, S\u00e3o Nicolau e Vit\u00f3ria\",\"Lordelo do Ouro e Massarelos\",\"Paranhos\",\"Ramalde\"] },\n  \"Cascais\":       { label: \"Freguesia\", list: [\"Alcabideche\",\"Birre\",\"Cascais e Estoril\",\"Parede\",\"S\u00e3o Domingos de Rana\"] },\n  \"Braga\":         { label: \"Freguesia\", list: [\"Braga (S\u00e3o Jos\u00e9 de S\u00e3o L\u00e1zaro e S\u00e3o Jo\u00e3o do Souto)\",\"Gualtar\",\"Maximinos, S\u00e9 e Cividade\",\"Nogueir\u00f3 e Ten\u00f5es\"] },\n  \"Vila Nova de Gaia\": { label: \"Freguesia\", list: [\"Canelas\",\"Mafamude e Vilar do Para\u00edso\",\"Oliveira do Douro\",\"Santa Marinha e S\u00e3o Pedro da Afurada\"] },\n  \"Matosinhos\":    { label: \"Freguesia\", list: [\"Matosinhos e Le\u00e7a da Palmeira\",\"Perafita, Lavra e Santa Cruz do Bispo\",\"Senhora da Hora\"] },\n  \"Coimbra\":       { label: \"Freguesia\", list: [\"Eiras e S\u00e3o Paulo de Frades\",\"Santo Ant\u00f3nio dos Olivais\",\"S\u00e3o Martinho do Bispo e Ribeira de Frades\",\"S\u00e9 Nova, Santa Cruz, Almedina e S\u00e3o Bartolomeu\"] },\n  \"Loul\u00e9\":         { label: \"Freguesia\", list: [\"Almancil\",\"Loul\u00e9 (S\u00e3o Clemente)\",\"Quarteira\"] },\n  \"Faro\":          { label: \"Freguesia\", list: [\"Montenegro\",\"S\u00e9 e S\u00e3o Pedro\"] },\n  \"Albufeira\":     { label: \"Freguesia\", list: [\"Albufeira e Olhos de \u00c1gua\",\"Paderne\"] },\n  \"Sintra\":        { label: \"Freguesia\", list: [\"Agualva e Mira Sintra\",\"Cac\u00e9m e S\u00e3o Marcos\",\"Rio de Mouro\",\"Sintra (Santa Maria e S\u00e3o Miguel, S\u00e3o Martinho e S\u00e3o Pedro de Penaferrim)\"] },\n  \"Oeiras\":        { label: \"Freguesia\", list: [\"Alg\u00e9s, Linda-a-Velha e Cruz Quebrada-Dafundo\",\"Oeiras e S\u00e3o Juli\u00e3o da Barra, Pa\u00e7o de Arcos e Caxias\",\"Porto Salvo\"] }\n};\n\nconst selD = document.getElementById('en-distrito');\nconst selM = document.getElementById('en-municipio');\nconst selF = document.getElementById('en-freguesia');\nconst freqRow   = document.getElementById('en-freguesia-row');\nconst freqLabel = document.getElementById('en-freguesia-label');\nconst tipoSel   = document.getElementById('en-tipo');\nconst tipoCol   = document.getElementById('en-tipologia-col');\n\nObject.keys(MUNICIPIOS).sort().forEach(d => {\n  const o = document.createElement('option'); o.value = o.textContent = d; selD.appendChild(o);\n});\n\nselD.addEventListener('change', () => {\n  const d = selD.value;\n  selM.innerHTML = '';\n  selF.innerHTML = '<option value=\"\">All parishes (municipality average)<\/option>';\n  freqRow.style.display = 'none';\n  if (!d) { selM.innerHTML = '<option value=\"\">Select the district first<\/option>'; selM.disabled = true; return; }\n  const ph = document.createElement('option'); ph.value = ''; ph.textContent = 'Select...'; selM.appendChild(ph);\n  MUNICIPIOS[d].forEach(m => { const o = document.createElement('option'); o.value = o.textContent = m; selM.appendChild(o); });\n  selM.disabled = false;\n});\n\nselM.addEventListener('change', () => {\n  const m = selM.value;\n  selF.innerHTML = '<option value=\"\">All parishes (municipality average)<\/option>';\n  if (m && FREGUESIAS[m]) {\n    freqLabel.textContent = 'Parish';\n    FREGUESIAS[m].list.forEach(f => { const o = document.createElement('option'); o.value = o.textContent = f; selF.appendChild(o); });\n    freqRow.style.display = '';\n  } else {\n    freqRow.style.display = 'none';\n  }\n});\n\ntipoSel.addEventListener('change', () => {\n  const v = tipoSel.value;\n  if (v === 'Quarto') {\n    tipoCol.style.display = 'none';\n    document.getElementById('en-tipologia').value = 'T1';\n    if (document.getElementById('en-plus1')) document.getElementById('en-plus1').checked = false;\n  } else {\n    tipoCol.style.display = '';\n  }\n});\n\n\/* \u2500\u2500 Step navigation \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\nfunction showViewEN(view) {\n  ['en-step1', 'en-step2', 'en-view-result'].forEach(id => {\n    document.getElementById(id).classList.toggle('active', id === view);\n  });\n  const root = document.querySelector('.rental-widget');\n  if (root && root.getBoundingClientRect().top < 0) {\n    root.scrollIntoView({ behavior: 'smooth', block: 'start' });\n  }\n}\n\nfunction goToStep2EN() {\n  const err = document.getElementById('en-step1-error');\n  if (!selD.value || !selM.value || !tipoSel.value) {\n    err.textContent = 'Please fill in all required fields (marked with *).';\n    err.classList.add('visible');\n    trackEstimator('en', 'estimator_step1_error');\n    return;\n  }\n  err.classList.remove('visible');\n  const loc = selF.value ? `${selF.value}, ${selM.value}` : selM.value;\n  document.getElementById('en-step2-summary').innerHTML =\n    `<strong>${TYPE_LABELS_EN[tipoSel.value] || tipoSel.value}<\/strong> in <strong>${loc}<\/strong> \u00b7 district of ${selD.value}`;\n  trackEstimator('en', 'estimator_step1_continue', { distrito: selD.value, municipio: selM.value, property_type: tipoSel.value });\n  showViewEN('en-step2');\n}\n\nfunction goToStep1EN() {\n  document.getElementById('en-step2-error').classList.remove('visible');\n  trackEstimator('en', 'estimator_step2_back');\n  showViewEN('en-step1');\n}\n\nfunction goToStep2FromResultEN() { trackEstimator('en', 'estimator_result_edit'); showViewEN('en-step2'); }\n\nfunction toggleAdvancedEN() {\n  document.getElementById('en-adv-toggle').classList.toggle('open');\n  const nowOpen = document.getElementById('en-adv-section').classList.toggle('open');\n  trackEstimator('en', 'estimator_advanced_toggle', { open: nowOpen });\n}\n\nfunction toggleUpfrontEN() {\n  document.getElementById('en-upfront-detail').classList.toggle('open');\n}\n\n\/* \u2500\u2500 Behavioural analytics (PostHog, only if already loaded on the page;\n   otherwise these calls are a no-op \u2014 never loads a second script here) *\/\nfunction trackEstimator(locale, event, props) {\n  try {\n    if (typeof posthog !== 'undefined' && posthog && typeof posthog.capture === 'function') {\n      posthog.capture(event, Object.assign({ locale: locale }, props || {}));\n    }\n  } catch (e) { \/* PostHog not present \u2014 no-op *\/ }\n}\n\n\/* \u2500\u2500 Query logging (what users are searching for) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\nfunction logEstimatorQueryEN(payload) {\n  fetch(`${SUPABASE_URL}\/rest\/v1\/estimator_queries`, {\n    method: 'POST',\n    headers: {\n      'Content-Type': 'application\/json',\n      'apikey': SUPABASE_ANON,\n      'Authorization': `Bearer ${SUPABASE_ANON}`,\n      'Prefer': 'return=minimal'\n    },\n    body: JSON.stringify(payload)\n  }).catch(() => { \/* non-blocking *\/ });\n}\n\nasync function getEstimateEN() {\n  const distrito      = selD.value;\n  const municipio     = selM.value;\n  const freguesia     = selF.value || null;\n  const property_type = tipoSel.value;\n  const typology      = property_type === 'Quarto' ? 'T1' : bucketTypologyEN(document.getElementById('en-tipologia').value);\n  const user_m2_raw   = document.getElementById('en-m2-input').value;\n  const user_m2       = user_m2_raw ? parseFloat(user_m2_raw) : null;\n  const furnished     = document.getElementById('en-furnished').checked ? true : null;\n  const stepErr       = document.getElementById('en-step2-error');\n  stepErr.classList.remove('visible');\n\n  if (!distrito || !municipio || !property_type) {\n    stepErr.textContent = 'Location details are missing \u2014 go back to step 1.';\n    stepErr.classList.add('visible');\n    trackEstimator('en', 'estimator_step2_error', { reason: 'missing_location' });\n    return;\n  }\n  if (property_type !== 'Quarto' && !document.getElementById('en-tipologia').value) {\n    stepErr.textContent = 'Please choose the typology.';\n    stepErr.classList.add('visible');\n    trackEstimator('en', 'estimator_step2_error', { reason: 'missing_typology' });\n    return;\n  }\n  setLoadingEN(true);\n  const logBase = {\n    locale:         'en',\n    distrito, municipio, freguesia, property_type, typology,\n    typology_exact: property_type === 'Quarto' ? 'T1' : exactTypologyEN(),\n    user_m2,\n    furnished:      !!furnished,\n    floor_adj:      parseFloat(document.getElementById('en-floor').value) || 0,\n    condition_adj:  parseFloat(document.getElementById('en-condition').value) || 0,\n    lease_adj:      parseFloat(document.getElementById('en-lease').value) || 0,\n    parking:        document.getElementById('en-parking').checked,\n    outdoor:        document.getElementById('en-outdoor').checked,\n    pool:           document.getElementById('en-pool').checked,\n    concierge:      document.getElementById('en-concierge').checked,\n    gym:            document.getElementById('en-gym').checked,\n    storage:        document.getElementById('en-storage').checked,\n    nolift:         document.getElementById('en-nolift').checked,\n    page_url:       window.location.href\n  };\n  try {\n    const body = { distrito, municipio, property_type, typology };\n    if (freguesia) body.freguesia = freguesia;\n    if (furnished !== null) body.furnished = furnished;\n    if (user_m2)   body.user_m2   = user_m2;\n\n    const resp = await fetch(`${SUPABASE_URL}\/rest\/v1\/rpc\/get_rent_estimate`, {\n      method: 'POST',\n      headers: {\n        'Content-Type': 'application\/json',\n        'apikey': SUPABASE_ANON,\n        'Authorization': `Bearer ${SUPABASE_ANON}`\n      },\n      body: JSON.stringify(body)\n    });\n    if (!resp.ok) {\n      const e = await resp.json().catch(() => ({}));\n      throw new Error(e.message || `HTTP ${resp.status}`);\n    }\n    const data = await resp.json();\n    const row  = Array.isArray(data) ? data[0] : data;\n    if (!row || row.rent_median == null) {\n      logEstimatorQueryEN({ ...logBase, had_result: false, error_message: 'no_data' });\n      trackEstimator('en', 'estimator_result_shown', { had_data: false, distrito, municipio, property_type, typology });\n      showErrorEN('No data available for this combination.');\n      return;\n    }\n    logEstimatorQueryEN({\n      ...logBase,\n      had_result:  true,\n      rent_min:    row.rent_min,\n      rent_median: row.rent_median,\n      rent_max:    row.rent_max,\n      price_m2:    row.price_m2,\n      confidence:  row.confidence || row.sample_confidence || null,\n      resolved_at: row.resolved_at || null,\n      data_source: row.data_source || null,\n      data_period: row.data_period || null,\n      yoy_pct:     row.yoy_pct != null ? parseFloat(row.yoy_pct) : null\n    });\n    trackEstimator('en', 'estimator_result_shown', { had_data: true, distrito, municipio, property_type, typology, confidence: row.confidence || row.sample_confidence || null });\n    showResultEN(row, distrito, municipio, freguesia, property_type, typology, user_m2);\n  } catch(e) {\n    logEstimatorQueryEN({ ...logBase, had_result: false, error_message: String((e && e.message) || 'error').slice(0, 200) });\n    trackEstimator('en', 'estimator_result_error');\n    showErrorEN(e.message || 'Error getting the estimate. Please try again.');\n  } finally {\n    setLoadingEN(false);\n  }\n}\n\nfunction showResultEN(row, distrito, municipio, freguesia, tipo, tipologia, user_m2) {\n  const tipoLabel = TYPE_LABELS_EN[tipo] || tipo;\n  const typoLabel = tipo === 'Quarto' ? '' : ` \u00b7 ${TYPO_LABELS_EN[tipologia] || tipologia}`;\n  const loc       = freguesia ? `${freguesia}, ${municipio}` : municipio;\n\n  document.getElementById('en-location').innerHTML =\n    `<strong>${tipoLabel}${typoLabel}<\/strong> in <strong>${loc}<\/strong>, district of ${distrito}`;\n\n  const floorAdj    = parseFloat(document.getElementById('en-floor').value)     || 0;\n  const condAdj     = parseFloat(document.getElementById('en-condition').value)  || 0;\n  const leaseAdj    = parseFloat(document.getElementById('en-lease').value)      || 0;\n  const hasParking  = document.getElementById('en-parking').checked;\n  const hasOutdoor  = document.getElementById('en-outdoor').checked;\n  const hasPool     = document.getElementById('en-pool').checked;\n  const hasConcierge= document.getElementById('en-concierge').checked;\n  const hasGym      = document.getElementById('en-gym').checked;\n  const hasStorage  = document.getElementById('en-storage').checked;\n  const hasNolift   = document.getElementById('en-nolift').checked;\n  const furnished   = document.getElementById('en-furnished').checked;\n\n  const plus1El    = document.getElementById('en-plus1');\n  const hasPlus1   = !!(plus1El && plus1El.checked) && tipo !== 'Quarto';\n  const amenityPct = (hasOutdoor ? 0.07 : 0) + (hasPool ? 0.08 : 0) + (hasConcierge ? 0.06 : 0)\n                   + (hasGym ? 0.04 : 0) + (hasNolift ? -0.05 : 0) + (hasPlus1 ? 0.06 : 0);\n  const mult = 1 + floorAdj + condAdj + leaseAdj + amenityPct;\n\n  let adjMin    = parseFloat(row.rent_min)    * mult;\n  let adjMedian = parseFloat(row.rent_median) * mult;\n  let adjMax    = parseFloat(row.rent_max)    * mult;\n  let adjM2     = parseFloat(row.price_m2)    * mult;\n  if (hasParking) { adjMin += 75; adjMedian += 75; adjMax += 75; }\n  if (hasStorage) { adjMin += 30; adjMedian += 30; adjMax += 30; }\n\n  const badges = [];\n  if (furnished)     badges.push('Furnished +20%');\n  if (hasPlus1)      badges.push('Extra room +6%');\n  if (floorAdj < 0) badges.push('Ground floor \u22125%');\n  if (floorAdj > 0) badges.push('Top floor +5%');\n  if (condAdj > 0)  badges.push('Renovated +10%');\n  if (condAdj < 0)  badges.push('Needs works \u221215%');\n  if (hasParking)   badges.push('Parking +\u20ac75');\n  if (hasOutdoor)   badges.push('Outdoor +7%');\n  if (hasPool)      badges.push('Pool +8%');\n  if (hasConcierge) badges.push('Concierge +6%');\n  if (hasGym)       badges.push('Gym +4%');\n  if (hasStorage)   badges.push('Storage +\u20ac30');\n  if (hasNolift)    badges.push('No elevator \u22125%');\n  if (leaseAdj > 0) badges.push('Short term +25%');\n  if (user_m2)      badges.push(`${user_m2} m\u00b2`);\n\n  document.getElementById('en-adjustments').innerHTML = badges.map(b => `<span class=\"adj-badge\">${b}<\/span>`).join('');\n\n  const fmt = v => `\u20ac${Math.round(v).toLocaleString('en-GB')}`;\n  document.getElementById('en-range').innerHTML = `\n    <div class=\"price-block\"><span class=\"price-label\">Minimum<\/span><span class=\"price-value\">${fmt(adjMin)}\/mo<\/span><\/div>\n    <div class=\"range-divider\"><\/div>\n    <div class=\"price-block\"><span class=\"price-label\">Median<\/span><span class=\"price-value median\">${fmt(adjMedian)}\/mo<\/span><\/div>\n    <div class=\"range-divider\"><\/div>\n    <div class=\"price-block\"><span class=\"price-label\">Maximum<\/span><span class=\"price-value\">${fmt(adjMax)}\/mo<\/span><\/div>`;\n\n  const m2Text = row.price_m2\n    ? `<span><strong>\u20ac${adjM2.toFixed(2)}\/m\u00b2<\/strong> median price per m\u00b2<\/span>` : '<span><\/span>';\n  document.getElementById('en-m2-out').innerHTML = m2Text +\n    `<a href=\"#\" class=\"contrib-link\" id=\"en-contrib-trigger\" onclick=\"toggleContrib('en');return false;\">Is this right? Share what you pay <span class=\"arr\">\u2192<\/span><\/a>`;\n\n  \/* YoY *\/\n  const yoyEl = document.getElementById('en-yoy');\n  if (row.yoy_pct != null) {\n    const pct  = parseFloat(row.yoy_pct);\n    const cls  = pct > 0.4 ? 'up' : pct < -0.4 ? 'down' : 'flat';\n    const arrow = pct > 0.4 ? '\u2191' : pct < -0.4 ? '\u2193' : '\u2192';\n    const sign  = pct > 0 ? '+' : '';\n    yoyEl.innerHTML = `<span class=\"yoy-badge ${cls}\">${arrow} ${sign}${pct}%<\/span><span class=\"yoy-label\">vs. same quarter last year<\/span>`;\n  } else { yoyEl.innerHTML = ''; }\n\n  \/* Upfront costs: one line + expandable detail *\/\n  const deposit      = Math.round(adjMedian) * 2;\n  const firstMonth   = Math.round(adjMedian);\n  const totalUpfront = deposit + firstMonth;\n  document.getElementById('en-upfront-val').textContent = fmt(totalUpfront);\n  document.getElementById('en-upfront-detail').innerHTML =\n    `\ud83d\udd11 <strong>Upfront costs to expect:<\/strong> Portuguese landlords typically require\n    1 month's rent in advance + a 2-month deposit (cau\u00e7\u00e3o).\n    Based on this estimate: <strong>${fmt(firstMonth)}<\/strong> first month +\n    <strong>${fmt(deposit)}<\/strong> deposit = <strong>${fmt(totalUpfront)}<\/strong> upfront.`;\n  document.getElementById('en-upfront-detail').classList.remove('open');\n  document.getElementById('en-upfront-line').style.display = '';\n\n  \/* NRAU *\/\n  const nrauEl = document.getElementById('en-nrau');\n  if (nrauData) {\n    const pct  = parseFloat(nrauData.pct_increase);\n    const sign = pct > 0 ? '+' : '';\n    const maxIncrease = Math.round(adjMedian * (pct \/ 100));\n    nrauEl.innerHTML = `\u2696\ufe0f <strong>NRAU ${nrauData.year}:<\/strong> Maximum legal rent update for existing contracts: <strong>${sign}${pct}%<\/strong> (\u2248 ${sign}\u20ac${Math.abs(maxIncrease)}\/mo on this estimate). Ref: ${nrauData.portaria}.`;\n    nrauEl.style.display = '';\n  } else { nrauEl.style.display = 'none'; }\n\n  \/* Confidence *\/\n  const confEl  = document.getElementById('en-conf');\n  const confMap = {\n    high:   'High confidence',\n    medium: 'Medium confidence',\n    low:    'Low confidence \u2014 limited data'\n  };\n  const conf = (row.confidence || row.sample_confidence || 'medium').toLowerCase();\n  const geoLabels = {\n    freguesia:  '\ud83d\udccd Parish-level data',\n    munic\u00edpio:  '\ud83d\udccd Municipality-level data',\n    municipio:  '\ud83d\udccd Municipality-level data',\n    distrito:   '\ud83d\udccd District-level data'\n  };\n  const geoLabel = geoLabels[row.resolved_at] || (row.resolved_at ? `\ud83d\udccd ${row.resolved_at}` : '');\n  confEl.innerHTML = `\n    <span class=\"conf-badge ${conf}\"><span class=\"conf-dot\"><\/span>${confMap[conf] || conf}<\/span>\n    ${geoLabel ? `<span class=\"conf-geo\">${geoLabel}<\/span>` : ''}`;\n\n  \/* Single CTA: with the funnel ON it saves the draft and sends the visitor\n     to signup; while OFF it links to the free lease generator page. *\/\n  const ctaSub = funnelEnabled\n    ? 'Create a free account to save this property and generate a compliant lease in minutes.'\n    : 'Generate a legally compliant lease agreement in minutes.';\n  document.getElementById('en-cta').innerHTML = `\n    <div class=\"lease-cta\">\n      <div class=\"lease-cta-icon\"><svg viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\"><path d=\"M96 40h236a20 20 0 0 1 20 20v368a20 20 0 0 1-20 20H60a20 20 0 0 1-20-20V96z\" fill=\"#DDEBFA\"\/><path d=\"M96 40v36a20 20 0 0 1-20 20H40z\" fill=\"#6FAAE4\"\/><g fill=\"#9BA0E2\"><rect x=\"140\" y=\"76\" width=\"150\" height=\"18\" rx=\"9\"\/><rect x=\"140\" y=\"124\" width=\"112\" height=\"18\" rx=\"9\"\/><rect x=\"66\" y=\"176\" width=\"186\" height=\"18\" rx=\"9\"\/><rect x=\"66\" y=\"224\" width=\"186\" height=\"18\" rx=\"9\"\/><rect x=\"66\" y=\"272\" width=\"200\" height=\"18\" rx=\"9\"\/><rect x=\"66\" y=\"320\" width=\"186\" height=\"18\" rx=\"9\"\/><rect x=\"66\" y=\"368\" width=\"86\" height=\"18\" rx=\"9\"\/><\/g><g><path d=\"M282 128 340 96v128h-58z\" fill=\"#F2917C\"\/><path d=\"M412 112l56 24v88h-56z\" fill=\"#F2917C\"\/><path d=\"M340 24h72v200h-72z\" fill=\"#F8BCA8\"\/><path d=\"M340 96v128h-58v-96zM412 112l56 24v88h-56z\" fill=\"none\"\/><g fill=\"#fff\"><rect x=\"354\" y=\"88\" width=\"14\" height=\"16\"\/><rect x=\"384\" y=\"88\" width=\"14\" height=\"16\"\/><rect x=\"354\" y=\"120\" width=\"14\" height=\"16\"\/><rect x=\"384\" y=\"120\" width=\"14\" height=\"16\"\/><rect x=\"354\" y=\"152\" width=\"14\" height=\"16\"\/><rect x=\"384\" y=\"152\" width=\"14\" height=\"16\"\/><rect x=\"364\" y=\"184\" width=\"26\" height=\"40\"\/><\/g><\/g><g><circle cx=\"330\" cy=\"428\" r=\"72\" fill=\"#8B93D6\"\/><circle cx=\"330\" cy=\"428\" r=\"72\" fill=\"none\" stroke=\"#6A73BE\" stroke-width=\"14\"\/><path d=\"M368 390 466 292l24 24-22 22-16-4 4 16-14 14-16-4 4 16-30 30z\" fill=\"#8B93D6\"\/><path d=\"M466 292l24 24-22 22-16-4 4 16-14 14-16-4 4 16-8 8-24-24z\" fill=\"#6A73BE\"\/><rect x=\"296\" y=\"404\" width=\"70\" height=\"44\" rx=\"22\" transform=\"rotate(-45 331 426)\" fill=\"#EDEBFA\"\/><\/g><\/svg><\/div>\n      <div class=\"lease-cta-body\">\n        <div class=\"lease-cta-text\"><strong>Ready to formalize this tenancy?<\/strong><br>${ctaSub}<\/div>\n        <a href=\"https:\/\/aluseg.com\/free-lease-generator\/\" target=\"_blank\" id=\"en-cta-btn\">\n          <span id=\"en-cta-btn-label\">Generate Free Lease<\/span>\n        <\/a>\n        <div class=\"funnel-err\" id=\"en-funnel-err\"><\/div>\n      <\/div>\n    <\/div>`;\n  if (funnelEnabled) {\n    const btn = document.getElementById('en-cta-btn');\n    btn.removeAttribute('target');\n    btn.setAttribute('href', '#');\n    btn.addEventListener('click', submitDraftEN);\n  }\n  const ctaBtnEl = document.getElementById('en-cta-btn');\n  if (ctaBtnEl) ctaBtnEl.addEventListener('click', () => trackEstimator('en', 'estimator_cta_click', { funnel_enabled: funnelEnabled }));\n\n  const period = row.data_period || 'Q1 2025';\n  const source = row.data_source || 'INE-RENDAS-2025-1T';\n  document.getElementById('en-footer').innerHTML = `Source: ${source} \u2014 ${period}`;\n\n  \/* Contribution panel *\/\n  const wrap = document.getElementById('en-contribute-wrap');\n  wrap.style.display = '';\n  document.getElementById('en-contrib-trigger').classList.remove('open');\n  document.getElementById('en-contrib-panel').classList.remove('open');\n  document.getElementById('en-contrib-result').className = 'contrib-result';\n  document.getElementById('en-contrib-result').innerHTML = '';\n  document.getElementById('en-contrib-rent').value = '';\n  const prefillM2 = document.getElementById('en-m2-input').value;\n  document.getElementById('en-contrib-m2').value = prefillM2 || '';\n\n  wrap.dataset.median       = Math.round(adjMedian);\n  wrap.dataset.distrito     = distrito;\n  wrap.dataset.municipio    = municipio;\n  wrap.dataset.freguesia    = freguesia || '';\n  wrap.dataset.propertyType = tipo;\n  wrap.dataset.typology     = tipologia;\n  wrap.dataset.typologyExact = tipo === 'Quarto' ? 'T1' : (exactTypologyEN() || tipologia);\n  wrap.dataset.sizeM2       = prefillM2 || '';\n  wrap.dataset.furnished    = document.getElementById('en-furnished').checked ? 'true' : 'false';\n  wrap.dataset.floor        = document.getElementById('en-floor').value || '0';\n  wrap.dataset.condition    = document.getElementById('en-condition').value || '0';\n  wrap.dataset.lease        = document.getElementById('en-lease').value || '0';\n  wrap.dataset.parking      = document.getElementById('en-parking').checked ? 'true' : 'false';\n  wrap.dataset.outdoor      = document.getElementById('en-outdoor').checked ? 'true' : 'false';\n  wrap.dataset.pool         = document.getElementById('en-pool').checked ? 'true' : 'false';\n  wrap.dataset.concierge    = document.getElementById('en-concierge').checked ? 'true' : 'false';\n  wrap.dataset.gym          = document.getElementById('en-gym').checked ? 'true' : 'false';\n  wrap.dataset.storage      = document.getElementById('en-storage').checked ? 'true' : 'false';\n  wrap.dataset.nolift       = document.getElementById('en-nolift').checked ? 'true' : 'false';\n\n  document.getElementById('en-result').classList.remove('error');\n  showViewEN('en-view-result');\n}\n\nfunction showErrorEN(msg) {\n  document.getElementById('en-location').innerHTML   = '';\n  document.getElementById('en-yoy').innerHTML        = '';\n  document.getElementById('en-conf').innerHTML       = '';\n  document.getElementById('en-adjustments').innerHTML= '';\n  document.getElementById('en-range').innerHTML      = `<span class=\"error-msg\">\u26a0 ${msg}<\/span>`;\n  document.getElementById('en-m2-out').innerHTML     = '';\n  document.getElementById('en-upfront-line').style.display = 'none';\n  document.getElementById('en-upfront-detail').classList.remove('open');\n  document.getElementById('en-nrau').style.display   = 'none';\n  document.getElementById('en-cta').innerHTML        = '';\n  document.getElementById('en-contribute-wrap').style.display = 'none';\n  document.getElementById('en-footer').innerHTML     = '';\n  document.getElementById('en-result').classList.add('error');\n  showViewEN('en-view-result');\n}\n\nfunction setLoadingEN(on) {\n  document.getElementById('en-spinner').style.display  = on ? 'block' : 'none';\n  document.getElementById('en-btn-text').textContent   = on ? 'Calculating...' : 'Get estimate';\n  document.getElementById('en-btn').disabled = on;\n}\n\n\/* \u2500\u2500 KAN-16: draft submit \u2192 app signup \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\nconst TYPE_TO_APP = { 'Apartamento': 'apartment', 'Moradia': 'house', 'Studio\/Loft': 'studio', 'Quarto': 'room' };\n\nfunction submitDraftEN(e) {\n  e.preventDefault();\n  const wrap  = document.getElementById('en-contribute-wrap');\n  const err   = document.getElementById('en-funnel-err');\n  const label = document.getElementById('en-cta-btn-label');\n  if (!wrap || !label) return;\n  label.textContent = 'Saving\u2026';\n\n  const amenities = [];\n  if (wrap.dataset.parking   === 'true') amenities.push('Estacionamento');\n  if (wrap.dataset.outdoor   === 'true') amenities.push('Terra\u00e7o');\n  if (wrap.dataset.pool      === 'true') amenities.push('Piscina');\n  if (wrap.dataset.storage   === 'true') amenities.push('Arrumos');\n  if (wrap.dataset.concierge === 'true') amenities.push('Porteiro');\n  if (wrap.dataset.gym       === 'true') amenities.push('Gin\u00e1sio');\n\n  const condVal = parseFloat(wrap.dataset.condition) || 0;\n  const floorVal = parseFloat(wrap.dataset.floor) || 0;\n  const payload = {\n    distrito:      wrap.dataset.distrito,\n    municipio:     wrap.dataset.municipio,\n    freguesia:     wrap.dataset.freguesia || undefined,\n    property_type: TYPE_TO_APP[wrap.dataset.propertyType] || 'apartment',\n    typology:      wrap.dataset.typologyExact || wrap.dataset.typology,\n    area_m2:       wrap.dataset.sizeM2 ? parseFloat(wrap.dataset.sizeM2) : undefined,\n    condition:     condVal > 0 ? 'renovated' : condVal < 0 ? 'needs_works' : undefined,\n    furnished:     wrap.dataset.furnished === 'true',\n    amenities:     amenities.length ? amenities : undefined,\n    floor:         floorVal < 0 ? 'R\/C' : floorVal > 0 ? '\u00daltimo andar' : undefined,\n    estimated_median: parseFloat(wrap.dataset.median) || undefined,\n  };\n\n  fetch(APP_URL + '\/api\/estimator-draft', {\n    method: 'POST',\n    headers: { 'Content-Type': 'application\/json' },\n    body: JSON.stringify(payload),\n  })\n    .then(r => r.json().then(d => ({ ok: r.ok, d })))\n    .then(({ ok, d }) => {\n      if (ok && d && d.token) {\n        trackEstimator('en', 'estimator_draft_saved');\n        window.location.href = APP_URL + '\/login?mode=signup&draft=' + encodeURIComponent(d.token);\n      } else {\n        throw new Error((d && d.error) || 'error');\n      }\n    })\n    .catch(() => {\n      trackEstimator('en', 'estimator_draft_error');\n      label.textContent = 'Generate Free Lease';\n      if (err) { err.style.display = 'block'; err.textContent = 'Could not save right now \u2014 you can create an account at app.aluseg.com and fill it in manually.'; }\n    });\n}\n\n\/* \u2500\u2500 Contribution panel \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\nconst N8N_WEBHOOK = 'https:\/\/n8n.musko.io\/webhook\/rent-submission';\n\nfunction toggleContrib(prefix) {\n  const trigger = document.getElementById(`${prefix}-contrib-trigger`);\n  const panel   = document.getElementById(`${prefix}-contrib-panel`);\n  const isOpen  = panel.classList.toggle('open');\n  if (trigger) trigger.classList.toggle('open', isOpen);\n  if (isOpen) panel.scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n  trackEstimator(prefix, 'estimator_contribute_toggle', { open: isOpen });\n}\n\nasync function submitContrib(prefix) {\n  const wrap      = document.getElementById(`${prefix}-contribute-wrap`);\n  const rentInput = document.getElementById(`${prefix}-contrib-rent`);\n  const m2Input   = document.getElementById(`${prefix}-contrib-m2`);\n  const btn       = document.getElementById(`${prefix}-contrib-btn`);\n  const spinner   = document.getElementById(`${prefix}-contrib-spinner`);\n  const label     = document.getElementById(`${prefix}-contrib-btn-label`);\n  const resultEl  = document.getElementById(`${prefix}-contrib-result`);\n\n  const rent = parseFloat(rentInput.value);\n  if (!rent || rent < 50 || rent > 50000) {\n    rentInput.style.borderColor = '#e53e3e';\n    rentInput.focus();\n    return;\n  }\n  rentInput.style.borderColor = '';\n\n  const median     = parseFloat(wrap.dataset.median) || 0;\n  const floorVal   = parseFloat(wrap.dataset.floor) || 0;\n  const floorLabel = floorVal === -0.05 ? 'ground' : floorVal === 0.05 ? 'top' : null;\n  const condVal    = parseFloat(wrap.dataset.condition) || 0;\n  const conditionLabel = condVal > 0 ? 'renovated' : condVal < 0 ? 'degraded' : null;\n  const resolvedM2 = m2Input.value ? parseFloat(m2Input.value)\n                   : wrap.dataset.sizeM2 ? parseFloat(wrap.dataset.sizeM2)\n                   : null;\n\n  const payload = {\n    distrito:      wrap.dataset.distrito,\n    municipio:     wrap.dataset.municipio,\n    freguesia:     wrap.dataset.freguesia || null,\n    property_type: wrap.dataset.propertyType,\n    typology:      bucketTypologyEN(wrap.dataset.typology),\n    rent_monthly:  rent,\n    size_m2:       resolvedM2,\n    furnished:     wrap.dataset.furnished  === 'true',\n    floor:         floorLabel,\n    condition:     conditionLabel,\n    lease_type:    parseFloat(wrap.dataset.lease) > 0 ? 'short_term' : 'long_term',\n    parking:       wrap.dataset.parking   === 'true',\n    outdoor:       wrap.dataset.outdoor   === 'true',\n    pool:          wrap.dataset.pool      === 'true',\n    concierge:     wrap.dataset.concierge === 'true',\n    gym:           wrap.dataset.gym       === 'true',\n    storage:       wrap.dataset.storage   === 'true',\n    nolift:        wrap.dataset.nolift    === 'true',\n  };\n\n  btn.disabled = true;\n  spinner.style.display = 'block';\n  label.textContent = 'Sending\u2026';\n\n  try {\n    await fetch(N8N_WEBHOOK, {\n      method: 'POST',\n      headers: { 'Content-Type': 'application\/json' },\n      body: JSON.stringify(payload)\n    });\n  } catch(e) { \/* non-blocking *\/ }\n\n  resultEl.className = 'contrib-result';\n  resultEl.innerHTML = '';\n  let comparison = 'unknown';\n\n  if (median > 0) {\n    const diff    = rent - median;\n    const pct     = ((diff \/ median) * 100).toFixed(1);\n    const absDiff = Math.abs(diff);\n    const absPct  = Math.abs(pct);\n    const fmt     = v => `\u20ac${Math.round(v).toLocaleString('en-GB')}`;\n\n    if (absPct <= 5) {\n      comparison = 'aligned';\n      resultEl.classList.add('inline');\n      resultEl.innerHTML = `<span class=\"comp-pct\">\u2248 In line with the median<\/span>Your rent of ${fmt(rent)}\/mo is within 5% of the area median (${fmt(median)}\/mo). Aligned with market value.`;\n    } else if (diff > 0) {\n      comparison = 'above';\n      resultEl.classList.add('above');\n      resultEl.innerHTML = `<span class=\"comp-pct\">\u2191 ${absPct}% above the median<\/span>Your rent (${fmt(rent)}\/mo) is ${fmt(absDiff)} above the area median of ${fmt(median)}\/mo. You may have room to negotiate.`;\n    } else {\n      comparison = 'below';\n      resultEl.classList.add('below');\n      resultEl.innerHTML = `<span class=\"comp-pct\">\u2193 ${absPct}% below the median<\/span>Your rent (${fmt(rent)}\/mo) is ${fmt(absDiff)} below the area median of ${fmt(median)}\/mo. A good deal for this area.`;\n    }\n  } else {\n    resultEl.classList.add('inline');\n    resultEl.innerHTML = '\u2705 Thank you! Your data was recorded anonymously.';\n  }\n  trackEstimator(prefix, 'estimator_contribute_submit', { comparison: comparison });\n\n  resultEl.classList.add('visible');\n  btn.disabled = false;\n  spinner.style.display = 'none';\n  label.textContent = 'Sent \u2713';\n  setTimeout(() => { label.textContent = 'Submit anonymously'; btn.disabled = false; }, 4000);\n}\n<\/script>\n<\/body>\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<section class=\"elementor-element elementor-element-01f6228 e-flex e-con-boxed e-con e-parent\" data-id=\"01f6228\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-38c80d1 animated-slow elementor-invisible elementor-widget elementor-widget-jkit_heading\" data-id=\"38c80d1\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"jkit_heading.default\">\n\t\t\t\t\t<div  class=\"jeg-elementor-kit jkit-heading  align-center align-tablet- align-mobile- jeg_module__1_6a6b859c62f2f\" ><div class=\"heading-section-title  display-inline\"><h2 class=\"heading-title\">2026<span class=\"style-color\"><span> Portuguese Rental Market <\/span><\/span>Snapshot<\/h2><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c414728 elementor-widget elementor-widget-html\" data-id=\"c414728\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"rent-table-container\">\n  <style>\n    .rent-table-container {\n      width: 100%;\n      margin: 20px 0;\n      font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif;\n    }\n    .rent-table {\n      width: 100%;\n      border-collapse: collapse;\n      background-color: #ffffff;\n      box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);\n      border-radius: 8px;\n      overflow: hidden;\n    }\n    .rent-table th {\n      background-color: #f8f9fa;\n      color: #1a1a1a;\n      font-weight: 600;\n      text-align: left;\n      padding: 16px;\n      font-size: 14px;\n      border-bottom: 2px solid #e9ecef;\n    }\n    .rent-table td {\n      padding: 16px;\n      color: #4a5568;\n      font-size: 14px;\n      border-bottom: 1px solid #edf2f7;\n    }\n    .rent-table tbody tr:nth-of-type(even) {\n      background-color: #fcfcfc;\n    }\n    .rent-table tbody tr:hover {\n      background-color: #f7fafc;\n    }\n    .city-name {\n      font-weight: 600;\n      color: #2d3748;\n    }\n    .badge {\n      display: inline-block;\n      padding: 4px 8px;\n      border-radius: 4px;\n      font-size: 12px;\n      font-weight: 600;\n    }\n    .badge-very-high {\n      background-color: #fff5f5;\n      color: #e53e3e;\n    }\n    .badge-high {\n      background-color: #fffaf0;\n      color: #dd6b20;\n    }\n    .badge-medium-high {\n      background-color: #f6fedb;\n      color: #744210;\n    }\n\n    \/* --- RESPONSIVE MOBILE STYLES --- *\/\n    @media screen and (max-width: 600px) {\n      \/* Hide the traditional table header row entirely *\/\n      .rent-table thead {\n        display: none;\n      }\n      \n      \/* Make rows look like individual cards *\/\n      .rent-table tr {\n        display: block;\n        border: 1px solid #edf2f7;\n        border-radius: 8px;\n        margin-bottom: 16px;\n        box-shadow: 0 2px 4px rgba(0,0,0,0.02);\n        background: #ffffff;\n      }\n      \n      \/* Reset alternating background colors for mobile cards *\/\n      .rent-table tbody tr:nth-of-type(even) {\n        background-color: #ffffff;\n      }\n\n      \/* Transform cells into flex rows with labels on the left, data on the right *\/\n      .rent-table td {\n        display: flex;\n        justify-content: space-between;\n        align-items: center;\n        text-align: right;\n        padding: 12px 16px;\n        border-bottom: 1px solid #edf2f7;\n      }\n      \n      .rent-table td:last-child {\n        border-bottom: none;\n      }\n\n      \/* Dynamically insert column labels using data-label attributes *\/\n      .rent-table td::before {\n        content: attr(data-label);\n        font-weight: 600;\n        color: #718096;\n        text-align: left;\n        padding-right: 10px;\n        font-size: 13px;\n      }\n      \n      .city-name {\n        color: #2d3748;\n      }\n    }\n  <\/style>\n\n  <table class=\"rent-table\">\n    <thead>\n      <tr>\n        <th>Region \/ City<\/th>\n        <th>Average Rent Range (T1)<\/th>\n        <th>Average Rent Range (T2)<\/th>\n        <th>Market Heat Index<\/th>\n      <\/tr>\n    <\/thead>\n    <tbody>\n      <tr>\n        <td class=\"city-name\" data-label=\"Region \/ City\">Lisboa<\/td>\n        <td data-label=\"Average Rent Range (T1)\">\u20ac1,144 \u2013 \u20ac1,547\/mo<\/td>\n        <td data-label=\"Average Rent Range (T2)\">\u20ac1,568 \u2013 \u20ac2,121\/mo<\/td>\n        <td data-label=\"Market Heat Index\"><span class=\"badge badge-very-high\">Very High<\/span><\/td>\n      <\/tr>\n      <tr>\n        <td class=\"city-name\" data-label=\"Region \/ City\">Cascais<\/td>\n        <td data-label=\"Average Rent Range (T1)\">\u20ac1,059 \u2013 \u20ac1,433\/mo<\/td>\n        <td data-label=\"Average Rent Range (T2)\">\u20ac1,452 \u2013 \u20ac1,965\/mo<\/td>\n        <td data-label=\"Market Heat Index\"><span class=\"badge badge-very-high\">Very High<\/span><\/td>\n      <\/tr>\n      <tr>\n        <td class=\"city-name\" data-label=\"Region \/ City\">Porto<\/td>\n        <td data-label=\"Average Rent Range (T1)\">\u20ac888 \u2013 \u20ac1,201\/mo<\/td>\n        <td data-label=\"Average Rent Range (T2)\">\u20ac1,204 \u2013 \u20ac1,628\/mo<\/td>\n        <td data-label=\"Market Heat Index\"><span class=\"badge badge-high\">High<\/span><\/td>\n      <\/tr>\n      <tr>\n        <td class=\"city-name\" data-label=\"Region \/ City\">Faro (Algarve)<\/td>\n        <td data-label=\"Average Rent Range (T1)\">\u20ac690 \u2013 \u20ac934\/mo<\/td>\n        <td data-label=\"Average Rent Range (T2)\">\u20ac976 \u2013 \u20ac1,320\/mo<\/td>\n        <td data-label=\"Market Heat Index\"><span class=\"badge badge-high\">High<\/span><\/td>\n      <\/tr>\n      <tr>\n        <td class=\"city-name\" data-label=\"Region \/ City\">Braga<\/td>\n        <td data-label=\"Average Rent Range (T1)\">\u20ac503 \u2013 \u20ac680\/mo<\/td>\n        <td data-label=\"Average Rent Range (T2)\">\u20ac711 \u2013 \u20ac962\/mo<\/td>\n        <td data-label=\"Market Heat Index\"><span class=\"badge badge-medium-high\">Medium-High<\/span><\/td>\n      <\/tr>\n    <\/tbody>\n  <\/table>\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<section class=\"elementor-element elementor-element-73e407ca e-flex e-con-boxed e-con e-parent\" data-id=\"73e407ca\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-5493c77d e-con-full e-flex e-con e-child\" data-id=\"5493c77d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<span class=\"e-fab375f-88c8e2b e-paragraph-base\" data-interaction-id=\"fab375f\" data-e-type=\"widget\" data-id=\"fab375f\">What the Estimate Covers<\/span>\n\t\t\t\t<div class=\"elementor-element elementor-element-75bf974d animated-slow elementor-invisible elementor-widget elementor-widget-jkit_heading\" data-id=\"75bf974d\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"jkit_heading.default\">\n\t\t\t\t\t<div  class=\"jeg-elementor-kit jkit-heading  align-left align-tablet- align-mobile- jeg_module__2_6a6b859c63b75\" ><div class=\"heading-section-title  display-inline\"><h2 class=\"heading-title\">Comprehensive <span class=\"style-color\"><span>Rental Data Across Portugal<\/span><\/span><\/h2><\/div><\/div>\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-78b2a417 e-con-full e-flex e-con e-child\" data-id=\"78b2a417\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3b314e30 animated-slow elementor-invisible elementor-widget elementor-widget-text-editor\" data-id=\"3b314e30\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Our estimator monitors active data pipelines spanning every single district in mainland Portugal alongside the Azores and Madeira islands. By processing real-time asking prices rather than relying on lagging historical government surveys, we give you a live pulse of the market.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6babaf45 e-con-full e-grid e-con e-child\" data-id=\"6babaf45\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-38a8346c e-con-full e-transform animated-slow e-flex elementor-invisible e-con e-child\" data-id=\"38a8346c\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;gradient&quot;,&quot;_transform_translateY_effect_hover&quot;:{&quot;unit&quot;:&quot;rem&quot;,&quot;size&quot;:-0.25,&quot;sizes&quot;:[]},&quot;_transform_translateY_effect_hover_tablet&quot;:{&quot;unit&quot;:&quot;rem&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_translateY_effect_hover_mobile&quot;:{&quot;unit&quot;:&quot;rem&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;animation&quot;:&quot;fadeInUp&quot;,&quot;_transform_translateX_effect_hover&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_translateX_effect_hover_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_translateX_effect_hover_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-35dde8d7 elementor-view-stacked elementor-shape-circle elementor-position-block-start elementor-mobile-position-block-start elementor-widget elementor-widget-icon-box\" data-id=\"35dde8d7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<span  class=\"elementor-icon\">\n\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" id=\"Capa_1\" height=\"512\" viewBox=\"0 0 508.747 508.747\" width=\"512\"><path d=\"m164.255 370.837 15.271-1.58-5.549 35.738c-.704 4.534 2.797 8.652 7.42 8.652 3.635 0 6.827-2.647 7.402-6.35l6.13-39.479c1.219-7.849-5.326-14.692-13.18-13.87l-16.349 1.691-.68-3.74 24.469-21.478c3.961-3.478 5.21-9.062 3.108-13.895l-3.638-8.368c-2.566-5.9-9.294-8.755-15.319-6.493l-20.248 7.593-8.281-1.439 7.069-32.045h3.313c5.365 0 10.012-3.451 11.564-8.59l19.956-66.181c1.196-3.965-1.05-8.15-5.016-9.346-3.961-1.196-8.149 1.049-9.346 5.016l-19.329 64.102h-3.488c-5.624 0-10.585 3.986-11.797 9.478l-8.232 37.318c-1.481 6.711 2.95 13.327 9.729 14.505 18.715 3.253 11.706 4.011 36.776-5.39l1.682 3.869c-31.423 27.582-29.793 22.677-26.566 40.431 1.125 6.169 6.883 10.499 13.129 9.851z\"><\/path><path d=\"m374.521 53.331-18.687-13.496v-12.767c0-6.289-4.724-11.461-10.987-12.03l-35.089-3.19c-3.367-.305-6.739.826-9.239 3.109-4.759 4.346-3.935 9.326-3.935 15.976l-13.008 2.855c-1.443-4.764-5.749-8.294-10.973-8.55l-10.801-.527c-8.188-.39-11.092 6.065-14.359 11.136l-5.705-4.51 4.842-7.302c2.959-4.463 2.602-10.427-.867-14.502l-4.485-5.274c-3.82-4.491-10.278-5.57-15.349-2.572l-8.571 5.066-8.602-1.036c-4.536-.549-8.927 1.467-11.472 5.254l-16.953 25.22c-2.781 4.138-2.714 9.652.168 13.722l6.47 9.134c-4.006 5.547-8.282 9.867-5.722 16.943l15.089 41.643-15.352 50.793c-1.198 3.965 1.045 8.151 5.01 9.349 3.968 1.2 8.15-1.044 9.35-5.009l15.632-51.724c.747-2.474.674-5.175-.206-7.607l-14.893-41.101 4.474-6.196c3.027-4.19 3.054-9.839.065-14.056l-6.512-9.194 14.831-22.064c13.321 1.605 10.763 2.09 22.709-4.972l1.469 1.727-5.11 7.706c-3.444 5.193-2.313 12.289 2.575 16.154l10.338 8.171c5.578 4.409 13.78 3.065 17.646-2.936l4.444-6.899 6.663.325c1.481 6.271 7.776 10.442 14.347 9.003l18.328-4.023c5.499-1.208 9.49-6.17 9.49-11.799v-6.206l29.25 2.659v11.593c0 3.869 1.872 7.53 5.007 9.793l18.404 13.292-3.947 21.706-30.521 20.355-12.855 3.461c-5.264 1.417-8.939 6.214-8.939 11.665v7.938c0 4.28 2.297 8.279 5.993 10.435l10.496 6.122 3.14 32.961-11.113 4.763c-4.212 1.804-7.08 5.927-7.308 10.5-.79 15.783-1.193 13.839 11.699 24.798l-3.946 12.28-8.546 8.545-17.819-3.96c-9.394-2.088-17.351 7.146-13.896 16.129l16.23 42.198c1.354 3.521 4.329 6.241 7.955 7.277l11.445 3.27.764 13.758c-2.357 1.109-6.921 2.719-8.719 8.381-1.919 6.045 1.103 9.786 4.362 15.529l-7.272-1.581c-8.715-1.9-16.427 5.997-14.298 14.682l6.113 24.922c1.33 5.417 6.154 9.2 11.731 9.2h11.941l.275 8.537-24.862 11.357c-2.441 1.114-4.467 3.04-5.706 5.426l-7.846 15.124c-1.386 2.675-1.724 5.751-.95 8.661l9.447 35.566-34.558 19.304-75.52-11.794 7.555-45.067c.686-4.085-2.071-7.952-6.156-8.637-4.085-.682-7.952 2.072-8.637 6.157l-7.642 45.585c-1.24 7.978 4.241 15.481 12.219 16.728 82.217 12.841 76.587 12.041 78.229 12.041 2.494 0 4.976-.636 7.162-1.859l34.898-19.495c5.852-3.27 8.736-10.077 7.016-16.554l-9.227-34.735 6.86-13.223 25.718-11.748c4.442-2.03 7.211-6.496 7.054-11.377l-.429-13.306c-.213-6.555-5.516-11.689-12.074-11.689h-12.479l-4.452-18.153 9.086 1.975c4.651 1.011 9.478-.813 12.297-4.646 2.82-3.833 3.124-8.984.775-13.122l-5.024-8.852 1.278-.602c4.477-2.106 7.192-6.66 6.918-11.601l-.988-17.8c-.285-5.133-3.799-9.531-8.743-10.944l-12.042-3.44-13.754-35.758 14.071 3.127c4.053.901 8.227-.313 11.164-3.25 14.712-14.712 11.151-8.843 17.894-29.828 1.502-4.664.06-9.729-3.675-12.904l-8.262-7.023.252-5.04 11.398-4.885c4.846-2.076 7.767-6.998 7.267-12.249l-3.482-36.572c-.368-3.862-2.587-7.335-5.939-9.291l-10.341-6.032v-4.024c12.058-3.246 12.589-3.197 14.718-4.618l31.948-21.307c2.712-1.807 4.602-4.682 5.187-7.891l4.499-24.739c.829-4.547-1.06-9.239-4.811-11.948z\"><\/path><\/svg>\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h5 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\tAll 18 Mainland Districts \t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h5>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\t+ Autonomous Regions (A\u00e7ores &amp; Madeira).\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-c942830 e-con-full e-transform animated-slow e-flex elementor-invisible e-con e-child\" data-id=\"c942830\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;_transform_translateY_effect_hover&quot;:{&quot;unit&quot;:&quot;rem&quot;,&quot;size&quot;:-0.25,&quot;sizes&quot;:[]},&quot;_transform_translateY_effect_hover_tablet&quot;:{&quot;unit&quot;:&quot;rem&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_translateY_effect_hover_mobile&quot;:{&quot;unit&quot;:&quot;rem&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;animation&quot;:&quot;fadeInUp&quot;,&quot;animation_delay&quot;:100,&quot;_transform_translateX_effect_hover&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_translateX_effect_hover_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_translateX_effect_hover_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-537f8d9e elementor-view-stacked elementor-shape-circle elementor-position-block-start elementor-mobile-position-block-start elementor-widget elementor-widget-icon-box\" data-id=\"537f8d9e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<span  class=\"elementor-icon\">\n\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" id=\"Capa_1\" height=\"512\" viewBox=\"0 0 500.107 500.107\" width=\"512\"><path d=\"m252.788.019c-107.179-1.499-194.768 85.217-194.768 192.015 0 65.353 32.784 125.626 87.698 161.231 6.695 4.34 12.25 10.198 16.067 16.941l66.272 117.071c9.682 17.101 34.301 17.115 43.992 0l22.364-39.506c2.041-3.605.772-8.181-2.832-10.222-3.604-2.04-8.181-.772-10.222 2.832l-22.363 39.506c-3.937 6.953-13.947 6.958-17.886 0l-66.271-117.07c-5.001-8.834-12.25-16.49-20.961-22.137-50.631-32.828-80.858-88.396-80.858-148.645 0-97.616 79.416-177.033 177.032-177.033 96.265 0 175.641 78.965 177.016 174.421.879 60.397-28.772 117.515-80.875 151.28-8.686 5.628-15.921 13.274-20.924 22.112l-29.13 51.458c-2.041 3.604-.772 8.181 2.832 10.222 3.605 2.041 8.182.773 10.222-2.832l29.13-51.458c3.818-6.745 9.36-12.594 16.027-16.914 54.938-35.602 87.737-95.884 87.737-161.256 0-104.833-84.912-190.562-189.299-192.016z\"><\/path><path d=\"m133.292 244.941c-1.832-4.02-6.576-5.792-10.598-3.962-4.021 1.833-5.794 6.577-3.962 10.598 23.392 51.322 74.938 84.484 131.321 84.484 103.81 0 173.958-107.13 132.092-202.287-1.779-4.044-6.501-5.881-10.544-4.101-4.044 1.779-5.88 6.5-4.101 10.544 39.872 90.618-34.305 190.485-132.347 178.957v-51.294c38.895-3.781 69.399-36.653 69.399-76.524s-30.504-72.744-69.399-76.524v-50.394c47.231-5.491 91.898 15.647 118.235 51.406 2.621 3.558 7.627 4.317 11.186 1.697 3.558-2.62 4.317-7.628 1.697-11.186-13.131-17.83-30.445-32.615-50.069-42.759-106.747-55.177-232.338 38.199-207.345 157.858.905 4.333 5.151 7.097 9.467 6.195 4.325-.904 7.099-5.142 6.195-9.467-14.456-69.195 29.538-135.241 95.635-151.087v47.737c-38.89 3.785-69.39 36.656-69.39 76.524s30.499 72.738 69.39 76.523v48.609c-37.848-9.121-70.297-35.203-86.862-71.547zm32.472-53.585c0-34.129 27.766-61.895 61.895-61.895s61.895 27.766 61.895 61.895c0 34.128-27.764 61.893-61.891 61.895-.003 0-.005 0-.008 0-.002 0-.003 0-.005 0-34.125-.006-61.886-27.77-61.886-61.895z\"><\/path><path d=\"m271.439 204.559v-48.019c0-4.142-3.358-7.5-7.5-7.5h-72.561c-4.142 0-7.5 3.358-7.5 7.5v48.019c0 24.141 19.64 43.78 43.781 43.78s43.78-19.64 43.78-43.78zm-72.561 0v-40.519h57.561v40.519c0 15.87-12.911 28.78-28.78 28.78s-28.781-12.911-28.781-28.78z\"><\/path><path d=\"m215.092 191.184h-7.44c-1.208 0-2.188.979-2.188 2.188v5.631c0 3.263 2.645 5.908 5.908 5.908s5.908-2.645 5.908-5.908v-5.631c0-1.208-.98-2.188-2.188-2.188z\"><\/path><path d=\"m227.659 204.911c3.263 0 5.908-2.645 5.908-5.908v-5.631c0-1.208-.98-2.188-2.188-2.188h-7.44c-1.208 0-2.188.979-2.188 2.188v5.631c0 3.263 2.645 5.908 5.908 5.908z\"><\/path><path d=\"m227.659 186.087c3.263 0 5.908-2.645 5.908-5.908v-5.631c0-1.208-.98-2.188-2.188-2.188h-7.44c-1.208 0-2.188.979-2.188 2.188v5.631c0 3.263 2.645 5.908 5.908 5.908z\"><\/path><path d=\"m233.567 217.828v-5.631c0-1.208-.98-2.188-2.188-2.188h-7.44c-1.208 0-2.188.98-2.188 2.188v5.631c0 3.263 2.645 5.908 5.908 5.908s5.908-2.645 5.908-5.908z\"><\/path><path d=\"m243.946 204.911c3.263 0 5.908-2.645 5.908-5.908v-5.631c0-1.208-.98-2.188-2.188-2.188h-7.44c-1.208 0-2.188.979-2.188 2.188v5.631c0 3.263 2.645 5.908 5.908 5.908z\"><\/path><\/svg>\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h5 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\tDeep Parish-Level Visibility \t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h5>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\tfor high-velocity rental hubs across the country.\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-5cbe899b e-con-full e-transform animated-slow e-flex elementor-invisible e-con e-child\" data-id=\"5cbe899b\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;_transform_translateY_effect_hover&quot;:{&quot;unit&quot;:&quot;rem&quot;,&quot;size&quot;:-0.25,&quot;sizes&quot;:[]},&quot;_transform_translateY_effect_hover_tablet&quot;:{&quot;unit&quot;:&quot;rem&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_translateY_effect_hover_mobile&quot;:{&quot;unit&quot;:&quot;rem&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;animation&quot;:&quot;fadeInUp&quot;,&quot;_transform_translateX_effect_hover&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_translateX_effect_hover_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_translateX_effect_hover_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6c18d5ea elementor-view-stacked elementor-shape-circle elementor-position-block-start elementor-mobile-position-block-start elementor-widget elementor-widget-icon-box\" data-id=\"6c18d5ea\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<span  class=\"elementor-icon\">\n\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" id=\"Capa_1\" x=\"0px\" y=\"0px\" viewBox=\"0 0 512.001 512.001\" style=\"enable-background:new 0 0 512.001 512.001;\" xml:space=\"preserve\">  <g>\t<g>\t\t<path d=\"M503.28,44.897c4.817,0,8.721-3.905,8.721-8.721V8.721c0-4.816-3.903-8.721-8.721-8.721H108.633   c-4.816,0-8.721,3.905-8.721,8.721v394.645c0,4.816,3.905,8.721,8.721,8.721h394.645c4.817,0,8.721-3.905,8.721-8.721V65.245   c0-4.816-3.903-8.721-8.721-8.721c-4.817,0-8.721,3.905-8.721,8.721v149.416h-34.634c-4.817,0-8.721,3.905-8.721,8.721   s3.903,8.721,8.721,8.721h34.634v162.543H245.393v-42.197c0-4.816-3.905-8.721-8.721-8.721c-4.816,0-8.721,3.905-8.721,8.721   v42.197H117.354V17.442h110.598v272.218c0,4.816,3.905,8.721,8.721,8.721c4.816,0,8.721-3.905,8.721-8.721v-57.557h155.229   c4.817,0,8.721-3.905,8.721-8.721s-3.903-8.721-8.721-8.721H245.393V17.442h249.166v18.734   C494.559,40.992,498.462,44.897,503.28,44.897z\"><\/path>\t<\/g><\/g>  <g>\t<g>\t\t<path d=\"M73.679,50.331L44.902,4.112C43.31,1.555,40.51,0,37.499,0c-3.012,0-5.811,1.555-7.403,4.112L1.318,50.331   c-1.674,2.689-1.759,6.074-0.221,8.843s4.457,4.487,7.624,4.487h20.057v36.468c0,4.816,3.905,8.721,8.721,8.721   c4.816,0,8.721-3.905,8.721-8.721V63.661h20.057c3.167,0,6.086-1.717,7.624-4.487S75.354,53.019,73.679,50.331z M24.424,46.219   l13.074-20.998l13.074,20.998H24.424z\"><\/path>\t<\/g><\/g>  <g>\t<g>\t\t<path d=\"M73.9,352.914c-1.538-2.769-4.457-4.486-7.624-4.486H46.219V123.384c0-4.816-3.905-8.721-8.721-8.721   c-4.816,0-8.721,3.905-8.721,8.721v225.043H8.721c-3.167,0-6.086,1.717-7.624,4.487c-1.538,2.77-1.453,6.155,0.221,8.843   l28.777,46.219c1.592,2.557,4.391,4.112,7.403,4.112c3.013,0,5.812-1.555,7.403-4.112l28.777-46.219   C75.354,359.067,75.439,355.683,73.9,352.914z M37.499,386.868L24.424,365.87h26.148L37.499,386.868z\"><\/path>\t<\/g><\/g>  <g>\t<g>\t\t<path d=\"M507.889,467.099l-46.219-28.777c-2.689-1.674-6.074-1.758-8.843-0.221c-2.769,1.538-4.486,4.457-4.486,7.624v20.057   H163.573v-20.057c0-3.167-1.717-6.086-4.486-7.624c-2.769-1.537-6.153-1.453-8.844,0.221l-46.219,28.777   c-2.557,1.592-4.112,4.391-4.112,7.403s1.555,5.811,4.112,7.403l46.219,28.777c1.408,0.877,3.008,1.317,4.609,1.317   c1.457,0,2.915-0.364,4.234-1.096c2.77-1.538,4.487-4.457,4.487-7.624v-20.057H448.34v20.057c0,3.167,1.719,6.086,4.486,7.624   c1.32,0.733,2.778,1.096,4.235,1.096c1.601,0,3.201-0.441,4.609-1.317l46.219-28.777c2.557-1.592,4.112-4.391,4.112-7.403   C512.001,471.489,510.446,468.691,507.889,467.099z M146.131,487.576l-20.998-13.074l20.998-13.074V487.576z M465.782,487.576   v-26.148l21,13.074L465.782,487.576z\"><\/path>\t<\/g><\/g>  <g><\/g>  <g><\/g>  <g><\/g>  <g><\/g>  <g><\/g>  <g><\/g>  <g><\/g>  <g><\/g>  <g><\/g>  <g><\/g>  <g><\/g>  <g><\/g>  <g><\/g>  <g><\/g>  <g><\/g><\/svg>\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h5 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\tPortuguese Typologies\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h5>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\tFrom T0 studios and individual rooms up to expansive T4+ family homes.\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-5ff2705e e-con-full e-transform animated-slow e-flex elementor-invisible e-con e-child\" data-id=\"5ff2705e\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;_transform_translateY_effect_hover&quot;:{&quot;unit&quot;:&quot;rem&quot;,&quot;size&quot;:-0.25,&quot;sizes&quot;:[]},&quot;_transform_translateY_effect_hover_tablet&quot;:{&quot;unit&quot;:&quot;rem&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_translateY_effect_hover_mobile&quot;:{&quot;unit&quot;:&quot;rem&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;animation&quot;:&quot;fadeInUp&quot;,&quot;animation_delay&quot;:100,&quot;_transform_translateX_effect_hover&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_translateX_effect_hover_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_translateX_effect_hover_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2b82988b elementor-view-stacked elementor-shape-circle elementor-position-block-start elementor-mobile-position-block-start elementor-widget elementor-widget-icon-box\" data-id=\"2b82988b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<span  class=\"elementor-icon\">\n\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" id=\"Capa_1\" height=\"512\" viewBox=\"0 0 512.594 512.594\" width=\"512\"><g><path d=\"m353.879 285.635h-13.312c-3.7-14.695-9.52-28.735-17.319-41.775l9.425-9.424c9.37-9.37 9.37-24.618 0-33.988l-20.074-20.075c-9.371-9.369-24.618-9.369-33.989 0l-9.425 9.425c-13.042-7.8-27.081-13.62-41.774-17.318v-13.312c0-13.253-10.782-24.034-24.034-24.034h-28.388c-13.252 0-24.034 10.781-24.034 24.034v13.312c-14.694 3.7-28.734 9.521-41.774 17.319l-9.424-9.425c-9.371-9.369-24.618-9.369-33.989 0l-20.074 20.074c-9.371 9.371-9.371 24.619 0 33.99l9.424 9.423c-7.799 13.04-13.619 27.079-17.318 41.775h-13.315c-13.253 0-24.035 10.781-24.035 24.034v28.388c0 13.253 10.782 24.035 24.035 24.035h13.312c3.7 14.694 9.521 28.734 17.318 41.774l-9.424 9.424c-9.371 9.371-9.371 24.619 0 33.99l20.074 20.072c9.372 9.37 24.619 9.37 33.989 0l9.423-9.424c13.037 7.797 27.076 13.617 41.775 17.318v13.313c0 13.252 10.782 24.033 24.034 24.033h28.388c13.252 0 24.034-10.781 24.034-24.033v-13.313c14.696-3.7 28.735-9.521 41.775-17.318l9.424 9.424c9.372 9.37 24.619 9.37 33.989 0l20.073-20.072c9.371-9.371 9.371-24.619 0-33.989l-9.425-9.426c.901-1.516 1.827-3.142 2.856-5.018 1.993-3.632.664-8.19-2.967-10.184-3.633-1.993-8.191-.664-10.184 2.967-1.215 2.215-2.261 4.03-3.291 5.716-3.16 5.17-2.375 11.771 1.907 16.053l10.497 10.498c3.522 3.522 3.522 9.253 0 12.775l-20.073 20.072c-3.522 3.523-9.254 3.523-12.776 0l-10.496-10.495c-4.283-4.283-10.885-5.067-16.055-1.907-12.506 7.645-26.05 13.26-40.254 16.688-5.888 1.42-10 6.642-10 12.699v14.83c0 4.98-4.053 9.033-9.034 9.033h-28.388c-4.981 0-9.034-4.053-9.034-9.033v-14.83c0-6.058-4.112-11.279-9.999-12.699-14.208-3.43-27.753-9.044-40.256-16.688-5.171-3.161-11.773-2.377-16.054 1.906l-10.497 10.496c-3.522 3.523-9.254 3.523-12.776 0l-20.074-20.072c-3.522-3.522-3.522-9.253 0-12.776l10.499-10.497c4.283-4.283 5.067-10.885 1.907-16.055-7.646-12.507-13.26-26.051-16.688-40.255-1.42-5.888-6.643-9.999-12.699-9.999h-14.83c-4.982 0-9.035-4.053-9.035-9.035v-28.388c0-4.981 4.053-9.034 9.035-9.034h14.83c6.056 0 11.278-4.111 12.699-9.998 3.428-14.207 9.043-27.751 16.689-40.257 3.16-5.17 2.375-11.771-1.907-16.055l-10.497-10.496c-3.522-3.522-3.522-9.253 0-12.776l20.074-20.073c3.522-3.523 9.253-3.523 12.776-.001l10.496 10.497c4.283 4.284 10.885 5.069 16.055 1.908 12.507-7.646 26.051-13.262 40.254-16.689 5.888-1.42 10-6.642 10-12.698v-14.83c0-4.981 4.053-9.034 9.034-9.034h28.388c4.981 0 9.034 4.053 9.034 9.034v14.83c0 6.056 4.111 11.277 9.999 12.699 14.203 3.427 27.747 9.041 40.255 16.688 5.17 3.159 11.772 2.376 16.054-1.907l10.497-10.497c3.522-3.523 9.253-3.524 12.776 0l20.073 20.073c3.522 3.522 3.522 9.255 0 12.776l-10.497 10.496c-4.283 4.283-5.067 10.885-1.906 16.056 7.646 12.507 13.26 26.051 16.688 40.256 1.421 5.887 6.643 9.998 12.698 9.998h14.83c4.981 0 9.034 4.053 9.034 9.034v28.388c0 4.982-4.053 9.035-9.034 9.035h-14.83c-6.056 0-11.278 4.111-12.698 9.997-.47 1.945-1.042 4.066-1.75 6.485-1.164 3.975 1.115 8.142 5.09 9.306 3.976 1.16 8.141-1.115 9.305-5.091.604-2.061 1.121-3.938 1.568-5.697h13.315c13.252 0 24.034-10.782 24.034-24.035v-28.388c.002-13.252-10.779-24.033-24.032-24.033z\"><\/path><path d=\"m189.182 420.824c-22.043 0-42.815-7.209-60.07-20.849-3.25-2.569-7.966-2.018-10.535 1.233-2.569 3.249-2.017 7.966 1.233 10.534 19.93 15.754 43.918 24.081 69.372 24.081 61.735 0 111.961-50.226 111.961-111.961s-50.226-111.961-111.961-111.961-111.961 50.227-111.961 111.962c0 22.478 6.638 44.161 19.196 62.705 2.324 3.431 6.986 4.329 10.416 2.005 3.43-2.322 4.327-6.985 2.004-10.415-10.871-16.053-16.616-34.827-16.616-54.295 0-53.465 43.497-96.961 96.961-96.961s96.961 43.496 96.961 96.961-43.497 96.961-96.961 96.961z\"><\/path><path d=\"m490.445 129.247h-10.61c-3.142-12.163-7.966-23.801-14.364-34.648l7.511-7.511c8.46-8.46 8.46-22.227 0-30.688l-17.238-17.238c-8.461-8.459-22.227-8.459-30.687 0l-7.511 7.512c-10.846-6.397-22.482-11.222-34.648-14.364v-10.611c-.002-11.965-9.736-21.699-21.701-21.699h-24.379c-11.965 0-21.699 9.734-21.699 21.699v10.608c-12.165 3.143-23.802 7.968-34.649 14.365l-7.511-7.512c-8.461-8.459-22.227-8.459-30.687 0l-17.238 17.24c-4.098 4.099-6.355 9.548-6.355 15.344s2.257 11.245 6.356 15.343l7.511 7.512c-4.295 7.291-7.924 15.052-10.798 23.103-1.393 3.901.64 8.192 4.541 9.586 3.9 1.393 8.192-.64 9.585-4.541 2.772-7.764 6.33-15.221 10.574-22.162 2.971-4.859 2.234-11.064-1.792-15.088l-9.014-9.016c-1.266-1.265-1.962-2.947-1.962-4.736 0-1.79.697-3.473 1.962-4.737l17.238-17.238c2.612-2.613 6.862-2.612 9.474-.001l9.013 9.015c4.026 4.026 10.23 4.763 15.089 1.793 10.644-6.508 22.173-11.287 34.265-14.206 5.534-1.335 9.399-6.242 9.399-11.935v-12.737c0-3.694 3.005-6.699 6.699-6.699h24.379c3.694 0 6.699 3.005 6.699 6.699v12.735c0 5.692 3.865 10.6 9.397 11.935 12.093 2.919 23.622 7.698 34.267 14.206 4.858 2.969 11.063 2.231 15.088-1.792l9.015-9.015c2.613-2.614 6.862-2.612 9.474 0l17.238 17.237c2.612 2.612 2.612 6.863 0 9.476l-9.013 9.013c-4.027 4.024-4.765 10.229-1.793 15.09 6.507 10.646 11.287 22.174 14.205 34.264 1.334 5.534 6.242 9.399 11.935 9.399h12.736c3.694 0 6.699 3.005 6.699 6.699v24.379c0 3.693-3.005 6.698-6.699 6.698h-12.735c-5.692 0-10.6 3.865-11.935 9.397-2.918 12.092-7.698 23.621-14.206 34.267-2.97 4.858-2.233 11.063 1.792 15.089l9.014 9.014c1.265 1.265 1.962 2.947 1.962 4.736 0 1.79-.697 3.473-1.962 4.737l-17.239 17.238c-1.265 1.266-2.947 1.963-4.737 1.963s-3.472-.697-4.737-1.963l-9.014-9.014c-4.024-4.023-10.226-4.762-15.089-1.792-6.878 4.204-14.258 7.735-21.937 10.494-3.898 1.401-5.923 5.696-4.522 9.595 1.4 3.898 5.699 5.923 9.594 4.522 7.958-2.859 15.635-6.459 22.85-10.71l7.512 7.512c4.23 4.23 9.786 6.346 15.343 6.345 5.556 0 11.114-2.115 15.343-6.345l17.239-17.238c8.461-8.461 8.461-22.228 0-30.688l-7.511-7.51c6.398-10.848 11.223-22.485 14.364-34.649h10.609c11.965 0 21.699-9.733 21.699-21.698v-24.379c0-11.965-9.734-21.699-21.698-21.699z\"><\/path><path d=\"m426.77 189.821c-5.31 15.472-15.038 28.903-28.135 38.844-13.324 10.112-29.203 15.85-45.92 16.591-4.138.183-7.344 3.687-7.161 7.824.178 4.025 3.498 7.168 7.487 7.168.112 0 .225-.002.338-.008 19.776-.876 38.562-7.663 54.325-19.627 15.476-11.746 26.975-27.626 33.254-45.923 1.345-3.918-.742-8.184-4.659-9.528-3.918-1.348-8.185.741-9.529 4.659z\"><\/path><path d=\"m446.174 160.366c-.711-25.382-11.134-49.131-29.349-66.872-18.25-17.776-42.335-27.566-67.817-27.566-25.298 0-49.256 9.669-67.461 27.225-18.155 17.508-28.69 41.004-29.665 66.161-.16 4.139 3.065 7.624 7.205 7.784 4.116.171 7.624-3.065 7.785-7.204.824-21.269 9.733-41.137 25.088-55.944 15.395-14.846 35.655-23.021 57.049-23.021 21.55 0 41.917 8.279 57.351 23.312 15.405 15.005 24.22 35.087 24.821 56.547.114 4.069 3.448 7.29 7.493 7.29.071 0 .143-.001.214-.003 4.139-.118 7.402-3.568 7.286-7.709z\"><\/path><\/g><\/svg>\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h5 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\tAdvanced configuration\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h5>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\tFurnished, amenities, m\u00b2, conditions and more options to adjust the price.\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<section class=\"elementor-element elementor-element-6578ba61 e-flex e-con-boxed e-con e-child\" data-id=\"6578ba61\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-8ee9c77 e-con-full animated-slow elementor-hidden-tablet elementor-hidden-mobile e-flex elementor-invisible e-con e-child\" data-id=\"8ee9c77\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeInUp&quot;,&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1896c270 e-con-full e-flex e-con e-child\" data-id=\"1896c270\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<span class=\"e-68cf3bf-65c36f1 e-paragraph-base\" data-interaction-id=\"68cf3bf\" data-e-type=\"widget\" data-id=\"68cf3bf\">For Landlords<\/span>\n\t\t\t\t<div class=\"elementor-element elementor-element-16171fa0 animated-slow elementor-invisible elementor-widget elementor-widget-jkit_heading\" data-id=\"16171fa0\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"jkit_heading.default\">\n\t\t\t\t\t<div  class=\"jeg-elementor-kit jkit-heading  align-left align-tablet- align-mobile- jeg_module__3_6a6b859c64bdb\" ><div class=\"heading-section-title  display-inline\"><h2 class=\"heading-title\">Set the <span class=\"style-color\"><span>Ideal Asking Price <\/span><\/span>from Day One<\/h2><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-63b1f6d7 animated-slow elementor-widget-tablet__width-inherit elementor-invisible elementor-widget elementor-widget-text-editor\" data-id=\"63b1f6d7\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;,&quot;_animation_delay&quot;:500}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Correctly pricing a rental unit requires balancing yield against occupancy risk. Price too aggressively, and your asset sits empty\u2014where every vacant month permanently erases a large chunk of your annual returns. Price it too low, and you lock in sub-market performance for the duration of the lease.<\/p><p>Our estimator provides a reliable, data-validated starting point reflecting exactly what comparable properties are commanding right now.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-2978c058 e-con-full animated-slow e-flex elementor-invisible e-con e-child\" data-id=\"2978c058\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;gradient&quot;,&quot;animation&quot;:&quot;fadeInUp&quot;,&quot;animation_delay&quot;:300}\">\n\t\t<div class=\"elementor-element elementor-element-6210396b e-con-full e-flex e-con e-child\" data-id=\"6210396b\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2a94a5b1 elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"2a94a5b1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-check-circle\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Validate Value: Verify your target asking price prior to launching public listings.<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-check-circle\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Negotiate Professionally: Confidently justify your pricing structure to prospective high-quality tenants.<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-check-circle\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Optimize Features: Understand exactly how adding a parking space or upgrading furniture changes your monthly revenue potential.<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<section class=\"elementor-element elementor-element-3024426 e-flex e-con-boxed e-con e-child\" data-id=\"3024426\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-858d7e3 e-con-full e-flex e-con e-child\" data-id=\"858d7e3\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<span class=\"e-623bf72-63cc412 e-paragraph-base\" data-interaction-id=\"623bf72\" data-e-type=\"widget\" data-id=\"623bf72\">For Tenants<\/span>\n\t\t\t\t<div class=\"elementor-element elementor-element-c58bd22 animated-slow elementor-invisible elementor-widget elementor-widget-jkit_heading\" data-id=\"c58bd22\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"jkit_heading.default\">\n\t\t\t\t\t<div  class=\"jeg-elementor-kit jkit-heading  align-left align-tablet- align-mobile- jeg_module__4_6a6b859c65bd3\" ><div class=\"heading-section-title  display-inline\"><h2 class=\"heading-title\">Know <span class=\"style-color\"><span>local market realities <\/span><\/span>before signing a lease<\/h2><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2778cb7 animated-slow elementor-widget-tablet__width-inherit elementor-invisible elementor-widget elementor-widget-text-editor\" data-id=\"2778cb7\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;,&quot;_animation_delay&quot;:500}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Committing to a rental contract in Portugal represents a massive financial step. Our calculator empowers you to step into any property negotiation knowing whether an advertised monthly rent is overvalued, aligned with the neighborhood, or an exceptional deal.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-fbeb0ea e-con-full animated-slow e-flex elementor-invisible e-con e-child\" data-id=\"fbeb0ea\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;gradient&quot;,&quot;animation&quot;:&quot;fadeInUp&quot;,&quot;animation_delay&quot;:300}\">\n\t\t<div class=\"elementor-element elementor-element-e108e3d e-con-full e-flex e-con e-child\" data-id=\"e108e3d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-333c54e elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"333c54e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-check-circle\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Avoid Overpaying: Screen active listings against real market baselines before booking viewings.<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-check-circle\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Track Hyper-Local Shifts: Visualize exactly how crossing a parish border changes your purchasing power.<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-check-circle\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Factor Upfront Costs: Calculate your baseline expectations. Remember that landlords in Portugal standardly request a security deposit (cau\u00e7\u00e3o) alongside the first 1 to 2 months of rent upfront.<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-9438b9f e-con-full animated-slow elementor-hidden-tablet elementor-hidden-mobile e-flex elementor-invisible e-con e-child\" data-id=\"9438b9f\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeInUp&quot;,&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<section class=\"elementor-element elementor-element-4b4bae6e e-flex e-con-boxed e-con e-parent\" data-id=\"4b4bae6e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t\t<span class=\"e-b99e004-8aa5f4f e-paragraph-base\" data-interaction-id=\"b99e004\" data-e-type=\"widget\" data-id=\"b99e004\">FAQs<\/span>\n\t\t\t\t<div class=\"elementor-element elementor-element-c907141 animated-slow elementor-invisible elementor-widget elementor-widget-jkit_heading\" data-id=\"c907141\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"jkit_heading.default\">\n\t\t\t\t\t<div  class=\"jeg-elementor-kit jkit-heading  align-center align-tablet- align-mobile- jeg_module__5_6a6b859c66b99\" ><div class=\"heading-section-title  display-inline\"><h2 class=\"heading-title\">Common Questions About Our <span class=\"style-color\"><span>Rental Market Estimator<\/span><\/span><\/h2><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-148e690e animated-slow elementor-invisible elementor-widget elementor-widget-n-accordion\" data-id=\"148e690e\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;,&quot;default_state&quot;:&quot;expanded&quot;,&quot;max_items_expended&quot;:&quot;one&quot;,&quot;n_accordion_animation_duration&quot;:{&quot;unit&quot;:&quot;ms&quot;,&quot;size&quot;:400,&quot;sizes&quot;:[]}}\" data-widget_type=\"nested-accordion.default\">\n\t\t\t\t\t\t\t<div class=\"e-n-accordion\" aria-label=\"Accordion. Open links with Enter or Space, close with Escape, and navigate with Arrow Keys\">\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-3440\" class=\"e-n-accordion-item\" open>\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"1\" tabindex=\"0\" aria-expanded=\"true\" aria-controls=\"e-n-accordion-item-3440\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> How We Calculate Your Estimates <\/div><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><i aria-hidden=\"true\" class=\"jki jki-down-arrow1-light\"><\/i><\/span>\n\t\t\t<span class='e-closed'><i aria-hidden=\"true\" class=\"jki jki-up-arrow1-light\"><\/i><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-3440\" class=\"elementor-element elementor-element-39dee12c e-con-full e-flex e-con e-child\" data-id=\"39dee12c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-10c14a55 elementor-widget elementor-widget-text-editor\" data-id=\"10c14a55\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<ul><li><p data-path-to-node=\"65,0,0\"><b data-path-to-node=\"65,0,0\" data-index-in-node=\"0\">Primary Baseline Data:<\/b> Sourced via comprehensive aggregated public listings and market indexes matching current market environments.<\/p><\/li><li><p data-path-to-node=\"65,1,0\"><b data-path-to-node=\"65,1,0\" data-index-in-node=\"0\">Algorithmic Range Modeling:<\/b> We target the localized median price per square meter based on your geographic tier (Parish <span class=\"math-inline\" data-math=\"\\rightarrow\" data-index-in-node=\"120\">&gt;<\/span> Municipality <span class=\"math-inline\" data-math=\"\\rightarrow\" data-index-in-node=\"145\">&gt;<\/span> District fallback). We then multiply that baseline against the property&#8217;s size parameters and run secondary calculations to adjust for custom property variables.<\/p><\/li><li><p data-path-to-node=\"65,2,0\"><b data-path-to-node=\"65,2,0\" data-index-in-node=\"0\">Confidence Scores:<\/b> Every calculation displays a High, Medium, or Low confidence rating dictated by active data volume within that specific sub-market.<\/p><\/li><li><p data-path-to-node=\"65,3,0\"><b data-path-to-node=\"65,3,0\" data-index-in-node=\"0\">Maintenance Cadence:<\/b> The underlying data architecture updates quarterly to guarantee absolute relevance amid ongoing macroeconomic changes.<\/p><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-3441\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"2\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-3441\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> Is this Portugal rental price calculator completely free to use? <\/div><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><i aria-hidden=\"true\" class=\"jki jki-down-arrow1-light\"><\/i><\/span>\n\t\t\t<span class='e-closed'><i aria-hidden=\"true\" class=\"jki jki-up-arrow1-light\"><\/i><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-3441\" class=\"elementor-element elementor-element-24b3bc71 e-con-full e-flex e-con e-child\" data-id=\"24b3bc71\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1bb5f189 elementor-widget elementor-widget-text-editor\" data-id=\"1bb5f189\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Yes, this tool is entirely free for landlords, tenants, and real estate professionals. You do not need to create an account, provide an email address, or input a credit card to check market rates.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-3442\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"3\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-3442\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> How accurate is this rent estimator for high-demand areas like Lisbon and Porto? <\/div><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><i aria-hidden=\"true\" class=\"jki jki-down-arrow1-light\"><\/i><\/span>\n\t\t\t<span class='e-closed'><i aria-hidden=\"true\" class=\"jki jki-up-arrow1-light\"><\/i><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-3442\" class=\"elementor-element elementor-element-3e9818dc e-con-full e-flex e-con e-child\" data-id=\"3e9818dc\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4fb16d5b elementor-widget elementor-widget-text-editor\" data-id=\"4fb16d5b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>The estimates accurately reflect current open-market asking prices. Final closed transaction figures can occasionally vary by 2% to 8% depending on individual negotiation, lease lengths, and the specific seasonal demand window.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-3443\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"4\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-3443\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> Can I calculate rent prices in Faro, Albufeira, and the Algarve? <\/div><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><i aria-hidden=\"true\" class=\"jki jki-down-arrow1-light\"><\/i><\/span>\n\t\t\t<span class='e-closed'><i aria-hidden=\"true\" class=\"jki jki-up-arrow1-light\"><\/i><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-3443\" class=\"elementor-element elementor-element-1ba7b66d e-flex e-con-boxed e-con e-child\" data-id=\"1ba7b66d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-16c15fed elementor-widget elementor-widget-text-editor\" data-id=\"16c15fed\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Yes. Our database actively tracks the Algarve region (Faro district), providing high-confidence municipality data for Faro, Loul\u00e9, Albufeira, Portim\u00e3o, and surrounding coastal zones.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-3444\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"5\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-3444\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> What is the typical difference between furnished and unfurnished rentals in Portugal? <\/div><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><i aria-hidden=\"true\" class=\"jki jki-down-arrow1-light\"><\/i><\/span>\n\t\t\t<span class='e-closed'><i aria-hidden=\"true\" class=\"jki jki-up-arrow1-light\"><\/i><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-3444\" class=\"elementor-element elementor-element-39c008db e-flex e-con-boxed e-con e-child\" data-id=\"39c008db\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1b29b324 elementor-widget elementor-widget-text-editor\" data-id=\"1b29b324\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Furnished properties carry an average premium of 15% to 25% across Portugal&#8217;s major urban centers. Our tool defaults to a 20% upward adjustment when the furnished toggle is activated, closely aligning with active property market trends.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-3445\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"6\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-3445\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> Does this calculator account for official Portuguese rental laws and the NRAU? <\/div><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><i aria-hidden=\"true\" class=\"jki jki-down-arrow1-light\"><\/i><\/span>\n\t\t\t<span class='e-closed'><i aria-hidden=\"true\" class=\"jki jki-up-arrow1-light\"><\/i><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-3445\" class=\"elementor-element elementor-element-050da5c e-flex e-con-boxed e-con e-child\" data-id=\"050da5c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3919cb1 elementor-widget elementor-widget-text-editor\" data-id=\"3919cb1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\tThis tool functions exclusively as an informative market indicator and does not represent official legal or financial advice. All formal lease agreements in Portugal are governed by the NRAU (Novo Regime do Arrendamento Urbano). Annual statutory rent increases are tied to the official inflation coefficients published by the INE (Instituto Nacional de Estat\u00edstica).\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-3446\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"7\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-3446\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> Why Rely on Aluseg? <\/div><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><i aria-hidden=\"true\" class=\"jki jki-down-arrow1-light\"><\/i><\/span>\n\t\t\t<span class='e-closed'><i aria-hidden=\"true\" class=\"jki jki-up-arrow1-light\"><\/i><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-3446\" class=\"elementor-element elementor-element-f2f8372 e-flex e-con-boxed e-con e-child\" data-id=\"f2f8372\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-90a68b3 elementor-widget elementor-widget-text-editor\" data-id=\"90a68b3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<ul><li>100% Independent: We maintain an unbiased position without transactional commissions clouding our numbers.<\/li><li>Hyper-Localized Integrity: We drill down past generic regional metrics directly into individual parish realities.<\/li><li>Streamlined Transparency: Clear disclosure regarding our data boundaries, calculations, and update timelines.<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<script type=\"application\/ld+json\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"How We Calculate Your Estimates\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Primary Baseline Data: Sourced via comprehensive aggregated public listings and market indexes matching current market environments.Algorithmic Range Modeling: We target the localized median price per square meter based on your geographic tier (Parish &gt; Municipality &gt; District fallback). We then multiply that baseline against the property&#8217;s size parameters and run secondary calculations to adjust for custom property variables.Confidence Scores: Every calculation displays a High, Medium, or Low confidence rating dictated by active data volume within that specific sub-market.Maintenance Cadence: The underlying data architecture updates quarterly to guarantee absolute relevance amid ongoing macroeconomic changes.\"}},{\"@type\":\"Question\",\"name\":\"Is this Portugal rental price calculator completely free to use?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes, this tool is entirely free for landlords, tenants, and real estate professionals. You do not need to create an account, provide an email address, or input a credit card to check market rates.\"}},{\"@type\":\"Question\",\"name\":\"How accurate is this rent estimator for high-demand areas like Lisbon and Porto?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"The estimates accurately reflect current open-market asking prices. Final closed transaction figures can occasionally vary by 2% to 8% depending on individual negotiation, lease lengths, and the specific seasonal demand window.\"}},{\"@type\":\"Question\",\"name\":\"Can I calculate rent prices in Faro, Albufeira, and the Algarve?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes. Our database actively tracks the Algarve region (Faro district), providing high-confidence municipality data for Faro, Loul\\u00e9, Albufeira, Portim\\u00e3o, and surrounding coastal zones.\"}},{\"@type\":\"Question\",\"name\":\"What is the typical difference between furnished and unfurnished rentals in Portugal?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Furnished properties carry an average premium of 15% to 25% across Portugal&#8217;s major urban centers. Our tool defaults to a 20% upward adjustment when the furnished toggle is activated, closely aligning with active property market trends.\"}},{\"@type\":\"Question\",\"name\":\"Does this calculator account for official Portuguese rental laws and the NRAU?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"This tool functions exclusively as an informative market indicator and does not represent official legal or financial advice. All formal lease agreements in Portugal are governed by the NRAU (Novo Regime do Arrendamento Urbano). Annual statutory rent increases are tied to the official inflation coefficients published by the INE (Instituto Nacional de Estat\\u00edstica).\"}},{\"@type\":\"Question\",\"name\":\"Why Rely on Aluseg?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"100% Independent: We maintain an unbiased position without transactional commissions clouding our numbers.Hyper-Localized Integrity: We drill down past generic regional metrics directly into individual parish realities.Streamlined Transparency: Clear disclosure regarding our data boundaries, calculations, and update timelines.\"}}]}<\/script>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<section class=\"elementor-element elementor-element-7e0f0903 e-con-full e-flex e-con e-parent\" data-id=\"7e0f0903\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-2d1e5110 e-flex e-con-boxed e-con e-child\" data-id=\"2d1e5110\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-13293667 elementor-widget__width-initial animated-slow elementor-widget-mobile__width-inherit elementor-invisible elementor-widget elementor-widget-jkit_heading\" data-id=\"13293667\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"jkit_heading.default\">\n\t\t\t\t\t<div  class=\"jeg-elementor-kit jkit-heading  align- align-tablet- align-mobile- jeg_module__6_6a6b859c70124\" ><div class=\"heading-section-title  display-inline\"><h2 class=\"heading-title\">Ready to Evaluate <span class=\"style-color\"><span>Your Rental Value?<\/span><\/span><\/h2><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7accc515 elementor-widget__width-initial animated-slow elementor-invisible elementor-widget elementor-widget-text-editor\" data-id=\"7accc515\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Utilize our calculator module above to instantly pull your property&#8217;s 2026 market range, or discover how <b data-path-to-node=\"85\" data-index-in-node=\"105\">Aluseg <\/b>protects property owners against rental default through our dedicated landlord defense solutions.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-ecbc716 e-con-full e-flex e-con e-child\" data-id=\"ecbc716\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1c4c721e e-transform animated-slow elementor-invisible elementor-widget elementor-widget-button\" data-id=\"1c4c721e\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_transform_translateY_effect_hover&quot;:{&quot;unit&quot;:&quot;rem&quot;,&quot;size&quot;:-0.25,&quot;sizes&quot;:[]},&quot;_transform_translateY_effect_hover_tablet&quot;:{&quot;unit&quot;:&quot;rem&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_translateY_effect_hover_mobile&quot;:{&quot;unit&quot;:&quot;rem&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_animation&quot;:&quot;fadeInUp&quot;,&quot;_transform_translateX_effect_hover&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_translateX_effect_hover_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_translateX_effect_hover_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"#estimator\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"jki jki-right-arrow-light\"><\/i>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Try the Estimator<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d6d635b e-transform animated-slow elementor-invisible elementor-widget elementor-widget-button\" data-id=\"d6d635b\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_transform_translateY_effect_hover&quot;:{&quot;unit&quot;:&quot;rem&quot;,&quot;size&quot;:-0.25,&quot;sizes&quot;:[]},&quot;_transform_translateY_effect_hover_tablet&quot;:{&quot;unit&quot;:&quot;rem&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_translateY_effect_hover_mobile&quot;:{&quot;unit&quot;:&quot;rem&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_animation&quot;:&quot;fadeInUp&quot;,&quot;_transform_translateX_effect_hover&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_translateX_effect_hover_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_translateX_effect_hover_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/aluseg.com\/en\/free-lease-generator\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"jki jki-right-arrow-light\"><\/i>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Generate legal Lease<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/section>\n\t\t<div class=\"elementor-element elementor-element-7d9c5b9 elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-mobile e-flex e-con-boxed e-con e-parent\" data-id=\"7d9c5b9\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-0580d57 e-con-full e-flex e-con e-child\" data-id=\"0580d57\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<h3 data-interaction-id=\"7d5b038\" class=\"e-heading-base\" data-e-type=\"widget\" data-id=\"7d5b038\">Help us build a real<br>rental price database<\/h3>\n\t\t\t\t\t<p class=\"e-paragraph-base\" data-interaction-id=\"37de028\" data-e-type=\"widget\" data-id=\"37de028\">Official statistics don't always reflect the real market. Share your current rent anonymously and help other tenants make better-informed decisions.<\/p>\n\t\t<div class=\"elementor-element elementor-element-0e98009 e-con e-atomic-element e-flexbox-base e-0e98009-6382f86 \" data-id=\"0e98009\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"0e98009\" data-e-type=\"e-flexbox\" data-id=\"0e98009\">\n    \t\t<div class=\"elementor-element elementor-element-fb893b6 elementor-view-stacked elementor-shape-circle elementor-position-block-start elementor-mobile-position-block-start elementor-widget elementor-widget-icon-box\" data-id=\"fb893b6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<span  class=\"elementor-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"jki jki-eye-off-line\"><\/i>\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\tAnonymous\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-31eb2dc elementor-view-stacked elementor-shape-circle elementor-position-block-start elementor-mobile-position-block-start elementor-widget elementor-widget-icon-box\" data-id=\"31eb2dc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<span  class=\"elementor-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"jki jki-gift-light\"><\/i>\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\tCompletly Free\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0ddef66 elementor-view-stacked elementor-shape-circle elementor-position-block-start elementor-mobile-position-block-start elementor-widget elementor-widget-icon-box\" data-id=\"0ddef66\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<span  class=\"elementor-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"jki jki-clock11-light\"><\/i>\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\t 1 minute\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\n<\/div>\n\t\t\t<p class=\"e-a48eb73-7a99866 e-paragraph-base\" data-interaction-id=\"a48eb73\" data-e-type=\"widget\" data-id=\"a48eb73\">We do not collect personal data. Your submission is fully anonymous and will only be used to improve AluSeg rent estimates.<\/p>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-64c83d5 e-con-full animated-slow e-flex elementor-invisible e-con e-child\" data-id=\"64c83d5\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;animation&quot;:&quot;fadeInUp&quot;,&quot;animation_delay&quot;:100}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-478be0a elementor-button-align-stretch elementor-widget elementor-widget-form\" data-id=\"478be0a\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;step_next_label&quot;:&quot;Next&quot;,&quot;step_previous_label&quot;:&quot;Previous&quot;,&quot;button_width&quot;:&quot;100&quot;,&quot;step_type&quot;:&quot;number_text&quot;,&quot;step_icon_shape&quot;:&quot;circle&quot;}\" data-widget_type=\"form.default\">\n\t\t\t\t\t\t\t<form class=\"elementor-form\" method=\"post\" name=\"New Form\" aria-label=\"New Form\">\n\t\t\t<input type=\"hidden\" name=\"post_id\" value=\"70\"\/>\n\t\t\t<input type=\"hidden\" name=\"form_id\" value=\"478be0a\"\/>\n\t\t\t<input type=\"hidden\" name=\"referer_title\" value=\"Portugal Rent Price Simulator 2026 | Aluseg\" \/>\n\n\t\t\t\t\t\t\t<input type=\"hidden\" name=\"queried_id\" value=\"70\"\/>\n\t\t\t\n\t\t\t<div class=\"elementor-form-fields-wrapper elementor-labels-above\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-step elementor-field-group elementor-column elementor-field-group-field_85997dd elementor-col-100\">\n\t\t\t\t\t\t\t<div class=\"e-field-step elementor-hidden\" data-label=\"Rent Information\" data-previousButton=\"\" data-nextButton=\"\" data-iconUrl=\"\" data-iconLibrary=\"fas fa-star\" data-icon=\"\" ><\/div>\n\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-select elementor-field-group elementor-column elementor-field-group-field_13579eb elementor-col-50\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-field_13579eb\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tDistrict\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field elementor-select-wrapper remove-before \">\n\t\t\t<div class=\"select-caret-down-wrapper\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"eicon-caret-down\"><\/i>\t\t\t<\/div>\n\t\t\t<select name=\"form_fields[field_13579eb]\" id=\"form-field-field_13579eb\" class=\"elementor-field-textual elementor-size-sm\">\n\t\t\t\t\t\t\t\t\t<option value=\"Aveiro\">Aveiro<\/option>\n\t\t\t\t\t\t\t\t\t<option value=\"Beja\">Beja<\/option>\n\t\t\t\t\t\t\t\t\t<option value=\"Braga\">Braga<\/option>\n\t\t\t\t\t\t\t\t\t<option value=\"Bragan\u00e7a\">Bragan\u00e7a<\/option>\n\t\t\t\t\t\t\t\t\t<option value=\"Castelo Branco\">Castelo Branco<\/option>\n\t\t\t\t\t\t\t\t\t<option value=\"Coimbra\">Coimbra<\/option>\n\t\t\t\t\t\t\t\t\t<option value=\"\u00c9vora\">\u00c9vora<\/option>\n\t\t\t\t\t\t\t\t\t<option value=\"Faro\">Faro<\/option>\n\t\t\t\t\t\t\t\t\t<option value=\"Guarda\">Guarda<\/option>\n\t\t\t\t\t\t\t\t\t<option value=\"Leiria\">Leiria<\/option>\n\t\t\t\t\t\t\t\t\t<option value=\"Lisboa\">Lisboa<\/option>\n\t\t\t\t\t\t\t\t\t<option value=\"Portalegre\">Portalegre<\/option>\n\t\t\t\t\t\t\t\t\t<option value=\"Porto\">Porto<\/option>\n\t\t\t\t\t\t\t\t\t<option value=\"Santar\u00e9m\">Santar\u00e9m<\/option>\n\t\t\t\t\t\t\t\t\t<option value=\"Set\u00fabal\">Set\u00fabal<\/option>\n\t\t\t\t\t\t\t\t\t<option value=\"Viana do Castelo\">Viana do Castelo<\/option>\n\t\t\t\t\t\t\t\t\t<option value=\"Vila Real\">Vila Real<\/option>\n\t\t\t\t\t\t\t\t\t<option value=\"Viseu\">Viseu<\/option>\n\t\t\t\t\t\t\t<\/select>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-text elementor-field-group elementor-column elementor-field-group-municipality elementor-col-50 elementor-field-required\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-municipality\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tMunicipality \t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"text\" name=\"form_fields[municipality]\" id=\"form-field-municipality\" class=\"elementor-field elementor-size-sm  elementor-field-textual\" placeholder=\"Ex: Sintra\" required=\"required\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-text elementor-field-group elementor-column elementor-field-group-parish elementor-col-50\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-parish\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tParish\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"text\" name=\"form_fields[parish]\" id=\"form-field-parish\" class=\"elementor-field elementor-size-sm  elementor-field-textual\" placeholder=\"Ex: Massam\u00e1\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-html elementor-field-group elementor-column elementor-field-group-field_f5e74d7 elementor-col-100\">\n\t\t\t\t\t<hr>\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-select elementor-field-group elementor-column elementor-field-group-propertytype elementor-col-50 elementor-field-required\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-propertytype\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tType\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field elementor-select-wrapper remove-before \">\n\t\t\t<div class=\"select-caret-down-wrapper\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"eicon-caret-down\"><\/i>\t\t\t<\/div>\n\t\t\t<select name=\"form_fields[propertytype]\" id=\"form-field-propertytype\" class=\"elementor-field-textual elementor-size-sm\" required=\"required\">\n\t\t\t\t\t\t\t\t\t<option value=\"House\">House<\/option>\n\t\t\t\t\t\t\t\t\t<option value=\"Apartment\">Apartment<\/option>\n\t\t\t\t\t\t\t\t\t<option value=\"Quinta\">Quinta<\/option>\n\t\t\t\t\t\t\t\t\t<option value=\"Room\">Room<\/option>\n\t\t\t\t\t\t\t\t\t<option value=\"Studio\">Studio<\/option>\n\t\t\t\t\t\t\t<\/select>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-select elementor-field-group elementor-column elementor-field-group-Typology elementor-col-50 elementor-field-required\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-Typology\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tTypology\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field elementor-select-wrapper remove-before \">\n\t\t\t<div class=\"select-caret-down-wrapper\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"eicon-caret-down\"><\/i>\t\t\t<\/div>\n\t\t\t<select name=\"form_fields[Typology]\" id=\"form-field-Typology\" class=\"elementor-field-textual elementor-size-sm\" required=\"required\">\n\t\t\t\t\t\t\t\t\t<option value=\"T0 (room)\">T0 (room)<\/option>\n\t\t\t\t\t\t\t\t\t<option value=\"T1\">T1<\/option>\n\t\t\t\t\t\t\t\t\t<option value=\"T2\">T2<\/option>\n\t\t\t\t\t\t\t\t\t<option value=\"T3\">T3<\/option>\n\t\t\t\t\t\t\t\t\t<option value=\"T4\">T4<\/option>\n\t\t\t\t\t\t\t\t\t<option value=\"T5+\">T5+<\/option>\n\t\t\t\t\t\t\t<\/select>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-number elementor-field-group elementor-column elementor-field-group-rent elementor-col-100 elementor-field-required\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-rent\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tMonthly Rent (\u20ac)\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t\t<input type=\"number\" name=\"form_fields[rent]\" id=\"form-field-rent\" class=\"elementor-field elementor-size-sm  elementor-field-textual\" placeholder=\"800\" required=\"required\" min=\"\" max=\"\" >\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-step elementor-field-group elementor-column elementor-field-group-field_42ae81f elementor-col-100\">\n\t\t\t\t\t\t\t<div class=\"e-field-step elementor-hidden\" data-label=\"Additional details\" data-previousButton=\"\" data-nextButton=\"\" data-iconUrl=\"\" data-iconLibrary=\"fas fa-star\" data-icon=\"\" ><\/div>\n\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-checkbox elementor-field-group elementor-column elementor-field-group-message elementor-col-100\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-message\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tAdditional Information\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t<div class=\"elementor-field-subgroup  elementor-subgroup-inline\"><span class=\"elementor-field-option\"><input type=\"checkbox\" value=\"Parking\" id=\"form-field-message-0\" name=\"form_fields[message][]\"> <label for=\"form-field-message-0\">Parking<\/label><\/span><span class=\"elementor-field-option\"><input type=\"checkbox\" value=\"Swimming pool\" id=\"form-field-message-1\" name=\"form_fields[message][]\"> <label for=\"form-field-message-1\">Swimming pool<\/label><\/span><span class=\"elementor-field-option\"><input type=\"checkbox\" value=\"Terrace \/ garden\" id=\"form-field-message-2\" name=\"form_fields[message][]\"> <label for=\"form-field-message-2\">Terrace \/ garden<\/label><\/span><span class=\"elementor-field-option\"><input type=\"checkbox\" value=\"Storage Room\" id=\"form-field-message-3\" name=\"form_fields[message][]\"> <label for=\"form-field-message-3\">Storage Room<\/label><\/span><span class=\"elementor-field-option\"><input type=\"checkbox\" value=\"Gym \/ fitness center\" id=\"form-field-message-4\" name=\"form_fields[message][]\"> <label for=\"form-field-message-4\">Gym \/ fitness center<\/label><\/span><span class=\"elementor-field-option\"><input type=\"checkbox\" value=\"New renovated\" id=\"form-field-message-5\" name=\"form_fields[message][]\"> <label for=\"form-field-message-5\">New renovated<\/label><\/span><span class=\"elementor-field-option\"><input type=\"checkbox\" value=\"Ground floor\" id=\"form-field-message-6\" name=\"form_fields[message][]\"> <label for=\"form-field-message-6\">Ground floor<\/label><\/span><span class=\"elementor-field-option\"><input type=\"checkbox\" value=\"Top floor \/ penthouse\" id=\"form-field-message-7\" name=\"form_fields[message][]\"> <label for=\"form-field-message-7\">Top floor \/ penthouse<\/label><\/span><\/div>\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-number elementor-field-group elementor-column elementor-field-group-size elementor-col-50\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-size\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tSize (m\u00b2)\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t\t<input type=\"number\" name=\"form_fields[size]\" id=\"form-field-size\" class=\"elementor-field elementor-size-sm  elementor-field-textual\" placeholder=\"92\" min=\"\" max=\"\" >\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-date elementor-field-group elementor-column elementor-field-group-leasestart elementor-col-50\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-leasestart\" class=\"elementor-field-label\">\n\t\t\t\t\t\t\t\tLease Start Date\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\n\t\t<input type=\"date\" name=\"form_fields[leasestart]\" id=\"form-field-leasestart\" class=\"elementor-field elementor-size-sm  elementor-field-textual elementor-date-field\" pattern=\"[0-9]{4}-[0-9]{2}-[0-9]{2}\">\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-group elementor-column elementor-field-type-submit elementor-col-100 e-form__buttons\">\n\t\t\t\t\t<button class=\"elementor-button elementor-size-sm\" type=\"submit\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Send<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/button>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/form>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Rental Market simulator Portugal 2026 Get an instant, data-driven rent estimate for any property in Portugal. Whether you are setting an asking price as a landlord or checking the current market as a tenant, our free calculator delivers a fair market range in seconds. Get My Rent Estimate Free \u00b7 No Account Required How It [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-70","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/aluseg.com\/en\/wp-json\/wp\/v2\/pages\/70","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aluseg.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/aluseg.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/aluseg.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aluseg.com\/en\/wp-json\/wp\/v2\/comments?post=70"}],"version-history":[{"count":158,"href":"https:\/\/aluseg.com\/en\/wp-json\/wp\/v2\/pages\/70\/revisions"}],"predecessor-version":[{"id":6266,"href":"https:\/\/aluseg.com\/en\/wp-json\/wp\/v2\/pages\/70\/revisions\/6266"}],"wp:attachment":[{"href":"https:\/\/aluseg.com\/en\/wp-json\/wp\/v2\/media?parent=70"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}