{"id":7,"date":"2025-05-13T07:24:55","date_gmt":"2025-05-13T07:24:55","guid":{"rendered":"https:\/\/asvillas.evoost.ai\/?page_id=7"},"modified":"2026-07-23T08:49:41","modified_gmt":"2026-07-23T08:49:41","slug":"as-villas","status":"publish","type":"page","link":"https:\/\/hercesa.pt\/asvillas\/","title":{"rendered":"As Villas PT"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"7\" class=\"elementor 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 -->\r\n<div class=\"as-villas-preloader\">\r\n    <div class=\"preloader-content\">\r\n        <div class=\"logo-container\">\r\n            <img decoding=\"async\" src=\"https:\/\/hercesa.pt\/asvillas\/wp-content\/uploads\/2025\/07\/logo-asvillas-loader.jpg\" alt=\"As Villas\" class=\"preloader-logo\">\r\n        <\/div>\r\n        <div class=\"loader-bar-container\">\r\n            <div class=\"loader-bar\"><\/div>\r\n        <\/div>\r\n        <div class=\"loading-text\">Carregando<span class=\"dot-animation\">...<\/span><\/div>\r\n    <\/div>\r\n<\/div>\r\n\r\n<style>\r\n    \/* 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>\r\n\r\n<script>\r\n    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-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>\n    .as-villas-hero-alt {\n        position: relative;\n        width: 100%;\n        height: 85vh;\n        min-height: 600px;\n        overflow: hidden;\n    }\n    \n    .hero-background {\n        position: absolute;\n        top: 0;\n        left: 0;\n        width: 100%;\n        height: 100%;\n    }\n    \n    .hero-background img {\n        width: 100%;\n        height: 100%;\n        object-fit: cover;\n        object-position: center;\n        filter: brightness(0.75);\n    }\n    \n    .hero-overlay {\n        position: absolute;\n        top: 0;\n        left: 0;\n        width: 100%;\n        height: 100%;\n        background: linear-gradient(135deg, rgba(30, 58, 138, 0.6) 0%, rgba(20, 30, 70, 0.4) 100%);\n    }\n    \n    .hero-content {\n        position: absolute;\n        top: 0;\n        left: 0;\n        width: 100%;\n        height: 100%;\n        display: flex;\n        flex-direction: column;\n        justify-content: center;\n        padding: 5% 10%;\n        z-index: 10;\n        color: white;\n    }\n\n    \/* H1 sem\u00e1ntico oculto \u2014 visible para Google, invisible para el usuario *\/\n    .hero-h1-seo {\n        position: absolute;\n        width: 1px;\n        height: 1px;\n        padding: 0;\n        margin: -1px;\n        overflow: hidden;\n        clip: rect(0, 0, 0, 0);\n        white-space: nowrap;\n        border: 0;\n    }\n    \n    .hero-badge {\n        display: inline-block;\n        margin-bottom: 2.5rem;\n        max-width: fit-content;\n    }\n    \n    .hero-badge img {\n        height: 65px;\n        width: auto;\n        display: block;\n    }\n    \n    \/* H2 visual \u2014 mantiene el estilo del H1 original *\/\n    .hero-headline {\n        font-size: 4.5rem;\n        font-weight: 800;\n        line-height: 1.1;\n        margin-bottom: 1.5rem;\n        text-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);\n    }\n    \n    .highlight {\n        color: #FED56F;\n        position: relative;\n        display: inline;\n    }\n    \n    .hero-subheadline {\n        font-size: 1.4rem;\n        line-height: 1.6;\n        margin-bottom: 2.5rem;\n        max-width: 600px;\n        text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);\n        opacity: 0.95;\n    }\n    \n    .hero-button {\n        display: inline-block;\n        background-color: #1E3A8A;\n        color: white;\n        font-weight: 700;\n        font-size: 1.1rem;\n        padding: 1.2rem 3rem;\n        border-radius: 50px;\n        text-decoration: none;\n        letter-spacing: 1px;\n        text-transform: uppercase;\n        box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2);\n        transition: all 0.3s ease;\n        max-width: fit-content;\n    }\n    \n    .hero-button:hover {\n        background-color: #2563EB;\n        transform: translateY(-3px);\n        box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);\n    }\n    \n    @media (max-width: 1200px) {\n        .hero-headline { font-size: 4rem; }\n    }\n    \n    @media (max-width: 992px) {\n        .as-villas-hero-alt { height: 75vh; }\n        .hero-headline { font-size: 3.5rem; }\n        .hero-subheadline { font-size: 1.3rem; }\n    }\n    \n    @media (max-width: 768px) {\n        .hero-content { padding: 5%; }\n        .hero-badge { margin-bottom: 2rem; }\n        .hero-badge img { height: 50px; }\n        .hero-headline { font-size: 2.7rem; }\n        .hero-subheadline { font-size: 1.1rem; margin-bottom: 2rem; }\n        .hero-button { font-size: 1rem; padding: 1rem 2.5rem; }\n    }\n    \n    @media (max-width: 480px) {\n        .as-villas-hero-alt { height: 90vh; min-height: 500px; }\n        .hero-badge img { height: 45px; }\n        .hero-headline { font-size: 2.2rem; }\n        .hero-subheadline { font-size: 1rem; }\n        .hero-button { width: 100%; text-align: center; }\n    }\n<\/style>\n\n<section class=\"as-villas-hero-alt\">\n\n    <div class=\"hero-background\">\n        <img decoding=\"async\" src=\"https:\/\/hercesa.pt\/asvillas\/wp-content\/uploads\/2025\/05\/1470_CAM-027_d-Large.jpg\" alt=\"As Villas \u2014 Complexo residencial com piscina em V\u00e1rzea de Loures, Lisboa\">\n    <\/div>\n    \n    <div class=\"hero-overlay\"><\/div>\n    \n    <div class=\"hero-content\">\n\n        <!-- H1 sem\u00e1ntico oculto para SEO -->\n        <h1 class=\"hero-h1-seo\">Apartamentos de obra nova em Loures, Lisboa \u2014 As Villas<\/h1>\n\n        <div class=\"hero-badge\">\n            <img decoding=\"async\" src=\"https:\/\/hercesa.pt\/asvillas\/wp-content\/uploads\/2025\/11\/asvillas-white-yellow.png\" alt=\"As Villas\">\n        <\/div>\n        \n        <!-- H2 visual (era H1 antes del ajuste SEO) -->\n        <h2 class=\"hero-headline\">\n            A sua casa,<br>\n            ao seu <span class=\"highlight\">estilo<\/span>\n        <\/h2>\n        \n        <p class=\"hero-subheadline\">\n            Apartamentos T3 com terra\u00e7o, lugar de estacionamento e arrecada\u00e7\u00e3o. Um espa\u00e7o pensado para a tranquilidade. Em comercializa\u00e7\u00e3o, \u00e0s portas de Lisboa.<br><br>\n            <strong>Entrega prevista a partir de setembro de 2027<\/strong>\n        <\/p>\n        \n        <a href=\"#unlock\" class=\"hero-button\">Saber mais<\/a>\n    <\/div>\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4f3af92 elementor-hidden-tablet elementor-hidden-mobile elementor-widget elementor-widget-tp-video-player\" data-id=\"4f3af92\" 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_player6a688a050e276 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\/12\/ENGAGE_AsVillas_COMP.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-fb70348 elementor-hidden-desktop elementor-hidden-laptop elementor-widget elementor-widget-video\" data-id=\"fb70348\" 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\/12\/ENGAGE_AsVillas_COMP.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-d2e7a4a e-con-full elementor-hidden-desktop elementor-hidden-laptop elementor-hidden-tablet elementor-hidden-mobile e-flex e-con e-parent\" data-id=\"d2e7a4a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d5b20a0 elementor-widget elementor-widget-html\" data-id=\"d5b20a0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"pt\">\r\n<head>\r\n    <meta charset=\"UTF-8\">\r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n    <title>As Villas - Etapas Dispon\u00edveis V2<\/title>\r\n    <style>\r\n    \/* Bloque de Etapas Disponibles *\/\r\n    .as-villas-etapas {\r\n        padding: 5rem 0 !important;\r\n        background-color: #f8f9fa !important;\r\n        position: relative !important;\r\n        overflow: hidden !important;\r\n    }\r\n    \r\n    .etapas-container {\r\n        width: 90% !important;\r\n        max-width: 1200px !important;\r\n        margin: 0 auto !important;\r\n    }\r\n    \r\n    \/* Encabezado de secci\u00f3n *\/\r\n    .etapas-header {\r\n        text-align: center !important;\r\n        margin-bottom: 3rem !important;\r\n        position: relative !important;\r\n    }\r\n    \r\n    .etapas-badge {\r\n        display: inline-block !important;\r\n        background-color: #FED56F !important;\r\n        color: #1f2937 !important;\r\n        font-weight: 700 !important;\r\n        font-size: 0.9rem !important;\r\n        padding: 0.5rem 1.5rem !important;\r\n        margin-bottom: 1rem !important;\r\n        border-radius: 4px !important;\r\n        text-transform: uppercase !important;\r\n        letter-spacing: 1px !important;\r\n    }\r\n    \r\n    .etapas-title {\r\n        font-size: 2.5rem !important;\r\n        font-weight: 700 !important;\r\n        color: #1a1a1a !important;\r\n        margin-bottom: 1.5rem !important;\r\n        position: relative !important;\r\n        display: inline-block !important;\r\n    }\r\n    \r\n    .etapas-title::after {\r\n        content: '' !important;\r\n        position: absolute !important;\r\n        bottom: -15px !important;\r\n        left: 50% !important;\r\n        transform: translateX(-50%) !important;\r\n        width: 60px !important;\r\n        height: 3px !important;\r\n        background-color: #FED56F !important;\r\n    }\r\n    \r\n    .etapas-description {\r\n        max-width: 700px !important;\r\n        margin: 2rem auto 0 !important;\r\n        font-size: 1.1rem !important;\r\n        line-height: 1.6 !important;\r\n        color: #555 !important;\r\n    }\r\n    \r\n    \/* Timeline mejorado *\/\r\n    .etapas-timeline {\r\n        display: flex !important;\r\n        justify-content: center !important;\r\n        align-items: center !important;\r\n        margin: 4rem 0 !important;\r\n        position: relative !important;\r\n        max-width: 600px !important;\r\n        margin-left: auto !important;\r\n        margin-right: auto !important;\r\n    }\r\n    \r\n    .timeline-container {\r\n        display: flex !important;\r\n        align-items: center !important;\r\n        justify-content: space-between !important;\r\n        width: 100% !important;\r\n        position: relative !important;\r\n    }\r\n    \r\n    .timeline-connector {\r\n        position: absolute !important;\r\n        height: 4px !important;\r\n        background: linear-gradient(to right, #1E3A8A 0%, #1E3A8A 45%, #e5e7eb 45%, #e5e7eb 55%, #10b981 55%, #10b981 100%) !important;\r\n        top: 50% !important;\r\n        left: 25% !important;\r\n        right: 25% !important;\r\n        transform: translateY(-50%) !important;\r\n        z-index: 1 !important;\r\n    }\r\n    \r\n    .timeline-step {\r\n        display: flex !important;\r\n        flex-direction: column !important;\r\n        align-items: center !important;\r\n        position: relative !important;\r\n        z-index: 2 !important;\r\n        flex: 1 !important;\r\n    }\r\n    \r\n    .timeline-number {\r\n        width: 60px !important;\r\n        height: 60px !important;\r\n        border-radius: 50% !important;\r\n        background-color: white !important;\r\n        border: 4px solid #e5e7eb !important;\r\n        display: flex !important;\r\n        align-items: center !important;\r\n        justify-content: center !important;\r\n        font-size: 1.5rem !important;\r\n        font-weight: 700 !important;\r\n        color: #9ca3af !important;\r\n        margin-bottom: 1rem !important;\r\n        transition: all 0.3s ease !important;\r\n    }\r\n    \r\n    .timeline-step.completed .timeline-number {\r\n        border-color: #1E3A8A !important;\r\n        background-color: #1E3A8A !important;\r\n        color: white !important;\r\n    }\r\n    \r\n    .timeline-step.active .timeline-number {\r\n        border-color: #10b981 !important;\r\n        background-color: #10b981 !important;\r\n        color: white !important;\r\n        box-shadow: 0 0 0 8px rgba(16, 185, 129, 0.1) !important;\r\n    }\r\n    \r\n    .timeline-label {\r\n        font-size: 1rem !important;\r\n        font-weight: 600 !important;\r\n        color: #1a1a1a !important;\r\n        margin-bottom: 0.25rem !important;\r\n    }\r\n    \r\n    .timeline-status {\r\n        font-size: 0.85rem !important;\r\n        color: #6b7280 !important;\r\n        text-align: center !important;\r\n    }\r\n    \r\n    .timeline-step.completed .timeline-status {\r\n        color: #1E3A8A !important;\r\n    }\r\n    \r\n    .timeline-step.active .timeline-status {\r\n        color: #10b981 !important;\r\n        font-weight: 600 !important;\r\n    }\r\n    \r\n    \/* Grid de etapas *\/\r\n    .etapas-grid {\r\n        display: grid !important;\r\n        grid-template-columns: repeat(2, 1fr) !important;\r\n        gap: 3rem !important;\r\n        margin-top: 4rem !important;\r\n    }\r\n    \r\n    \/* Tarjeta de etapa *\/\r\n    .etapa-card {\r\n        background: white !important;\r\n        border-radius: 12px !important;\r\n        overflow: hidden !important;\r\n        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1) !important;\r\n        transition: all 0.3s ease !important;\r\n        position: relative !important;\r\n    }\r\n    \r\n    .etapa-card:hover {\r\n        transform: translateY(-10px) !important;\r\n        box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15) !important;\r\n    }\r\n    \r\n    \/* Imagen de la etapa *\/\r\n    .etapa-image {\r\n        width: 100% !important;\r\n        height: 250px !important;\r\n        object-fit: cover !important;\r\n        position: relative !important;\r\n    }\r\n    \r\n    \/* Badge de disponibilidad *\/\r\n    .etapa-status {\r\n        position: absolute !important;\r\n        top: 20px !important;\r\n        right: 20px !important;\r\n        background-color: rgba(30, 58, 138, 0.9) !important;\r\n        color: white !important;\r\n        padding: 0.5rem 1rem !important;\r\n        border-radius: 6px !important;\r\n        font-weight: 600 !important;\r\n        font-size: 0.85rem !important;\r\n        text-transform: uppercase !important;\r\n        letter-spacing: 0.5px !important;\r\n    }\r\n    \r\n    .etapa-status.limited {\r\n        background-color: rgba(220, 38, 38, 0.9) !important;\r\n    }\r\n    \r\n    .etapa-status.new {\r\n        background-color: rgba(16, 185, 129, 0.9) !important;\r\n    }\r\n    \r\n    \/* Contenido de la tarjeta *\/\r\n    .etapa-content {\r\n        padding: 2.5rem !important;\r\n    }\r\n    \r\n    .etapa-label {\r\n        font-size: 0.9rem !important;\r\n        color: #1E3A8A !important;\r\n        font-weight: 600 !important;\r\n        text-transform: uppercase !important;\r\n        letter-spacing: 1px !important;\r\n        margin-bottom: 0.5rem !important;\r\n    }\r\n    \r\n    .etapa-name {\r\n        font-size: 1.8rem !important;\r\n        font-weight: 700 !important;\r\n        color: #1a1a1a !important;\r\n        margin-bottom: 1rem !important;\r\n    }\r\n    \r\n    .etapa-details {\r\n        margin-bottom: 2rem !important;\r\n    }\r\n    \r\n    .etapa-info-item {\r\n        display: flex !important;\r\n        align-items: center !important;\r\n        margin-bottom: 1rem !important;\r\n        color: #555 !important;\r\n    }\r\n    \r\n    .etapa-info-icon {\r\n        width: 24px !important;\r\n        height: 24px !important;\r\n        margin-right: 12px !important;\r\n        color: #1E3A8A !important;\r\n    }\r\n    \r\n    .etapa-info-text {\r\n        font-size: 1rem !important;\r\n        line-height: 1.5 !important;\r\n    }\r\n    \r\n    .etapa-highlight {\r\n        font-weight: 600 !important;\r\n        color: #1a1a1a !important;\r\n    }\r\n    \r\n    \/* Bot\u00f3n CTA *\/\r\n    .etapa-cta {\r\n        display: inline-block !important;\r\n        width: 100% !important;\r\n        padding: 1rem 2rem !important;\r\n        background-color: #1E3A8A !important;\r\n        color: white !important;\r\n        text-align: center !important;\r\n        text-decoration: none !important;\r\n        font-weight: 600 !important;\r\n        border-radius: 8px !important;\r\n        transition: all 0.3s ease !important;\r\n        font-size: 1rem !important;\r\n    }\r\n    \r\n    .etapa-cta:hover {\r\n        background-color: #152a66 !important;\r\n        transform: translateY(-2px) !important;\r\n        box-shadow: 0 5px 15px rgba(30, 58, 138, 0.3) !important;\r\n    }\r\n    \r\n    \/* Elementos decorativos *\/\r\n    .etapas-decoration {\r\n        position: absolute !important;\r\n        z-index: 0 !important;\r\n    }\r\n    \r\n    .decoration-circle-1 {\r\n        width: 200px !important;\r\n        height: 200px !important;\r\n        border-radius: 50% !important;\r\n        background-color: rgba(254, 213, 111, 0.1) !important;\r\n        top: -100px !important;\r\n        right: -100px !important;\r\n    }\r\n    \r\n    .decoration-circle-2 {\r\n        width: 150px !important;\r\n        height: 150px !important;\r\n        border-radius: 50% !important;\r\n        background-color: rgba(30, 58, 138, 0.05) !important;\r\n        bottom: -75px !important;\r\n        left: -75px !important;\r\n    }\r\n    \r\n    \/* Responsive *\/\r\n    @media (max-width: 992px) {\r\n        .etapas-grid {\r\n            grid-template-columns: 1fr !important;\r\n            gap: 2rem !important;\r\n        }\r\n        \r\n        .etapa-image {\r\n            height: 200px !important;\r\n        }\r\n    }\r\n    \r\n    @media (max-width: 768px) {\r\n        .as-villas-etapas {\r\n            padding: 4rem 0 !important;\r\n        }\r\n        \r\n        .etapas-title {\r\n            font-size: 2rem !important;\r\n        }\r\n        \r\n        .etapa-content {\r\n            padding: 2rem !important;\r\n        }\r\n        \r\n        .etapa-name {\r\n            font-size: 1.5rem !important;\r\n        }\r\n        \r\n        .timeline-connector {\r\n            left: 30% !important;\r\n            right: 30% !important;\r\n        }\r\n        \r\n        .timeline-number {\r\n            width: 50px !important;\r\n            height: 50px !important;\r\n            font-size: 1.2rem !important;\r\n        }\r\n        \r\n        .timeline-label {\r\n            font-size: 0.9rem !important;\r\n        }\r\n        \r\n        .timeline-status {\r\n            font-size: 0.75rem !important;\r\n        }\r\n    }\r\n    \r\n    @media (max-width: 480px) {\r\n        .etapas-badge {\r\n            font-size: 0.8rem !important;\r\n            padding: 0.4rem 1rem !important;\r\n        }\r\n        \r\n        .etapas-title {\r\n            font-size: 1.8rem !important;\r\n        }\r\n        \r\n        .etapas-description {\r\n            font-size: 1rem !important;\r\n        }\r\n        \r\n        .etapa-content {\r\n            padding: 1.5rem !important;\r\n        }\r\n        \r\n        .etapa-info-text {\r\n            font-size: 0.9rem !important;\r\n        }\r\n        \r\n        .timeline-container {\r\n            transform: scale(0.8) !important;\r\n        }\r\n    }\r\n    <\/style>\r\n<\/head>\r\n<body>\r\n\r\n<section class=\"as-villas-etapas\">\r\n    <!-- Elementos decorativos -->\r\n    <div class=\"etapas-decoration decoration-circle-1\"><\/div>\r\n    <div class=\"etapas-decoration decoration-circle-2\"><\/div>\r\n    \r\n    <div class=\"etapas-container\">\r\n        <!-- Encabezado de la secci\u00f3n -->\r\n        <div class=\"etapas-header\">\r\n            <div class=\"etapas-badge\">Duas etapas \u00e0 venda<\/div><br>\r\n            <h2 class=\"etapas-title\">Escolhe a tua etapa ideal<\/h2>\r\n            <p class=\"etapas-description\">\r\n                A Fase 4 de As Villas oferece duas etapas de comercializa\u00e7\u00e3o com diferentes op\u00e7\u00f5es de apartamentos. \r\n                Descobre qual se adapta melhor ao teu estilo de vida e \u00e0s tuas necessidades.\r\n            <\/p>\r\n        <\/div>\r\n        \r\n        <!-- Grid de etapas -->\r\n        <div class=\"etapas-grid\">\r\n            <!-- Etapa 1 -->\r\n            <div class=\"etapa-card\">\r\n                <div style=\"position: relative;\">\r\n                    <img decoding=\"async\" src=\"https:\/\/hercesa.pt\/asvillas\/wp-content\/uploads\/2025\/05\/1470_CAM-027_d-Large.jpg\" alt=\"As Villas Etapa 1\" class=\"etapa-image\">\r\n                    <span class=\"etapa-status limited\">\u00daltimas unidades<\/span>\r\n                <\/div>\r\n                <div class=\"etapa-content\">\r\n                    <div class=\"etapa-label\">Fase 4<\/div>\r\n                    <h3 class=\"etapa-name\">Etapa 1<\/h3>\r\n                    <div class=\"etapa-details\">\r\n                        <div class=\"etapa-info-item\">\r\n                            <svg class=\"etapa-info-icon\" 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=\"M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\"><\/path>\r\n                                <polyline points=\"9 22 9 12 15 12 15 22\"><\/polyline>\r\n                            <\/svg>\r\n                            <span class=\"etapa-info-text\">Apenas <span class=\"etapa-highlight\">T3 dispon\u00edveis<\/span><\/span>\r\n                        <\/div>\r\n                        <div class=\"etapa-info-item\">\r\n                            <svg class=\"etapa-info-icon\" 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=\"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z\"><\/path>\r\n                                <circle cx=\"12\" cy=\"10\" r=\"3\"><\/circle>\r\n                            <\/svg>\r\n                            <span class=\"etapa-info-text\">Blocos <span class=\"etapa-highlight\">8.1 e 8.2<\/span><\/span>\r\n                        <\/div>\r\n                        <div class=\"etapa-info-item\">\r\n                            <svg class=\"etapa-info-icon\" 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=\"4\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"><\/rect>\r\n                                <line x1=\"16\" y1=\"2\" x2=\"16\" y2=\"6\"><\/line>\r\n                                <line x1=\"8\" y1=\"2\" x2=\"8\" y2=\"6\"><\/line>\r\n                                <line x1=\"3\" y1=\"10\" x2=\"21\" y2=\"10\"><\/line>\r\n                            <\/svg>\r\n                            <span class=\"etapa-info-text\">Entrega prevista: <span class=\"etapa-highlight\">XXXXX<\/span><\/span>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <a href=\"#unlock\" class=\"etapa-cta\">Ver apartamentos dispon\u00edveis<\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \r\n            <!-- Etapa 2 -->\r\n            <div class=\"etapa-card\">\r\n                <div style=\"position: relative;\">\r\n                    <img decoding=\"async\" src=\"https:\/\/hercesa.pt\/asvillas\/wp-content\/uploads\/2025\/05\/vistas-asvillas.jpg\" alt=\"As Villas Etapa 2\" class=\"etapa-image\">\r\n                    <span class=\"etapa-status new\">Nova etapa<\/span>\r\n                <\/div>\r\n                <div class=\"etapa-content\">\r\n                    <div class=\"etapa-label\">Fase 4<\/div>\r\n                    <h3 class=\"etapa-name\">Etapa 2<\/h3>\r\n                    <div class=\"etapa-details\">\r\n                        <div class=\"etapa-info-item\">\r\n                            <svg class=\"etapa-info-icon\" 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=\"M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\"><\/path>\r\n                                <polyline points=\"9 22 9 12 15 12 15 22\"><\/polyline>\r\n                            <\/svg>\r\n                            <span class=\"etapa-info-text\"><span class=\"etapa-highlight\">T2 e T3<\/span> dispon\u00edveis<\/span>\r\n                        <\/div>\r\n                        <div class=\"etapa-info-item\">\r\n                            <svg class=\"etapa-info-icon\" 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=\"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z\"><\/path>\r\n                                <circle cx=\"12\" cy=\"10\" r=\"3\"><\/circle>\r\n                            <\/svg>\r\n                            <span class=\"etapa-info-text\">Blocos <span class=\"etapa-highlight\">8.3, 8.4, 8.5 e 8.6<\/span><\/span>\r\n                        <\/div>\r\n                        <div class=\"etapa-info-item\">\r\n                            <svg class=\"etapa-info-icon\" 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=\"4\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"><\/rect>\r\n                                <line x1=\"16\" y1=\"2\" x2=\"16\" y2=\"6\"><\/line>\r\n                                <line x1=\"8\" y1=\"2\" x2=\"8\" y2=\"6\"><\/line>\r\n                                <line x1=\"3\" y1=\"10\" x2=\"21\" y2=\"10\"><\/line>\r\n                            <\/svg>\r\n                            <span class=\"etapa-info-text\">Entrega prevista: <span class=\"etapa-highlight\">XXXXXX<\/span><\/span>\r\n                        <\/div>\r\n                    <\/div>\r\n                    <a href=\"#unlock\" class=\"etapa-cta\">Explorar nova etapa<\/a>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/section>\r\n\r\n<\/body>\r\n<\/html>\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=\"pt\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>As Villas - Tipologias com 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        \/* Ocultar tabs horizontales y mostrar desplegable en m\u00f3vil *\/\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\">Apenas dispon\u00edveis apartamentos de 3 quartos<\/div><br>\n            <div class=\"tipologias-subtitle\">TIPOLOGIA<\/div>\n            <h2 class=\"tipologias-title\">Sobre os apartamentos<\/h2>\n            <p class=\"tipologias-description\"> As Villas oferece apartamentos modernos e confort\u00e1veis, concebidos para proporcionar um espa\u00e7o pr\u00f3prio sem abdicar da proximidade a Lisboa. Uma promo\u00e7\u00e3o com 1.200 apartamentos, acabamentos de elevada qualidade e uma localiza\u00e7\u00e3o 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\">Esgotado<\/span>\n            <\/button>\n            <button class=\"etapa-btn active\" data-etapa=\"2\">Etapa 2 <span class=\"badge\">Nova<\/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\">T1<\/div>\n            <div class=\"tipologia-tab hidden\" data-type=\"t2\">T2<\/div>\n            <div class=\"tipologia-tab active\" data-type=\"t3-t4\">T3<\/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=\"Selecionar tipologia\">\n                <span class=\"dropdown-selected\">3 Quartos<\/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 Quarto<\/div>\n                <div class=\"tipologias-dropdown-item hidden\" data-type=\"t2\">2 Quartos<\/div>\n                <div class=\"tipologias-dropdown-item active\" data-type=\"t3-t4\">3 Quartos<\/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\">Dimens\u00f5es<\/h3>\n                <div class=\"caracteristica-destacado\">125-133 m\u00b2<\/div>\n                <p class=\"caracteristica-texto\">Espa\u00e7os vers\u00e1teis e funcionais cuidadosamente planejados para maximizar o conforto.<\/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\">Pre\u00e7o a partir de<\/h3>\n                <div class=\"caracteristica-destacado\">534.000 \u20ac<\/div>\n                <p class=\"caracteristica-texto\">Investimento que combina qualidade, localiza\u00e7\u00e3o privilegiada e valor duradouro.<\/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\">Tipologia<\/h3>\n                <div class=\"caracteristica-destacado\">3 Quartos<\/div>\n                <p class=\"caracteristica-texto\">Apartamentos T3 espa\u00e7osos da nova etapa, com terra\u00e7os amplos e 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\">Equipamento<\/h3>\n                <div class=\"caracteristica-destacado\">Premium<\/div>\n                <p class=\"caracteristica-texto\">Cozinhas equipadas com eletrodom\u00e9sticos de alta efici\u00eancia energ\u00e9tica (A) e acabamentos de luxo.<\/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\">Terra\u00e7o<\/h3>\n                <div class=\"caracteristica-destacado\">Inclu\u00eddo<\/div>\n                <p class=\"caracteristica-texto\">Amplos terra\u00e7os privativos para desfrutar da luz natural e 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\">Estacionamento e Arrecada\u00e7\u00e3o<\/h3>\n                <div class=\"caracteristica-destacado\">1-2 Lugares<\/div>\n                <p class=\"caracteristica-texto\">Um ou dois lugares de estacionamento privativos inclu\u00eddos conforme a tipologia, com arrecada\u00e7\u00e3o.<\/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 Quartos',\n                    tipologiaTexto: 'Apartamentos T3 espa\u00e7osos com amplos terra\u00e7os, ideais para fam\u00edlias.',\n                    estacionamento: '1-2 Lugares',\n                    estacionamentoTexto: 'Um ou dois lugares de estacionamento privativos inclu\u00eddos conforme a tipologia, com arrecada\u00e7\u00e3o.',\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 Quartos',\n                    tipologiaTexto: 'Apartamentos T3 espa\u00e7osos da nova etapa, com terra\u00e7os amplos e vistas deslumbrantes.',\n                    estacionamento: '1-2 Lugares',\n                    estacionamentoTexto: 'Um ou dois lugares de estacionamento privativos inclu\u00eddos conforme a tipologia, com arrecada\u00e7\u00e3o.',\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 = 'T3';\n            t3t4DropdownItem.textContent = '3 Quartos';\n            if (tipoActual === 't3-t4') {\n                dropdownSelected.textContent = '3 Quartos';\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 Quartos';\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 *\/\n    .as-villas-gallery {\n        position: relative !important;\n        width: 100% !important;\n        height: 60vh !important;\n        overflow: hidden !important;\n    }\n    .gallery-slides {\n        position: relative !important;\n        width: 100% !important;\n        height: 100% !important;\n        overflow: hidden !important;\n        touch-action: pan-y !important;\n    }\n    .gallery-slide {\n        position: absolute !important;\n        top: 0 !important;\n        left: 0 !important;\n        width: 100% !important;\n        height: 100% !important;\n        opacity: 0 !important;\n        transition: opacity 0.8s ease !important;\n        z-index: 1 !important;\n        overflow: hidden !important;\n    }\n    .gallery-slide.active {\n        opacity: 1 !important;\n        z-index: 2 !important;\n    }\n    .gallery-image {\n        position: absolute !important;\n        top: 0 !important;\n        left: 0 !important;\n        width: 100% !important;\n        height: 100% !important;\n        object-fit: cover !important;\n        object-position: center !important;\n        display: block !important;\n        max-width: none !important;\n        min-height: 100% !important;\n    }\n    .gallery-overlay {\n        position: absolute !important;\n        bottom: 0 !important;\n        left: 0 !important;\n        width: 100% !important;\n        height: 70% !important;\n        background: linear-gradient(to top, \n            rgba(0, 0, 0, 0.8) 0%, \n            rgba(0, 0, 0, 0.7) 20%,\n            rgba(0, 0, 0, 0.5) 40%,\n            rgba(0, 0, 0, 0.3) 60%,\n            rgba(0, 0, 0, 0) 100%) !important;\n        z-index: 2 !important;\n    }\n    .gallery-text {\n        position: absolute !important;\n        bottom: 25px !important;\n        left: 0 !important;\n        z-index: 3 !important;\n        padding: 0 10% 0 10% !important;\n        width: 60% !important;\n        color: white !important;\n    }\n    .gallery-title {\n        font-size: 2.5rem !important;\n        font-weight: 600 !important;\n        margin-bottom: 1rem !important;\n        line-height: 1.2 !important;\n        text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !important;\n    }\n    .gallery-description {\n        font-size: 1.1rem !important;\n        line-height: 1.5 !important;\n        opacity: 0.95 !important;\n        max-width: 90% !important;\n        text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) !important;\n    }\n    .gallery-nav-button {\n        position: absolute;\n        top: 50%;\n        transform: translateY(-50%);\n        width: 50px;\n        height: 50px;\n        background-color: rgba(255, 255, 255, 0.8);\n        border: none;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        cursor: pointer;\n        z-index: 10;\n        transition: all 0.3s ease;\n    }\n    .gallery-nav-button:hover { background-color: #FED56F; }\n    .gallery-prev { left: 30px; }\n    .gallery-next { right: 30px; }\n    .gallery-nav-button svg { width: 24px; height: 24px; stroke: #1a1a1a; }\n    .gallery-indicators {\n        position: absolute;\n        bottom: 30px;\n        right: 10%;\n        display: flex;\n        gap: 10px;\n        z-index: 10;\n    }\n    .gallery-indicator {\n        width: 10px;\n        height: 10px;\n        border-radius: 50%;\n        background-color: rgba(255, 255, 255, 0.5);\n        cursor: pointer;\n        transition: all 0.3s ease;\n    }\n    .gallery-indicator.active { background-color: #FED56F; transform: scale(1.2); }\n    .gallery-counter {\n        position: absolute;\n        top: 30px;\n        right: 10%;\n        color: white;\n        font-size: 0.9rem;\n        z-index: 10;\n        display: flex;\n        align-items: center;\n        gap: 5px;\n    }\n    .gallery-counter-divider {\n        width: 20px;\n        height: 1px;\n        background-color: rgba(255, 255, 255, 0.6);\n        margin: 0 5px;\n    }\n    .gallery-link {\n        display: inline-block;\n        margin-top: 2rem;\n        color: white;\n        text-decoration: none;\n        padding-bottom: 5px;\n        border-bottom: 2px solid #FED56F;\n        font-size: 0.9rem;\n        font-weight: 500;\n        letter-spacing: 1px;\n        text-transform: uppercase;\n        transition: all 0.3s ease;\n    }\n    .gallery-link:hover { color: #FED56F; }\n    @media (max-width: 992px) {\n        .gallery-text { width: 70%; padding: 3rem 5% 3rem 5%; }\n        .gallery-title { font-size: 2rem; }\n    }\n    @media (max-width: 768px) {\n        .as-villas-gallery { height: 70vh !important; }\n        .gallery-text { width: 90% !important; padding: 0 5% 0 5% !important; bottom: 20px !important; }\n        .gallery-title { font-size: 1.5rem !important; margin-bottom: 0.6rem !important; }\n        .gallery-description { font-size: 0.9rem !important; line-height: 1.3 !important; display: -webkit-box !important; -webkit-line-clamp: 3 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; }\n        .gallery-link { margin-top: 0.8rem !important; font-size: 0.8rem !important; }\n        .gallery-nav-button { display: none !important; }\n        .gallery-indicators { bottom: 15px !important; right: 10% !important; left: auto !important; justify-content: flex-end !important; }\n        .gallery-indicator { width: 12px !important; height: 12px !important; }\n        .gallery-counter { top: 15px !important; right: 5% !important; font-size: 0.8rem !important; }\n    }\n<\/style>\n\n<section class=\"as-villas-gallery\">\n    <div class=\"gallery-slides\">\n\n        <div class=\"gallery-slide active\" data-index=\"1\">\n            <img decoding=\"async\" src=\"https:\/\/hercesa.pt\/asvillas\/wp-content\/uploads\/2025\/05\/terrazas-asvillas.jpg\" alt=\"Terra\u00e7o amplo com vistas panor\u00e2micas apartamento As Villas Loures Lisboa\" class=\"gallery-image\">\n            <div class=\"gallery-overlay\"><\/div>\n            <div class=\"gallery-text\">\n                <h2 class=\"gallery-title\">Terra\u00e7os amplos com vistas panor\u00e2micas<\/h2>\n                <p class=\"gallery-description\">Todos os apartamentos disp\u00f5em de amplos terra\u00e7os que convidam a desfrutar da paisagem envolvente e do clima privilegiado de Lisboa durante todo o ano.<\/p>\n                <a href=\"#unlock\" class=\"gallery-link\">Saber mais<\/a>\n            <\/div>\n        <\/div>\n\n        <div class=\"gallery-slide\" data-index=\"2\">\n            <img decoding=\"async\" src=\"https:\/\/hercesa.pt\/asvillas\/wp-content\/uploads\/2025\/05\/interior-premium.jpg\" alt=\"Interior premium apartamento 3 quartos As Villas Loures Lisboa\" class=\"gallery-image\">\n            <div class=\"gallery-overlay\"><\/div>\n            <div class=\"gallery-text\">\n                <h2 class=\"gallery-title\">Interiores exclusivos com acabamentos premium<\/h2>\n                <p class=\"gallery-description\">Projetados para garantir privacidade, tranquilidade e aten\u00e7\u00e3o ao detalhe, com materiais de elevada qualidade, onde a luz natural assume um papel de destaque, criando ambientes acolhedores e sofisticados.<\/p>\n                <a href=\"#unlock\" class=\"gallery-link\">Saber mais<\/a>\n            <\/div>\n        <\/div>\n\n        <div class=\"gallery-slide\" data-index=\"3\">\n            <img decoding=\"async\" src=\"https:\/\/hercesa.pt\/asvillas\/wp-content\/uploads\/2025\/05\/vistas-asvillas.jpg\" alt=\"Vista exterior urbaniza\u00e7\u00e3o privada As Villas V\u00e1rzea de Loures Lisboa\" class=\"gallery-image\">\n            <div class=\"gallery-overlay\"><\/div>\n            <div class=\"gallery-text\">\n                <h2 class=\"gallery-title\">Localiza\u00e7\u00e3o privilegiada \u00e0s portas de Lisboa<\/h2>\n                <p class=\"gallery-description\">Estrategicamente posicionado para oferecer o equil\u00edbrio perfeito entre tranquilidade e proximidade a todas as comodidades e servi\u00e7os da cidade.<\/p>\n                <a href=\"#unlock\" class=\"gallery-link\">Saber mais<\/a>\n            <\/div>\n        <\/div>\n\n    <\/div>\n\n    <div class=\"gallery-counter\">\n        <span class=\"gallery-current\">01<\/span>\n        <span class=\"gallery-counter-divider\"><\/span>\n        <span class=\"gallery-total\">03<\/span>\n    <\/div>\n\n    <div class=\"gallery-indicators\">\n        <div class=\"gallery-indicator active\" data-slide=\"0\"><\/div>\n        <div class=\"gallery-indicator\" data-slide=\"1\"><\/div>\n        <div class=\"gallery-indicator\" data-slide=\"2\"><\/div>\n    <\/div>\n\n    <button class=\"gallery-nav-button gallery-prev\">\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\"><polyline points=\"15 18 9 12 15 6\"><\/polyline><\/svg>\n    <\/button>\n    <button class=\"gallery-nav-button gallery-next\">\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\"><polyline points=\"9 18 15 12 9 6\"><\/polyline><\/svg>\n    <\/button>\n<\/section>\n\n<script>\ndocument.addEventListener('DOMContentLoaded', function() {\n    const slides = document.querySelectorAll('.gallery-slide');\n    const indicators = document.querySelectorAll('.gallery-indicator');\n    const prevButton = document.querySelector('.gallery-prev');\n    const nextButton = document.querySelector('.gallery-next');\n    const currentCounter = document.querySelector('.gallery-current');\n    const totalCounter = document.querySelector('.gallery-total');\n    const slidesContainer = document.querySelector('.gallery-slides');\n    let currentSlide = 0;\n    const totalSlides = slides.length;\n    let touchStartX = 0;\n    let touchEndX = 0;\n    totalCounter.textContent = totalSlides.toString().padStart(2, '0');\n    function showSlide(index) {\n        slides.forEach(slide => slide.classList.remove('active'));\n        indicators.forEach(indicator => indicator.classList.remove('active'));\n        slides[index].classList.add('active');\n        indicators[index].classList.add('active');\n        currentCounter.textContent = (index + 1).toString().padStart(2, '0');\n        currentSlide = index;\n    }\n    prevButton.addEventListener('click', function() { showSlide((currentSlide - 1 + totalSlides) % totalSlides); });\n    nextButton.addEventListener('click', function() { showSlide((currentSlide + 1) % totalSlides); });\n    indicators.forEach((indicator, index) => { indicator.addEventListener('click', function() { showSlide(index); }); });\n    slidesContainer.addEventListener('touchstart', function(e) { touchStartX = e.changedTouches[0].screenX; }, { passive: true });\n    slidesContainer.addEventListener('touchend', function(e) {\n        touchEndX = e.changedTouches[0].screenX;\n        const swipeDistance = touchEndX - touchStartX;\n        if (swipeDistance > 50) { showSlide((currentSlide - 1 + totalSlides) % totalSlides); }\n        else if (swipeDistance < -50) { showSlide((currentSlide + 1) % totalSlides); }\n    }, { passive: true });\n    showSlide(0);\n});\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\">Conhe\u00e7a nossos<\/div>\r\n            <h2 class=\"caracteristicas-title\">Diferenciais Exclusivos<\/h2>\r\n            <p class=\"caracteristicas-description\">\r\n                Cada detalhe foi pensado para quem valoriza a tranquilidade e procura um lar que responde exatamente \u00e0s suas necessidades.\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\">Terra\u00e7os<\/h3>\r\n                <p class=\"feature-description\">\r\n                    Apartamentos com amplos terra\u00e7os\r\n                <\/p>\r\n            <\/div>\r\n            \r\n            <!-- Caracter\u00edstica 2: A 15 Min de Lisboa (modificada) -->\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                    Em Loures, bem conectada por IC22, metro e transportes p\u00fablicos. Desenvolvimento em crescimento com nova linha 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 e Sustent\u00e1vel<\/h3>\r\n                <p class=\"feature-description\">\r\n                    Eletrodom\u00e9sticos e ar condicionado com bomba de calor para otimizar 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\">Personaliz\u00e1vel<\/h3>\r\n                <p class=\"feature-description\">\r\n                    Mais de 200 combina\u00e7\u00f5es de acabamentos sem custos adicionais\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\">Espa\u00e7o de Coworking<\/h3>\r\n                <p class=\"feature-description\">\r\n                    A sala de condom\u00ednio tem internet e tomadas, ideal para trabalho 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\">Garantia<\/h3>\r\n                <p class=\"feature-description\">\r\n                    Comercializa\u00e7\u00e3o pr\u00f3pria e facilidade de pagamento\r\n                <\/p>\r\n            <\/div>\r\n            \r\n            <!-- Caracter\u00edstica 7: Certifica\u00e7\u00e3o Energ\u00e9tica A+ (nueva) -->\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\">Certifica\u00e7\u00e3o Energ\u00e9tica A<\/h3>\r\n                <p class=\"feature-description\">\r\n                    M\u00e1xima efici\u00eancia energ\u00e9tica com isolamento t\u00e9rmico superior e sistemas de climatiza\u00e7\u00e3o otimizados para reduzir consumos e emiss\u00f5es\r\n                <\/p>\r\n            <\/div>\r\n            \r\n            <!-- Caracter\u00edstica 8: Condom\u00ednio Privado (nueva) -->\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\">Condom\u00ednio Privado<\/h3>\r\n                <p class=\"feature-description\">\r\n                    Piscina, jardins, parque infantil e sala comunit\u00e1ria em ambiente seguro e exclusivo para moradores\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 localizaci\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; \/* Reducido el padding *\/\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; \/* Reducido el margen inferior *\/\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; \/* Reducido el padding lateral *\/\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; \/* Reducido el espacio 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; \/* Reducido el padding *\/\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; \/* Reducido espacio *\/\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\">Tudo o que precisa \u00e0 sua porta em 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: Metro Futura Linha Violeta -->\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 Esta\u00e7\u00e3o 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\">mins a p\u00e9<\/div>\r\n                        <div class=\"proximity-place\">Futura Esta\u00e7\u00e3o 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\/08\/loures-shopping-new.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\">mins de carro<\/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\">mins de carro<\/div>\r\n                        <div class=\"proximity-place\">Hospital Beatriz \u00c2ngelo<\/div>\r\n                    <\/div>\r\n                <\/div>\r\n                \r\n                <!-- Slide 4: Escolas -->\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\/08\/loures-escola.png\" alt=\"Escolas 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\">mins a p\u00e9<\/div>\r\n                        <div class=\"proximity-place\">Escolas e Infant\u00e1rios<\/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=\"Autoestrada IC22\" class=\"proximity-image\">\r\n                    <div class=\"proximity-info\">\r\n                        <div class=\"proximity-time\">5<\/div>\r\n                        <div class=\"proximity-unit\">mins de carro<\/div>\r\n                        <div class=\"proximity-place\">Autoestrada 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\">mins a p\u00e9<\/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\">mins de carro<\/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\">mins a p\u00e9<\/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>\u03a9\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-128c736 elementor-widget elementor-widget-shortcode\" data-id=\"128c736\" 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\/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\">Desbloqueia toda a informa\u00e7\u00e3o<\/h2>\r\n            <p class=\"contact-description\">\r\n                Complete o formul\u00e1rio abaixo para receber informa\u00e7\u00f5es detalhadas sobre as unidades dispon\u00edveis, planos de pagamento e marcar uma visita personalizada.\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-272\"><form id=\"wpforms-form-272\" class=\"wpforms-validate wpforms-form wpforms-ajax-form\" data-formid=\"272\" method=\"post\" enctype=\"multipart\/form-data\" action=\"\/asvillas\/wp-json\/wp\/v2\/pages\/7\" data-token=\"7f4df4c7bd445ccc7e0e776f8650baf5\" data-token-time=\"1785235973\"><noscript class=\"wpforms-error-noscript\">Please enable JavaScript in your browser to complete this form.<\/noscript><div class=\"wpforms-hidden\" id=\"wpforms-error-noscript\">Please enable JavaScript in your browser to complete this form.<\/div><div class=\"wpforms-field-container\"><div id=\"wpforms-272-field_47-container\" class=\"wpforms-field wpforms-field-layout\" data-field-id=\"47\"><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-272-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-272-field_34\" aria-hidden=\"false\">DISC Azul<\/label><input type=\"text\" id=\"wpforms-272-field_34\" class=\"wpforms-field-medium\" name=\"wpforms[fields][34]\" value=\"C\" aria-errormessage=\"wpforms-272-field_34-error\" ><\/div><\/div><div class=\"wpforms-layout-column wpforms-layout-column-25\"><div id=\"wpforms-272-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-272-field_31\" aria-hidden=\"false\">DISC Rojo<\/label><input type=\"text\" id=\"wpforms-272-field_31\" class=\"wpforms-field-medium\" name=\"wpforms[fields][31]\" value=\"D\" aria-errormessage=\"wpforms-272-field_31-error\" ><\/div><\/div><div class=\"wpforms-layout-column wpforms-layout-column-25\"><div id=\"wpforms-272-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-272-field_33\" aria-hidden=\"false\">DISC Verde<\/label><input type=\"text\" id=\"wpforms-272-field_33\" class=\"wpforms-field-medium\" name=\"wpforms[fields][33]\" value=\"S\" aria-errormessage=\"wpforms-272-field_33-error\" ><\/div><\/div><div class=\"wpforms-layout-column wpforms-layout-column-25\"><div id=\"wpforms-272-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-272-field_32\" aria-hidden=\"false\">DISC Amarillo<\/label><input type=\"text\" id=\"wpforms-272-field_32\" class=\"wpforms-field-medium\" name=\"wpforms[fields][32]\" value=\"I\" aria-errormessage=\"wpforms-272-field_32-error\" ><\/div><\/div><\/div><\/div><\/div><div id=\"wpforms-272-field_46-container\" class=\"wpforms-field wpforms-field-layout\" data-field-id=\"46\"><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-272-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-272-field_25\" aria-hidden=\"false\">LMP Inversor Nacional<\/label><input type=\"text\" id=\"wpforms-272-field_25\" class=\"wpforms-field-medium\" name=\"wpforms[fields][25]\" value=\"a29e527f-faa2-4b2e-99d7-eef0a785447c\" aria-errormessage=\"wpforms-272-field_25-error\" ><\/div><\/div><div class=\"wpforms-layout-column wpforms-layout-column-25\"><div id=\"wpforms-272-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-272-field_26\" aria-hidden=\"false\">LMP Pareja Joven en Reposici\u00f3n<\/label><input type=\"text\" id=\"wpforms-272-field_26\" class=\"wpforms-field-medium\" name=\"wpforms[fields][26]\" value=\"7f79abc3-3c3a-40b1-8b07-863245a2b24a\" aria-errormessage=\"wpforms-272-field_26-error\" ><\/div><\/div><div class=\"wpforms-layout-column wpforms-layout-column-25\"><div id=\"wpforms-272-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-272-field_27\" aria-hidden=\"false\">LMP Familia Profesional Local<\/label><input type=\"text\" id=\"wpforms-272-field_27\" class=\"wpforms-field-medium\" name=\"wpforms[fields][27]\" value=\"50a47758-0c7d-4aeb-8be0-809d0d5ae5e2\" aria-errormessage=\"wpforms-272-field_27-error\" ><\/div><\/div><div class=\"wpforms-layout-column wpforms-layout-column-25\"><div id=\"wpforms-272-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-272-field_28\" aria-hidden=\"false\">LMP Soltero Urbano Consolidado<\/label><input type=\"text\" id=\"wpforms-272-field_28\" class=\"wpforms-field-medium\" name=\"wpforms[fields][28]\" value=\"a955f793-30d2-4c39-94d4-058fba709e76\" aria-errormessage=\"wpforms-272-field_28-error\" ><\/div><\/div><\/div><div class=\"wpforms-layout-row\"><div class=\"wpforms-layout-column wpforms-layout-column-25\"><div id=\"wpforms-272-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-272-field_29\" aria-hidden=\"false\">LMP Comprador Extranjero Semiresidente<\/label><input type=\"text\" id=\"wpforms-272-field_29\" class=\"wpforms-field-medium\" name=\"wpforms[fields][29]\" value=\"6bbc8a8a-9717-455f-a5e2-41be39bf05d9\" aria-errormessage=\"wpforms-272-field_29-error\" ><\/div><\/div><div class=\"wpforms-layout-column wpforms-layout-column-25\"><\/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-272-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-272-field_48-container\" class=\"wpforms-field wpforms-field-text oculto-form\" data-field-id=\"48\"><label class=\"wpforms-field-label wpforms-label-hide\" for=\"wpforms-272-field_48\" aria-hidden=\"false\">utm_source<\/label><input type=\"text\" id=\"wpforms-272-field_48\" class=\"wpforms-field-medium\" name=\"wpforms[fields][48]\" aria-errormessage=\"wpforms-272-field_48-error\" ><\/div><\/div><div class=\"wpforms-layout-column wpforms-layout-column-25\"><div id=\"wpforms-272-field_49-container\" class=\"wpforms-field wpforms-field-text oculto-form\" data-field-id=\"49\"><label class=\"wpforms-field-label wpforms-label-hide\" for=\"wpforms-272-field_49\" aria-hidden=\"false\">utm_medium<\/label><input type=\"text\" id=\"wpforms-272-field_49\" class=\"wpforms-field-medium\" name=\"wpforms[fields][49]\" aria-errormessage=\"wpforms-272-field_49-error\" ><\/div><\/div><div class=\"wpforms-layout-column wpforms-layout-column-25\"><div id=\"wpforms-272-field_50-container\" class=\"wpforms-field wpforms-field-text oculto-form\" data-field-id=\"50\"><label class=\"wpforms-field-label wpforms-label-hide\" for=\"wpforms-272-field_50\" aria-hidden=\"false\">utm_campaign<\/label><input type=\"text\" id=\"wpforms-272-field_50\" class=\"wpforms-field-medium\" name=\"wpforms[fields][50]\" aria-errormessage=\"wpforms-272-field_50-error\" ><\/div><\/div><div class=\"wpforms-layout-column wpforms-layout-column-25\"><div id=\"wpforms-272-field_51-container\" class=\"wpforms-field wpforms-field-text oculto-form\" data-field-id=\"51\"><label class=\"wpforms-field-label wpforms-label-hide\" for=\"wpforms-272-field_51\" aria-hidden=\"false\">utm_term<\/label><input type=\"text\" id=\"wpforms-272-field_51\" class=\"wpforms-field-medium\" name=\"wpforms[fields][51]\" aria-errormessage=\"wpforms-272-field_51-error\" ><\/div><\/div><\/div><div class=\"wpforms-layout-row\"><div class=\"wpforms-layout-column wpforms-layout-column-25\"><div id=\"wpforms-272-field_45-container\" class=\"wpforms-field wpforms-field-text oculto-form\" data-field-id=\"45\"><label class=\"wpforms-field-label wpforms-label-hide\" for=\"wpforms-272-field_45\" aria-hidden=\"false\">Origen<\/label><input type=\"text\" id=\"wpforms-272-field_45\" class=\"wpforms-field-medium\" name=\"wpforms[fields][45]\" aria-errormessage=\"wpforms-272-field_45-error\" ><\/div><\/div><div class=\"wpforms-layout-column wpforms-layout-column-25\"><div id=\"wpforms-272-field_54-container\" class=\"wpforms-field wpforms-field-text oculto-form\" data-field-id=\"54\"><label class=\"wpforms-field-label wpforms-label-hide\" for=\"wpforms-272-field_54\" aria-hidden=\"false\">tracker_lead_created<\/label><input type=\"text\" id=\"wpforms-272-field_54\" class=\"wpforms-field-medium\" name=\"wpforms[fields][54]\" value=\"1\" aria-errormessage=\"wpforms-272-field_54-error\" ><\/div><\/div><div class=\"wpforms-layout-column wpforms-layout-column-25\"><div id=\"wpforms-272-field_53-container\" class=\"wpforms-field wpforms-field-text oculto-form\" data-field-id=\"53\"><label class=\"wpforms-field-label wpforms-label-hide\" for=\"wpforms-272-field_53\" aria-hidden=\"false\">Stage<\/label><input type=\"text\" id=\"wpforms-272-field_53\" class=\"wpforms-field-medium\" name=\"wpforms[fields][53]\" value=\"PULSE\" aria-errormessage=\"wpforms-272-field_53-error\" ><\/div><\/div><div class=\"wpforms-layout-column wpforms-layout-column-25\"><div id=\"wpforms-272-field_52-container\" class=\"wpforms-field wpforms-field-text oculto-form\" data-field-id=\"52\"><label class=\"wpforms-field-label wpforms-label-hide\" for=\"wpforms-272-field_52\" aria-hidden=\"false\">utm_content<\/label><input type=\"text\" id=\"wpforms-272-field_52\" class=\"wpforms-field-medium\" name=\"wpforms[fields][52]\" aria-errormessage=\"wpforms-272-field_52-error\" ><\/div><\/div><\/div><\/div><\/div><div id=\"wpforms-272-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-272-field_39\" aria-hidden=\"false\">Language<\/label><input type=\"text\" id=\"wpforms-272-field_39\" class=\"wpforms-field-large\" name=\"wpforms[fields][39]\" value=\"Portugues\" aria-errormessage=\"wpforms-272-field_39-error\" ><\/div><div id=\"wpforms-272-field_41-container\" class=\"wpforms-field wpforms-field-select wpforms-field-select-style-classic\" data-field-id=\"41\"><label class=\"wpforms-field-label\" for=\"wpforms-272-field_41\">Que tipologia de apartamento est\u00e1 interessado? <span class=\"wpforms-required-label\" aria-hidden=\"true\">*<\/span><\/label><select id=\"wpforms-272-field_41\" class=\"wpforms-field-large wpforms-field-required\" name=\"wpforms[fields][41]\" required=\"required\"><option value=\"\" class=\"placeholder\" disabled  selected='selected'>Quartos...<\/option><option value=\"3 Quartos\" >3 Quartos<\/option><option value=\"2 Quartos\" >2 Quartos<\/option><\/select><\/div><div id=\"wpforms-272-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-272-field_2\">Qual \u00e9 a sua principal motiva\u00e7\u00e3o para procurar uma nova casa? <span class=\"wpforms-required-label\" aria-hidden=\"true\">*<\/span><\/label><select id=\"wpforms-272-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 uma casa confort\u00e1vel e tranquila onde a nossa fam\u00edlia possa crescer.\" >Queremos uma casa confort\u00e1vel e tranquila onde a nossa fam\u00edlia possa crescer.<\/option><option value=\"\u00c9 a nossa primeira casa: estamos a tentar come\u00e7ar com algo que fa\u00e7a sentido e tenha futuro.\" >\u00c9 a nossa primeira casa: estamos a tentar come\u00e7ar com algo que fa\u00e7a sentido e tenha futuro.<\/option><option value=\"Eu moro fora, e quero um s\u00edtio acolhedor para desfrutar quando estou em Portugal, sem complica\u00e7\u00f5es.\" >Eu moro fora, e quero um s\u00edtio acolhedor para desfrutar quando estou em Portugal, sem complica\u00e7\u00f5es.<\/option><option value=\"Procuro um investimento seguro, com boa rentabilidade e potencial de valoriza\u00e7\u00e3o.\" >Procuro um investimento seguro, com boa rentabilidade e potencial de valoriza\u00e7\u00e3o.<\/option><option value=\"Procuro um espa\u00e7o pr\u00e1tico, bem localizado e adaptado ao meu estilo de vida atual.\" >Procuro um espa\u00e7o pr\u00e1tico, bem localizado e adaptado ao meu estilo de vida atual.<\/option><\/select><\/div><div id=\"wpforms-272-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-272-field_3\">Qual destas vis\u00f5es o descreve melhor? <span class=\"wpforms-required-label\" aria-hidden=\"true\">*<\/span><\/label><select id=\"wpforms-272-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=\"Gosto de tomar decis\u00f5es r\u00e1pidas e de resolver problemas\" >Gosto de tomar decis\u00f5es r\u00e1pidas e de resolver problemas<\/option><option value=\"Estou interessado em compreender bem as op\u00e7\u00f5es antes de tomar uma decis\u00e3o\" >Estou interessado em compreender bem as op\u00e7\u00f5es antes de tomar uma decis\u00e3o<\/option><option value=\"Gosto de explorar novas ideias e de ser criativo\" >Gosto de explorar novas ideias e de ser criativo<\/option><option value=\"Prefiro seguir m\u00e9todos experimentados e testados e manter a estabilidade.\" >Prefiro seguir m\u00e9todos experimentados e testados e manter a estabilidade.<\/option><\/select><\/div><div id=\"wpforms-272-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-272-field_6-container\" class=\"wpforms-field wpforms-field-name\" data-field-id=\"6\"><label class=\"wpforms-field-label\" for=\"wpforms-272-field_6\">O seu nome <span class=\"wpforms-required-label\" aria-hidden=\"true\">*<\/span><\/label><input type=\"text\" id=\"wpforms-272-field_6\" class=\"wpforms-field-medium wpforms-field-required\" name=\"wpforms[fields][6]\" aria-errormessage=\"wpforms-272-field_6-error\" required><\/div><\/div><div class=\"wpforms-layout-column wpforms-layout-column-50\"><div id=\"wpforms-272-field_8-container\" class=\"wpforms-field wpforms-field-text\" data-field-id=\"8\"><label class=\"wpforms-field-label\" for=\"wpforms-272-field_8\">Apelido <span class=\"wpforms-required-label\" aria-hidden=\"true\">*<\/span><\/label><input type=\"text\" id=\"wpforms-272-field_8\" class=\"wpforms-field-medium wpforms-field-required\" name=\"wpforms[fields][8]\" aria-errormessage=\"wpforms-272-field_8-error\" required><\/div><\/div><\/div><div class=\"wpforms-layout-row\"><div class=\"wpforms-layout-column wpforms-layout-column-50\"><div id=\"wpforms-272-field_9-container\" class=\"wpforms-field wpforms-field-phone\" data-field-id=\"9\"><label class=\"wpforms-field-label\" for=\"wpforms-272-field_9\">Telefone <span class=\"wpforms-required-label\" aria-hidden=\"true\">*<\/span><\/label><input type=\"tel\" id=\"wpforms-272-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=\"Telefone\" aria-errormessage=\"wpforms-272-field_9-error\" required><\/div><\/div><div class=\"wpforms-layout-column wpforms-layout-column-50\"><div id=\"wpforms-272-field_15-container\" class=\"wpforms-field wpforms-field-email\" data-field-id=\"15\"><label class=\"wpforms-field-label\" for=\"wpforms-272-field_15\">E-mail <span class=\"wpforms-required-label\" aria-hidden=\"true\">*<\/span><\/label><input type=\"email\" id=\"wpforms-272-field_15\" class=\"wpforms-field-medium wpforms-field-required\" name=\"wpforms[fields][15]\" spellcheck=\"false\" aria-errormessage=\"wpforms-272-field_15-error\" required><\/div><\/div><\/div><\/div><\/div><div id=\"wpforms-272-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-272-field_38\">Onde reside atualmente? <span class=\"wpforms-required-label\" aria-hidden=\"true\">*<\/span><\/label><select id=\"wpforms-272-field_38\" class=\"wpforms-field-large wpforms-field-required\" name=\"wpforms[fields][38]\" required=\"required\"><option value=\"Em Loures ou arredores\" >Em Loures ou arredores<\/option><option value=\"Na zona de Lisboa (Lisboa, Odivelas, Amadora...)\" >Na zona de Lisboa (Lisboa, Odivelas, Amadora...)<\/option><option value=\"Noutra zona de Portugal\" >Noutra zona de Portugal<\/option><option value=\"Fora de Portugal\" >Fora de Portugal<\/option><\/select><\/div><div id=\"wpforms-272-field_42-container\" class=\"wpforms-field wpforms-field-select wpforms-field-select-style-classic\" data-field-id=\"42\"><label class=\"wpforms-field-label wpforms-label-hide\" for=\"wpforms-272-field_42\" aria-hidden=\"false\">Edad <span class=\"wpforms-required-label\" aria-hidden=\"true\">*<\/span><\/label><select id=\"wpforms-272-field_42\" class=\"wpforms-field-large wpforms-field-required\" name=\"wpforms[fields][42]\" required=\"required\"><option value=\"\" class=\"placeholder\" disabled  selected='selected'>Indique a sua idade *<\/option><option value=\"Menos de 35\" >Menos de 35<\/option><option value=\"Entre 35 e 45\" >Entre 35 e 45<\/option><option value=\"Entre 45 e 60\" >Entre 45 e 60<\/option><option value=\"Mais de 60\" >Mais de 60<\/option><\/select><\/div>\t\t<div id=\"wpforms-272-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-272-field_1\" >Joven Origen DISC<\/label>\n\t\t\t<input type=\"text\" id=\"wpforms-272-field_1\" class=\"wpforms-field-medium\" name=\"wpforms[fields][1]\" >\n\t\t<\/div>\n\t\t<div id=\"wpforms-272-field_43-container\" class=\"wpforms-field wpforms-field-checkbox\" data-field-id=\"43\"><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-272-field_43\" class=\"wpforms-field-required\"><li class=\"choice-1 depth-1\"><input type=\"checkbox\" id=\"wpforms-272-field_43_1\" name=\"wpforms[fields][43][]\" value=\"Consinto expressamente o tratamento dos meus dados pessoais para o envio de informa\u00e7\u00f5es\" aria-errormessage=\"wpforms-272-field_43_1-error\" aria-describedby=\"wpforms-272-field_43-description\" required ><label class=\"wpforms-field-label-inline\" for=\"wpforms-272-field_43_1\">Consinto expressamente o tratamento dos meus dados pessoais para o envio de informa\u00e7\u00f5es<\/label><\/li><\/ul><div id=\"wpforms-272-field_43-description\" class=\"wpforms-field-description\"><a href=\"https:\/\/asvillas.evoost.ai\/lopd\/\">Ver mais<\/a><\/div><\/fieldset><\/div><div id=\"wpforms-272-field_44-container\" class=\"wpforms-field wpforms-field-checkbox\" data-field-id=\"44\"><fieldset><legend class=\"wpforms-field-label wpforms-label-hide\" aria-hidden=\"false\">Comm<\/legend><ul id=\"wpforms-272-field_44\"><li class=\"choice-1 depth-1\"><input type=\"checkbox\" id=\"wpforms-272-field_44_1\" name=\"wpforms[fields][44][]\" value=\"Consinto expressamente o tratamento dos meus dados para comunica\u00e7\u00f5es comerciais\" aria-errormessage=\"wpforms-272-field_44_1-error\" aria-describedby=\"wpforms-272-field_44-description\"  ><label class=\"wpforms-field-label-inline\" for=\"wpforms-272-field_44_1\">Consinto expressamente o tratamento dos meus dados para comunica\u00e7\u00f5es comerciais<\/label><\/li><\/ul><div id=\"wpforms-272-field_44-description\" class=\"wpforms-field-description\"><a href=\"https:\/\/asvillas.evoost.ai\/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-272-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-272-field_1-container input { visibility: hidden; } #wpforms-conversational-form-page #wpforms-272-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=\"272\"><input type=\"hidden\" name=\"page_title\" value=\"\"><input type=\"hidden\" name=\"page_url\" value=\"https:\/\/hercesa.pt\/asvillas\/wp-json\/wp\/v2\/pages\/7\"><input type=\"hidden\" name=\"url_referer\" value=\"\"><button type=\"submit\" name=\"wpforms[submit]\" id=\"wpforms-submit-272\" class=\"wpforms-submit\" data-alt-text=\"Estou a trabalhar nisso...\" data-submit-text=\"Desbloquear toda a informa\u00e7\u00e3o\" aria-live=\"assertive\" value=\"wpforms-submit\">Desbloquear toda a informa\u00e7\u00e3o<\/button><img decoding=\"async\" src=\"https:\/\/hercesa.pt\/asvillas\/wp-content\/plugins\/wpforms\/assets\/images\/submit-spin.svg\" class=\"wpforms-submit-spinner\" style=\"display: none;\" width=\"26\" height=\"26\" alt=\"Loading\"><\/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                J\u00e1 completou o formul\u00e1rio acima? <a href=\"https:\/\/hercesa.pt\/asvillas\/log-in\/\">Inicie sess\u00e3o na sua conta<\/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                    Bem-vindo, .<br>\r\n                    Parece que j\u00e1 nos indicou as suas prefer\u00eancias anteriormente\r\n                <\/div>\r\n                <a href=\"\/asvillas\/perfil\" class=\"profile-button\">Aceder ao meu 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>Informa\u00e7\u00e3o exclusiva<\/strong>\r\n                        Acesso a detalhes e disponibilidade atualizada das unidades\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>Plantas e tipologias<\/strong>\r\n                        Visualize as plantas detalhadas dos apartamentos T2 e T3\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\">Seus dados est\u00e3o seguros e nunca ser\u00e3o compartilhados<\/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    \/\/ WordPress a\u00f1ade la clase 'logged-in' al body cuando 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>Carregando&#8230; Apartamentos de obra nova em Loures, Lisboa \u2014 As Villas A sua casa, ao seu estilo Apartamentos T3 com terra\u00e7o, lugar de estacionamento e arrecada\u00e7\u00e3o. Um espa\u00e7o pensado para a tranquilidade. Em comercializa\u00e7\u00e3o, \u00e0s portas de Lisboa. Entrega prevista a partir de setembro de 2027 Saber mais https:\/\/hercesa.pt\/asvillas\/wp-content\/uploads\/2025\/12\/ENGAGE_AsVillas_COMP.mp4 As Villas &#8211; Etapas Dispon\u00edveis V2 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":9943,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"class_list":["post-7","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>Apartamentos Novos em Loures, junto a Lisboa | As Villas<\/title>\n<meta name=\"description\" content=\"Descubra apartamentos novos com terra\u00e7o em Loures, a poucos minutos de Lisboa. Piscina, zonas verdes, garagem e arrecada\u00e7\u00e3o inclu\u00eddos.\" \/>\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\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Apartamentos Novos em Loures, junto a Lisboa | As Villas\" \/>\n<meta property=\"og:description\" content=\"Descubra apartamentos novos com terra\u00e7o em Loures, a poucos minutos de Lisboa. Piscina, zonas verdes, garagem e arrecada\u00e7\u00e3o inclu\u00eddos.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/hercesa.pt\/asvillas\/\" \/>\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:49:41+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=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data1\" content=\"7 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/hercesa.pt\/asvillas\/\",\"url\":\"https:\/\/hercesa.pt\/asvillas\/\",\"name\":\"Apartamentos Novos em Loures, junto a Lisboa | As Villas\",\"isPartOf\":{\"@id\":\"https:\/\/hercesa.pt\/asvillas\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/hercesa.pt\/asvillas\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/hercesa.pt\/asvillas\/#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:49:41+00:00\",\"description\":\"Descubra apartamentos novos com terra\u00e7o em Loures, a poucos minutos de Lisboa. Piscina, zonas verdes, garagem e arrecada\u00e7\u00e3o inclu\u00eddos.\",\"breadcrumb\":{\"@id\":\"https:\/\/hercesa.pt\/asvillas\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/hercesa.pt\/asvillas\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/hercesa.pt\/asvillas\/#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\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/hercesa.pt\/asvillas\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"As Villas PT\"}]},{\"@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\":\"pt-PT\"},{\"@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\":\"pt-PT\",\"@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":"Apartamentos Novos em Loures, junto a Lisboa | As Villas","description":"Descubra apartamentos novos com terra\u00e7o em Loures, a poucos minutos de Lisboa. Piscina, zonas verdes, garagem e arrecada\u00e7\u00e3o inclu\u00eddos.","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\/","og_locale":"pt_PT","og_type":"article","og_title":"Apartamentos Novos em Loures, junto a Lisboa | As Villas","og_description":"Descubra apartamentos novos com terra\u00e7o em Loures, a poucos minutos de Lisboa. Piscina, zonas verdes, garagem e arrecada\u00e7\u00e3o inclu\u00eddos.","og_url":"https:\/\/hercesa.pt\/asvillas\/","og_site_name":"As Villas \u2013 Obra nueva en Loures (Lisboa) | Desde 534.000 \u20ac","article_modified_time":"2026-07-23T08:49:41+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":{"Tempo estimado de leitura":"7 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/hercesa.pt\/asvillas\/","url":"https:\/\/hercesa.pt\/asvillas\/","name":"Apartamentos Novos em Loures, junto a Lisboa | As Villas","isPartOf":{"@id":"https:\/\/hercesa.pt\/asvillas\/#website"},"primaryImageOfPage":{"@id":"https:\/\/hercesa.pt\/asvillas\/#primaryimage"},"image":{"@id":"https:\/\/hercesa.pt\/asvillas\/#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:49:41+00:00","description":"Descubra apartamentos novos com terra\u00e7o em Loures, a poucos minutos de Lisboa. Piscina, zonas verdes, garagem e arrecada\u00e7\u00e3o inclu\u00eddos.","breadcrumb":{"@id":"https:\/\/hercesa.pt\/asvillas\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/hercesa.pt\/asvillas\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/hercesa.pt\/asvillas\/#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\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/hercesa.pt\/asvillas\/"},{"@type":"ListItem","position":2,"name":"As Villas PT"}]},{"@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":"pt-PT"},{"@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":"pt-PT","@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\/wp-json\/wp\/v2\/pages\/7","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hercesa.pt\/asvillas\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/hercesa.pt\/asvillas\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/hercesa.pt\/asvillas\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hercesa.pt\/asvillas\/wp-json\/wp\/v2\/comments?post=7"}],"version-history":[{"count":232,"href":"https:\/\/hercesa.pt\/asvillas\/wp-json\/wp\/v2\/pages\/7\/revisions"}],"predecessor-version":[{"id":14499,"href":"https:\/\/hercesa.pt\/asvillas\/wp-json\/wp\/v2\/pages\/7\/revisions\/14499"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hercesa.pt\/asvillas\/wp-json\/wp\/v2\/media\/9943"}],"wp:attachment":[{"href":"https:\/\/hercesa.pt\/asvillas\/wp-json\/wp\/v2\/media?parent=7"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}