{"id":2061,"date":"2026-07-13T11:00:21","date_gmt":"2026-07-13T09:00:21","guid":{"rendered":"https:\/\/futurovital.com\/?page_id=2061"},"modified":"2026-07-13T11:01:33","modified_gmt":"2026-07-13T09:01:33","slug":"blog-2","status":"publish","type":"page","link":"https:\/\/futurovital.com\/en\/blog-2\/","title":{"rendered":"Blog"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"2061\" class=\"elementor elementor-2061 elementor-2060\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fce8b27 e-flex e-con-boxed e-con e-parent\" data-id=\"fce8b27\" 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-9b943e5 e-con-full e-flex e-con e-child\" data-id=\"9b943e5\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-47e5e05 e-con-full e-flex e-con e-child\" data-id=\"47e5e05\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-eaba768 elementor-widget elementor-widget-text-editor\" data-id=\"eaba768\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>BLOG<\/p>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c42a7bc elementor-widget elementor-widget-heading\" data-id=\"c42a7bc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<span class=\"elementor-heading-title elementor-size-default\">Discover all the information and latest news on bare ownership<\/span>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-e8489c1 e-flex e-con-boxed e-con e-parent\" data-id=\"e8489c1\" 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-2abe8a7 elementor-widget elementor-widget-html\" data-id=\"2abe8a7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"es\">\r\n<head>\r\n<meta charset=\"UTF-8\">\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n<title>Propiedades<\/title>\r\n<style>\r\n  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\r\n\r\n  :root {\r\n    --primary: #1a3c5e;\r\n    --accent:  #c8a96e;\r\n    --bg:      #f8f7f4;\r\n    --card-bg: #ffffff;\r\n    --text:    #2c2c2c;\r\n    --muted:   #777;\r\n    --border:  #e0ddd8;\r\n    --radius:  10px;\r\n  }\r\n\r\n  body { font-family: 'Georgia', serif; background: var(--bg); color: var(--text); }\r\n\r\n  \/* \u2500\u2500 HEADER FILTROS \u2500\u2500 *\/\r\n  #prop-filters {\r\n    background: var(--primary);\r\n    padding: 2rem 1.5rem;\r\n  }\r\n  .filter-inner {\r\n    max-width: 1200px;\r\n    margin: 0 auto;\r\n  }\r\n  .filter-title {\r\n    color: var(--accent);\r\n    font-size: 0.8rem;\r\n    letter-spacing: 0.15em;\r\n    text-transform: uppercase;\r\n    margin-bottom: 1rem;\r\n  }\r\n  .filter-grid {\r\n    display: grid;\r\n    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));\r\n    gap: 0.75rem;\r\n    align-items: end;\r\n  }\r\n  .filter-group label {\r\n    display: block;\r\n    color: rgba(255,255,255,0.7);\r\n    font-size: 0.72rem;\r\n    letter-spacing: 0.08em;\r\n    text-transform: uppercase;\r\n    margin-bottom: 0.35rem;\r\n    font-family: sans-serif;\r\n  }\r\n  .filter-group select,\r\n  .filter-group input {\r\n    width: 100%;\r\n    padding: 0.6rem 0.85rem;\r\n    border: 1px solid rgba(255,255,255,0.2);\r\n    border-radius: 6px;\r\n    background: rgba(255,255,255,0.1);\r\n    color: #fff;\r\n    font-size: 0.85rem;\r\n    font-family: sans-serif;\r\n    outline: none;\r\n    transition: border-color 0.2s;\r\n    -webkit-appearance: none;\r\n  }\r\n  .filter-group select option { background: var(--primary); color: #fff; }\r\n  .filter-group select:focus,\r\n  .filter-group input:focus { border-color: var(--accent); }\r\n  .filter-group input::placeholder { color: rgba(255,255,255,0.4); }\r\n\r\n  .btn-filter {\r\n    padding: 0.65rem 1.5rem;\r\n    background: var(--accent);\r\n    color: var(--primary);\r\n    border: none;\r\n    border-radius: 6px;\r\n    font-size: 0.85rem;\r\n    font-weight: 700;\r\n    font-family: sans-serif;\r\n    cursor: pointer;\r\n    transition: background 0.2s, transform 0.15s;\r\n    width: 100%;\r\n  }\r\n  .btn-filter:hover { background: #b8955a; transform: scale(1.02); }\r\n\r\n  \/* \u2500\u2500 RESULTADOS \u2500\u2500 *\/\r\n  #prop-main {\r\n    max-width: 1200px;\r\n    margin: 0 auto;\r\n    padding: 2rem 1.5rem;\r\n  }\r\n  #prop-count {\r\n    font-family: sans-serif;\r\n    font-size: 0.82rem;\r\n    color: var(--muted);\r\n    margin-bottom: 1.5rem;\r\n  }\r\n\r\n  \/* \u2500\u2500 GRID \u2500\u2500 *\/\r\n  #prop-grid {\r\n    display: grid;\r\n    grid-template-columns: repeat(3, 1fr);\r\n    gap: 1.75rem;\r\n  }\r\n\r\n  \/* \u2500\u2500 TARJETA \u2500\u2500 *\/\r\n  .prop-card {\r\n    background: var(--card-bg);\r\n    border-radius: var(--radius);\r\n    overflow: hidden;\r\n    box-shadow: 0 2px 16px rgba(0,0,0,0.07);\r\n    transition: transform 0.25s ease, box-shadow 0.25s ease;\r\n    cursor: pointer;\r\n    display: flex;\r\n    flex-direction: column;\r\n  }\r\n  .prop-card:hover {\r\n    transform: translateY(-4px);\r\n    box-shadow: 0 8px 28px rgba(0,0,0,0.13);\r\n  }\r\n\r\n  .prop-img {\r\n    position: relative;\r\n    aspect-ratio: 4\/3;\r\n    overflow: hidden;\r\n    background: #e8e4de;\r\n  }\r\n  .prop-img img {\r\n    width: 100%; height: 100%;\r\n    object-fit: cover;\r\n    transition: transform 0.4s ease;\r\n  }\r\n  .prop-card:hover .prop-img img { transform: scale(1.05); }\r\n\r\n  .prop-badge {\r\n    position: absolute;\r\n    top: 0.75rem; left: 0.75rem;\r\n    background: var(--primary);\r\n    color: #fff;\r\n    font-size: 0.68rem;\r\n    font-family: sans-serif;\r\n    font-weight: 700;\r\n    letter-spacing: 0.08em;\r\n    text-transform: uppercase;\r\n    padding: 3px 9px;\r\n    border-radius: 4px;\r\n  }\r\n\r\n  .prop-body { padding: 1.1rem 1.25rem 1.25rem; flex: 1; display: flex; flex-direction: column; }\r\n\r\n  .prop-price {\r\n    font-size: 1.25rem;\r\n    font-weight: 700;\r\n    color: var(--primary);\r\n    margin-bottom: 0.25rem;\r\n  }\r\n  .prop-price span { color: var(--accent); }\r\n\r\n  .prop-title {\r\n    font-size: 0.9rem;\r\n    font-family: sans-serif;\r\n    color: var(--text);\r\n    font-weight: 600;\r\n    margin-bottom: 0.4rem;\r\n    line-height: 1.4;\r\n    display: -webkit-box;\r\n    -webkit-line-clamp: 2;\r\n    -webkit-box-orient: vertical;\r\n    overflow: hidden;\r\n  }\r\n\r\n  .prop-location {\r\n    font-family: sans-serif;\r\n    font-size: 0.78rem;\r\n    color: var(--muted);\r\n    margin-bottom: 0.85rem;\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 0.3rem;\r\n  }\r\n  .prop-location::before {\r\n    content: '\ud83d\udccd';\r\n    font-size: 0.72rem;\r\n  }\r\n\r\n  .prop-features {\r\n    display: flex;\r\n    gap: 1rem;\r\n    margin-top: auto;\r\n    padding-top: 0.85rem;\r\n    border-top: 1px solid var(--border);\r\n  }\r\n  .prop-feat {\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 0.3rem;\r\n    font-family: sans-serif;\r\n    font-size: 0.78rem;\r\n    color: var(--muted);\r\n  }\r\n  .prop-feat svg { width: 14px; height: 14px; fill: var(--accent); flex-shrink: 0; }\r\n\r\n  \/* \u2500\u2500 PAGINACI\u00d3N \u2500\u2500 *\/\r\n  #prop-pagination {\r\n    display: flex;\r\n    justify-content: center;\r\n    gap: 0.5rem;\r\n    margin-top: 2.5rem;\r\n    flex-wrap: wrap;\r\n  }\r\n  .page-btn {\r\n    width: 36px; height: 36px;\r\n    border-radius: 6px;\r\n    border: 1px solid var(--border);\r\n    background: #fff;\r\n    color: var(--primary);\r\n    font-family: sans-serif;\r\n    font-size: 0.82rem;\r\n    font-weight: 600;\r\n    cursor: pointer;\r\n    transition: background 0.2s, color 0.2s;\r\n    display: flex; align-items: center; justify-content: center;\r\n  }\r\n  .page-btn:hover, .page-btn.active {\r\n    background: var(--primary);\r\n    color: #fff;\r\n    border-color: var(--primary);\r\n  }\r\n\r\n  \/* \u2500\u2500 LOADING \u2500\u2500 *\/\r\n  #prop-loading {\r\n    text-align: center;\r\n    padding: 4rem;\r\n    font-family: sans-serif;\r\n    color: var(--muted);\r\n  }\r\n  .spinner {\r\n    width: 36px; height: 36px;\r\n    border: 3px solid var(--border);\r\n    border-top-color: var(--accent);\r\n    border-radius: 50%;\r\n    animation: spin 0.8s linear infinite;\r\n    margin: 0 auto 1rem;\r\n  }\r\n  @keyframes spin { to { transform: rotate(360deg); } }\r\n\r\n  \/* \u2500\u2500 MODAL \u2500\u2500 *\/\r\n  #prop-modal-overlay {\r\n    position: fixed; inset: 0;\r\n    background: rgba(0,0,0,0.6);\r\n    z-index: 9999;\r\n    display: none;\r\n    align-items: center;\r\n    justify-content: center;\r\n    padding: 1rem;\r\n  }\r\n  #prop-modal-overlay.open { display: flex; }\r\n\r\n  #prop-modal {\r\n    background: #fff;\r\n    border-radius: 12px;\r\n    width: 100%;\r\n    max-width: 860px;\r\n    max-height: 90vh;\r\n    overflow-y: auto;\r\n    position: relative;\r\n    box-shadow: 0 16px 60px rgba(0,0,0,0.25);\r\n  }\r\n\r\n  .modal-close {\r\n    position: absolute;\r\n    top: 1rem; right: 1rem;\r\n    width: 32px; height: 32px;\r\n    border-radius: 50%;\r\n    border: none;\r\n    background: rgba(0,0,0,0.12);\r\n    color: #fff;\r\n    font-size: 1.1rem;\r\n    cursor: pointer;\r\n    z-index: 10;\r\n    display: flex; align-items: center; justify-content: center;\r\n    transition: background 0.2s;\r\n  }\r\n  .modal-close:hover { background: rgba(0,0,0,0.35); }\r\n\r\n  .modal-gallery {\r\n    position: relative;\r\n    aspect-ratio: 16\/9;\r\n    background: #1a1a1a;\r\n    border-radius: 12px 12px 0 0;\r\n    overflow: hidden;\r\n  }\r\n  .modal-gallery img {\r\n    width: 100%; height: 100%;\r\n    object-fit: cover;\r\n    display: none;\r\n  }\r\n  .modal-gallery img.active { display: block; }\r\n\r\n  .gallery-arrow {\r\n    position: absolute;\r\n    top: 50%; transform: translateY(-50%);\r\n    width: 36px; height: 36px;\r\n    background: rgba(0,0,0,0.45);\r\n    border: none; border-radius: 50%;\r\n    color: #fff; font-size: 1.2rem;\r\n    cursor: pointer; z-index: 5;\r\n    display: flex; align-items: center; justify-content: center;\r\n    transition: background 0.2s;\r\n  }\r\n  .gallery-arrow:hover { background: rgba(0,0,0,0.7); }\r\n  .gallery-prev { left: 0.75rem; }\r\n  .gallery-next { right: 0.75rem; }\r\n  .gallery-count {\r\n    position: absolute;\r\n    bottom: 0.75rem; right: 0.75rem;\r\n    background: rgba(0,0,0,0.5);\r\n    color: #fff;\r\n    font-family: sans-serif;\r\n    font-size: 0.72rem;\r\n    padding: 3px 8px;\r\n    border-radius: 4px;\r\n  }\r\n\r\n  .modal-body { padding: 1.75rem 2rem 2rem; }\r\n  .modal-price {\r\n    font-size: 1.75rem;\r\n    font-weight: 700;\r\n    color: var(--primary);\r\n    margin-bottom: 0.25rem;\r\n  }\r\n  .modal-title {\r\n    font-size: 1.1rem;\r\n    font-family: sans-serif;\r\n    font-weight: 600;\r\n    margin-bottom: 0.5rem;\r\n  }\r\n  .modal-location {\r\n    font-family: sans-serif;\r\n    font-size: 0.82rem;\r\n    color: var(--muted);\r\n    margin-bottom: 1.25rem;\r\n  }\r\n  .modal-features {\r\n    display: flex;\r\n    gap: 1.5rem;\r\n    flex-wrap: wrap;\r\n    padding: 1rem 0;\r\n    border-top: 1px solid var(--border);\r\n    border-bottom: 1px solid var(--border);\r\n    margin-bottom: 1.25rem;\r\n  }\r\n  .modal-feat {\r\n    display: flex; align-items: center; gap: 0.4rem;\r\n    font-family: sans-serif; font-size: 0.85rem; color: var(--text);\r\n  }\r\n  .modal-feat svg { width: 16px; height: 16px; fill: var(--accent); }\r\n  .modal-desc {\r\n    font-size: 0.88rem;\r\n    line-height: 1.75;\r\n    color: #444;\r\n    font-family: sans-serif;\r\n  }\r\n  .modal-ref {\r\n    margin-top: 1.25rem;\r\n    font-family: sans-serif;\r\n    font-size: 0.75rem;\r\n    color: var(--muted);\r\n  }\r\n\r\n  \/* \u2500\u2500 EMPTY \u2500\u2500 *\/\r\n  #prop-empty {\r\n    text-align: center;\r\n    padding: 4rem 1rem;\r\n    font-family: sans-serif;\r\n    color: var(--muted);\r\n    display: none;\r\n  }\r\n  #prop-empty p { font-size: 1rem; margin-top: 0.5rem; }\r\n\r\n  \/* \u2500\u2500 RESPONSIVE \u2500\u2500 *\/\r\n  @media (max-width: 900px) {\r\n    #prop-grid { grid-template-columns: repeat(2, 1fr); }\r\n  }\r\n  @media (max-width: 580px) {\r\n    #prop-grid { grid-template-columns: 1fr; }\r\n    .modal-body { padding: 1.25rem; }\r\n    .modal-price { font-size: 1.4rem; }\r\n  }\r\n<\/style>\r\n\r\n<!-- FILTROS -->\r\n<div id=\"prop-filters\">\r\n  <div class=\"filter-inner\">\r\n    <p class=\"filter-title\">Buscar propiedades<\/p>\r\n    <div class=\"filter-grid\">\r\n      <div class=\"filter-group\">\r\n        <label>Provincia<\/label>\r\n        <select id=\"f-provincia\">\r\n          <option value=\"\">Todas las provincias<\/option>\r\n        <\/select>\r\n      <\/div>\r\n      <div class=\"filter-group\">\r\n        <label>Poblaci\u00f3n<\/label>\r\n        <select id=\"f-poblacion\">\r\n          <option value=\"\">Todas las poblaciones<\/option>\r\n        <\/select>\r\n      <\/div>\r\n      <div class=\"filter-group\">\r\n        <label>Precio m\u00e1ximo<\/label>\r\n        <input type=\"number\" id=\"f-precio\" placeholder=\"Sin l\u00edmite\" min=\"0\" step=\"10000\" \/>\r\n      <\/div>\r\n      <div class=\"filter-group\">\r\n        <label>Habitaciones m\u00edn.<\/label>\r\n        <select id=\"f-habitaciones\">\r\n          <option value=\"\">Cualquiera<\/option>\r\n          <option value=\"1\">1+<\/option>\r\n          <option value=\"2\">2+<\/option>\r\n          <option value=\"3\">3+<\/option>\r\n          <option value=\"4\">4+<\/option>\r\n        <\/select>\r\n      <\/div>\r\n      <div class=\"filter-group\">\r\n        <label>Superficie m\u00edn. (m\u00b2)<\/label>\r\n        <input type=\"number\" id=\"f-superficie\" placeholder=\"Sin l\u00edmite\" min=\"0\" step=\"10\" \/>\r\n      <\/div>\r\n      <div class=\"filter-group\">\r\n        <label>&nbsp;<\/label>\r\n        <button class=\"btn-filter\" id=\"btn-buscar\">Buscar propiedades<\/button>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<!-- MAIN -->\r\n<div id=\"prop-main\">\r\n  <div id=\"prop-loading\">\r\n    <div class=\"spinner\"><\/div>\r\n    Cargando propiedades...\r\n  <\/div>\r\n  <p id=\"prop-count\" style=\"display:none;\"><\/p>\r\n  <div id=\"prop-grid\"><\/div>\r\n  <div id=\"prop-empty\">\r\n    <p style=\"font-size:2rem;\">\ud83d\udd0d<\/p>\r\n    <p>No se encontraron propiedades con estos filtros.<\/p>\r\n  <\/div>\r\n  <div id=\"prop-pagination\"><\/div>\r\n<\/div>\r\n\r\n<!-- MODAL -->\r\n<div id=\"prop-modal-overlay\">\r\n  <div id=\"prop-modal\">\r\n    <button class=\"modal-close\" id=\"modal-close-btn\">&#x2715;<\/button>\r\n    <div class=\"modal-gallery\" id=\"modal-gallery\">\r\n      <button class=\"gallery-arrow gallery-prev\" id=\"gal-prev\">&#8249;<\/button>\r\n      <button class=\"gallery-arrow gallery-next\" id=\"gal-next\">&#8250;<\/button>\r\n      <div class=\"gallery-count\" id=\"gal-count\"><\/div>\r\n    <\/div>\r\n    <div class=\"modal-body\" id=\"modal-body\"><\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n  const XML_URL = 'https:\/\/procesos.apinmo.com\/xml\/v2\/c1Fdv3hI\/13097-web.xml';\r\n  const PER_PAGE = 9;\r\n\r\n  let allProps = [];\r\n  let filtered = [];\r\n  let currentPage = 1;\r\n  let galIdx = 0;\r\n  let galImgs = [];\r\n\r\n  \/* \u2500\u2500 SVG icons \u2500\u2500 *\/\r\n  const iconBed  = '<svg viewBox=\"0 0 24 24\"><path d=\"M7 13c1.66 0 3-1.34 3-3S8.66 7 7 7s-3 1.34-3 3 1.34 3 3 3zm12-6h-8v7H3V5H1v15h2v-3h18v3h2v-9c0-2.21-1.79-4-4-4z\"\/><\/svg>';\r\n  const iconBath = '<svg viewBox=\"0 0 24 24\"><path d=\"M7 6c0-1.1.9-2 2-2s2 .9 2 2v1H7V6zm14 4H5V6c0-1.66-1.34-3-3-3S-1 4.34-1 6H1c0-.55.45-1 1-1s1 .45 1 1v4H3v2l1 5H4v1h16v-1h.03L21 12V10h-1V8zM5 12h14l-.8 4H5.8L5 12z\"\/><\/svg>';\r\n  const iconArea = '<svg viewBox=\"0 0 24 24\"><path d=\"M3 3v8h2V5h6V3H3zm0 18h8v-2H5v-6H3v8zm18-8h-2v6h-6v2h8v-8zm0-10h-8v2h6v6h2V3z\"\/><\/svg>';\r\n\r\n  \/* \u2500\u2500 Fetch XML \u2500\u2500 *\/\r\n  async function loadXML() {\r\n    try {\r\n      const res = await fetch(XML_URL);\r\n      const text = await res.text();\r\n      const parser = new DOMParser();\r\n      const doc = parser.parseFromString(text, 'text\/xml');\r\n      const items = doc.querySelectorAll('inmueble');\r\n\r\n      allProps = Array.from(items).map(el => {\r\n        const get = tag => el.querySelector(tag)?.textContent?.trim() || '';\r\n        const fotos = Array.from(el.querySelectorAll('foto')).map(f => f.textContent.trim()).filter(Boolean);\r\n        return {\r\n          ref:          get('referencia'),\r\n          titulo:       get('titulo') || get('tipo_inmueble'),\r\n          precio:       parseFloat(get('precio')) || 0,\r\n          moneda:       get('moneda') || '\u20ac',\r\n          poblacion:    get('poblacion'),\r\n          provincia:    get('provincia'),\r\n          superficie:   parseFloat(get('superficie')) || 0,\r\n          habitaciones: parseInt(get('habitaciones')) || 0,\r\n          banos:        parseInt(get('banos')) || 0,\r\n          descripcion:  get('descripcion'),\r\n          fotos:        fotos,\r\n          operacion:    get('operacion'),\r\n          tipo:         get('tipo_inmueble'),\r\n        };\r\n      });\r\n\r\n      populateFilters();\r\n      filtered = [...allProps];\r\n      document.getElementById('prop-loading').style.display = 'none';\r\n      renderPage(1);\r\n\r\n    } catch(e) {\r\n      document.getElementById('prop-loading').innerHTML = '\u26a0\ufe0f No se pudieron cargar las propiedades.';\r\n    }\r\n  }\r\n\r\n  function populateFilters() {\r\n    const provs = [...new Set(allProps.map(p => p.provincia).filter(Boolean))].sort();\r\n    const pobs  = [...new Set(allProps.map(p => p.poblacion).filter(Boolean))].sort();\r\n    const selProv = document.getElementById('f-provincia');\r\n    const selPob  = document.getElementById('f-poblacion');\r\n    provs.forEach(p => { const o = document.createElement('option'); o.value = p; o.textContent = p; selProv.appendChild(o); });\r\n    pobs.forEach(p  => { const o = document.createElement('option'); o.value = p; o.textContent = p; selPob.appendChild(o); });\r\n  }\r\n\r\n  function applyFilters() {\r\n    const prov  = document.getElementById('f-provincia').value;\r\n    const pob   = document.getElementById('f-poblacion').value;\r\n    const precio = parseFloat(document.getElementById('f-precio').value) || Infinity;\r\n    const habs  = parseInt(document.getElementById('f-habitaciones').value) || 0;\r\n    const sup   = parseFloat(document.getElementById('f-superficie').value) || 0;\r\n\r\n    filtered = allProps.filter(p => {\r\n      if(prov && p.provincia !== prov) return false;\r\n      if(pob  && p.poblacion !== pob)  return false;\r\n      if(p.precio > precio) return false;\r\n      if(p.habitaciones < habs) return false;\r\n      if(p.superficie < sup) return false;\r\n      return true;\r\n    });\r\n\r\n    renderPage(1);\r\n  }\r\n\r\n  function formatPrice(n, currency) {\r\n    if(!n) return 'Consultar';\r\n    return n.toLocaleString('es-ES') + ' ' + (currency || '\u20ac');\r\n  }\r\n\r\n  function renderPage(page) {\r\n    currentPage = page;\r\n    const grid  = document.getElementById('prop-grid');\r\n    const count = document.getElementById('prop-count');\r\n    const empty = document.getElementById('prop-empty');\r\n    const pag   = document.getElementById('prop-pagination');\r\n\r\n    grid.innerHTML = '';\r\n    pag.innerHTML = '';\r\n\r\n    if(filtered.length === 0) {\r\n      empty.style.display = 'block';\r\n      count.style.display = 'none';\r\n      return;\r\n    }\r\n\r\n    empty.style.display = 'none';\r\n    count.style.display = 'block';\r\n    count.textContent = filtered.length + ' propiedad' + (filtered.length !== 1 ? 'es' : '') + ' encontrada' + (filtered.length !== 1 ? 's' : '');\r\n\r\n    const start = (page - 1) * PER_PAGE;\r\n    const slice = filtered.slice(start, start + PER_PAGE);\r\n\r\n    slice.forEach(prop => {\r\n      const card = document.createElement('div');\r\n      card.className = 'prop-card';\r\n      const img = prop.fotos[0] || 'https:\/\/via.placeholder.com\/400x300?text=Sin+imagen';\r\n      card.innerHTML = `\r\n        <div class=\"prop-img\">\r\n          <img decoding=\"async\" src=\"${img}\" alt=\"${prop.titulo}\" loading=\"lazy\" \/>\r\n          ${prop.operacion ? '<span class=\"prop-badge\">' + prop.operacion + '<\/span>' : ''}\r\n        <\/div>\r\n        <div class=\"prop-body\">\r\n          <div class=\"prop-price\">${formatPrice(prop.precio, prop.moneda)}<\/div>\r\n          <div class=\"prop-title\">${prop.titulo}<\/div>\r\n          <div class=\"prop-location\">${[prop.poblacion, prop.provincia].filter(Boolean).join(', ')}<\/div>\r\n          <div class=\"prop-features\">\r\n            ${prop.habitaciones ? '<div class=\"prop-feat\">' + iconBed + prop.habitaciones + ' hab.<\/div>' : ''}\r\n            ${prop.banos ? '<div class=\"prop-feat\">' + iconBath + prop.banos + ' ba\u00f1os<\/div>' : ''}\r\n            ${prop.superficie ? '<div class=\"prop-feat\">' + iconArea + prop.superficie + ' m\u00b2<\/div>' : ''}\r\n          <\/div>\r\n        <\/div>`;\r\n      card.addEventListener('click', () => openModal(prop));\r\n      grid.appendChild(card);\r\n    });\r\n\r\n    \/* Paginaci\u00f3n *\/\r\n    const totalPages = Math.ceil(filtered.length \/ PER_PAGE);\r\n    if(totalPages > 1) {\r\n      for(let i = 1; i <= totalPages; i++) {\r\n        const btn = document.createElement('button');\r\n        btn.className = 'page-btn' + (i === page ? ' active' : '');\r\n        btn.textContent = i;\r\n        btn.addEventListener('click', () => {\r\n          renderPage(i);\r\n          document.getElementById('prop-filters').scrollIntoView({ behavior: 'smooth' });\r\n        });\r\n        pag.appendChild(btn);\r\n      }\r\n    }\r\n  }\r\n\r\n  \/* \u2500\u2500 MODAL \u2500\u2500 *\/\r\n  function openModal(prop) {\r\n    galImgs = prop.fotos;\r\n    galIdx  = 0;\r\n\r\n    const gallery = document.getElementById('modal-gallery');\r\n    gallery.querySelectorAll('img').forEach(i => i.remove());\r\n    galImgs.forEach((src, i) => {\r\n      const img = document.createElement('img');\r\n      img.src = src; img.alt = prop.titulo;\r\n      if(i === 0) img.classList.add('active');\r\n      gallery.appendChild(img);\r\n    });\r\n    updateGallery();\r\n\r\n    document.getElementById('modal-body').innerHTML = `\r\n      <div class=\"modal-price\">${formatPrice(prop.precio, prop.moneda)}<\/div>\r\n      <div class=\"modal-title\">${prop.titulo}<\/div>\r\n      <div class=\"modal-location\">\ud83d\udccd ${[prop.poblacion, prop.provincia].filter(Boolean).join(', ')}<\/div>\r\n      <div class=\"modal-features\">\r\n        ${prop.habitaciones ? '<div class=\"modal-feat\">' + iconBed + ' ' + prop.habitaciones + ' habitaciones<\/div>' : ''}\r\n        ${prop.banos ? '<div class=\"modal-feat\">' + iconBath + ' ' + prop.banos + ' ba\u00f1os<\/div>' : ''}\r\n        ${prop.superficie ? '<div class=\"modal-feat\">' + iconArea + ' ' + prop.superficie + ' m\u00b2<\/div>' : ''}\r\n      <\/div>\r\n      ${prop.descripcion ? '<div class=\"modal-desc\">' + prop.descripcion.replace(\/\\n\/g,'<br>') + '<\/div>' : ''}\r\n      <div class=\"modal-ref\">Ref: ${prop.ref}<\/div>`;\r\n\r\n    document.getElementById('prop-modal-overlay').classList.add('open');\r\n    document.body.style.overflow = 'hidden';\r\n  }\r\n\r\n  function updateGallery() {\r\n    const imgs = document.querySelectorAll('#modal-gallery img');\r\n    imgs.forEach((img, i) => img.classList.toggle('active', i === galIdx));\r\n    document.getElementById('gal-count').textContent = (galIdx+1) + ' \/ ' + galImgs.length;\r\n    document.getElementById('gal-prev').style.display = galImgs.length > 1 ? 'flex' : 'none';\r\n    document.getElementById('gal-next').style.display = galImgs.length > 1 ? 'flex' : 'none';\r\n  }\r\n\r\n  document.getElementById('gal-prev').addEventListener('click', e => {\r\n    e.stopPropagation();\r\n    galIdx = (galIdx - 1 + galImgs.length) % galImgs.length;\r\n    updateGallery();\r\n  });\r\n  document.getElementById('gal-next').addEventListener('click', e => {\r\n    e.stopPropagation();\r\n    galIdx = (galIdx + 1) % galImgs.length;\r\n    updateGallery();\r\n  });\r\n\r\n  function closeModal() {\r\n    document.getElementById('prop-modal-overlay').classList.remove('open');\r\n    document.body.style.overflow = '';\r\n  }\r\n\r\n  document.getElementById('modal-close-btn').addEventListener('click', closeModal);\r\n  document.getElementById('prop-modal-overlay').addEventListener('click', e => {\r\n    if(e.target === document.getElementById('prop-modal-overlay')) closeModal();\r\n  });\r\n  document.addEventListener('keydown', e => { if(e.key === 'Escape') closeModal(); });\r\n\r\n  document.getElementById('btn-buscar').addEventListener('click', applyFilters);\r\n\r\n  \/* Filtrar poblaci\u00f3n al cambiar provincia *\/\r\n  document.getElementById('f-provincia').addEventListener('change', function() {\r\n    const prov = this.value;\r\n    const selPob = document.getElementById('f-poblacion');\r\n    selPob.innerHTML = '<option value=\"\">Todas las poblaciones<\/option>';\r\n    const pobs = [...new Set(allProps.filter(p => !prov || p.provincia === prov).map(p => p.poblacion).filter(Boolean))].sort();\r\n    pobs.forEach(p => { const o = document.createElement('option'); o.value = p; o.textContent = p; selPob.appendChild(o); });\r\n  });\r\n\r\n  loadXML();\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>BLOG Discover all the information and latest news on bare ownership Propiedades Buscar propiedades Provincia Todas las provincias Poblaci\u00f3n Todas las poblaciones Precio m\u00e1ximo Habitaciones m\u00edn. Cualquiera1+2+3+4+ Superficie m\u00edn. (m\u00b2) &nbsp; Buscar propiedades Cargando propiedades&#8230; \ud83d\udd0d No se encontraron propiedades con estos filtros. &#x2715; &#8249; &#8250;<\/p>\n","protected":false},"author":3,"featured_media":653,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-2061","page","type-page","status-publish","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Blog - futurovital<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/futurovital.com\/en\/blog-2\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Blog - futurovital\" \/>\n<meta property=\"og:description\" content=\"BLOG Discover all the information and latest news on bare ownership Propiedades Buscar propiedades Provincia Todas las provincias Poblaci\u00f3n Todas las poblaciones Precio m\u00e1ximo Habitaciones m\u00edn. Cualquiera1+2+3+4+ Superficie m\u00edn. (m\u00b2) &nbsp; Buscar propiedades Cargando propiedades&#8230; \ud83d\udd0d No se encontraron propiedades con estos filtros. &#x2715; &#8249; &#8250;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/futurovital.com\/en\/blog-2\/\" \/>\n<meta property=\"og:site_name\" content=\"futurovital\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-13T09:01:33+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/futurovital.com\/wp-content\/uploads\/2025\/10\/futuro-vital-tu-hogar-tu-libertad-soluciones-economicas-para-mayores-006.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1281\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/futurovital.com\\\/en\\\/blog-2\\\/\",\"url\":\"https:\\\/\\\/futurovital.com\\\/en\\\/blog-2\\\/\",\"name\":\"Blog - futurovital\",\"isPartOf\":{\"@id\":\"\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/futurovital.com\\\/en\\\/blog-2\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/futurovital.com\\\/en\\\/blog-2\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/futurovital.com\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/futuro-vital-tu-hogar-tu-libertad-soluciones-economicas-para-mayores-006.jpg\",\"datePublished\":\"2026-07-13T09:00:21+00:00\",\"dateModified\":\"2026-07-13T09:01:33+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/futurovital.com\\\/en\\\/blog-2\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/futurovital.com\\\/en\\\/blog-2\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/futurovital.com\\\/en\\\/blog-2\\\/#primaryimage\",\"url\":\"https:\\\/\\\/futurovital.com\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/futuro-vital-tu-hogar-tu-libertad-soluciones-economicas-para-mayores-006.jpg\",\"contentUrl\":\"https:\\\/\\\/futurovital.com\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/futuro-vital-tu-hogar-tu-libertad-soluciones-economicas-para-mayores-006.jpg\",\"width\":1920,\"height\":1281},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/futurovital.com\\\/en\\\/blog-2\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/futurovital.com\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Blog\"}]},{\"@type\":\"WebSite\",\"@id\":\"\\\/#website\",\"url\":\"\\\/\",\"name\":\"futurovital\",\"description\":\"Nuda Propiedad\",\"publisher\":{\"@id\":\"\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"\\\/#organization\",\"name\":\"futurovital\",\"url\":\"\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/futurovital.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/logotipo-futuro-vital-nuda-propiedad-ayuda-economica-mayores.png\",\"contentUrl\":\"https:\\\/\\\/futurovital.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/logotipo-futuro-vital-nuda-propiedad-ayuda-economica-mayores.png\",\"width\":380,\"height\":77,\"caption\":\"futurovital\"},\"image\":{\"@id\":\"\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Blog - futurovital","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/futurovital.com\/en\/blog-2\/","og_locale":"en_US","og_type":"article","og_title":"Blog - futurovital","og_description":"BLOG Discover all the information and latest news on bare ownership Propiedades Buscar propiedades Provincia Todas las provincias Poblaci\u00f3n Todas las poblaciones Precio m\u00e1ximo Habitaciones m\u00edn. Cualquiera1+2+3+4+ Superficie m\u00edn. (m\u00b2) &nbsp; Buscar propiedades Cargando propiedades&#8230; \ud83d\udd0d No se encontraron propiedades con estos filtros. &#x2715; &#8249; &#8250;","og_url":"https:\/\/futurovital.com\/en\/blog-2\/","og_site_name":"futurovital","article_modified_time":"2026-07-13T09:01:33+00:00","og_image":[{"width":1920,"height":1281,"url":"https:\/\/futurovital.com\/wp-content\/uploads\/2025\/10\/futuro-vital-tu-hogar-tu-libertad-soluciones-economicas-para-mayores-006.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/futurovital.com\/en\/blog-2\/","url":"https:\/\/futurovital.com\/en\/blog-2\/","name":"Blog - futurovital","isPartOf":{"@id":"\/#website"},"primaryImageOfPage":{"@id":"https:\/\/futurovital.com\/en\/blog-2\/#primaryimage"},"image":{"@id":"https:\/\/futurovital.com\/en\/blog-2\/#primaryimage"},"thumbnailUrl":"https:\/\/futurovital.com\/wp-content\/uploads\/2025\/10\/futuro-vital-tu-hogar-tu-libertad-soluciones-economicas-para-mayores-006.jpg","datePublished":"2026-07-13T09:00:21+00:00","dateModified":"2026-07-13T09:01:33+00:00","breadcrumb":{"@id":"https:\/\/futurovital.com\/en\/blog-2\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/futurovital.com\/en\/blog-2\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/futurovital.com\/en\/blog-2\/#primaryimage","url":"https:\/\/futurovital.com\/wp-content\/uploads\/2025\/10\/futuro-vital-tu-hogar-tu-libertad-soluciones-economicas-para-mayores-006.jpg","contentUrl":"https:\/\/futurovital.com\/wp-content\/uploads\/2025\/10\/futuro-vital-tu-hogar-tu-libertad-soluciones-economicas-para-mayores-006.jpg","width":1920,"height":1281},{"@type":"BreadcrumbList","@id":"https:\/\/futurovital.com\/en\/blog-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/futurovital.com\/en\/"},{"@type":"ListItem","position":2,"name":"Blog"}]},{"@type":"WebSite","@id":"\/#website","url":"\/","name":"futurovital","description":"Nuda Propiedad","publisher":{"@id":"\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"\/#organization","name":"futurovital","url":"\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"\/#\/schema\/logo\/image\/","url":"https:\/\/futurovital.com\/wp-content\/uploads\/2025\/06\/logotipo-futuro-vital-nuda-propiedad-ayuda-economica-mayores.png","contentUrl":"https:\/\/futurovital.com\/wp-content\/uploads\/2025\/06\/logotipo-futuro-vital-nuda-propiedad-ayuda-economica-mayores.png","width":380,"height":77,"caption":"futurovital"},"image":{"@id":"\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/futurovital.com\/en\/wp-json\/wp\/v2\/pages\/2061","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/futurovital.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/futurovital.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/futurovital.com\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/futurovital.com\/en\/wp-json\/wp\/v2\/comments?post=2061"}],"version-history":[{"count":4,"href":"https:\/\/futurovital.com\/en\/wp-json\/wp\/v2\/pages\/2061\/revisions"}],"predecessor-version":[{"id":2074,"href":"https:\/\/futurovital.com\/en\/wp-json\/wp\/v2\/pages\/2061\/revisions\/2074"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/futurovital.com\/en\/wp-json\/wp\/v2\/media\/653"}],"wp:attachment":[{"href":"https:\/\/futurovital.com\/en\/wp-json\/wp\/v2\/media?parent=2061"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}