{"id":784,"date":"2025-05-13T07:24:55","date_gmt":"2025-05-13T07:24:55","guid":{"rendered":"https:\/\/asvillas.evoost.ai\/as-villas\/"},"modified":"2026-07-23T08:56:58","modified_gmt":"2026-07-23T08:56:58","slug":"as-villas","status":"publish","type":"page","link":"https:\/\/hercesa.pt\/asvillas\/es\/","title":{"rendered":"As Villas ESP"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"784\" class=\"elementor elementor-784 elementor-7\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1b5ef9b e-con-full e-flex e-con e-parent\" data-id=\"1b5ef9b\" data-element_type=\"container\" data-e-type=\"container\" id=\"home\">\n\t\t\t\t<div class=\"elementor-element elementor-element-52317d5 elementor-widget elementor-widget-html\" data-id=\"52317d5\" 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<!-- HTML del Pre-loader --><div class=\"as-villas-preloader\"><div class=\"preloader-content\"><div class=\"logo-container\"><img decoding=\"async\" src=\"https:\/\/hercesa.pt\/asvillas\/wp-content\/uploads\/2025\/07\/logo-asvillas-loader.jpg\" alt=\"As Villas\" class=\"preloader-logo\"><\/div><div class=\"loader-bar-container\"><div class=\"loader-bar\"><\/div><\/div><div class=\"loading-text\">Cargando<span class=\"dot-animation\">...<\/span><\/div><\/div><\/div><style>\/* Estilos del Pre-loader para As Villas *\/\r\n    .as-villas-preloader {\r\n        position: fixed;\r\n        top: 0;\r\n        left: 0;\r\n        width: 100%;\r\n        height: 100%;\r\n        background-color: #ffffff;\r\n        display: flex;\r\n        justify-content: center;\r\n        align-items: center;\r\n        z-index: 9999;\r\n        transition: opacity 0.5s ease-out, visibility 0.5s ease-out;\r\n    }\r\n    \r\n    .as-villas-preloader.hidden {\r\n        opacity: 0;\r\n        visibility: hidden;\r\n    }\r\n    \r\n    .preloader-content {\r\n        display: flex;\r\n        flex-direction: column;\r\n        align-items: center;\r\n        max-width: 80%;\r\n    }\r\n    \r\n    .logo-container {\r\n        margin-bottom: 30px;\r\n    }\r\n    \r\n    .preloader-logo {\r\n        max-width: 225px!important; \r\n        height: auto;\r\n        filter: opacity(0.4) grayscale(0.8);\r\n        animation: color-load 1.5s ease-out forwards, subtle-pulse 2s infinite;\r\n    }\r\n    \r\n    .loader-bar-container {\r\n        width: 200px;\r\n        height: 4px;\r\n        background-color: rgba(30, 58, 138, 0.1);\r\n        border-radius: 4px;\r\n        overflow: hidden;\r\n        margin-bottom: 15px;\r\n    }\r\n    \r\n    .loader-bar {\r\n        height: 100%;\r\n        width: 0%;\r\n        background: linear-gradient(135deg, #1E3A8A 0%, #2563EB 100%);\r\n        border-radius: 4px;\r\n        animation: fill 2.5s ease-in-out infinite;\r\n    }\r\n    \r\n    .loading-text {\r\n        color: #1f2937;\r\n        font-size: 14px;\r\n        font-weight: 500;\r\n        letter-spacing: 1px;\r\n        position: relative;\r\n    }\r\n    \r\n    .dot-animation {\r\n        display: inline-block;\r\n        min-width: 24px;\r\n        text-align: left;\r\n        animation: dots 1.5s infinite;\r\n    }\r\n    \r\n    \/* Animaciones *\/\r\n    @keyframes pulse {\r\n        0% {\r\n            transform: scale(1);\r\n        }\r\n        50% {\r\n            transform: scale(1.05);\r\n        }\r\n        100% {\r\n            transform: scale(1);\r\n        }\r\n    }\r\n    \r\n    @keyframes subtle-pulse {\r\n        0% {\r\n            transform: scale(1);\r\n        }\r\n        50% {\r\n            transform: scale(1.03);\r\n        }\r\n        100% {\r\n            transform: scale(1);\r\n        }\r\n    }\r\n    \r\n    @keyframes color-load {\r\n        0% {\r\n            filter: opacity(0.4) grayscale(0.8);\r\n        }\r\n        40% { \/* Acelerado de 60% a 40% *\/\r\n            filter: opacity(0.8) grayscale(0.2); \/* Aumentado de 0.7 a 0.8 y reducido grayscale *\/\r\n        }\r\n        100% {\r\n            filter: opacity(1) grayscale(0);\r\n        }\r\n    }\r\n    \r\n    @keyframes fill {\r\n        0% {\r\n            width: 0%;\r\n        }\r\n        50% {\r\n            width: 100%;\r\n        }\r\n        100% {\r\n            width: 0%;\r\n        }\r\n    }\r\n    \r\n    @keyframes dots {\r\n        0% { content: \".\"; }\r\n        33% { content: \"..\"; }\r\n        66% { content: \"...\"; }\r\n    }\r\n    \r\n    \/* Media queries *\/\r\n    @media (max-width: 768px) {\r\n        .preloader-logo {\r\n            max-width: 180px!important; \/* Reducido para m\u00f3viles *\/\r\n        }\r\n        \r\n        .loader-bar-container {\r\n            width: 180px;\r\n        }\r\n    }\r\n<\/style><script>document.addEventListener(\"DOMContentLoaded\", function() {\r\n        \/\/ Obtener el preloader\r\n        const preloader = document.querySelector('.as-villas-preloader');\r\n        \r\n        \/\/ Definir funci\u00f3n para ocultar el preloader\r\n        function hidePreloader() {\r\n            preloader.classList.add('hidden');\r\n            \r\n            \/\/ Permitir scroll de nuevo\r\n            document.body.style.overflow = '';\r\n        }\r\n        \r\n        \/\/ Ocultar preloader cuando la p\u00e1gina est\u00e9 completamente cargada\r\n        window.addEventListener('load', function() {\r\n            \/\/ Retardo opcional para asegurar que la animaci\u00f3n se vea\r\n            setTimeout(hidePreloader, 500);\r\n        });\r\n        \r\n        \/\/ Timeout de seguridad para evitar que el preloader se quede visible indefinidamente\r\n        setTimeout(hidePreloader, 5000);\r\n        \r\n        \/\/ Evitar scroll mientras el preloader est\u00e1 visible\r\n        document.body.style.overflow = 'hidden';\r\n        \r\n        \/\/ Animaci\u00f3n de puntos suspensivos\r\n        const updateDots = () => {\r\n            const dotsElement = document.querySelector('.dot-animation');\r\n            if (!dotsElement) return;\r\n            \r\n            let dots = 1;\r\n            setInterval(() => {\r\n                dots = (dots % 3) + 1;\r\n                let dotsText = '';\r\n                for (let i = 0; i < dots; i++) {\r\n                    dotsText += '.';\r\n                }\r\n                dotsElement.textContent = dotsText;\r\n            }, 500);\r\n        };\r\n        \r\n        updateDots();\r\n    });\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-94a80ad elementor-widget elementor-widget-html\" data-id=\"94a80ad\" 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<script>\n(function(){if(!window.chatbase||window.chatbase(\"getState\")!==\"initialized\"){window.chatbase=(...arguments)=>{if(!window.chatbase.q){window.chatbase.q=[]}window.chatbase.q.push(arguments)};window.chatbase=new Proxy(window.chatbase,{get(target,prop){if(prop===\"q\"){return target.q}return(...args)=>target(prop,...args)}})}const onLoad=function(){const script=document.createElement(\"script\");script.src=\"https:\/\/www.chatbase.co\/embed.min.js\";script.id=\"AbLtW1bOVxwO4p6MugOrS\";script.domain=\"www.chatbase.co\";document.body.appendChild(script)};if(document.readyState===\"complete\"){onLoad()}else{window.addEventListener(\"load\",onLoad)}})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5777540 elementor-widget elementor-widget-html\" data-id=\"5777540\" 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<style>\r\n    \/* Estilos para el hero alternativo - As Villas *\/\r\n    .as-villas-hero-alt {\r\n        position: relative;\r\n        width: 100%;\r\n        height: 85vh;\r\n        min-height: 600px;\r\n        overflow: hidden;\r\n    }\r\n    \r\n    \/* Contenedor de la imagen de fondo *\/\r\n    .hero-background {\r\n        position: absolute;\r\n        top: 0;\r\n        left: 0;\r\n        width: 100%;\r\n        height: 100%;\r\n    }\r\n    \r\n    \/* Imagen de fondo *\/\r\n    .hero-background img {\r\n        width: 100%;\r\n        height: 100%;\r\n        object-fit: cover;\r\n        object-position: center;\r\n        filter: brightness(0.75);\r\n    }\r\n    \r\n    \/* Overlay azulado *\/\r\n    .hero-overlay {\r\n        position: absolute;\r\n        top: 0;\r\n        left: 0;\r\n        width: 100%;\r\n        height: 100%;\r\n        background: linear-gradient(135deg, rgba(30, 58, 138, 0.6) 0%, rgba(20, 30, 70, 0.4) 100%);\r\n    }\r\n    \r\n    \/* Contenido del hero *\/\r\n    .hero-content {\r\n        position: absolute;\r\n        top: 0;\r\n        left: 0;\r\n        width: 100%;\r\n        height: 100%;\r\n        display: flex;\r\n        flex-direction: column;\r\n        justify-content: center;\r\n        padding: 5% 10%;\r\n        z-index: 10;\r\n        color: white;\r\n    }\r\n    \r\n    \/* Logo As Villas *\/\r\n    .hero-badge {\r\n        display: inline-block;\r\n        margin-bottom: 2.5rem;\r\n        max-width: fit-content;\r\n    }\r\n    \r\n    .hero-badge img {\r\n        height: 65px;\r\n        width: auto;\r\n        display: block;\r\n    }\r\n    \r\n    \/* T\u00edtulo principal *\/\r\n    .hero-headline {\r\n        font-size: 4.5rem;\r\n        font-weight: 800;\r\n        line-height: 1.1;\r\n        margin-bottom: 1.5rem;\r\n        text-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);\r\n    }\r\n    \r\n    \/* Resaltado en el t\u00edtulo *\/\r\n    .highlight {\r\n        color: #FED56F;\r\n        position: relative;\r\n        display: inline;\r\n    }\r\n    \r\n    \/* Descripci\u00f3n *\/\r\n    .hero-subheadline {\r\n        font-size: 1.4rem;\r\n        line-height: 1.6;\r\n        margin-bottom: 2.5rem;\r\n        max-width: 600px;\r\n        text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);\r\n        opacity: 0.95;\r\n    }\r\n    \r\n    \/* Bot\u00f3n CTA *\/\r\n    .hero-button {\r\n        display: inline-block;\r\n        background-color: #1E3A8A;\r\n        color: white;\r\n        font-weight: 700;\r\n        font-size: 1.1rem;\r\n        padding: 1.2rem 3rem;\r\n        border-radius: 50px;\r\n        text-decoration: none;\r\n        letter-spacing: 1px;\r\n        text-transform: uppercase;\r\n        box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2);\r\n        transition: all 0.3s ease;\r\n        max-width: fit-content;\r\n    }\r\n    \r\n    .hero-button:hover {\r\n        background-color: #2563EB;\r\n        transform: translateY(-3px);\r\n        box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);\r\n    }\r\n    \r\n    \/* Media queries *\/\r\n    @media (max-width: 1200px) {\r\n        .hero-headline {\r\n            font-size: 4rem;\r\n        }\r\n    }\r\n    \r\n    @media (max-width: 992px) {\r\n        .as-villas-hero-alt {\r\n            height: 75vh;\r\n        }\r\n        \r\n        .hero-headline {\r\n            font-size: 3.5rem;\r\n        }\r\n        \r\n        .hero-subheadline {\r\n            font-size: 1.3rem;\r\n        }\r\n    }\r\n    \r\n    @media (max-width: 768px) {\r\n        .hero-content {\r\n            padding: 5%;\r\n        }\r\n        \r\n        .hero-badge {\r\n            margin-bottom: 2rem;\r\n        }\r\n        \r\n        .hero-badge img {\r\n            height: 50px;\r\n        }\r\n        \r\n        .hero-headline {\r\n            font-size: 2.7rem;\r\n        }\r\n        \r\n        .hero-subheadline {\r\n            font-size: 1.1rem;\r\n            margin-bottom: 2rem;\r\n        }\r\n        \r\n        .hero-button {\r\n            font-size: 1rem;\r\n            padding: 1rem 2.5rem;\r\n        }\r\n    }\r\n    \r\n    @media (max-width: 480px) {\r\n        .as-villas-hero-alt {\r\n            height: 90vh;\r\n            min-height: 500px;\r\n        }\r\n        \r\n        .hero-badge img {\r\n            height: 45px;\r\n        }\r\n        \r\n        .hero-headline {\r\n            font-size: 2.2rem;\r\n        }\r\n        \r\n        .hero-subheadline {\r\n            font-size: 1rem;\r\n        }\r\n        \r\n        .hero-button {\r\n            width: 100%;\r\n            text-align: center;\r\n        }\r\n    }\r\n<\/style>\r\n\r\n<section class=\"as-villas-hero-alt\">\r\n    <!-- Imagen de fondo -->\r\n    <div class=\"hero-background\">\r\n        <img decoding=\"async\" src=\"https:\/\/hercesa.pt\/asvillas\/wp-content\/uploads\/2025\/05\/1470_CAM-027_d-Large.jpg\" alt=\"As Villas - Complejo residencial con piscina\">\r\n    <\/div>\r\n    \r\n    <!-- Overlay para mejorar legibilidad del texto -->\r\n    <div class=\"hero-overlay\"><\/div>\r\n    \r\n    <!-- Contenido principal superpuesto -->\r\n    <div class=\"hero-content\">\r\n        <!-- Logo As Villas -->\r\n        <div class=\"hero-badge\">\r\n            <img decoding=\"async\" src=\"https:\/\/hercesa.pt\/asvillas\/wp-content\/uploads\/2025\/11\/asvillas-white-yellow.png\" alt=\"As Villas\">\r\n        <\/div>\r\n        \r\n        <!-- T\u00edtulo principal -->\r\n        <h1 class=\"hero-headline\">\r\n            Tu casa<br>\r\n            a tu <span class=\"highlight\">Estilo<\/span>\r\n        <\/h1>\r\n        \r\n        <!-- Descripci\u00f3n -->\r\n        <p class=\"hero-subheadline\">\r\n            Viviendas de 3 dormitorios con terraza, plaza de aparcamiento y trastero. Un espacio pensado para la tranquilidad. Ya a la venta, a las puertas de Lisboa.<br><br><strong>Entrega prevista a partir de Septiembre de 2027<\/strong>\r\n        <\/p>\r\n        \r\n        <!-- Bot\u00f3n CTA -->\r\n        <a href=\"#unlock\" class=\"hero-button\">Desbloquear informaci\u00f3n<\/a>\r\n    <\/div>\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6bfa20c elementor-hidden-tablet elementor-hidden-mobile elementor-widget elementor-widget-tp-video-player\" data-id=\"6bfa20c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"tp-video-player.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"pt_plus_video-box-shadow video_player6a68807f79402 animate-general\"   data-animate-type=\"transition.expandIn\" data-animate-delay=\"50\" data-animate-offset=\"85%\"  ><div class=\"pt_plus_video_player   text-\"><div class=\"ts-video-wrapper ts-type-self-hosted\"><video width=\"100%\"  autoplay controls  muted > <source src=\"https:\/\/hercesa.pt\/asvillas\/wp-content\/uploads\/2025\/09\/ESP_Trailer_E2.mp4\" type=\"video\/mp4\" ><\/video><\/div><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6b4379d elementor-hidden-desktop elementor-hidden-laptop elementor-widget elementor-widget-video\" data-id=\"6b4379d\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;video_type&quot;:&quot;hosted&quot;,&quot;autoplay&quot;:&quot;yes&quot;,&quot;play_on_mobile&quot;:&quot;yes&quot;,&quot;mute&quot;:&quot;yes&quot;,&quot;controls&quot;:&quot;yes&quot;}\" data-widget_type=\"video.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"e-hosted-video elementor-wrapper elementor-open-inline\">\n\t\t\t\t\t<video class=\"elementor-video\" src=\"https:\/\/hercesa.pt\/asvillas\/wp-content\/uploads\/2025\/09\/ESP_Trailer_E2.mp4\" autoplay=\"\" controls=\"\" muted=\"muted\" playsinline=\"\" controlsList=\"nodownload\"><\/video>\n\t\t\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<div class=\"elementor-element elementor-element-2b00827 e-con-full e-flex e-con e-parent\" data-id=\"2b00827\" data-element_type=\"container\" data-e-type=\"container\" id=\"tipologia\">\n\t\t<div class=\"elementor-element elementor-element-d3fe250 e-flex e-con-boxed e-con e-child\" data-id=\"d3fe250\" 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-2bfde96 elementor-widget elementor-widget-html\" data-id=\"2bfde96\" 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>\n<html lang=\"es\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>As Villas - Tipolog\u00edas con Etapas<\/title>\n    <style>\n    \/* Bloque de Tipolog\u00edas y Caracter\u00edsticas *\/\n    .as-villas-tipologias {\n        padding: 5rem 0 !important;\n        background-color: #fff !important;\n        position: relative !important;\n    }\n    \n    .tipologias-container {\n        width: 90% !important;\n        max-width: 1200px !important;\n        margin: 0 auto !important;\n    }\n    \n    \/* Encabezado de secci\u00f3n *\/\n    .tipologias-header {\n        text-align: center !important;\n        margin-bottom: 4rem !important;\n        position: relative !important;\n    }\n    \n    .tipologias-subtitle {\n        font-size: 1rem !important;\n        text-transform: uppercase !important;\n        letter-spacing: 2px !important;\n        color: #1E3A8A !important;\n        margin-bottom: 1rem !important;\n        font-weight: 500 !important;\n    }\n    \n    .tipologias-title {\n        font-size: 2.5rem !important;\n        font-weight: 700 !important;\n        color: #1a1a1a !important;\n        margin-bottom: 1.5rem !important;\n        position: relative !important;\n        display: inline-block !important;\n    }\n    \n    .tipologias-title::after {\n        content: '' !important;\n        position: absolute !important;\n        bottom: -15px !important;\n        left: 50% !important;\n        transform: translateX(-50%) !important;\n        width: 60px !important;\n        height: 3px !important;\n        background-color: #FED56F !important;\n    }\n    \n    .tipologias-description {\n        max-width: 700px !important;\n        margin: 0 auto 3rem !important;\n        font-size: 20px !important;\n        line-height: 1.6 !important;\n        color: #555 !important;\n    }\n    \n    \/* Selector de Etapas *\/\n    .etapas-selector {\n        display: flex !important;\n        justify-content: center !important;\n        gap: 1rem !important;\n        margin-bottom: 2rem !important;\n    }\n    \n    .etapa-btn {\n        padding: 0.8rem 2rem !important;\n        background-color: #f0f0f0 !important;\n        border: 2px solid transparent !important;\n        border-radius: 50px !important;\n        font-weight: 600 !important;\n        font-size: 1rem !important;\n        color: #555 !important;\n        cursor: pointer !important;\n        transition: all 0.3s ease !important;\n        min-width: 140px !important;\n        text-align: center !important;\n    }\n    \n    .etapa-btn:hover {\n        background-color: #e5e7eb !important;\n        transform: translateY(-2px) !important;\n    }\n    \n    .etapa-btn.active {\n        background-color: #1E3A8A !important;\n        color: white !important;\n        border-color: #1E3A8A !important;\n        box-shadow: 0 4px 15px rgba(30, 58, 138, 0.2) !important;\n    }\n    \n    .etapa-btn .badge {\n        display: inline-block !important;\n        background-color: #10b981 !important;\n        color: white !important;\n        font-size: 0.7rem !important;\n        padding: 0.2rem 0.5rem !important;\n        border-radius: 10px !important;\n        margin-left: 0.5rem !important;\n        text-transform: uppercase !important;\n        letter-spacing: 0.5px !important;\n    }\n    \n    \/* NUEVO: Etapa agotada (no se elimina el tab, solo se marca e inhabilita) *\/\n    .etapa-btn.sold-out {\n        background-color: #f0f0f0 !important;\n        color: #9ca3af !important;\n        cursor: not-allowed !important;\n        pointer-events: none !important;\n    }\n    \n    .etapa-btn.sold-out:hover {\n        background-color: #f0f0f0 !important;\n        transform: none !important;\n    }\n    \n    .etapa-btn .badge.badge-soldout {\n        background-color: #ef4444 !important;\n    }\n    \n    \/* Grid de caracter\u00edsticas *\/\n    .caracteristicas-grid {\n        display: grid !important;\n        grid-template-columns: repeat(3, 1fr) !important;\n        gap: 2rem !important;\n        margin-bottom: 3rem !important;\n    }\n    \n    \/* Tarjeta de caracter\u00edstica *\/\n    .caracteristica-item {\n        background-color: #f8f9fa !important;\n        padding: 2.5rem !important;\n        border-radius: 10px !important;\n        text-align: center !important;\n        transition: all 0.3s ease !important;\n        box-shadow: 0 5px 20px rgba(0, 0, 0, 0.03) !important;\n        position: relative !important;\n        overflow: hidden !important;\n    }\n    \n    .caracteristica-item:hover {\n        transform: translateY(-10px) !important;\n        box-shadow: 0 15px 30px rgba(0, 0, 0, 0.08) !important;\n    }\n    \n    .caracteristica-item::before {\n        content: '' !important;\n        position: absolute !important;\n        top: 0 !important;\n        left: 0 !important;\n        width: 5px !important;\n        height: 0 !important;\n        background-color: #FED56F !important;\n        transition: height 0.3s ease !important;\n    }\n    \n    .caracteristica-item:hover::before {\n        height: 100% !important;\n    }\n    \n    .caracteristica-icon {\n        width: 60px !important;\n        height: 60px !important;\n        margin: 0 auto 1.5rem !important;\n        display: flex !important;\n        align-items: center !important;\n        justify-content: center !important;\n        background-color: rgba(30, 58, 138, 0.05) !important;\n        border-radius: 50% !important;\n        color: #1E3A8A !important;\n    }\n    \n    .caracteristica-icon svg {\n        width: 30px !important;\n        height: 30px !important;\n    }\n    \n    .caracteristica-title {\n        font-size: 1.2rem !important;\n        font-weight: 600 !important;\n        color: #1a1a1a !important;\n        margin-bottom: 0.5rem !important;\n    }\n    \n    .caracteristica-destacado {\n        font-size: 2rem !important;\n        font-weight: 700 !important;\n        color: #1E3A8A !important;\n        margin-bottom: 1rem !important;\n        line-height: 1 !important;\n    }\n    \n    .caracteristica-texto {\n        font-size: 0.95rem !important;\n        color: #555 !important;\n        line-height: 1.5 !important;\n    }\n    \n    \/* Tipos de viviendas en tabs *\/\n    .tipologias-tabs {\n        display: flex !important;\n        justify-content: center !important;\n        gap: 1px !important;\n        margin-bottom: 3rem !important;\n        position: relative !important;\n        background-color: #f0f0f0 !important;\n        border-radius: 8px !important;\n        width: fit-content !important;\n        margin: 0 auto 3rem !important;\n        overflow: hidden !important;\n    }\n    \n    .tipologia-tab {\n        padding: 1rem 2rem !important;\n        font-weight: 600 !important;\n        font-size: 1rem !important;\n        color: #555 !important;\n        background-color: #f0f0f0 !important;\n        cursor: pointer !important;\n        transition: all 0.3s ease !important;\n        text-align: center !important;\n        min-width: 120px !important;\n    }\n    \n    .tipologia-tab.active {\n        background-color: #1E3A8A !important;\n        color: white !important;\n    }\n    \n    .tipologia-tab.disabled {\n        opacity: 0.4 !important;\n        cursor: not-allowed !important;\n    }\n    \n    \/* Clase para ocultar elementos *\/\n    .hidden {\n        display: none !important;\n    }\n    \n    \/* CTA Central *\/\n    .tipologias-cta {\n        text-align: center !important;\n        margin-top: 4rem !important;\n    }\n    \n    .cta-button {\n        display: inline-block !important;\n        padding: 1rem 2.5rem !important;\n        background-color: #1E3A8A !important;\n        color: white !important;\n        font-weight: 600 !important;\n        text-decoration: none !important;\n        border-radius: 5px !important;\n        transition: all 0.3s ease !important;\n        font-size: 1rem !important;\n        box-shadow: 0 5px 15px rgba(30, 58, 138, 0.2) !important;\n    }\n    \n    .cta-button:hover {\n        background-color: #152a66 !important;\n        transform: translateY(-3px) !important;\n        box-shadow: 0 10px 20px rgba(30, 58, 138, 0.3) !important;\n    }\n    \n    \/* Dropdown para m\u00f3vil *\/\n    .tipologias-dropdown {\n        display: none !important;\n        width: 100% !important;\n        max-width: 300px !important;\n        margin: 0 auto 3rem !important;\n        position: relative !important;\n    }\n    \n    .tipologias-dropdown-btn {\n        display: flex !important;\n        justify-content: space-between !important;\n        align-items: center !important;\n        width: 100% !important;\n        padding: 1rem 1.5rem !important;\n        background-color: #1E3A8A !important;\n        color: white !important;\n        border: none !important;\n        border-radius: 8px !important;\n        font-weight: 600 !important;\n        font-size: 1rem !important;\n        text-align: left !important;\n        cursor: pointer !important;\n        transition: all 0.3s ease !important;\n        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1) !important;\n    }\n    \n    .tipologias-dropdown-btn:focus {\n        outline: none !important;\n    }\n    \n    .tipologias-dropdown-btn .arrow {\n        transition: transform 0.3s ease !important;\n    }\n    \n    .tipologias-dropdown-btn.active .arrow {\n        transform: rotate(180deg) !important;\n    }\n    \n    .tipologias-dropdown-content {\n        position: absolute !important;\n        top: 100% !important;\n        left: 0 !important;\n        width: 100% !important;\n        background-color: white !important;\n        border-radius: 0 0 8px 8px !important;\n        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1) !important;\n        overflow: hidden !important;\n        max-height: 0 !important;\n        transition: max-height 0.3s ease, opacity 0.3s ease !important;\n        opacity: 0 !important;\n        z-index: 10 !important;\n    }\n    \n    .tipologias-dropdown-content.show {\n        max-height: 220px !important;\n        opacity: 1 !important;\n    }\n    \n    .tipologias-dropdown-item {\n        padding: 1rem 1.5rem !important;\n        font-weight: 500 !important;\n        color: #555 !important;\n        cursor: pointer !important;\n        transition: all 0.2s ease !important;\n        border-bottom: 1px solid #f0f0f0 !important;\n    }\n    \n    .tipologias-dropdown-item:last-child {\n        border-bottom: none !important;\n    }\n    \n    .tipologias-dropdown-item:hover {\n        background-color: #f8f9fa !important;\n        color: #1E3A8A !important;\n    }\n    \n    .tipologias-dropdown-item.active {\n        background-color: #f0f0f0 !important;\n        color: #1E3A8A !important;\n        font-weight: 600 !important;\n    }\n    \n    .tipologias-dropdown-item.disabled {\n        opacity: 0.4 !important;\n        cursor: not-allowed !important;\n    }\n    \n    \/* Responsive *\/\n    @media (max-width: 1024px) {\n        .caracteristicas-grid {\n            grid-template-columns: repeat(2, 1fr) !important;\n        }\n    }\n    \n    @media (max-width: 768px) {\n        .tipologias-tabs {\n            display: none !important;\n        }\n        \n        .tipologias-dropdown {\n            display: block !important;\n        }\n        \n        .tipologias-header {\n            margin-bottom: 3rem !important;\n        }\n        \n        .tipologias-title {\n            font-size: 2rem !important;\n        }\n        \n        .tipologias-description {\n            font-size: 16px !important;\n        }\n        \n        .etapas-selector {\n            flex-direction: column !important;\n            align-items: center !important;\n            gap: 0.8rem !important;\n        }\n        \n        .etapa-btn {\n            width: 100% !important;\n            max-width: 250px !important;\n        }\n        \n        .caracteristicas-grid {\n            grid-template-columns: repeat(2, 1fr) !important;\n            gap: 1rem !important;\n        }\n        \n        .caracteristica-item {\n            padding: 1.5rem !important;\n        }\n        \n        .caracteristica-icon {\n            width: 50px !important;\n            height: 50px !important;\n            margin-bottom: 1rem !important;\n        }\n        \n        .caracteristica-icon svg {\n            width: 25px !important;\n            height: 25px !important;\n        }\n        \n        .caracteristica-title {\n            font-size: 1rem !important;\n            margin-bottom: 0.3rem !important;\n        }\n        \n        .caracteristica-destacado {\n            font-size: 1.6rem !important;\n            margin-bottom: 0.7rem !important;\n        }\n        \n        .caracteristica-texto {\n            font-size: 0.85rem !important;\n            line-height: 1.4 !important;\n        }\n        \n        .tipologia-tab {\n            padding: 0.8rem 1.5rem !important;\n            font-size: 0.9rem !important;\n            min-width: 100px !important;\n        }\n    }\n    \n    @media (max-width: 480px) {\n        .tipologias-subtitle {\n            font-size: 0.9rem !important;\n        }\n        \n        .tipologias-title {\n            font-size: 1.8rem !important;\n        }\n        \n        .caracteristicas-grid {\n            grid-template-columns: 1fr !important;\n        }\n    }\n    <\/style>\n<\/head>\n<body>\n \n<section class=\"as-villas-tipologias\">\n    <div class=\"tipologias-container\">\n        <!-- Encabezado de la secci\u00f3n -->\n        <div class=\"tipologias-header\">\n            <div class=\"etapas-badge\">Solo disponibles viviendas de 3 dormitorios<\/div><br>\n            <div class=\"tipologias-subtitle\">TIPOLOG\u00cdA<\/div>\n            <h2 class=\"tipologias-title\">Sobre los apartamentos<\/h2>\n            <p class=\"tipologias-description\">\n                As Villas ofrece apartamentos modernos y confortables, dise\u00f1ados para proporcionar un espacio propio sin alejarse de Lisboa. Una promoci\u00f3n de 1.200 apartamentos con excelentes acabados y ubicaci\u00f3n privilegiada\n            <\/p>\n        <\/div>\n        \n        <!-- Selector de Etapas - ETAPA 1 AGOTADA, ETAPA 2 SIEMPRE ACTIVA\/PRINCIPAL -->\n        <div class=\"etapas-selector\">\n            <button class=\"etapa-btn sold-out\" data-etapa=\"1\" disabled aria-disabled=\"true\">\n                Etapa 1 <span class=\"badge badge-soldout\">Agotado<\/span>\n            <\/button>\n            <button class=\"etapa-btn active\" data-etapa=\"2\">Etapa 2 <span class=\"badge\">Nueva<\/span><\/button>\n        <\/div>\n        \n        <!-- Selector de tipolog\u00edas en tabs (visible solo en desktop) -->\n        <div class=\"tipologias-tabs\">\n            <div class=\"tipologia-tab hidden\" data-type=\"t1\">1 Dormitorio<\/div>\n            <div class=\"tipologia-tab hidden\" data-type=\"t2\">2 Dormitorios<\/div>\n            <div class=\"tipologia-tab active\" data-type=\"t3-t4\">3 Dormitorios<\/div>\n        <\/div>\n        \n        <!-- Selector desplegable (visible solo en m\u00f3vil) -->\n        <div class=\"tipologias-dropdown\">\n            <button class=\"tipologias-dropdown-btn\" aria-label=\"Seleccionar tipolog\u00eda\">\n                <span class=\"dropdown-selected\">3 Dormitorios<\/span>\n                <span class=\"arrow\">\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                        <polyline points=\"6 9 12 15 18 9\"><\/polyline>\n                    <\/svg>\n                <\/span>\n            <\/button>\n            <div class=\"tipologias-dropdown-content\">\n                <div class=\"tipologias-dropdown-item hidden\" data-type=\"t1\">1 Dormitorio<\/div>\n                <div class=\"tipologias-dropdown-item hidden\" data-type=\"t2\">2 Dormitorios<\/div>\n                <div class=\"tipologias-dropdown-item active\" data-type=\"t3-t4\">3 Dormitorios<\/div>\n            <\/div>\n        <\/div>\n        \n        <!-- Grid de caracter\u00edsticas -->\n        <div class=\"caracteristicas-grid\">\n            <!-- Caracter\u00edstica 1: Metros cuadrados -->\n            <div id=\"animado\" class=\"caracteristica-item\">\n                <div class=\"caracteristica-icon\">\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                        <rect x=\"1\" y=\"4\" width=\"22\" height=\"16\" rx=\"2\" ry=\"2\"><\/rect>\n                        <line x1=\"1\" y1=\"10\" x2=\"23\" y2=\"10\"><\/line>\n                    <\/svg>\n                <\/div>\n                <h3 class=\"caracteristica-title\">Dimensiones<\/h3>\n                <div class=\"caracteristica-destacado\">125-133 m\u00b2<\/div>\n                <p class=\"caracteristica-texto\">Espacios vers\u00e1tiles y funcionales cuidadosamente planeados para maximizar el confort.<\/p>\n            <\/div>\n            \n            <!-- Caracter\u00edstica 2: Precio -->\n            <div id=\"animado\" class=\"caracteristica-item\">\n                <div class=\"caracteristica-icon\">\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                        <line x1=\"12\" y1=\"1\" x2=\"12\" y2=\"23\"><\/line>\n                        <path d=\"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6\"><\/path>\n                    <\/svg>\n                <\/div>\n                <h3 class=\"caracteristica-title\">Precio desde<\/h3>\n                <div class=\"caracteristica-destacado\">534.000 \u20ac<\/div>\n                <p class=\"caracteristica-texto\">Inversi\u00f3n que combina calidad, ubicaci\u00f3n privilegiada y valor duradero.<\/p>\n            <\/div>\n            \n            <!-- Caracter\u00edstica 3: Tipolog\u00eda -->\n            <div id=\"animado\" class=\"caracteristica-item\">\n                <div class=\"caracteristica-icon\">\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                        <path d=\"M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\"><\/path>\n                        <polyline points=\"9 22 9 12 15 12 15 22\"><\/polyline>\n                    <\/svg>\n                <\/div>\n                <h3 class=\"caracteristica-title\">Tipolog\u00eda<\/h3>\n                <div class=\"caracteristica-destacado\">3 Dormitorios<\/div>\n                <p class=\"caracteristica-texto\">Apartamentos de 3 dormitorios espaciosos de la nueva etapa, con terrazas amplias y vistas deslumbrantes.<\/p>\n            <\/div>\n            \n            <!-- Caracter\u00edstica 4: Equipamiento -->\n            <div id=\"animado\" class=\"caracteristica-item\">\n                <div class=\"caracteristica-icon\">\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                        <polyline points=\"22 12 18 12 15 21 9 3 6 12 2 12\"><\/polyline>\n                    <\/svg>\n                <\/div>\n                <h3 class=\"caracteristica-title\">Equipamiento<\/h3>\n                <div class=\"caracteristica-destacado\">Premium<\/div>\n                <p class=\"caracteristica-texto\">Cocinas equipadas con electrodom\u00e9sticos de alta eficiencia energ\u00e9tica (A) y acabados de lujo.<\/p>\n            <\/div>\n            \n            <!-- Caracter\u00edstica 5: Terraza -->\n            <div id=\"animado\" class=\"caracteristica-item\">\n                <div class=\"caracteristica-icon\">\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                        <rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"><\/rect>\n                        <line x1=\"3\" y1=\"9\" x2=\"21\" y2=\"9\"><\/line>\n                        <line x1=\"9\" y1=\"21\" x2=\"9\" y2=\"9\"><\/line>\n                    <\/svg>\n                <\/div>\n                <h3 class=\"caracteristica-title\">Terraza<\/h3>\n                <div class=\"caracteristica-destacado\">Incluida<\/div>\n                <p class=\"caracteristica-texto\">Amplias terrazas privadas para disfrutar de la luz natural y vistas privilegiadas.<\/p>\n            <\/div>\n            \n            <!-- Caracter\u00edstica 6: Estacionamiento -->\n            <div id=\"animado\" class=\"caracteristica-item\">\n                <div class=\"caracteristica-icon\">\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                        <rect x=\"1\" y=\"3\" width=\"15\" height=\"13\"><\/rect>\n                        <polygon points=\"16 8 20 8 23 11 23 16 16 16 16 8\"><\/polygon>\n                        <circle cx=\"5.5\" cy=\"18.5\" r=\"2.5\"><\/circle>\n                        <circle cx=\"18.5\" cy=\"18.5\" r=\"2.5\"><\/circle>\n                    <\/svg>\n                <\/div>\n                <h3 class=\"caracteristica-title\">Aparcamiento y Trastero<\/h3>\n                <div class=\"caracteristica-destacado\">1-2 Plazas<\/div>\n                <p class=\"caracteristica-texto\">Una o dos plazas de aparcamiento privadas incluidas seg\u00fan la tipolog\u00eda, con trastero.<\/p>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/section>\n \n<script>\n    document.addEventListener('DOMContentLoaded', function() {\n        \/\/ Elementos del DOM\n        const tabs = document.querySelectorAll('.tipologia-tab');\n        const dropdownBtn = document.querySelector('.tipologias-dropdown-btn');\n        const dropdownContent = document.querySelector('.tipologias-dropdown-content');\n        const dropdownItems = document.querySelectorAll('.tipologias-dropdown-item');\n        const dropdownSelected = document.querySelector('.dropdown-selected');\n        const etapaBtns = document.querySelectorAll('.etapa-btn');\n        \n        \/\/ Referencia a los elementos que cambian seg\u00fan la tipolog\u00eda\n        const dimensiones = document.querySelector('.caracteristica-item:nth-child(1) .caracteristica-destacado');\n        const precio = document.querySelector('.caracteristica-item:nth-child(2) .caracteristica-destacado');\n        const tipologia = document.querySelector('.caracteristica-item:nth-child(3) .caracteristica-destacado');\n        const tipologiaTexto = document.querySelector('.caracteristica-item:nth-child(3) .caracteristica-texto');\n        const estacionamento = document.querySelector('.caracteristica-item:nth-child(6) .caracteristica-destacado');\n        const estacionamentoTexto = document.querySelector('.caracteristica-item:nth-child(6) .caracteristica-texto');\n        \n        \/\/ Referencias espec\u00edficas para el tab T3-T4\n        const t3t4Tab = document.querySelector('.tipologia-tab[data-type=\"t3-t4\"]');\n        const t3t4DropdownItem = document.querySelector('.tipologias-dropdown-item[data-type=\"t3-t4\"]');\n        \n        \/\/ Referencias al tab T1 y T2\n        const t1Tab = document.querySelector('.tipologia-tab[data-type=\"t1\"]');\n        const t1DropdownItem = document.querySelector('.tipologias-dropdown-item[data-type=\"t1\"]');\n        const t2Tab = document.querySelector('.tipologia-tab[data-type=\"t2\"]');\n        const t2DropdownItem = document.querySelector('.tipologias-dropdown-item[data-type=\"t2\"]');\n        \n        \/\/ Estado actual - INICIAMOS Y PERMANECEMOS CON ETAPA 2 ACTIVA (ETAPA 1 AGOTADA)\n        let etapaActual = '2';\n        let tipoActual = 't3-t4';\n        \n        \/\/ Datos de cada etapa - T1 y T2 NO DISPONIBLES EN NINGUNA ETAPA\n        const datosEtapas = {\n            '1': {\n                't1': {\n                    disponible: false\n                },\n                't2': {\n                    disponible: false \/\/ \u274c OCULTADA EN ETAPA 1\n                },\n                't3-t4': {\n                    dimensiones: '114-135 m\u00b2',\n                    precio: '515.000 \u20ac',\n                    tipologia: '3 Dormitorios',\n                    tipologiaTexto: 'Apartamentos de 3 dormitorios espaciosos con amplias terrazas, ideales para familias.',\n                    estacionamento: '1-2 Plazas',\n                    estacionamentoTexto: 'Una o dos plazas de aparcamiento privadas incluidas seg\u00fan la tipolog\u00eda, con trastero.',\n                    disponible: true\n                }\n            },\n            '2': {\n                't1': {\n                    disponible: false\n                },\n                't2': {\n                    disponible: false \/\/ \u274c OCULTADA EN ETAPA 2\n                },\n                't3-t4': {\n                    dimensiones: '125-133 m\u00b2',\n                    precio: '534.000 \u20ac',\n                    tipologia: '3 Dormitorios',\n                    tipologiaTexto: 'Apartamentos de 3 dormitorios espaciosos de la nueva etapa, con terrazas amplias y vistas deslumbrantes.',\n                    estacionamento: '1-2 Plazas',\n                    estacionamentoTexto: 'Una o dos plazas de aparcamiento privadas incluidas seg\u00fan la tipolog\u00eda, con trastero.',\n                    disponible: true\n                }\n            }\n        };\n        \n        \/\/ Funci\u00f3n para actualizar el contenido seg\u00fan la etapa y tipolog\u00eda\n        function actualizarContenido() {\n            const datos = datosEtapas[etapaActual][tipoActual];\n            \n            if (datos && datos.disponible) {\n                dimensiones.textContent = datos.dimensiones;\n                precio.textContent = datos.precio;\n                tipologia.textContent = datos.tipologia;\n                tipologiaTexto.textContent = datos.tipologiaTexto;\n                estacionamento.textContent = datos.estacionamento;\n                estacionamentoTexto.textContent = datos.estacionamentoTexto;\n            }\n        }\n        \n        \/\/ Funci\u00f3n para actualizar el texto de los tabs seg\u00fan la etapa\n        function actualizarTextoTabs() {\n            t3t4Tab.textContent = '3 Dormitorios';\n            t3t4DropdownItem.textContent = '3 Dormitorios';\n            if (tipoActual === 't3-t4') {\n                dropdownSelected.textContent = '3 Dormitorios';\n            }\n        }\n        \n        \/\/ Funci\u00f3n para actualizar disponibilidad de tabs\n        function actualizarDisponibilidadTabs() {\n            tabs.forEach(tab => {\n                const tipo = tab.getAttribute('data-type');\n                const disponible = datosEtapas[etapaActual][tipo]?.disponible;\n                \n                if (!disponible) {\n                    tab.classList.add('hidden');\n                } else {\n                    tab.classList.remove('hidden');\n                    tab.classList.remove('disabled');\n                }\n            });\n            \n            dropdownItems.forEach(item => {\n                const tipo = item.getAttribute('data-type');\n                const disponible = datosEtapas[etapaActual][tipo]?.disponible;\n                \n                if (!disponible) {\n                    item.classList.add('hidden');\n                } else {\n                    item.classList.remove('hidden');\n                    item.classList.remove('disabled');\n                }\n            });\n        }\n        \n        \/\/ Event listeners para etapas\n        etapaBtns.forEach(btn => {\n            btn.addEventListener('click', function() {\n                \/\/ NUEVO: la Etapa 1 est\u00e1 agotada\/deshabilitada - se ignora cualquier clic\n                if (this.disabled || this.classList.contains('sold-out')) {\n                    return;\n                }\n                \n                \/\/ Cambiar etapa activa\n                etapaBtns.forEach(b => b.classList.remove('active'));\n                this.classList.add('active');\n                etapaActual = this.getAttribute('data-etapa');\n                \n                \/\/ Actualizar texto de tabs seg\u00fan la etapa\n                actualizarTextoTabs();\n                \n                \/\/ Actualizar disponibilidad de tabs\n                actualizarDisponibilidadTabs();\n                \n                \/\/ Si la tipolog\u00eda actual no est\u00e1 disponible en la nueva etapa, cambiar a T3\n                if (!datosEtapas[etapaActual][tipoActual]?.disponible) {\n                    tipoActual = 't3-t4';\n                    tabs.forEach(t => t.classList.remove('active'));\n                    document.querySelector('.tipologia-tab[data-type=\"t3-t4\"]').classList.add('active');\n                    dropdownItems.forEach(i => i.classList.remove('active'));\n                    document.querySelector('.tipologias-dropdown-item[data-type=\"t3-t4\"]').classList.add('active');\n                    dropdownSelected.textContent = '3 Dormitorios';\n                }\n                \n                actualizarContenido();\n            });\n        });\n        \n        \/\/ Funcionalidad para los tabs (desktop)\n        tabs.forEach(tab => {\n            tab.addEventListener('click', function() {\n                const tipo = this.getAttribute('data-type');\n                \n                \/\/ Verificar si est\u00e1 disponible\n                if (!datosEtapas[etapaActual][tipo]?.disponible) {\n                    return;\n                }\n                \n                \/\/ Remover clase active de todos los tabs\n                tabs.forEach(t => t.classList.remove('active'));\n                \n                \/\/ A\u00f1adir clase active al tab clickeado\n                this.classList.add('active');\n                \n                tipoActual = tipo;\n                \n                \/\/ Actualizar el dropdown en mobile para mantener la sincronizaci\u00f3n\n                dropdownItems.forEach(item => {\n                    item.classList.remove('active');\n                    if (item.getAttribute('data-type') === tipo) {\n                        item.classList.add('active');\n                        dropdownSelected.textContent = item.textContent;\n                    }\n                });\n                \n                \/\/ Actualizar contenido\n                actualizarContenido();\n            });\n        });\n        \n        \/\/ Funcionalidad para abrir\/cerrar el dropdown (mobile)\n        dropdownBtn.addEventListener('click', function() {\n            this.classList.toggle('active');\n            dropdownContent.classList.toggle('show');\n        });\n        \n        \/\/ Cerrar el dropdown al hacer clic fuera de \u00e9l\n        document.addEventListener('click', function(event) {\n            if (!event.target.closest('.tipologias-dropdown')) {\n                dropdownBtn.classList.remove('active');\n                dropdownContent.classList.remove('show');\n            }\n        });\n        \n        \/\/ Selecci\u00f3n en el dropdown (mobile)\n        dropdownItems.forEach(item => {\n            item.addEventListener('click', function() {\n                const tipo = this.getAttribute('data-type');\n                \n                \/\/ Verificar si est\u00e1 disponible\n                if (!datosEtapas[etapaActual][tipo]?.disponible) {\n                    return;\n                }\n                \n                \/\/ Actualizar estado del dropdown\n                dropdownItems.forEach(i => i.classList.remove('active'));\n                this.classList.add('active');\n                dropdownSelected.textContent = this.textContent;\n                dropdownBtn.classList.remove('active');\n                dropdownContent.classList.remove('show');\n                \n                tipoActual = tipo;\n                \n                \/\/ Actualizar los tabs de desktop para mantener la sincronizaci\u00f3n\n                tabs.forEach(tab => {\n                    tab.classList.remove('active');\n                    if (tab.getAttribute('data-type') === tipo) {\n                        tab.classList.add('active');\n                    }\n                });\n                \n                \/\/ Actualizar contenido\n                actualizarContenido();\n            });\n        });\n        \n        \/\/ \ud83d\ude80 INICIALIZACI\u00d3N: Configurar estado inicial con ETAPA 2 activa (Etapa 1 agotada)\n        actualizarTextoTabs();\n        actualizarDisponibilidadTabs();\n        actualizarContenido();\n    });\n<\/script>\n \n<\/body>\n<\/html>\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<div class=\"elementor-element elementor-element-6209fb5 e-con-full e-flex e-con e-parent\" data-id=\"6209fb5\" data-element_type=\"container\" data-e-type=\"container\" id=\"galeria\">\n\t\t\t\t<div class=\"elementor-element elementor-element-04129ea elementor-widget elementor-widget-html\" data-id=\"04129ea\" 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<style>\/* Galer\u00eda-carrusel a ancho completo *\/\r\n    .as-villas-gallery {\r\n        position: relative !important;\r\n        width: 100% !important;\r\n        height: 60vh !important; \/* Altura reducida a 50vh *\/\r\n        overflow: hidden !important;\r\n    }\r\n    \r\n    \/* Contenedor de slides *\/\r\n    .gallery-slides {\r\n        position: relative !important;\r\n        width: 100% !important;\r\n        height: 100% !important;\r\n        overflow: hidden !important;\r\n        touch-action: pan-y !important; \/* Mejora el comportamiento t\u00e1ctil *\/\r\n    }\r\n    \r\n    \/* Slide individual *\/\r\n    .gallery-slide {\r\n        position: absolute !important;\r\n        top: 0 !important;\r\n        left: 0 !important;\r\n        width: 100% !important;\r\n        height: 100% !important;\r\n        opacity: 0 !important;\r\n        transition: opacity 0.8s ease !important;\r\n        z-index: 1 !important;\r\n        overflow: hidden !important; \/* Asegurar que la imagen no desborde *\/\r\n    }\r\n    \r\n    .gallery-slide.active {\r\n        opacity: 1 !important;\r\n        z-index: 2 !important;\r\n    }\r\n    \r\n    \/* Imagen de fondo - reforzado con !important *\/\r\n    .gallery-image {\r\n        position: absolute !important;\r\n        top: 0 !important;\r\n        left: 0 !important;\r\n        width: 100% !important;\r\n        height: 100% !important;\r\n        object-fit: cover !important;\r\n        object-position: center !important;\r\n        display: block !important; \/* Eliminar espacio en l\u00ednea *\/\r\n        max-width: none !important; \/* Anular cualquier restricci\u00f3n de max-width *\/\r\n        min-height: 100% !important; \/* Forzar altura m\u00ednima *\/\r\n    }\r\n    \r\n    \/* Gradiente oscuro para legibilidad del texto - mejorado *\/\r\n    .gallery-overlay {\r\n        position: absolute !important;\r\n        bottom: 0 !important;\r\n        left: 0 !important;\r\n        width: 100% !important;\r\n        height: 70% !important; \/* Aumentado para cubrir m\u00e1s espacio *\/\r\n        background: linear-gradient(to top, \r\n            rgba(0, 0, 0, 0.8) 0%, \r\n            rgba(0, 0, 0, 0.7) 20%,\r\n            rgba(0, 0, 0, 0.5) 40%,\r\n            rgba(0, 0, 0, 0.3) 60%,\r\n            rgba(0, 0, 0, 0) 100%) !important;\r\n        z-index: 2 !important;\r\n    }\r\n    \r\n    \/* Contenedor de texto - posicionado m\u00e1s abajo *\/\r\n    .gallery-text {\r\n        position: absolute !important;\r\n        bottom: 25px !important; \/* Ajustado m\u00e1s abajo *\/\r\n        left: 0 !important;\r\n        z-index: 3 !important;\r\n        padding: 0 10% 0 10% !important;\r\n        width: 60% !important;\r\n        color: white !important;\r\n    }\r\n    \r\n    \/* T\u00edtulo *\/\r\n    .gallery-title {\r\n        font-size: 2.5rem !important;\r\n        font-weight: 600 !important;\r\n        margin-bottom: 1rem !important;\r\n        line-height: 1.2 !important;\r\n        text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !important; \/* Sombra suave para mejorar legibilidad *\/\r\n    }\r\n    \r\n    \/* Descripci\u00f3n *\/\r\n    .gallery-description {\r\n        font-size: 1.1rem !important;\r\n        line-height: 1.5 !important;\r\n        opacity: 0.95 !important;\r\n        max-width: 90% !important;\r\n        text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) !important; \/* Sombra sutil *\/\r\n    }\r\n    \r\n    \/* Navegaci\u00f3n - Botones de flecha *\/\r\n    .gallery-nav-button {\r\n        position: absolute;\r\n        top: 50%;\r\n        transform: translateY(-50%);\r\n        width: 50px;\r\n        height: 50px;\r\n        background-color: rgba(255, 255, 255, 0.8);\r\n        border: none;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        cursor: pointer;\r\n        z-index: 10;\r\n        transition: all 0.3s ease;\r\n    }\r\n    \r\n    .gallery-nav-button:hover {\r\n        background-color: #FED56F;\r\n    }\r\n    \r\n    .gallery-prev {\r\n        left: 30px;\r\n    }\r\n    \r\n    .gallery-next {\r\n        right: 30px;\r\n    }\r\n    \r\n    .gallery-nav-button svg {\r\n        width: 24px;\r\n        height: 24px;\r\n        stroke: #1a1a1a;\r\n    }\r\n    \r\n    \/* Indicadores de slide (dots) *\/\r\n    .gallery-indicators {\r\n        position: absolute;\r\n        bottom: 30px;\r\n        right: 10%;\r\n        display: flex;\r\n        gap: 10px;\r\n        z-index: 10;\r\n    }\r\n    \r\n    .gallery-indicator {\r\n        width: 10px;\r\n        height: 10px;\r\n        border-radius: 50%;\r\n        background-color: rgba(255, 255, 255, 0.5);\r\n        cursor: pointer;\r\n        transition: all 0.3s ease;\r\n    }\r\n    \r\n    .gallery-indicator.active {\r\n        background-color: #FED56F;\r\n        transform: scale(1.2);\r\n    }\r\n    \r\n    \/* Contador de slides *\/\r\n    .gallery-counter {\r\n        position: absolute;\r\n        top: 30px;\r\n        right: 10%;\r\n        color: white;\r\n        font-size: 0.9rem;\r\n        z-index: 10;\r\n        display: flex;\r\n        align-items: center;\r\n        gap: 5px;\r\n    }\r\n    \r\n    .gallery-counter-divider {\r\n        width: 20px;\r\n        height: 1px;\r\n        background-color: rgba(255, 255, 255, 0.6);\r\n        margin: 0 5px;\r\n    }\r\n    \r\n    \/* Efecto hover en los botones *\/\r\n    .gallery-link {\r\n        display: inline-block;\r\n        margin-top: 2rem;\r\n        color: white;\r\n        text-decoration: none;\r\n        padding-bottom: 5px;\r\n        border-bottom: 2px solid #FED56F;\r\n        font-size: 0.9rem;\r\n        font-weight: 500;\r\n        letter-spacing: 1px;\r\n        text-transform: uppercase;\r\n        transition: all 0.3s ease;\r\n    }\r\n    \r\n    .gallery-link:hover {\r\n        color: #FED56F;\r\n    }\r\n    \r\n    \/* Responsive *\/\r\n    @media (max-width: 992px) {\r\n        .gallery-text {\r\n            width: 70%;\r\n            padding: 3rem 5% 3rem 5%;\r\n        }\r\n        \r\n        .gallery-title {\r\n            font-size: 2rem;\r\n        }\r\n    }\r\n    \r\n    @media (max-width: 768px) {\r\n        .as-villas-gallery {\r\n            height: 70vh !important; \/* Mantener la misma altura en m\u00f3viles *\/\r\n        }\r\n        \r\n        .gallery-text {\r\n            width: 90% !important;\r\n            padding: 0 5% 0 5% !important;\r\n            bottom: 20px !important;\r\n        }\r\n        \r\n        .gallery-title {\r\n            font-size: 1.5rem !important;\r\n            margin-bottom: 0.6rem !important;\r\n        }\r\n        \r\n        .gallery-description {\r\n            font-size: 0.9rem !important;\r\n            line-height: 1.3 !important;\r\n            display: -webkit-box !important;\r\n            -webkit-line-clamp: 3 !important; \/* Limitar a 3 l\u00edneas *\/\r\n            -webkit-box-orient: vertical !important;\r\n            overflow: hidden !important;\r\n        }\r\n        \r\n        \/* Reducir tama\u00f1o del enlace *\/\r\n        .gallery-link {\r\n            margin-top: 0.8rem !important;\r\n            font-size: 0.8rem !important;\r\n        }\r\n        \r\n        \/* Ocultar flechas de navegaci\u00f3n en m\u00f3vil *\/\r\n        .gallery-nav-button {\r\n            display: none !important;\r\n        }\r\n        \r\n        \/* CAMBIO: Mover los indicadores a la derecha *\/\r\n        .gallery-indicators {\r\n            bottom: 15px !important;\r\n            right: 10% !important; \/* Establecer posici\u00f3n a la derecha *\/\r\n            left: auto !important; \/* Eliminar posicionamiento a la izquierda *\/\r\n            justify-content: flex-end !important; \/* Alinear a la derecha *\/\r\n        }\r\n        \r\n        .gallery-indicator {\r\n            width: 12px !important;\r\n            height: 12px !important;\r\n        }\r\n        \r\n        \/* Ajustar el contador para m\u00f3viles *\/\r\n        .gallery-counter {\r\n            top: 15px !important;\r\n            right: 5% !important;\r\n            font-size: 0.8rem !important;\r\n        }\r\n    }\r\n<\/style><section class=\"as-villas-gallery\"><!-- Contenedor de slides --><div class=\"gallery-slides\"><!-- Slide 1 --><div class=\"gallery-slide active\" data-index=\"1\"><img decoding=\"async\" src=\"https:\/\/hercesa.pt\/asvillas\/wp-content\/uploads\/2025\/05\/terrazas-asvillas.jpg\" alt=\"Amplias terrazas\" class=\"gallery-image\"><div class=\"gallery-overlay\"><\/div><div class=\"gallery-text\"><h2 class=\"gallery-title\">Amplias terrazas con vistas panor\u00e1micas<\/h2><p class=\"gallery-description\">Todos los apartamentos disponen de amplias terrazas que invitan a disfrutar del paisaje circundante y del clima privilegiado de Lisboa durante todo el a\u00f1o.<\/p><a href=\"#unlock\" class=\"gallery-link\">Saber m\u00e1s<\/a><\/div><\/div><!-- Slide 2 --><div class=\"gallery-slide\" data-index=\"2\"><img decoding=\"async\" src=\"https:\/\/hercesa.pt\/asvillas\/wp-content\/uploads\/2025\/05\/interior-premium.jpg\" alt=\"Interiores exclusivos\" class=\"gallery-image\"><div class=\"gallery-overlay\"><\/div><div class=\"gallery-text\"><h2 class=\"gallery-title\">Interiores exclusivos con acabados premium<\/h2><p class=\"gallery-description\">Dise\u00f1ados para la privacidad, el silencio y el gusto por los detalles con materiales de alta calidad, donde la luz natural es protagonista, creando ambientes acogedores y sofisticados.<\/p><a href=\"#unlock\" class=\"gallery-link\">Saber m\u00e1s<\/a><\/div><\/div><!-- Slide 3 --><div class=\"gallery-slide\" data-index=\"3\"><img decoding=\"async\" src=\"https:\/\/hercesa.pt\/asvillas\/wp-content\/uploads\/2025\/05\/vistas-asvillas.jpg\" alt=\"Ubicaci\u00f3n privilegiada\" class=\"gallery-image\"><div class=\"gallery-overlay\"><\/div><div class=\"gallery-text\"><h2 class=\"gallery-title\">Ubicaci\u00f3n privilegiada a las puertas de Lisboa<\/h2><p class=\"gallery-description\">Estrat\u00e9gicamente posicionado para ofrecer el equilibrio perfecto entre tranquilidad y proximidad a todas las comodidades y servicios de la ciudad.<\/p><a href=\"#unlock\" class=\"gallery-link\">Saber m\u00e1s<\/a><\/div><\/div><\/div><!-- Contador de slides --><div class=\"gallery-counter\"><span class=\"gallery-current\">01<\/span><span class=\"gallery-counter-divider\"><\/span><span class=\"gallery-total\">03<\/span><\/div><!-- Indicadores de slide --><div class=\"gallery-indicators\"><div class=\"gallery-indicator active\" data-slide=\"0\"><\/div><div class=\"gallery-indicator\" data-slide=\"1\"><\/div><div class=\"gallery-indicator\" data-slide=\"2\"><\/div><\/div><!-- Botones de navegaci\u00f3n --><button class=\"gallery-nav-button gallery-prev\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"15 18 9 12 15 6\"><\/polyline><\/svg><\/button><button class=\"gallery-nav-button gallery-next\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"9 18 15 12 9 6\"><\/polyline><\/svg><\/button><\/section><script>document.addEventListener('DOMContentLoaded', function() {\r\n        const slides = document.querySelectorAll('.gallery-slide');\r\n        const indicators = document.querySelectorAll('.gallery-indicator');\r\n        const prevButton = document.querySelector('.gallery-prev');\r\n        const nextButton = document.querySelector('.gallery-next');\r\n        const currentCounter = document.querySelector('.gallery-current');\r\n        const totalCounter = document.querySelector('.gallery-total');\r\n        const slidesContainer = document.querySelector('.gallery-slides');\r\n        \r\n        let currentSlide = 0;\r\n        const totalSlides = slides.length;\r\n        \r\n        \/\/ Variables para el control t\u00e1ctil\r\n        let touchStartX = 0;\r\n        let touchEndX = 0;\r\n        \r\n        \/\/ Actualizar total de slides\r\n        totalCounter.textContent = totalSlides.toString().padStart(2, '0');\r\n        \r\n        \/\/ Funci\u00f3n para mostrar slide\r\n        function showSlide(index) {\r\n            \/\/ Ocultar todos los slides\r\n            slides.forEach(slide => {\r\n                slide.classList.remove('active');\r\n            });\r\n            \r\n            \/\/ Desactivar todos los indicadores\r\n            indicators.forEach(indicator => {\r\n                indicator.classList.remove('active');\r\n            });\r\n            \r\n            \/\/ Mostrar el slide actual\r\n            slides[index].classList.add('active');\r\n            indicators[index].classList.add('active');\r\n            \r\n            \/\/ Actualizar contador\r\n            currentCounter.textContent = (index + 1).toString().padStart(2, '0');\r\n            \r\n            \/\/ Actualizar slide actual\r\n            currentSlide = index;\r\n        }\r\n        \r\n        \/\/ Event listeners para botones\r\n        prevButton.addEventListener('click', function() {\r\n            const newIndex = (currentSlide - 1 + totalSlides) % totalSlides;\r\n            showSlide(newIndex);\r\n        });\r\n        \r\n        nextButton.addEventListener('click', function() {\r\n            const newIndex = (currentSlide + 1) % totalSlides;\r\n            showSlide(newIndex);\r\n        });\r\n        \r\n        \/\/ Event listeners para indicadores\r\n        indicators.forEach((indicator, index) => {\r\n            indicator.addEventListener('click', function() {\r\n                showSlide(index);\r\n            });\r\n        });\r\n        \r\n        \/\/ NUEVO: Controladores de eventos t\u00e1ctiles\r\n        slidesContainer.addEventListener('touchstart', function(e) {\r\n            touchStartX = e.changedTouches[0].screenX;\r\n        }, { passive: true });\r\n        \r\n        slidesContainer.addEventListener('touchend', function(e) {\r\n            touchEndX = e.changedTouches[0].screenX;\r\n            handleSwipe();\r\n        }, { passive: true });\r\n        \r\n        \/\/ NUEVO: Funci\u00f3n para manejar el deslizamiento\r\n        function handleSwipe() {\r\n            \/\/ Calcular la distancia del deslizamiento\r\n            const swipeDistance = touchEndX - touchStartX;\r\n            const minSwipeDistance = 50; \/\/ Distancia m\u00ednima para considerar un deslizamiento v\u00e1lido\r\n            \r\n            if (swipeDistance > minSwipeDistance) {\r\n                \/\/ Deslizamiento a la derecha - mostrar slide anterior\r\n                const newIndex = (currentSlide - 1 + totalSlides) % totalSlides;\r\n                showSlide(newIndex);\r\n            } else if (swipeDistance < -minSwipeDistance) {\r\n                \/\/ Deslizamiento a la izquierda - mostrar siguiente slide\r\n                const newIndex = (currentSlide + 1) % totalSlides;\r\n                showSlide(newIndex);\r\n            }\r\n        }\r\n        \r\n        \/\/ Inicializar\r\n        showSlide(0);\r\n        \r\n        \/\/ Autoplay opcional (comentado por defecto)\r\n        \/*\r\n        const autoplayInterval = 5000; \/\/ 5 segundos\r\n        setInterval(function() {\r\n            const newIndex = (currentSlide + 1) % totalSlides;\r\n            showSlide(newIndex);\r\n        }, autoplayInterval);\r\n        *\/\r\n    });\r\n<\/script>\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-e0963e1 e-con-full e-flex e-con e-parent\" data-id=\"e0963e1\" data-element_type=\"container\" data-e-type=\"container\" id=\"specs\">\n\t\t\t\t<div class=\"elementor-element elementor-element-071bca6 elementor-widget elementor-widget-html\" data-id=\"071bca6\" 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<style>\r\n    \/* Bloque de caracter\u00edsticas de los apartamentos *\/\r\n    .as-villas-caracteristicas {\r\n        padding: 5rem 0;\r\n        background-color: #f8f9fa;\r\n        position: relative;\r\n    }\r\n    \r\n    .caracteristicas-container {\r\n        width: 100%;\r\n        padding: 0 5%;\r\n    }\r\n    \r\n    \/* Encabezado de la secci\u00f3n *\/\r\n    .caracteristicas-header {\r\n        text-align: center;\r\n        margin-bottom: 4rem;\r\n    }\r\n    \r\n    .caracteristicas-subtitle {\r\n        font-size: 1rem;\r\n        text-transform: uppercase;\r\n        letter-spacing: 2px;\r\n        color: #1E3A8A;\r\n        margin-bottom: 1rem;\r\n        font-weight: 500;\r\n    }\r\n    \r\n    .caracteristicas-title {\r\n        font-size: 2.5rem;\r\n        font-weight: 700;\r\n        color: #1a1a1a;\r\n        margin-bottom: 2rem;\r\n    }\r\n    \r\n    .caracteristicas-description {\r\n        max-width: 700px;\r\n        margin: 0 auto;\r\n        font-size: 20px;\r\n        line-height: 1.6;\r\n        color: #555;\r\n    }\r\n    \r\n    \/* Grid de caracter\u00edsticas *\/\r\n    .features-grid {\r\n        display: grid;\r\n        grid-template-columns: repeat(4, 1fr);\r\n        gap: 3rem;\r\n        padding: 0 3%;\r\n    }\r\n    \r\n    \/* Items de caracter\u00edsticas *\/\r\n    .feature-item {\r\n        text-align: center;\r\n        display: flex;\r\n        flex-direction: column;\r\n        align-items: center;\r\n    }\r\n    \r\n    .feature-icon {\r\n        width: 80px;\r\n        height: 80px;\r\n        margin-bottom: 1.5rem;\r\n    }\r\n    \r\n    .feature-icon img {\r\n        width: 100%;\r\n        height: 100%;\r\n        object-fit: contain;\r\n    }\r\n    \r\n    .feature-icon svg {\r\n        width: 100%;\r\n        height: 100%;\r\n        stroke: #1E3A8A;\r\n        fill: none;\r\n        stroke-width: 1.5;\r\n    }\r\n    \r\n    .feature-title {\r\n        font-size: 1.2rem;\r\n        font-weight: 700;\r\n        color: #1a1a1a;\r\n        margin-bottom: 1rem;\r\n        text-transform: uppercase;\r\n        letter-spacing: 1px;\r\n    }\r\n    \r\n    .feature-description {\r\n        font-size: 1rem;\r\n        line-height: 1.6;\r\n        color: #555;\r\n    }\r\n    \r\n    \/* L\u00ednea decorativa *\/\r\n    .feature-title::after {\r\n        content: '';\r\n        display: block;\r\n        width: 40px;\r\n        height: 2px;\r\n        background-color: #FED56F;\r\n        margin: 0.8rem auto 0;\r\n    }\r\n    \r\n    \/* Decoraci\u00f3n de fondo *\/\r\n    .caracteristicas-bg-decoration {\r\n        position: absolute;\r\n        width: 300px;\r\n        height: 300px;\r\n        border-radius: 50%;\r\n        background-color: rgba(254, 213, 111, 0.05);\r\n        z-index: 0;\r\n    }\r\n    \r\n    .caracteristicas-bg-decoration:nth-child(1) {\r\n        top: -100px;\r\n        right: -100px;\r\n    }\r\n    \r\n    .caracteristicas-bg-decoration:nth-child(2) {\r\n        bottom: -100px;\r\n        left: -100px;\r\n    }\r\n    \r\n    \/* Responsive *\/\r\n    @media (max-width: 992px) {\r\n        .features-grid {\r\n            grid-template-columns: repeat(2, 1fr);\r\n            gap: 2.5rem;\r\n            padding: 0 2%;\r\n        }\r\n    }\r\n    \r\n    @media (max-width: 768px) {\r\n        .caracteristicas-title {\r\n            font-size: 2rem;\r\n        }\r\n        \r\n        .caracteristicas-description {\r\n            font-size: 16px;\r\n        }\r\n        \r\n        .features-grid {\r\n            grid-template-columns: repeat(2, 1fr);\r\n            gap: 2rem;\r\n        }\r\n        \r\n        .feature-icon {\r\n            width: 60px;\r\n            height: 60px;\r\n            margin-bottom: 1rem;\r\n        }\r\n        \r\n        .feature-title {\r\n            font-size: 1rem;\r\n        }\r\n        \r\n        .feature-description {\r\n            font-size: 0.9rem;\r\n        }\r\n    }\r\n    \r\n    @media (max-width: 480px) {\r\n        .features-grid {\r\n            grid-template-columns: repeat(2, 1fr);\r\n            gap: 2rem;\r\n        }\r\n        \r\n        .feature-title {\r\n            font-size: 0.9rem;\r\n        }\r\n        \r\n        .feature-description {\r\n            font-size: 0.85rem;\r\n        }\r\n    }\r\n<\/style>\r\n\r\n<section class=\"as-villas-caracteristicas\">\r\n    <!-- Decoraciones de fondo -->\r\n    <div class=\"caracteristicas-bg-decoration\"><\/div>\r\n    <div class=\"caracteristicas-bg-decoration\"><\/div>\r\n    \r\n    <div class=\"caracteristicas-container\">\r\n        <!-- Cabecera de la secci\u00f3n -->\r\n        <div class=\"caracteristicas-header\">\r\n            <div class=\"caracteristicas-subtitle\">Conoce nuestras<\/div>\r\n            <h2 class=\"caracteristicas-title\">Ventajas Exclusivas<\/h2>\r\n            <p class=\"caracteristicas-description\">\r\n                Cada detalle ha sido pensado para quienes saben apreciar la calma y un hogar que funciona exactamente como necesitan.\r\n            <\/p>\r\n        <\/div>\r\n        \r\n        <!-- Grid de caracter\u00edsticas -->\r\n        <div class=\"features-grid\">\r\n            <!-- Caracter\u00edstica 1: Terrazas -->\r\n            <div class=\"feature-item\">\r\n                <div class=\"feature-icon\">\r\n                    <svg viewBox=\"0 0 100 100\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n                        <path d=\"M10,70 L90,70\" stroke-linecap=\"round\" \/>\r\n                        <path d=\"M25,70 L25,85\" stroke-linecap=\"round\" \/>\r\n                        <path d=\"M75,70 L75,85\" stroke-linecap=\"round\" \/>\r\n                        <rect x=\"20\" y=\"85\" width=\"10\" height=\"5\" \/>\r\n                        <rect x=\"70\" y=\"85\" width=\"10\" height=\"5\" \/>\r\n                        <path d=\"M35,70 L35,55 L65,55 L65,70\" stroke-linecap=\"round\" \/>\r\n                        <path d=\"M40,62.5 L60,62.5\" stroke-linecap=\"round\" \/>\r\n                        <path d=\"M50,55 L50,70\" stroke-linecap=\"round\" \/>\r\n                        <path d=\"M15,30 C15,20 30,15 50,15 C70,15 85,20 85,30\" stroke-linecap=\"round\" \/>\r\n                        <path d=\"M15,30 L15,45\" stroke-linecap=\"round\" \/>\r\n                        <path d=\"M85,30 L85,45\" stroke-linecap=\"round\" \/>\r\n                        <path d=\"M15,45 C15,35 30,30 50,30 C70,30 85,35 85,45\" stroke-linecap=\"round\" \/>\r\n                    <\/svg>\r\n                <\/div>\r\n                <h3 class=\"feature-title\">Terrazas<\/h3>\r\n                <p class=\"feature-description\">\r\n                    Apartamentos con amplias terrazas\r\n                <\/p>\r\n            <\/div>\r\n            \r\n            <!-- Caracter\u00edstica 2: A 15 Min de Lisboa -->\r\n            <div class=\"feature-item\">\r\n                <div class=\"feature-icon\">\r\n                    <svg viewBox=\"0 0 100 100\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n                        <circle cx=\"50\" cy=\"50\" r=\"30\" stroke-linecap=\"round\" \/>\r\n                        <circle cx=\"50\" cy=\"50\" r=\"4\" \/>\r\n                        <path d=\"M50,50 L50,30\" stroke-linecap=\"round\" \/>\r\n                        <path d=\"M50,50 L65,50\" stroke-linecap=\"round\" \/>\r\n                        <path d=\"M25,15 L75,15\" stroke-linecap=\"round\" \/>\r\n                        <path d=\"M15,25 L15,75\" stroke-linecap=\"round\" \/>\r\n                        <path d=\"M85,25 L85,75\" stroke-linecap=\"round\" \/>\r\n                        <path d=\"M25,85 L75,85\" stroke-linecap=\"round\" \/>\r\n                    <\/svg>\r\n                <\/div>\r\n                <h3 class=\"feature-title\">A 15 Min de Lisboa<\/h3>\r\n                <p class=\"feature-description\">\r\n                    En Loures, bien conectada por IC22, metro y transporte p\u00fablico. Desarrollo en crecimiento con nueva l\u00ednea de metro (Violeta)\r\n                <\/p>\r\n            <\/div>\r\n            \r\n            <!-- Caracter\u00edstica 3: Equipamiento -->\r\n            <div class=\"feature-item\">\r\n                <div class=\"feature-icon\">\r\n                    <svg viewBox=\"0 0 100 100\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n                        <rect x=\"15\" y=\"20\" width=\"15\" height=\"60\" stroke-linecap=\"round\" \/>\r\n                        <rect x=\"40\" y=\"40\" width=\"45\" height=\"40\" stroke-linecap=\"round\" \/>\r\n                        <rect x=\"45\" y=\"45\" width=\"20\" height=\"15\" stroke-linecap=\"round\" \/>\r\n                        <circle cx=\"50\" cy=\"52\" r=\"2\" \/>\r\n                        <circle cx=\"60\" cy=\"52\" r=\"2\" \/>\r\n                        <circle cx=\"50\" cy=\"62\" r=\"2\" \/>\r\n                        <circle cx=\"60\" cy=\"62\" r=\"2\" \/>\r\n                        <rect x=\"70\" y=\"45\" width=\"10\" height=\"5\" stroke-linecap=\"round\" \/>\r\n                        <rect x=\"70\" y=\"55\" width=\"10\" height=\"5\" stroke-linecap=\"round\" \/>\r\n                        <path d=\"M40,30 L85,30 L85,40 L75,40\" stroke-linecap=\"round\" \/>\r\n                        <rect x=\"60\" y=\"20\" width=\"15\" height=\"10\" stroke-linecap=\"round\" \/>\r\n                    <\/svg>\r\n                <\/div>\r\n                <h3 class=\"feature-title\">Equipada y Sostenible<\/h3>\r\n                <p class=\"feature-description\">\r\n                    Electrodom\u00e9sticos y aire acondicionado con bomba de calor para optimizar consumos energ\u00e9ticos\r\n                <\/p>\r\n            <\/div>\r\n            \r\n            <!-- Caracter\u00edstica 4: Personalizaci\u00f3n -->\r\n            <div class=\"feature-item\">\r\n                <div class=\"feature-icon\">\r\n                    <svg viewBox=\"0 0 100 100\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n                        <rect x=\"20\" y=\"30\" width=\"60\" height=\"40\" stroke-linecap=\"round\" \/>\r\n                        <path d=\"M20,30 L50,15 L80,30\" stroke-linecap=\"round\" \/>\r\n                        <circle cx=\"50\" cy=\"50\" r=\"10\" stroke-linecap=\"round\" \/>\r\n                        <path d=\"M40,45 L45,55\" stroke-linecap=\"round\" \/>\r\n                        <path d=\"M60,45 L55,55\" stroke-linecap=\"round\" \/>\r\n                    <\/svg>\r\n                <\/div>\r\n                <h3 class=\"feature-title\">Personalizable<\/h3>\r\n                <p class=\"feature-description\">\r\n                    M\u00e1s de 200 combinaciones de acabados sin costes adicionales\r\n                <\/p>\r\n            <\/div>\r\n            \r\n            <!-- Caracter\u00edstica 5: Coworking -->\r\n            <div class=\"feature-item\">\r\n                <div class=\"feature-icon\">\r\n                    <svg viewBox=\"0 0 100 100\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n                        <rect x=\"20\" y=\"50\" width=\"60\" height=\"5\" stroke-linecap=\"round\" \/>\r\n                        <path d=\"M35,50 L35,40\" stroke-linecap=\"round\" \/>\r\n                        <path d=\"M65,50 L65,40\" stroke-linecap=\"round\" \/>\r\n                        <circle cx=\"30\" cy=\"30\" r=\"5\" stroke-linecap=\"round\" \/>\r\n                        <path d=\"M30,35 L30,40\" stroke-linecap=\"round\" \/>\r\n                        <path d=\"M25,40 L35,40\" stroke-linecap=\"round\" \/>\r\n                        <path d=\"M25,60 L25,65 L35,65 L35,60\" stroke-linecap=\"round\" \/>\r\n                        <circle cx=\"70\" cy=\"30\" r=\"5\" stroke-linecap=\"round\" \/>\r\n                        <path d=\"M70,35 L70,40\" stroke-linecap=\"round\" \/>\r\n                        <path d=\"M65,40 L75,40\" stroke-linecap=\"round\" \/>\r\n                        <path d=\"M65,60 L65,65 L75,65 L75,60\" stroke-linecap=\"round\" \/>\r\n                    <\/svg>\r\n                <\/div>\r\n                <h3 class=\"feature-title\">Espacio de Coworking<\/h3>\r\n                <p class=\"feature-description\">\r\n                    La sala comunitaria tiene internet y enchufes, ideal para trabajo remoto\r\n                <\/p>\r\n            <\/div>\r\n            \r\n            <!-- Caracter\u00edstica 6: Garant\u00eda -->\r\n            <div class=\"feature-item\">\r\n                <div class=\"feature-icon\">\r\n                    <svg viewBox=\"0 0 100 100\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n                        <path d=\"M30,50 C30,40 40,35 50,35 C60,35 70,40 70,50\" stroke-linecap=\"round\" \/>\r\n                        <path d=\"M30,50 L30,65\" stroke-linecap=\"round\" \/>\r\n                        <path d=\"M70,50 L70,65\" stroke-linecap=\"round\" \/>\r\n                        <path d=\"M30,65 C30,75 40,80 50,80 C60,80 70,75 70,65\" stroke-linecap=\"round\" \/>\r\n                        <path d=\"M40,55 L50,65 L60,45\" stroke-linecap=\"round\" \/>\r\n                    <\/svg>\r\n                <\/div>\r\n                <h3 class=\"feature-title\">Garant\u00eda<\/h3>\r\n                <p class=\"feature-description\">\r\n                    Comercializaci\u00f3n directa y facilidades de pago\r\n                <\/p>\r\n            <\/div>\r\n            \r\n            <!-- Caracter\u00edstica 7: Certificaci\u00f3n Energ\u00e9tica A+ -->\r\n            <div class=\"feature-item\">\r\n                <div class=\"feature-icon\">\r\n                    <svg viewBox=\"0 0 100 100\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n                        <path d=\"M30,20 L70,20 L70,80 L30,80 Z\" stroke-linecap=\"round\" \/>\r\n                        <path d=\"M40,35 L50,30 L60,35\" stroke-linecap=\"round\" \/>\r\n                        <path d=\"M40,45 L50,40 L60,45\" stroke-linecap=\"round\" \/>\r\n                        <path d=\"M40,55 L50,50 L60,55\" stroke-linecap=\"round\" \/>\r\n                        <circle cx=\"50\" cy=\"65\" r=\"8\" stroke-linecap=\"round\" \/>\r\n                        <path d=\"M50,57 L50,63 L56,69\" stroke-linecap=\"round\" \/>\r\n                        <path d=\"M75,25 L75,15 L85,15\" stroke-linecap=\"round\" \/>\r\n                        <path d=\"M75,35 L85,35\" stroke-linecap=\"round\" \/>\r\n                    <\/svg>\r\n                <\/div>\r\n                <h3 class=\"feature-title\">Certificaci\u00f3n Energ\u00e9tica A<\/h3>\r\n                <p class=\"feature-description\">\r\n                    M\u00e1xima eficiencia energ\u00e9tica con aislamiento t\u00e9rmico superior y sistemas de climatizaci\u00f3n optimizados para reducir consumos y emisiones\r\n                <\/p>\r\n            <\/div>\r\n            \r\n            <!-- Caracter\u00edstica 8: Urbanizaci\u00f3n Privada -->\r\n            <div class=\"feature-item\">\r\n                <div class=\"feature-icon\">\r\n                    <svg viewBox=\"0 0 100 100\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n                        <rect x=\"20\" y=\"40\" width=\"25\" height=\"40\" stroke-linecap=\"round\" \/>\r\n                        <rect x=\"55\" y=\"40\" width=\"25\" height=\"40\" stroke-linecap=\"round\" \/>\r\n                        <path d=\"M20,40 L32.5,25 L45,40\" stroke-linecap=\"round\" \/>\r\n                        <path d=\"M55,40 L67.5,25 L80,40\" stroke-linecap=\"round\" \/>\r\n                        <rect x=\"27\" y=\"50\" width=\"10\" height=\"10\" stroke-linecap=\"round\" \/>\r\n                        <rect x=\"62\" y=\"50\" width=\"10\" height=\"10\" stroke-linecap=\"round\" \/>\r\n                        <rect x=\"27\" y=\"65\" width=\"10\" height=\"15\" stroke-linecap=\"round\" \/>\r\n                        <rect x=\"62\" y=\"65\" width=\"10\" height=\"15\" stroke-linecap=\"round\" \/>\r\n                        <path d=\"M15,80 L85,80\" stroke-linecap=\"round\" \/>\r\n                        <path d=\"M10,85 L10,15 L90,15 L90,85\" stroke-linecap=\"round\" stroke-dasharray=\"2,2\" \/>\r\n                    <\/svg>\r\n                <\/div>\r\n                <h3 class=\"feature-title\">Urbanizaci\u00f3n Privada<\/h3>\r\n                <p class=\"feature-description\">\r\n                    Piscina, jardines, parque infantil y sala comunitaria en ambiente seguro y exclusivo para residentes\r\n                <\/p>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/section>\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-18de0db e-con-full e-flex e-con e-parent\" data-id=\"18de0db\" data-element_type=\"container\" data-e-type=\"container\" id=\"localizacao\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6fec432 elementor-widget elementor-widget-html\" data-id=\"6fec432\" 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<style>\r\n    \/* Bloque de ubicaci\u00f3n con carrusel - Versi\u00f3n optimizada *\/\r\n    .as-villas-proximity {\r\n        position: relative;\r\n        width: 100%;\r\n        background-color: #0e1f40;\r\n        color: white;\r\n        padding: 4rem 0rem 0rem 0; \/* Padding reducido *\/\r\n        overflow: hidden;\r\n    }\r\n    \r\n    \/* T\u00edtulo central *\/\r\n    .proximity-title-container {\r\n        text-align: center;\r\n        margin-bottom: 3.5rem; \/* Margen inferior reducido *\/\r\n    }\r\n    \r\n    .proximity-title {\r\n        font-size: 2.2rem;\r\n        font-weight: 300;\r\n        color: white;\r\n        text-transform: uppercase;\r\n        letter-spacing: 3px;\r\n    }\r\n    \r\n    \/* Navegaci\u00f3n por categor\u00edas *\/\r\n    .proximity-categories {\r\n        display: flex;\r\n        justify-content: center;\r\n        margin-bottom: 2.5rem; \/* Espacio antes del carrusel *\/\r\n        flex-wrap: wrap;\r\n    }\r\n    \r\n    .proximity-category {\r\n        padding: 0.5rem 1.5rem;\r\n        color: rgba(255, 255, 255, 0.7);\r\n        font-size: 0.9rem;\r\n        text-transform: uppercase;\r\n        letter-spacing: 1px;\r\n        cursor: pointer;\r\n        transition: all 0.3s ease;\r\n        border-bottom: 2px solid transparent;\r\n    }\r\n    \r\n    .proximity-category.active {\r\n        color: white;\r\n        border-bottom: 2px solid #FED56F;\r\n    }\r\n    \r\n    .proximity-category:hover {\r\n        color: white;\r\n    }\r\n    \r\n    \/* Contenedor del carrusel *\/\r\n    .proximity-carousel {\r\n        width: 95%; \/* Ligeramente m\u00e1s ancho *\/\r\n        max-width: 1600px;\r\n        margin: 0 auto;\r\n        padding: 0 60px; \/* Padding lateral reducido *\/\r\n        position: relative;\r\n    }\r\n    \r\n    \/* Contenedor interno del carrusel *\/\r\n    .carousel-container {\r\n        display: flex;\r\n        gap: 15px; \/* Espacio reducido entre slides *\/\r\n        margin: 0 auto;\r\n        overflow: hidden;\r\n        position: relative;\r\n        touch-action: pan-y; \/* Mejora el comportamiento t\u00e1ctil *\/\r\n    }\r\n    \r\n    \/* Track de slides *\/\r\n    .carousel-track {\r\n        display: flex;\r\n        gap: 15px; \/* Reducido para coincidir con container *\/\r\n        transition: transform 0.6s ease;\r\n    }\r\n    \r\n    \/* Slide individual - Ahora m\u00e1s peque\u00f1o y para 4 en pantalla grande *\/\r\n    .proximity-slide {\r\n        flex: 0 0 calc(25% - 12px); \/* Cambiado de 33.333% a 25% para mostrar 4 *\/\r\n        position: relative;\r\n        border-radius: 5px; \/* A\u00f1adido borde redondeado *\/\r\n        overflow: hidden;\r\n        height: 350px; \/* Reducido de 480px a 350px *\/\r\n        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);\r\n    }\r\n    \r\n    \/* Imagen de fondo *\/\r\n    .proximity-image {\r\n        width: 100%;\r\n        height: 100%;\r\n        object-fit: cover;\r\n        transition: transform 1s ease;\r\n    }\r\n    \r\n    .proximity-slide:hover .proximity-image {\r\n        transform: scale(1.05);\r\n    }\r\n    \r\n    \/* Informaci\u00f3n de tiempo *\/\r\n    .proximity-info {\r\n        position: absolute;\r\n        top: 0;\r\n        left: 0;\r\n        width: 100%;\r\n        height: 100%;\r\n        display: flex;\r\n        flex-direction: column;\r\n        justify-content: center;\r\n        align-items: center;\r\n        color: white;\r\n        z-index: 2;\r\n        padding: 1.5rem; \/* Padding reducido *\/\r\n        text-align: center;\r\n    }\r\n    \r\n    \/* N\u00famero grande *\/\r\n    .proximity-time {\r\n        font-size: 6rem; \/* Reducido de 8rem a 6rem *\/\r\n        font-weight: 200;\r\n        line-height: 1;\r\n        margin-bottom: 0.5rem; \/* Espacio reducido *\/\r\n    }\r\n    \r\n    \/* Texto descriptivo *\/\r\n    .proximity-unit {\r\n        font-size: 1rem; \/* Ligeramente reducido *\/\r\n        font-weight: 300;\r\n        margin-bottom: 1.5rem; \/* Reducido *\/\r\n        opacity: 0.9;\r\n    }\r\n    \r\n    \/* Nombre del lugar *\/\r\n    .proximity-place {\r\n        font-size: 1.1rem; \/* Ligeramente reducido *\/\r\n        font-weight: 500;\r\n        text-transform: uppercase;\r\n        letter-spacing: 1px;\r\n    }\r\n    \r\n    \/* Navegaci\u00f3n del carrusel *\/\r\n    .carousel-arrow {\r\n        position: absolute;\r\n        top: 50%;\r\n        transform: translateY(-50%);\r\n        width: 40px; \/* Reducido de 50px *\/\r\n        height: 40px;\r\n        background-color: rgba(255, 255, 255, 0.9);\r\n        border-radius: 50%;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        cursor: pointer;\r\n        z-index: 10;\r\n        transition: all 0.3s ease;\r\n    }\r\n    \r\n    .carousel-arrow:hover {\r\n        background-color: white;\r\n    }\r\n    \r\n    .carousel-arrow svg {\r\n        width: 20px; \/* Reducido *\/\r\n        height: 20px;\r\n        stroke: #0e1f40;\r\n        fill: none;\r\n    }\r\n    \r\n    .carousel-prev {\r\n        left: 15px; \/* Reducido de 40px *\/\r\n    }\r\n    \r\n    .carousel-next {\r\n        right: 15px; \/* Reducido de 40px *\/\r\n    }\r\n    \r\n    \/* Overlay para mejorar visibilidad del texto *\/\r\n    .proximity-overlay {\r\n        position: absolute;\r\n        top: 0;\r\n        left: 0;\r\n        width: 100%;\r\n        height: 100%;\r\n        background: linear-gradient(to bottom, rgba(0,0,0,0.3), rgba(0,0,0,0.6));\r\n        z-index: 1;\r\n    }\r\n    \r\n    \/* \u00c1rea para el mapa *\/\r\n    .location-map-container {\r\n        width: 100%;\r\n        height: 500px;\r\n        background-color: #f0f0f0;\r\n        margin-top: 8rem; \/* Reducido de 8rem *\/\r\n        position: relative;\r\n        z-index: 1;\r\n    }\r\n    \r\n    .map-placeholder {\r\n        width: 100%;\r\n        height: 100%;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        color: #777;\r\n        font-size: 1.2rem;\r\n    }\r\n    \r\n    \/* Responsive *\/\r\n    @media (max-width: 1400px) {\r\n        .proximity-slide {\r\n            flex: 0 0 calc(33.333% - 10px); \/* 3 elementos en pantallas medianas-grandes *\/\r\n        }\r\n    }\r\n    \r\n    @media (max-width: 1100px) {\r\n        .proximity-slide {\r\n            flex: 0 0 calc(50% - 8px); \/* 2 elementos en pantallas medianas *\/\r\n            height: 320px;\r\n        }\r\n        \r\n        .proximity-time {\r\n            font-size: 5.5rem;\r\n        }\r\n    }\r\n    \r\n    @media (max-width: 768px) {\r\n        .as-villas-proximity {\r\n            padding: 3rem 0 0rem 0;\r\n        }\r\n        \r\n        .proximity-title {\r\n            font-size: 1.8rem;\r\n        }\r\n        \r\n        .proximity-carousel {\r\n            padding: 0 40px;\r\n            margin-bottom: 10rem;\r\n        }\r\n        \r\n        .proximity-slide {\r\n            flex: 0 0 100%; \/* 1 elemento en m\u00f3viles *\/\r\n            height: 300px;\r\n        }\r\n        \r\n        .carousel-arrow {\r\n            width: 35px;\r\n            height: 35px;\r\n        }\r\n        \r\n        .carousel-prev {\r\n            left: 10px;\r\n        }\r\n        \r\n        .carousel-next {\r\n            right: 10px;\r\n        }\r\n        \r\n        .location-map-container {\r\n            height: 480px;\r\n            margin-top: 4rem;\r\n        }\r\n        \r\n        .proximity-category {\r\n            padding: 0.5rem 1rem;\r\n            font-size: 0.8rem;\r\n        }\r\n    }\r\n    \r\n    @media (max-width: 480px) {\r\n        .proximity-slide {\r\n            height: 280px;\r\n        }\r\n        \r\n        .proximity-time {\r\n            font-size: 5rem;\r\n        }\r\n    }\r\n<\/style>\r\n\r\n<section class=\"as-villas-proximity\">\r\n    <!-- T\u00edtulo central -->\r\n    <div class=\"proximity-title-container\">\r\n        <h2 class=\"proximity-title\">Todo lo que necesitas a tu puerta en Loures<\/h2>\r\n    <\/div>\r\n    \r\n    <!-- Carrusel de proximidad -->\r\n    <div class=\"proximity-carousel\">\r\n        <!-- Botones de navegaci\u00f3n -->\r\n        <div class=\"carousel-arrow carousel-prev\">\r\n            <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\r\n                <polyline points=\"15 18 9 12 15 6\"><\/polyline>\r\n            <\/svg>\r\n        <\/div>\r\n        \r\n        <div class=\"carousel-container\">\r\n            <div class=\"carousel-track\">\r\n                <!-- Slide 1: Futura L\u00ednea Violeta de Metro -->\r\n                <div class=\"proximity-slide\">\r\n                    <div class=\"proximity-overlay\"><\/div>\r\n                    <img decoding=\"async\" src=\"https:\/\/hercesa.pt\/asvillas\/wp-content\/uploads\/2025\/07\/metro-loures.png\" alt=\"Futura Estaci\u00f3n de Metro V\u00e1rzea de Loures\" class=\"proximity-image\">\r\n                    <div class=\"proximity-info\">\r\n                        <div class=\"proximity-time\">10<\/div>\r\n                        <div class=\"proximity-unit\">min a pie<\/div>\r\n                        <div class=\"proximity-place\">Futura Estaci\u00f3n Metro<\/div>\r\n                    <\/div>\r\n                <\/div>\r\n                \r\n                <!-- Slide 2: LoureShopping -->\r\n                <div class=\"proximity-slide\">\r\n                    <div class=\"proximity-overlay\"><\/div>\r\n                    <img decoding=\"async\" src=\"https:\/\/hercesa.pt\/asvillas\/wp-content\/uploads\/2025\/07\/loures-shopping.png\" alt=\"LoureShopping\" class=\"proximity-image\">\r\n                    <div class=\"proximity-info\">\r\n                        <div class=\"proximity-time\">5<\/div>\r\n                        <div class=\"proximity-unit\">min en coche<\/div>\r\n                        <div class=\"proximity-place\">LoureShopping<\/div>\r\n                    <\/div>\r\n                <\/div>\r\n                \r\n                <!-- Slide 3: Hospital Beatriz \u00c2ngelo -->\r\n                <div class=\"proximity-slide\">\r\n                    <div class=\"proximity-overlay\"><\/div>\r\n                    <img decoding=\"async\" src=\"https:\/\/hercesa.pt\/asvillas\/wp-content\/uploads\/2025\/07\/hospital-loures.png\" alt=\"Hospital Beatriz \u00c2ngelo\" class=\"proximity-image\">\r\n                    <div class=\"proximity-info\">\r\n                        <div class=\"proximity-time\">8<\/div>\r\n                        <div class=\"proximity-unit\">min en coche<\/div>\r\n                        <div class=\"proximity-place\">Hospital Beatriz \u00c2ngelo<\/div>\r\n                    <\/div>\r\n                <\/div>\r\n                \r\n                <!-- Slide 4: Escuelas -->\r\n                <div class=\"proximity-slide\">\r\n                    <div class=\"proximity-overlay\"><\/div>\r\n                    <img decoding=\"async\" src=\"https:\/\/hercesa.pt\/asvillas\/wp-content\/uploads\/2025\/07\/escuelas-loures.png\" alt=\"Escuelas de Loures\" class=\"proximity-image\">\r\n                    <div class=\"proximity-info\">\r\n                        <div class=\"proximity-time\">10<\/div>\r\n                        <div class=\"proximity-unit\">min a pie<\/div>\r\n                        <div class=\"proximity-place\">Escuelas y Guarder\u00edas<\/div>\r\n                    <\/div>\r\n                <\/div>\r\n                \r\n                <!-- Slide 5: IC22 -->\r\n                <div class=\"proximity-slide\">\r\n                    <div class=\"proximity-overlay\"><\/div>\r\n                    <img decoding=\"async\" src=\"https:\/\/hercesa.pt\/asvillas\/wp-content\/uploads\/2025\/07\/ICC22-loures.png\" alt=\"Autopista IC22\" class=\"proximity-image\">\r\n                    <div class=\"proximity-info\">\r\n                        <div class=\"proximity-time\">5<\/div>\r\n                        <div class=\"proximity-unit\">min en coche<\/div>\r\n                        <div class=\"proximity-place\">Autopista IC22<\/div>\r\n                    <\/div>\r\n                <\/div>\r\n                \r\n                <!-- Slide 6: Centro de Loures -->\r\n                <div class=\"proximity-slide\">\r\n                    <div class=\"proximity-overlay\"><\/div>\r\n                    <img decoding=\"async\" src=\"https:\/\/hercesa.pt\/asvillas\/wp-content\/uploads\/2025\/07\/loures-centro.png\" alt=\"Centro Hist\u00f3rico de Loures\" class=\"proximity-image\">\r\n                    <div class=\"proximity-info\">\r\n                        <div class=\"proximity-time\">15<\/div>\r\n                        <div class=\"proximity-unit\">min a pie<\/div>\r\n                        <div class=\"proximity-place\">Centro de Loures<\/div>\r\n                    <\/div>\r\n                <\/div>\r\n                \r\n                <!-- Slide 7: Metro Odivelas -->\r\n                <div class=\"proximity-slide\">\r\n                    <div class=\"proximity-overlay\"><\/div>\r\n                    <img decoding=\"async\" src=\"https:\/\/hercesa.pt\/asvillas\/wp-content\/uploads\/2025\/07\/metro-odivelas.png\" alt=\"Metro de Odivelas\" class=\"proximity-image\">\r\n                    <div class=\"proximity-info\">\r\n                        <div class=\"proximity-time\">12<\/div>\r\n                        <div class=\"proximity-unit\">min en coche<\/div>\r\n                        <div class=\"proximity-place\">Metro de Odivelas<\/div>\r\n                    <\/div>\r\n                <\/div>\r\n                \r\n                <!-- Slide 8: Supermercados -->\r\n                <div class=\"proximity-slide\">\r\n                    <div class=\"proximity-overlay\"><\/div>\r\n                    <img decoding=\"async\" src=\"https:\/\/hercesa.pt\/asvillas\/wp-content\/uploads\/2025\/07\/supermercados-loures.png\" alt=\"Supermercados\" class=\"proximity-image\">\r\n                    <div class=\"proximity-info\">\r\n                        <div class=\"proximity-time\">7<\/div>\r\n                        <div class=\"proximity-unit\">min a pie<\/div>\r\n                        <div class=\"proximity-place\">Supermercados<\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n        \r\n        <div class=\"carousel-arrow carousel-next\">\r\n            <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\r\n                <polyline points=\"9 18 15 12 9 6\"><\/polyline>\r\n            <\/svg>\r\n        <\/div>\r\n    <\/div>\r\n    \r\n    <!-- Espacio para el mapa interactivo -->\r\n    _\r\n<\/section>\r\n\r\n<script>\r\n    document.addEventListener('DOMContentLoaded', function() {\r\n        const track = document.querySelector('.carousel-track');\r\n        const slides = document.querySelectorAll('.proximity-slide');\r\n        const prevButton = document.querySelector('.carousel-prev');\r\n        const nextButton = document.querySelector('.carousel-next');\r\n        const container = document.querySelector('.carousel-container');\r\n        const categories = document.querySelectorAll('.proximity-category');\r\n        \r\n        \/\/ Variables iniciales\r\n        let currentIndex = 0;\r\n        let slidesToShow = getSlidesToShow();\r\n        const slideGap = 15; \/\/ Reducido de 20px a 15px (mismo valor que en CSS)\r\n        const totalSlides = slides.length;\r\n        \r\n        \/\/ Variables para el control t\u00e1ctil\r\n        let touchStartX = 0;\r\n        let touchEndX = 0;\r\n        \r\n        \/\/ Determinar cu\u00e1ntos slides mostrar seg\u00fan el ancho de pantalla\r\n        function getSlidesToShow() {\r\n            if (window.innerWidth >= 1400) {\r\n                return 4; \/\/ Ahora muestra 4 en pantallas grandes\r\n            } else if (window.innerWidth >= 1100) {\r\n                return 3;\r\n            } else if (window.innerWidth >= 768) {\r\n                return 2;\r\n            } else {\r\n                return 1;\r\n            }\r\n        }\r\n        \r\n        \/\/ Actualizar ancho del track\r\n        function updateTrackWidth() {\r\n            const slideWidth = slides[0].offsetWidth;\r\n            const totalWidth = (slideWidth + slideGap) * totalSlides - slideGap;\r\n            track.style.width = `${totalWidth}px`;\r\n        }\r\n        \r\n        \/\/ Mover el carrusel\r\n        function moveToSlide(index) {\r\n            \/\/ Asegurarse de que el \u00edndice est\u00e9 dentro de los l\u00edmites\r\n            if (index < 0) {\r\n                index = 0;\r\n            } else if (index > totalSlides - slidesToShow) {\r\n                index = totalSlides - slidesToShow;\r\n            }\r\n            \r\n            const slideWidth = slides[0].offsetWidth;\r\n            const distanceToMove = index * (slideWidth + slideGap);\r\n            track.style.transform = `translateX(-${distanceToMove}px)`;\r\n            currentIndex = index;\r\n            \r\n            \/\/ Actualizar estado de los botones\r\n            updateButtonState();\r\n        }\r\n        \r\n        \/\/ Actualizar estado de botones (activar\/desactivar)\r\n        function updateButtonState() {\r\n            prevButton.style.opacity = currentIndex <= 0 ? '0.5' : '1';\r\n            prevButton.style.pointerEvents = currentIndex <= 0 ? 'none' : 'auto';\r\n            \r\n            nextButton.style.opacity = currentIndex >= totalSlides - slidesToShow ? '0.5' : '1';\r\n            nextButton.style.pointerEvents = currentIndex >= totalSlides - slidesToShow ? 'none' : 'auto';\r\n        }\r\n        \r\n        \/\/ Event listener para el bot\u00f3n anterior\r\n        prevButton.addEventListener('click', function() {\r\n            moveToSlide(Math.max(0, currentIndex - 1));\r\n        });\r\n        \r\n        \/\/ Event listener para el bot\u00f3n siguiente\r\n        nextButton.addEventListener('click', function() {\r\n            moveToSlide(Math.min(totalSlides - slidesToShow, currentIndex + 1));\r\n        });\r\n        \r\n        \/\/ Event listeners para categor\u00edas\r\n        if (categories) {\r\n            categories.forEach(category => {\r\n                category.addEventListener('click', function() {\r\n                    categories.forEach(c => c.classList.remove('active'));\r\n                    this.classList.add('active');\r\n                    \/\/ Aqu\u00ed se podr\u00eda filtrar el contenido seg\u00fan la categor\u00eda\r\n                    \/\/ Por ahora solo volvemos al inicio del carrusel\r\n                    moveToSlide(0);\r\n                });\r\n            });\r\n        }\r\n        \r\n        \/\/ NUEVO: Controladores de eventos t\u00e1ctiles\r\n        container.addEventListener('touchstart', function(e) {\r\n            touchStartX = e.changedTouches[0].screenX;\r\n        }, { passive: true });\r\n        \r\n        container.addEventListener('touchend', function(e) {\r\n            touchEndX = e.changedTouches[0].screenX;\r\n            handleSwipe();\r\n        }, { passive: true });\r\n        \r\n        \/\/ NUEVO: Funci\u00f3n para manejar el deslizamiento\r\n        function handleSwipe() {\r\n            \/\/ Calcular la distancia del deslizamiento\r\n            const swipeDistance = touchEndX - touchStartX;\r\n            const minSwipeDistance = 50; \/\/ Distancia m\u00ednima para considerar un deslizamiento v\u00e1lido\r\n            \r\n            if (swipeDistance > minSwipeDistance) {\r\n                \/\/ Deslizamiento a la derecha - mostrar slide anterior\r\n                moveToSlide(currentIndex - 1);\r\n            } else if (swipeDistance < -minSwipeDistance) {\r\n                \/\/ Deslizamiento a la izquierda - mostrar siguiente slide\r\n                moveToSlide(currentIndex + 1);\r\n            }\r\n        }\r\n        \r\n        \/\/ Actualizar tama\u00f1os al cambiar el tama\u00f1o de la ventana\r\n        window.addEventListener('resize', function() {\r\n            \/\/ Actualizar variables\r\n            const newSlidesToShow = getSlidesToShow();\r\n            \r\n            \/\/ Si cambia la cantidad de slides visibles, resetear\r\n            if (newSlidesToShow !== slidesToShow) {\r\n                slidesToShow = newSlidesToShow;\r\n                currentIndex = 0;\r\n                moveToSlide(0);\r\n            }\r\n            \r\n            updateTrackWidth();\r\n            updateButtonState();\r\n        });\r\n        \r\n        \/\/ Inicializaci\u00f3n\r\n        updateTrackWidth();\r\n        updateButtonState();\r\n    });\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6cb0753 elementor-widget elementor-widget-shortcode\" data-id=\"6cb0753\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><iframe src=\"https:\/\/hercesa.pt\/asvillas\/es\/evoost-map\/as-villas\/?lang=pt\" style=\"width:100%;height:650px;border:0;border-radius:12px;overflow:hidden;\" loading=\"lazy\" title=\"As Villas\" allowfullscreen><\/iframe>\n<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-fc1778f e-con-full e-flex e-con e-parent\" data-id=\"fc1778f\" data-element_type=\"container\" data-e-type=\"container\" id=\"unlock\">\n\t\t\t\t<div class=\"elementor-element elementor-element-07c8443 elementor-widget elementor-widget-html\" data-id=\"07c8443\" 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<style>\r\n    \/* Bloque de contacto para As Villas *\/\r\n    .as-villas-contact {\r\n        position: relative;\r\n        padding: 5rem 0;\r\n        background-color: #ffffff;\r\n        overflow: hidden;\r\n    }\r\n    \r\n    .contact-container {\r\n        width: 90%;\r\n        max-width: 1200px;\r\n        margin: 0 auto;\r\n        position: relative;\r\n        z-index: 2;\r\n    }\r\n    \r\n    \/* Cabecera de la secci\u00f3n *\/\r\n    .contact-header {\r\n        text-align: center;\r\n        margin-bottom: 3.5rem;\r\n    }\r\n    \r\n    .contact-subtitle {\r\n        font-size: 1rem;\r\n        text-transform: uppercase;\r\n        letter-spacing: 2px;\r\n        color: #1E3A8A;\r\n        margin-bottom: 1rem;\r\n        font-weight: 500;\r\n    }\r\n    \r\n    .contact-title {\r\n        font-size: 2.5rem;\r\n        font-weight: 800;\r\n        color: #1a1a1a;\r\n        margin-bottom: 1.5rem;\r\n        position: relative;\r\n        display: inline-block;\r\n    }\r\n    \r\n    .contact-title::after {\r\n        content: '';\r\n        position: absolute;\r\n        bottom: -15px;\r\n        left: 50%;\r\n        transform: translateX(-50%);\r\n        width: 60px;\r\n        height: 3px;\r\n        background-color: #FED56F;\r\n    }\r\n    \r\n    .contact-description {\r\n        max-width: 700px;\r\n        margin: 0 auto;\r\n        font-size: 1.1rem;\r\n        line-height: 1.6;\r\n        color: #555;\r\n    }\r\n    \r\n    \/* Elementos decorativos de fondo *\/\r\n    .contact-bg-decoration {\r\n        position: absolute;\r\n        z-index: 1;\r\n    }\r\n    \r\n    .decoration-1 {\r\n        top: -100px;\r\n        right: -100px;\r\n        width: 200px;\r\n        height: 200px;\r\n        border-radius: 50%;\r\n        background-color: rgba(30, 58, 138, 0.05);\r\n    }\r\n    \r\n    .decoration-2 {\r\n        bottom: -80px;\r\n        left: -80px;\r\n        width: 150px;\r\n        height: 150px;\r\n        border: 15px solid rgba(254, 213, 111, 0.1);\r\n        border-radius: 50%;\r\n    }\r\n    \r\n    .decoration-3 {\r\n        top: 20%;\r\n        left: 5%;\r\n        width: 80px;\r\n        height: 80px;\r\n        background-color: rgba(254, 213, 111, 0.07);\r\n        transform: rotate(45deg);\r\n    }\r\n    \r\n    \/* Contenedor del formulario *\/\r\n    .contact-form-container {\r\n        background-color: #ffffff;\r\n        border-radius: 10px;\r\n        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);\r\n        padding: 3rem;\r\n        max-width: 800px;\r\n        margin: 0 auto;\r\n        position: relative;\r\n        overflow: hidden;\r\n    }\r\n    \r\n    .contact-form-container::before {\r\n        content: '';\r\n        position: absolute;\r\n        top: 0;\r\n        left: 0;\r\n        width: 5px;\r\n        height: 100%;\r\n        background: linear-gradient(135deg, #1E3A8A 0%, #2563EB 100%);\r\n    }\r\n    \r\n    \/* \u00c1rea para el WPForm *\/\r\n    .wpform-placeholder {\r\n        min-height: 300px;\r\n        width: 100%;\r\n        display: flex;\r\n        flex-direction: column;\r\n        align-items: center;\r\n        justify-content: center;\r\n    }\r\n    \r\n    .wpform-message {\r\n        font-size: 1rem;\r\n        color: #6B7280;\r\n        margin-bottom: 1rem;\r\n        text-align: center;\r\n    }\r\n    \r\n    \/* Estilos para el enlace de login *\/\r\n    .login-link-container {\r\n        text-align: center;\r\n        margin-top: 1.5rem;\r\n        font-size: 0.9rem;\r\n        color: #555;\r\n    }\r\n    \r\n    .login-link-container a {\r\n        color: #1E3A8A;\r\n        text-decoration: none;\r\n        font-weight: 500;\r\n        transition: all 0.3s ease;\r\n    }\r\n    \r\n    .login-link-container a:hover {\r\n        text-decoration: underline;\r\n        color: #152a66;\r\n    }\r\n    \r\n    \/* Estilos para usuario logueado *\/\r\n    .logged-in-container {\r\n        display: none;\r\n        text-align: center;\r\n        padding: 2rem;\r\n    }\r\n    \r\n    .welcome-message {\r\n        font-size: 1.1rem;\r\n        color: #333;\r\n        margin-bottom: 2rem;\r\n        line-height: 1.6;\r\n    }\r\n    \r\n    .profile-button {\r\n        display: inline-block;\r\n        background-color: #1E3A8A;\r\n        color: white;\r\n        text-decoration: none;\r\n        padding: 15px 35px;\r\n        border-radius: 50px;\r\n        font-weight: 700;\r\n        font-size: 1rem;\r\n        transition: all 0.3s ease;\r\n        box-shadow: 0 5px 15px rgba(30, 58, 138, 0.3);\r\n    }\r\n    \r\n    .profile-button:hover {\r\n        background-color: #152a66;\r\n        transform: translateY(-3px);\r\n        box-shadow: 0 10px 20px rgba(30, 58, 138, 0.4);\r\n        color: white;\r\n        text-decoration: none;\r\n    }\r\n    \r\n    \/* Ocultar elementos seg\u00fan estado de login *\/\r\n    .user-logged-in .wpform-placeholder,\r\n    .user-logged-in .login-link-container {\r\n        display: none;\r\n    }\r\n    \r\n    .user-logged-in .logged-in-container {\r\n        display: block;\r\n    }\r\n    \r\n    \/* Estilo de beneficios *\/\r\n    .contact-benefits {\r\n        display: flex;\r\n        flex-wrap: wrap;\r\n        justify-content: space-between;\r\n        margin-top: 3rem;\r\n        gap: 1.5rem;\r\n    }\r\n    \r\n    .benefit-item {\r\n        flex: 1 0 calc(33.333% - 1rem);\r\n        min-width: 250px;\r\n        display: flex;\r\n        align-items: flex-start;\r\n        padding: 1rem;\r\n        background-color: rgba(248, 249, 250, 0.8);\r\n        border-radius: 8px;\r\n        transition: all 0.3s ease;\r\n    }\r\n    \r\n    .benefit-item:hover {\r\n        transform: translateY(-5px);\r\n        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);\r\n    }\r\n    \r\n    .benefit-icon {\r\n        flex: 0 0 40px;\r\n        height: 40px;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        background-color: rgba(30, 58, 138, 0.1);\r\n        border-radius: 50%;\r\n        margin-right: 1rem;\r\n    }\r\n    \r\n    .benefit-icon svg {\r\n        width: 20px;\r\n        height: 20px;\r\n        stroke: #1E3A8A;\r\n    }\r\n    \r\n    .benefit-text {\r\n        font-size: 0.95rem;\r\n        color: #555;\r\n        line-height: 1.5;\r\n    }\r\n    \r\n    .benefit-text strong {\r\n        color: #1a1a1a;\r\n        font-weight: 600;\r\n        display: block;\r\n        margin-bottom: 0.3rem;\r\n    }\r\n    \r\n    \/* Garant\u00eda de privacidad *\/\r\n    .privacy-guarantee {\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        margin-top: 2rem;\r\n        padding: 1rem;\r\n        background-color: rgba(254, 213, 111, 0.1);\r\n        border-radius: 50px;\r\n        width: fit-content;\r\n        margin-left: auto;\r\n        margin-right: auto;\r\n    }\r\n    \r\n    .privacy-icon {\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        width: 30px;\r\n        height: 30px;\r\n        background-color: #FED56F;\r\n        border-radius: 50%;\r\n        margin-right: 0.8rem;\r\n    }\r\n    \r\n    .privacy-icon svg {\r\n        width: 16px;\r\n        height: 16px;\r\n        stroke: #1a1a1a;\r\n    }\r\n    \r\n    .privacy-text {\r\n        font-size: 0.9rem;\r\n        color: #1a1a1a;\r\n        font-weight: 500;\r\n    }\r\n    \r\n    \/* Responsive *\/\r\n    @media (max-width: 992px) {\r\n        .contact-form-container {\r\n            padding: 2.5rem;\r\n        }\r\n        \r\n        .contact-title {\r\n            font-size: 2.2rem;\r\n        }\r\n        \r\n        .contact-description {\r\n            font-size: 1rem;\r\n        }\r\n    }\r\n    \r\n    @media (max-width: 768px) {\r\n        .as-villas-contact {\r\n            padding: 4rem 0;\r\n        }\r\n        \r\n        .contact-form-container {\r\n            padding: 2rem;\r\n        }\r\n        \r\n        .contact-title {\r\n            font-size: 1.8rem;\r\n        }\r\n        \r\n        .benefit-item {\r\n            flex: 1 0 100%;\r\n        }\r\n        \r\n        .decoration-3 {\r\n            display: none;\r\n        }\r\n    }\r\n    \r\n    @media (max-width: 480px) {\r\n        .contact-form-container {\r\n            padding: 1.5rem;\r\n        }\r\n        \r\n        .contact-header {\r\n            margin-bottom: 2.5rem;\r\n        }\r\n        \r\n        .privacy-guarantee {\r\n            flex-direction: column;\r\n            text-align: center;\r\n            padding: 1rem 1.5rem;\r\n        }\r\n        \r\n        .privacy-icon {\r\n            margin-right: 0;\r\n            margin-bottom: 0.5rem;\r\n        }\r\n    }\r\n<\/style>\r\n\r\n<section class=\"as-villas-contact\">\r\n    <!-- Elementos decorativos de fondo -->\r\n    <div class=\"contact-bg-decoration decoration-1\"><\/div>\r\n    <div class=\"contact-bg-decoration decoration-2\"><\/div>\r\n    <div class=\"contact-bg-decoration decoration-3\"><\/div>\r\n    \r\n    <div class=\"contact-container\">\r\n        <!-- Cabecera de la secci\u00f3n -->\r\n        <div class=\"contact-header\">\r\n            <div class=\"contact-subtitle\">AS VILLAS<\/div>\r\n            <h2 class=\"contact-title\">Accede a toda la Informaci\u00f3n<\/h2>\r\n            <p class=\"contact-description\">\r\n                Completa el formulario a continuaci\u00f3n para acceder a todos los detalles de As Villas, precios, planos, y caracter\u00edsticas adaptadas a tus necesidades.\r\n            <\/p>\r\n        <\/div>\r\n        \r\n        <!-- Contenedor del formulario -->\r\n        <div class=\"contact-form-container\">\r\n            <!-- \u00c1rea para WPForm -->\r\n            <div class=\"wpform-placeholder\">\r\n                <!-- Aqu\u00ed se insertar\u00e1 el WPForm -->\r\n                <div class=\"wpform-message\"><div class=\"wpforms-container wpforms-container-full wpforms-render-modern\" id=\"wpforms-1752\"><form id=\"wpforms-form-1752\" class=\"wpforms-validate wpforms-form\" data-formid=\"1752\" method=\"post\" enctype=\"multipart\/form-data\" action=\"\/asvillas\/es\/wp-json\/wp\/v2\/pages\/784\" data-token=\"2976c167a792c049c204a6f37c2bf2d3\" data-token-time=\"1785233535\"><noscript class=\"wpforms-error-noscript\">Por favor, activa JavaScript en tu navegador para completar este formulario.<\/noscript><div class=\"wpforms-hidden\" id=\"wpforms-error-noscript\">Por favor, activa JavaScript en tu navegador para completar este formulario.<\/div><div class=\"wpforms-field-container\">\t\t<div id=\"wpforms-1752-field_1-container\"\n\t\t\tclass=\"wpforms-field wpforms-field-text\"\n\t\t\tdata-field-type=\"text\"\n\t\t\tdata-field-id=\"1\"\n\t\t\t>\n\t\t\t<label class=\"wpforms-field-label\" for=\"wpforms-1752-field_1\" >Stage LMP Inversor<\/label>\n\t\t\t<input type=\"text\" id=\"wpforms-1752-field_1\" class=\"wpforms-field-medium\" name=\"wpforms[fields][1]\" >\n\t\t<\/div>\n\t\t<div id=\"wpforms-1752-field_24-container\" class=\"wpforms-field wpforms-field-layout\" data-field-id=\"24\"><div class=\"wpforms-field-layout-rows wpforms-field-large\"><div class=\"wpforms-layout-row\"><div class=\"wpforms-layout-column wpforms-layout-column-25\"><div id=\"wpforms-1752-field_25-container\" class=\"wpforms-field wpforms-field-text oculto-form wpforms-conditional-field wpforms-conditional-show\" data-field-id=\"25\" style=\"display:none;\"><label class=\"wpforms-field-label wpforms-label-hide\" for=\"wpforms-1752-field_25\" aria-hidden=\"false\">LMP Inversor Nacional<\/label><input type=\"text\" id=\"wpforms-1752-field_25\" class=\"wpforms-field-medium\" name=\"wpforms[fields][25]\" value=\"a29e527f-faa2-4b2e-99d7-eef0a785447c\" aria-errormessage=\"wpforms-1752-field_25-error\" ><\/div><\/div><div class=\"wpforms-layout-column wpforms-layout-column-25\"><div id=\"wpforms-1752-field_26-container\" class=\"wpforms-field wpforms-field-text oculto-form wpforms-conditional-field wpforms-conditional-show\" data-field-id=\"26\" style=\"display:none;\"><label class=\"wpforms-field-label wpforms-label-hide\" for=\"wpforms-1752-field_26\" aria-hidden=\"false\">LMP Pareja Joven en Reposici\u00f3n<\/label><input type=\"text\" id=\"wpforms-1752-field_26\" class=\"wpforms-field-medium\" name=\"wpforms[fields][26]\" value=\"7f79abc3-3c3a-40b1-8b07-863245a2b24a\" aria-errormessage=\"wpforms-1752-field_26-error\" ><\/div><\/div><div class=\"wpforms-layout-column wpforms-layout-column-25\"><div id=\"wpforms-1752-field_27-container\" class=\"wpforms-field wpforms-field-text oculto-form wpforms-conditional-field wpforms-conditional-show\" data-field-id=\"27\" style=\"display:none;\"><label class=\"wpforms-field-label wpforms-label-hide\" for=\"wpforms-1752-field_27\" aria-hidden=\"false\">LMP Familia Profesional Local<\/label><input type=\"text\" id=\"wpforms-1752-field_27\" class=\"wpforms-field-medium\" name=\"wpforms[fields][27]\" value=\"50a47758-0c7d-4aeb-8be0-809d0d5ae5e2\" aria-errormessage=\"wpforms-1752-field_27-error\" ><\/div><\/div><div class=\"wpforms-layout-column wpforms-layout-column-25\"><div id=\"wpforms-1752-field_28-container\" class=\"wpforms-field wpforms-field-text oculto-form wpforms-conditional-field wpforms-conditional-show\" data-field-id=\"28\" style=\"display:none;\"><label class=\"wpforms-field-label wpforms-label-hide\" for=\"wpforms-1752-field_28\" aria-hidden=\"false\">LMP Soltero Urbano Consolidado<\/label><input type=\"text\" id=\"wpforms-1752-field_28\" class=\"wpforms-field-medium\" name=\"wpforms[fields][28]\" value=\"a955f793-30d2-4c39-94d4-058fba709e76\" aria-errormessage=\"wpforms-1752-field_28-error\" ><\/div><\/div><\/div><div class=\"wpforms-layout-row\"><div class=\"wpforms-layout-column wpforms-layout-column-25\"><div id=\"wpforms-1752-field_34-container\" class=\"wpforms-field wpforms-field-text oculto-form wpforms-conditional-field wpforms-conditional-show\" data-field-id=\"34\" style=\"display:none;\"><label class=\"wpforms-field-label wpforms-label-hide\" for=\"wpforms-1752-field_34\" aria-hidden=\"false\">DISC Azul<\/label><input type=\"text\" id=\"wpforms-1752-field_34\" class=\"wpforms-field-medium\" name=\"wpforms[fields][34]\" value=\"C\" aria-errormessage=\"wpforms-1752-field_34-error\" ><\/div><\/div><div class=\"wpforms-layout-column wpforms-layout-column-25\"><div id=\"wpforms-1752-field_31-container\" class=\"wpforms-field wpforms-field-text oculto-form wpforms-conditional-field wpforms-conditional-show\" data-field-id=\"31\" style=\"display:none;\"><label class=\"wpforms-field-label wpforms-label-hide\" for=\"wpforms-1752-field_31\" aria-hidden=\"false\">DISC Rojo<\/label><input type=\"text\" id=\"wpforms-1752-field_31\" class=\"wpforms-field-medium\" name=\"wpforms[fields][31]\" value=\"D\" aria-errormessage=\"wpforms-1752-field_31-error\" ><\/div><\/div><div class=\"wpforms-layout-column wpforms-layout-column-25\"><\/div><div class=\"wpforms-layout-column wpforms-layout-column-25\"><div id=\"wpforms-1752-field_29-container\" class=\"wpforms-field wpforms-field-text oculto-form wpforms-conditional-field wpforms-conditional-show\" data-field-id=\"29\" style=\"display:none;\"><label class=\"wpforms-field-label wpforms-label-hide\" for=\"wpforms-1752-field_29\" aria-hidden=\"false\">LMP Comprador Extranjero Semiresidente<\/label><input type=\"text\" id=\"wpforms-1752-field_29\" class=\"wpforms-field-medium\" name=\"wpforms[fields][29]\" value=\"6bbc8a8a-9717-455f-a5e2-41be39bf05d9\" aria-errormessage=\"wpforms-1752-field_29-error\" ><\/div><\/div><\/div><div class=\"wpforms-layout-row\"><div class=\"wpforms-layout-column wpforms-layout-column-25\"><div id=\"wpforms-1752-field_32-container\" class=\"wpforms-field wpforms-field-text oculto-form wpforms-conditional-field wpforms-conditional-show\" data-field-id=\"32\" style=\"display:none;\"><label class=\"wpforms-field-label wpforms-label-hide\" for=\"wpforms-1752-field_32\" aria-hidden=\"false\">DISC Amarillo<\/label><input type=\"text\" id=\"wpforms-1752-field_32\" class=\"wpforms-field-medium\" name=\"wpforms[fields][32]\" value=\"I\" aria-errormessage=\"wpforms-1752-field_32-error\" ><\/div><\/div><div class=\"wpforms-layout-column wpforms-layout-column-25\"><div id=\"wpforms-1752-field_33-container\" class=\"wpforms-field wpforms-field-text oculto-form wpforms-conditional-field wpforms-conditional-show\" data-field-id=\"33\" style=\"display:none;\"><label class=\"wpforms-field-label wpforms-label-hide\" for=\"wpforms-1752-field_33\" aria-hidden=\"false\">DISC Verde<\/label><input type=\"text\" id=\"wpforms-1752-field_33\" class=\"wpforms-field-medium\" name=\"wpforms[fields][33]\" value=\"S\" aria-errormessage=\"wpforms-1752-field_33-error\" ><\/div><\/div><div class=\"wpforms-layout-column wpforms-layout-column-25\"><\/div><div class=\"wpforms-layout-column wpforms-layout-column-25\"><\/div><\/div><div class=\"wpforms-layout-row\"><div class=\"wpforms-layout-column wpforms-layout-column-25\"><div id=\"wpforms-1752-field_44-container\" class=\"wpforms-field wpforms-field-text oculto-form wpforms-conditional-field wpforms-conditional-show\" data-field-id=\"44\" style=\"display:none;\"><label class=\"wpforms-field-label wpforms-label-hide\" for=\"wpforms-1752-field_44\" aria-hidden=\"false\">utm_source<\/label><input type=\"text\" id=\"wpforms-1752-field_44\" class=\"wpforms-field-medium\" name=\"wpforms[fields][44]\" aria-errormessage=\"wpforms-1752-field_44-error\" ><\/div><\/div><div class=\"wpforms-layout-column wpforms-layout-column-25\"><div id=\"wpforms-1752-field_45-container\" class=\"wpforms-field wpforms-field-text oculto-form wpforms-conditional-field wpforms-conditional-show\" data-field-id=\"45\" style=\"display:none;\"><label class=\"wpforms-field-label wpforms-label-hide\" for=\"wpforms-1752-field_45\" aria-hidden=\"false\">utm_medium<\/label><input type=\"text\" id=\"wpforms-1752-field_45\" class=\"wpforms-field-medium\" name=\"wpforms[fields][45]\" aria-errormessage=\"wpforms-1752-field_45-error\" ><\/div><\/div><div class=\"wpforms-layout-column wpforms-layout-column-25\"><\/div><div class=\"wpforms-layout-column wpforms-layout-column-25\"><\/div><\/div><div class=\"wpforms-layout-row\"><div class=\"wpforms-layout-column wpforms-layout-column-25\"><div id=\"wpforms-1752-field_46-container\" class=\"wpforms-field wpforms-field-text oculto-form wpforms-conditional-field wpforms-conditional-show\" data-field-id=\"46\" style=\"display:none;\"><label class=\"wpforms-field-label wpforms-label-hide\" for=\"wpforms-1752-field_46\" aria-hidden=\"false\">utm_campaign<\/label><input type=\"text\" id=\"wpforms-1752-field_46\" class=\"wpforms-field-medium\" name=\"wpforms[fields][46]\" aria-errormessage=\"wpforms-1752-field_46-error\" ><\/div><\/div><div class=\"wpforms-layout-column wpforms-layout-column-25\"><div id=\"wpforms-1752-field_47-container\" class=\"wpforms-field wpforms-field-text oculto-form wpforms-conditional-field wpforms-conditional-show\" data-field-id=\"47\" style=\"display:none;\"><label class=\"wpforms-field-label wpforms-label-hide\" for=\"wpforms-1752-field_47\" aria-hidden=\"false\">utm_term<\/label><input type=\"text\" id=\"wpforms-1752-field_47\" class=\"wpforms-field-medium\" name=\"wpforms[fields][47]\" aria-errormessage=\"wpforms-1752-field_47-error\" ><\/div><\/div><div class=\"wpforms-layout-column wpforms-layout-column-25\"><\/div><div class=\"wpforms-layout-column wpforms-layout-column-25\"><\/div><\/div><div class=\"wpforms-layout-row\"><div class=\"wpforms-layout-column wpforms-layout-column-25\"><div id=\"wpforms-1752-field_48-container\" class=\"wpforms-field wpforms-field-text oculto-form wpforms-conditional-field wpforms-conditional-show\" data-field-id=\"48\" style=\"display:none;\"><label class=\"wpforms-field-label wpforms-label-hide\" for=\"wpforms-1752-field_48\" aria-hidden=\"false\">utm_conten<\/label><input type=\"text\" id=\"wpforms-1752-field_48\" class=\"wpforms-field-medium\" name=\"wpforms[fields][48]\" aria-errormessage=\"wpforms-1752-field_48-error\" ><\/div><\/div><div class=\"wpforms-layout-column wpforms-layout-column-25\"><div id=\"wpforms-1752-field_49-container\" class=\"wpforms-field wpforms-field-text oculto-form wpforms-conditional-field wpforms-conditional-show\" data-field-id=\"49\" style=\"display:none;\"><label class=\"wpforms-field-label wpforms-label-hide\" for=\"wpforms-1752-field_49\" aria-hidden=\"false\">tracker_lead_created<\/label><input type=\"text\" id=\"wpforms-1752-field_49\" class=\"wpforms-field-medium\" name=\"wpforms[fields][49]\" value=\"1\" aria-errormessage=\"wpforms-1752-field_49-error\" ><\/div><\/div><div class=\"wpforms-layout-column wpforms-layout-column-25\"><\/div><div class=\"wpforms-layout-column wpforms-layout-column-25\"><\/div><\/div><div class=\"wpforms-layout-row\"><div class=\"wpforms-layout-column wpforms-layout-column-25\"><\/div><div class=\"wpforms-layout-column wpforms-layout-column-25\"><div id=\"wpforms-1752-field_50-container\" class=\"wpforms-field wpforms-field-text oculto-form wpforms-conditional-field wpforms-conditional-show\" data-field-id=\"50\" style=\"display:none;\"><label class=\"wpforms-field-label wpforms-label-hide\" for=\"wpforms-1752-field_50\" aria-hidden=\"false\">Stage<\/label><input type=\"text\" id=\"wpforms-1752-field_50\" class=\"wpforms-field-medium\" name=\"wpforms[fields][50]\" value=\"PULSE\" aria-errormessage=\"wpforms-1752-field_50-error\" ><\/div><\/div><div class=\"wpforms-layout-column wpforms-layout-column-25\"><\/div><div class=\"wpforms-layout-column wpforms-layout-column-25\"><\/div><\/div><\/div><\/div><div id=\"wpforms-1752-field_43-container\" class=\"wpforms-field wpforms-field-text oculto-form\" data-field-id=\"43\"><label class=\"wpforms-field-label wpforms-label-hide\" for=\"wpforms-1752-field_43\" aria-hidden=\"false\">Origen<\/label><input type=\"text\" id=\"wpforms-1752-field_43\" class=\"wpforms-field-medium\" name=\"wpforms[fields][43]\" aria-errormessage=\"wpforms-1752-field_43-error\" ><\/div><div id=\"wpforms-1752-field_39-container\" class=\"wpforms-field wpforms-field-text oculto-form\" data-field-id=\"39\"><label class=\"wpforms-field-label wpforms-label-hide\" for=\"wpforms-1752-field_39\" aria-hidden=\"false\">Language<\/label><input type=\"text\" id=\"wpforms-1752-field_39\" class=\"wpforms-field-large\" name=\"wpforms[fields][39]\" value=\"Espa\u00f1ol\" aria-errormessage=\"wpforms-1752-field_39-error\" ><\/div><div id=\"wpforms-1752-field_36-container\" class=\"wpforms-field wpforms-field-select wpforms-field-select-style-classic\" data-field-id=\"36\"><label class=\"wpforms-field-label\" for=\"wpforms-1752-field_36\">\u00bfQu\u00e9 tipo de vivienda te interesa? <span class=\"wpforms-required-label\" aria-hidden=\"true\">*<\/span><\/label><select id=\"wpforms-1752-field_36\" class=\"wpforms-field-large wpforms-field-required\" name=\"wpforms[fields][36]\" required=\"required\"><option value=\"\" class=\"placeholder\" disabled  selected='selected'>Dormitorios<\/option><option value=\"3 Dormitorios\" >3 Dormitorios<\/option><option value=\"2 Dormitorios\" >2 Dormitorios<\/option><\/select><\/div><div id=\"wpforms-1752-field_2-container\" class=\"wpforms-field wpforms-field-select wpforms-conditional-trigger wpforms-field-select-style-classic\" data-field-id=\"2\"><label class=\"wpforms-field-label\" for=\"wpforms-1752-field_2\">\u00bfCu\u00e1l es tu principal motivaci\u00f3n para buscar una nueva vivienda? <span class=\"wpforms-required-label\" aria-hidden=\"true\">*<\/span><\/label><select id=\"wpforms-1752-field_2\" class=\"wpforms-field-large wpforms-field-required\" name=\"wpforms[fields][2]\" required=\"required\"><option value=\"\" class=\"placeholder\" disabled  selected='selected'> <\/option><option value=\"Queremos una casa c\u00f3moda y tranquila donde nuestra familia pueda crecer.\" >Queremos una casa c\u00f3moda y tranquila donde nuestra familia pueda crecer.<\/option><option value=\"Es nuestra primera casa: intentamos empezar con algo que tenga sentido y futuro.\" >Es nuestra primera casa: intentamos empezar con algo que tenga sentido y futuro.<\/option><option value=\"Vivo fuera, y quiero un lugar acogedor para disfrutar cuando est\u00e9 en Portugal, sin complicaciones.\" >Vivo fuera, y quiero un lugar acogedor para disfrutar cuando est\u00e9 en Portugal, sin complicaciones.<\/option><option value=\"Busco una inversi\u00f3n segura, con buena rentabilidad y potencial de revalorizaci\u00f3n.\" >Busco una inversi\u00f3n segura, con buena rentabilidad y potencial de revalorizaci\u00f3n.<\/option><option value=\"Busco un espacio pr\u00e1ctico, bien situado y que se adapte a mi estilo de vida actual.\" >Busco un espacio pr\u00e1ctico, bien situado y que se adapte a mi estilo de vida actual.<\/option><\/select><\/div><div id=\"wpforms-1752-field_3-container\" class=\"wpforms-field wpforms-field-select wpforms-conditional-trigger wpforms-field-select-style-classic\" data-field-id=\"3\"><label class=\"wpforms-field-label\" for=\"wpforms-1752-field_3\">\u00bfCu\u00e1l de estas afirmaciones te describe mejor? <span class=\"wpforms-required-label\" aria-hidden=\"true\">*<\/span><\/label><select id=\"wpforms-1752-field_3\" class=\"wpforms-field-large wpforms-field-required\" name=\"wpforms[fields][3]\" required=\"required\"><option value=\"\" class=\"placeholder\" disabled  selected='selected'> <\/option><option value=\"Me gusta tomar decisiones r\u00e1pidas y resolver problemas\" >Me gusta tomar decisiones r\u00e1pidas y resolver problemas<\/option><option value=\"Me interesa entender bien las opciones antes de tomar una decisi\u00f3n\" >Me interesa entender bien las opciones antes de tomar una decisi\u00f3n<\/option><option value=\"Me gusta explorar nuevas ideas y ser creativo\" >Me gusta explorar nuevas ideas y ser creativo<\/option><option value=\"Prefiero seguir m\u00e9todos probados y mantener la estabilidad.\" >Prefiero seguir m\u00e9todos probados y mantener la estabilidad.<\/option><\/select><\/div><div id=\"wpforms-1752-field_5-container\" class=\"wpforms-field wpforms-field-layout\" data-field-id=\"5\"><div class=\"wpforms-field-layout-rows wpforms-field-large\"><div class=\"wpforms-layout-row\"><div class=\"wpforms-layout-column wpforms-layout-column-50\"><div id=\"wpforms-1752-field_6-container\" class=\"wpforms-field wpforms-field-name\" data-field-id=\"6\"><label class=\"wpforms-field-label\" for=\"wpforms-1752-field_6\">Nombre <span class=\"wpforms-required-label\" aria-hidden=\"true\">*<\/span><\/label><input type=\"text\" id=\"wpforms-1752-field_6\" class=\"wpforms-field-medium wpforms-field-required\" name=\"wpforms[fields][6]\" aria-errormessage=\"wpforms-1752-field_6-error\" required><\/div><\/div><div class=\"wpforms-layout-column wpforms-layout-column-50\"><div id=\"wpforms-1752-field_8-container\" class=\"wpforms-field wpforms-field-text\" data-field-id=\"8\"><label class=\"wpforms-field-label\" for=\"wpforms-1752-field_8\">Apellido <span class=\"wpforms-required-label\" aria-hidden=\"true\">*<\/span><\/label><input type=\"text\" id=\"wpforms-1752-field_8\" class=\"wpforms-field-medium wpforms-field-required\" name=\"wpforms[fields][8]\" aria-errormessage=\"wpforms-1752-field_8-error\" required><\/div><\/div><\/div><div class=\"wpforms-layout-row\"><div class=\"wpforms-layout-column wpforms-layout-column-50\"><div id=\"wpforms-1752-field_9-container\" class=\"wpforms-field wpforms-field-phone\" data-field-id=\"9\"><label class=\"wpforms-field-label\" for=\"wpforms-1752-field_9\">Telefono <span class=\"wpforms-required-label\" aria-hidden=\"true\">*<\/span><\/label><input type=\"tel\" id=\"wpforms-1752-field_9\" class=\"wpforms-field-medium wpforms-field-required wpforms-smart-phone-field\" data-rule-smart-phone-field=\"true\" name=\"wpforms[fields][9]\" aria-label=\"Telefono\" aria-errormessage=\"wpforms-1752-field_9-error\" required><\/div><\/div><div class=\"wpforms-layout-column wpforms-layout-column-50\"><div id=\"wpforms-1752-field_15-container\" class=\"wpforms-field wpforms-field-email\" data-field-id=\"15\"><label class=\"wpforms-field-label\" for=\"wpforms-1752-field_15\">E-mail <span class=\"wpforms-required-label\" aria-hidden=\"true\">*<\/span><\/label><input type=\"email\" id=\"wpforms-1752-field_15\" class=\"wpforms-field-medium wpforms-field-required\" name=\"wpforms[fields][15]\" spellcheck=\"false\" aria-errormessage=\"wpforms-1752-field_15-error\" required><\/div><\/div><\/div><\/div><\/div><div id=\"wpforms-1752-field_38-container\" class=\"wpforms-field wpforms-field-select wpforms-field-select-style-classic\" data-field-id=\"38\"><label class=\"wpforms-field-label\" for=\"wpforms-1752-field_38\">\u00bfD\u00f3nde resides actualmente? <span class=\"wpforms-required-label\" aria-hidden=\"true\">*<\/span><\/label><select id=\"wpforms-1752-field_38\" class=\"wpforms-field-large wpforms-field-required\" name=\"wpforms[fields][38]\" required=\"required\"><option value=\"En Loures o alrededores\" >En Loures o alrededores<\/option><option value=\"En la zona de Lisboa (Lisboa, Odivelas, Amadora...)\" >En la zona de Lisboa (Lisboa, Odivelas, Amadora...)<\/option><option value=\"En otra parte de Portugal\" >En otra parte de Portugal<\/option><option value=\"Fuera de Portugal\" >Fuera de Portugal<\/option><\/select><\/div><div id=\"wpforms-1752-field_40-container\" class=\"wpforms-field wpforms-field-select wpforms-field-select-style-classic\" data-field-id=\"40\"><label class=\"wpforms-field-label wpforms-label-hide\" for=\"wpforms-1752-field_40\" aria-hidden=\"false\">Edad <span class=\"wpforms-required-label\" aria-hidden=\"true\">*<\/span><\/label><select id=\"wpforms-1752-field_40\" class=\"wpforms-field-large wpforms-field-required\" name=\"wpforms[fields][40]\" required=\"required\"><option value=\"\" class=\"placeholder\" disabled  selected='selected'>Ind\u00edcanos tu edad *<\/option><option value=\"Menos de 35\" >Menos de 35<\/option><option value=\"Entre 35 y 45\" >Entre 35 y 45<\/option><option value=\"Entre 45 y 60\" >Entre 45 y 60<\/option><option value=\"Mayor de 60\" >Mayor de 60<\/option><\/select><\/div><div id=\"wpforms-1752-field_41-container\" class=\"wpforms-field wpforms-field-checkbox\" data-field-id=\"41\"><fieldset><legend class=\"wpforms-field-label wpforms-label-hide\" aria-hidden=\"false\">RGPD <span class=\"wpforms-required-label\" aria-hidden=\"true\">*<\/span><\/legend><ul id=\"wpforms-1752-field_41\" class=\"wpforms-field-required\"><li class=\"choice-1 depth-1\"><input type=\"checkbox\" id=\"wpforms-1752-field_41_1\" name=\"wpforms[fields][41][]\" value=\"Consiento expresamente el tratamiento de mis datos personales para el envio de informaci\u00f3n\" aria-errormessage=\"wpforms-1752-field_41_1-error\" aria-describedby=\"wpforms-1752-field_41-description\" required ><label class=\"wpforms-field-label-inline\" for=\"wpforms-1752-field_41_1\">Consiento expresamente el tratamiento de mis datos personales para el envio de informaci\u00f3n<\/label><\/li><\/ul><div id=\"wpforms-1752-field_41-description\" class=\"wpforms-field-description\"><a href=\"https:\/\/asvillas.pt\/es\/lopd\/\">Ver mais<\/a><\/div><\/fieldset><\/div><div id=\"wpforms-1752-field_42-container\" class=\"wpforms-field wpforms-field-checkbox\" data-field-id=\"42\"><fieldset><legend class=\"wpforms-field-label wpforms-label-hide\" aria-hidden=\"false\">Comercial<\/legend><ul id=\"wpforms-1752-field_42\"><li class=\"choice-1 depth-1\"><input type=\"checkbox\" id=\"wpforms-1752-field_42_1\" name=\"wpforms[fields][42][]\" value=\"Consiento expresamente el tratamiento de mis datos para comunicaciones comerciales\" aria-errormessage=\"wpforms-1752-field_42_1-error\" aria-describedby=\"wpforms-1752-field_42-description\"  ><label class=\"wpforms-field-label-inline\" for=\"wpforms-1752-field_42_1\">Consiento expresamente el tratamiento de mis datos para comunicaciones comerciales<\/label><\/li><\/ul><div id=\"wpforms-1752-field_42-description\" class=\"wpforms-field-description\"><a href=\"https:\/\/asvillas.pt\/es\/lopd\/\">Ver mais<\/a><\/div><\/fieldset><\/div><script>\n\t\t\t\t( function() {\n\t\t\t\t\tconst style = document.createElement( 'style' );\n\t\t\t\t\tstyle.appendChild( document.createTextNode( '#wpforms-1752-field_1-container { position: absolute !important; overflow: hidden !important; display: inline !important; height: 1px !important; width: 1px !important; z-index: -1000 !important; padding: 0 !important; } #wpforms-1752-field_1-container input { visibility: hidden; } #wpforms-conversational-form-page #wpforms-1752-field_1-container label { counter-increment: none; }' ) );\n\t\t\t\t\tdocument.head.appendChild( style );\n\t\t\t\t\tdocument.currentScript?.remove();\n\t\t\t\t} )();\n\t\t\t<\/script><\/div><!-- .wpforms-field-container --><div class=\"wpforms-submit-container\" ><input type=\"hidden\" name=\"wpforms[id]\" value=\"1752\"><input type=\"hidden\" name=\"page_title\" value=\"\"><input type=\"hidden\" name=\"page_url\" value=\"https:\/\/hercesa.pt\/asvillas\/es\/wp-json\/wp\/v2\/pages\/784\"><input type=\"hidden\" name=\"url_referer\" value=\"\"><button type=\"submit\" name=\"wpforms[submit]\" id=\"wpforms-submit-1752\" class=\"wpforms-submit\" data-alt-text=\"Estamos en ello...\" data-submit-text=\"Desbloquear informaci\u00f3n\" aria-live=\"assertive\" value=\"wpforms-submit\">Desbloquear informaci\u00f3n<\/button><\/div><\/form><\/div>  <!-- .wpforms-container --><\/div>\r\n            <\/div>\r\n            \r\n            <!-- Enlace de login -->\r\n            <div class=\"login-link-container\">\r\n                \u00bfYa has completado el formulario anteriormente? <a href=\"https:\/\/hercesa.pt\/asvillas\/es\/log-in\/\">Inicia sesi\u00f3n en tu cuenta<\/a>\r\n            <\/div>\r\n            \r\n            <!-- Contenedor para usuario logueado -->\r\n            <div class=\"logged-in-container\">\r\n                <div class=\"welcome-message\">\r\n                    Bienvenido, .<br>\r\n                    Parece que ya nos has indicado tus preferencias anteriormente\r\n                <\/div>\r\n                <a href=\"https:\/\/hercesa.pt\/asvillas\/es\/perfil\/\" class=\"profile-button\">Acceder a mi perfil<\/a>\r\n            <\/div>\r\n            \r\n            <!-- Beneficios del registro -->\r\n            <div class=\"contact-benefits\">\r\n                <!-- Beneficio 1 -->\r\n                <div class=\"benefit-item\">\r\n                    <div class=\"benefit-icon\">\r\n                        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\r\n                            <polyline points=\"20 6 9 17 4 12\"><\/polyline>\r\n                        <\/svg>\r\n                    <\/div>\r\n                    <div class=\"benefit-text\">\r\n                        <strong>Informaci\u00f3n exclusiva<\/strong>\r\n                        Adaptada a tus gustos y preferencias\r\n                    <\/div>\r\n                <\/div>\r\n                \r\n                <!-- Beneficio 2 -->\r\n                <div class=\"benefit-item\">\r\n                    <div class=\"benefit-icon\">\r\n                        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\r\n                            <path d=\"M12 2L2 7l10 5 10-5-10-5z\"><\/path>\r\n                            <path d=\"M2 17l10 5 10-5\"><\/path>\r\n                            <path d=\"M2 12l10 5 10-5\"><\/path>\r\n                        <\/svg>\r\n                    <\/div>\r\n                    <div class=\"benefit-text\">\r\n                        <strong>Pisos y tipolog\u00edas<\/strong>\r\n                        Echa un vistazo a los apartamentos de 2 y 3 dormitorios\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n            \r\n            <!-- Garant\u00eda de privacidad -->\r\n            <div class=\"privacy-guarantee\">\r\n                <div class=\"privacy-icon\">\r\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\r\n                        <rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" ry=\"2\"><\/rect>\r\n                        <path d=\"M7 11V7a5 5 0 0 1 10 0v4\"><\/path>\r\n                    <\/svg>\r\n                <\/div>\r\n                <div class=\"privacy-text\">Tus datos est\u00e1n seguros y se tratar\u00e1n de forma segura y confidencial<\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/section>\r\n\r\n<script>\r\ndocument.addEventListener('DOMContentLoaded', function() {\r\n    \/\/ Detectar si el usuario est\u00e1 logueado\r\n    if (document.body.classList.contains('logged-in')) {\r\n        \/\/ A\u00f1adir clase al contenedor del formulario\r\n        document.querySelector('.contact-form-container').classList.add('user-logged-in');\r\n    }\r\n});\r\n<\/script>\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","protected":false},"excerpt":{"rendered":"<p>Cargando&#8230; Tu casa a tu Estilo Viviendas de 3 dormitorios con terraza, plaza de aparcamiento y trastero. Un espacio pensado para la tranquilidad. Ya a la venta, a las puertas de Lisboa. Entrega prevista a partir de Septiembre de 2027 Desbloquear informaci\u00f3n https:\/\/hercesa.pt\/asvillas\/wp-content\/uploads\/2025\/09\/ESP_Trailer_E2.mp4 As Villas &#8211; Tipolog\u00edas con Etapas Solo disponibles viviendas de 3 dormitorios [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":9945,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"class_list":["post-784","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>As Villas \u2013 Obra nueva en Loures (Lisboa) | Desde 534.000 \u20ac<\/title>\n<meta name=\"description\" content=\"1.200 apartamentos de 2 y 3 dormitorios en V\u00e1rzea de Loures. Certificaci\u00f3n energ\u00e9tica A, terrazas, urbanizaci\u00f3n privada. Entrega septiembre 2027.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/hercesa.pt\/asvillas\/es\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"As Villas \u2013 Obra nueva en Loures (Lisboa) | Desde 534.000 \u20ac\" \/>\n<meta property=\"og:description\" content=\"1.200 apartamentos de 2 y 3 dormitorios en V\u00e1rzea de Loures. Certificaci\u00f3n energ\u00e9tica A, terrazas, urbanizaci\u00f3n privada. Entrega septiembre 2027.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/hercesa.pt\/asvillas\/es\/\" \/>\n<meta property=\"og:site_name\" content=\"As Villas \u2013 Obra nueva en Loures (Lisboa) | Desde 534.000 \u20ac\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-23T08:56:58+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/hercesa.pt\/asvillas\/wp-content\/uploads\/2025\/08\/AsVillas_E2-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data1\" content=\"6 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/hercesa.pt\/asvillas\/es\/\",\"url\":\"https:\/\/hercesa.pt\/asvillas\/es\/\",\"name\":\"As Villas \u2013 Obra nueva en Loures (Lisboa) | Desde 534.000 \u20ac\",\"isPartOf\":{\"@id\":\"https:\/\/hercesa.pt\/asvillas\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/hercesa.pt\/asvillas\/es\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/hercesa.pt\/asvillas\/es\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/hercesa.pt\/asvillas\/wp-content\/uploads\/2025\/08\/AsVillas_E2-1.png\",\"datePublished\":\"2025-05-13T07:24:55+00:00\",\"dateModified\":\"2026-07-23T08:56:58+00:00\",\"description\":\"1.200 apartamentos de 2 y 3 dormitorios en V\u00e1rzea de Loures. Certificaci\u00f3n energ\u00e9tica A, terrazas, urbanizaci\u00f3n privada. Entrega septiembre 2027.\",\"breadcrumb\":{\"@id\":\"https:\/\/hercesa.pt\/asvillas\/es\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/hercesa.pt\/asvillas\/es\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/hercesa.pt\/asvillas\/es\/#primaryimage\",\"url\":\"https:\/\/hercesa.pt\/asvillas\/wp-content\/uploads\/2025\/08\/AsVillas_E2-1.png\",\"contentUrl\":\"https:\/\/hercesa.pt\/asvillas\/wp-content\/uploads\/2025\/08\/AsVillas_E2-1.png\",\"width\":1200,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/hercesa.pt\/asvillas\/es\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/hercesa.pt\/asvillas\/es\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"As Villas ESP\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/hercesa.pt\/asvillas\/#website\",\"url\":\"https:\/\/hercesa.pt\/asvillas\/\",\"name\":\"As Villas - Apartamentos em Lisboa\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/hercesa.pt\/asvillas\/#organization\"},\"alternateName\":\"As Villas - Hercesa\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/hercesa.pt\/asvillas\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/hercesa.pt\/asvillas\/#organization\",\"name\":\"As Villas - Apartamentos em Lisboa\",\"alternateName\":\"As Villas\",\"url\":\"https:\/\/hercesa.pt\/asvillas\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/hercesa.pt\/asvillas\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/asvillas.evoost.ai\/wp-content\/uploads\/2025\/05\/vistas-asvillas.jpg\",\"contentUrl\":\"https:\/\/asvillas.evoost.ai\/wp-content\/uploads\/2025\/05\/vistas-asvillas.jpg\",\"width\":1152,\"height\":768,\"caption\":\"As Villas - Apartamentos em Lisboa\"},\"image\":{\"@id\":\"https:\/\/hercesa.pt\/asvillas\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"As Villas \u2013 Obra nueva en Loures (Lisboa) | Desde 534.000 \u20ac","description":"1.200 apartamentos de 2 y 3 dormitorios en V\u00e1rzea de Loures. Certificaci\u00f3n energ\u00e9tica A, terrazas, urbanizaci\u00f3n privada. Entrega septiembre 2027.","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:\/\/hercesa.pt\/asvillas\/es\/","og_locale":"es_ES","og_type":"article","og_title":"As Villas \u2013 Obra nueva en Loures (Lisboa) | Desde 534.000 \u20ac","og_description":"1.200 apartamentos de 2 y 3 dormitorios en V\u00e1rzea de Loures. Certificaci\u00f3n energ\u00e9tica A, terrazas, urbanizaci\u00f3n privada. Entrega septiembre 2027.","og_url":"https:\/\/hercesa.pt\/asvillas\/es\/","og_site_name":"As Villas \u2013 Obra nueva en Loures (Lisboa) | Desde 534.000 \u20ac","article_modified_time":"2026-07-23T08:56:58+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/hercesa.pt\/asvillas\/wp-content\/uploads\/2025\/08\/AsVillas_E2-1.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Tiempo de lectura":"6 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/hercesa.pt\/asvillas\/es\/","url":"https:\/\/hercesa.pt\/asvillas\/es\/","name":"As Villas \u2013 Obra nueva en Loures (Lisboa) | Desde 534.000 \u20ac","isPartOf":{"@id":"https:\/\/hercesa.pt\/asvillas\/#website"},"primaryImageOfPage":{"@id":"https:\/\/hercesa.pt\/asvillas\/es\/#primaryimage"},"image":{"@id":"https:\/\/hercesa.pt\/asvillas\/es\/#primaryimage"},"thumbnailUrl":"https:\/\/hercesa.pt\/asvillas\/wp-content\/uploads\/2025\/08\/AsVillas_E2-1.png","datePublished":"2025-05-13T07:24:55+00:00","dateModified":"2026-07-23T08:56:58+00:00","description":"1.200 apartamentos de 2 y 3 dormitorios en V\u00e1rzea de Loures. Certificaci\u00f3n energ\u00e9tica A, terrazas, urbanizaci\u00f3n privada. Entrega septiembre 2027.","breadcrumb":{"@id":"https:\/\/hercesa.pt\/asvillas\/es\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/hercesa.pt\/asvillas\/es\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/hercesa.pt\/asvillas\/es\/#primaryimage","url":"https:\/\/hercesa.pt\/asvillas\/wp-content\/uploads\/2025\/08\/AsVillas_E2-1.png","contentUrl":"https:\/\/hercesa.pt\/asvillas\/wp-content\/uploads\/2025\/08\/AsVillas_E2-1.png","width":1200,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/hercesa.pt\/asvillas\/es\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/hercesa.pt\/asvillas\/es\/"},{"@type":"ListItem","position":2,"name":"As Villas ESP"}]},{"@type":"WebSite","@id":"https:\/\/hercesa.pt\/asvillas\/#website","url":"https:\/\/hercesa.pt\/asvillas\/","name":"As Villas - Apartamentos em Lisboa","description":"","publisher":{"@id":"https:\/\/hercesa.pt\/asvillas\/#organization"},"alternateName":"As Villas - Hercesa","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/hercesa.pt\/asvillas\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/hercesa.pt\/asvillas\/#organization","name":"As Villas - Apartamentos em Lisboa","alternateName":"As Villas","url":"https:\/\/hercesa.pt\/asvillas\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/hercesa.pt\/asvillas\/#\/schema\/logo\/image\/","url":"https:\/\/asvillas.evoost.ai\/wp-content\/uploads\/2025\/05\/vistas-asvillas.jpg","contentUrl":"https:\/\/asvillas.evoost.ai\/wp-content\/uploads\/2025\/05\/vistas-asvillas.jpg","width":1152,"height":768,"caption":"As Villas - Apartamentos em Lisboa"},"image":{"@id":"https:\/\/hercesa.pt\/asvillas\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/hercesa.pt\/asvillas\/es\/wp-json\/wp\/v2\/pages\/784","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hercesa.pt\/asvillas\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/hercesa.pt\/asvillas\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/hercesa.pt\/asvillas\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hercesa.pt\/asvillas\/es\/wp-json\/wp\/v2\/comments?post=784"}],"version-history":[{"count":161,"href":"https:\/\/hercesa.pt\/asvillas\/es\/wp-json\/wp\/v2\/pages\/784\/revisions"}],"predecessor-version":[{"id":14535,"href":"https:\/\/hercesa.pt\/asvillas\/es\/wp-json\/wp\/v2\/pages\/784\/revisions\/14535"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hercesa.pt\/asvillas\/es\/wp-json\/wp\/v2\/media\/9945"}],"wp:attachment":[{"href":"https:\/\/hercesa.pt\/asvillas\/es\/wp-json\/wp\/v2\/media?parent=784"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}