/* === STYLE BLOCK 1/8 === */
/* Anti-FOUC: fija el logo antes del primer paint */
          .banner .logo img {
            width: var(--kasalia-banner-logo-width, 150px);
            max-height: var(--kasalia-banner-logo-max-height, 110px);
            height: auto;
            display: block;
            object-fit: contain;
          }
          /* Mobile-only UI: no debe existir visualmente en escritorio. */
          .kasalia-mobile-topbar-mock,
          .mobile-bottom-menu {
            display: none !important;
          }
          @media (min-width: 769px) {
            #listing-actions-desktop .mobile-map-toggle-btn {
              display: none !important;
            }
          }
        @media (max-width: 768px) {
          body.landing:has(.filters-bar.rwd-filters-canonical) .banner-bottom {
            display: none !important;
          }

          /* RESPONSIVE MOBILE — inicio (F13 mock topbar viviendas · alineación F2) */
          .kasalia-mobile-topbar-mock {
            --rwd-mock-topbar-pt: calc(env(safe-area-inset-top, 0px) + var(--rwd-space-xs));
            --rwd-mock-topbar-logo-max-h: calc(var(--rwd-space-md) + var(--rwd-space-xs));
            --rwd-mock-topbar-avatar-size: var(--kasalia-banner-chip-h, 44px);
            display: block !important;
            position: sticky !important;
            top: 0 !important;
            z-index: 1600 !important;
            padding: var(--rwd-mock-topbar-pt) var(--rwd-space-sm) var(--rwd-space-xs) var(--rwd-space-sm) !important;
            background: rgba(251, 250, 244, .88) !important;
            border-bottom: 1px solid rgba(23, 79, 43, .08) !important;
            -webkit-backdrop-filter: blur(18px) !important;
            backdrop-filter: blur(18px) !important;
          }

          .kasalia-mobile-brand-row {
            display: grid !important;
            grid-template-columns: minmax(0, 1fr) auto auto !important;
            align-items: center !important;
            gap: var(--rwd-space-xs) !important;
          }

          .kasalia-mobile-logo {
            display: flex !important;
            align-items: center !important;
            min-width: 0 !important;
            flex: 1 1 auto !important;
            text-decoration: none !important;
          }

          .kasalia-mobile-logo picture,
          .kasalia-mobile-logo img {
            display: block !important;
            width: auto !important;
            max-width: 100% !important;
            height: auto !important;
            max-height: var(--rwd-mock-topbar-logo-max-h) !important;
            object-fit: contain !important;
            object-position: left center !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-topbar-mock .kasalia-mobile-lang-btn.language-btn {
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            flex: 0 0 auto !important;
            gap: 0 !important;
            width: auto !important;
            min-width: var(--rwd-mock-topbar-avatar-size) !important;
            height: var(--rwd-mock-topbar-avatar-size) !important;
            min-height: var(--rwd-mock-topbar-avatar-size) !important;
            padding: 0 var(--rwd-space-xs) !important;
            border: 1px solid var(--kasalia-banner-chip-border, #8a8a8a) !important;
            border-radius: var(--kasalia-banner-chip-radius, 25px) !important;
            background: var(--white) !important;
            color: var(--ink) !important;
            font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
            box-sizing: border-box !important;
            cursor: pointer !important;
            place-items: center !important;
            box-shadow: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-topbar-mock .kasalia-mobile-lang-btn .language-btn__label {
            font-size: 0 !important;
            line-height: 0 !important;
          }

          html[lang="es"] body.landing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-topbar-mock .kasalia-mobile-lang-btn .language-btn__label::after,
          html[lang="es-ES"] body.landing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-topbar-mock .kasalia-mobile-lang-btn .language-btn__label::after {
            content: "ES" !important;
            display: inline-block !important;
            font-size: var(--rwd-font-sm) !important;
            font-weight: 600 !important;
            line-height: var(--rwd-line-height-base, 1.4) !important;
          }

          html[lang="en"] body.landing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-topbar-mock .kasalia-mobile-lang-btn .language-btn__label::after,
          html[lang="en-US"] body.landing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-topbar-mock .kasalia-mobile-lang-btn .language-btn__label::after,
          html[lang="en-GB"] body.landing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-topbar-mock .kasalia-mobile-lang-btn .language-btn__label::after {
            content: "EN" !important;
            display: inline-block !important;
            font-size: var(--rwd-font-sm) !important;
            font-weight: 600 !important;
            line-height: var(--rwd-line-height-base, 1.4) !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-topbar-mock .kasalia-mobile-lang-btn.language-btn::after {
            display: none !important;
          }
          /* RESPONSIVE MOBILE — fin (F13 mock topbar viviendas · alineación F2) */

          .kasalia-mobile-hero-search {
            display: grid !important;
            grid-template-columns: 1fr auto !important;
            gap: 8px !important;
            margin-top: 14px !important;
          }

          .kasalia-mobile-search-pill {
            min-width: 0 !important;
            min-height: 55px !important;
            padding: 11px 12px !important;
            border: 1px solid rgba(23, 79, 43, .15) !important;
            border-radius: 18px !important;
            background: var(--white) !important;
            box-shadow: 0 10px 22px rgba(23, 79, 43, .08) !important;
            color: var(--ink) !important;
            text-align: left !important;
          }

          .kasalia-mobile-search-pill strong {
            display: block !important;
            color: var(--ink) !important;
            font-size: 13px !important;
            font-weight: 900 !important;
            line-height: 1.1 !important;
          }

          .kasalia-mobile-search-pill span {
            display: block !important;
            margin-top: 3px !important;
            overflow: hidden !important;
            color: var(--muted) !important;
            font-size: 11px !important;
            font-weight: 600 !important;
            text-overflow: ellipsis !important;
            white-space: nowrap !important;
          }

          .kasalia-mobile-search-pill span.is-hidden {
            visibility: hidden !important;
          }

          .kasalia-mobile-filter-main {
            display: grid !important;
            width: 46px !important;
            height: 46px !important;
            place-items: center !important;
            align-self: center !important;
            border: 0 !important;
            border-radius: 16px !important;
            background: var(--pine) !important;
            color: var(--white) !important;
            box-shadow: 0 14px 28px rgba(23, 79, 43, .26) !important;
            font-size: 20px !important;
            font-weight: 900 !important;
          }

          .kasalia-mobile-chips {
            display: flex !important;
            flex-wrap: wrap !important;
            gap: 6px !important;
            margin-top: 10px !important;
          }

          @media (max-width: 360px) {
            body.landing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-topbar-mock .kasalia-mobile-lang-btn.language-btn {
              padding-left: var(--rwd-space-xxs) !important;
              padding-right: var(--rwd-space-xxs) !important;
            }

            html[lang="es"] body.landing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-topbar-mock .kasalia-mobile-lang-btn .language-btn__label::after,
            html[lang="es-ES"] body.landing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-topbar-mock .kasalia-mobile-lang-btn .language-btn__label::after,
            html[lang="en"] body.landing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-topbar-mock .kasalia-mobile-lang-btn .language-btn__label::after,
            html[lang="en-US"] body.landing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-topbar-mock .kasalia-mobile-lang-btn .language-btn__label::after,
            html[lang="en-GB"] body.landing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-topbar-mock .kasalia-mobile-lang-btn .language-btn__label::after {
              font-size: var(--rwd-font-xs) !important;
            }
          }

          .kasalia-mobile-user-avatar {
            display: grid !important;
            width: var(--rwd-mock-topbar-avatar-size, var(--kasalia-banner-chip-h, 44px)) !important;
            height: var(--rwd-mock-topbar-avatar-size, var(--kasalia-banner-chip-h, 44px)) !important;
            min-width: var(--rwd-mock-topbar-avatar-size, var(--kasalia-banner-chip-h, 44px)) !important;
            min-height: var(--rwd-mock-topbar-avatar-size, var(--kasalia-banner-chip-h, 44px)) !important;
            place-items: center !important;
            padding: 0 !important;
            border: 0 !important;
            border-radius: 50% !important;
            background: transparent !important;
            box-shadow: none !important;
            overflow: hidden !important;
            flex: 0 0 auto !important;
          }

          .kasalia-mobile-user-avatar img {
            width: 100% !important;
            height: 100% !important;
            border-radius: 50% !important;
            object-fit: cover !important;
            display: block !important;
            position: relative !important;
            z-index: 1 !important;
          }
        }
/* === STYLE BLOCK 2/8 id=kasalia-marker-cluster === */
/* Clusters de propiedades: Coral Burdeos (Propuesta 2). Evita colisión con azul vial/escudos y verde parques. */
        #map {
            --kasalia-amber: #EF9F27;
            --kasalia-amber-border: #C47E12;
            --kasalia-map-hover-accent: var(--kasalia-amber);
            --kasalia-map-hover-border: var(--kasalia-amber-border);
            --kasalia-map-hover-shadow: 0 4px 12px color-mix(in srgb, var(--kasalia-amber) 42%, transparent);
        }
        #map .marker-cluster {
            box-shadow:
                0 0 0 2px rgba(255, 255, 255, 0.9),
                0 2px 10px rgba(15, 23, 42, 0.45);
        }
        #map .marker-cluster-small { background-color: rgba(251, 113, 133, 0.38); }
        #map .marker-cluster-small div { background-color: rgba(244, 63, 94, 0.88); }
        #map .marker-cluster-medium { background-color: rgba(225, 29, 72, 0.38); }
        #map .marker-cluster-medium div { background-color: rgba(190, 18, 60, 0.9); }
        #map .marker-cluster-large { background-color: rgba(136, 19, 55, 0.38); }
        #map .marker-cluster-large div { background-color: rgba(136, 19, 55, 0.94); }
        #map .marker-cluster span { color: #fff; font-weight: 700; }
        #map .marker-cluster:hover div { background-color: #be123c; }
        #map .marker-cluster:active div { background-color: #881337; }
        /* Anclar capas: GL no captura drag; marcadores no arrastrables */
        #map .leaflet-gl-layer,
        #map .mapboxgl-map,
        #map .mapboxgl-canvas-container {
            pointer-events: none !important;
            will-change: transform;
        }
        #map .leaflet-marker-pane,
        #map .leaflet-marker-icon,
        #map .marker-cluster {
            -webkit-user-drag: none !important;
            user-select: none !important;
        }
        .leaflet-oldie #map .marker-cluster-small { background-color: rgb(251, 113, 133); }
        .leaflet-oldie #map .marker-cluster-small div { background-color: rgb(244, 63, 94); }
        .leaflet-oldie #map .marker-cluster-medium { background-color: rgb(225, 29, 72); }
        .leaflet-oldie #map .marker-cluster-medium div { background-color: rgb(190, 18, 60); }
        .leaflet-oldie #map .marker-cluster-large { background-color: rgb(190, 18, 60); }
        .leaflet-oldie #map .marker-cluster-large div { background-color: rgb(136, 19, 55); }
/* === STYLE BLOCK 3/8 === */
body { margin: 0; padding: 0; overflow-x: hidden; font-family: 'Inter', sans-serif; font-weight: normal; } h1, h2, h3, h4, h5, h6, p, a, button, input, select, textarea, span, div, label { font-family: 'Inter', sans-serif; } .highlight { background-color: #f0f0f0; border-color: #007bff; box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);  /* Enhanced shadow on hover */ } .search-container { display: flex; align-items: center; gap: 10px; padding: 10px; border-radius: 5px; } .search-input { padding: 10px; width: 200px; border: 1px solid #ccc; border-radius: 8px; background-color: #ffffff; color: black; font-size: 14px; } .search-button { order: -1; margin: 0 auto; flex-shrink: 0; padding: 8px 16px; font-size: 14px; border-radius: 8px; background-color: #007bff; color: white; border: none; cursor: pointer; } .search-button:hover { background-color: #0056b3; } .banner-header { color: white; font-size: 3em; text-align: center; margin: 0; padding-top: 10vh; font-family: 'Arial', sans-serif; } .content { display: flex; flex-direction: row; height: calc(100vh - 16vh); overflow: hidden; margin-top: 0;  /* Ajuste para compensar el banner */ } .properties { order: 1; flex: 0 0 60%;  /* Cambiado de 50% a 60% */ padding: 0 0 0 10px; overflow-y: auto; overflow-x: hidden; height: calc(100vh - 18vh); } .map { order: 2; flex: 0 0 40%; height: calc(100vh - 16vh); width: 100%; margin: 0; border-radius: 8px; overflow: hidden; box-shadow: 0 2px 4px rgba(0,0,0,0.1); position: relative; } #map { height: 100% !important; width: 100% !important; position: absolute !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; } /* Clase para simular el hover desde JS, con los mismos estilos que el :hover real */.property.simular-hover { box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2); transform: scale(1.02); } .map-miniatura { width: 220px; background: white; border-radius: 10px; box-shadow: 0 4px 12px rgba(0,0,0,0.2); overflow: hidden; font-family: 'Inter', sans-serif; padding: 0; } .map-miniatura img { width: 100%; display: block; height: 140px; object-fit: cover; } .map-miniatura .contenido { padding: 8px 12px; } .map-miniatura .titulo { font-size: 14px; font-weight: 600; color: #333; margin-bottom: 4px; } .map-miniatura .precio { font-size: 15px; font-weight: bold; color: #27ae60; } /* Ajustes para que InfoWindow no tenga padding por defecto */.gm-style-iw-d { overflow: hidden !important; } .gm-style-iw-c { padding: 0 !important; border-radius: 10px !important; } .property-image-container { flex: 0 0 35%;  /* Reducido de 45% a 35% */ height: 100%; position: relative; overflow: hidden; } .property-content { flex: 1; padding: 10px;  /* Reducido de 15px a 10px */ display: flex; flex-direction: column; height: 100%; box-sizing: border-box; } .property-title { font-size: 1.2em;  /* Reducido de 1.4em a 1.2em */ font-weight: bold; margin-bottom: 5px;  /* Reducido de 10px a 5px */ color: #333; } .property-header { margin-bottom: 5px;  /* Reducido de 10px a 5px */ } .property-header .price { font-size: 1.4em;  /* Reducido de 1.6em a 1.4em */ color: rgba(0, 123, 255, 1); font-weight: 900; } .property-description { margin: 5px 0;  /* Reducido de 10px a 5px */ font-size: 13px;  /* Reducido de 14px a 13px */ color: #555; max-height: 60px;  /* Reducido de 100px a 60px */ overflow: hidden; } .characteristics { display: flex; align-items: center; gap: 15px; margin: 5px 0;  /* Reducido de 10px a 5px */ padding: 5px 0; border-top: 1px solid #eee; border-bottom: 1px solid #eee; } .characteristics div { display: flex; align-items: center; gap: 5px; } .characteristics img { width: 16px;  /* Reducido de 20px a 16px */ height: 16px;  /* Reducido de 20px a 16px */ } .characteristics span { font-size: 13px;  /* Reducido de 14px a 13px */ color: #555; } .property .carousel { height: 100%; width: 100%; position: relative; } .property .carousel img { width: 100%; height: 100%; object-fit: cover; } .contact-icons { margin-top: auto; display: flex; align-items: center; gap: 10px; padding-top: 5px;  /* Reducido de 8px a 5px */ border-top: 1px solid #e0e0e0; margin-bottom: 5px;  /* Reducido de 8px a 5px */ } .contact-icons strong { font-size: 13px;  /* Reducido de 14px a 13px */ } .contact-icons img { width: 18px;  /* Reducido de 22px a 18px */ height: 18px;  /* Reducido de 22px a 18px */ } .property .carousel .prev, .property .carousel .next { position: absolute; top: 50%; transform: translateY(-50%); background: transparent; border: none; width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 10; transition: background-color 0.3s ease, transform 0.3s ease; } .property .carousel .prev:hover, .property .carousel .next:hover { background: transparent; } .property .carousel .prev { left: 10px; } .property .carousel .next { right: 10px; } .property .details { flex: 1; padding-left: 15px; display: flex; flex-direction: column; } .property-header { margin-bottom: 10px; } .property-header .price { font-size: 1.6em; color: rgba(0, 123, 255, 1); font-weight: 900; } .property-description { margin: 10px 0; font-size: 14px; color: #555; max-height: 100px; overflow: hidden; } .contact-icons { margin-top: auto; display: flex; align-items: center; gap: 15px; padding-top: 10px; border-top: 1px solid #e0e0e0; margin-bottom: 10px; } .property .details .characteristics { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 5px; margin-bottom: 5px; font-family: 'Inter', sans-serif; } .property .details .characteristics span { display: flex; align-items: center; gap: 5px; background-color: #f5f5f5; padding: 5px 10px; border-radius: 5px; font-size: 14px; } .property .details .characteristics span img { width: 20px; height: 20px; } .black-text { color: black; } .property .details .email-button { padding: 10px 20px; background-color: #007bff; color: white; border: none; border-radius: 25px; cursor: pointer; margin-top: 10px; } .property .details .email-button:hover { background-color: #0056b3; } .banner { display: flex; flex-direction: column; width: 100%; position: fixed; top: 0; left: 0; background-color: #f0f0f0;  /* Color de fondo claro para el banner ....... */ box-sizing: border-box; border-bottom: 1px solid #000; z-index: 1000; padding: 0; } .banner-top { display: flex; justify-content: space-between; align-items: center; padding: 10px 20px; height: 8vh;  /* Incrementado de 10vh a 12vh */ } .banner-bottom { height: 6vh;  /* Incrementado de 6vh a 8vh */ background-color: #f0f0f0;  /* Color de fondo claro para la parte inferior del banner */ display: flex; align-items: center; justify-content: space-between; padding: 0 20px; border-top: 1px solid #000;  /* Línea divisoria negra fina arriba */ } .menu-container { display: flex; align-items: center; gap: 10px; } .menu-icon { display: flex; align-items: center; gap: 10px; cursor: pointer; position: absolute; top: 32%; left: 20px; transform: translateY(-50%); } .menu-icon img { width: 25px; height: 25px; } .menu-icon span { font-size: 16px; font-weight: 500; } .banner .logo { display: flex; justify-content: center; align-items: center; margin: 0 auto; position: absolute; left: 50%; transform: translateX(-50%); z-index: 10; background-color: #f0f0f0;  /* Añadido para asegurar que está encima de otros elementos */ } .banner .logo img { max-height: 110px; width: 100px; } .top-right-menu { display: flex; gap: 15px; align-items: center; } .top-right-menu a { text-decoration: none; color: #444; font-size: 16px; font-weight: 500; padding: 8px 16px; border: 1px solid #ccc; border-radius: 25px; transition: background-color 0.3s, transform 0.2s; background-color: white; white-space: nowrap; } .top-right-menu a:hover { background-color: #f0f0f0; } .search-bar { display: flex; align-items: center; width: 100%; justify-content: space-between; gap: 10px; padding: 0; } .search-fields-container { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; width: 100%; flex: 1 1 auto; min-width: 0; } /* Contenedores adaptables al texto del placeholder */#tipo-vivienda-field { flex: 0 0 auto; min-width: 140px;  /* Adaptado al texto "Tipo de vivienda" */ max-width: none; } #precio-field { flex: 0 0 auto; min-width: 80px;  /* Adaptado al texto "Precio" */ max-width: none; } #habitaciones-banos-field { flex: 0 0 auto; min-width: 160px;  /* Adaptado al texto "Habitaciones/Baños" */ max-width: none; } #estado-field { flex: 0 0 auto; min-width: 90px;  /* Adaptado al texto "Estado" */ max-width: none; } #ordenar-field { flex: 0 0 auto; min-width: 120px;  /* Adaptado al texto "Ordenar por" */ max-width: none; } .buttons-container { display: flex; align-items: center; gap: 10px; justify-content: space-between;  /* o flex-end, según lo que necesites */ min-width: 180px; } /* Ajustes específicos para cada campo de búsqueda */#ubicacion-field { flex-grow: 1; min-width: 150px; max-width: 250px; } #tipo-vivienda-field, #precio-field, #habitaciones-banos-field, #estado-field, #tipo-vivienda-field input { width: auto; min-width: auto; } #precio-field input { width: auto; min-width: auto; } #habitaciones-banos-field input { width: auto; min-width: auto; } #estado-field input { width: auto; min-width: auto; } #ordenar-field input { width: auto; min-width: auto; } /* Estilo general para los campos de búsqueda */.banner-bottom .banner-bottom .search-field { display: flex; align-items: center; background-color: white; border-radius: 8px; padding: 5px 10px; border: 1px solid #ccc; position: relative; margin-right: 5px; height: 36px;  /* Altura fija para todos los campos */ box-sizing: border-box; } .banner-bottom .banner-bottom .search-field input { border: none; outline: none; background: transparent; padding: 5px; font-size: 16px; font-style: normal; text-transform: capitalize; font-family: 'Inter', sans-serif; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: #333; } /* Estilo mejorado para placeholders en cursiva negra */.banner-bottom .banner-bottom .search-field input::placeholder { color: #000; font-style: normal; font-weight: 400; opacity: 0.8; font-size: 16px; } .banner-bottom .banner-bottom .search-field input:focus::placeholder { color: #007bff; opacity: 1; font-style: normal; font-weight: 500; } .banner-bottom .banner-bottom .search-field select { border: none; outline: none; background: transparent; padding: 5px; font-size: 14px; } .search-button { flex-shrink: 0; padding: 8px 16px; font-size: 14px; border-radius: 25px; background-color: #007bff; color: white; border: none; cursor: pointer; margin-left: 5px; } .search-button:hover { background-color: #0056b3; } /* Ajustar altura del contenido para el nuevo banner */.content { margin-top: 15vh;  /* distancia entre banner y mapas......................... */ height: calc(100vh - 20vh); } /* Dropdown Menu Styles */.dropdown-menu { position: absolute; top: 100%; left: 10px; background-color: #fff; border: 1px solid #ccc; border-radius: 5px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); display: none; z-index: 1000; list-style: none; padding: 0; margin: 0; width: 200px; } .dropdown-menu.show { display: block; } .dropdown-menu li { padding: 10px 20px; cursor: pointer; font-size: 14px; margin: 0; line-height: 1.5; text-align: left; display: block; } .dropdown-menu li a { text-decoration: none; color: black; display: block; width: 100%; padding: 0; margin: 0; border: none; border-radius: 0; background: none; } .dropdown-menu li:hover { background-color: #f0f0f0; } .map-options-button { position: absolute; top: 20px; right: 20px; background: white; border: 1px solid #ccc; border-radius: 5px; padding: 10px; box-shadow: 0 2px 4px rgba(0,0,0,0.2); cursor: pointer; display: flex; align-items: center; gap: 5px; z-index: 1000; font-size: 14px; color: #333; transition: background-color 0.3s ease; } .map-options-button:hover { background-color: #f5f5f5; } .map-options-button img { width: 20px; height: 20px; } .map-options-dropdown { display: none; position: absolute; top: 60px; right: 20px; background: white; box-shadow: 0 4px 8px rgba(0,0,0,0.2); border: 1px solid #ccc; border-radius: 5px; padding: 10px; z-index: 1000; min-width: 150px; } .map-options-dropdown.show { display: block; } .map-options-dropdown label { display: flex; align-items: center; padding: 8px 12px; cursor: pointer; border-radius: 3px; margin: 2px 0; transition: background-color 0.3s ease; } .map-options-dropdown label:hover { background-color: #f5f5f5; } .map-options-dropdown input[type="radio"] { margin-right: 8px; } .property .details .contact-icons { display: flex; align-items: center; gap: 15px; margin-top: 5px; font-family: 'Inter', sans-serif; } .property .details .contact-icons strong { font-family: 'Inter', sans-serif; font-weight: bold; } /* Barra de scroll personalizada */::-webkit-scrollbar { width: 10px; } ::-webkit-scrollbar-track { background: #f1f1f1; } ::-webkit-scrollbar-thumb { background: #b3d9ff;  /* Azul pastel */ border-radius: 5px; } ::-webkit-scrollbar-thumb:hover { background: #80bfff; } /* Estilos para los dropdowns de filtros */.filter-dropdown { display: none; position: absolute; top: 100%; left: 0; background-color: white; border: 1px solid #ccc; border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.1); z-index: 1001;  /* Asegurar que esté por encima del mapa */ padding: 15px; min-width: 300px;  /* Aumentado de 250px a 300px */ margin-top: 5px; max-height: none;  /* Se ajusta dinámicamente a la altura de su contenido */ overflow-y: visible;  /* Elimina el scroll interno */ } .filter-dropdown.show { display: block; } .filter-dropdown h4 { margin-top: 0; margin-bottom: 10px; font-size: 16px; color: #333; font-weight: 600; } /* Checkboxes personalizados con alineación precisa */.checkbox-group { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin-top: 10px; } .checkbox-container { display: flex; align-items: center; margin-bottom: 5px; font-size: 14px; cursor: pointer; box-sizing: border-box; padding: 4px 0; } .checkbox-container input[type="checkbox"] { margin-right: 10px;  /* Margen uniforme entre checkbox y texto */ flex-shrink: 0;  /* Evitar que el checkbox se reduzca */ width: 16px;  /* Tamaño fijo */ height: 16px;  /* Tamaño fijo */ } /* Estilos para precios mín/máx */.price-range { display: flex; align-items: center; gap: 10px; margin-top: 10px; } .price-range input { flex: 1; padding: 8px; border: 1px solid #ccc; border-radius: 5px; font-size: 14px; } /* Estilos específicos para cada dropdown según su posición */#precio-dropdown, #habitaciones-dropdown, #banos-dropdown, #estado-dropdown, #filtros-dropdown { right: auto; left: 0; } /* Para los últimos elementos del menú, alinear a la derecha para evitar que se salgan de la pantalla */#estado-dropdown, #filtros-dropdown { left: auto; right: 0; } /* Estilos para el estado en particular - ajustado a contenido */#estado-dropdown { min-width: 180px;  /* Reducido de 380px a 180px para ajustarse a la palabra */ } /* Estilos para el botón de filtros */.filter-button { display: flex; align-items: center; gap: 5px; cursor: pointer; padding: 5px 10px; border-radius: 5px; font-style: normal; text-transform: capitalize; font-family: 'Inter', sans-serif; font-weight: 300; } .filter-button:hover { background-color: transparent;  /* Eliminar efecto hover */ } /* Estilos para las propiedades */.property { display: flex; flex-direction: row; margin-bottom: 15px; margin-right: 10px; border: 1px solid #ccc; border-radius: 8px; background-color: #ffffff; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); transition: box-shadow 0.3s ease; font-family: 'Inter', sans-serif; overflow: hidden; position: relative; height: 270px;  /* Reducido de 320px a 200px */ } .property:hover { box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2); transform: scale(1.02); } /* Clase para simular el hover desde JS, con los mismos estilos que el :hover real */.property.simular-hover { box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2); transform: scale(1.02); } .map-miniatura { width: 220px; background: white; border-radius: 10px; box-shadow: 0 4px 12px rgba(0,0,0,0.2); overflow: hidden; font-family: 'Inter', sans-serif; padding: 0; } .map-miniatura img { width: 100%; display: block; height: 140px; object-fit: cover; } .map-miniatura .contenido { padding: 8px 12px; } .map-miniatura .titulo { font-size: 14px; font-weight: 600; color: #333; margin-bottom: 4px; } .map-miniatura .precio { font-size: 15px; font-weight: bold; color: #27ae60; } /* Ajustes para que InfoWindow no tenga padding por defecto */.gm-style-iw-d { overflow: hidden !important; } .gm-style-iw-c { padding: 0 !important; border-radius: 10px !important; } .property-image-container { flex: 0 0 35%;  /* Reducido de 45% a 35% */ height: 100%; position: relative; overflow: hidden; } .property-content { flex: 1; padding: 10px;  /* Reducido de 15px a 10px */ display: flex; flex-direction: column; height: 100%; box-sizing: border-box; } .property-title { font-size: 1.2em;  /* Reducido de 1.4em a 1.2em */ font-weight: bold; margin-bottom: 5px;  /* Reducido de 10px a 5px */ color: #333; } .property-header { margin-bottom: 5px;  /* Reducido de 10px a 5px */ } .property-header .price { font-size: 1.4em;  /* Reducido de 1.6em a 1.4em */ color: rgba(0, 123, 255, 1); font-weight: 900; } .property-description { margin: 5px 0;  /* Reducido de 10px a 5px */ font-size: 13px;  /* Reducido de 14px a 13px */ color: #555; max-height: 60px;  /* Reducido de 100px a 60px */ overflow: hidden; } .characteristics { display: flex; align-items: center; gap: 15px; margin: 5px 0;  /* Reducido de 10px a 5px */ padding: 5px 0; border-top: 1px solid #eee; border-bottom: 1px solid #eee; } .characteristics div { display: flex; align-items: center; gap: 5px; } .characteristics img { width: 16px;  /* Reducido de 20px a 16px */ height: 16px;  /* Reducido de 20px a 16px */ } .characteristics span { font-size: 13px;  /* Reducido de 14px a 13px */ color: #555; } .property .carousel { height: 100%; width: 100%; position: relative; } .property .carousel img { width: 100%; height: 100%; object-fit: cover; } /* Botón de favorito (corazón) */.favorite-btn { position: absolute; top: 10px; right: 10px; z-index: 10; background: rgba(255, 255, 255, 0.8); border: none; border-radius: 50%; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.2s ease; } .favorite-btn img, .favorite-btn svg { width: 20px; height: 20px; transition: all 0.2s ease; } .favorite-btn.active svg { fill: #005500; stroke: #005500; } /* Estilo para el diálogo de filtros avanzados */.advanced-filter-dialog { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background: white; padding: 20px; border-radius: 10px; box-shadow: 0 5px 25px rgba(0, 0, 0, 0.2); z-index: 1100; width: 80%; max-width: 800px; max-height: none;  /* Se ajusta dinámicamente a la altura de su contenido */ overflow-y: visible;  /* Elimina el scroll interno */ display: none; border: 1px solid #e0e0e0;  /* Borde uniforme y sutil */ } .advanced-filter-dialog.show { display: block; } .dialog-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; padding-bottom: 10px; border-bottom: 1px solid #eee; } .dialog-title { font-size: 1.5em; font-weight: bold; color: #333; } .close-dialog { background: none; border: none; font-size: 2.2em;  /* Más grande y visible */ cursor: pointer; color: #333; line-height: 1; padding: 0 6px; transition: color 0.2s ease;  /* Suaviza el cambio de color */ } .close-dialog:hover { color: #007bff;  /* Destaca al pasar el mouse */ } .filter-sections { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; } .filter-section { margin-bottom: 20px; } .filter-section-title { font-weight: bold; margin-bottom: 10px; display: flex; align-items: center; gap: 10px; } .filter-section-title img { width: 18px; height: 18px; } .filter-actions { display: flex; justify-content: space-between;  /* Cambiado de flex-end a space-between para separar botones */ gap: 10px; margin-top: 20px; padding-top: 15px; border-top: 1px solid #eee; } .filter-btn { padding: 8px 16px; border-radius: 25px; border: none; cursor: pointer; font-weight: bold; } .reset-filters { background: #f0f0f0; color: #333; } .apply-filters { background: #4CAF50; color: white; } /* Overlay para el fondo cuando el diálogo está activo */.dialog-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.5); z-index: 1099; display: none; } .dialog-overlay.show { display: block; } /* Estilos para el selector de rangos de habitaciones y baños */.range-selector { width: 100%; border-radius: 8px; overflow: hidden; border: 1px solid #ccc; margin-top: 10px; font-family: 'Inter', sans-serif; } .range-selector .selector-header { width: 100%; padding: 10px; font-size: 16px; font-weight: bold; } .range-selector .selector-options { display: flex; width: 100%; border-top: 1px solid #e0e0e0; } .range-selector .option { flex: 1; text-align: center; padding: 12px 8px; cursor: pointer; background-color: #fff; transition: all 0.3s ease; border-right: 1px solid #e0e0e0; } .range-selector .option:last-child { border-right: none; } .range-selector .option.selected { background-color: #007bff; color: white; font-weight: bold; } .range-selector .helper-text { padding: 8px; font-size: 12px; color: #666; background-color: #f5f5f5; border-top: 1px solid #e0e0e0; } /* Estilos para las columnas de estados */.estado-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin-top: 10px; } .option-item { display: flex; align-items: center; justify-content: center; padding: 8px 12px; background-color: white; border: 1px solid #e0e0e0; border-radius: 5px; cursor: pointer; transition: all 0.3s ease; text-align: center; } .option-item:hover { background-color: #f5f5f5; }  .estado-option input[type="checkbox"] { margin-right: 10px; } /* Estilos para el botón de Guardar Búsqueda */.save-search { display: flex; align-items: center; gap: 5px; color: #333; font-weight: bold; cursor: pointer; padding: 8px 15px; border-radius: 25px; background-color: white; border: 1px solid #ccc; transition: all 0.3s ease; margin-left: 10px; } .save-search:hover { background-color: #f0f0f0; transform: translateY(-2px); } .save-search img { width: 16px; height: 16px; } /* Eliminado bloque duplicado de CSS */.search-button { flex-shrink: 0; padding: 8px 16px; font-size: 14px; border-radius: 25px; background-color: #007bff; color: white; border: none; cursor: pointer; margin-left: 5px; } /* Estilos para los botones de zoom del mapa */.leaflet-control-zoom { box-shadow: 0 2px 5px rgba(0,0,0,0.2) !important; z-index: 900 !important;  /* Menor que los dropdowns */ position: absolute !important; bottom: 20px !important; right: 20px !important; top: auto !important; left: auto !important; } .leaflet-control-zoom a { width: 40px !important; height: 40px !important; line-height: 40px !important; font-size: 24px !important; font-weight: bold !important; background-color: white !important; border-radius: 4px !important; box-shadow: 0 2px 5px rgba(0,0,0,0.2) !important; text-align: center !important; margin-bottom: 5px !important; } /* Botones de texto sin contenedor para Guardar y Favoritos */.text-button { background: transparent; border: none; display: flex; align-items: center; gap: 5px; cursor: pointer; color: #333; font-weight: bold; font-family: 'Inter', sans-serif; padding: 5px 10px; margin-left: 5px; } .text-button img { width: 20px; height: 20px; } .text-button:hover { color: #007bff; } /* Eliminado conflicto de anchos fijos *//* Menú de idiomas */.language-dropdown { position: relative; display: inline-block; } .language-btn { display: flex; align-items: center; gap: 5px; text-decoration: none; color: #444; font-size: 16px; font-weight: 500; padding: 8px 16px; border: 1px solid #ccc; border-radius: 25px; transition: background-color 0.3s, transform 0.2s; background-color: white; white-space: nowrap; cursor: pointer; } .language-btn:after { content: ""; border: solid #444; border-width: 0 2px 2px 0; display: inline-block; padding: 3px; margin-top: -2px; transform: rotate(45deg); margin-left: 5px; } .language-options { display: none; position: absolute; top: 100%; left: 0; background-color: white; border: 1px solid #ccc; border-radius: 8px; padding: 5px 0; margin-top: 5px; min-width: 150px; box-shadow: 0 2px 5px rgba(0,0,0,0.2); z-index: 100; } .language-options.show { display: block; } .language-option { padding: 8px 15px; cursor: pointer; transition: background-color 0.2s; } .language-option:hover { background-color: #f5f5f5; } .language-option { display: flex; align-items: center; gap: 10px; padding: 8px 15px; cursor: pointer; transition: background-color 0.2s; } .language-option img { width: 24px; height: 16px; object-fit: cover; border-radius: 2px; } .language-btn img { width: 24px; height: 16px; margin-right: 5px; } /* Estilo de cuadrícula para tipo de vivienda y estado */.tipo-grid, .estado-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 10px; } .grid-option { display: flex; align-items: center; justify-content: center; padding: 8px 12px; background-color: white; border: 1px solid #e0e0e0; border-radius: 5px; cursor: pointer; transition: all 0.3s ease; text-align: center; font-size: 14px; } .grid-option:hover { background-color: #f5f5f5; } .grid-option.selected { background-color: #007bff; color: white; border-color: #007bff; box-shadow: 0 2px 4px rgba(0, 123, 255, 0.3); } /* Botones de acción para todos los filtros */.action-buttons { display: flex; justify-content: space-between;  /* Cambiado de flex-end a space-between para separar botones */ gap: 15px; margin-top: 15px; padding-top: 10px; border-top: 1px solid #eee; } .filter-action-btn { color: #007bff; background: none; border: none; cursor: pointer; font-size: 15px; padding: 8px 15px; border-radius: 5px; transition: background-color 0.2s; min-width: 80px; text-align: center; } .filter-action-btn:hover { background-color: #f0f8ff; } .filter-action-btn.bold { font-weight: bold; } /* Estilo para banderas de idiomas */.language-option { display: flex; align-items: center; gap: 10px; padding: 8px 15px; cursor: pointer; transition: background-color 0.2s; } .language-option img { width: 24px; height: 16px; object-fit: cover; border-radius: 2px; } .language-btn img { width: 24px; height: 16px; margin-right: 5px; } /* Estilos para el filtro de habitaciones y baños */.hb-filter-section { margin-bottom: 15px; } .hb-filter-section h3 { font-size: 16px; margin-bottom: 10px; color: #333; } .hb-options { display: flex; flex-wrap: wrap; gap: 8px; } .hb-option { padding: 8px 15px; border: 1px solid #ddd; border-radius: 4px; cursor: pointer; font-size: 14px; transition: all 0.2s ease; } .hb-option:hover { background-color: #f5f5f5; } .hb-option.selected { background-color: #007bff; color: white; border-color: #007bff; } /* Estilos para opciones en grid */.grid-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 15px; } .option-item { padding: 10px 8px; border: 1px solid #ddd; border-radius: 4px; text-align: center; cursor: pointer; transition: all 0.2s ease; font-size: 14px; } .option-item:hover { background-color: #f5f5f5; } .option-item.selected { background-color: #007bff; color: white; border-color: #007bff; } /* Sobrescribir con verde para el menú específico de tipo de vivienda */#tipo-vivienda-dropdown .option-item.selected { background-color: #C8E6C9 !important;  /* Verde claro */ color: #1B5E20 !important;  /* Verde intenso */ border-color: #66BB6A !important;  /* Borde verde */ box-shadow: 0 2px 4px rgba(102, 187, 106, 0.3) !important; } /* Media queries para dispositivos móviles */@media (max-width: 1024px) { .search-fields-container {  flex-wrap: wrap;  max-width: 100%;  gap: 5px; }  #ubicacion-field {  flex: 1 1 100%;  max-width: 100%;  margin-bottom: 5px; }  .buttons-container {  margin-top: 10px;  width: 100%;  justify-content: flex-end; }  .banner-bottom {  height: auto;  padding: 10px 20px; }  .search-bar {  flex-direction: column;  align-items: flex-start; } } @media (max-width: 768px) { .content {  flex-direction: column;  margin-top: 25vh; }  .properties {  order: 2;  flex: 0 0 100%;  height: auto; }  .map {  order: 1;  flex: 0 0 300px;  width: 100%;  border-left: none;  border-bottom: 2px solid #ccc; }  .banner-bottom .banner-bottom .search-field {  margin-right: 3px; } } /* Estilo para el mensaje de éxito */.mensaje-exito { background-color: #d4edda; color: #155724; padding: 15px; margin: 20px 0; border: 1px solid #c3e6cb; border-radius: 5px; text-align: center; font-weight: bold; } .popup-exito { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background: #d4edda; color: #155724; padding: 30px 40px; border: 2px solid #28a745; border-radius: 10px; box-shadow: 0 8px 32px rgba(0,0,0,0.25); font-size: 1.5em; z-index: 9999; text-align: center; font-weight: bold; min-width: 300px; } .popup-close { position: absolute; top: 10px; right: 20px; font-size: 2em; color: #155724; cursor: pointer; font-weight: bold; } /* Estilo para el contenedor específico del mapa */#map { height: 100% !important; width: 100% !important; position: absolute !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; } .marker-highlight { transform: scale(1.5); transform-origin: center center; transition: transform 0.2s ease-in-out; } /* Estilo limpio para miniatura del mapa */.map-miniatura { width: 220px; background: white; border-radius: 10px; box-shadow: 0 4px 12px rgba(0,0,0,0.2); overflow: hidden; font-family: 'Helvetica Neue', sans-serif; } .map-miniatura img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; } .map-miniatura .contenido { padding: 8px; } .map-miniatura .titulo { font-size: 14px; font-weight: 600; color: #444; margin-bottom: 4px; } .map-miniatura .precio { font-size: 15px; font-weight: bold; color: #27ae60; } /* Estilo idéntico al :hover del carrusel */.carrusel-card.simular-hover { background-color: #f8f8f8; box-shadow: 0 4px 12px rgba(0,0,0,0.15); transform: scale(1.02); transition: all 0.3s ease; z-index: 10; } /* Estilo para tarjeta seleccionada tras clic */.carrusel-card.seleccionada { outline: 2px solid #27ae60; box-shadow: 0 0 12px rgba(39, 174, 96, 0.5); z-index: 20; transition: all 0.3s ease; } /* Quita la X del InfoWindow */.gm-style .gm-style-iw-c button.gm-ui-hover-effect { display: none !important; } .gm-style-iw-d { padding: 0 !important; } /* ---- Diseño compacto dos columnas (sin scroll interno) ---- */.advanced-filter-dialog { max-height: none;  /* sin límite */ overflow: visible;  /* sin scroll */ font-size: 14px;  /* base */ } .advanced-filter-dialog .filter-sections { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px;  /* separación homogénea */ } .advanced-filter-dialog .filter-section { margin-bottom: 10px; } .advanced-filter-dialog .filter-section-title { font-size: 14px; font-weight: bold; color: #333; margin-bottom: 8px; text-transform: uppercase; letter-spacing: 0.5px; } /* Controles compactos */.advanced-filter-dialog .checkbox-container, .advanced-filter-dialog .estado-option, .advanced-filter-dialog .grid-option, .advanced-filter-dialog .option-item, .advanced-filter-dialog .hb-option, .advanced-filter-dialog .range-selector .option { font-size: 12px; padding: 4px 8px; } .checkbox-group { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 6px; } .estado-grid { grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); gap: 6px; } .grid-options { grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); gap: 6px; }
/* Estilos unificados para elementos seleccionados en todos los dropdowns */.option-item.selected, .grid-option.selected, .hb-option.selected, .range-selector .option.selected { background-color: #C8E6C9 !important;  /* Verde claro */ color: #1B5E20 !important;  /* Verde intenso */ border-color: #66BB6A !important;  /* Borde verde medio */ box-shadow: 0 2px 4px rgba(102, 187, 106, 0.3) !important; font-weight: bold !important; }

/* Estilos específicos para el dropdown de Ordenar por */#ordenar-dropdown .grid-options { display: flex; flex-direction: column; gap: 8px; max-height: 400px; overflow-y: auto; } #ordenar-dropdown .option-item { width: 100%; padding: 12px 16px; border: 1px solid #e0e0e0; border-radius: 6px; cursor: pointer; transition: all 0.2s ease; font-size: 14px; background: white; text-align: left; } #ordenar-dropdown .option-item:hover { background-color: #f5f5f5; border-color: #ccc; } #ordenar-dropdown .option-item.selected { background-color: #C8E6C9 !important; color: #1B5E20 !important; border-color: #66BB6A !important; box-shadow: 0 2px 4px rgba(102, 187, 106, 0.3) !important; } /* Reducir contenedor de Estado, Precio y Ordenar Por */#estado-dropdown, #precio-dropdown, #ordenar-dropdown { max-width: 300px; min-width: 250px; } /* Ajustar grid de estado para que quepa mejor */#estado-dropdown .estado-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; } /* Ajustar inputs de precio */#precio-dropdown .price-range { display: flex; align-items: center; gap: 8px; } #precio-dropdown .price-range input { flex: 1; padding: 8px; border: 1px solid #ddd; border-radius: 4px; font-size: 14px; } /* Extras (checkboxes) – marcar label *//* Tipografía homogénea para opciones de dropdowns */#estado-dropdown .option-item, #tipo-vivienda-dropdown .option-item, #habitaciones-banos-dropdown .option, #habitaciones-banos-dropdown .hb-option, .advanced-filter-dialog .checkbox-container { font-size: 13px; padding: 6px 10px; }

        /* --- Ajustes de layout solicitados (sin alterar funcionalidad) --- */
#estado-field { order: 5; }
#ordenar-field { order: 6; }

/* ===========================================================
   NORMALIZAR BARRA DE FILTROS (SIN RECORTES)
   - Si hay wrap en la barra, el banner debe crecer
   - La zona .content se posiciona según altura real del banner
   =========================================================== */
:root { --banner-offset: 140px; }
.banner-bottom { height: auto !important; min-height: 6vh; padding-top: 6px !important; padding-bottom: 6px !important; align-items: flex-start !important; }
.search-bar { align-items: flex-start !important; }
.content { margin-top: var(--banner-offset) !important; height: calc(100vh - var(--banner-offset)) !important; }
.properties, .map { height: 100% !important; }

/* ===========================================================
   CONTENEDOR EXTRAS (detalle: grid 3 filas + scroll en ../css/style.css)
   =========================================================== */
.property-extras {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 8px;
  width: 100%;
  max-width: 100%;
  overflow: visible;
  position: relative;
  margin: 8px 18px;
}

.property-extras .extras-wrapper {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
  width: 100%;
}

/* Scrollbar del bloque de extras: ver también .property-extras .extras-wrapper en css/style.css */
.extras-wrapper::-webkit-scrollbar {
  display: none;
}

/* ===========================================================
   EXTRA INDIVIDUAL
   =========================================================== */
.property-extras .extra {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 4px;
  background: #ffffff;
  border: 1px solid #1f2937;
  border-radius: 6px;
  padding: 3px 7px 3px 5px;
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
  flex-shrink: 0;
  line-height: 1.25;
  box-sizing: border-box;
  max-width: 100%;
  color: #111827;
  text-align: left;
}
.property-extras .extra .extra__ic {
  flex: 0 0 auto;
  order: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  color: #166534;
}
.property-extras .extra .extra__ic svg {
  width: 14px;
  height: 14px;
  display: block;
}
.property-extras .extra .extra__txt {
  order: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 11rem;
  text-align: left;
}

/* (eliminado botón Más de extras) */

/* ===========================================================
   POPUP DE EXTRAS (FULL LIST)
   =========================================================== */
/* (eliminado popup de extras) */

/* --- Fuente Inter para todas las tarjetas de propiedades --- */
.property, .property * {
  font-family: 'Inter', sans-serif !important;
}

/* --- Cabecera superior profesional --- */
.property-card-header {
  background: #ffffff;
  padding: 2px 20px;
  border-bottom: 1px solid #e9ecef;
  position: relative;
  z-index: 5;
  transition: all 0.3s ease;
}


/* --- Contenido de la cabecera --- */
.header-content {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 8px;
}

/* Fila de precio + status-badge a la derecha */
.property-header .price-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.property-info {
  flex: 1;
  margin-right: 12px;
}

.property-card-header strong {
  display: block;
  font-family: 'Inter', sans-serif;
  font-size: 1.4rem;
  font-weight: 800;
  color: #2c3e50;
  margin-bottom: 4px;
  text-transform: capitalize;
  line-height: 1.3;
}

.property-card-header .subdireccion {
  display: block;
  font-family: 'Inter', sans-serif;
  font-size: 0.85rem;
  color: #6c757d;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  line-height: 1.4;
}

/* Número estimado (desde geocoding) en rojo */
.numero-estimado {
  color: #dc2626 !important;
  font-weight: 600 !important;
}

/* Número real en negro natural */
.numero-real {
  color: #111827 !important;
  font-weight: 500 !important;
}

/* --- Badge de transacción profesional --- */
.transaction-badge {
  background-color: var(--badge-color, #107327);
  color: #fff;
  font-family: 'Inter', sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 6px 12px;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
  transition: all 0.2s ease;
  white-space: nowrap;
  margin-top: 33px;
}

/* --- Badge de estado profesional --- */
.status-badge {
  background-color: var(--estado-color, #1b5e20);
  color: #fff;
  font-family: 'Inter', sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 6px 12px;
  border-radius: 4px;
  border: 2px solid #000;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
  transition: all 0.2s ease;
  white-space: nowrap;
  align-self: flex-start;
  margin-top: 8px;
}

/* Hover efectos sutiles */
.property:hover .transaction-badge {
  transform: translateY(-1px);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.property:hover .status-badge {
  transform: translateY(-1px);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

/* Listado: descripción del propietario / texto largo solo en detalle-propiedad */
.propertie-wrapper .property-owner-description,
.propertie-wrapper .property.carrusel-card > .property-content > .property-description,
.properties .property-owner-description {
    display: none !important;
}

/* Contenedor de imagen y carrusel (sin “marco”: sin borde ni relleno extra alrededor de la foto) */
.property-image-container {
  position: relative !important;
  overflow: hidden;
  border-radius: 0;
  border: none;
  box-shadow: none;
}
.property .carousel {
  position: relative;
  border-radius: 0;
  overflow: hidden;
  border: none;
  box-shadow: none;
}

.property .carousel .carousel-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border: none;
  border-radius: 0 !important;
  box-shadow: none;
  margin: 0;
  padding: 0;
}

.kasalia-card-video-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 9;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.88);
  color: #174f2b;
  border: 0;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(0,0,0,.12);
  backdrop-filter: blur(10px);
}

.kasalia-card-video-badge:hover {
  background: #ffffff;
  transform: translateY(-1px);
}
/* ===========================================================
   VISTA 1+MAPA: tarjeta horizontal compacta (estilo Airbnb/Idealista)
   - Foto edge-to-edge (sin padding/borde en la tarjeta)
   - Grid: 320px foto + 1fr contenido
   - Compacta en altura; extras limitados a 2 líneas
   =========================================================== */
/* Filtro JS listado: anula display:grid!important de mode-map-* al ocultar tarjetas */
.property.kasalia-listing-filter-hidden,
.mode-map-1 .property.carrusel-card.kasalia-listing-filter-hidden, .mode-map1 .property.carrusel-card.kasalia-listing-filter-hidden,
.mode-map2 .property.kasalia-listing-filter-hidden,
.mode-map3 .property.kasalia-listing-filter-hidden,
.mode-grid .property.kasalia-listing-filter-hidden {
    display: none !important;
}

.mode-map-1 .property.carrusel-card , .mode-map1 .property.carrusel-card {
  display: grid;
  grid-template-columns: 320px 1fr;
  padding: 0;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  overflow: hidden;
  background: #ffffff;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
  height: auto;
  min-height: 0;
  align-items: stretch;
}

.mode-map-1 .property.carrusel-card > .property-image-container , .mode-map1 .property.carrusel-card > .property-image-container {
  margin: 0;
  padding: 0;
  align-self: stretch;
  min-width: 0;
  min-height: 0;
  width: 100%;
  border-radius: 0;
  overflow: hidden;
  line-height: 0;
  font-size: 0;
}

.mode-map-1 .property.carrusel-card > .property-image-container .carousel , .mode-map1 .property.carrusel-card > .property-image-container .carousel {
  width: 100%;
  height: 100%;
  min-height: 100%;
  display: block;
  line-height: 0;
  font-size: 0;
}

.mode-map-1 .property.carrusel-card > .property-image-container .carousel .carousel-img, .mode-map1 .property.carrusel-card > .property-image-container .carousel .carousel-img,
.mode-map-1 .property.carrusel-card > .property-image-container img , .mode-map1 .property.carrusel-card > .property-image-container img {
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
}

.mode-map-1 .property.carrusel-card > .property-content , .mode-map1 .property.carrusel-card > .property-content {
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  gap: 6px;
  min-width: 0;
  min-height: 100%;
  overflow: visible;
}

/* Compactar la cabecera y los bloques internos del contenido */
.mode-map-1 .property.carrusel-card .property-card-header , .mode-map1 .property.carrusel-card .property-card-header {
  padding: 0 0 6px;
  margin: 0;
}

.mode-map-1 .property.carrusel-card .property-header , .mode-map1 .property.carrusel-card .property-header {
  margin: 0;
}

.mode-map-1 .property.carrusel-card .property-header .price-row , .mode-map1 .property.carrusel-card .property-header .price-row {
  margin: 2px 0 4px;
}

.mode-map-1 .property.carrusel-card .characteristics , .mode-map1 .property.carrusel-card .characteristics {
  margin: 0;
  padding: 0;
}

.mode-map-1 .property.carrusel-card .property-owner-description , .mode-map1 .property.carrusel-card .property-owner-description {
  margin: 0;
}

.mode-map-1 .property.carrusel-card .property-meta-row , .mode-map1 .property.carrusel-card .property-meta-row {
  margin-top: auto;
  padding-top: 8px;
  align-items: flex-end;
}

.mode-map-1 .property.carrusel-card .tarjeta-info-fotos , .mode-map1 .property.carrusel-card .tarjeta-info-fotos {
  margin-top: 2px;
}

/* Extras (2 líneas + clamp JS): reglas canónicas en bloque posterior kasalia-polish */

/* Tarjetas en rejilla o columnas: foto sin marco en la franja superior */
.mode-map2 .property > .property-image-container,
.mode-map3 .property > .property-image-container,
.mode-grid .property > .property-image-container {
  margin: -10px -10px 0 -10px;
  align-self: stretch;
  width: auto;
  border-radius: 0;
  overflow: hidden;
}

.mode-map2 .property.carrusel-card > .property-image-container,
.mode-map3 .property.carrusel-card > .property-image-container,
.mode-grid .property.carrusel-card > .property-image-container {
  margin: 0;
  border-radius: 0;
}

/* Flechas ocultas por defecto; aparecen con animación al hacer hover */
.property .carousel .prev,
.property .carousel .next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%) scale(0.96);
  background: rgba(255, 255, 255, 0.0);
  border: none;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.18s ease, transform 0.18s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.property .carousel:hover .prev,
.property .carousel:hover .next {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(-50%) scale(1);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}

.property .carousel .prev { left: 10px; }
.property .carousel .next { right: 10px; }

.property .carousel .prev img,
.property .carousel .next img {
  width: 18px;
  height: 18px;
}

/* Estilos para el botón Más... */
.property-actions {
    display: flex;
    justify-content: center;
    margin: 15px 0;
}

.btn-mas {
    background: rgba(76, 175, 80, 0.9);
    color: white;
    border: 2px solid #4CAF50;
    border-radius: 25px;
    padding: 10px 25px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: 0 2px 8px rgba(76, 175, 80, 0.3);
}

.btn-mas:hover {
    background: #4CAF50;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(76, 175, 80, 0.4);
}

.btn-mas:active {
    transform: translateY(0);
    box-shadow: 0 2px 6px rgba(76, 175, 80, 0.3);
}

/* ===== NUEVOS ESTILOS PARA TARJETAS REDISEÑADAS ===== */

/* Información de fotos y tiempo listado */
.tarjeta-info-fotos {
    position: absolute;
    bottom: 10px;
    left: 10px;
    background: rgba(255, 255, 255, 0.9);
    padding: 4px 8px;
    border-radius: 6px;
    font-size: 14px;
    display: flex;
    gap: 8px;
    backdrop-filter: blur(2px);
}

.listado-verde {
    color: #004d40; /* verde oscuro */
    font-weight: bold;
}

/* Estilo unificado para property-title - aplica a todos los modos */
.property-title {
    font-size: 22px;
    font-weight: 600;
    margin: 20px 0 6px 0;
    line-height: 1.3;
    color: #333;
    display: block;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* Contenedores individuales para extras */
.extras-contenedores {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 8px 0;
}

.extra-contenedor {
    background: rgba(240, 240, 240, 0.4);
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 6px;
    padding: 4px 8px;
    font-size: 13px;
    color: #555;
    font-weight: 500;
    white-space: nowrap;
    transition: all 0.2s ease;
}

.extra-contenedor:hover {
    background: rgba(76, 175, 80, 0.1);
    border-color: rgba(76, 175, 80, 0.3);
    color: #2e7d32;
}

/* Botones de interacción superiores: estilos canónicos en
   Styles/components/kasalia-share-menu.css (fav + compartir). */

/* Contenedor principal de la tarjeta - referencia para posicionamiento absoluto */
.property {
    position: relative;
}

/* Asegurar que property-content sea contenedor de referencia para posicionamiento absoluto */
.property-content {
    position: relative;
}

/* Estilos unificados para property-title - sin duplicados */

/* Responsive para móviles */
@media (max-width: 768px) {
    .tarjeta-info-fotos {
        font-size: 12px;
        padding: 3px 6px;
    }
    
    .property-title {
        font-size: 15px;
        margin: 6px 0 4px 0;
    }
    
    .extra-contenedor {
        font-size: 12px;
        padding: 3px 6px;
    }
}

/* Badges de disponibilidad / AOC / condición — pie de tarjeta, en línea con Contacto */
.disponibilidad-badges {
    --k-badge-gap: 6px;
    --k-badge-pad-y: 4px;
    --k-badge-pad-x: 8px;
    --k-badge-fs: 11px;
    --k-badge-fw: 600;
    --k-badge-radius: 6px;
    --k-badge-shadow: 0 1px 2px rgba(15, 23, 42, 0.1);
    position: static;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: var(--k-badge-gap);
    flex: 0 1 auto;
    min-width: 0;
    max-width: 100%;
    pointer-events: none;
    z-index: auto;
}

/* Badge de disponibilidad — etiqueta compacta (no botón principal) */
.disponibilidad-badge {
    position: static;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #1B5E20; /* verde oscuro */
    color: #ffffff;
    padding: var(--k-badge-pad-y) var(--k-badge-pad-x);
    border-radius: var(--k-badge-radius);
    font-size: var(--k-badge-fs);
    font-weight: var(--k-badge-fw);
    line-height: 1.25;
    box-shadow: var(--k-badge-shadow);
    pointer-events: none;
    box-sizing: border-box;
    white-space: nowrap;
}

.disponibilidad-badges .disponibilidad-badge {
    position: static;
    max-width: none;
}

.disponibilidad-badge--opcion-compra {
    --k-badge-aoc-bg: #d97706;
    --k-badge-aoc-fg: #ffffff;
    background: var(--k-badge-aoc-bg) !important;
    color: var(--k-badge-aoc-fg) !important;
}

.disponibilidad-badge--condicion-buena {
    --k-badge-cond-buena-bg: #15803d;
    --k-badge-cond-buena-fg: #ffffff;
    background: var(--k-badge-cond-buena-bg) !important;
    color: var(--k-badge-cond-buena-fg) !important;
}

.disponibilidad-badge--condicion-reformar {
    --k-badge-cond-reformar-bg: #ca8a04;
    --k-badge-cond-reformar-fg: #ffffff;
    background: var(--k-badge-cond-reformar-bg) !important;
    color: var(--k-badge-cond-reformar-fg) !important;
}

/* Estilos base para precio, características e iconos de contacto */
.property-header .price {
    font-size: 27px;
    color: rgba(0, 123, 255, 1);
    font-weight: 900;
    margin-left: 18px;
}

.property-header .price .price-vaca-suffix {
    font-size: 0.55em;
    font-weight: 800;
    color: #475569;
    margin-left: 2px;
}

.characteristics {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 15px;
    margin: 8px 18px;
    padding: 0;
    border-top: 0px solid #eee;
    border-bottom: 0px solid #eee;
}

.contact-icons {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    padding-top: 0px;
    border-top: 0px solid #e0e0e0;
    margin-top: -4px;
    margin-bottom: 6px;
    margin-left: 19px;
    vertical-align: middle;
}

/* Anunciante (Agencia/Particular) + logo placeholder */
.contact-icons .who{
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-width:0;
}
.contact-icons .who .logo{
    width:24px;
    height:24px;
    border-radius:8px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-weight:900;
    font-size:12px;
    color:#fff;
    background: linear-gradient(135deg, #111827, #374151);
    flex: 0 0 auto;
}
.contact-icons .who .logo.has-img{
    background:#fff;
    border:1px solid #e5e7eb;
    overflow:hidden;
}
.contact-icons .who .logo.has-img img{
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
}
.contact-icons .who .badge{
    font-weight:900;
    font-size:11px;
    padding:3px 8px;
    border-radius:999px;
    border:1px solid #e5e7eb;
    background:#f3f4f6;
    color:#374151;
    flex: 0 0 auto;
}
.contact-icons .who .tag{
    font-weight:900;
    font-size:12px;
    color:#111827;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width: 180px;
}

/* Fila inferior: badges de estado + Contacto (anclada al pie del content) */
.property-meta-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: auto;
    margin-left: 18px;
    margin-right: 18px;
    flex-shrink: 0;
}

.property-meta-row .tarjeta-info-fotos {
    position: static;
    bottom: auto;
    left: auto;
    background: rgba(0, 0, 0, 0.04);
    padding: 4px 8px;
    border-radius: 6px;
    font-size: 12px;
    gap: 8px;
    backdrop-filter: none;
}

/* Estilos para el doble click en las tarjetas */
.property.carrusel-card {
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    position: relative;
    z-index: 1; /* ← z-index bajo para que el dropdown del submenú quede ENCIMA */
}

.property.carrusel-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
    z-index: 10; /* ← Aumentar ligeramente en hover pero SIEMPRE menor que el dropdown */
}

.property.carrusel-card:active {
    transform: translateY(0);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    z-index: 10;
}

        /* ===== Submenu — estilo "pill" unificado =====
           Unificamos la apariencia en el padre .property-submenu-row y
           homogeneizamos los hijos para que formen una única barra */
        .property-submenu-row {
          display: flex;
          align-items: center;
          gap: 0;
          flex-wrap: nowrap;
          width: fit-content;
          max-width: 100%;
          margin-top: 7px;
          margin-bottom: 11px;
          padding: 6px;
          border-radius: 14px;
          background: #ffffff;
          box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
          border: 1px solid rgba(15, 23, 42, 0.06);
          /* permitir desplazamiento horizontal si falta espacio en pantallas intermedias */
          overflow-x: auto;
          -webkit-overflow-scrolling: touch;
        }

        /* Contenedor izquierdo que agrupa Results + View */
        .property-submenu {
          display: flex;
          align-items: center;
          gap: 8px;
          margin: 0;
          position: relative; /* dropdown absoluto relativo aquí */
          z-index: 50; /* dropdown seguirá apareciendo encima si es necesario */
          background: transparent;
          padding: 0 6px;
          width: auto;
          flex: 0 0 auto;
          white-space: nowrap;
        }

        /* Grupo "Shorts" — ahora visible como parte de la misma barra */
        .property-submenu-shorts {
          display: flex;
          align-items: center;
          flex-shrink: 0;
          background: transparent;
          padding: 0 6px;
          border: none;
          border-radius: 0;
          box-shadow: none;
          white-space: nowrap;
          margin-left: 6px;
        }

        /* Items internos: icono + texto, mismos tamaños y centrado vertical */
        .property-submenu .submenu-item,
        .property-submenu-shorts .submenu-item {
          display: inline-flex;
          align-items: center;
          gap: 10px;
          padding: 8px 10px;
          border-radius: 999px;
          font-weight: 700;
          font-size: 14px;
          line-height: 1;
          color: #0f172a;
          background: transparent;
          cursor: pointer;
          white-space: nowrap;
        }

        /* Separadores verticales finos entre grupos */
        .property-submenu .submenu-item + .submenu-item::before {
          content: "";
          display: inline-block;
          width: 1px;
          height: 56%;
          background: rgba(15, 23, 42, 0.06);
          margin: 0 8px;
          vertical-align: middle;
        }

        /* Separador antes de Shorts (para que parezca parte del mismo pill) */
        .property-submenu-shorts::before {
          content: "";
          display: block;
          width: 1px;
          height: 56%;
          background: rgba(15, 23, 42, 0.06);
          margin: 0 8px;
          align-self: center;
        }

        /* Asegurar dropdown "View" funcione igual: sigue usando position:absolute */
        .property-submenu .submenu-item.vista { position: relative; }

        /* Ocultar scrollbar visualmente pero mantener scroll funcional */
        .property-submenu-row::-webkit-scrollbar { height: 6px; }
        .property-submenu-row::-webkit-scrollbar-thumb { background: transparent; }
        .property-submenu-row { scrollbar-width: none; -ms-overflow-style: none; }

        /* Ocultar scrollbar (mantener scroll funcional) */
        .property-submenu::-webkit-scrollbar { height: 0; }
        .property-submenu { scrollbar-width: none; }
        .property-submenu::-webkit-scrollbar-thumb { background: transparent; }

        /* ===== Properties Wrapper ===== */
        .properties-wrapper {
          /* Contenedor para las tarjetas de propiedades */
          width: 100%;
          min-width: 0;
          max-width: 100%;
          box-sizing: border-box;
        }

        /* Vista por defecto: Mapa con 1 columna (carrusel) */
        .properties-wrapper {
          display: flex;
          flex-direction: column;
          gap: 15px;
        }

        .kasalia-listado-pager {
          display: flex;
          flex-wrap: wrap;
          align-items: center;
          justify-content: center;
          gap: 8px;
          padding: 8px 0 16px;
        }
        .kasalia-listado-pager__btn,
        .kasalia-listado-pager__num {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          min-width: 44px;
          min-height: 44px;
          padding: 0 12px;
          border: 1px solid #d0d5dd;
          border-radius: 10px;
          color: #1e3a5f;
          text-decoration: none;
          font-size: 14px;
          font-weight: 600;
          box-sizing: border-box;
        }
        .kasalia-listado-pager__num.is-current {
          background: #166534;
          border-color: #166534;
          color: #fff;
        }

        /* Vista: Mapa con 1 columna (carrusel) */
        .mode-map-1 .properties-wrapper , .mode-map1 .properties-wrapper {
          display: flex;
          flex-direction: column;
          gap: 15px;
        }

.property-submenu .submenu-item,
.property-submenu-shorts .submenu-item {
  cursor: pointer;
  /* Eliminada transición de opacidad para evitar transparencia */
  white-space: nowrap;
}

.property-submenu .submenu-item:hover {
  /* Eliminado opacity: 0.7 para evitar transparencia */
  color: #007bff; /* Cambio de color en lugar de opacidad */
}

        /* .property-submenu.hidden - DESHABILITADO - El submenú nunca se oculta */
        

        /* Asegurar que el submenú esté posicionado correctamente en todas las vistas */
        .properties {
          position: relative;
          min-width: 0;
          max-width: 100%;
          box-sizing: border-box;
        }

/* Texto "Resultados" en negrita */
.property-submenu .result-label {
  font-weight: bold;
}



/* Contenedor interno de las opciones */
.submenu-dropdown .grid-options {
  padding: 8px 8px 4px 8px; /* ↓ Reducido padding inferior de 6px → 4px */
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px; /* ↓ Antes era 4px → mejora la proporción */
}

/* Opciones individuales */
.submenu-dropdown .option-item {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  width: 140px;
  height: 40px;
  padding: 6px 12px; /* ↓ Antes 8px → más compacto verticalmente */
  cursor: pointer;
  transition: background-color 0.2s ease;
  font-size: 13px;
  font-weight: normal;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  text-align: left;
  background: white;
  gap: 10px;
}

.submenu-dropdown .option-item:hover {
  background-color: #f5f5f5;
}

        .submenu-dropdown .option-item.selected {
          background-color: #C8E6C9 !important;
          color: #1B5E20 !important;
          font-weight: bold;
          border-color: #66BB6A !important;
          box-shadow: 0 2px 4px rgba(102, 187, 106, 0.3) !important;
        }

/* Icono de las vistas */
.submenu-dropdown .vista-icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Posicionamiento correcto del dropdown desde la palabra Vista */
.submenu-item.vista {
  position: relative;
  z-index: 10001;  /* mayor que el dropdown para crear contexto de apilamiento */
}

.submenu-item.shorts {
  position: relative;
  z-index: 10001;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 0 !important;
  margin: 0;
  border: none !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  color: #174f2b !important;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.2;
}

.property-submenu-shorts .submenu-item.shorts:hover {
  color: #1b5e20 !important;
  background: none !important;
  opacity: 1;
}

.submenu-item.shorts.selected {
  color: #174f2b !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Asegurar que los extras se muestren en todas las vistas */
.mode-map2 .property-extras,
.mode-map3 .property-extras,
.mode-grid .property-extras {
  display: flex;
}

/* --- Dropdown idioma (portal a body + fixed): por encima de .banner-bottom (z-index ~1300) --- */
body.landing .language-options.language-options--fixed.show {
  display: block !important;
  position: fixed !important;
  flex-direction: column !important;
  min-width: 150px !important;
  padding: 6px 0 !important;
  margin: 0 !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.14) !important;
  z-index: 2147483647 !important;
}

/* --- Ajuste barra de filtros: evitar recortes a la derecha (manteniendo dropdowns) --- */
.banner-bottom {
  overflow-x: auto;     /* si en alguna resolución no cabe, scroll horizontal */
  overflow-y: visible;  /* no recortar dropdowns hacia abajo */
}

.banner-bottom .search-bar {
  flex-wrap: nowrap !important; /* 1 sola fila */
  gap: 10px !important;
}

.banner-bottom .search-fields-container {
  width: auto !important;         /* evita empujar los botones fuera de pantalla */
  max-width: none !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  flex-wrap: nowrap !important;   /* 1 sola fila */
}

.banner-bottom .buttons-container {
  flex: 0 0 auto !important;
  flex-wrap: nowrap !important;   /* botones en una sola fila */
  justify-content: flex-end !important;
  min-width: 0 !important;
  gap: 10px !important;
}

.banner-bottom #ubicacion-field {
  width: auto !important;
  flex: 0 1 240px !important;     /* quitar “longitud” */
  min-width: 180px !important;
  max-width: 260px !important;
}

.banner-bottom #ubicacion-field .search-input {
  width: 100% !important;
}

.banner-bottom .search-field input {
  min-width: 0 !important;        /* permitir encoger sin desbordar */
}

.banner-bottom .buttons-container .text-button {
  background: rgba(255, 255, 255, 0.92) !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 999px !important;
  padding: 8px 12px !important;
  gap: 8px !important;
  margin-left: 0 !important;
  box-shadow: 0 6px 16px rgba(0,0,0,0.06) !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease !important;
}
.banner-bottom .buttons-container .text-button:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 10px 22px rgba(0,0,0,0.08) !important;
  border-color: rgba(0, 123, 255, 0.35) !important;
}
/* === STYLE BLOCK 4/8 === */
/* Sugerencias para autocompletado (Photon) */
            .map-suggestions { position: absolute; top: 100%; left: 0; right: 0; background: #fff; border: 1px solid #ccc; border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.1); z-index: 1200; display: none; max-height: 260px; overflow-y: auto; }

            /* Estilos profesionales para autocompletado estilo Idealista */
            #search-results li {
                padding: 0;
                margin: 0;
                cursor: pointer;
                background: white;
                transition: background-color 0.15s ease;
                border: none;
                position: relative;
            }

            #search-results li:hover {
                background-color: #f8f9fa;
            }

            /* Badges de categoría en #search-results y Mapbox autocomplete */
            #search-results .sr-badge,
            .mapbox-autocomplete-item-type {
                color: #ffffff !important;
                font-size: 14px;
                padding: 2px 8px;
                border-radius: 5px;
                line-height: 1.2;
                display: inline-block;
                white-space: nowrap;
                text-transform: uppercase;
            }
            #search-results .sr-badge--city,
            .mapbox-autocomplete-item-type.sr-badge--city { background: #1064b0; }
            #search-results .sr-badge--community,
            .mapbox-autocomplete-item-type.sr-badge--community { background: #124e83; }
            #search-results .sr-badge--province,
            .mapbox-autocomplete-item-type.sr-badge--province { background: #760404; }
            /* Tonos adicionales coherentes */
            #search-results .sr-badge--country,
            .mapbox-autocomplete-item-type.sr-badge--country { background: #0d5a9e; }
            #search-results .sr-badge--address,
            .mapbox-autocomplete-item-type.sr-badge--address { background: #0f4064; }
            #search-results .sr-badge--location,
            .mapbox-autocomplete-item-type.sr-badge--location { background: #083455; }

            /* Encabezado del dropdown de Mapbox autocomplete */
            .mapbox-autocomplete-header {
                padding: 14px 16px;
                background-color: rgba(255, 255, 255, 1);
                background: linear-gradient(135deg, rgba(9, 109, 241, 1) 0%, rgba(22, 167, 12, 1) 100%);
                color: white;
                font-size: 13px;
                font-weight: 600;
                display: flex;
                align-items: center;
                gap: 8px;
                border-radius: 30px;
            }

            /* Override específico para Mapbox autocomplete badges */
            .mapbox-autocomplete-item-type {
                font-size: 11px;
                font-weight: 600;
                padding: 3px 8px;
                border-radius: 5px;
                white-space: nowrap;
                color: #ffffff !important;
                -webkit-text-fill-color: #fff !important;
                text-transform: uppercase;
                letter-spacing: 0.5px;
                margin-right: -13px;
                margin-left: 4px;
            }

            /* Interacción hover/selección de ítems en Mapbox autocomplete */
            .mapbox-autocomplete-item:hover,
            .mapbox-autocomplete-item.selected {
                background: linear-gradient(90deg, #4e77bd21 0%, #e8f5e8 100%);
                border-left: 4px solid;
                padding-left: 12px;
            }

            .autocomplete-item {
                display: flex;
                align-items: center;
                padding: 12px 16px;
                min-height: 48px;
                border-bottom: 1px solid #f1f3f4;
            }

            .autocomplete-item:last-child {
                border-bottom: none;
            }

            .autocomplete-icon {
                width: 20px;
                height: 20px;
                margin-right: 12px;
                flex-shrink: 0;
                display: flex;
                align-items: center;
                justify-content: center;
            }

            .autocomplete-icon svg {
                width: 16px;
                height: 16px;
                fill: #6c757d;
            }

            .autocomplete-content {
                flex: 1;
                display: flex;
                flex-direction: column;
                gap: 2px;
            }

            .autocomplete-title {
                font-size: 14px;
                font-weight: 500;
                color: #212529;
                line-height: 1.3;
                margin: 0;
            }

            .autocomplete-subtitle {
                font-size: 12px;
                color: #6c757d;
                line-height: 1.3;
                margin: 0;
            }

            .autocomplete-tag {
                display: inline-block;
                padding: 2px 8px;
                border-radius: 12px;
                font-size: 10px;
                font-weight: 600;
                text-transform: uppercase;
                letter-spacing: 0.5px;
                margin-left: 8px;
                flex-shrink: 0;
            }

            .autocomplete-tag.city {
                background-color: #e3f2fd;
                color: #1976d2;
            }

            .autocomplete-tag.street {
                background-color: #e8f5e8;
                color: #2e7d32;
            }

            .autocomplete-tag.location {
                background-color: #fff3e0;
                color: #f57c00;
            }

            .autocomplete-tag.desplazamiento {
                background-color: #f3e5f5;
                color: #7b1fa2;
            }

            /* Estilos para elementos especiales */
            .autocomplete-item.special {
                background-color: #f8f9fa;
                border-bottom: 1px solid #e9ecef;
            }

            .autocomplete-item.special:hover {
                background-color: #e9ecef;
            }

            .autocomplete-item.special .autocomplete-title {
                color: #495057;
                font-weight: 600;
            }

            .autocomplete-item.special .autocomplete-icon svg {
                fill: #007bff;
            }
            .map-suggestion-item { padding: 8px 12px; cursor: pointer; font-size: 14px; }
            .map-suggestion-item:hover, .map-suggestion-item.active { background: #f0f0f0; }
            /* Pin de precio (rectángulo con flecha) */
            .price-pin-wrapper { position: relative; display: inline-block; white-space: nowrap; background: #C8E6C9; color: #000; border: 2px solid #1B5E20; border-radius: 8px; padding: 2px 8px; font-weight: 700; font-size: 13px; line-height: 18px; box-shadow: 0 2px 6px rgba(0,0,0,0.15); }
            .price-pin-wrapper .euro { font-weight: 800; }
            .price-pin-wrapper:after { content: ""; position: absolute; left: 50%; transform: translateX(-50%); bottom: -8px; width: 0; height: 0; border-left: 8px solid transparent; border-right: 8px solid transparent; border-top: 8px solid #1B5E20; }
            .price-pin-inner { position: absolute; left: 50%; transform: translateX(-50%); bottom: -6px; width: 0; height: 0; border-left: 7px solid transparent; border-right: 7px solid transparent; border-top: 7px solid #C8E6C9; }
            /* Popup Leaflet (nuevo diseño) */
            .leaflet-popup-content-wrapper { background: transparent !important; box-shadow: none !important; border: none !important; padding: 0 !important; }
            .leaflet-popup-tip { background: transparent !important; box-shadow: none !important; }
            .leaflet-popup-content { margin: 0 !important; padding: 0 !important; width: auto !important; max-width: none !important; }
            .map-miniatura { width: 280px; background: #fff; border: 0px; border-radius: 14px; overflow: hidden; box-shadow: 0 6px 20px rgba(0,0,0,0.25); font-family: 'Inter', sans-serif; }
            .map-miniatura .imagen-wrapper { position: relative; }
            .map-miniatura .popup-image { width: 100%; height: 170px; object-fit: cover; display: block; }
            .map-miniatura .precio-badge { position: absolute; left: 12px; bottom: 12px; background-color: #1abc9c; color: #fff; font-weight: 800; padding: 6px 12px; border-radius: 12px; font-size: 16px; box-shadow: 0 3px 8px rgba(0,0,0,0.25); }
            .map-miniatura .contenido { padding: 10px 14px; background: #fff; position: relative; }
            .map-miniatura .titulo { font-size: 15px; font-weight: bold; color: #333; margin: 0 0 8px; line-height: 1.3em; }
            .map-miniatura .caracteristicas { display: flex; gap: 14px; color: #777; font-size: 14px; align-items: center; }
            .map-miniatura .carac { display: inline-flex; align-items: center; gap: 6px; }
            .map-miniatura .carac img { width: 18px; height: 18px; display: inline-block; }
            .map-miniatura .sello { position: absolute; right: 10px; bottom: 10px; width: 26px; height: 26px; opacity: 0.9; }
            /* Campo de búsqueda de ubicación profesional */
            #ubicacion-field { 
                display: flex; 
                align-items: center; 
                position: relative;
            }
            
            /* Input de búsqueda mejorado */
            #search-location {
                width: 100% !important;
                background: transparent !important;
                border: 0 !important;
                outline: none !important;
                padding: 8px 12px !important;
                font-size: 16px !important;
                color: #000000 !important;
                -webkit-text-fill-color: #000000 !important;
                font-family: 'Inter', sans-serif !important;
                font-weight: 400 !important;
            }
            
            #search-location::placeholder {
                color: #333333 !important;
                -webkit-text-fill-color: #333333 !important;
                font-style: normal !important;
                opacity: 1 !important;
            }
            
            #search-location:focus::placeholder {
                color: #333333 !important;
                -webkit-text-fill-color: #333333 !important;
                opacity: 1 !important;
            }
            
            /* Contenedor del dropdown */
            #ubicacion-field {
                z-index: 1200 !important;
            }
            
            /* Mini mapas estáticos en tarjetas */
            /* Eliminadas miniaturas de mapa en tarjetas */
            
            /* Estilos para tarjeta seleccionada */
            .property.carrusel-card.selected {
                border: 2px solid #1abc9c;
                box-shadow: 0 0 0 2px rgba(26, 188, 156, 0.3);
                transform: translateY(-1px);
            }
            
            /* Iconos para el filtro Vista */
.vista-icon {
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-right: 8px;
    vertical-align: middle;
}

/* Controles del mapa profesionales como HAR.com */
.map-controls {
    position: absolute;
    top: 20px;
    right: 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    z-index: 1000;
}

.map-control-btn {
    width: 44px;
    height: 44px;
    background: white;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    color: #333;
}

.map-control-btn:hover {
    background: #f8f9fa;
    border-color: #007bff;
    box-shadow: 0 4px 12px rgba(0, 123, 255, 0.15);
    transform: translateY(-1px);
}

.map-control-btn:active {
    transform: translateY(0);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

.map-control-btn svg {
    width: 20px;
    height: 20px;
    color: #333;
}

.map-control-btn.active {
    background: #1abc9c;
    color: white;
    border-color: #1abc9c;
}

.map-control-btn.active svg {
    color: white;
}

/* ===== Geolocalización usuario (Kasalia) ===== */
.map-control-btn.geo-btn {
    padding: 0;
}

.map-control-btn.geo-btn svg {
    width: 20px;
    height: 20px;
}

.map-control-btn.geo-btn.active {
    background: #5db85d;
    border-color: #5db85d;
    color: #fff;
}

.kasalia-geo-panel {
    position: absolute;
    top: 20px;
    left: 20px;
    z-index: 1001;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(93, 184, 93, 0.35);
    border-radius: 14px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
    padding: 12px 12px 10px;
    min-width: 220px;
    backdrop-filter: blur(6px);
}

.kasalia-geo-panel[hidden] { display: none !important; }

.kasalia-geo-panel__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.kasalia-geo-panel__label {
    font-weight: 800;
    color: #1b5e20;
    font-size: 12px;
    letter-spacing: 0.2px;
}

.kasalia-geo-panel__close {
    width: 28px;
    height: 28px;
    border-radius: 10px;
    border: 1px solid rgba(0,0,0,0.08);
    background: #fff;
    cursor: pointer;
    font-weight: 900;
    color: #0f172a;
}

.kasalia-geo-panel__close:hover {
    border-color: rgba(93, 184, 93, 0.6);
    box-shadow: 0 6px 18px rgba(93, 184, 93, 0.18);
}

.kasalia-geo-panel__select {
    width: 100%;
    margin-top: 8px;
    appearance: none;
    border: 1px solid rgba(93, 184, 93, 0.35);
    border-radius: 12px;
    padding: 10px 12px;
    background: #fff;
    font-weight: 800;
    color: #0f172a;
    cursor: pointer;
}

.kasalia-geo-hint {
    position: absolute;
    left: 20px;
    bottom: 20px;
    z-index: 1001;
    background: rgba(15, 23, 42, 0.85);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    border-radius: 12px;
    padding: 10px 12px;
    box-shadow: 0 10px 26px rgba(0,0,0,0.18);
}

.kasalia-geo-hint[hidden] { display: none !important; }

.kasalia-user-location {
    position: relative;
    width: 18px;
    height: 18px;
}

.kasalia-user-location::before,
.kasalia-user-location::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 999px;
}

.kasalia-user-location::before {
    background: rgba(37, 99, 235, 0.25);
    animation: kasaliaPulse 1.6s ease-out infinite;
    transform: scale(1);
}

.kasalia-user-location::after {
    background: #2563eb;
    box-shadow: 0 0 0 3px rgba(255,255,255,0.9);
    transform: scale(0.48);
    top: 50%;
    left: 50%;
    width: 18px;
    height: 18px;
    margin-left: -9px;
    margin-top: -9px;
}

@keyframes kasaliaPulse {
    0% { transform: scale(0.55); opacity: 0.95; }
    70% { transform: scale(1.55); opacity: 0; }
    100% { transform: scale(1.55); opacity: 0; }
}
            
            .mapa-1-col-icon {
                background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23333'%3E%3Cpath d='M3 3h18v18H3V3zm2 2v14h14V5H5zm2 2h10v2H7V7zm0 4h10v2H7v-2zm0 4h6v2H7v-2z'/%3E%3C/svg%3E");
            }
            
                    /* ===== SISTEMA DE VISTAS ===== */
        /* Vista por defecto: Mapa con 1 columna (carrusel) */
        .content {
            display: flex;
            height: calc(100vh - 200px);
            gap: 0;
        }

        /* Ajuste pro: más ancho para el mapa sin tocar el margen/gap entre columnas */
        .content > .properties {
            flex: 0 0 55%;
            max-width: 55%;
            min-width: 0; /* igual que .map: sin esto el contenido puede forzar ancho y desbordar encima del mapa */
            box-sizing: border-box;
        }

        .content > .map {
            flex: 1 1 45%;
            min-width: 0; /* evita recortes/overflow en layouts flex */
        }

        /* Layout 2+mapa equilibrado como HAR.com */
        

        /* Asegurar que el mapa permanezca visible en todos los modos excepto grid y map-only */
        .mode-map-1 .map, .mode-map1 .map,
        .mode-map-2 .map,
        .mode-map-3 .map {
            display: block !important;
        }

        /* Vista: Solo tarjetas (4 por fila) - ocultar mapa */
        .mode-grid .map {
            display: none !important;
        }

        /* Mantener el mapa a toda pantalla como está ahora */
        .map {
            height: calc(100vh - 16vh) !important;
            width: 100% !important;
        }

        /* Vista: Solo mapa - TODO ANCHO */
        .mode-maponly .properties {
            display: none !important;
        }

        .kasalia-shorts-view {
            display: none;
            min-height: calc(100vh - var(--banner-offset, 140px));
            padding: 14px 16px 18px;
            box-sizing: border-box;
            background: #f4f7f5;
            color: #0f172a;
            overflow-y: auto;
            overflow-x: hidden;
        }

        .mode-shorts .properties-wrapper,
        .mode-shorts .property-submenu + .properties-wrapper {
            display: none !important;
        }

        /* Shorts: misma caja de .properties que mapa/listado (padding/márgenes de la barra).
         * No poner padding:0 ni flex-column+overflow aquí: aplastaba .property-submenu-row. */
        .mode-shorts .kasalia-shorts-view {
            display: block;
        }

        .kasalia-shorts-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            margin-bottom: 12px;
            padding: 0 2px;
        }

        .kasalia-shorts-header h2 {
            margin: 0;
            font-size: 15px;
            font-weight: 800;
            color: #174f2b;
            letter-spacing: -0.02em;
        }

        .kasalia-shorts-header p {
            margin: 0;
            font-size: 12px;
            color: #64748b;
            font-weight: 600;
        }

        .kasalia-shorts-grid {
            display: grid;
            /* Columna = 55% como tarjetas: más columnas → miniaturas más compactas */
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 10px 8px;
            min-height: 140px;
        }

        @media (min-width: 1500px) {
            .kasalia-shorts-grid {
                grid-template-columns: repeat(5, minmax(0, 1fr));
            }
        }

        @media (max-width: 1100px) {
            .kasalia-shorts-grid {
                grid-template-columns: repeat(3, minmax(0, 1fr));
            }
        }

        .kasalia-short-tile {
            display: flex;
            flex-direction: column;
            cursor: pointer;
            border-radius: 10px;
            transition: transform .22s ease, box-shadow .22s ease;
            min-width: 0;
            position: relative;
        }

        .kasalia-short-tile:hover {
            transform: scale(1.04) translateY(-2px);
            z-index: 4;
        }

        .kasalia-short-tile.is-map-hovered {
            transform: scale(1.04);
            z-index: 3;
        }

        .kasalia-short-tile.is-map-hovered:hover {
            transform: scale(1.04);
        }

        .kasalia-short-tile.is-map-hovered .kasalia-short-media {
            box-shadow: 0 0 0 2px #174f2b, 0 14px 32px rgba(23, 79, 43, .32);
        }

        .kasalia-short-tile.is-active .kasalia-short-media {
            box-shadow: 0 0 0 2px #174f2b, 0 10px 28px rgba(23, 79, 43, .22);
        }

        .kasalia-short-media {
            position: relative;
            width: 100%;
            aspect-ratio: 9 / 16;
            border-radius: 8px;
            overflow: hidden;
            background: #0b1220;
            box-shadow: 0 3px 10px rgba(15, 23, 42, .1);
        }

        .kasalia-short-media img,
        .kasalia-short-media video,
        .kasalia-short-media iframe {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
            border: 0;
        }

        .kasalia-short-play {
            position: absolute;
            inset: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            background: rgba(15, 23, 42, .18);
            color: #fff;
            font-size: 22px;
            pointer-events: none;
            transition: opacity .2s ease;
        }

        .kasalia-short-tile.is-playing .kasalia-short-play,
        .kasalia-short-tile.is-active .kasalia-short-play {
            opacity: 0;
        }

        .kasalia-short-band {
            position: absolute;
            left: 0;
            right: 0;
            bottom: 0;
            z-index: 2;
            padding: 32px 10px 10px;
            background: linear-gradient(180deg,
                rgba(15, 23, 42, 0) 0%,
                rgba(15, 23, 42, 0.62) 38%,
                rgba(15, 23, 42, 0.92) 100%);
            backdrop-filter: blur(3px);
            -webkit-backdrop-filter: blur(3px);
            color: #fff;
            display: flex;
            flex-direction: column;
            gap: 5px;
            pointer-events: auto;
        }

        .kasalia-short-band-loc {
            font-size: 11px;
            font-weight: 700;
            line-height: 1.3;
            color: rgba(255, 255, 255, .96);
            text-shadow: 0 1px 3px rgba(0, 0, 0, .55);
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .kasalia-short-band-price {
            font-size: 15px;
            font-weight: 900;
            color: #e8c547;
            letter-spacing: -0.02em;
            text-shadow: 0 1px 4px rgba(0, 0, 0, .65);
        }

        .kasalia-short-band-actions {
            display: flex !important;
            flex-direction: row !important;
            flex-wrap: nowrap !important;
            justify-content: stretch;
            align-items: stretch;
            gap: 4px;
            margin-top: 4px;
            width: 100%;
            box-sizing: border-box;
        }

        .kasalia-short-band-btn {
            flex: 1 1 50%;
            width: 50%;
            min-width: 0;
            max-width: 100%;
            border: 0;
            border-radius: 6px;
            padding: 5px 4px;
            font-size: 10px;
            font-weight: 800;
            background: #174f2b;
            color: #fff;
            cursor: pointer;
            box-shadow: 0 2px 8px rgba(0, 0, 0, .35);
            transition: background .15s ease, transform .15s ease;
            text-align: center;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            line-height: 1.2;
            box-sizing: border-box;
        }

        .kasalia-short-band-btn:hover {
            background: #1d6636;
            transform: translateY(-1px);
        }

        .kasalia-short-band-btn--detail {
            background: #c9a024;
            color: #fff;
        }

        .kasalia-short-band-btn--detail:hover {
            background: #b8910f;
            transform: translateY(-1px);
        }

        .kasalia-shorts-empty-inline {
            grid-column: 1 / -1;
            padding: 20px 8px;
        }

        .kasalia-shorts-empty {
            padding: 28px 12px;
            text-align: center;
            color: #475569;
        }

        .kasalia-shorts-empty h3 {
            margin: 0 0 6px;
            font-size: 16px;
            color: #174f2b;
        }

        .kasalia-shorts-empty p {
            margin: 0;
            font-size: 13px;
            line-height: 1.45;
        }

        .price-pin-short-icon {
            position: absolute;
            top: -9px;
            right: -7px;
            width: 16px;
            height: 16px;
            border-radius: 50%;
            background: #174f2b;
            color: #fff;
            font-size: 8px;
            line-height: 16px;
            text-align: center;
            font-weight: 900;
            box-shadow: 0 2px 6px rgba(0, 0, 0, .22);
            opacity: .88;
            z-index: 2;
        }

        .price-pin-wrapper {
            position: relative;
        }

        .leaflet-marker-icon:hover .price-pin-short-icon,
        .price-pin-wrapper.active .price-pin-short-icon,
        .price-pin-wrapper.hover .price-pin-short-icon {
            opacity: 1;
            transform: scale(1.08);
        }

        @media (max-width: 768px) {
            .mode-shorts .content {
                display: block !important;
            }
            .mode-shorts .map {
                display: none !important;
            }
            .mode-shorts .properties {
                width: 100% !important;
                max-width: none !important;
                height: calc(100vh - 74px) !important;
            }
            .kasalia-shorts-view {
                min-height: 100vh;
                padding: 10px 12px 16px;
            }
            .kasalia-shorts-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 12px;
            }
        }

        .kasalia-short-modal-root {
            position: fixed;
            inset: 0;
            z-index: 10060;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
            box-sizing: border-box;
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
            transition: opacity 0.22s ease, visibility 0.22s ease;
        }

        .kasalia-short-modal-root.is-open {
            opacity: 1;
            visibility: visible;
            pointer-events: auto;
        }

        .kasalia-short-modal__backdrop {
            position: absolute;
            inset: 0;
            background: rgba(15, 23, 42, 0.55);
            -webkit-backdrop-filter: blur(10px);
            backdrop-filter: blur(10px);
            cursor: pointer;
        }

        .kasalia-short-modal__dialog {
            position: relative;
            z-index: 1;
            display: flex;
            flex-direction: column;
            align-items: center;
            max-width: 100%;
            transform: scale(0.96);
            transition: transform 0.22s ease;
        }

        .kasalia-short-modal-root.is-open .kasalia-short-modal__dialog {
            transform: scale(1);
        }

        .kasalia-short-modal__close {
            position: absolute;
            top: 10px;
            right: 10px;
            z-index: 2;
            width: 36px;
            height: 36px;
            border: 0;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.95);
            color: #174f2b;
            font-size: 22px;
            line-height: 1;
            font-weight: 700;
            cursor: pointer;
            box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
            transition: background 0.15s ease, transform 0.15s ease;
        }

        .kasalia-short-modal__close:hover {
            background: #fff;
            transform: scale(1.05);
        }

        .kasalia-short-modal__player {
            position: relative;
            aspect-ratio: 9 / 16;
            width: min(90vw, calc(90vh * 9 / 16));
            max-width: 90vw;
            max-height: 90vh;
            height: auto;
            border-radius: 14px;
            overflow: hidden;
            background: #0b1220;
            box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(255, 255, 255, 0.08);
        }

        .kasalia-short-modal__player img {
            width: 100%;
            height: 100%;
            object-fit: contain;
            display: block;
            background: #000;
        }

        .kasalia-short-modal__player iframe,
        .kasalia-short-modal__player video {
            width: 100%;
            height: 100%;
            border: 0;
            display: block;
            object-fit: contain;
            background: #000;
        }

        body.kasalia-short-modal-open {
            overflow: hidden;
        }

        @media (max-width: 768px) {
            .kasalia-short-modal__close {
                top: 8px;
                right: 8px;
                width: 34px;
                height: 34px;
            }

            .kasalia-short-modal__player {
                width: min(92vw, calc(88vh * 9 / 16));
                max-height: 88vh;
                border-radius: 12px;
            }
        }

        .mode-maponly .map {
            flex: 1 1 100% !important;
            order: 1 !important;
            width: 100% !important;
            height: calc(100vh - 18vh) !important;
        }

        .mode-maponly .content {
            display: block !important;
        }




        /* --- Dropdown “Vista”: apilamiento en .submenu-dropdown (no duplicar .property-submenu aquí) --- */
        
        /* Dropdown visible — fixed al abrirse (JS) para no quedar recortado por overflow del listado */
        .submenu-dropdown {
          position: absolute !important;
          z-index: 200 !important;
          background: #fff !important;
          border: 1px solid #ddd !important;
          border-radius: 6px !important;
          box-shadow: 0 4px 10px rgba(0,0,0,0.15) !important;
          overflow: visible !important;
          display: none;
          top: 100%;
          left: 0;
          min-width: 160px;
        }
        
        .submenu-dropdown.show {
          display: block !important;
          position: fixed !important;
          z-index: 2147483646 !important;
        }

        .property-submenu-row {
          overflow-x: auto;
          overflow-y: visible;
        }

        .property-submenu:has(.submenu-dropdown.show),
        .submenu-item.vista:has(.submenu-dropdown.show) {
          overflow: visible !important;
          z-index: 12050 !important;
        }
        
        /* Tarjetas por debajo */
        .property {
          position: relative;
          z-index: 1 !important;
        }



        /* ===== DISEÑO RESPONSIVO MEJORADO ===== */
        
        /* Tablets */
        @media (max-width: 1024px) {
            .content {
                flex-direction: column;
                height: auto;
            }
            
            .properties {
                flex: 0 0 auto;
                order: 1;
                height: 50vh;
                border-right: none;
                border-bottom: 1px solid #e0e0e0;
            }
            
            .map {
                flex: 0 0 auto;
                order: 2;
                height: 50vh;
            }
            
            .property {
                height: 250px;
            }

            .property.carrusel-card {
                height: auto !important;
                min-height: 0 !important;
                overflow: hidden !important;
            }
            
            .property-image-container {
                flex: 0 0 35%;
            }
        }

        /* Móviles */
        @media (max-width: 768px) {
            .properties {
                height: 40vh;
                padding: 15px;
            }
            
            .map {
                height: 60vh;
            }
            
            .property {
                height: 220px;
                margin-bottom: 15px;
            }

            .property.carrusel-card {
                height: auto !important;
                min-height: 0 !important;
                overflow: hidden !important;
            }
            
            .property-image-container {
                flex: 0 0 40%;
            }
            
            .property-content {
                padding: 15px;
            }
            
            .property-title {
                font-size: 16px;
            }
            
            .property-header .price {
                font-size: 27px;
            }
            
            .characteristics {
                gap: 8px;
            }
            
            .characteristics div {
                padding: 4px 8px;
                font-size: 12px;
            }
            
            .map-controls {
                top: 15px;
                right: 15px;
            }
            
            .map-control-btn {
                width: 40px;
                height: 40px;
            }
        }

        /* Móviles pequeños */
        @media (max-width: 768px) {
            .properties {
                height: 35vh;
                padding: 10px;
            }
            
            .map {
                height: 65vh;
            }
            
            .property {
                height: 200px;
                flex-direction: column;
            }
            
            .property-image-container {
                flex: 0 0 50%;
                width: 100%;
            }
            
            .property-content {
                flex: 1;
                padding: 12px;
            }
            
            .property-title {
                font-size: 14px;
                margin-bottom: 6px;
            }
            
            .property-header .price {
                font-size: 27px;
                margin-bottom: 8px;
            }
            
            .property-description {
                font-size: 12px;
                margin-bottom: 8px;
            }
            
            .characteristics {
                gap: 6px;
                margin: 8px 0;
                padding: 8px 0;
            }
            
            .characteristics div {
                padding: 3px 6px;
                font-size: 11px;
            }
        }

        /* Asegurar que el submenú se muestre en modo 1+mapa */
        .mode-map-1 .property-submenu , .mode-map1 .property-submenu {
            display: flex !important;
            opacity: 1 !important;
            pointer-events: auto !important;
            transform: none !important;
        }

        /* Botón para volver al modo 1+mapa en vista solo mapa */
        .back-to-map1-btn {
            position: absolute;
            top: 20px;
            left: 20px;
            background: white;
            border: 2px solid black;
            border-radius: 6px;
            padding: 15px 25px;
            font-family: 'Inter', sans-serif;
            font-weight: 700;
            font-size: 18px;
            color: black;
            cursor: pointer;
            z-index: 1000;
            transition: all 0.3s ease;
            display: none; /* Oculto por defecto */
            box-shadow: 0 2px 8px rgba(0,0,0,0.1);
            text-align: center;
            min-width: 100px;
            line-height: 1.2;
        }

        .back-to-map1-btn:hover {
            background: #f8f9fa;
            transform: translateY(-1px);
            box-shadow: 0 4px 12px rgba(0,0,0,0.15);
        }

        .back-to-map1-btn:active {
            transform: translateY(0);
            box-shadow: 0 2px 6px rgba(0,0,0,0.1);
        }

        /* Mostrar botón solo en modo solo mapa */
        .mode-maponly .back-to-map1-btn {
            display: block !important;
        }
            
            /* Vista: Mapa con 2 columnas */
            .mode-map2 .properties-wrapper {
                display: grid;
                grid-template-columns: repeat(2, 1fr);
                gap: 15px;
                padding: 15px;
            }
            
            .mode-map2 .property {
                height: auto;
                min-height: 280px;
                flex-direction: column;
                border: 1px solid #e0e0e0;
                border-radius: 10px;
                background-color: #ffffff;
                box-shadow: 0 3px 10px rgba(0,0,0,0.1);
                overflow: hidden;
                transition: all 0.3s ease;
            }
            
            .mode-map2 .property:hover {
                box-shadow: 0 6px 20px rgba(0,0,0,0.15);
                transform: translateY(-2px);
            }
            
            .mode-map2 .property-image-container {
                flex: 0 0 auto;
                height: 160px;
                position: relative;
                overflow: hidden;
            }
            
            .mode-map2 .property-image-container img {
                width: 100%;
                height: 100%;
                object-fit: cover;
                transition: transform 0.3s ease;
            }

            /* Garantizar que el carrusel ocupe todo el ancho/alto del contenedor en 2+mapa */
            .mode-map2 .property-image-container { width: 100%; }
            .mode-map2 .property-image-container .carousel { width: 100%; height: 100%; }
            .mode-map2 .property-image-container .carousel .carousel-img {
                width: 100% !important;
                height: 100% !important;
                object-fit: cover;
                display: block;
                border: none !important;
                border-radius: 0 !important;
                box-shadow: none !important;
            }
            
            .mode-map2 .property:hover .property-image-container img {
                transform: scale(1.05);
            }
            
            .mode-map2 .property-content {
                flex: 1;
                padding: 12px;
                display: flex;
                flex-direction: column;
            }
            
            .mode-map2 .property-title {
                font-size: 15px;
                font-weight: 600;
                margin-bottom: 6px;
                color: #333;
                line-height: 1.3;
            }
            
            .mode-map2 .property-header .price {
                font-size: 18px;
                font-weight: 900;
                margin-bottom: -11px;
                color: rgba(0, 123, 255, 1);
            }
            
            .mode-map2 .property-description {
                font-size: 13px;
                color: #666;
                margin-bottom: 10px;
                line-height: 1.4;
            }
            
            .mode-map2 .characteristics {
    display: flex;
                flex-wrap: wrap;
                gap: 6px;
                margin: 10px 0;
            }
            
            .mode-map2 .characteristics div {
    display: flex;
    align-items: center;
                gap: 5px;
                background-color: #f8f9fa;
                padding: 5px 8px;
                border-radius: 5px;
                font-size: 12px;
                color: #555;
                border: 1px solid #e9ecef;
            }
            
            .mode-map2 .characteristics img {
                width: 14px;
                height: 14px;
                opacity: 0.7;
            }
            
            
            .mode-map2 .contact-icons {
                margin-top: 2px;
                display: flex;
                align-items: center;
                gap: 10px;
                font-size: 12px;
                color: #666;
            }
            
            /* Estilos para badges y elementos adicionales en modo map-2 */
            .mode-map2 .property-badge {
                position: absolute;
                top: 8px;
                left: 8px;
                background: rgba(0, 123, 255, 0.9);
                color: white;
                padding: 3px 6px;
    border-radius: 4px;
                font-size: 10px;
                font-weight: 600;
                z-index: 5;
            }
            
            .mode-map2 .property-status {
                position: absolute;
                top: 8px;
                right: 8px;
                background: rgba(40, 167, 69, 0.9);
                color: white;
                padding: 3px 6px;
    border-radius: 4px;
                font-size: 10px;
                font-weight: 600;
                z-index: 5;
            }
            
            .mode-map2 .property-actions {
                margin-top: 10px;
                display: flex;
                gap: 6px;
            }
            
            .mode-map2 .property-actions button {
                flex: 1;
    padding: 6px 10px;
                border: 1px solid #007bff;
                border-radius: 5px;
                background: transparent;
                color: #007bff;
                font-size: 11px;
                font-weight: 600;
                cursor: pointer;
                transition: all 0.3s ease;
            }
            
            .mode-map2 .property-actions button:hover {
                background: #007bff;
                color: white;
            }
            
            .mode-map2 .property-actions button.primary {
                background: #007bff;
                color: white;
            }
            
            .mode-map2 .property-actions button.primary:hover {
                background: #0056b3;
                border-color: #0056b3;
            }
            
            /* Vista: Mapa con 3 columnas (miniaturas) */
            .mode-map3 .properties-wrapper {
                display: grid;
                grid-template-columns: repeat(3, 1fr);
                gap: 12px;
                padding: 15px;
            }
            
            .mode-map3 .property {
                height: auto;
                min-height: 240px;
                flex-direction: column;
                border: 1px solid #e0e0e0;
                border-radius: 8px;
                background-color: #ffffff;
                box-shadow: 0 2px 8px rgba(0,0,0,0.1);
                overflow: hidden;
                transition: all 0.3s ease;
            }
            
            .mode-map3 .property:hover {
                box-shadow: 0 4px 16px rgba(0,0,0,0.15);
                transform: translateY(-1px);
            }
            
            .mode-map3 .property-image-container {
                flex: 0 0 auto;
                height: 120px;
                position: relative;
                overflow: hidden;
            }
            
            .mode-map3 .property-image-container img {
                width: 100%;
                height: 100%;
                object-fit: cover;
                transition: transform 0.3s ease;
            }

            /* Garantizar que el carrusel ocupe todo el ancho/alto del contenedor en 3+mapa */
            .mode-map3 .property-image-container { width: 100%; }
            .mode-map3 .property-image-container .carousel { width: 100%; height: 100%; }
            .mode-map3 .property-image-container .carousel .carousel-img {
                width: 100% !important;
                height: 100% !important;
                object-fit: cover;
                display: block;
                border: none !important;
                border-radius: 0 !important;
                box-shadow: none !important;
            }
            
            .mode-map3 .property:hover .property-image-container img {
                transform: scale(1.05);
            }
            
            .mode-map3 .property-content {
                flex: 1;
                padding: 10px;
                display: flex;
                flex-direction: column;
            }
            
            /* Estilos de property-title unificados arriba */
            
            .mode-map3 .property-header .price {
                font-size: 27px;
                font-weight: 900;
                margin-bottom: 6px;
                color: rgba(0, 123, 255, 1);
            }
            
            .mode-map3 .property-description {
    font-size: 12px;
    color: #666;
                margin-bottom: 8px;
    line-height: 1.4;
            }
            
            .mode-map3 .characteristics {
                display: flex;
                flex-wrap: wrap;
                gap: 5px;
                margin: 8px 0;
            }
            
            .mode-map3 .characteristics div {
                display: flex;
                align-items: center;
                gap: 4px;
    background-color: #f8f9fa;
                padding: 4px 6px;
                border-radius: 4px;
                font-size: 11px;
                color: #555;
                border: 1px solid #e9ecef;
            }
            
            .mode-map3 .characteristics img {
                width: 12px;
                height: 12px;
                opacity: 0.7;
            }
            
            
            .mode-map3 .contact-icons {
                margin-top: 2px;
                display: flex;
                align-items: center;
                gap: 8px;
                font-size: 11px;
                color: #666;
            }
            
            /* Estilos para badges y elementos adicionales en modo map-3 */
            .mode-map3 .property-badge {
                position: absolute;
                top: 6px;
                left: 6px;
                background: rgba(0, 123, 255, 0.9);
                color: white;
                padding: 2px 5px;
    border-radius: 3px;
                font-size: 9px;
                font-weight: 600;
                z-index: 5;
            }
            
            .mode-map3 .property-status {
                position: absolute;
                top: 6px;
                right: 6px;
                background: rgba(40, 167, 69, 0.9);
                color: white;
                padding: 2px 5px;
                border-radius: 3px;
                font-size: 9px;
                font-weight: 600;
                z-index: 5;
            }
            
            .mode-map3 .property-actions {
                margin-top: 8px;
                display: flex;
                gap: 4px;
            }
            
            .mode-map3 .property-actions button {
                flex: 1;
                padding: 4px 8px;
                border: 1px solid #007bff;
                border-radius: 4px;
                background: transparent;
                color: #007bff;
                font-size: 10px;
                font-weight: 600;
                cursor: pointer;
                transition: all 0.3s ease;
            }
            
            .mode-map3 .property-actions button:hover {
                background: #007bff;
                color: white;
            }
            
            .mode-map3 .property-actions button.primary {
                background: #007bff;
                color: white;
            }
            
            .mode-map3 .property-actions button.primary:hover {
                background: #0056b3;
                border-color: #0056b3;
            }
            
            /* Estilos para botón de favorito en todas las vistas */
            .mode-grid .favorite-btn,
            .mode-map2 .favorite-btn,
            .mode-map3 .favorite-btn {
                position: absolute;
                top: 10px;
                right: 10px;
                background: rgba(255, 255, 255, 0.9);
                border: 2px solid rgba(0, 0, 0, 0.1);
                border-radius: 50%;
                width: 32px;
                height: 32px;
                display: flex;
                align-items: center;
                justify-content: center;
                cursor: pointer;
                z-index: 10;
                transition: all 0.3s ease;
                backdrop-filter: blur(5px);
                color: rgba(0, 0, 0, 0.9);
                margin-top: 2px;
            }
            
            .mode-grid .favorite-btn:hover,
            .mode-map2 .favorite-btn:hover,
            .mode-map3 .favorite-btn:hover {
                background: rgba(255, 255, 255, 1);
                transform: scale(1.1);
            }
            
            .mode-grid .favorite-btn svg,
            .mode-map2 .favorite-btn svg,
            .mode-map3 .favorite-btn svg {
                width: 18px;
                height: 18px;
                transition: all 0.2s ease;
            }
            
            .mode-grid .favorite-btn.favorited,
            .mode-map2 .favorite-btn.favorited,
            .mode-map3 .favorite-btn.favorited {
                color: rgba(255, 0, 0, 1);
                background: rgba(255, 0, 0, 0.12);
                border-color: rgba(255, 0, 0, 0.35);
            }
            
            .mode-grid .favorite-btn.favorited path,
            .mode-map2 .favorite-btn.favorited path,
            .mode-map3 .favorite-btn.favorited path {
                color: rgba(255, 0, 0, 1);
            }
            
            /* Transiciones suaves entre vistas */
            .properties {
                transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
            }
            
            .property {
                transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
                position: relative;
                z-index: 1; /* ← z-index bajo para que el dropdown del submenú quede ENCIMA */
            }
            
            /* Elevación notable para tarjetas cuando se hace hover en marcador */
            .property.elevated {
                transform: translateY(-8px);
                box-shadow: 0 12px 32px rgba(0,0,0,0.25) !important;
                z-index: 100; /* ← Aumentar en hover/elevado PERO menor que el dropdown (9999999) */
                transition: all 0.2s ease;
            }
            
            /* Asegurar que todas las tarjetas tengan z-index menor que el dropdown del submenú */
            .mode-map2 .property,
            .mode-map3 .property,
            .mode-grid .property {
                z-index: 1;
            }
            
            .mode-map2 .property:hover,
            .mode-map3 .property:hover,
            .mode-grid .property:hover {
                z-index: 100; /* ← Mayor en hover pero SIEMPRE menor que dropdown (9999999) */
            }
            
            .map {
                transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
            }
            
            /* Animaciones de entrada para las tarjetas */
            .mode-grid .property,
            .mode-map2 .property,
            .mode-map3 .property {
                animation: fadeInUp 0.5s ease-out;
            }
            
            @keyframes fadeInUp {
                from {
                    opacity: 0;
                    transform: translateY(20px);
                }
                to {
                    opacity: 1;
                    transform: translateY(0);
                }
            }
            
                    /* Vista: Solo tarjetas (4 por fila) - TODO ANCHO */
        .mode-grid .content {
            display: block;
            width: 100%;
        }
        
        .mode-grid .map {
            display: none;
        }
        
        .mode-grid .properties {
            width: 100%;
            padding: 0;
            overflow-y: auto;
            height: calc(100vh - 18vh);
        }
        
        .mode-grid .properties-wrapper {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 15px;
            padding: 20px;
            width: 100%;
        }
            
            .mode-grid .property {
                height: auto;
                min-height: 320px;
                flex-direction: column;
                border: 1px solid #e0e0e0;
                border-radius: 12px;
                background-color: #ffffff;
                box-shadow: 0 4px 12px rgba(0,0,0,0.1);
                overflow: hidden;
                transition: all 0.3s ease;
            }
            
            .mode-grid .property:hover {
                box-shadow: 0 8px 24px rgba(0,0,0,0.15);
                transform: translateY(-2px);
            }
            
            .mode-grid .property-image-container {
                flex: 0 0 auto;
                height: 180px;
                position: relative;
                overflow: hidden;
            }
            
            .mode-grid .property-image-container img {
                width: 100%;
                height: 100%;
                object-fit: cover;
                transition: transform 0.3s ease;
            }

            /* Garantizar que el carrusel ocupe todo el ancho/alto del contenedor en GRID */
            .mode-grid .property-image-container { width: 100%; }
            .mode-grid .property-image-container .carousel { width: 100%; height: 100%; }
            .mode-grid .property-image-container .carousel .carousel-img {
                width: 100% !important;
                height: 100% !important;
                object-fit: cover;
                display: block;
                border: none !important;
                border-radius: 0 !important;
                box-shadow: none !important;
            }
            
            .mode-grid .property:hover .property-image-container img {
                transform: scale(1.05);
            }
            
            .mode-grid .property-content {
                flex: 1;
                padding: 15px;
                display: flex;
                flex-direction: column;
            }
            
            /* Estilos de property-title unificados arriba */
            
            .mode-grid .property-header .price {
                font-size: 20px;
                font-weight: 900;
                margin-bottom: 10px;
                color: rgba(0, 123, 255, 1);
            }

            .mode-grid .property-description {
                font-size: 14px;
                color: #666;
                margin-bottom: 12px;
                line-height: 1.4;
            }
            
            .mode-grid .characteristics {
                display: flex;
                flex-wrap: wrap;
                gap: 8px;
                margin: 12px 0;
            }
            
            .mode-grid .characteristics div {
                display: flex;
                align-items: center;
                gap: 6px;
                background-color: #f8f9fa;
                padding: 6px 10px;
                border-radius: 6px;
                font-size: 13px;
                color: #555;
                border: 1px solid #e9ecef;
            }
            
            .mode-grid .characteristics img {
                width: 16px;
                height: 16px;
                opacity: 0.7;
            }
            
            
            .mode-grid .contact-icons {
                margin-top: 2px;
                display: flex;
                align-items: center;
                gap: 12px;
                font-size: 13px;
                color: #666;
            }
            
            /* Estilos para badges y elementos adicionales en modo grid */
            .mode-grid .property-badge {
                position: absolute;
                top: 10px;
                left: 10px;
                background: rgba(0, 123, 255, 0.9);
                color: white;
                padding: 4px 8px;
                border-radius: 4px;
                font-size: 11px;
                font-weight: 600;
                z-index: 5;
            }
            
            .mode-grid .property-status {
                position: absolute;
                top: 10px;
                right: 10px;
                background: rgba(40, 167, 69, 0.9);
                color: white;
                padding: 4px 8px;
                border-radius: 4px;
                font-size: 11px;
                font-weight: 600;
                z-index: 5;
            }
            
            .mode-grid .property-actions {
                margin-top: 12px;
                display: flex;
                gap: 8px;
            }
            
            .mode-grid .property-actions button {
                flex: 1;
                padding: 8px 12px;
                border: 1px solid #007bff;
                border-radius: 6px;
                background: transparent;
                color: #007bff;
                font-size: 12px;
                font-weight: 600;
                cursor: pointer;
                transition: all 0.3s ease;
            }
            
            .mode-grid .property-actions button:hover {
                background: #007bff;
                color: white;
            }
            
            .mode-grid .property-actions button.primary {
                background: #007bff;
                color: white;
            }
            
            .mode-grid .property-actions button.primary:hover {
                background: #0056b3;
                border-color: #0056b3;
            }
            
            /* Vista: Solo mapa */
            .mode-maponly .properties-wrapper {
                display: none;
            }
            
            .mode-maponly .map {
                flex: 1 1 100%;
                order: 1;
            }
            
            /* Responsive para todas las vistas */
            @media (max-width: 1024px) {
                .mode-grid .properties-wrapper {
                    grid-template-columns: repeat(3, 1fr);
                }
            }
            
            @media (max-width: 768px) {
                .mode-map2 .properties-wrapper {
                    grid-template-columns: 1fr;
                }
                
                .mode-map3 .properties-wrapper {
                    grid-template-columns: repeat(2, 1fr);
                }
                
                .mode-grid .properties-wrapper {
                    grid-template-columns: repeat(2, 1fr);
                }

                /* Ajustar submenú en móviles */
                .property-submenu {
                    top: 5px;
                    left: 5px;
                    padding: 8px 12px;
                    font-size: 14px;
                }

                /* Ajustar botón de volver en móviles */
                .back-to-map1-btn {
                    top: 15px;
                    left: 15px;
                    padding: 12px 20px;
                    font-size: 16px;
                    min-width: 80px;
                }
            }
            
            @media (max-width: 480px) {
                .mode-map2 .properties-wrapper,
                .mode-map3 .properties-wrapper,
                .mode-grid .properties-wrapper {
                    grid-template-columns: 1fr;
                }

                /* Submenú más compacto en móviles pequeños */
                .property-submenu {
                    top: 3px;
                    left: 3px;
                    padding: 6px 10px;
                    font-size: 12px;
                    gap: 1rem;
                }

                /* Botón de volver más compacto en móviles pequeños */
                .back-to-map1-btn {
                    top: 10px;
                    left: 10px;
                    padding: 10px 16px;
                    font-size: 14px;
                    min-width: 70px;
                }
            }
                
                /* Ajustes para móviles en todas las vistas */
                .mode-grid .property,
                .mode-map2 .property,
                .mode-map3 .property {
                    min-height: auto;
                    margin-bottom: 15px;
                }
                
                .mode-grid .property-image-container,
                .mode-map2 .property-image-container,
                .mode-map3 .property-image-container {
                    height: 140px;
                }
                
                .mode-grid .property-content,
                .mode-map2 .property-content,
                .mode-map3 .property-content {
                    padding: 12px;
                }
                
                /* Estilos de property-title unificados arriba */
                
                .mode-grid .property-header .price {
                    font-size: 18px;
                }
                
                .mode-grid .characteristics,
                .mode-map2 .characteristics,
                .mode-map3 .characteristics {
                    gap: 8px;
                }
                
                .mode-grid .characteristics div,
                .mode-map2 .characteristics div,
                .mode-map3 .characteristics div {
                    font-size: 12px;
                    padding: 6px 8px;
                }
            
            .mapa-2-col-icon {
                background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23333'%3E%3Cpath d='M3 3h18v18H3V3zm2 2v14h14V5H5zm2 2h4v2H7V7zm0 4h4v2H7v-2zm0 4h4v2H7v-2zm6 0h4v2h-4v-2zm0-4h4v2h-4v-2zm0-4h4v2h-4V7z'/%3E%3C/svg%3E");
            }
            
            .mapa-3-col-icon {
                background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23333'%3E%3Cpath d='M3 3h18v18H3V3zm2 2v14h14V5H5zm2 2h2v2H7V7zm0 4h2v2H7v-2zm0 4h2v2H7v-2zm4 0h2v2h-2v-2zm0-4h2v2h-2v-2zm0-4h2v2h-2V7zm4 0h2v2h-2V7zm0 4h2v2h-2v-2zm0 4h2v2h-2v-2z'/%3E%3C/svg%3E");
            }

            /* === SISTEMA DE BALIZAS DINÁMICAS === */
            .price-pin-wrapper {
              transition: all 0.25s ease;
              position: relative;
              display: inline-block;
              white-space: nowrap;
              background: #C8E6C9;
              color: #000;
              border: 2px solid #1B5E20;
              border-radius: 8px;
              padding: 2px 8px;
              font-weight: 700;
              font-size: 13px;
              line-height: 18px;
              box-shadow: 0 2px 6px rgba(0,0,0,0.15);
            }

            /* Estado normal - Verde */
            .leaflet-marker-icon .price-pin-wrapper.normal,
            .price-pin .price-pin-wrapper.normal,
            .price-pin-wrapper.normal {
              background: #C8E6C9 !important;
              color: #000 !important;
              border: 2px solid #1B5E20 !important;
              box-shadow: 0 2px 6px rgba(0,0,0,0.15) !important;
              transform: scale(1) !important;
              z-index: 100 !important;
            }

            /* Estado hover / ghost marker — ámbar cálido (--kasalia-amber) */
            .leaflet-marker-icon .price-pin-wrapper.hover,
            .price-pin .price-pin-wrapper.hover,
            .price-pin-wrapper.hover {
              background: var(--kasalia-map-hover-accent, var(--kasalia-amber, #EF9F27)) !important;
              color: var(--pine-2, #0f3820) !important;
              border: 2px solid var(--kasalia-map-hover-border, var(--kasalia-amber-border, #C47E12)) !important;
              box-shadow: var(--kasalia-map-hover-shadow, 0 4px 12px color-mix(in srgb, var(--kasalia-amber, #EF9F27) 42%, transparent)) !important;
              transform: scale(1.1) !important;
              z-index: 1000 !important;
              transition: all 0.25s ease !important;
            }

            .leaflet-marker-icon.kasalia-map-ghost-pin,
            .leaflet-marker-icon.kasalia-pin-ghost {
              pointer-events: none !important;
              z-index: 15000 !important;
            }

            .leaflet-marker-icon.kasalia-map-ghost-pin .price-pin-wrapper,
            .leaflet-marker-icon.kasalia-pin-ghost .price-pin-wrapper {
              pointer-events: none !important;
            }

            /* Forzar color del piquito interno en hover (triángulo interior) */
            .leaflet-marker-icon .price-pin-wrapper.hover .price-pin-inner,
            .price-pin .price-pin-wrapper.hover .price-pin-inner,
            .price-pin-wrapper.hover .price-pin-inner {
              border-top-color: var(--kasalia-map-hover-accent, var(--kasalia-amber, #EF9F27)) !important;
            }

            .leaflet-marker-icon .price-pin-wrapper.hover:after,
            .price-pin .price-pin-wrapper.hover:after,
            .price-pin-wrapper.hover:after {
              border-top-color: var(--kasalia-map-hover-border, var(--kasalia-amber-border, #C47E12)) !important;
            }

            /* Asegurar color del piquito interno en estado normal */
            .leaflet-marker-icon .price-pin-wrapper.normal .price-pin-inner,
            .price-pin .price-pin-wrapper.normal .price-pin-inner,
            .price-pin-wrapper.normal .price-pin-inner {
              border-top-color: #C8E6C9 !important;
            }

            /* Estado activo/seleccionado - Rojo */
            .leaflet-marker-icon .price-pin-wrapper.active,
            .price-pin .price-pin-wrapper.active,
            .price-pin-wrapper.active {
              background: #FF5722 !important;
              color: #fff !important;
              border: 2px solid #D84315 !important;
              box-shadow: 0 6px 18px rgba(255, 87, 34, 0.5) !important;
              transform: scale(1.15) !important;
              z-index: 2000 !important;
              transition: all 0.25s ease !important;
            }

            /* Piquito del marcador - normal */
            .leaflet-marker-icon .price-pin-wrapper.normal:after,
            .price-pin .price-pin-wrapper.normal:after,
            .price-pin-wrapper.normal:after {
              content: "";
              position: absolute;
              left: 50%;
              transform: translateX(-50%);
              bottom: -8px;
              width: 0;
              height: 0;
              border-left: 8px solid transparent;
              border-right: 8px solid transparent;
              border-top: 8px solid #1B5E20;
            }

            /* Piquito del marcador - hover */
            .leaflet-marker-icon .price-pin-wrapper.hover:after,
            .price-pin .price-pin-wrapper.hover:after,
            .price-pin-wrapper.hover:after {
              border-top-color: #8B4513 !important;  /* Flecha marrón */
            }

            /* Piquito del marcador - activo */
            .leaflet-marker-icon .price-pin-wrapper.active:after,
            .price-pin .price-pin-wrapper.active:after,
            .price-pin-wrapper.active:after {
              border-top-color: #D84315 !important;
            }

            .leaflet-marker-icon .price-pin-wrapper:after,
            .price-pin .price-pin-wrapper:after,
            .price-pin-wrapper:after {
              border-top-color: var(--kasalia-pin-tail-color, #1B5E20) !important;
            }

            /* Animación de salto para marcador seleccionado */
            @keyframes markerBounce {
              0% { transform: scale(1.15) translateY(0); }
              25% { transform: scale(1.15) translateY(-8px); }
              50% { transform: scale(1.15) translateY(-4px); }
              75% { transform: scale(1.15) translateY(-2px); }
              100% { transform: scale(1.15) translateY(0); }
            }

            .price-pin-wrapper.bounce {
              animation: markerBounce 0.6s ease-out;
            }

            /* === ESTILOS PARA TARJETAS RESALTADAS === */
            .property.carrusel-card.tarjeta-resaltada {
              border: 2px solid #FFD600 !important;
              box-shadow: 0px 0px 15px rgba(255, 212, 0, 0.6) !important;
              transform: scale(1.02) !important;
              transition: all 0.2s ease-in-out !important;
              background-color: #fffef2 !important;
              z-index: 100 !important;
              position: relative !important;
            }

            /* Asegurar que el efecto se mantenga por encima de otros elementos */
            .property.carrusel-card.tarjeta-resaltada::before {
              content: '';
              position: absolute;
              top: -2px;
              left: -2px;
              right: -2px;
              bottom: -2px;
              background: linear-gradient(45deg, #FFD600, #FFA000);
              border-radius: inherit;
              z-index: -1;
              opacity: 0.3;
              animation: pulseGlow 1.5s ease-in-out infinite alternate;
            }

            @keyframes pulseGlow {
              from { opacity: 0.2; }
              to { opacity: 0.4; }
            }


            
            .grid-6-filas-icon {
                background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23333'%3E%3Cpath d='M3 3h18v18H3V3zm2 2v14h14V5H5zm2 2h2v2H7V7zm0 4h2v2H7v-2zm0 4h2v2H7v-2zm0 4h2v2H7v-2zm0 4h2v2H7v-2zm0 4h2v2H7v-2zm4 0h2v2h-2v-2zm0-4h2v2h-2v-2zm0-4h2v2h-2v-2zm0-4h2v2h-2v-2zm0-4h2v2h-2v-2zm0-4h2v2h-2V7zm4 0h2v2h-2V7zm0 4h2v2h-2v-2zm0 4h2v2h-2v-2zm0 4h2v2h-2v-2zm0 4h2v2h-2v-2zm0 4h2v2h-2v-2z'/%3E%3C/svg%3E");
            }
            
            .solo-mapa-icon {
                background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23333'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E");
            }
            
            /* Layouts responsivos para diferentes vist@as */
            .layout-map-1 .properties-container {
                grid-template-columns: 1fr;
                gap: 20px;
            }
            
            .layout-map-2 .properties-container {
                grid-template-columns: repeat(2, 1fr);
                gap: 15px;
            }
            
            .layout-map-3 .properties-container {
                grid-template-columns: repeat(3, 1fr);
                gap: 12px;
            }
            
            .layout-grid .properties-container {
                grid-template-columns: repeat(6, 1fr);
                gap: 10px;
            }
            
            .layout-grid .map {
                display: none;
            }
            
            .layout-map-only .properties-container {
                display: none;
            }
            
            .layout-map-only .map {
                width: 100%;
                height: 100vh;
            }
/* === STYLE BLOCK 5/8 === */
body.landing {
                min-height: 100vh;
                background-color: #f0f0f0;
                display: flex;
                flex-direction: column;
                border-style: solid;
                border-width: 1px;
                border-color: rgba(0, 0, 0, 1);
            }

            body.landing .content {
                flex: 1 1 auto;
                height: auto;
                min-height: calc(100vh - 20vh);
                padding-bottom: 60px;
                background: transparent;
            }

            body.landing .content .properties {
                padding-bottom: 40px;
            }
/* === STYLE BLOCK 6/8 === */
/* ============================================
           CONTENEDORES BASE — necesarios para anchors
           ============================================ */
        .property-card,
        .property,
        .property-item,
        .card,
        article {
          position: relative !important;
        }

        /* ============================================
           BOTONES FIJOS EN LAS ESQUINAS
           ============================================ */
        .property-image-container {
          position: relative !important;
          overflow: visible !important;
        }

        /* Listado 1+mapa: la regla anterior (overflow visible) deja franja blanca bajo la foto; recortar solo la columna imagen */
        .property.carrusel-card > .property-image-container {
          overflow: hidden !important;
        }

        /* -------- 1+mapa: foto pegada al borde de la tarjeta (anula padding/márgenes del .property minificado) -------- */
        .mode-map-1 .property.property.carrusel-card , .mode-map1 .property.property.carrusel-card {
          display: grid !important;
          grid-template-columns: minmax(0, 320px) minmax(0, 1fr) !important;
          padding: 0 !important;
          border: 1px solid #e5e7eb !important;
          border-radius: 12px !important;
          overflow: hidden !important;
          height: auto !important;
          min-height: 0 !important;
          max-height: none !important;
          box-sizing: border-box !important;
          align-items: stretch !important;
        }

        .mode-map-1 .property.carrusel-card > .property-image-container , .mode-map1 .property.carrusel-card > .property-image-container {
          margin: 0 !important;
          padding: 0 !important;
          overflow: hidden !important;
          border-radius: 0;
          flex: unset !important;
          width: 100% !important;
          min-width: 0 !important;
          min-height: 0 !important;
          height: 100% !important;
          align-self: stretch !important;
          line-height: 0 !important;
          font-size: 0 !important;
          box-sizing: border-box !important;
        }

        .mode-map-1 .property.carrusel-card > .property-image-container .carousel , .mode-map1 .property.carrusel-card > .property-image-container .carousel {
          display: block !important;
          margin: 0 !important;
          padding: 0 !important;
          width: 100% !important;
          height: 100% !important;
          min-height: 100% !important;
          position: relative !important;
          line-height: 0 !important;
          box-sizing: border-box !important;
        }

        .mode-map-1 .property.carrusel-card > .property-image-container .carousel .carousel-img, .mode-map1 .property.carrusel-card > .property-image-container .carousel .carousel-img,
        .mode-map-1 .property.carrusel-card > .property-image-container img , .mode-map1 .property.carrusel-card > .property-image-container img {
          width: 100% !important;
          height: 100% !important;
          min-height: 100% !important;
          object-fit: cover !important;
          display: block !important;
          margin: 0 !important;
          padding: 0 !important;
          border: 0 !important;
        }

        /* Extras: 2 líneas completas visibles sin invadir el pie de la tarjeta. */
        .property.carrusel-card .property-extras {
          flex: 0 0 auto;
          max-width: 100% !important;
          width: 100% !important;
          min-height: calc(2 * var(--k-ex-line, 22px) + var(--k-ex-gap, 4px)) !important;
          overflow: visible !important;
          min-width: 0 !important;
          box-sizing: border-box !important;
          transform: translateY(-4px);
        }

        .property.carrusel-card .property-extras .extras-wrapper {
          --k-ex-line: 23px;
          --k-ex-gap: 4px;
          display: flex !important;
          flex-wrap: wrap !important;
          align-content: flex-start !important;
          gap: var(--k-ex-gap) !important;
          min-height: calc(2 * var(--k-ex-line) + var(--k-ex-gap)) !important;
          max-height: calc(2 * var(--k-ex-line) + var(--k-ex-gap)) !important;
          overflow: hidden !important;
          margin: 0 !important;
          padding: 0 !important;
          min-width: 0 !important;
          max-width: 100% !important;
          width: 100% !important;
          box-sizing: border-box !important;
        }

        .property.carrusel-card .property-extras .extra {
          display: inline-flex !important;
          align-items: center !important;
          justify-content: center !important;
          height: var(--k-ex-line) !important;
          min-height: var(--k-ex-line) !important;
          max-height: var(--k-ex-line) !important;
          padding: 0 8px !important;
          font-size: 10.5px !important;
          line-height: 1 !important;
          box-sizing: border-box !important;
        }

        .property.carrusel-card .property-extras .extra--more {
          height: var(--k-ex-line) !important;
          min-height: var(--k-ex-line) !important;
          max-height: var(--k-ex-line) !important;
          padding: 0 8px !important;
          font-size: 10.5px !important;
          line-height: 1 !important;
          flex-shrink: 0 !important;
          background: #f3f4f6 !important;
          border-color: #d1d5db !important;
          color: #374151 !important;
        }

        .mode-map-1 .property.carrusel-card .property-extras , .mode-map1 .property.carrusel-card .property-extras {
          margin: -2px 0 4px !important;
          padding: 0 !important;
        }

        /* Meta-row al pie del content: sin padding compensatorio (no infla la tarjeta) */
        .property.carrusel-card .property-content {
          position: relative;
          display: flex;
          flex-direction: column;
          min-width: 0 !important;
          max-width: 100% !important;
          width: 100%;
          overflow: visible !important;
          box-sizing: border-box;
        }

        .property.carrusel-card {
          max-width: 100%;
          height: auto !important;
          min-height: 0 !important;
          max-height: none !important;
          overflow: hidden !important;
          box-sizing: border-box;
        }

        .property.carrusel-card .property-meta-row {
          position: static;
          left: auto;
          right: auto;
          bottom: auto;
          margin-top: auto !important;
          margin-left: 18px !important;
          margin-right: 18px !important;
          margin-bottom: 0 !important;
          padding-top: 8px;
          padding-bottom: 6px;
          display: flex;
          flex-direction: row;
          flex-wrap: wrap;
          align-items: center;
          justify-content: flex-start;
          gap: 6px 8px;
          flex: 0 0 auto;
          flex-shrink: 0;
          width: calc(100% - 36px);
          box-sizing: border-box;
        }

        .property.carrusel-card .property-meta-row .disponibilidad-badges {
          flex: 1 1 auto;
          min-width: 0;
        }

        .property.carrusel-card .property-meta-row .btn-chat-interno--index-casa {
          flex: 0 0 auto;
          flex-shrink: 0;
          margin-left: auto;
        }

        /* Fotos + tiempo: contenedor al ancho del texto, centrado en el pie de la foto */
        .property.carrusel-card .property-image-container .tarjeta-info-fotos.tarjeta-info-fotos--sobre-foto {
          position: absolute;
          left: 50%;
          right: auto;
          bottom: 8px;
          transform: translateX(-50%);
          z-index: 6;
          margin: 0 !important;
          margin-top: 0 !important;
          box-sizing: border-box;
          width: max-content;
          max-width: calc(100% - 24px);
          display: inline-flex;
          flex-direction: row;
          align-items: center;
          justify-content: center;
          flex-wrap: wrap;
          gap: 6px;
          padding: 4px 10px;
          border-radius: 6px;
          background: rgba(255, 255, 255, 0.88);
          box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
          font-size: 11px !important;
          line-height: 1.25;
          font-weight: 600;
          text-align: center;
          pointer-events: none;
        }

        .property.carrusel-card .property-image-container .tarjeta-info-fotos--sobre-foto strong {
          font-weight: 600;
          font-size: 11px !important;
          color: #111827;
          text-align: center;
        }

        .property.carrusel-card .property-image-container .tarjeta-info-fotos--sobre-foto .listado-verde {
          font-size: 11px !important;
          font-weight: 600;
          text-align: center;
        }

        /* Contacto: compacto, alineado con badges en la meta-row */
        .property.carrusel-card .btn-chat-interno--index-casa {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          gap: 6px;
          border: 1px solid rgba(7, 75, 15, 1);
          background: #f8fafc;
          color: #0f172a;
          border-radius: var(--k-badge-radius, 6px);
          padding: var(--k-badge-pad-y, 4px) var(--k-badge-pad-x, 8px);
          text-decoration: none;
          font-weight: 700;
          font-size: 12px;
          line-height: 1.25;
          font-family: inherit;
          cursor: pointer;
          transition: background 0.2s ease;
          flex: 0 0 auto;
          width: auto;
          white-space: nowrap;
          box-sizing: border-box;
        }

        .property.carrusel-card .btn-chat-interno--index-casa:hover {
          background: #eef2ff;
        }

        .property.carrusel-card .btn-chat-interno--index-casa .btn-chat-interno--index-casa__ic {
          width: 18px;
          height: 18px;
          display: block;
          flex-shrink: 0;
          object-fit: contain;
        }

        /* Compactar espacios entre subdirección, precio, características y extras */
        .property-card-header {
          padding: 8px 18px 6px !important;
        }

        .header-content {
          margin-bottom: 0 !important;
        }

        .property-card-header strong {
          margin-bottom: 2px !important;
        }

        .property-header {
          margin: 0 !important;
        }

        .characteristics {
          margin: 6px 18px !important;
        }

        .property-owner-description {
          margin: 6px 18px !important;
          padding: 6px 8px !important;
        }

        /* ===== Card footer anchor — listing .carrusel-card (4 modos + móvil) ===== */
        .mode-map2 .property.carrusel-card,
        .mode-map3 .property.carrusel-card,
        .mode-grid .property.carrusel-card {
          display: flex !important;
          flex-direction: column !important;
          height: auto !important;
          min-height: 0 !important;
          max-height: none !important;
          overflow: hidden !important;
        }

        .property.carrusel-card > .property-content {
          display: flex !important;
          flex-direction: column !important;
          flex: 1 1 auto !important;
          min-height: 0 !important;
          overflow: visible !important;
        }

        @media (max-width: 1024px) {
          .property.carrusel-card {
            height: auto !important;
            min-height: 0 !important;
            overflow: hidden !important;
          }
        }

        /* ===== map-1 desktop: foto full-height + esquinas + meta compacta ===== */
        @media (min-width: 1025px) {
          .mode-map-1 .property.carrusel-card,
          .mode-map1 .property.carrusel-card,
          .mode-map-1 .property.property.carrusel-card,
          .mode-map1 .property.property.carrusel-card {
            overflow: hidden !important;
            border-radius: 12px;
            align-items: stretch;
          }

          .mode-map-1 .property.carrusel-card > .property-image-container,
          .mode-map1 .property.carrusel-card > .property-image-container {
            border-radius: 0 !important;
            align-self: stretch;
            height: 100%;
            min-height: 100%;
            display: flex;
            flex-direction: column;
          }

          .mode-map-1 .property.carrusel-card > .property-image-container .carousel,
          .mode-map1 .property.carrusel-card > .property-image-container .carousel {
            position: relative;
            flex: 1 1 auto;
            width: 100%;
            height: 100%;
            min-height: 100%;
          }

          .mode-map-1 .property.carrusel-card > .property-image-container .carousel .carousel-img,
          .mode-map1 .property.carrusel-card > .property-image-container .carousel .carousel-img,
          .mode-map-1 .property.carrusel-card > .property-image-container img,
          .mode-map1 .property.carrusel-card > .property-image-container img {
            width: 100%;
            height: 100%;
            min-height: 100%;
            object-fit: cover;
            display: block;
          }

          /* Card footer actions — 4 modos desktop (badges + Contacto) */
          body.landing.mode-map-1 .property.carrusel-card .property-meta-row,
          body.landing.mode-map1 .property.carrusel-card .property-meta-row,
          body.landing.mode-map2 .property.carrusel-card .property-meta-row,
          body.landing.mode-map3 .property.carrusel-card .property-meta-row,
          body.landing.mode-grid .property.carrusel-card .property-meta-row {
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto;
            column-gap: 6px;
            row-gap: 4px;
            align-items: end;
            padding-top: 6px;
            padding-bottom: 4px;
            margin-left: 0;
            margin-right: 0;
            width: 100%;
            box-sizing: border-box;
          }

          body.landing.mode-map-1 .property.carrusel-card .disponibilidad-badges,
          body.landing.mode-map1 .property.carrusel-card .disponibilidad-badges,
          body.landing.mode-map2 .property.carrusel-card .disponibilidad-badges,
          body.landing.mode-map3 .property.carrusel-card .disponibilidad-badges,
          body.landing.mode-grid .property.carrusel-card .disponibilidad-badges {
            --k-badge-gap: 4px;
            --k-badge-pad-y: 3px;
            --k-badge-pad-x: 6px;
            --k-badge-fs: 10px;
            grid-column: 1;
            grid-row: 1;
            display: flex;
            flex-direction: row;
            flex-wrap: wrap;
            align-items: center;
            align-content: flex-start;
            gap: var(--k-badge-gap);
            min-width: 0;
            overflow: visible;
          }

          body.landing.mode-map2 .property.carrusel-card .disponibilidad-badges {
            --k-badge-fs: 9px;
            --k-badge-pad-y: 2px;
            --k-badge-pad-x: 5px;
            --k-badge-gap: 3px;
          }

          body.landing.mode-map3 .property.carrusel-card .disponibilidad-badges,
          body.landing.mode-grid .property.carrusel-card .disponibilidad-badges {
            --k-badge-fs: 8px;
            --k-badge-pad-y: 2px;
            --k-badge-pad-x: 4px;
            --k-badge-gap: 2px;
          }

          body.landing.mode-map3 .property.carrusel-card .property-meta-row,
          body.landing.mode-grid .property.carrusel-card .property-meta-row {
            grid-template-columns: minmax(0, 1fr) auto;
            align-items: end;
          }

          body.landing.mode-map-1 .property.carrusel-card .disponibilidad-badge,
          body.landing.mode-map1 .property.carrusel-card .disponibilidad-badge,
          body.landing.mode-map2 .property.carrusel-card .disponibilidad-badge,
          body.landing.mode-map3 .property.carrusel-card .disponibilidad-badge,
          body.landing.mode-grid .property.carrusel-card .disponibilidad-badge {
            flex: 0 0 auto;
            max-width: 100%;
            font-size: var(--k-badge-fs, 10px);
            padding: var(--k-badge-pad-y, 3px) var(--k-badge-pad-x, 6px);
            line-height: 1.2;
          }

          body.landing.mode-map-1 .property.carrusel-card .btn-chat-interno--index-casa,
          body.landing.mode-map1 .property.carrusel-card .btn-chat-interno--index-casa,
          body.landing.mode-map2 .property.carrusel-card .btn-chat-interno--index-casa,
          body.landing.mode-map3 .property.carrusel-card .btn-chat-interno--index-casa,
          body.landing.mode-grid .property.carrusel-card .btn-chat-interno--index-casa {
            grid-column: 2;
            grid-row: 1;
            flex: 0 0 auto;
            flex-shrink: 0;
            align-self: end;
            justify-self: end;
            margin-left: 0;
            padding: var(--k-badge-pad-y, 3px) var(--k-badge-pad-x, 6px);
            font-size: var(--k-badge-fs, 10px);
            line-height: 1.2;
            min-height: 0;
          }

          body.landing.mode-map-1 .property.carrusel-card .btn-chat-interno--index-casa .btn-chat-interno--index-casa__ic,
          body.landing.mode-map1 .property.carrusel-card .btn-chat-interno--index-casa .btn-chat-interno--index-casa__ic,
          body.landing.mode-map2 .property.carrusel-card .btn-chat-interno--index-casa .btn-chat-interno--index-casa__ic,
          body.landing.mode-map3 .property.carrusel-card .btn-chat-interno--index-casa .btn-chat-interno--index-casa__ic,
          body.landing.mode-grid .property.carrusel-card .btn-chat-interno--index-casa .btn-chat-interno--index-casa__ic {
            width: 14px;
            height: 14px;
          }

          body.landing.mode-map2 .property.carrusel-card .property-extras,
          body.landing.mode-map3 .property.carrusel-card .property-extras,
          body.landing.mode-grid .property.carrusel-card .property-extras {
            min-height: 0 !important;
            margin-bottom: 0;
          }

          body.landing.mode-map2 .property.carrusel-card .property-extras .extras-wrapper,
          body.landing.mode-map3 .property.carrusel-card .property-extras .extras-wrapper,
          body.landing.mode-grid .property.carrusel-card .property-extras .extras-wrapper {
            min-height: 0 !important;
          }

          body.landing.mode-map2 .property.carrusel-card .property-meta-row,
          body.landing.mode-map3 .property.carrusel-card .property-meta-row,
          body.landing.mode-grid .property.carrusel-card .property-meta-row {
            padding-top: 4px;
          }
        }

        /* (eliminado duplicado de .property-extras y .extras-wrapper) */

        /* =========================================================
           ITEM EXTRA
           ========================================================= */
        .property-extras .extra {
          display: inline-flex;
          align-items: center;
          gap: 4px;
          background: #ffffff;
          border: 1px solid #1f2937;
          border-radius: 6px;
          padding: 3px 7px 3px 5px;
          font-size: 11px;
          font-weight: 700;
          white-space: nowrap;
          flex-shrink: 0;
          line-height: 1.25;
          box-sizing: border-box;
          max-width: 100%;
          color: #111827;
        }
        .property-extras .extra .extra__ic svg {
          width: 14px;
          height: 14px;
          display: block;
        }

        /* ============================================
           MENÚ (icono "Menú") + dropdown
           ============================================ */
        .menu-container{ position:relative; }
        .menu-icon{ cursor:pointer; user-select:none; display:flex; align-items:center; gap:10px; }
        .dropdown-menu{
            position:absolute;
            top: calc(100% + 10px);
            left: 10px;
            min-width: 240px;
            background:#fff;
            border:1px solid #e5e7eb;
            border-radius:14px;
            box-shadow: 0 14px 40px rgba(0,0,0,.12);
            display:none;
            z-index: 10000;
            list-style:none;
            padding:8px;
            margin:0;
        }
        .dropdown-menu.show{ display:block; }
        .dropdown-menu li{ margin:0; padding:0; }
        .dropdown-menu li a{
            display:block;
            padding:5px 10px;
            border-radius:10px;
            text-decoration:none;
            color:#111827;
            font-weight:800;
            font-size:14px;
            line-height:1.25;
        }
        .dropdown-menu li a:hover{ background:#f3f4f6; }
        .dropdown-menu .menu-divider {
          padding: 10px 12px 5px;
          margin-top: 10px;
          border-top: 1px solid #e5e7eb;
        }
        .dropdown-menu .menu-divider:first-child {
          margin-top: 0;
          border-top: none;
        }
        .dropdown-menu li a.active {
          background: #1B5E20;
          color: #ffffff;
          font-weight: 700;
        }
        .dropdown-menu li a.active:hover {
          background: #2E7D32;
        }
/* === STYLE BLOCK 7/8 === */
/* ==========================
           TARJETAS RESPONSIVE
           ========================== */
        @media (max-width: 1200px) {
          .layout-grid .properties-container {
            grid-template-columns: repeat(3, 1fr);
          }
        }

        @media (max-width: 992px) {
          .layout-grid .properties-container {
            grid-template-columns: repeat(2, 1fr);
          }
          .layout-map-2 .properties-container,
          .layout-map-3 .properties-container {
            grid-template-columns: repeat(2, 1fr);
          }
          .properties-container {
            width: 100%;
            max-width: 100%;
          }
          .property.carrusel-card {
            width: 100%;
            max-width: 100%;
          }
        }

        @media (max-width: 768px) {
          .layout-grid .properties-container,
          .layout-map-2 .properties-container,
          .layout-map-3 .properties-container {
            grid-template-columns: 1fr;
            gap: 14px;
            width: 100%;
            max-width: 100%;
          }

          .property.carrusel-card {
            flex-direction: column;
            width: 100%;
            max-width: 100%;
            height: auto;
            min-height: 0;
          }

          /* En móvil, la tarjeta 1+mapa pasa a columna: sobrescribe el grid */
          .mode-map-1 .property.carrusel-card , .mode-map1 .property.carrusel-card {
            grid-template-columns: 1fr;
            display: flex;
            flex-direction: column;
          }

          .property.carrusel-card .property-image-container {
            flex: 0 0 auto;
            width: 100%;
            height: 200px;
            margin: 0;
            align-self: stretch;
            border-radius: 0;
          }

          .mode-map-1 .property.carrusel-card > .property-image-container , .mode-map1 .property.carrusel-card > .property-image-container {
            border-radius: 12px 12px 0 0 !important;
          }

          .property.carrusel-card .property-content {
            padding: 12px;
          }

          .property-card-header {
            padding: 6px 12px;
          }

          .content > .properties,
          .properties {
            width: 100%;
            max-width: 100%;
            height: auto;
          }
        }

        @media (max-width: 768px) {
          .property.carrusel-card .property-image-container {
            height: 180px;
          }

          .property.carrusel-card .property-features {
            flex-wrap: wrap;
            gap: 8px;
          }

          .property.carrusel-card .property-price {
            font-size: 20px;
          }

          .property.carrusel-card {
            height: auto;
            min-height: 0;
          }
        }
/* === STYLE BLOCK 8/8 id=kasalia-polish-v2 === */
/* ===== Iteracion visual profesional (filtros + cards) ===== */
        :root {
          --k-primary: #1363df;
          --k-primary-strong: #0f4fb4;
          --k-ink: #0f172a;
          --k-muted: #475569;
          --k-soft: #f8fafc;
          --k-line: #dbe3ef;
          --k-surface: #ffffff;
        }

        .banner-bottom {
          padding: 10px 12px !important;
          background: linear-gradient(180deg, #f4f7fc 0%, #eef3fb 100%) !important;
          border-top: 1px solid #e3e8f1 !important;
          border-bottom: 1px solid #e3e8f1 !important;
          position: relative !important;
          z-index: 1300 !important;
          overflow: visible !important;
        }

        .banner,
        .banner .banner-bottom,
        .banner .search-bar,
        .banner .search-fields-container,
        .banner .search-field {
          overflow: visible !important;
        }

        .content,
        .properties,
        .map {
          position: relative;
          z-index: 1;
        }

        @media (min-width: 1025px) {
          body.landing .content {
            height: calc(100vh - var(--banner-offset)) !important;
            min-height: calc(100vh - var(--banner-offset)) !important;
            padding-bottom: 0 !important;
            align-items: stretch !important;
            overflow: hidden !important;
          }

          body.landing .content > .properties,
          body.landing .content > .map {
            height: 100% !important;
            min-height: 100% !important;
            align-self: stretch !important;
          }

          body.landing .content > .properties {
            overflow-y: auto !important;
            overflow-x: hidden !important;
          }

          body.landing .content > .map > #map {
            height: 100% !important;
            min-height: 100% !important;
          }
        }

        @media (min-width: 769px) {
          /* Grid 4: sin columna reservada para mapa; el listado usa todo el ancho. */
          body.landing.mode-grid .content {
            display: block !important;
            width: 100% !important;
          }

          body.landing.mode-grid .content > .properties {
            flex: none !important;
            width: 100% !important;
            max-width: none !important;
          }

          body.landing.mode-grid .content > .map {
            display: none !important;
            flex: 0 0 0 !important;
            width: 0 !important;
            max-width: 0 !important;
          }

          body.landing.mode-grid .properties-wrapper {
            grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
            align-items: stretch !important;
            box-sizing: border-box !important;
          }

          /* Tarjetas equilibradas: el bloque título/dirección no mueve precio ni campos. */
          body.landing.mode-map2 .property.carrusel-card,
          body.landing.mode-map3 .property.carrusel-card,
          body.landing.mode-grid .property.carrusel-card {
            display: flex !important;
            flex-direction: column !important;
            min-width: 0 !important;
            height: auto !important;
            overflow: hidden !important;
          }

          body.landing.mode-map2 .property.carrusel-card .property-content,
          body.landing.mode-map3 .property.carrusel-card .property-content,
          body.landing.mode-grid .property.carrusel-card .property-content {
            display: flex !important;
            flex-direction: column !important;
            min-width: 0 !important;
            flex: 1 1 auto !important;
          }

          body.landing.mode-map2 .property.carrusel-card .property-card-header,
          body.landing.mode-map3 .property.carrusel-card .property-card-header,
          body.landing.mode-grid .property.carrusel-card .property-card-header {
            flex: 0 0 48px !important;
            min-height: 48px !important;
            max-height: 48px !important;
            padding-top: 0 !important;
            padding-bottom: 0 !important;
            overflow: hidden !important;
            background: transparent !important;
          }

          body.landing.mode-map2 .property.carrusel-card .property-card-header strong,
          body.landing.mode-map3 .property.carrusel-card .property-card-header strong,
          body.landing.mode-grid .property.carrusel-card .property-card-header strong {
            display: block !important;
            width: 100% !important;
            min-width: 0 !important;
            margin: 0 0 4px !important;
            overflow: hidden !important;
            text-overflow: ellipsis !important;
            white-space: nowrap !important;
            line-height: 1.2 !important;
          }

          body.landing.mode-map2 .property.carrusel-card .property-card-header .subdireccion,
          body.landing.mode-map3 .property.carrusel-card .property-card-header .subdireccion,
          body.landing.mode-grid .property.carrusel-card .property-card-header .subdireccion {
            display: block !important;
            width: 100% !important;
            min-width: 0 !important;
            margin: 0 !important;
            overflow: hidden !important;
            text-overflow: ellipsis !important;
            white-space: nowrap !important;
            line-height: 1.25 !important;
          }

          body.landing.mode-map2 .property.carrusel-card .property-header,
          body.landing.mode-map3 .property.carrusel-card .property-header,
          body.landing.mode-grid .property.carrusel-card .property-header {
            flex: 0 0 34px !important;
            min-height: 34px !important;
            margin: 0 !important;
            display: flex !important;
            align-items: flex-start !important;
          }

          body.landing.mode-map2 .property.carrusel-card .property-header .price-row,
          body.landing.mode-map3 .property.carrusel-card .property-header .price-row,
          body.landing.mode-grid .property.carrusel-card .property-header .price-row {
            width: 100% !important;
            margin: 0 !important;
            align-items: flex-start !important;
          }

          body.landing.mode-map2 .property.carrusel-card .property-header .price,
          body.landing.mode-map3 .property.carrusel-card .property-header .price,
          body.landing.mode-grid .property.carrusel-card .property-header .price {
            margin: 0 !important;
            line-height: 1.08 !important;
            white-space: nowrap !important;
          }

          body.landing.mode-map2 .property.carrusel-card .characteristics,
          body.landing.mode-map3 .property.carrusel-card .characteristics,
          body.landing.mode-grid .property.carrusel-card .characteristics {
            flex: 0 0 auto !important;
            margin-top: 8px !important;
          }

          body.landing.mode-map2 .property.carrusel-card .property-description,
          body.landing.mode-map3 .property.carrusel-card .property-description,
          body.landing.mode-grid .property.carrusel-card .property-description,
          body.landing.mode-map2 .property.carrusel-card .property-owner-description,
          body.landing.mode-map3 .property.carrusel-card .property-owner-description,
          body.landing.mode-grid .property.carrusel-card .property-owner-description {
            display: none !important;
          }

          body.landing.mode-map2 .property.carrusel-card .property-meta-row,
          body.landing.mode-map3 .property.carrusel-card .property-meta-row,
          body.landing.mode-grid .property.carrusel-card .property-meta-row,
          body.landing.mode-map-1 .property.carrusel-card .property-meta-row , .mode-map1 .property.carrusel-card .property-meta-row {
            margin-top: auto !important;
            flex-shrink: 0 !important;
            align-items: flex-end !important;
          }

          body.landing.mode-map-1 .property.carrusel-card , .mode-map1 .property.carrusel-card {
            overflow: hidden !important;
            height: auto !important;
          }

          body.landing.mode-map-1 .property.carrusel-card > .property-content , .mode-map1 .property.carrusel-card > .property-content {
            display: flex !important;
            flex-direction: column !important;
            flex: 1 1 auto !important;
            min-height: 100% !important;
            overflow: visible !important;
          }
        }

        .banner-bottom .search-bar {
          align-items: center !important;
          gap: 10px !important;
          padding: 8px !important;
          border: 1px solid #dde5f2 !important;
          border-radius: 16px !important;
          background: rgba(255, 255, 255, 0.95) !important;
          box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08) !important;
          overflow: visible !important;
        }

        .banner-bottom .search-fields-container {
          align-items: center !important;
          gap: 8px !important;
          overflow: visible !important;
        }

        .banner-bottom .search-field {
          display: flex !important;
          align-items: center !important;
          min-height: 42px !important;
          background: var(--k-soft) !important;
          border: 1px solid var(--k-line) !important;
          border-radius: 12px !important;
          padding: 0 10px !important;
          transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease !important;
          position: relative !important;
          overflow: visible !important;
          z-index: 1301 !important;
        }

        .banner-bottom .search-field:hover {
          border-color: #d7e5f9 !important;
          background: #fafcff !important;
        }

        /* Foco/abrir filtro: un solo efecto — relleno azul pastel + sombra suave (sin borde doble ni anillo) */
        .banner-bottom .search-field:focus-within {
          border-color: transparent !important;
          outline: none !important;
          background: linear-gradient(180deg, #eef4ff 0%, #e4ecf9 100%) !important;
          box-shadow:
            0 4px 14px rgba(96, 149, 234, 0.28),
            0 1px 2px rgba(37, 99, 235, 0.1) !important;
        }

        .banner-bottom .search-field input {
          border: 0 !important;
          background: transparent !important;
          color: #000000 !important;
          -webkit-text-fill-color: #000000 !important;
          font-size: 14px !important;
          font-weight: 600 !important;
          padding: 0 !important;
        }

        .banner-bottom .search-field input:focus,
        .banner-bottom .search-field input:focus-visible {
          outline: none !important;
          box-shadow: none !important;
        }

        .banner-bottom .search-field input::placeholder {
          color: #333333 !important;
          -webkit-text-fill-color: #333333 !important;
          font-weight: 600 !important;
          opacity: 1 !important;
        }

        .banner-bottom #ubicacion-field {
          flex: 1 1 290px !important;
          min-width: 220px !important;
          max-width: 460px !important;
        }

        .banner-bottom #tipo-vivienda-field { flex: 0 1 170px !important; }
        .banner-bottom #precio-field { flex: 0 1 115px !important; }
        .banner-bottom #habitaciones-banos-field { flex: 0 1 185px !important; }
        .banner-bottom #estado-field { flex: 0 1 140px !important; }
        .banner-bottom #ordenar-field { flex: 0 1 130px !important; }

        /* Locales: anchos de chip por categoría eliminados (SSOT Desktop ≥1025). Dropdowns intactos. */
        .kasalia-dropdown-local-ep {
          min-width: 300px !important;
          max-width: min(96vw, 400px) !important;
        }
        .kasalia-dropdown-locales-tipo {
          min-width: min(96vw, 420px) !important;
          max-width: min(96vw, 480px) !important;
        }
        .kasalia-lp-block h4 {
          margin: 0 0 8px !important;
          font-size: 13px !important;
          font-weight: 700 !important;
          color: #334155 !important;
        }
        .kasalia-grid-tipo-negocio {
          display: grid !important;
          grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
          gap: 8px !important;
          max-height: min(42vh, 300px) !important;
          overflow-y: auto !important;
        }
        .kasalia-grid-plantas-local {
          display: grid !important;
          grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
          gap: 6px !important;
        }
        .kasalia-planta-chip {
          padding: 10px 8px !important;
          border: 1px solid #e5e7eb !important;
          border-radius: 8px !important;
          cursor: pointer !important;
          text-align: center !important;
          font-size: 14px !important;
          font-weight: 600 !important;
          background: #fff !important;
          transition: background .15s ease, border-color .15s ease !important;
        }
        .kasalia-planta-chip:hover { border-color: #cbd5e1 !important; background: #f8fafc !important; }
        .kasalia-planta-chip.selected {
          background: #C8E6C9 !important;
          color: #1B5E20 !important;
          border-color: #66BB6A !important;
        }
        .kasalia-local-estado-grid {
          grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        }
        .kasalia-local-estado-grid .kasalia-lep-estado-opt {
          padding: 10px 12px !important;
          border: 1px solid #e5e7eb !important;
          border-radius: 8px !important;
          cursor: pointer !important;
          font-size: 14px !important;
          font-weight: 600 !important;
          text-align: center !important;
          background: #fff !important;
          transition: background .15s ease, border-color .15s ease !important;
        }
        .kasalia-local-estado-grid .kasalia-lep-estado-opt:hover {
          border-color: #cbd5e1 !important;
          background: #f8fafc !important;
        }
        .kasalia-local-estado-grid .kasalia-lep-estado-opt.selected {
          background: #C8E6C9 !important;
          color: #1B5E20 !important;
          border-color: #66BB6A !important;
          box-shadow: 0 2px 4px rgba(102, 187, 106, 0.25) !important;
        }

        .banner-bottom .filter-dropdown {
          z-index: 1405 !important;
          top: calc(100% + 10px) !important;
        }

        .filter-dropdown.show {
          z-index: 1405 !important;
        }

        .banner-bottom .buttons-container {
          gap: 8px !important;
        }

        .banner-bottom .buttons-container .text-button,
        .banner-bottom .buttons-container .search-button {
          min-height: 42px !important;
          border-radius: 12px !important;
          font-weight: 700 !important;
          letter-spacing: 0.01em !important;
        }

        .banner-bottom .buttons-container .text-button {
          border: 1px solid var(--k-line) !important;
          background: #ffffff !important;
          color: #111827 !important;
        }

        #open-advanced-filter-cta {
          border-color: rgba(19, 99, 223, 0.28) !important;
          color: #0f4fb4 !important;
          background: #f4f8ff !important;
          padding-inline: 16px !important;
          gap: 8px !important;
        }
        #open-advanced-filter-cta:hover {
          border-color: #1363df !important;
          box-shadow: 0 8px 18px rgba(19, 99, 223, 0.18) !important;
        }

        /* Listado sin resultados */
        .kasalia-empty-list {
          text-align: center !important;
          padding: 50px !important;
          color: #64748b !important;
        }
        .kasalia-empty-list__icon {
          display: block !important;
          width: 3rem !important;
          height: 3rem !important;
          margin: 0 auto 1.25rem !important;
          color: currentColor !important;
          opacity: 0.55 !important;
        }
        .kasalia-empty-list__title {
          font-weight: 900 !important;
          color: #000000 !important;
          letter-spacing: -0.02em !important;
        }
        .kasalia-empty-list__text {
          font-weight: 500 !important;
          color: #64748b !important;
          max-width: 34rem !important;
          margin-left: auto !important;
          margin-right: auto !important;
        }
        .kasalia-empty-list__link {
          color: #1363df !important;
          font-weight: 600 !important;
        }

        /* Rango superficie/precio: placeholders suaves + inputs más “premium” */
        .banner-bottom .filter-dropdown .price-range {
          gap: 8px !important;
          align-items: center !important;
        }
        .banner-bottom .filter-dropdown .price-range input[type="number"] {
          min-width: 0 !important;
          flex: 1 1 100px !important;
          padding: 10px 12px !important;
          border: 1px solid #e2e8f0 !important;
          border-radius: 10px !important;
          font-size: 14px !important;
          font-weight: 600 !important;
          color: #0f172a !important;
          background: #f8fafc !important;
          transition: border-color .15s ease, box-shadow .15s ease, background .15s ease !important;
        }
        .banner-bottom .filter-dropdown .price-range input[type="number"]:focus {
          outline: none !important;
          border-color: rgba(19, 99, 223, 0.45) !important;
          background: #ffffff !important;
          box-shadow: 0 0 0 3px rgba(19, 99, 223, 0.12) !important;
        }
        .banner-bottom .filter-dropdown .price-range input[type="number"]::placeholder {
          color: #cbd5e1 !important;
          opacity: 1 !important;
          font-weight: 600 !important;
        }

        .banner-bottom #precio-dropdown .price-range input::placeholder,
        .banner-bottom #superficie-dropdown .price-range input::placeholder {
          color: #cbd5e1 !important;
        }

        /* Opciones de filtro tipo/precio/estado: feedback más definido */
        .banner-bottom .filter-dropdown .option-item {
          transition: transform .12s ease, border-color .15s ease, box-shadow .15s ease, background .15s ease !important;
        }
        .banner-bottom .filter-dropdown .option-item:hover {
          transform: translateY(-1px) !important;
        }
        .banner-bottom .filter-dropdown .option-item.selected:not(.kasalia-orden-item):not(.kasalia-tx-opt):not(.kasalia-acceso-opt) {
          box-shadow: 0 4px 12px rgba(19, 99, 223, 0.12) !important;
          border-color: rgba(19, 99, 223, 0.35) !important;
          background: linear-gradient(135deg, #eef4ff 0%, #f8fafc 100%) !important;
          color: #0f172a !important;
        }

        .banner-bottom .filter-action-btn {
          padding: 8px 16px !important;
          border-radius: 999px !important;
          transition: transform .12s ease, box-shadow .15s ease !important;
        }
        .banner-bottom .filter-action-btn.bold:hover {
          box-shadow: 0 8px 16px rgba(19, 99, 223, 0.2) !important;
        }

        #ordenar-dropdown .kasalia-ordenar-simple {
          gap: 8px !important;
        }
        #ordenar-dropdown .kasalia-orden-item {
          display: flex !important;
          justify-content: space-between !important;
          align-items: center !important;
          text-align: left !important;
        }
        #ordenar-dropdown .kasalia-orden-label {
          font-weight: 600 !important;
        }
        #ordenar-dropdown .kasalia-orden-arrow {
          display: inline-flex !important;
          align-items: center !important;
          justify-content: center !important;
          min-width: 18px !important;
          color: #245f24 !important;
        }
        #ordenar-dropdown .kasalia-orden-dir {
          display: inline-flex !important;
          align-items: center !important;
          justify-content: center !important;
          color: #245f24 !important;
          font-size: 0 !important;
          line-height: 0 !important;
        }
        #ordenar-dropdown .kasalia-orden-dir .kasalia-orden-svg,
        #ordenar-dropdown .kasalia-orden-svg {
          display: block !important;
          width: 14px !important;
          height: 14px !important;
        }
        #ordenar-dropdown .kasalia-orden-hint {
          margin: 0 0 12px !important;
          padding: 0 2px !important;
          font-size: 12px !important;
          line-height: 1.35 !important;
          font-weight: 500 !important;
          color: #64748b !important;
        }

        .banner-bottom .buttons-container .search-button {
          border: 1px solid transparent !important;
          background: linear-gradient(135deg, var(--k-primary) 0%, var(--k-primary-strong) 100%) !important;
          color: #ffffff !important;
          box-shadow: 0 8px 18px rgba(19, 99, 223, 0.24) !important;
        }

        .property-submenu {
          border: 1px solid #e3e8f1 !important;
          border-radius: 14px !important;
          background: #ffffff !important;
          box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08) !important;
        }

        .property-submenu .submenu-item {
          font-weight: 700 !important;
          color: #0f172a !important;
        }

        .property-submenu-shorts .submenu-item.shorts {
          font-weight: 700 !important;
          color: #174f2b !important;
          border: none !important;
          border-radius: 0 !important;
          background: none !important;
          box-shadow: none !important;
        }

        .kasalia-extras-intro {
          display: none !important;
        }

        /* Modal extras: flex + scroll estable (evita overflow:visible legacy) */
        #advanced-filter-dialog {
          flex-direction: column !important;
          flex-wrap: nowrap !important;
          max-height: min(88vh, 780px) !important;
          overflow: hidden !important;
        }
        #advanced-filter-dialog .filter-sections.kasalia-extras-modal-scroll {
          flex: 1 1 auto !important;
          min-height: 0 !important;
          overflow-y: auto !important;
          overflow-x: hidden !important;
          max-height: none !important;
        }

        /* Filtros 2026: compactos, densos y orientados a conversión */
        .banner-bottom {
          padding: 8px 10px !important;
          background:
            radial-gradient(circle at 12% 0%, rgba(93, 184, 93, 0.12), transparent 28%),
            linear-gradient(180deg, #f7faf7 0%, #edf5ee 100%) !important;
        }
        .banner-bottom .search-bar {
          display: flex !important;
          flex-wrap: nowrap !important;
          align-items: center !important;
          gap: 8px !important;
          padding: 7px !important;
          border: 1px solid rgba(45, 122, 45, 0.18) !important;
          border-radius: 18px !important;
          background: rgba(255, 255, 255, 0.96) !important;
          box-shadow: 0 12px 34px rgba(18, 53, 18, 0.10) !important;
          backdrop-filter: blur(10px) !important;
        }
        .banner-bottom .search-fields-container {
          display: flex !important;
          flex: 1 1 auto !important;
          min-width: 0 !important;
          flex-wrap: nowrap !important;
          align-items: center !important;
          gap: 6px !important;
        }
        .banner-bottom .search-field {
          min-height: 38px !important;
          height: 38px !important;
          padding: 0 11px !important;
          border-radius: 999px !important;
          border-color: #dce8dc !important;
          background: #fbfdfb !important;
          box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
        }
        .banner-bottom .search-field:hover,
        .banner-bottom .search-field.is-open,
        .banner-bottom .search-field.has-value {
          border-color: rgba(93, 184, 93, 0.58) !important;
          background: #f3faf3 !important;
        }
        .banner-bottom .search-field.is-open {
          box-shadow: 0 7px 18px rgba(34, 84, 34, 0.16) !important;
        }
        .banner-bottom .search-field.has-value input {
          color: #174d17 !important;
          -webkit-text-fill-color: #174d17 !important;
        }
        .banner-bottom .search-field input {
          height: 100% !important;
          font-size: 13px !important;
          font-weight: 700 !important;
          letter-spacing: -0.01em !important;
          text-overflow: ellipsis !important;
        }
        .banner-bottom .search-field input::placeholder {
          color: #526452 !important;
          -webkit-text-fill-color: #526452 !important;
        }
        .banner-bottom #ubicacion-field {
          flex: 1 1 330px !important;
          min-width: 260px !important;
          max-width: 520px !important;
          margin-right: 7px !important;
          background: linear-gradient(180deg, #f4f9ff 0%, #edf6ff 100%) !important;
          border-color: rgba(52, 128, 214, 0.34) !important;
          box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, 0.92),
            0 4px 12px rgba(52, 128, 214, 0.10) !important;
        }
        .banner-bottom #ubicacion-field::after {
          content: "";
          position: absolute;
          right: -8px;
          top: 7px;
          width: 1px;
          height: 24px;
          background: linear-gradient(180deg, transparent, #d8e4d8, transparent);
          pointer-events: none;
        }
        .banner-bottom #ubicacion-field:hover,
        .banner-bottom #ubicacion-field:focus-within,
        .banner-bottom #ubicacion-field.has-value {
          background: linear-gradient(180deg, #eef7ff 0%, #e7f2ff 100%) !important;
          border-color: rgba(52, 128, 214, 0.58) !important;
          box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, 0.92),
            0 8px 18px rgba(52, 128, 214, 0.16) !important;
        }
        .banner-bottom #ubicacion-field input {
          color: #173b63 !important;
          -webkit-text-fill-color: #173b63 !important;
        }
        .banner-bottom #ubicacion-field input::placeholder {
          color: #45698d !important;
          -webkit-text-fill-color: #45698d !important;
        }
        .banner-bottom #tipo-vivienda-field { flex: 0 1 158px !important; }
        .banner-bottom #precio-field { flex: 0 1 104px !important; }
        .banner-bottom #superficie-field { flex: 0 1 128px !important; }
        .banner-bottom #habitaciones-banos-field { flex: 0 1 166px !important; }
        .banner-bottom #estado-field { flex: 0 1 124px !important; }
        .banner-bottom #tipo-transaccion-field { flex: 0 1 132px !important; }
        .banner-bottom #ordenar-field { flex: 0 1 112px !important; }
        .banner-bottom .filter-dropdown {
          top: calc(100% + 7px) !important;
          min-width: 260px !important;
          max-width: min(92vw, 420px) !important;
          padding: 12px !important;
          border: 1px solid rgba(93, 184, 93, 0.28) !important;
          border-radius: 14px !important;
          background: #ffffff !important;
          box-shadow: 0 18px 42px rgba(15, 48, 15, 0.18) !important;
          overflow: hidden !important;
        }
        .banner-bottom .filter-dropdown.show {
          animation: kasaliaFilterPop .12s ease-out both;
        }
        @keyframes kasaliaFilterPop {
          from { opacity: 0; transform: translateY(-4px) scale(0.985); }
          to { opacity: 1; transform: translateY(0) scale(1); }
        }
        .banner-bottom .filter-dropdown h3,
        .banner-bottom .filter-dropdown h4,
        .banner-bottom .filter-dropdown .kasalia-ft-subtit {
          margin: 0 0 8px !important;
          padding: 0 !important;
          color: #245f24 !important;
          font-size: 10px !important;
          font-weight: 900 !important;
          letter-spacing: 0.08em !important;
          line-height: 1.1 !important;
          text-transform: uppercase !important;
        }
        .banner-bottom .filter-dropdown .grid-options,
        .banner-bottom .filter-dropdown .estado-grid,
        .banner-bottom .filter-dropdown .selector-options {
          display: grid !important;
          grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
          gap: 6px !important;
          max-height: min(46vh, 280px) !important;
          overflow-y: auto !important;
          padding-right: 2px !important;
        }
        .banner-bottom #tipo-vivienda-dropdown .grid-options,
        .banner-bottom #local-estado-planta-dropdown .grid-options {
          grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        }
        .banner-bottom .filter-dropdown .option-item,
        .banner-bottom .filter-dropdown .option,
        .banner-bottom .kasalia-lep-estado-opt,
        .banner-bottom .kasalia-planta-chip {
          display: inline-flex !important;
          align-items: center !important;
          justify-content: center !important;
          min-height: 30px !important;
          padding: 6px 9px !important;
          border: 1px solid #dfe8df !important;
          border-radius: 999px !important;
          background: #fbfdfb !important;
          color: #263826 !important;
          font-size: 12px !important;
          font-weight: 800 !important;
          line-height: 1.1 !important;
          text-align: center !important;
          cursor: pointer !important;
          user-select: none !important;
        }
        .banner-bottom .filter-dropdown .option-item:hover,
        .banner-bottom .filter-dropdown .option:hover,
        .banner-bottom .kasalia-lep-estado-opt:hover,
        .banner-bottom .kasalia-planta-chip:hover {
          transform: translateY(-1px) !important;
          border-color: #5db85d !important;
          background: #f0f8f0 !important;
        }
        .banner-bottom .filter-dropdown .selected,
        .banner-bottom .filter-dropdown .option-item.selected,
        .banner-bottom .filter-dropdown .option.selected,
        .banner-bottom .kasalia-lep-estado-opt.selected,
        .banner-bottom .kasalia-planta-chip.selected {
          border-color: #5db85d !important;
          background: linear-gradient(180deg, #5db85d 0%, #45a545 100%) !important;
          color: #ffffff !important;
          box-shadow: 0 8px 16px rgba(93, 184, 93, 0.24) !important;
        }
        .banner-bottom .filter-dropdown .price-range {
          display: grid !important;
          grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
          gap: 6px !important;
        }
        .banner-bottom #parking-dims-dropdown {
          width: min(560px, calc(100vw - 32px)) !important;
          max-width: min(560px, calc(100vw - 32px)) !important;
        }
        .banner-bottom #parking-dims-dropdown .price-range {
          grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
          gap: 10px !important;
          align-items: center !important;
        }
        .banner-bottom #parking-dims-dropdown .price-range span {
          display: none !important;
        }
        .banner-bottom #parking-dims-dropdown .price-range input[type="number"] {
          width: 100% !important;
          min-width: 0 !important;
          text-align: center !important;
        }
        .banner-bottom .filters-bar[data-kasalia-cat="terrenos"] #tipo-transaccion-dropdown {
          width: 252px !important;
          min-width: 252px !important;
          max-width: 252px !important;
          left: 50% !important;
          transform: translateX(-50%) !important;
        }
        .banner-bottom .filters-bar[data-kasalia-cat="terrenos"] #tipo-transaccion-dropdown .grid-options {
          display: grid !important;
          grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
          gap: 8px !important;
          justify-items: stretch !important;
        }
        .banner-bottom .filters-bar[data-kasalia-cat="terrenos"] #tipo-transaccion-dropdown .kasalia-tx-opt {
          width: auto !important;
          min-width: 0 !important;
          justify-content: center !important;
        }
        .banner-bottom .filter-dropdown .price-range input[type="number"] {
          height: 32px !important;
          padding: 5px 8px !important;
          border-radius: 9px !important;
          font-size: 13px !important;
          background: #fbfdfb !important;
        }
        .banner-bottom .action-buttons {
          display: flex !important;
          justify-content: flex-end !important;
          align-items: center !important;
          gap: 6px !important;
          margin-top: 10px !important;
          padding-top: 8px !important;
          border-top: 1px solid #edf3ed !important;
        }
        .banner-bottom .filter-action-btn {
          min-height: 28px !important;
          padding: 5px 12px !important;
          border-radius: 999px !important;
          border: 1px solid #dbe8db !important;
          background: #ffffff !important;
          color: #315031 !important;
          font-size: 12px !important;
          font-weight: 800 !important;
        }
        .banner-bottom .filter-action-btn.bold {
          border-color: #5db85d !important;
          background: #5db85d !important;
          color: #ffffff !important;
        }
        .banner-bottom #ordenar-dropdown .kasalia-orden-hint {
          display: none !important;
        }
        .banner-bottom #ordenar-dropdown .action-buttons {
          display: none !important;
        }
        .banner-bottom #ordenar-dropdown {
          min-width: min(92vw, 430px) !important;
          width: min(92vw, 430px) !important;
          padding: 14px !important;
          overflow: visible !important;
        }
        .banner-bottom #ordenar-dropdown .kasalia-ordenar-simple {
          display: grid !important;
          grid-template-columns: 1fr !important;
          gap: 7px !important;
          max-height: none !important;
          overflow: visible !important;
          padding: 0 !important;
        }
        .banner-bottom #ordenar-dropdown .kasalia-orden-item {
          width: 100% !important;
          min-height: 38px !important;
          justify-content: space-between !important;
          gap: 10px !important;
          padding: 6px 7px 6px 12px !important;
          border-radius: 14px !important;
          box-sizing: border-box !important;
          text-align: left !important;
        }
        .banner-bottom #ordenar-dropdown .kasalia-orden-label {
          flex: 1 1 auto !important;
          min-width: 0 !important;
          overflow: hidden !important;
          text-overflow: ellipsis !important;
          white-space: nowrap !important;
        }
        .banner-bottom #ordenar-dropdown .kasalia-orden-arrow {
          display: none !important;
        }
        .banner-bottom #ordenar-dropdown .kasalia-orden-direcciones {
          display: inline-flex !important;
          flex: 0 0 auto !important;
          gap: 3px !important;
          padding: 2px !important;
          border-radius: 999px !important;
          background: #edf5ed !important;
          border: 1px solid #dbe8db !important;
        }
        .banner-bottom #ordenar-dropdown .kasalia-orden-dir {
          display: inline-flex !important;
          align-items: center !important;
          justify-content: center !important;
          width: 30px !important;
          height: 26px !important;
          border: 0 !important;
          border-radius: 999px !important;
          background: transparent !important;
          color: #245f24 !important;
          font-size: 0 !important;
          line-height: 0 !important;
          cursor: pointer !important;
        }
        .banner-bottom #ordenar-dropdown .kasalia-orden-dir .kasalia-orden-svg {
          display: block !important;
          width: 14px !important;
          height: 14px !important;
        }
        .banner-bottom #ordenar-dropdown .kasalia-orden-dir:hover {
          background: #ffffff !important;
        }
        .banner-bottom #ordenar-dropdown .kasalia-orden-dir.is-active {
          background: #5db85d !important;
          color: #ffffff !important;
          box-shadow: 0 4px 10px rgba(93, 184, 93, 0.24) !important;
        }
        .banner-bottom .buttons-container {
          flex: 0 0 auto !important;
          display: flex !important;
          flex-wrap: nowrap !important;
          gap: 6px !important;
        }
        .banner-bottom .buttons-container .text-button,
        .banner-bottom .buttons-container .search-button {
          min-height: 38px !important;
          height: 38px !important;
          padding: 0 13px !important;
          border-radius: 999px !important;
          font-size: 12px !important;
          white-space: nowrap !important;
          box-sizing: border-box !important;
          box-shadow: 0 5px 14px rgba(15, 23, 42, 0.07) !important;
        }
        .banner-bottom .buttons-container .text-button img {
          width: 16px !important;
          height: 16px !important;
        }
        .banner-bottom .buttons-container .text-button:hover,
        .banner-bottom .buttons-container .search-button:hover {
          transform: translateY(-1px) !important;
          box-shadow: 0 8px 18px rgba(15, 23, 42, 0.10) !important;
        }
        .banner-bottom .buttons-container .search-button {
          background: linear-gradient(180deg, #1b74e8 0%, #1162d1 100%) !important;
          box-shadow: 0 6px 16px rgba(17, 98, 209, 0.18) !important;
        }

        /* Ajuste final: una fila limpia, sin doble contenedor, con filtros centrados */
        .banner-bottom {
          display: flex !important;
          justify-content: center !important;
          align-items: center !important;
          padding: 9px 12px !important;
          background: linear-gradient(180deg, #f6faf6 0%, #edf5ee 100%) !important;
        }
        .banner-bottom .search-bar,
        .banner-bottom .filters-bar {
          width: 100% !important;
          max-width: 100% !important;
          min-height: 44px !important;
          display: flex !important;
          align-items: center !important;
          justify-content: space-between !important;
          gap: 12px !important;
          padding: 0 !important;
          border: 0 !important;
          border-radius: 0 !important;
          background: transparent !important;
          box-shadow: none !important;
          backdrop-filter: none !important;
        }
        .banner-bottom .search-fields-container,
        .banner-bottom .filters-left {
          flex: 1 1 auto !important;
          min-width: 0 !important;
          min-height: 44px !important;
          display: flex !important;
          align-items: center !important;
          justify-content: flex-start !important;
          gap: 12px !important;
          flex-wrap: nowrap !important;
        }
        .banner-bottom .buttons-container,
        .banner-bottom .filters-right {
          flex: 0 0 auto !important;
          min-height: 44px !important;
          display: flex !important;
          align-items: center !important;
          justify-content: flex-end !important;
          gap: 12px !important;
          flex-wrap: nowrap !important;
        }
        .banner-bottom .search-field,
        .banner-bottom .filters-left > .text-button,
        .banner-bottom .buttons-container .text-button,
        .banner-bottom .buttons-container .search-button {
          height: 40px !important;
          min-height: 40px !important;
          border: 1.5px solid #245f24 !important;
          border-radius: 999px !important;
          background: rgba(255, 255, 255, 0.94) !important;
          color: #213b21 !important;
          box-shadow: none !important;
          flex: 0 0 auto !important;
          width: auto !important;
          min-width: max-content !important;
          max-width: none !important;
          white-space: nowrap !important;
        }
        .banner-bottom .search-field input {
          width: auto !important;
          min-width: max-content !important;
          white-space: nowrap !important;
          text-overflow: clip !important;
        }
        .banner-bottom .search-field:hover,
        .banner-bottom .search-field.is-open,
        .banner-bottom .search-field.has-value,
        .banner-bottom .filters-left > .text-button:hover,
        .banner-bottom .buttons-container .text-button:hover,
        .banner-bottom .buttons-container .search-button:hover {
          border-color: #2f8f2f !important;
          background: #f4fbf4 !important;
          box-shadow: none !important;
        }
        .banner-bottom #ubicacion-field {
          border-color: #2f72b8 !important;
          background: linear-gradient(180deg, #f6fbff 0%, #eef7ff 100%) !important;
        }
        .banner-bottom #ubicacion-field:hover,
        .banner-bottom #ubicacion-field:focus-within,
        .banner-bottom #ubicacion-field.has-value {
          border-color: #1f65ad !important;
          background: #eef7ff !important;
        }
        .banner-bottom .filter-dropdown {
          top: calc(100% + 16px) !important;
          border: 1.5px solid #245f24 !important;
          border-radius: 18px !important;
          box-shadow: 0 20px 46px rgba(20, 48, 20, 0.18) !important;
          overflow: visible !important;
        }
        .banner-bottom .filter-dropdown::before {
          content: "";
          position: absolute;
          top: -9px;
          left: 34px;
          width: 16px;
          height: 16px;
          background: #ffffff;
          border-left: 1.5px solid #245f24;
          border-top: 1.5px solid #245f24;
          transform: rotate(45deg);
          border-radius: 3px 0 0 0;
        }
        .banner-bottom .filter-dropdown h3,
        .banner-bottom .filter-dropdown h4,
        .banner-bottom .filter-dropdown .kasalia-ft-subtit {
          color: #245f24 !important;
          font-size: 12px !important;
          letter-spacing: 0.12em !important;
        }
        .banner-bottom .filter-dropdown .option-item,
        .banner-bottom .filter-dropdown .option,
        .banner-bottom .kasalia-lep-estado-opt,
        .banner-bottom .kasalia-planta-chip,
        .banner-bottom #ordenar-dropdown .kasalia-orden-item {
          border: 1.5px solid #d7e7d7 !important;
          color: #213b21 !important;
          background: #ffffff !important;
          box-shadow: none !important;
        }
        .banner-bottom .filter-dropdown .option-item:hover,
        .banner-bottom .filter-dropdown .option:hover,
        .banner-bottom .kasalia-lep-estado-opt:hover,
        .banner-bottom .kasalia-planta-chip:hover,
        .banner-bottom #ordenar-dropdown .kasalia-orden-item:hover {
          border-color: #245f24 !important;
          background: #f4fbf4 !important;
        }
        .banner-bottom .filter-dropdown .selected,
        .banner-bottom .filter-dropdown .option-item.selected,
        .banner-bottom .filter-dropdown .option.selected,
        .banner-bottom .kasalia-lep-estado-opt.selected,
        .banner-bottom .kasalia-planta-chip.selected,
        .banner-bottom #ordenar-dropdown .kasalia-orden-item.selected {
          border-color: #245f24 !important;
          background: #5db85d !important;
          color: #ffffff !important;
          box-shadow: 0 7px 16px rgba(36, 95, 36, 0.20) !important;
        }

        /* Aprovechamiento horizontal + acciones equilibradas */
        .banner-bottom .search-fields-container,
        .banner-bottom .filters-left {
          flex: 1 1 0 !important;
          justify-content: flex-start !important;
          gap: 12px !important;
        }
        .banner-bottom .buttons-container,
        .banner-bottom .filters-right {
          flex: 0 0 auto !important;
          gap: 12px !important;
        }
        .banner-bottom .filters-left > .text-button,
        .banner-bottom .buttons-container .text-button,
        .banner-bottom .buttons-container .search-button {
          padding-inline: 13px !important;
          min-width: max-content !important;
        }
        .banner-bottom #ubicacion-field {
          flex: 0 0 auto !important;
          min-width: max-content !important;
          max-width: none !important;
        }
        .banner-bottom #tipo-vivienda-field {
          flex: 0 0 auto !important;
          min-width: max-content !important;
          max-width: none !important;
        }
        .banner-bottom #precio-field {
          flex: 0 0 auto !important;
          min-width: max-content !important;
          max-width: none !important;
        }
        .banner-bottom #superficie-field {
          flex: 0 0 auto !important;
          min-width: max-content !important;
          max-width: none !important;
        }
        .banner-bottom #tipo-transaccion-field {
          flex: 0 0 auto !important;
          min-width: max-content !important;
          max-width: none !important;
        }
        .banner-bottom #habitaciones-banos-field {
          flex: 0 0 auto !important;
          min-width: max-content !important;
          max-width: none !important;
        }
        .banner-bottom #estado-field {
          flex: 0 0 auto !important;
          min-width: max-content !important;
          max-width: none !important;
        }
        .banner-bottom #ordenar-field {
          flex: 0 0 auto !important;
          min-width: max-content !important;
          max-width: none !important;
        }
        .banner-bottom .search-field input {
          width: auto !important;
          min-width: max-content !important;
        }
        .banner-bottom .filter-dropdown {
          min-width: 300px !important;
          width: max-content !important;
          max-width: min(94vw, 520px) !important;
        }
        .banner-bottom #tipo-vivienda-dropdown,
        .banner-bottom #tipo-transaccion-dropdown,
        .banner-bottom #estado-dropdown,
        .banner-bottom #acceso-parking-dropdown,
        .banner-bottom #trastero-ubicacion-dropdown {
          min-width: 360px !important;
        }
        .banner-bottom #tipo-vivienda-dropdown .grid-options,
        .banner-bottom #tipo-transaccion-dropdown .grid-options,
        .banner-bottom #acceso-parking-dropdown .grid-options,
        .banner-bottom #trastero-ubicacion-dropdown .grid-options {
          grid-template-columns: repeat(3, minmax(100px, 1fr)) !important;
        }
        .banner-bottom .action-buttons {
          justify-content: center !important;
          gap: 10px !important;
        }
        .banner-bottom .action-buttons .filter-action-btn {
          width: 96px !important;
          min-width: 96px !important;
        }
        .banner-bottom .action-buttons .filter-action-btn:not(.bold) {
          margin-right: 0 !important;
        }
        .banner-bottom .filter-dropdown .option-item,
        .banner-bottom .filter-dropdown .option,
        .banner-bottom .kasalia-lep-estado-opt,
        .banner-bottom .kasalia-planta-chip {
          white-space: nowrap !important;
          overflow: visible !important;
          text-overflow: clip !important;
        }

        /* Submenús del listado: mismos bordes que filtros */
        .property-submenu {
          border-color: #ffffff !important;
          background: #ffffff !important;
          box-shadow: none !important;
        }
        .property-submenu .submenu-item {
          border: 1.5px solid rgba(255, 255, 255, 1) !important;
          border-radius: 999px !important;
          background: #ffffff !important;
          color: #213b21 !important;
          box-shadow: none !important;
        }
        .property-submenu-shorts .submenu-item.shorts {
          border: none !important;
          border-radius: 0 !important;
          background: none !important;
          color: #174f2b !important;
          box-shadow: none !important;
        }
        .submenu-dropdown .option-item {
          border: 1.5px solid #245f24 !important;
          border-radius: 999px !important;
          background: #ffffff !important;
          color: #213b21 !important;
          box-shadow: none !important;
        }
        .submenu-dropdown {
          border: 1.5px solid #245f24 !important;
          border-radius: 16px !important;
          box-shadow: 0 18px 38px rgba(20, 48, 20, 0.16) !important;
        }
        .submenu-dropdown .option-item:hover,
        .submenu-dropdown .option-item.selected {
          border-color: #245f24 !important;
          background: #5db85d !important;
          color: #ffffff !important;
        }

        .banner-bottom .filters-left > .text-button,
        .banner-bottom .filters-right > .text-button,
        .banner-bottom .filters-right > .search-button,
        .banner-bottom .filters-left > .text-button:hover,
        .banner-bottom .filters-right > .text-button:hover,
        .banner-bottom .filters-right > .search-button:hover,
        .property-submenu,
        .property-submenu-shorts,
        .property-submenu .submenu-item,
        .property-submenu-shorts .submenu-item {
          box-shadow: none !important;
        }

        .banner-bottom .filters-left > #habitaciones-banos-field { order: 4 !important; }
        .banner-bottom .filters-left > #estado-field { order: 5 !important; }
        .banner-bottom .filters-left > #ordenar-field { order: 6 !important; }
        .banner-bottom .filters-left > #open-advanced-filter-cta { order: 7 !important; }
        .banner-bottom .filters-left > #estado-field,
        .banner-bottom .filters-left > #ordenar-field {
          margin-left: 0 !important;
          margin-right: 0 !important;
          transform: none !important;
        }
        /* Per-field min-width / max-content de chips eliminados (SSOT Desktop ≥1025). */

        /* Compactar filtros: el contenedor debe medir el texto, no el ancho inline heredado. */
        .banner-bottom .filters-left > .search-field {
          display: inline-flex !important;
          align-items: center !important;
          justify-content: center !important;
          flex: 0 0 auto !important;
          width: fit-content !important;
          min-width: 0 !important;
          max-width: none !important;
          padding: 0 10px !important;
        }
        .banner-bottom .filters-left > .search-field input {
          flex: 0 0 auto !important;
          min-width: 0 !important;
          max-width: none !important;
          padding: 0 !important;
          text-align: center !important;
          line-height: 40px !important;
          height: 40px !important;
        }
        .banner-bottom .filters-left > .search-field input::placeholder {
          text-align: center !important;
        }
        .banner-bottom .filters-left > #ubicacion-field > input {
          min-width: max-content !important;
          width: auto !important;
        }
        .banner-bottom .filters-left > #habitaciones-banos-field {
          min-width: 0 !important;
          padding-inline: 12px !important;
        }
        .banner-bottom .filters-left > .text-button,
        .banner-bottom .filters-right > .text-button {
          display: inline-flex !important;
          align-items: center !important;
          justify-content: center !important;
          padding-inline: 10px !important;
          min-width: 0 !important;
          width: fit-content !important;
        }

        .banner-bottom .filters-bar[data-kasalia-cat="terrenos"] #tipo-transaccion-dropdown {
          width: 252px !important;
          min-width: 252px !important;
          max-width: 252px !important;
          left: 50% !important;
          transform: translateX(-50%) !important;
        }
        .banner-bottom .filters-bar[data-kasalia-cat="terrenos"] #tipo-transaccion-dropdown .grid-options {
          display: grid !important;
          grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
          gap: 8px !important;
          justify-items: stretch !important;
        }
        .banner-bottom .filters-bar[data-kasalia-cat="terrenos"] #tipo-transaccion-dropdown .kasalia-tx-opt {
          width: auto !important;
          min-width: 0 !important;
          justify-content: center !important;
        }

        /* Parkings: overrides de gap/padding/min-width de chips eliminados (SSOT Desktop ≥1025). */

        @media (max-width: 1200px) {
          .banner-bottom .search-bar,
          .banner-bottom .filters-bar {
            flex-wrap: wrap !important;
            justify-content: space-between !important;
          }
          .banner-bottom .search-fields-container,
          .banner-bottom .filters-left {
            flex-wrap: wrap !important;
            justify-content: flex-start !important;
          }
          .banner-bottom .buttons-container,
          .banner-bottom .filters-right {
            flex-wrap: nowrap !important;
            margin-left: auto !important;
            justify-content: flex-end !important;
          }
          .banner-bottom #ubicacion-field {
            flex: 0 0 auto !important;
            max-width: none !important;
          }
        }

        @media (max-width: 768px) {
          .banner-bottom .search-bar {
            border-radius: 12px !important;
            padding: 8px !important;
          }
          .banner-bottom .search-field {
            min-height: 40px !important;
            border-radius: 10px !important;
          }
        }

        @media (max-width: 768px) {
          body.landing:has(.filters-bar.rwd-filters-canonical) {
            --banner-offset: 112px;
            background: #f6f7f5 !important;
            overflow-x: hidden !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .banner {
            position: sticky !important;
            top: 0 !important;
            z-index: 1300 !important;
            background: rgba(246, 247, 245, 0.96) !important;
            backdrop-filter: blur(14px) saturate(1.1) !important;
            border-bottom: 1px solid rgba(27, 94, 32, 0.12) !important;
            box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08) !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .banner-bottom {
            width: 100% !important;
            padding: 8px 10px 10px !important;
            overflow-x: visible !important;
            overflow-y: visible !important;
            box-sizing: border-box !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-bar {
            display: grid !important;
            grid-template-columns: minmax(0, 1fr) auto !important;
            grid-template-areas:
              "left right" !important;
            align-items: start !important;
            gap: 8px !important;
            width: 100% !important;
            padding: 0 !important;
            border: 0 !important;
            background: transparent !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-left {
            grid-area: left !important;
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            flex-wrap: nowrap !important;
            gap: 8px !important;
            min-width: 0 !important;
            overflow-x: auto !important;
            overflow-y: visible !important;
            padding: 0 2px 4px 6px !important;
            scroll-snap-type: x proximity !important;
            -webkit-overflow-scrolling: touch !important;
            scrollbar-width: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-left::-webkit-scrollbar {
            display: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-right {
            grid-area: right !important;
            display: flex !important;
            align-items: center !important;
            justify-content: flex-end !important;
            flex-wrap: nowrap !important;
            gap: 6px !important;
            min-width: max-content !important;
            padding-bottom: 4px !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-left > .search-field,
          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-left > .text-button,
          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-right > .text-button,
          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-right > .search-button {
            height: 38px !important;
            min-height: 38px !important;
            border-radius: 999px !important;
            padding-inline: 12px !important;
            background: #ffffff !important;
            border: 1px solid rgba(36, 95, 36, 0.32) !important;
            color: #263626 !important;
            box-shadow: 0 3px 10px rgba(15, 23, 42, 0.06) !important;
            scroll-snap-align: start !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) #ubicacion-field {
            flex: 0 0 auto !important;
            width: auto !important;
            min-width: 158px !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) #ubicacion-field > input {
            width: auto !important;
            min-width: max-content !important;
            text-align: left !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-right .clear-all-filters-btn {
            display: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-right > .text-button,
          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-right > .search-button {
            width: 38px !important;
            min-width: 38px !important;
            max-width: 38px !important;
            padding: 0 !important;
            font-size: 0 !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-right > .text-button img,
          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-right > .search-button img,
          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-right > .text-button svg,
          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-right > .search-button svg {
            width: 17px !important;
            height: 17px !important;
            margin: 0 !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .content {
            display: block !important;
            height: auto !important;
            min-height: calc(100vh - var(--banner-offset)) !important;
            margin-top: 0 !important;
            padding: 0 !important;
            overflow: visible !important;
            background: #f6f7f5 !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .map {
            display: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .properties {
            width: 100% !important;
            max-width: 100% !important;
            height: auto !important;
            min-height: auto !important;
            padding: 10px 10px 92px !important;
            overflow: visible !important;
            border: 0 !important;
            background: #f6f7f5 !important;
            box-sizing: border-box !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-submenu-row {
            position: sticky !important;
            top: 0 !important;
            z-index: 1200 !important;
            width: 100% !important;
            max-width: 100% !important;
            justify-content: space-between !important;
            margin: 0 0 10px !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-submenu {
            position: static !important;
            z-index: auto !important;
            width: auto !important;
            max-width: none !important;
            min-height: 42px !important;
            margin: 0 !important;
            padding: 6px 8px !important;
            border-radius: 14px !important;
            background: rgba(255,255,255,0.96) !important;
            border: 1px solid rgba(27, 94, 32, 0.1) !important;
            justify-content: flex-start !important;
            gap: 8px !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-submenu-shorts {
            padding: 6px 8px !important;
            border-radius: 14px !important;
            background: rgba(255,255,255,0.96) !important;
            border: 1px solid rgba(27, 94, 32, 0.1) !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-submenu .submenu-item {
            font-size: 13px !important;
            padding: 7px 9px !important;
            border-radius: 999px !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .properties-wrapper,
          body.landing:has(.filters-bar.rwd-filters-canonical) .mode-map-1 .properties-wrapper, .mode-map1 .properties-wrapper,
          body.landing:has(.filters-bar.rwd-filters-canonical) .mode-map2 .properties-wrapper,
          body.landing:has(.filters-bar.rwd-filters-canonical) .mode-map3 .properties-wrapper,
          body.landing:has(.filters-bar.rwd-filters-canonical) .mode-grid .properties-wrapper {
            display: flex !important;
            flex-direction: column !important;
            gap: 14px !important;
            width: 100% !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property,
          body.landing:has(.filters-bar.rwd-filters-canonical) .property.carrusel-card,
          body.landing:has(.filters-bar.rwd-filters-canonical) .mode-map-1 .property.carrusel-card , .mode-map1 .property.carrusel-card {
            display: flex !important;
            flex-direction: column !important;
            width: 100% !important;
            min-width: 0 !important;
            height: auto !important;
            min-height: 0 !important;
            margin: 0 !important;
            border: 1px solid rgba(15, 23, 42, 0.08) !important;
            border-radius: 18px !important;
            overflow: visible !important;
            background: #ffffff !important;
            box-shadow: 0 8px 24px rgba(15, 23, 42, 0.09) !important;
            transform: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-image-container,
          body.landing:has(.filters-bar.rwd-filters-canonical) .mode-map-1 .property.carrusel-card > .property-image-container, .mode-map1 .property.carrusel-card > .property-image-container,
          body.landing:has(.filters-bar.rwd-filters-canonical) .mode-map2 .property > .property-image-container,
          body.landing:has(.filters-bar.rwd-filters-canonical) .mode-map3 .property > .property-image-container,
          body.landing:has(.filters-bar.rwd-filters-canonical) .mode-grid .property > .property-image-container {
            width: 100% !important;
            flex: 0 0 auto !important;
            height: clamp(210px, 58vw, 292px) !important;
            margin: 0 !important;
            border-radius: 0 !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-image-container .carousel,
          body.landing:has(.filters-bar.rwd-filters-canonical) .property-image-container img,
          body.landing:has(.filters-bar.rwd-filters-canonical) .property-image-container .carousel .carousel-img {
            width: 100% !important;
            height: 100% !important;
            object-fit: cover !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .botones-interaccion-superior {
            position: absolute !important;
            top: 12px !important;
            right: 12px !important;
            z-index: 8 !important;
            display: flex !important;
            flex-direction: row !important;
            align-items: center !important;
            gap: 6px !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .botones-interaccion-superior .favorite-btn,
          body.landing:has(.filters-bar.rwd-filters-canonical) .botones-interaccion-superior .share-btn,
          body.landing:has(.filters-bar.rwd-filters-canonical) .botones-interaccion-superior button {
            position: static !important;
            top: auto !important;
            right: auto !important;
            width: 40px !important;
            height: 40px !important;
            min-width: 40px !important;
            border-radius: 999px !important;
            background: rgba(255,255,255,0.94) !important;
            border: 1px solid rgba(15,23,42,0.14) !important;
            box-shadow: 0 6px 18px rgba(15,23,42,0.16) !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-content,
          body.landing:has(.filters-bar.rwd-filters-canonical) .mode-map-1 .property.carrusel-card > .property-content , .mode-map1 .property.carrusel-card > .property-content {
            display: flex !important;
            flex-direction: column !important;
            flex: 1 1 auto !important;
            gap: 8px !important;
            padding: 12px 14px 14px !important;
            overflow: visible !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-card-header {
            padding: 0 !important;
            margin: 0 !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-title {
            display: -webkit-box !important;
            line-clamp: 2 !important;
            -webkit-line-clamp: 2 !important;
            -webkit-box-orient: vertical !important;
            overflow: hidden !important;
            margin: 0 !important;
            color: #111827 !important;
            font-size: 15px !important;
            line-height: 1.25 !important;
            font-weight: 750 !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-header .price-row {
            margin: 0 !important;
            align-items: center !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-header .price {
            margin: 0 !important;
            color: #0f4fb4 !important;
            font-size: clamp(23px, 6vw, 29px) !important;
            line-height: 1.05 !important;
            letter-spacing: -0.03em !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .status-badge,
          body.landing:has(.filters-bar.rwd-filters-canonical) .disponibilidad-badge {
            font-size: 11px !important;
            padding: 6px 8px !important;
            border-radius: 999px !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .characteristics {
            display: flex !important;
            flex-wrap: nowrap !important;
            gap: 8px !important;
            margin: 2px 0 0 !important;
            padding: 0 !important;
            overflow-x: auto !important;
            scrollbar-width: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .characteristics::-webkit-scrollbar {
            display: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .characteristics div {
            flex: 0 0 auto !important;
            padding: 5px 8px !important;
            border-radius: 999px !important;
            background: #f3f7f3 !important;
            color: #263626 !important;
            font-size: 12px !important;
            font-weight: 700 !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-owner-description,
          body.landing:has(.filters-bar.rwd-filters-canonical) .property-description {
            display: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-extras {
            margin: 0 !important;
            min-height: 0 !important;
            overflow: hidden !important;
            transform: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-extras .extras-wrapper {
            display: flex !important;
            flex-wrap: nowrap !important;
            align-items: center !important;
            max-height: 24px !important;
            height: 24px !important;
            min-height: 0 !important;
            overflow: hidden !important;
            gap: 10px !important;
            white-space: nowrap !important;
            width: 100% !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-extras .extra,
          body.landing:has(.filters-bar.rwd-filters-canonical) .property-extras .extra--more {
            flex: 0 0 auto !important;
            height: 24px !important;
            min-height: 24px !important;
            max-height: 24px !important;
            padding: 0 8px !important;
            font-size: 10.5px !important;
            border-radius: 999px !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-meta-row {
            margin-top: auto !important;
            padding-top: 8px !important;
            padding-bottom: 6px !important;
            border-top: 1px solid #eef2f0 !important;
            flex-shrink: 0 !important;
            align-items: flex-end !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .contact-icons {
            display: flex !important;
            align-items: center !important;
            justify-content: space-between !important;
            gap: 10px !important;
            width: 100% !important;
            padding-top: 2px !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .btn-chat-interno--index-casa {
            min-height: 36px !important;
            padding: 8px 12px !important;
            border-radius: 999px !important;
            font-size: 13px !important;
            font-weight: 800 !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .banner-top {
            min-height: 48px !important;
            padding: 6px 10px !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .language-dropdown {
            display: inline-flex !important;
            align-items: center !important;
            gap: 5px !important;
            padding: 3px !important;
            border: 1px solid rgba(15, 23, 42, 0.10) !important;
            border-radius: 999px !important;
            background: #ffffff !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .language-btn {
            width: 34px !important;
            min-width: 34px !important;
            height: 30px !important;
            padding: 0 !important;
            border: 0 !important;
            border-radius: 999px !important;
            background: #f3f6f3 !important;
            font-size: 0 !important;
            gap: 0 !important;
            justify-content: center !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .language-btn::after {
            display: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .language-btn img {
            width: 22px !important;
            height: 15px !important;
            margin: 0 !important;
            border-radius: 3px !important;
          }

          /* RESPONSIVE MOBILE — inicio: idioma solo header; no flags huérfanos en body */
          body.landing:has(.filters-bar.rwd-filters-canonical) .language-options.language-options--fixed:not(.show) {
            display: none !important;
            position: fixed !important;
          }
          /* RESPONSIVE MOBILE — fin */

          body.landing:has(.filters-bar.rwd-filters-canonical) .language-options:not(.language-options--fixed) {
            display: flex !important;
            position: static !important;
            min-width: 0 !important;
            padding: 0 !important;
            margin: 0 !important;
            border: 0 !important;
            box-shadow: none !important;
            background: transparent !important;
            gap: 4px !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .language-options:not(.language-options--fixed) .language-option {
            width: 34px !important;
            min-width: 34px !important;
            height: 30px !important;
            padding: 0 !important;
            border-radius: 999px !important;
            justify-content: center !important;
            font-size: 0 !important;
            background: transparent !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .language-option:not([data-lang="es"]):not([data-lang="en"]) {
            display: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .language-options:not(.language-options--fixed) .language-option img {
            width: 22px !important;
            height: 15px !important;
            margin: 0 !important;
            border-radius: 3px !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-bar {
            grid-template-columns: minmax(0, 1fr) !important;
            grid-template-areas:
              "left"
              "right" !important;
            gap: 5px !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-left {
            flex-wrap: wrap !important;
            overflow: visible !important;
            gap: 5px !important;
            padding: 0 !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-right {
            justify-content: flex-start !important;
            gap: 5px !important;
            padding: 0 !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-left > .search-field,
          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-left > .text-button,
          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-right > .text-button,
          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-right > .search-button {
            height: 31px !important;
            min-height: 31px !important;
            padding-inline: 8px !important;
            border-radius: 999px !important;
            font-size: 11px !important;
            line-height: 31px !important;
            box-shadow: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-left > .search-field > input {
            height: 31px !important;
            line-height: 31px !important;
            font-size: 11px !important;
            font-weight: 800 !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) #ubicacion-field {
            min-width: 132px !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) #ubicacion-field > input {
            width: auto !important;
            min-width: max-content !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-left > #open-advanced-filter-cta {
            padding-inline: 9px !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-right > .text-button,
          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-right > .search-button {
            width: auto !important;
            min-width: 31px !important;
            max-width: none !important;
            padding-inline: 8px !important;
            font-size: 11px !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-right .clear-all-filters-btn {
            display: inline-flex !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show {
            position: fixed !important;
            inset: 0 !important;
            width: 100vw !important;
            min-width: 100vw !important;
            max-width: 100vw !important;
            height: 100dvh !important;
            max-height: 100dvh !important;
            transform: none !important;
            margin: 0 !important;
            padding: 18px 16px calc(22px + env(safe-area-inset-bottom)) !important;
            border: 0 !important;
            border-radius: 0 !important;
            background: #f8faf7 !important;
            z-index: 3000 !important;
            overflow-y: auto !important;
            box-shadow: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show::before {
            display: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show h3,
          body.landing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show h4 {
            position: sticky !important;
            top: 0 !important;
            z-index: 1 !important;
            margin: -18px -16px 16px !important;
            padding: 18px 16px 14px !important;
            background: #f8faf7 !important;
            border-bottom: 1px solid #e5eee5 !important;
            font-size: 15px !important;
            letter-spacing: 0.08em !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show .grid-options,
          body.landing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show .estado-grid,
          body.landing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show .selector-options {
            display: grid !important;
            grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
            gap: 10px !important;
            width: 100% !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show .option-item,
          body.landing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show .option,
          body.landing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show .hb-option {
            width: auto !important;
            min-height: 44px !important;
            justify-content: center !important;
            border-radius: 14px !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show .price-range {
            display: grid !important;
            grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
            gap: 10px !important;
            align-items: center !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show .price-range input[type="number"] {
            min-height: 46px !important;
            border-radius: 14px !important;
            font-size: 15px !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show .action-buttons {
            position: sticky !important;
            bottom: 0 !important;
            margin: 18px -16px calc(-22px - env(safe-area-inset-bottom)) !important;
            padding: 12px 16px calc(14px + env(safe-area-inset-bottom)) !important;
            background: rgba(248,250,247,0.96) !important;
            border-top: 1px solid #e5eee5 !important;
            backdrop-filter: blur(12px) !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show .filter-action-btn {
            min-height: 42px !important;
            border-radius: 999px !important;
            font-size: 13px !important;
          }
        }

        @media (max-width: 768px) {
          body.landing:has(.filters-bar.rwd-filters-canonical) {
            --pine: #174f2b;
            --pine-2: #0f3820;
            --sage: #e8f1e7;
            --mint: #f4faf3;
            --paper: #fbfaf4;
            --ink: #172016;
            --muted: #687566;
            --line: rgba(23, 79, 43, .14);
            --gold: #c9973f;
            --white: #fff;
            --shadow: 0 18px 44px rgba(18, 48, 29, .14);
            --banner-offset: 142px;
            min-height: 100vh !important;
            background:
              radial-gradient(circle at 12% 0%, rgba(201, 151, 63, .20), transparent 30%),
              linear-gradient(160deg, #f9f7ee 0%, #eef7ee 45%, #f7fbf5 100%) !important;
            color: var(--ink) !important;
            font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
            overflow-x: hidden !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) * {
            box-sizing: border-box !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) h1,
          body.landing:has(.filters-bar.rwd-filters-canonical) h2,
          body.landing:has(.filters-bar.rwd-filters-canonical) h3,
          body.landing:has(.filters-bar.rwd-filters-canonical) .price,
          body.landing:has(.filters-bar.rwd-filters-canonical) .result-label {
            font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
            font-weight: 800 !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) button,
          body.landing:has(.filters-bar.rwd-filters-canonical) input,
          body.landing:has(.filters-bar.rwd-filters-canonical) span,
          body.landing:has(.filters-bar.rwd-filters-canonical) div,
          body.landing:has(.filters-bar.rwd-filters-canonical) p {
            font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .banner {
            position: sticky !important;
            top: 0 !important;
            z-index: 1600 !important;
            padding: 0 !important;
            background: rgba(251, 250, 244, .88) !important;
            border: 0 !important;
            border-bottom: 1px solid rgba(23, 79, 43, .08) !important;
            box-shadow: none !important;
            -webkit-backdrop-filter: blur(18px) saturate(1.05) !important;
            backdrop-filter: blur(18px) saturate(1.05) !important;
          }


          body.landing:has(.filters-bar.rwd-filters-canonical) .language-dropdown {
            display: inline-flex !important;
            align-items: center !important;
            gap: 6px !important;
            padding: 4px !important;
            border: 1px solid var(--line) !important;
            border-radius: 999px !important;
            background: rgba(255, 255, 255, .72) !important;
            box-shadow: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .language-btn,
          body.landing:has(.filters-bar.rwd-filters-canonical) .language-option {
            display: grid !important;
            width: 30px !important;
            min-width: 30px !important;
            height: 30px !important;
            place-items: center !important;
            padding: 0 !important;
            border: 0 !important;
            border-radius: 50% !important;
            background: var(--white) !important;
            box-shadow: inset 0 0 0 1px rgba(23, 79, 43, .10) !important;
            font-size: 0 !important;
          }

          /* Banner canónico: idioma en header; mock topbar usa .kasalia-mobile-lang-btn (L67+) */
          body.landing:has(.filters-bar.rwd-filters-canonical) .banner-top .language-btn {
            display: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .banner-top .language-btn::after {
            display: none !important;
          }

          /* RESPONSIVE MOBILE — inicio: ocultar #language-options en body (portal JS) salvo .show */
          body.landing:has(.filters-bar.rwd-filters-canonical) .language-options.language-options--fixed:not(.show) {
            display: none !important;
            position: fixed !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .language-options:not(.language-options--fixed) {
            display: flex !important;
            position: static !important;
            gap: 6px !important;
            min-width: 0 !important;
            margin: 0 !important;
            padding: 0 !important;
            border: 0 !important;
            background: transparent !important;
            box-shadow: none !important;
          }
          /* RESPONSIVE MOBILE — fin */

          /* Dropdown fijo (JS): por encima de filters-bar y banner-bottom */
          body.landing:has(.filters-bar.rwd-filters-canonical) .language-options.language-options--fixed.show {
            display: block !important;
            position: fixed !important;
            flex-direction: column !important;
            gap: 0 !important;
            min-width: 150px !important;
            padding: 6px 0 !important;
            margin: 0 !important;
            border: 1px solid #e5e7eb !important;
            border-radius: 12px !important;
            background: #fff !important;
            box-shadow: 0 14px 40px rgba(0, 0, 0, 0.14) !important;
            z-index: 2147483647 !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .language-options.language-options--fixed.show .language-option {
            width: auto !important;
            min-width: 0 !important;
            height: auto !important;
            font-size: 14px !important;
            justify-content: flex-start !important;
            padding: 8px 15px !important;
            border-radius: 0 !important;
            box-shadow: none !important;
            background: transparent !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .language-option:not([data-lang="es"]):not([data-lang="en"]) {
            display: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .language-btn img,
          body.landing:has(.filters-bar.rwd-filters-canonical) .language-options.language-options--fixed.show .language-option img,
          body.landing:has(.filters-bar.rwd-filters-canonical) .language-options:not(.language-options--fixed) .language-option img {
            width: 22px !important;
            height: 15px !important;
            margin: 0 !important;
            border-radius: 3px !important;
            object-fit: cover !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .banner-bottom {
            height: auto !important;
            padding: 7px 14px 10px !important;
            background: transparent !important;
            border: 0 !important;
            overflow: visible !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-bar {
            display: grid !important;
            grid-template-columns: minmax(0, 1fr) !important;
            gap: 0 !important;
            width: 100% !important;
            padding: 0 !important;
            border: 0 !important;
            border-radius: 0 !important;
            background: transparent !important;
            box-shadow: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-left {
            display: grid !important;
            grid-template-columns: minmax(0, 1fr) auto !important;
            grid-auto-flow: column !important;
            grid-auto-columns: max-content !important;
            grid-template-rows: 46px 30px !important;
            align-items: center !important;
            gap: 8px 6px !important;
            width: 100% !important;
            min-width: 0 !important;
            overflow-x: auto !important;
            overflow-y: visible !important;
            padding: 0 0 2px !important;
            -webkit-overflow-scrolling: touch !important;
            scrollbar-width: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-left::-webkit-scrollbar {
            display: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) #ubicacion-field {
            grid-row: 1 !important;
            grid-column: 1 !important;
            width: 100% !important;
            min-width: 0 !important;
            max-width: none !important;
            height: 46px !important;
            min-height: 46px !important;
            padding: 11px 12px !important;
            border: 1px solid rgba(23, 79, 43, .15) !important;
            border-radius: 18px !important;
            background: var(--white) !important;
            box-shadow: 0 10px 22px rgba(23, 79, 43, .08) !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) #ubicacion-field > input {
            width: 100% !important;
            min-width: 0 !important;
            height: 22px !important;
            line-height: 22px !important;
            padding: 0 !important;
            color: var(--ink) !important;
            font-size: 13px !important;
            font-weight: 800 !important;
            text-align: left !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) #ubicacion-field > input::placeholder {
            color: var(--ink) !important;
            -webkit-text-fill-color: var(--ink) !important;
            font-size: 13px !important;
            font-weight: 800 !important;
            opacity: 1 !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) #clear-search-btn {
            right: 9px !important;
            color: var(--muted) !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) #open-advanced-filter-cta {
            grid-row: 1 !important;
            grid-column: 2 !important;
            display: grid !important;
            width: 46px !important;
            min-width: 46px !important;
            height: 46px !important;
            min-height: 46px !important;
            place-items: center !important;
            padding: 0 !important;
            border: 0 !important;
            border-radius: 16px !important;
            background: var(--pine) !important;
            color: var(--white) !important;
            box-shadow: 0 14px 28px rgba(23, 79, 43, .26) !important;
            font-size: 0 !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) #open-advanced-filter-cta img,
          body.landing:has(.filters-bar.rwd-filters-canonical) #open-advanced-filter-cta svg {
            width: 20px !important;
            height: 20px !important;
            margin: 0 !important;
            filter: brightness(0) invert(1) !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-right {
            position: fixed !important;
            right: 18px !important;
            bottom: 14px !important;
            left: 18px !important;
            z-index: 2200 !important;
            display: flex !important;
            align-items: center !important;
            justify-content: space-around !important;
            gap: 4px !important;
            min-height: 58px !important;
            width: auto !important;
            min-width: 0 !important;
            padding: 7px 8px calc(7px + env(safe-area-inset-bottom)) !important;
            border: 1px solid rgba(23, 79, 43, .12) !important;
            border-radius: 22px !important;
            background: rgba(255, 255, 255, .88) !important;
            box-shadow: 0 16px 36px rgba(23, 79, 43, .20) !important;
            -webkit-backdrop-filter: blur(18px) !important;
            backdrop-filter: blur(18px) !important;
          }

          body.landing > .filters-right[data-mobile-detached="1"] {
            position: fixed !important;
            top: auto !important;
            right: 0 !important;
            bottom: 0 !important;
            left: 0 !important;
            z-index: 999999 !important;
            display: flex !important;
            flex-direction: row !important;
            align-items: center !important;
            justify-content: space-around !important;
            gap: 0 !important;
            width: 100vw !important;
            min-width: 0 !important;
            max-width: none !important;
            min-height: 64px !important;
            max-height: none !important;
            margin: 0 !important;
            padding: 6px 0 calc(6px + env(safe-area-inset-bottom)) !important;
            border: 0 !important;
            border-top: 1px solid rgba(23, 79, 43, .10) !important;
            border-radius: 0 !important;
            background: #ffffff !important;
            box-shadow: 0 -10px 28px rgba(23, 79, 43, .12) !important;
            -webkit-backdrop-filter: none !important;
            backdrop-filter: none !important;
            transform: none !important;
            contain: none !important;
            will-change: auto !important;
          }

          body.landing > .filters-right[data-mobile-detached="1"] > .text-button,
          body.landing > .filters-right[data-mobile-detached="1"] > .search-button {
            display: grid !important;
            flex: 1 1 0 !important;
            width: auto !important;
            min-width: 0 !important;
            max-width: none !important;
            height: 44px !important;
            min-height: 44px !important;
            place-items: center !important;
            gap: 2px !important;
            margin: 0 !important;
            padding: 3px 4px !important;
            border: 0 !important;
            border-radius: 16px !important;
            background: transparent !important;
            color: var(--muted) !important;
            box-shadow: none !important;
            font-size: 10px !important;
            font-weight: 900 !important;
            line-height: 1.1 !important;
          }

          body.landing > .filters-right[data-mobile-detached="1"] .clear-all-filters-btn,
          body.landing > .filters-right[data-mobile-detached="1"] .mobile-map-toggle-btn {
            display: grid !important;
          }

          body.landing > .filters-right[data-mobile-detached="1"] .clear-all-filters-btn::before,
          body.landing > .filters-right[data-mobile-detached="1"] .mobile-map-toggle-btn::before,
          body.landing > .filters-right[data-mobile-detached="1"] #favorites-btn::before,
          body.landing > .filters-right[data-mobile-detached="1"] #save-search-btn::before {
            display: block !important;
            font-size: 18px !important;
            line-height: 1 !important;
            color: currentColor !important;
          }

          body.landing > .filters-right[data-mobile-detached="1"] .clear-all-filters-btn::before {
            content: "" !important;
          }

          body.landing > .filters-right[data-mobile-detached="1"] .mobile-map-toggle-btn::before {
            content: "" !important;
          }

          body.landing > .filters-right[data-mobile-detached="1"] #favorites-btn::before {
            content: "" !important;
          }

          body.landing > .filters-right[data-mobile-detached="1"] #save-search-btn::before {
            content: "" !important;
          }

          body.landing > .filters-right[data-mobile-detached="1"] > .text-button img,
          body.landing > .filters-right[data-mobile-detached="1"] > .search-button img,
          body.landing > .filters-right[data-mobile-detached="1"] > .text-button svg,
          body.landing > .filters-right[data-mobile-detached="1"] > .search-button svg {
            display: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-right > .text-button,
          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-right > .search-button {
            display: grid !important;
            flex: 1 1 0 !important;
            width: auto !important;
            min-width: 0 !important;
            max-width: none !important;
            min-height: 44px !important;
            height: 44px !important;
            place-items: center !important;
            gap: 2px !important;
            margin: 0 !important;
            padding: 3px 4px !important;
            border: 0 !important;
            border-radius: 16px !important;
            background: transparent !important;
            color: var(--muted) !important;
            box-shadow: none !important;
            font-size: 10px !important;
            font-weight: 900 !important;
            line-height: 1.1 !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-right .clear-all-filters-btn {
            display: grid !important;
            color: var(--pine) !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-right .clear-all-filters-btn::before,
          body.landing:has(.filters-bar.rwd-filters-canonical) #favorites-btn::before,
          body.landing:has(.filters-bar.rwd-filters-canonical) #save-search-btn::before {
            display: block !important;
            font-size: 18px !important;
            line-height: 1 !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-right .clear-all-filters-btn::before {
            content: "";
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) #favorites-btn::before {
            content: "";
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) #save-search-btn::before {
            content: "";
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-right > .text-button img,
          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-right > .search-button img,
          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-right > .text-button svg,
          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-right > .search-button svg {
            display: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) #clear-community-btn {
            display: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .content {
            display: block !important;
            min-height: calc(100vh - var(--banner-offset)) !important;
            margin-top: 0 !important;
            padding: 0 !important;
            background:
              linear-gradient(180deg, rgba(23, 79, 43, .10), transparent 210px),
              var(--paper) !important;
            overflow: visible !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .map {
            display: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .properties {
            width: 100% !important;
            max-width: 100% !important;
            height: auto !important;
            min-height: 0 !important;
            padding: 0 13px calc(86px + env(safe-area-inset-bottom)) !important;
            border: 0 !important;
            background: transparent !important;
            overflow: visible !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-submenu-row {
            position: sticky !important;
            top: 0 !important;
            z-index: 1200 !important;
            display: flex !important;
            align-items: center !important;
            justify-content: space-between !important;
            width: 100% !important;
            min-height: 55px !important;
            margin: 0 !important;
            padding: 12px 3px 8px !important;
            border: 0 !important;
            border-radius: 0 !important;
            background: transparent !important;
            box-shadow: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-submenu {
            position: static !important;
            z-index: auto !important;
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            width: auto !important;
            min-height: 0 !important;
            margin: 0 !important;
            padding: 0 !important;
            border: 0 !important;
            border-radius: 0 !important;
            background: transparent !important;
            box-shadow: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-submenu-shorts {
            padding: 0 !important;
            border: 0 !important;
            background: transparent !important;
            box-shadow: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-submenu .submenu-item {
            display: inline-flex !important;
            align-items: center !important;
            min-height: 34px !important;
            border: 0 !important;
            background: transparent !important;
            color: var(--muted) !important;
            font-size: 12px !important;
            font-weight: 700 !important;
            box-shadow: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-submenu .submenu-item.resultados {
            display: block !important;
            color: var(--ink) !important;
            font-size: 24px !important;
            font-weight: 760 !important;
            letter-spacing: -.5px !important;
            line-height: 1 !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-submenu .result-label {
            font-size: 24px !important;
            font-weight: 760 !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-submenu .submenu-item.vista {
            padding: 3px !important;
            border-radius: 14px !important;
            background: var(--sage) !important;
            color: var(--pine) !important;
            font-size: 12px !important;
            font-weight: 900 !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-submenu-shorts .submenu-item.shorts {
            padding: 0 !important;
            border-radius: 0 !important;
            background: none !important;
            color: #174f2b !important;
            font-size: 12px !important;
            font-weight: 800 !important;
            border: none !important;
            box-shadow: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .submenu-dropdown {
            right: 0 !important;
            left: auto !important;
            border-radius: 18px !important;
            border: 1px solid var(--line) !important;
            box-shadow: var(--shadow) !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .properties-wrapper,
          body.landing:has(.filters-bar.rwd-filters-canonical) .mode-map-1 .properties-wrapper, .mode-map1 .properties-wrapper,
          body.landing:has(.filters-bar.rwd-filters-canonical) .mode-map2 .properties-wrapper,
          body.landing:has(.filters-bar.rwd-filters-canonical) .mode-map3 .properties-wrapper,
          body.landing:has(.filters-bar.rwd-filters-canonical) .mode-grid .properties-wrapper {
            display: grid !important;
            grid-template-columns: minmax(0, 1fr) !important;
            gap: 14px !important;
            width: 100% !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property,
          body.landing:has(.filters-bar.rwd-filters-canonical) .property.carrusel-card,
          body.landing:has(.filters-bar.rwd-filters-canonical) .mode-map-1 .property.carrusel-card , .mode-map1 .property.carrusel-card {
            display: flex !important;
            flex-direction: column !important;
            width: 100% !important;
            min-width: 0 !important;
            height: auto !important;
            min-height: 0 !important;
            margin: 0 !important;
            overflow: hidden !important;
            border: 1px solid rgba(23, 79, 43, .10) !important;
            border-radius: 27px !important;
            background: rgba(255, 255, 255, .92) !important;
            box-shadow: var(--shadow) !important;
            transform: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-image-container,
          body.landing:has(.filters-bar.rwd-filters-canonical) .mode-map-1 .property.carrusel-card > .property-image-container, .mode-map1 .property.carrusel-card > .property-image-container,
          body.landing:has(.filters-bar.rwd-filters-canonical) .mode-map2 .property > .property-image-container,
          body.landing:has(.filters-bar.rwd-filters-canonical) .mode-map3 .property > .property-image-container,
          body.landing:has(.filters-bar.rwd-filters-canonical) .mode-grid .property > .property-image-container {
            position: relative !important;
            width: 100% !important;
            flex: 0 0 auto !important;
            height: 214px !important;
            margin: 0 !important;
            overflow: hidden !important;
            border-radius: 0 !important;
            background: #dfe8dd !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-image-container .carousel,
          body.landing:has(.filters-bar.rwd-filters-canonical) .property-image-container img,
          body.landing:has(.filters-bar.rwd-filters-canonical) .property-image-container .carousel .carousel-img {
            width: 100% !important;
            height: 100% !important;
            object-fit: cover !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property .carousel .prev,
          body.landing:has(.filters-bar.rwd-filters-canonical) .property .carousel .next {
            width: 44px !important;
            height: 44px !important;
            background: rgba(255, 255, 255, 0.9) !important;
            opacity: .92 !important;
            pointer-events: auto !important;
            z-index: 20 !important;
            transform: translateY(-50%) scale(1) !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property .carousel .prev img,
          body.landing:has(.filters-bar.rwd-filters-canonical) .property .carousel .next img {
            pointer-events: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .disponibilidad-badges {
            position: static !important;
            top: auto !important;
            left: auto !important;
            right: auto !important;
            bottom: auto !important;
            z-index: auto !important;
            display: inline-flex !important;
            flex-wrap: wrap !important;
            gap: 6px !important;
            max-width: none !important;
            flex: 1 1 auto !important;
            min-width: 0 !important;
            pointer-events: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .disponibilidad-badges .disponibilidad-badge {
            position: static !important;
            top: auto !important;
            left: auto !important;
            right: auto !important;
            bottom: auto !important;
            z-index: auto !important;
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            min-height: 29px !important;
            height: 29px !important;
            padding: 0 10px !important;
            border: 0 !important;
            border-radius: 999px !important;
            background: rgba(23, 79, 43, .88) !important;
            color: var(--white) !important;
            font-size: 11px !important;
            font-weight: 800 !important;
            line-height: 29px !important;
            white-space: nowrap !important;
            -webkit-backdrop-filter: none !important;
            backdrop-filter: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .disponibilidad-badges .disponibilidad-badge--opcion-compra {
            background: var(--k-badge-aoc-bg, #d97706) !important;
            color: var(--k-badge-aoc-fg, #ffffff) !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .disponibilidad-badges .disponibilidad-badge--condicion-buena {
            background: var(--k-badge-cond-buena-bg, #15803d) !important;
            color: var(--k-badge-cond-buena-fg, #ffffff) !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .disponibilidad-badges .disponibilidad-badge--condicion-reformar {
            background: var(--k-badge-cond-reformar-bg, #ca8a04) !important;
            color: var(--k-badge-cond-reformar-fg, #ffffff) !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .botones-interaccion-superior .favorite-btn {
            position: static !important;
            top: auto !important;
            right: auto !important;
            z-index: auto !important;
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            width: 38px !important;
            height: 38px !important;
            min-width: 38px !important;
            border: 0 !important;
            border-radius: 50% !important;
            background: rgba(255, 255, 255, .86) !important;
            color: var(--pine) !important;
            box-shadow: none !important;
            -webkit-backdrop-filter: blur(12px) !important;
            backdrop-filter: blur(12px) !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .botones-interaccion-superior .share-btn {
            position: static !important;
            top: auto !important;
            right: auto !important;
            z-index: auto !important;
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            width: 38px !important;
            height: 38px !important;
            min-width: 38px !important;
            border: 0 !important;
            border-radius: 50% !important;
            background: rgba(255, 255, 255, .86) !important;
            color: var(--pine) !important;
            box-shadow: none !important;
            -webkit-backdrop-filter: blur(12px) !important;
            backdrop-filter: blur(12px) !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .botones-interaccion-superior .favorite-btn svg,
          body.landing:has(.filters-bar.rwd-filters-canonical) .botones-interaccion-superior .share-btn svg {
            width: 19px !important;
            height: 19px !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .tarjeta-info-fotos.tarjeta-info-fotos--sobre-foto {
            right: 13px !important;
            bottom: 13px !important;
            left: auto !important;
            top: auto !important;
            transform: none !important;
            display: inline-flex !important;
            align-items: center !important;
            min-height: 27px !important;
            height: 27px !important;
            width: auto !important;
            min-width: 0 !important;
            padding: 0 9px !important;
            border: 0 !important;
            border-radius: 999px !important;
            background: rgba(17, 22, 17, .58) !important;
            color: var(--white) !important;
            box-shadow: none !important;
            -webkit-backdrop-filter: blur(12px) !important;
            backdrop-filter: blur(12px) !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .tarjeta-info-fotos--sobre-foto strong {
            color: var(--white) !important;
            font-size: 11px !important;
            font-weight: 800 !important;
            line-height: 27px !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .tarjeta-info-fotos--sobre-foto .listado-verde {
            display: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-content,
          body.landing:has(.filters-bar.rwd-filters-canonical) .mode-map-1 .property.carrusel-card > .property-content , .mode-map1 .property.carrusel-card > .property-content {
            display: flex !important;
            flex-direction: column !important;
            flex: 1 1 auto !important;
            gap: 0 !important;
            height: auto !important;
            padding: 13px 14px 15px !important;
            overflow: visible !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-card-header {
            margin: 0 !important;
            padding: 0 !important;
            background: transparent !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-card-header strong {
            display: block !important;
            margin: 0 !important;
            color: var(--pine) !important;
            font-size: 11px !important;
            font-weight: 900 !important;
            letter-spacing: .05em !important;
            line-height: 1.2 !important;
            text-transform: uppercase !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-card-header .subdireccion {
            display: block !important;
            margin: 6px 0 0 !important;
            overflow: hidden !important;
            color: var(--muted) !important;
            font-size: 12px !important;
            font-weight: 700 !important;
            line-height: 1.25 !important;
            text-overflow: ellipsis !important;
            white-space: nowrap !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-header {
            margin: 0 !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-header .price-row {
            margin: 10px 0 0 !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-header .price {
            margin: 0 !important;
            color: var(--pine-2) !important;
            font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
            font-size: 24px !important;
            font-weight: 760 !important;
            line-height: 1.08 !important;
            letter-spacing: -.4px !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .characteristics {
            display: flex !important;
            flex-wrap: wrap !important;
            gap: 7px !important;
            margin: 10px 0 0 !important;
            padding: 0 !important;
            border: 0 !important;
            overflow: visible !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .characteristics div {
            display: inline-flex !important;
            align-items: center !important;
            gap: 4px !important;
            min-height: 29px !important;
            padding: 0 9px !important;
            border: 0 !important;
            border-radius: 999px !important;
            background: #eef6ec !important;
            color: #263a29 !important;
            font-size: 12px !important;
            font-weight: 800 !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .characteristics img {
            width: 14px !important;
            height: 14px !important;
            opacity: .78 !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .characteristics span {
            color: #263a29 !important;
            font-size: 12px !important;
            font-weight: 800 !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-description,
          body.landing:has(.filters-bar.rwd-filters-canonical) .property-owner-description {
            display: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-extras {
            display: flex !important;
            margin: 10px 0 0 !important;
            min-height: 0 !important;
            overflow: visible !important;
            transform: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-extras .extras-wrapper {
            display: flex !important;
            flex-wrap: nowrap !important;
            align-items: center !important;
            gap: 10px !important;
            width: 100% !important;
            height: 24px !important;
            max-height: 24px !important;
            overflow: hidden !important;
            white-space: nowrap !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-extras .extra,
          body.landing:has(.filters-bar.rwd-filters-canonical) .property-extras .extra--more {
            display: inline-flex !important;
            align-items: center !important;
            flex: 0 0 auto !important;
            min-height: 24px !important;
            height: 24px !important;
            max-height: 24px !important;
            padding: 0 12px !important;
            border: 0 !important;
            border-radius: 9px !important;
            background: rgba(201, 151, 63, .13) !important;
            color: #655024 !important;
            font-size: 10px !important;
            font-weight: 800 !important;
            line-height: 1 !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-extras .extra .extra__ic {
            display: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-extras .extra .extra__txt {
            font-size: 10px !important;
            font-weight: 800 !important;
            line-height: 1 !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-meta-row {
            display: flex !important;
            position: static !important;
            left: auto !important;
            right: auto !important;
            bottom: auto !important;
            gap: 8px !important;
            margin-top: auto !important;
            margin-left: 0 !important;
            margin-right: 0 !important;
            margin-bottom: 0 !important;
            padding-top: 8px !important;
            padding-bottom: 6px !important;
            border: 0 !important;
            width: 100% !important;
            align-items: flex-end !important;
            justify-content: space-between !important;
            flex-wrap: wrap !important;
            flex-shrink: 0 !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .btn-chat-interno--index-casa {
            flex: 0 0 auto !important;
            justify-content: center !important;
            min-height: 42px !important;
            padding: 0 14px !important;
            border: 0 !important;
            border-radius: 15px !important;
            background: var(--pine) !important;
            color: var(--white) !important;
            font-size: 13px !important;
            font-weight: 900 !important;
            box-shadow: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .btn-chat-interno--index-casa__ic {
            width: 18px !important;
            height: 18px !important;
            filter: brightness(0) invert(1) !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show,
          body.landing:has(.filters-bar.rwd-filters-canonical) .advanced-filter-dialog.show {
            position: fixed !important;
            inset: 0 !important;
            width: 100vw !important;
            min-width: 100vw !important;
            max-width: 100vw !important;
            height: 100dvh !important;
            max-height: 100dvh !important;
            transform: none !important;
            margin: 0 !important;
            padding: 18px 16px calc(24px + env(safe-area-inset-bottom)) !important;
            border: 0 !important;
            border-radius: 0 !important;
            background:
              radial-gradient(circle at 12% 0%, rgba(201, 151, 63, .16), transparent 32%),
              var(--paper) !important;
            box-shadow: none !important;
            overflow-y: auto !important;
            z-index: 3000 !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show h3,
          body.landing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show h4,
          body.landing:has(.filters-bar.rwd-filters-canonical) .advanced-filter-dialog.show .dialog-header {
            position: sticky !important;
            top: 0 !important;
            z-index: 1 !important;
            margin: -18px -16px 16px !important;
            padding: 18px 16px 14px !important;
            background: rgba(251, 250, 244, .92) !important;
            border-bottom: 1px solid rgba(23, 79, 43, .10) !important;
            -webkit-backdrop-filter: blur(18px) !important;
            backdrop-filter: blur(18px) !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show h3,
          body.landing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show h4,
          body.landing:has(.filters-bar.rwd-filters-canonical) .advanced-filter-dialog.show .dialog-title {
            color: var(--ink) !important;
            font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
            font-size: 21px !important;
            font-weight: 760 !important;
            letter-spacing: -.3px !important;
            text-transform: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show .grid-options,
          body.landing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show .estado-grid,
          body.landing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show .selector-options,
          body.landing:has(.filters-bar.rwd-filters-canonical) .advanced-filter-dialog.show .filter-sections {
            display: grid !important;
            grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
            gap: 10px !important;
            width: 100% !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show .option-item,
          body.landing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show .option,
          body.landing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show .hb-option,
          body.landing:has(.filters-bar.rwd-filters-canonical) .advanced-filter-dialog.show .checkbox-container,
          body.landing:has(.filters-bar.rwd-filters-canonical) .advanced-filter-dialog.show .filter-section {
            min-height: 44px !important;
            border: 1px solid rgba(23, 79, 43, .13) !important;
            border-radius: 14px !important;
            background: var(--white) !important;
            color: var(--ink) !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show .price-range input[type="number"] {
            min-height: 46px !important;
            border: 1px solid rgba(23, 79, 43, .13) !important;
            border-radius: 14px !important;
            background: var(--white) !important;
            font-size: 15px !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show .action-buttons,
          body.landing:has(.filters-bar.rwd-filters-canonical) .advanced-filter-dialog.show .filter-actions {
            position: sticky !important;
            bottom: 0 !important;
            margin: 18px -16px calc(-24px - env(safe-area-inset-bottom)) !important;
            padding: 12px 16px calc(14px + env(safe-area-inset-bottom)) !important;
            background: rgba(251, 250, 244, .94) !important;
            border-top: 1px solid rgba(23, 79, 43, .10) !important;
            -webkit-backdrop-filter: blur(18px) !important;
            backdrop-filter: blur(18px) !important;
          }

          /* Capa final anti-legacy: igualar el mockup y eliminar solapes heredados. */
          body.landing:has(.filters-bar.rwd-filters-canonical) .banner-top {
            display: grid !important;
            grid-template-columns: 42px 1fr auto !important;
            align-items: center !important;
            column-gap: 8px !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .menu-container,
          body.landing:has(.filters-bar.rwd-filters-canonical) .top-right-menu {
            position: static !important;
            display: flex !important;
            align-items: center !important;
            min-width: 0 !important;
            gap: 6px !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .menu-icon {
            position: static !important;
            transform: none !important;
            display: grid !important;
            width: 42px !important;
            height: 42px !important;
            place-items: center !important;
            padding: 0 !important;
            border: 0 !important;
            border-radius: 12px !important;
            background: rgba(17, 22, 17, .10) !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .menu-icon img {
            width: 22px !important;
            height: 22px !important;
            margin: 0 !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .menu-icon span {
            display: none !important;
          }


          body.landing:has(.filters-bar.rwd-filters-canonical) .top-right-menu {
            justify-self: end !important;
            max-width: 156px !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .user-link {
            display: grid !important;
            width: 44px !important;
            min-width: 44px !important;
            max-width: 44px !important;
            height: 44px !important;
            min-height: 44px !important;
            place-items: center !important;
            padding: 0 !important;
            border: 0 !important;
            border-radius: 50% !important;
            background: transparent !important;
            box-shadow: none !important;
            overflow: visible !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .user-avatar,
          body.landing:has(.filters-bar.rwd-filters-canonical) .user-avatar img {
            width: 42px !important;
            height: 42px !important;
            border-radius: 50% !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .user-info,
          body.landing:has(.filters-bar.rwd-filters-canonical) .user-name,
          body.landing:has(.filters-bar.rwd-filters-canonical) .user-email {
            display: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .banner-bottom {
            padding-top: 5px !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-left {
            display: grid !important;
            grid-template-columns: minmax(0, 1fr) 46px !important;
            grid-auto-flow: column !important;
            grid-auto-columns: max-content !important;
            grid-template-rows: 46px 30px !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) #open-advanced-filter-cta span {
            display: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-right {
            position: fixed !important;
            top: auto !important;
            right: 0 !important;
            bottom: 0 !important;
            left: 0 !important;
            z-index: 999999 !important;
            display: flex !important;
            flex-direction: row !important;
            align-items: center !important;
            justify-content: space-around !important;
            gap: 0 !important;
            width: 100vw !important;
            min-width: 0 !important;
            max-width: none !important;
            min-height: 64px !important;
            max-height: none !important;
            margin: 0 !important;
            padding: 6px 0 calc(6px + env(safe-area-inset-bottom)) !important;
            border: 0 !important;
            border-top: 1px solid rgba(23, 79, 43, .10) !important;
            border-radius: 0 !important;
            background: #ffffff !important;
            box-shadow: 0 -10px 28px rgba(23, 79, 43, .12) !important;
            -webkit-backdrop-filter: none !important;
            backdrop-filter: none !important;
            transform: none !important;
            contain: none !important;
            will-change: auto !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-right > .text-button,
          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-right > .search-button {
            display: grid !important;
            flex: 1 1 0 !important;
            width: auto !important;
            min-width: 0 !important;
            max-width: none !important;
            height: 44px !important;
            min-height: 44px !important;
            place-items: center !important;
            gap: 2px !important;
            margin: 0 !important;
            padding: 3px 4px !important;
            border: 0 !important;
            border-radius: 16px !important;
            background: transparent !important;
            color: var(--muted) !important;
            box-shadow: none !important;
            font-size: 10px !important;
            font-weight: 900 !important;
            line-height: 1.1 !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-right .clear-all-filters-btn,
          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-right .mobile-map-toggle-btn {
            display: grid !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-right .clear-all-filters-btn::before,
          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-right .mobile-map-toggle-btn::before,
          body.landing:has(.filters-bar.rwd-filters-canonical) #favorites-btn::before,
          body.landing:has(.filters-bar.rwd-filters-canonical) #save-search-btn::before {
            display: block !important;
            font-size: 18px !important;
            line-height: 1 !important;
            color: currentColor !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-right .clear-all-filters-btn::before {
            content: "" !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-right .mobile-map-toggle-btn::before {
            content: "" !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) #favorites-btn::before {
            content: "" !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) #save-search-btn::before {
            content: "" !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-right > .text-button img,
          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-right > .search-button img,
          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-right > .text-button svg,
          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-right > .search-button svg {
            display: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .content > .map,
          body.landing:has(.filters-bar.rwd-filters-canonical) .map,
          body.landing:has(.filters-bar.rwd-filters-canonical) #map,
          body.landing:has(.filters-bar.rwd-filters-canonical) .map-controls,
          body.landing:has(.filters-bar.rwd-filters-canonical) .leaflet-container,
          body.landing:has(.filters-bar.rwd-filters-canonical) .leaflet-control-container {
            display: none !important;
            visibility: hidden !important;
            width: 0 !important;
            height: 0 !important;
            min-width: 0 !important;
            min-height: 0 !important;
            overflow: hidden !important;
            pointer-events: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-submenu {
            position: static !important;
            min-height: 74px !important;
            padding: 26px 16px 14px !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-submenu .submenu-item.resultados,
          body.landing:has(.filters-bar.rwd-filters-canonical) .property-submenu .result-label {
            font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
            font-size: 30px !important;
            font-weight: 900 !important;
            line-height: 1.05 !important;
            letter-spacing: -1px !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-submenu .submenu-item.vista {
            align-self: center !important;
            min-height: 34px !important;
            padding: 6px 10px !important;
            border-radius: 999px !important;
            background: rgba(232, 241, 231, .92) !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-submenu-shorts .submenu-item.shorts {
            align-self: center !important;
            min-height: auto !important;
            padding: 0 !important;
            border-radius: 0 !important;
            background: none !important;
            color: #174f2b !important;
            border: none !important;
            box-shadow: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .properties {
            padding-inline: 19px !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property,
          body.landing:has(.filters-bar.rwd-filters-canonical) .property.carrusel-card {
            border-radius: 27px !important;
            overflow: hidden !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-image-container,
          body.landing:has(.filters-bar.rwd-filters-canonical) .mode-map-1 .property.carrusel-card > .property-image-container, .mode-map1 .property.carrusel-card > .property-image-container,
          body.landing:has(.filters-bar.rwd-filters-canonical) .mode-map2 .property > .property-image-container,
          body.landing:has(.filters-bar.rwd-filters-canonical) .mode-map3 .property > .property-image-container,
          body.landing:has(.filters-bar.rwd-filters-canonical) .mode-grid .property > .property-image-container {
            height: 214px !important;
            min-height: 214px !important;
            max-height: 214px !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .disponibilidad-badges {
            position: static !important;
            top: auto !important;
            left: auto !important;
            right: auto !important;
            bottom: auto !important;
            max-width: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .disponibilidad-badges .disponibilidad-badge {
            width: auto !important;
            min-width: 0 !important;
            max-width: none !important;
            height: 29px !important;
            min-height: 29px !important;
            max-height: 29px !important;
            padding: 0 10px !important;
            border-radius: 999px !important;
            writing-mode: horizontal-tb !important;
            text-orientation: mixed !important;
            transform: none !important;
            white-space: nowrap !important;
            overflow: hidden !important;
            text-overflow: ellipsis !important;
            line-height: 29px !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .disponibilidad-badges .disponibilidad-badge--opcion-compra {
            background: var(--k-badge-aoc-bg, #d97706) !important;
            color: var(--k-badge-aoc-fg, #ffffff) !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .disponibilidad-badges .disponibilidad-badge--condicion-buena {
            background: var(--k-badge-cond-buena-bg, #15803d) !important;
            color: var(--k-badge-cond-buena-fg, #ffffff) !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .disponibilidad-badges .disponibilidad-badge--condicion-reformar {
            background: var(--k-badge-cond-reformar-bg, #ca8a04) !important;
            color: var(--k-badge-cond-reformar-fg, #ffffff) !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-content {
            position: relative !important;
            z-index: 1 !important;
            margin: 0 !important;
            transform: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-card-header strong {
            margin-top: 0 !important;
            overflow: hidden !important;
            white-space: nowrap !important;
            text-overflow: ellipsis !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-header .price {
            font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
            font-weight: 900 !important;
            font-size: 26px !important;
            letter-spacing: -.8px !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .btn-chat-interno--index-casa {
            width: auto !important;
          }
        }

        @media (max-width: 768px) {
          #listing-actions-desktop {
            display: none !important;
          }

          .mobile-bottom-menu {
            position: fixed !important;
            inset: auto 0 0 0 !important;
            z-index: 999999 !important;
            display: flex !important;
            align-items: center !important;
            justify-content: space-around !important;
            width: 100vw !important;
            min-height: 64px !important;
            margin: 0 !important;
            padding: 6px 0 calc(6px + env(safe-area-inset-bottom)) !important;
            border: 0 !important;
            border-top: 1px solid rgba(23, 79, 43, .10) !important;
            border-radius: 0 !important;
            background: #fff !important;
            box-shadow: 0 -10px 28px rgba(23, 79, 43, .12) !important;
            -webkit-backdrop-filter: none !important;
            backdrop-filter: none !important;
            transform: none !important;
            contain: none !important;
            will-change: auto !important;
          }

          .mobile-bottom-menu > .text-button {
            display: grid !important;
            flex: 1 1 0 !important;
            width: auto !important;
            min-width: 0 !important;
            height: 44px !important;
            min-height: 44px !important;
            place-items: center !important;
            gap: 2px !important;
            margin: 0 !important;
            padding: 3px 4px !important;
            border: 0 !important;
            border-radius: 0 !important;
            background: transparent !important;
            color: #687566 !important;
            box-shadow: none !important;
            font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
            font-size: 10px !important;
            font-weight: 900 !important;
            line-height: 1.1 !important;
          }

          .mobile-bottom-menu > .text-button::before {
            display: block !important;
            font-size: 18px !important;
            line-height: 1 !important;
            color: currentColor !important;
          }

          #mobile-clear-all-filters-btn::before { content: "" !important; }
          #mobile-bottom-map-toggle-btn::before { content: "" !important; }
          #mobile-shorts-btn::before { content: "▶" !important; }
          #mobile-favorites-btn::before { content: "" !important; }
          #mobile-save-search-btn::before { content: "" !important; }

          body.landing > .filters-right[data-mobile-detached="1"] {
            position: fixed !important;
            inset: auto 0 0 0 !important;
            z-index: 999999 !important;
            display: flex !important;
            align-items: center !important;
            justify-content: space-around !important;
            width: 100vw !important;
            min-height: 64px !important;
            margin: 0 !important;
            padding: 6px 0 calc(6px + env(safe-area-inset-bottom)) !important;
            border: 0 !important;
            border-top: 1px solid rgba(23, 79, 43, .10) !important;
            border-radius: 0 !important;
            background: #fff !important;
            box-shadow: 0 -10px 28px rgba(23, 79, 43, .12) !important;
            -webkit-backdrop-filter: none !important;
            backdrop-filter: none !important;
            transform: none !important;
            contain: none !important;
            will-change: auto !important;
          }
        }

        @media (max-width: 768px) {
        body.kasalia-mobile-listing #listing-actions-desktop {
          display: none !important;
        }

        body.kasalia-mobile-listing .mobile-bottom-menu {
          position: fixed !important;
          inset: auto 0 0 0 !important;
          z-index: 999999 !important;
          display: flex !important;
          flex-direction: row !important;
          align-items: center !important;
          justify-content: space-around !important;
          width: 100vw !important;
          min-height: 64px !important;
          margin: 0 !important;
          padding: 6px 0 calc(6px + env(safe-area-inset-bottom)) !important;
          border: 0 !important;
          border-top: 1px solid rgba(23, 79, 43, .10) !important;
          border-radius: 0 !important;
          background: #fff !important;
          box-shadow: 0 -10px 28px rgba(23, 79, 43, .12) !important;
          -webkit-backdrop-filter: none !important;
          backdrop-filter: none !important;
          transform: none !important;
          contain: none !important;
          will-change: auto !important;
        }

        body.kasalia-mobile-listing .mobile-bottom-menu > .text-button {
          display: grid !important;
          flex: 1 1 0 !important;
          width: auto !important;
          min-width: 0 !important;
          height: 44px !important;
          min-height: 44px !important;
          place-items: center !important;
          gap: 2px !important;
          margin: 0 !important;
          padding: 3px 4px !important;
          border: 0 !important;
          border-radius: 0 !important;
          background: transparent !important;
          color: #687566 !important;
          box-shadow: none !important;
          font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
          font-size: 10px !important;
          font-weight: 900 !important;
          line-height: 1.1 !important;
        }

        body.kasalia-mobile-listing .mobile-bottom-menu > .text-button::before {
          display: block !important;
          font-size: 18px !important;
          line-height: 1 !important;
          color: currentColor !important;
        }

        body.kasalia-mobile-listing #mobile-clear-all-filters-btn::before { content: "" !important; }
        body.kasalia-mobile-listing #mobile-bottom-map-toggle-btn::before { content: "" !important; }
        body.kasalia-mobile-listing #mobile-shorts-btn::before { content: "▶" !important; }
        body.kasalia-mobile-listing #mobile-favorites-btn::before { content: "" !important; }
        body.kasalia-mobile-listing #mobile-save-search-btn::before { content: "" !important; }
        }

        .mobile-bottom-menu {
          display: none !important;
        }

        @media (max-width: 768px) {
          .mobile-bottom-menu {
            position: fixed !important;
            inset: auto 18px 14px 18px !important;
            z-index: 999999 !important;
            display: flex !important;
            flex-direction: row !important;
            align-items: center !important;
            justify-content: space-around !important;
            width: auto !important;
            min-height: 58px !important;
            margin: 0 !important;
            padding: 0 !important;
            border: 1px solid rgba(23, 79, 43, .12) !important;
            border-radius: 22px !important;
            background: rgba(255, 255, 255, .88) !important;
            box-shadow: 0 16px 36px rgba(23, 79, 43, .20) !important;
            -webkit-backdrop-filter: blur(18px) !important;
            backdrop-filter: blur(18px) !important;
            transform: none !important;
            contain: none !important;
            will-change: auto !important;
          }
        }

        @media (max-width: 768px) {
          .mobile-bottom-menu,
          body.kasalia-mobile-listing .mobile-bottom-menu {
            position: fixed !important;
            right: 18px !important;
            bottom: 14px !important;
            left: 18px !important;
            top: auto !important;
            z-index: 999999 !important;
            display: flex !important;
            align-items: center !important;
            justify-content: space-around !important;
            width: auto !important;
            min-height: 58px !important;
            max-height: 58px !important;
            margin: 0 !important;
            padding: 0 !important;
            border: 1px solid rgba(23, 79, 43, .12) !important;
            border-radius: 22px !important;
            background: rgba(255, 255, 255, .88) !important;
            box-shadow: 0 16px 36px rgba(23, 79, 43, .20) !important;
            -webkit-backdrop-filter: blur(18px) !important;
            backdrop-filter: blur(18px) !important;
            transform: none !important;
            contain: none !important;
            will-change: auto !important;
          }


          body.landing:has(.filters-bar.rwd-filters-canonical) .banner-bottom {
            padding: 10px 16px 10px !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-bar {
            display: block !important;
            width: 100% !important;
            padding: 0 !important;
            border: 0 !important;
            background: transparent !important;
            box-shadow: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-left {
            display: grid !important;
            grid-template-columns: minmax(0, 1fr) 46px !important;
            grid-auto-flow: column !important;
            grid-auto-columns: max-content !important;
            grid-template-rows: 55px 28px 28px !important;
            gap: 10px 6px !important;
            align-items: center !important;
            width: 100% !important;
            overflow-x: auto !important;
            overflow-y: visible !important;
            padding: 0 !important;
            scrollbar-width: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .filters-left::-webkit-scrollbar {
            display: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) #ubicacion-field {
            grid-column: 1 !important;
            grid-row: 1 !important;
            align-self: center !important;
            width: 100% !important;
            min-width: 0 !important;
            max-width: none !important;
            height: 55px !important;
            min-height: 55px !important;
            padding: 11px 12px !important;
            border: 1px solid rgba(23, 79, 43, .15) !important;
            border-radius: 18px !important;
            background: var(--white) !important;
            box-shadow: 0 10px 22px rgba(23, 79, 43, .08) !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) #ubicacion-field::after {
            content: "Barcelona, Madrid, Valencia..." !important;
            display: block !important;
            margin-top: 3px !important;
            overflow: hidden !important;
            color: var(--muted) !important;
            font-size: 11px !important;
            font-weight: 600 !important;
            line-height: 1.1 !important;
            text-overflow: ellipsis !important;
            white-space: nowrap !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) #ubicacion-field > input {
            width: 100% !important;
            height: 16px !important;
            line-height: 16px !important;
            padding: 0 !important;
            color: var(--ink) !important;
            -webkit-text-fill-color: var(--ink) !important;
            font-size: 13px !important;
            font-weight: 900 !important;
            text-align: left !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) #ubicacion-field > input::placeholder {
            color: var(--ink) !important;
            -webkit-text-fill-color: var(--ink) !important;
            font-size: 13px !important;
            font-weight: 900 !important;
            opacity: 1 !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) #open-advanced-filter-cta {
            grid-column: 2 !important;
            grid-row: 1 !important;
            align-self: center !important;
            display: grid !important;
            width: 46px !important;
            min-width: 46px !important;
            max-width: 46px !important;
            height: 46px !important;
            min-height: 46px !important;
            place-items: center !important;
            padding: 0 !important;
            border: 0 !important;
            border-radius: 16px !important;
            background: var(--pine) !important;
            color: var(--white) !important;
            box-shadow: 0 14px 28px rgba(23, 79, 43, .26) !important;
            font-size: 0 !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) #open-advanced-filter-cta img {
            width: 20px !important;
            height: 20px !important;
            margin: 0 !important;
            filter: brightness(0) invert(1) !important;
          }

          body.kasalia-mobile-listing.kasalia-mobile-topbar .banner > .banner-top {
            display: none !important;
            visibility: hidden !important;
            height: 0 !important;
            min-height: 0 !important;
            max-height: 0 !important;
            overflow: hidden !important;
            padding: 0 !important;
            margin: 0 !important;
            pointer-events: none !important;
          }

          .kasalia-mobile-user-avatar img {
            width: 100% !important;
            height: 100% !important;
            border-radius: 50% !important;
            object-fit: cover !important;
            display: block !important;
          }

          .kasalia-mobile-filter-main img {
            width: 24px !important;
            height: 24px !important;
            object-fit: contain !important;
            display: block !important;
            filter: brightness(0) invert(1) !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-submenu .submenu-item.vista,
          body.landing:has(.filters-bar.rwd-filters-canonical) .property-submenu-shorts .submenu-item.shorts {
            display: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-submenu-shorts {
            display: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-submenu {
            justify-content: flex-start !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .characteristics {
            display: flex !important;
            flex-wrap: wrap !important;
            gap: 7px !important;
            margin: 10px 0 0 !important;
            padding: 0 !important;
            border: 0 !important;
            overflow: visible !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .characteristics div {
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            gap: 5px !important;
            min-height: 29px !important;
            height: 29px !important;
            padding: 0 9px !important;
            border: 0 !important;
            border-radius: 999px !important;
            background: #eef6ec !important;
            color: #263a29 !important;
            font-size: 12px !important;
            font-weight: 800 !important;
            line-height: 29px !important;
            box-shadow: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .characteristics img {
            width: 14px !important;
            height: 14px !important;
            margin: 0 !important;
            opacity: .78 !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .characteristics span {
            color: #263a29 !important;
            font-size: 12px !important;
            font-weight: 800 !important;
            line-height: 29px !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-extras {
            display: flex !important;
            margin: 10px 0 0 !important;
            min-height: 0 !important;
            overflow: visible !important;
            transform: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-extras .extras-wrapper {
            display: flex !important;
            flex-wrap: nowrap !important;
            align-items: center !important;
            gap: 10px !important;
            width: 100% !important;
            height: 24px !important;
            max-height: 24px !important;
            overflow: hidden !important;
            white-space: nowrap !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-extras .extra,
          body.landing:has(.filters-bar.rwd-filters-canonical) .property-extras .extra--more {
            display: inline-flex !important;
            align-items: center !important;
            flex: 0 0 auto !important;
            min-height: 23px !important;
            height: 23px !important;
            max-height: 23px !important;
            padding: 0 12px !important;
            border: 0 !important;
            border-radius: 9px !important;
            background: rgba(201, 151, 63, .13) !important;
            color: #655024 !important;
            font-size: 10px !important;
            font-weight: 800 !important;
            line-height: 1 !important;
            box-shadow: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-extras .extra .extra__ic {
            display: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-extras .extra .extra__txt {
            font-size: 10px !important;
            font-weight: 800 !important;
            line-height: 1 !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .property-meta-row {
            display: flex !important;
            gap: 8px !important;
            margin-top: auto !important;
            margin-left: 0 !important;
            margin-right: 0 !important;
            margin-bottom: 0 !important;
            padding-top: 8px !important;
            padding-bottom: 6px !important;
            border: 0 !important;
            align-items: flex-end !important;
            justify-content: space-between !important;
            flex-wrap: wrap !important;
            flex-shrink: 0 !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .btn-chat-interno--index-casa {
            flex: 0 0 auto !important;
            width: auto !important;
            max-width: none !important;
            justify-content: center !important;
            min-height: 42px !important;
            height: 42px !important;
            padding: 0 14px !important;
            border: 0 !important;
            border-radius: 15px !important;
            background: var(--pine) !important;
            color: var(--white) !important;
            font-size: 13px !important;
            font-weight: 900 !important;
            box-shadow: none !important;
          }

          body.landing:has(.filters-bar.rwd-filters-canonical) .btn-chat-interno--index-casa__ic {
            width: 18px !important;
            height: 18px !important;
            filter: brightness(0) invert(1) !important;
          }
        }

        body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) .banner-bottom {
          display: none !important;
        }

        body.kasalia-mobile-listing .kasalia-mobile-topbar-mock {
          --rwd-mock-topbar-pt: calc(env(safe-area-inset-top, 0px) + var(--rwd-space-xs));
          display: block !important;
          position: sticky !important;
          top: 0 !important;
          z-index: 1600 !important;
          padding: var(--rwd-mock-topbar-pt) var(--rwd-space-sm) var(--rwd-space-xs) var(--rwd-space-sm) !important;
          background: rgba(251, 250, 244, .88) !important;
          border-bottom: 1px solid rgba(23, 79, 43, .08) !important;
          -webkit-backdrop-filter: blur(18px) !important;
          backdrop-filter: blur(18px) !important;
        }

        body.kasalia-mobile-listing .kasalia-mobile-brand-row {
          display: grid !important;
          grid-template-columns: minmax(0, 1fr) auto auto !important;
          align-items: center !important;
          gap: var(--rwd-space-xs) !important;
        }

        body.kasalia-mobile-listing .kasalia-mobile-hero-search {
          display: grid !important;
          grid-template-columns: minmax(0, 1fr) 48px !important;
          gap: 12px !important;
          margin-top: 14px !important;
          width: 100% !important;
        }

        body.kasalia-mobile-listing .kasalia-mobile-chips {
          display: grid !important;
          grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
          align-items: stretch !important;
          gap: 8px !important;
          margin-top: 10px !important;
        }

        body.kasalia-mobile-listing .kasalia-mobile-real-search-pill {
          display: block !important;
          min-width: 0 !important;
          width: 100% !important;
          min-height: 55px !important;
          height: 55px !important;
          padding: 11px 12px !important;
          border: 1px solid rgba(23, 79, 43, .15) !important;
          border-radius: 18px !important;
          background: #fff !important;
          box-shadow: 0 10px 22px rgba(23, 79, 43, .08) !important;
          color: var(--ink) !important;
          text-align: left !important;
          position: relative !important;
          margin: 0 !important;
        }

        body.kasalia-mobile-listing .kasalia-mobile-real-search-pill::after {
          content: "Barcelona, Madrid, Valencia..." !important;
          display: block !important;
          margin-top: 3px !important;
          overflow: hidden !important;
          color: var(--muted) !important;
          font-size: 11px !important;
          font-weight: 600 !important;
          text-overflow: ellipsis !important;
          white-space: nowrap !important;
        }

        body.kasalia-mobile-listing .kasalia-mobile-real-search-pill > input {
          display: block !important;
          width: 100% !important;
          height: 16px !important;
          line-height: 16px !important;
          padding: 0 !important;
          color: var(--ink) !important;
          -webkit-text-fill-color: var(--ink) !important;
          font-size: 13px !important;
          font-weight: 900 !important;
          text-align: left !important;
        }

        body.kasalia-mobile-listing .kasalia-mobile-real-search-pill > input::placeholder {
          color: var(--ink) !important;
          -webkit-text-fill-color: var(--ink) !important;
          opacity: 1 !important;
        }

        body.kasalia-mobile-listing .kasalia-mobile-filter-main,
        body.kasalia-mobile-listing .kasalia-mobile-real-filter-main {
          display: grid !important;
          width: 46px !important;
          min-width: 46px !important;
          height: 46px !important;
          min-height: 46px !important;
          place-items: center !important;
          align-self: center !important;
          padding: 0 !important;
          border: 0 !important;
          border-radius: 16px !important;
          background: var(--pine) !important;
          color: #fff !important;
          box-shadow: 0 14px 28px rgba(23, 79, 43, .26) !important;
          font-size: 0 !important;
          margin: 0 !important;
        }

        body.kasalia-mobile-listing .kasalia-mobile-filter-main img,
        body.kasalia-mobile-listing .kasalia-mobile-real-filter-main img {
          width: 24px !important;
          height: 24px !important;
          filter: brightness(0) invert(1) !important;
        }

        body.kasalia-mobile-listing #dropdown-menu.show {
          position: fixed !important;
          top: 96px !important;
          left: 16px !important;
          right: 16px !important;
          width: auto !important;
          max-width: none !important;
          max-height: calc(100dvh - 122px) !important;
          overflow-y: auto !important;
          padding: 12px !important;
          border: 1px solid rgba(23, 79, 43, .12) !important;
          border-radius: 22px !important;
          background: rgba(255, 255, 255, .96) !important;
          box-shadow: 0 20px 50px rgba(23, 79, 43, .20) !important;
          z-index: 2100 !important;
          -webkit-backdrop-filter: blur(18px) !important;
          backdrop-filter: blur(18px) !important;
        }

        body.kasalia-mobile-listing #dropdown-menu.show li a {
          padding: 11px 12px !important;
          border-radius: 14px !important;
          font-size: 15px !important;
        }

        /* Restaurar formato clásico de submenús: opciones rectangulares y texto legible. */
        :root {
          --kasalia-filter-selected-bg: #5db85d;
          --kasalia-filter-selected-border: #245f24;
          --kasalia-filter-selected-shadow: 0 8px 18px rgba(36, 95, 36, .22);
        }

        .banner-bottom .filter-dropdown.show {
          display: flex !important;
          flex-direction: column !important;
          overflow: hidden !important;
          max-height: min(72vh, 680px) !important;
        }

        .banner-bottom .filter-dropdown .grid-options,
        .banner-bottom .filter-dropdown .estado-grid,
        .banner-bottom .filter-dropdown .selector-options {
          flex: 1 1 auto !important;
          min-height: 0 !important;
          gap: 12px !important;
          padding: 14px 8px 18px !important;
          overflow-y: auto !important;
          overflow-x: hidden !important;
        }

        .banner-bottom .filter-dropdown .option-item,
        .banner-bottom .filter-dropdown .option,
        .banner-bottom .filter-dropdown .hb-option,
        .banner-bottom .filter-dropdown .kasalia-lep-estado-opt,
        .banner-bottom .filter-dropdown .kasalia-planta-chip,
        .banner-bottom .filter-dropdown .kasalia-tx-opt,
        .banner-bottom .filter-dropdown .kasalia-acceso-opt {
          display: flex !important;
          align-items: center !important;
          justify-content: center !important;
          min-height: 42px !important;
          padding: 10px 14px !important;
          border: 1.5px solid rgba(23, 79, 43, .32) !important;
          border-radius: 10px !important;
          background: #ffffff !important;
          color: #1f2937 !important;
          font-size: 14px !important;
          font-weight: 800 !important;
          line-height: 1.25 !important;
          text-align: center !important;
          white-space: normal !important;
          box-shadow: 0 1px 0 rgba(23, 79, 43, .05) !important;
          box-sizing: border-box !important;
        }

        .banner-bottom .filter-dropdown .option-item.selected,
        .banner-bottom .filter-dropdown .option.selected,
        .banner-bottom .filter-dropdown .selected,
        .banner-bottom .filter-dropdown .hb-option.selected,
        .banner-bottom .filter-dropdown .kasalia-lep-estado-opt.selected,
        .banner-bottom .filter-dropdown .kasalia-planta-chip.selected,
        .banner-bottom .filter-dropdown .kasalia-tx-opt.selected,
        .banner-bottom .filter-dropdown .kasalia-acceso-opt.selected,
        .banner-bottom #ordenar-dropdown .kasalia-orden-item.selected,
        .banner-bottom #ordenar-dropdown .kasalia-orden-dir.is-active,
        .submenu-dropdown .option-item.selected {
          border-color: var(--kasalia-filter-selected-border) !important;
          background: var(--kasalia-filter-selected-bg) !important;
          background-image: none !important;
          color: #ffffff !important;
          box-shadow: var(--kasalia-filter-selected-shadow) !important;
        }

        .banner-bottom .filter-dropdown .option-item.selected *,
        .banner-bottom .filter-dropdown .option.selected *,
        .banner-bottom .filter-dropdown .selected *,
        .banner-bottom .filter-dropdown .hb-option.selected *,
        .banner-bottom .filter-dropdown .kasalia-lep-estado-opt.selected *,
        .banner-bottom .filter-dropdown .kasalia-planta-chip.selected *,
        .banner-bottom .filter-dropdown .kasalia-tx-opt.selected *,
        .banner-bottom .filter-dropdown .kasalia-acceso-opt.selected *,
        .banner-bottom #ordenar-dropdown .kasalia-orden-item.selected *,
        .banner-bottom #ordenar-dropdown .kasalia-orden-dir.is-active *,
        .submenu-dropdown .option-item.selected * {
          color: #ffffff !important;
        }

        .banner-bottom .filter-dropdown .action-buttons .filter-action-btn,
        .banner-bottom .filter-dropdown .filter-action-btn {
          min-height: 40px !important;
          padding: 9px 16px !important;
          border-radius: 10px !important;
          font-size: 14px !important;
          font-weight: 800 !important;
        }

        .banner-bottom .filter-dropdown .action-buttons {
          position: sticky !important;
          bottom: 0 !important;
          z-index: 3 !important;
          flex: 0 0 auto !important;
          margin: 8px 0 0 !important;
          padding: 12px 0 0 !important;
          background: rgba(255, 255, 255, .96) !important;
          border-top: 1px solid rgba(23, 79, 43, .12) !important;
          -webkit-backdrop-filter: blur(10px) !important;
          backdrop-filter: blur(10px) !important;
        }

        .banner-bottom .filter-dropdown .price-range input[type="number"],
        .banner-bottom .filter-dropdown .price-range input[inputmode="numeric"],
        .banner-bottom .filter-dropdown input[type="number"] {
          min-height: 42px !important;
          border: 1.5px solid rgba(23, 79, 43, .32) !important;
          border-radius: 10px !important;
          background: #ffffff !important;
          color: #1f2937 !important;
          font-size: 14px !important;
          font-weight: 800 !important;
          box-shadow: 0 1px 0 rgba(23, 79, 43, .05) !important;
          box-sizing: border-box !important;
        }

        .banner-bottom .filter-dropdown .price-range input[type="number"]:focus,
        .banner-bottom .filter-dropdown .price-range input[inputmode="numeric"]:focus,
        .banner-bottom .filter-dropdown input[type="number"]:focus {
          outline: none !important;
          border-color: #66BB6A !important;
          box-shadow: 0 0 0 3px rgba(102, 187, 106, .18) !important;
        }

        body.kasalia-mobile-listing .filter-dropdown.show .option-item,
        body.kasalia-mobile-listing .filter-dropdown.show .option,
        body.kasalia-mobile-listing .filter-dropdown.show .hb-option,
        body.kasalia-mobile-listing .filter-dropdown.show .kasalia-lep-estado-opt,
        body.kasalia-mobile-listing .filter-dropdown.show .kasalia-planta-chip,
        body.kasalia-mobile-listing .filter-dropdown.show .kasalia-tx-opt,
        body.kasalia-mobile-listing .filter-dropdown.show .kasalia-acceso-opt {
          min-height: 44px !important;
          border-radius: 10px !important;
          border-color: rgba(23, 79, 43, .34) !important;
        }

        body.kasalia-mobile-listing .filter-dropdown.show .grid-options,
        body.kasalia-mobile-listing .filter-dropdown.show .estado-grid,
        body.kasalia-mobile-listing .filter-dropdown.show .selector-options {
          gap: 14px !important;
          padding: 16px 6px 22px !important;
          overflow-y: auto !important;
          overflow-x: hidden !important;
        }

        body.kasalia-mobile-listing .filter-dropdown.show {
          overflow: hidden !important;
          max-height: 100dvh !important;
        }

        body.kasalia-mobile-listing .filter-dropdown.show .action-buttons {
          margin: 14px -16px calc(-24px - env(safe-area-inset-bottom)) !important;
          padding: 12px 16px calc(14px + env(safe-area-inset-bottom)) !important;
        }

        /* Tipo de vivienda: panel alargado — todos los tipos visibles en viewport */
        @media (min-width: 769px) {
          .banner-bottom #tipo-vivienda-dropdown {
            left: 0;
            right: auto;
            min-width: 360px !important;
            max-width: min(94vw, 640px) !important;
            width: min(94vw, 640px) !important;
            overflow: hidden !important;
          }

          .banner-bottom #tipo-vivienda-dropdown.show {
            display: flex !important;
            flex-direction: column !important;
            max-height: min(92vh, 600px) !important;
            overflow: hidden !important;
          }

          .banner-bottom #tipo-vivienda-dropdown .grid-options {
            grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
            flex: 1 1 auto !important;
            min-height: 0 !important;
            max-height: none !important;
            overflow-y: auto !important;
            overflow-x: hidden !important;
          }

          .banner-bottom #tipo-vivienda-dropdown .action-buttons {
            flex-shrink: 0 !important;
            position: relative !important;
            bottom: auto !important;
            margin-top: 0 !important;
          }

          .banner-bottom #tipo-vivienda-dropdown .option-item {
            white-space: normal !important;
            line-height: 1.2 !important;
          }
        }

        @media (max-width: 768px) {
          body.landing:has(.filters-bar) #tipo-vivienda-dropdown.show {
            display: flex !important;
            flex-direction: column !important;
            max-height: min(88vh, 720px) !important;
            overflow: hidden !important;
          }

          body.landing:has(.filters-bar) #tipo-vivienda-dropdown.show .grid-options {
            flex: 1 1 auto !important;
            min-height: 0 !important;
            max-height: none !important;
            overflow-y: auto !important;
            grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
            gap: 10px !important;
            padding-bottom: 8px !important;
          }

          body.landing:has(.filters-bar) #tipo-vivienda-dropdown.show .action-buttons {
            flex-shrink: 0 !important;
          }

          body.landing:has(.filters-bar) #tipo-vivienda-dropdown.show .option-item {
            white-space: normal !important;
            line-height: 1.2 !important;
          }
        }

        /* Rango precio/superficie: mismo patrón visual que estado, sin recorte de botones */
        @media (min-width: 769px) {
          .banner-bottom #precio-dropdown,
          .banner-bottom #superficie-dropdown {
            min-width: 300px !important;
            max-width: min(92vw, 360px) !important;
            width: 320px !important;
          }

          .banner-bottom #precio-dropdown.show,
          .banner-bottom #superficie-dropdown.show,
          .banner-bottom #parking-dims-dropdown.show {
            display: flex !important;
            flex-direction: column !important;
            overflow: visible !important;
            max-height: none !important;
            height: auto !important;
            padding: 12px 14px 14px !important;
            box-sizing: border-box !important;
          }

          .banner-bottom #precio-dropdown .price-range,
          .banner-bottom #superficie-dropdown .price-range,
          .banner-bottom #parking-dims-dropdown .price-range {
            flex: 0 0 auto !important;
            display: grid !important;
            grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
            gap: 10px !important;
            align-items: center !important;
            margin: 0 !important;
            padding: 0 2px 4px !important;
          }

          .banner-bottom #precio-dropdown .price-range span,
          .banner-bottom #superficie-dropdown .price-range span {
            color: #64748b !important;
            font-weight: 800 !important;
          }

          .banner-bottom #precio-dropdown h3,
          .banner-bottom #precio-dropdown h4,
          .banner-bottom #superficie-dropdown h3,
          .banner-bottom #superficie-dropdown h4,
          .banner-bottom #parking-dims-dropdown h3,
          .banner-bottom #parking-dims-dropdown h4 {
            flex: 0 0 auto !important;
            margin: 0 0 10px !important;
          }

          .banner-bottom #precio-dropdown .action-buttons,
          .banner-bottom #superficie-dropdown .action-buttons,
          .banner-bottom #parking-dims-dropdown .action-buttons {
            flex-shrink: 0 !important;
            position: relative !important;
            bottom: auto !important;
            margin: 8px 0 0 !important;
            padding: 10px 0 0 !important;
            justify-content: space-between !important;
            gap: 10px !important;
            border-top: 1px solid rgba(23, 79, 43, .12) !important;
            background: transparent !important;
            backdrop-filter: none !important;
            -webkit-backdrop-filter: none !important;
          }

          .banner-bottom #precio-dropdown .filter-action-btn,
          .banner-bottom #superficie-dropdown .filter-action-btn,
          .banner-bottom #parking-dims-dropdown .filter-action-btn {
            flex: 1 1 0 !important;
            width: auto !important;
            min-width: 0 !important;
            max-width: none !important;
          }
        }

        .kasalia-alert-modal-overlay {
          position: fixed;
          inset: 0;
          z-index: 3000;
          display: none;
          align-items: center;
          justify-content: center;
          padding: 18px;
          background: rgba(15, 23, 42, .42);
          -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
        }
        .kasalia-alert-modal-overlay.show { display: flex; }
        .kasalia-alert-modal {
          width: min(440px, 100%);
          border-radius: 22px;
          border: 1px solid rgba(23, 79, 43, .14);
          background: #fff;
          box-shadow: 0 24px 70px rgba(15, 23, 42, .24);
          padding: 24px;
          color: #172016;
          font-size: 16px;
        }
        .kasalia-alert-modal h2 { margin: 0; font-size: 26px; font-weight: 900; line-height:1.15; letter-spacing:-.35px; }
        .kasalia-alert-modal p { margin: 6px 0 0; color: #687566; font-size: 16px; line-height: 1.5; }
        .kasalia-alert-head { display:flex; gap:12px; align-items:flex-start; margin-bottom:18px; }
        .kasalia-alert-icon { width:42px; height:42px; border-radius:14px; display:grid; place-items:center; background:#e8f1e7; color:#174f2b; flex:0 0 42px; }
        .kasalia-alert-section { margin-top: 16px; }
        .kasalia-alert-label { display:block; margin:0 0 8px; color:#172016; font-size:15px; font-weight:900; line-height:1.25; }
        .kasalia-alert-help { margin:6px 0 0 !important; color:#687566 !important; font-size:14px !important; line-height:1.45 !important; }
        .kasalia-alert-chips { display:flex; flex-wrap:wrap; gap:7px; margin:0; }
        .kasalia-alert-chips span { display:inline-flex; align-items:center; min-height:30px; padding:0 11px; border-radius:999px; background:#f4faf3; color:#174f2b; font-size:13px; font-weight:900; }
        .kasalia-alert-modal input#kasalia-alert-name { display:block; width:100%; max-width:100%; height:44px; min-height:44px; border:1px solid #dbe3ef; border-radius:14px; padding:0 13px; font-size:16px; font-weight:800; color:#172016; background:#fff; box-sizing:border-box; box-shadow:none; }
        .kasalia-alert-modal input#kasalia-alert-name:focus { outline:none; border-color:#174f2b; box-shadow:0 0 0 3px rgba(23,79,43,.12); }
        .kasalia-alert-frequency { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin:0 0 16px; }
        .kasalia-alert-frequency button { height:40px; border:1px solid rgba(23,79,43,.14); border-radius:999px; background:#fff; color:#284b31; font-size:15px; font-weight:900; cursor:pointer; }
        .kasalia-alert-frequency button.is-active { background:#174f2b; color:#fff; }
        .kasalia-alert-primary { width:100%; min-height:48px; border:0; border-radius:14px; background:#174f2b; color:#fff; font-size:16px; font-weight:900; cursor:pointer; }
        .kasalia-alert-secondary { width:100%; margin-top:10px; border:0; background:transparent; color:#687566; font-size:15px; font-weight:800; cursor:pointer; }
        .kasalia-alert-toast { position:fixed; left:50%; bottom:26px; z-index:3200; transform:translateX(-50%); display:none; padding:12px 16px; border-radius:999px; background:#174f2b; color:#fff; font-size:15px; font-weight:900; box-shadow:0 14px 30px rgba(23,79,43,.24); }
        .kasalia-alert-toast.show { display:block; }

/* ======================================================================
   RESPONSIVE MOBILE — inicio
   Opción B filtros canónicos (Fase A/B P-02): scope vía .filters-bar.rwd-filters-canonical
   (viviendas + secundarias con mobile_topbar). Fullscreen unificado (cabecera+X+footer),
   Extras teleported (JS), Ordenar en chips, .has-value, táctiles ≥44px.
   (Antes de helpers us-inline-style: hay CSS inválido legacy que rompe el parseo.)
   Desktop ≥1025 / sin .kasalia-mobile-listing: sin efecto.
   ====================================================================== */
@media (max-width: 768px) {
  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show,
  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #advanced-filter-dialog.show {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    min-width: 100vw !important;
    max-width: 100vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    min-height: 100dvh !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    z-index: 3200 !important;
    box-sizing: border-box !important;
  }

  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #tipo-vivienda-dropdown.show {
    height: 100dvh !important;
    max-height: 100dvh !important;
    min-height: 100dvh !important;
  }

  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show .rwd-filter-sheet-header,
  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #advanced-filter-dialog.show .dialog-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: var(--rwd-space-sm, 8px) !important;
    flex: 0 0 auto !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 2 !important;
    margin: 0 0 var(--rwd-space-sm, 8px) !important;
    padding: calc(env(safe-area-inset-top, 0px) + var(--rwd-space-sm, 8px)) var(--rwd-space-sm, 8px) var(--rwd-space-sm, 8px) !important;
    background: var(--paper, #fbfaf4) !important;
    border-bottom: 1px solid var(--line, rgba(23, 79, 43, .14)) !important;
    box-sizing: border-box !important;
  }

  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show .rwd-filter-sheet-header > h3,
  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #advanced-filter-dialog.show .dialog-title {
    flex: 1 1 auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    font-size: 1.125rem !important;
    font-weight: 760 !important;
    line-height: 1.3 !important;
    color: var(--ink, #172016) !important;
  }

  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) .rwd-filter-close,
  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #close-filter-dialog {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    width: var(--kasalia-banner-chip-h, 44px) !important;
    height: var(--kasalia-banner-chip-h, 44px) !important;
    min-width: var(--kasalia-banner-chip-h, 44px) !important;
    min-height: var(--kasalia-banner-chip-h, 44px) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid var(--line, rgba(23, 79, 43, .14)) !important;
    border-radius: 12px !important;
    background: var(--white, #fff) !important;
    color: var(--ink, #172016) !important;
    font-size: 1.5rem !important;
    line-height: 1 !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
  }

  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show .grid-options,
  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show .estado-grid,
  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show .selector-options,
  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show .kasalia-ordenar-simple,
  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #advanced-filter-dialog.show .filter-sections {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    align-content: start !important;
  }

  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show .action-buttons,
  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #advanced-filter-dialog.show .filter-actions {
    flex: 0 0 auto !important;
    position: sticky !important;
    bottom: 0 !important;
    z-index: 2 !important;
  }

  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show .filter-action-btn,
  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #advanced-filter-dialog.show .filter-btn {
    min-height: var(--kasalia-banner-chip-h, 44px) !important;
  }

  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show .option-item,
  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show .option,
  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show .hb-option,
  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show .kasalia-orden-item,
  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show .kasalia-orden-dir,
  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show .kasalia-lep-estado-opt,
  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show .kasalia-planta-chip,
  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show .kasalia-tx-opt,
  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show .kasalia-acceso-opt,
  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show .option-item.selected,
  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show .option.selected,
  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) .filter-dropdown.show .hb-option.selected {
    min-height: var(--kasalia-banner-chip-h, 44px) !important;
    font-size: var(--rwd-mchip-font, 11px) !important;
    font-weight: var(--rwd-mchip-fw, 400) !important;
  }

  /*
   * RESPONSIVE MOBILE — Hab/Baños: secciones mismo ancho (100% sheet);
   * botones fit-content, izquierda, wrap si 6 no caben en una fila.
   * Anula grid 2-col genérico del fullscreen Opción B.
   */
  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #habitaciones-banos-dropdown.show .hb-filter-section,
  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #habitaciones-banos-dropdown.show .range-selector {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #habitaciones-banos-dropdown.show .hb-filter-section + .hb-filter-section {
    margin-top: var(--rwd-space-sm, 16px) !important;
  }

  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #habitaciones-banos-dropdown.show .range-selector {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }

  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #habitaciones-banos-dropdown.show .helper-text {
    width: 100% !important;
    box-sizing: border-box !important;
  }

  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #habitaciones-banos-dropdown.show .selector-options {
    display: flex !important;
    flex-wrap: wrap !important;
    flex-direction: row !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    align-content: flex-start !important;
    gap: var(--rwd-space-xs, 8px) !important;
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: none !important;
    padding: var(--rwd-space-xs, 8px) 0 !important;
    box-sizing: border-box !important;
  }

  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #habitaciones-banos-dropdown.show .option {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: var(--rwd-touch-target-min, 44px) !important;
    max-width: none !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }

  /* RESPONSIVE MOBILE — Ordenar: lista vertical 6 ítems, tap select + toggle dirección */
  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #ordenar-dropdown.show {
    padding: 0 var(--rwd-space-sm, 8px) calc(var(--rwd-space-sm, 8px) + env(safe-area-inset-bottom)) !important;
    background: var(--paper, #fbfaf4) !important;
  }

  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #ordenar-dropdown.show .kasalia-ordenar-simple {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--rwd-space-xs, 8px) !important;
    width: 100% !important;
    max-width: 100% !important;
    align-items: stretch !important;
  }

  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #ordenar-dropdown.show .kasalia-orden-item {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: var(--rwd-space-sm, 8px) !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: var(--kasalia-banner-chip-h, 44px) !important;
    padding: 0 var(--rwd-space-md, 12px) !important;
    box-sizing: border-box !important;
    border-radius: 14px !important;
    text-align: left !important;
    overflow: hidden !important;
  }

  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #ordenar-dropdown.show .kasalia-orden-label {
    flex: 1 1 auto !important;
    display: block !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 0 !important;
    font-size: var(--rwd-mchip-font, 11px) !important;
    font-weight: var(--rwd-mchip-fw, 400) !important;
    line-height: 1.35 !important;
    text-align: left !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #ordenar-dropdown.show .kasalia-orden-direcciones {
    display: none !important;
  }

  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #ordenar-dropdown.show .kasalia-orden-arrow {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: center !important;
    width: var(--kasalia-banner-chip-h, 44px) !important;
    height: var(--kasalia-banner-chip-h, 44px) !important;
    min-width: var(--kasalia-banner-chip-h, 44px) !important;
    min-height: var(--kasalia-banner-chip-h, 44px) !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 12px !important;
    color: var(--k-primary-strong, #174f2b) !important;
    visibility: hidden !important;
  }

  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #ordenar-dropdown.show .kasalia-orden-item.selected .kasalia-orden-arrow {
    visibility: visible !important;
    background: var(--k-primary, #174f2b) !important;
    color: var(--white, #fff) !important;
  }

  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #ordenar-dropdown.show .kasalia-orden-item.selected .kasalia-orden-arrow .kasalia-orden-svg {
    width: 1.125rem !important;
    height: 1.125rem !important;
  }

  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #ordenar-dropdown.show .kasalia-orden-item.selected {
    border-color: var(--k-primary, #174f2b) !important;
    background: var(--k-primary-soft, #f4faf3) !important;
    color: var(--k-primary-strong, #174f2b) !important;
  }

  /* RESPONSIVE MOBILE — Extras: overlay bajo sheet, reset transform desktop, scroll vertical */
  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #filter-overlay.show {
    position: fixed !important;
    inset: 0 !important;
    z-index: 3190 !important;
    display: block !important;
  }

  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #advanced-filter-dialog.show {
    top: 0 !important;
    left: 0 !important;
    transform: none !important;
    z-index: 3200 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: var(--paper, #fbfaf4) !important;
    box-shadow: none !important;
  }

  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #advanced-filter-dialog.show .filter-sections.kasalia-extras-modal-scroll {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 var(--rwd-space-sm, 8px) var(--rwd-space-sm, 8px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    grid-template-columns: none !important;
  }

  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #advanced-filter-dialog.show .filter-actions {
    display: flex !important;
    gap: var(--rwd-space-sm, 8px) !important;
    margin: 0 !important;
    padding: var(--rwd-space-sm, 8px) calc(var(--rwd-space-sm, 8px) + env(safe-area-inset-bottom)) !important;
    background: var(--paper, #fbfaf4) !important;
    border-top: 1px solid var(--line, rgba(23, 79, 43, .14)) !important;
  }

  /* RESPONSIVE MOBILE — Extras: categorías + chips en filas wrap (no lista vertical 1 col) */
  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #advanced-filter-dialog.show .kasalia-extras-toolbar,
  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #advanced-filter-dialog.show .kasalia-extras-toolbar-controls,
  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #advanced-filter-dialog.show .kasalia-extras-search-wrap,
  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #advanced-filter-dialog.show .kasalia-extras-groups-wrap,
  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #advanced-filter-dialog.show .kasalia-extras-grid,
  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #advanced-filter-dialog.show .kasalia-extras-section {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #advanced-filter-dialog.show .kasalia-extras-toolbar-controls {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: var(--rwd-space-xs, 8px) !important;
  }

  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #advanced-filter-dialog.show .kasalia-extras-search-wrap {
    flex: 1 1 100% !important;
    min-width: 0 !important;
  }

  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #advanced-filter-dialog.show .kasalia-extras-search {
    width: 100% !important;
    min-height: var(--rwd-touch-target-min, 44px) !important;
    height: auto !important;
    font-size: var(--rwd-font-base, 16px) !important;
    line-height: var(--rwd-line-height-base, 1.4) !important;
    box-sizing: border-box !important;
  }

  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #advanced-filter-dialog.show .kasalia-extras-btn-clear {
    min-height: var(--rwd-touch-target-min, 44px) !important;
    padding-inline: var(--rwd-space-sm, 16px) !important;
  }

  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #advanced-filter-dialog.show .kasalia-extras-section-label {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: var(--rwd-space-xs, 8px) !important;
    width: 100% !important;
  }

  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #advanced-filter-dialog.show .kasalia-extras-count-badge:not(:empty) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: var(--rwd-touch-target-min, 44px) !important;
    min-height: var(--rwd-touch-target-min, 44px) !important;
    height: auto !important;
    padding: 0 var(--rwd-space-xs, 8px) !important;
    border-radius: 999px !important;
    font-size: var(--rwd-font-sm, 14px) !important;
    font-weight: 700 !important;
  }

  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #advanced-filter-dialog.show .kasalia-extras-grid {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: var(--rwd-space-sm, 16px) !important;
    padding: var(--rwd-space-xs, 8px) 0 !important;
  }

  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #advanced-filter-dialog.show .kasalia-extras-section__head {
    min-height: var(--rwd-touch-target-min, 44px) !important;
    padding: var(--rwd-space-xs, 8px) var(--rwd-space-sm, 16px) !important;
    box-sizing: border-box !important;
  }

  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #advanced-filter-dialog.show .kasalia-extras-section__grid {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: var(--rwd-space-xs, 8px) !important;
    padding: var(--rwd-space-xs, 8px) var(--rwd-space-sm, 16px) var(--rwd-space-sm, 16px) !important;
    width: 100% !important;
    box-sizing: border-box !important;
    grid-template-columns: none !important;
  }

  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #advanced-filter-dialog.show .kasalia-extra-chip {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 1 auto !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: var(--rwd-touch-target-min, 44px) !important;
    height: auto !important;
    padding: var(--rwd-space-xs, 8px) var(--rwd-space-sm, 16px) !important;
    border-radius: 999px !important;
    box-sizing: border-box !important;
    transform: none !important;
    gap: var(--rwd-space-xs, 8px) !important;
  }

  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #advanced-filter-dialog.show .kasalia-extra-chip span {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: var(--rwd-line-height-base, 1.4) !important;
    font-size: var(--rwd-mchip-font, 11px) !important;
    font-weight: var(--rwd-mchip-fw, 400) !important;
  }

  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) #advanced-filter-dialog.show .kasalia-extra-chip .kasalia-extra-ic {
    width: var(--rwd-font-base, 16px) !important;
    height: var(--rwd-font-base, 16px) !important;
    flex-shrink: 0 !important;
  }

  /*
   * SSOT — chips filtro móvil canónicos (.kasalia-mobile-chips)
   * Tipografía canónica: Extras / Limpiar (11px, fw 400). .primary = solo fondo pine.
   * --rwd-mchip-* también en body para paneles fullscreen (Tipo/Precio/HB/Estado/Ordenar/Extras).
   */
  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) {
    --rwd-mchip-font: 11px;
    --rwd-mchip-fw: 400;
  }

  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-chips {
    --rwd-mchip-h: var(--kasalia-banner-chip-h, 44px);
    --rwd-mchip-px: var(--rwd-space-xs, 8px);
    --rwd-mchip-font: 11px;
    --rwd-mchip-fw: 400;
    --rwd-mchip-lh: 1;
    --rwd-mchip-bg: var(--white, #ffffff);
    --rwd-mchip-border: var(--line, rgba(23, 79, 43, 0.14));
    --rwd-mchip-color: var(--ink, #172016);
    --rwd-mchip-radius: 999px;
    --rwd-mchip-has-bg: #f3faf3;
    --rwd-mchip-has-border: rgba(93, 184, 93, 0.58);
    --rwd-mchip-has-color: #174d17;
  }

  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-chips > .kasalia-mobile-chip,
  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-chips > button.kasalia-mobile-chip,
  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-chips > .kasalia-mobile-real-chip,
  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-chips > .search-field {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: var(--rwd-mchip-h) !important;
    min-height: var(--rwd-mchip-h) !important;
    max-height: var(--rwd-mchip-h) !important;
    padding: 0 var(--rwd-mchip-px) !important;
    margin: 0 !important;
    border: 1px solid var(--rwd-mchip-border) !important;
    border-radius: var(--rwd-mchip-radius) !important;
    background: var(--rwd-mchip-bg) !important;
    background-color: var(--rwd-mchip-bg) !important;
    background-image: none !important;
    box-shadow: none !important;
    color: var(--rwd-mchip-color) !important;
    font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    font-size: var(--rwd-mchip-font) !important;
    font-weight: var(--rwd-mchip-fw) !important;
    line-height: var(--rwd-mchip-lh) !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    white-space: nowrap !important;
    pointer-events: auto !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-chips > button.kasalia-mobile-chip[data-kasalia-mobile-generated="1"],
  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-chips > .kasalia-mobile-chip[data-kasalia-mobile-extras="1"] {
    cursor: pointer !important;
  }

  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-chips > .kasalia-mobile-real-chip > input,
  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-chips > .search-field > input {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: var(--rwd-mchip-h) !important;
    min-height: var(--rwd-mchip-h) !important;
    line-height: var(--rwd-mchip-h) !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--rwd-mchip-color) !important;
    -webkit-text-fill-color: var(--rwd-mchip-color) !important;
    font-family: inherit !important;
    font-size: var(--rwd-mchip-font) !important;
    font-weight: var(--rwd-mchip-fw) !important;
    line-height: var(--rwd-mchip-lh) !important;
    text-align: center !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    field-sizing: content !important;
  }

  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-chips > .kasalia-mobile-chip.has-value:not(.primary),
  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-chips > .kasalia-mobile-real-chip.has-value,
  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-chips > .search-field.has-value {
    background: var(--rwd-mchip-has-bg) !important;
    background-color: var(--rwd-mchip-has-bg) !important;
    background-image: none !important;
    border-color: var(--rwd-mchip-has-border) !important;
    box-shadow: none !important;
  }

  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-chips > .kasalia-mobile-real-chip.has-value > input,
  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-chips > .search-field.has-value > input {
    color: var(--rwd-mchip-has-color) !important;
    -webkit-text-fill-color: var(--rwd-mchip-has-color) !important;
    font-size: var(--rwd-mchip-font) !important;
    font-weight: var(--rwd-mchip-fw) !important;
  }

  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-chips > .kasalia-mobile-chip.primary,
  body.kasalia-mobile-listing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-chips > button.kasalia-mobile-chip.primary {
    height: var(--rwd-mchip-h) !important;
    min-height: var(--rwd-mchip-h) !important;
    max-height: var(--rwd-mchip-h) !important;
    padding: 0 var(--rwd-mchip-px) !important;
    border-radius: var(--rwd-mchip-radius) !important;
    background: var(--pine, #174f2b) !important;
    background-color: var(--pine, #174f2b) !important;
    background-image: none !important;
    color: var(--white, #ffffff) !important;
    border-color: transparent !important;
    box-shadow: none !important;
    font-size: var(--rwd-mchip-font) !important;
    font-weight: var(--rwd-mchip-fw) !important;
    line-height: var(--rwd-mchip-lh) !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }

  /* RESPONSIVE MOBILE — buscador a todo el ancho + chips agrupados */
  body.kasalia-mobile-listing.landing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-hero-search {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 48px !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.kasalia-mobile-listing.landing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-hero-search #ubicacion-field,
  body.kasalia-mobile-listing.landing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-hero-search #ubicacion-field.kasalia-mobile-real-search-pill {
    display: flex !important;
    align-items: center !important;
    grid-column: 1 !important;
    grid-row: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    flex: 1 1 auto !important;
    height: 52px !important;
    min-height: 52px !important;
    padding: 0 16px !important;
    box-sizing: border-box !important;
  }

  body.kasalia-mobile-listing.landing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-hero-search #ubicacion-field::after {
    content: none !important;
    display: none !important;
  }

  body.kasalia-mobile-listing.landing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-hero-search #ubicacion-field > input {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 24px !important;
    min-height: 24px !important;
    line-height: 24px !important;
    padding: 0 !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    text-align: left !important;
    field-sizing: fixed !important;
  }

  body.kasalia-mobile-listing.landing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-hero-search #ubicacion-field > input::placeholder {
    font-size: 16px !important;
    font-weight: 600 !important;
  }

  /* RESPONSIVE MOBILE — chips en retícula 2×N, mismo ancho, orden de lectura */
  body.kasalia-mobile-listing.landing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-chips {
    --rwd-mchip-px: 10px;
    --rwd-mchip-h: 40px;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 8px !important;
    margin-top: 10px !important;
  }

  body.kasalia-mobile-listing.landing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-chips::after {
    display: none !important;
    content: none !important;
    flex: none !important;
    order: 0 !important;
  }

  body.kasalia-mobile-listing.landing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-chips > .kasalia-mobile-chip,
  body.kasalia-mobile-listing.landing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-chips > button.kasalia-mobile-chip,
  body.kasalia-mobile-listing.landing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-chips > .kasalia-mobile-real-chip,
  body.kasalia-mobile-listing.landing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-chips > .search-field {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    justify-content: center !important;
  }

  body.kasalia-mobile-listing.landing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-chips > .kasalia-mobile-real-chip > input,
  body.kasalia-mobile-listing.landing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-chips > .search-field > input {
    width: 100% !important;
    max-width: 100% !important;
    field-sizing: fixed !important;
    text-align: center !important;
  }

  body.kasalia-mobile-listing.landing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-chips > .kasalia-mobile-chip.primary {
    order: 1 !important;
  }

  body.kasalia-mobile-listing.landing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-chips > #tipo-vivienda-field {
    order: 2 !important;
  }

  body.kasalia-mobile-listing.landing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-chips > #precio-field {
    order: 3 !important;
  }

  body.kasalia-mobile-listing.landing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-chips > #habitaciones-banos-field,
  body.kasalia-mobile-listing.landing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-chips > #local-estado-planta-field,
  body.kasalia-mobile-listing.landing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-chips > #estado-field {
    order: 4 !important;
  }

  body.kasalia-mobile-listing.landing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-chips > #ordenar-field {
    order: 5 !important;
  }

  body.kasalia-mobile-listing.landing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-chips > [data-kasalia-mobile-extras] {
    order: 6 !important;
  }

  body.kasalia-mobile-listing.landing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-chips > #superficie-field,
  body.kasalia-mobile-listing.landing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-chips > #parking-dims-field,
  body.kasalia-mobile-listing.landing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-chips > #trastero-ubicacion-field {
    order: 7 !important;
  }

  body.kasalia-mobile-listing.landing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-chips > #tipo-transaccion-field,
  body.kasalia-mobile-listing.landing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-chips > #acceso-parking-field {
    order: 8 !important;
  }

  body.kasalia-mobile-listing.landing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-chips > [data-kasalia-mobile-save] {
    order: 9 !important;
  }

  body.kasalia-mobile-listing.landing:has(.filters-bar.rwd-filters-canonical) .kasalia-mobile-chips > button.kasalia-mobile-chip[data-kasalia-mobile-generated="1"]:not(.primary):not([data-kasalia-mobile-extras]):not([data-kasalia-mobile-save]) {
    order: 10 !important;
  }

  /* RESPONSIVE MOBILE — map-only: anclar al hueco real (chrome superior medido + bnav).
   * --rwd-maponly-top / --rwd-maponly-bottom: kasaliaSyncMapOnlyViewport (index-casa.php).
   * Fallback: banner-offset + listing-stack. .map-controls no hereda 100% (recortaba la pila). */
  body.kasalia-mobile-listing.mode-maponly:has(.filters-bar.rwd-filters-canonical) {
    overflow: hidden !important;
  }

  body.kasalia-mobile-listing.mode-maponly:has(.filters-bar.rwd-filters-canonical) .content {
    display: block !important;
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    top: var(--rwd-maponly-top, var(--banner-offset)) !important;
    bottom: var(--rwd-maponly-bottom, var(--rwd-listing-stack, var(--rwd-bnav-stack))) !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    z-index: 1 !important;
  }

  body.kasalia-mobile-listing.mode-maponly:has(.filters-bar.rwd-filters-canonical) .properties,
  body.kasalia-mobile-listing.mode-maponly:has(.filters-bar.rwd-filters-canonical) .properties-wrapper {
    display: none !important;
  }

  body.kasalia-mobile-listing.mode-maponly:has(.filters-bar.rwd-filters-canonical) .content > .map,
  body.kasalia-mobile-listing.mode-maponly:has(.filters-bar.rwd-filters-canonical) .map {
    display: block !important;
    visibility: visible !important;
    position: relative !important;
    flex: 1 1 auto !important;
    order: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    pointer-events: auto !important;
    container-type: size;
    container-name: rwd-map;
  }

  body.kasalia-mobile-listing.mode-maponly:has(.filters-bar.rwd-filters-canonical) #map {
    display: block !important;
    visibility: visible !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    pointer-events: auto !important;
  }

  body.kasalia-mobile-listing.mode-maponly:has(.filters-bar.rwd-filters-canonical) .leaflet-container,
  body.kasalia-mobile-listing.mode-maponly:has(.filters-bar.rwd-filters-canonical) .leaflet-control-container {
    display: block !important;
    visibility: visible !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    pointer-events: auto !important;
  }

  body.kasalia-mobile-listing.mode-maponly:has(.filters-bar.rwd-filters-canonical) .map-controls {
    display: flex !important;
    width: auto !important;
    height: auto !important;
    max-width: none !important;
    overflow: visible !important;
  }

  body.kasalia-mobile-listing.mode-maponly:has(.filters-bar.rwd-filters-canonical) .map-controls.rwd-map-controls-row,
  body.kasalia-mobile-listing .map-controls.rwd-map-controls-row {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: auto !important;
    height: auto !important;
    max-width: calc(100% - (2 * var(--rwd-space-sm, 16px))) !important;
  }
}
/* RESPONSIVE MOBILE — fin */

@media (max-width: 360px) {
  body.kasalia-mobile-listing.mode-maponly:has(.filters-bar.rwd-filters-canonical) .map-controls {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: auto !important;
    height: auto !important;
    max-width: calc(100% - (2 * var(--rwd-space-sm, 16px))) !important;
  }
}

/* Helpers locales */
.us-hidden{display:none !important;}

.us-w-140px{width:140px;}.us-w-170px{width:170px;}
.us-inline-style-02ad3a607c{position:fixed;top:18px;left:50%;transform:translateX(-50%);z-index:10002;max-width:min(560px,94vw);background:#fff8e6;border:1px solid #c9a227;color:#5c4a00;padding:14px 18px;border-radius:10px;box-shadow:0 6px 24px rgba(0,0,0,0.18);font-size:0.95rem;line-height:1.45;text-align:left;}
.us-inline-style-0adff40a67{display:block;}
.us-inline-style-13076d9549{text-align:center;}
.us-inline-style-1417530488{width: 140px;}
.us-inline-style-15fa537a9d{margin:-6px 0 8px;font-size:12px;color:#64748b;}
.us-inline-style-224b51a7b4{display: none;}
.us-inline-style-23b83a44d3{height: 100%; width: 100%;}
.us-inline-style-2bc500e7cd{display:' . $display_style . ';}
.us-inline-style-40430a3c49{width: 70px;}
.us-inline-style-42e9b77195{font-size: 12px; margin-top: 8px; opacity: 0.8;}
.us-inline-style-4cb8ceeb78{position:relative;}
.us-inline-style-66433d4d48{width: 175px;}
.us-inline-style-705272686f{margin:-4px 0 10px;font-size:12px;color:#64748b;}
.us-inline-style-728a08bde9{text-align: center; padding: 50px; color: #666; font-size: 18px;}
.us-inline-style-72f3c5ada2{margin:14px 0 8px;}
.us-inline-style-752070bcb3{min-width: 194px; flex: 0 1 210px;}
.us-inline-style-8ba0458a6d{width:100%;height:100%;background:#1e293b;}
.us-inline-style-8f22c58627{width:16px;height:16px;}
.us-inline-style-92a9916ccc{display: none; background: #f44336;}
.us-inline-style-93b8ea5b2f{display:none;}
.us-inline-style-948e6d6e22{display: flex; justify-content: space-between; align-items: center;}
.us-inline-style-9857604195{min-width: 140px; flex: 0 1 170px;}
.us-inline-style-9e069dbee5{display: none; position: absolute; right: 10px; top: 50%; transform: translateY(-50%); background: none; border: none; cursor: pointer; font-size: 16px; color: #666;}
.us-inline-style-ae1f13b310{width: 50px;}
.us-inline-style-af18eac806{font-size: 20px;}
.us-inline-style-af7fe6d8ac{background-color: #ffebee; color: #c62828; padding: 15px; margin-bottom: 20px; border-radius: 5px; text-align: center;}
.us-inline-style-af81871d7b{--line-color: <?= $colorLinea; ?>;}
.us-inline-style-b15addacd5{width: 120px;}
.us-inline-style-c33e6f798d{font-size: 24px; margin-bottom: 10px; display: block;}
.us-inline-style-c69f6339f4{min-width: 156px; flex: 0 1 172px;}
.us-inline-style-c833f2be0c{min-width: 108px; flex: 0 1 124px;}
.us-inline-style-d3af4103c8{width: 400px; position: relative;}
.us-inline-style-d4150cdd4c{width: 220px;}
.us-inline-style-e5e7a50352{min-width: 200px; flex: 1 1 220px;}
.us-inline-style-ef4a245f84{width: 170px;}
.us-inline-style-f37fd67c64{min-width: 132px; flex: 0 1 148px;}
.us-inline-style-f53e69e889{font-size: 48px; margin-bottom: 20px; color: #ccc;}
.us-inline-style-fa9a27db00{min-width: 112px; flex: 0 1 132px;}
.us-inline-style-fb56bedcd3{width: 155px;}
.us-inline-style-fb84517d2e{font-weight: 600; color: #333; margin-bottom: 2px;}

/* =============================================================================
   KASALIA DESKTOP CARD SYSTEM — escala unificada (map-1 / map-2 / map-3 / grid)
   @media (min-width: 1025px) — sustituye parches per-mode anteriores
   ============================================================================= */
@media (min-width: 1025px) {
  /* Escala por modo: map-1 más ancho → map-3 más estrecho */
  body.landing.mode-map1,
  body.landing.mode-map-1 {
    --k-card-scale: 1;
  }

  body.landing.mode-map2 {
    --k-card-scale: 0.9;
    --k-card-photo-stack-boost: 1.3;
  }

  body.landing.mode-map3 {
    --k-card-scale: 0.82;
    --k-card-photo-stack-boost: 1.62;
  }

  body.landing.mode-grid {
    --k-card-scale: 0.74;
    --k-card-photo-stack-boost: 1.38;
  }

  /* Tokens derivados (por tarjeta; heredan --k-card-scale del body) */
  body.landing .property.carrusel-card {
    --k-card-pad-x: max(calc(16px * var(--k-card-scale, 1)), 16px);
    --k-card-pad-y: calc(12px * var(--k-card-scale, 1));
    --k-card-gap: calc(6px * var(--k-card-scale, 1));
    --k-card-radius: 12px;
    --k-card-fs-title: calc(1.15rem * var(--k-card-scale, 1));
    --k-card-fs-address: calc(0.8125rem * var(--k-card-scale, 1));
    --k-card-fs-price: calc(1.35rem * var(--k-card-scale, 1));
    --k-card-fs-char: calc(0.75rem * var(--k-card-scale, 1));
    --k-card-fs-extra: calc(0.6875rem * var(--k-card-scale, 1));
    --k-card-fs-badge: max(calc(10px * var(--k-card-scale, 1)), 10px);
    --k-card-badge-pad-y: max(calc(4px * var(--k-card-scale, 1)), 4px);
    --k-card-badge-pad-x: max(calc(8px * var(--k-card-scale, 1)), 6px);
    --k-card-btn-fs: max(calc(11px * var(--k-card-scale, 1)), 10px);
    --k-card-btn-icon: max(calc(16px * var(--k-card-scale, 1)), 14px);
    --k-card-photo-w: calc(280px * var(--k-card-scale, 1));
    --k-card-photo-h: calc(148px * var(--k-card-scale, 1) * var(--k-card-photo-stack-boost, 1));
    --k-card-ex-line: calc(22px * var(--k-card-scale, 1));
    --k-card-ex-gap: calc(4px * var(--k-card-scale, 1));
    --k-card-char-gap: calc(8px * var(--k-card-scale, 1));
    --k-card-meta-gap: calc(8px * var(--k-card-scale, 1));
    box-sizing: border-box;
    background: var(--k-surface, #ffffff);
    border: 1px solid var(--k-line, #e5e7eb);
    border-radius: var(--k-card-radius);
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
    height: auto;
    min-height: 0;
    align-items: stretch;
  }

  /* map-1: fila foto + info (misma altura) */
  body.landing.mode-map1 .property.carrusel-card,
  body.landing.mode-map-1 .property.carrusel-card {
    display: grid !important;
    grid-template-columns: minmax(0, var(--k-card-photo-w)) minmax(0, 1fr) !important;
    padding: 0 !important;
  }

  /* map-2 / map-3 / grid: columna foto + info */
  body.landing.mode-map2 .property.carrusel-card,
  body.landing.mode-map3 .property.carrusel-card,
  body.landing.mode-grid .property.carrusel-card {
    display: flex !important;
    flex-direction: column !important;
    padding: 0 !important;
  }

  body.landing .property.carrusel-card > .property-image-container {
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 0 !important;
    align-self: stretch;
    line-height: 0;
    font-size: 0;
    box-sizing: border-box;
  }

  body.landing.mode-map1 .property.carrusel-card > .property-image-container,
  body.landing.mode-map-1 .property.carrusel-card > .property-image-container {
    height: 100%;
    min-height: 100%;
    display: flex;
    flex-direction: column;
  }

  body.landing.mode-map2 .property.carrusel-card > .property-image-container,
  body.landing.mode-map3 .property.carrusel-card > .property-image-container,
  body.landing.mode-grid .property.carrusel-card > .property-image-container {
    flex: 1 1 var(--k-card-photo-h) !important;
    width: 100% !important;
    height: auto !important;
    min-height: var(--k-card-photo-h) !important;
    max-height: none !important;
  }

  body.landing.mode-map2 .property.carrusel-card > .property-content,
  body.landing.mode-map3 .property.carrusel-card > .property-content,
  body.landing.mode-grid .property.carrusel-card > .property-content {
    flex: 0 1 auto !important;
  }

  /* Nodo legacy vacío tras meta-row: fuera del flujo flex (evita ~40px fantasma) */
  body.landing .property.carrusel-card > .property-content > .property-actions {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
  }

  body.landing .property.carrusel-card > .property-image-container .carousel {
    width: 100%;
    height: 100%;
    min-height: 100%;
    position: relative;
    display: block;
    margin: 0;
    padding: 0;
  }

  body.landing .property.carrusel-card > .property-image-container .carousel .carousel-img,
  body.landing .property.carrusel-card > .property-image-container img {
    width: 100%;
    height: 100%;
    min-height: 100%;
    object-fit: cover;
    display: block;
    margin: 0;
    padding: 0;
    border: 0;
  }

  /* Zona info: eje izquierdo único vía padding del content */
  body.landing .property.carrusel-card > .property-content {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: var(--k-card-pad-y) var(--k-card-pad-x) !important;
    gap: var(--k-card-gap) !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  body.landing.mode-map1 .property.carrusel-card > .property-content,
  body.landing.mode-map-1 .property.carrusel-card > .property-content {
    min-height: 100% !important;
  }

  body.landing .property.carrusel-card .property-card-header,
  body.landing .property.carrusel-card .property-header,
  body.landing .property.carrusel-card .characteristics,
  body.landing .property.carrusel-card .property-extras,
  body.landing .property.carrusel-card .property-meta-row,
  body.landing .property.carrusel-card .header-content {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body.landing .property.carrusel-card .property-card-header {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
    background: transparent !important;
    flex: 0 0 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  body.landing .property.carrusel-card .header-content {
    margin-bottom: 0 !important;
  }

  body.landing .property.carrusel-card .property-card-header strong {
    display: block;
    font-size: var(--k-card-fs-title) !important;
    line-height: 1.25 !important;
    margin: 0 0 calc(2px * var(--k-card-scale, 1)) 0 !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  body.landing .property.carrusel-card .property-card-header .subdireccion {
    display: block;
    font-size: var(--k-card-fs-address) !important;
    line-height: 1.3 !important;
    margin: 0 !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  body.landing .property.carrusel-card .property-header {
    margin: 0 !important;
    flex: 0 0 auto !important;
    min-height: 0 !important;
  }

  body.landing .property.carrusel-card .property-header .price-row {
    margin: 0 !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
  }

  body.landing .property.carrusel-card .property-header .price {
    margin: 0 !important;
    padding: 0 !important;
    font-size: var(--k-card-fs-price) !important;
    line-height: 1.1 !important;
    white-space: nowrap;
  }

  body.landing .property.carrusel-card .characteristics {
    margin: 0 !important;
    padding: 0 !important;
    gap: var(--k-card-char-gap) !important;
    flex: 0 0 auto !important;
    border: 0 !important;
    flex-wrap: wrap !important;
  }

  body.landing .property.carrusel-card .characteristics div {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: calc(3px * var(--k-card-scale, 1)) calc(6px * var(--k-card-scale, 1)) !important;
    font-size: var(--k-card-fs-char) !important;
    gap: calc(4px * var(--k-card-scale, 1)) !important;
    background: var(--k-soft, #f8fafc);
    border: 1px solid var(--k-line, #e5e7eb);
    border-radius: calc(6px * var(--k-card-scale, 1));
  }

  body.landing .property.carrusel-card .characteristics img {
    width: calc(14px * var(--k-card-scale, 1)) !important;
    height: calc(14px * var(--k-card-scale, 1)) !important;
  }

  body.landing .property.carrusel-card .characteristics span {
    font-size: var(--k-card-fs-char) !important;
  }

  body.landing .property.carrusel-card .property-extras {
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    flex: 0 0 auto !important;
    min-height: 0 !important;
    max-height: calc(2 * var(--k-card-ex-line) + var(--k-card-ex-gap)) !important;
    overflow: hidden !important;
  }

  body.landing .property.carrusel-card .property-extras .extras-wrapper {
    --k-ex-line: var(--k-card-ex-line);
    --k-ex-gap: var(--k-card-ex-gap);
    margin: 0 !important;
    padding: 0 !important;
    min-height: calc(2 * var(--k-card-ex-line) + var(--k-card-ex-gap)) !important;
    max-height: calc(2 * var(--k-card-ex-line) + var(--k-card-ex-gap)) !important;
  }

  body.landing .property.carrusel-card .property-extras .extra,
  body.landing .property.carrusel-card .property-extras .extra--more {
    font-size: var(--k-card-fs-extra) !important;
    height: var(--k-card-ex-line) !important;
    min-height: var(--k-card-ex-line) !important;
    max-height: var(--k-card-ex-line) !important;
    padding: 0 calc(6px * var(--k-card-scale, 1)) !important;
  }

  /* Fila de acción: badges izq + contacto der (≥16px del borde vía pad-x) */
  body.landing .property.carrusel-card .property-meta-row {
    margin-top: auto !important;
    margin-bottom: 0 !important;
    padding-top: calc(6px * var(--k-card-scale, 1)) !important;
    padding-bottom: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    column-gap: var(--k-card-meta-gap) !important;
    row-gap: calc(4px * var(--k-card-scale, 1)) !important;
    align-items: end !important;
    flex-shrink: 0 !important;
    width: 100% !important;
  }

  body.landing .property.carrusel-card .disponibilidad-badges {
    grid-column: 1;
    grid-row: 1;
    --k-badge-gap: calc(4px * var(--k-card-scale, 1));
    --k-badge-pad-y: var(--k-card-badge-pad-y);
    --k-badge-pad-x: var(--k-card-badge-pad-x);
    --k-badge-fs: var(--k-card-fs-badge);
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: var(--k-badge-gap) !important;
    min-width: 0 !important;
  }

  body.landing .property.carrusel-card .disponibilidad-badge {
    font-size: var(--k-card-fs-badge) !important;
    padding: var(--k-card-badge-pad-y) var(--k-card-badge-pad-x) !important;
    line-height: 1.2 !important;
  }

  body.landing .property.carrusel-card .btn-chat-interno--index-casa {
    grid-column: 2;
    grid-row: 1;
    justify-self: end !important;
    align-self: end !important;
    margin: 0 !important;
    padding: var(--k-card-badge-pad-y) calc(12px * var(--k-card-scale, 1)) !important;
    font-size: var(--k-card-btn-fs) !important;
    line-height: 1.2 !important;
    min-height: max(calc(28px * var(--k-card-scale, 1)), 26px) !important;
    white-space: nowrap !important;
  }

  body.landing .property.carrusel-card .btn-chat-interno--index-casa .btn-chat-interno--index-casa__ic {
    width: var(--k-card-btn-icon) !important;
    height: var(--k-card-btn-icon) !important;
  }

  /* Anula bloques polish per-mode (altura fija cabecera/precio) */
  body.landing.mode-map2 .property.carrusel-card .property-card-header,
  body.landing.mode-map3 .property.carrusel-card .property-card-header,
  body.landing.mode-grid .property.carrusel-card .property-card-header,
  body.landing.mode-map2 .property.carrusel-card .property-header,
  body.landing.mode-map3 .property.carrusel-card .property-header,
  body.landing.mode-grid .property.carrusel-card .property-header {
    flex: 0 0 auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  body.landing.mode-map2 .property.carrusel-card,
  body.landing.mode-map3 .property.carrusel-card,
  body.landing.mode-grid .property.carrusel-card,
  body.landing.mode-map1 .property.carrusel-card,
  body.landing.mode-map-1 .property.carrusel-card {
    overflow: hidden !important;
    height: auto !important;
    min-height: 0 !important;
  }
}

/* Card corner clip — listado tablet (769–1024): 4 esquinas iguales, sin radius parcial en foto */
@media (min-width: 769px) and (max-width: 1024px) {
  body.landing.mode-map1 .property.carrusel-card,
  body.landing.mode-map-1 .property.carrusel-card,
  body.landing.mode-map2 .property.carrusel-card,
  body.landing.mode-map3 .property.carrusel-card,
  body.landing.mode-grid .property.carrusel-card {
    overflow: hidden !important;
    border-radius: var(--k-card-radius, 12px);
  }

  body.landing .property.carrusel-card > .property-image-container {
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
  }
}

/* RESPONSIVE MOBILE — inicio — F5 Bottom Nav: barra acciones listado retirada (bnav única) */
@media (max-width: 1024px) {
  body.kasalia-has-rwd-bnav .mobile-bottom-menu,
  body.kasalia-has-rwd-bnav > .filters-right[data-mobile-detached="1"],
  body.kasalia-has-rwd-bnav.kasalia-mobile-listing .filters-bar.rwd-filters-canonical .filters-right {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}
/* RESPONSIVE MOBILE — fin — F5 Bottom Nav listado */

/* Hint doble tap — oculto en desktop; visible solo en bloque mobile card system */
.rwd-card-detail-hint {
  display: none;
}

/* RESPONSIVE MOBILE — inicio — KASALIA MOBILE CARD SYSTEM
   Esquinas 4× iguales + fila acción (badges izq / contacto der) @≤768px
   ============================================================================= */
@media (max-width: 768px) {
  body.kasalia-mobile-listing.landing .property.carrusel-card,
  body.kasalia-mobile-listing.landing:has(.filters-bar.rwd-filters-canonical) .property.carrusel-card {
    --k-card-scale-mobile: 1;
    --k-card-radius: 27px;
    --k-card-pad-x: 16px;
    --k-card-pad-y: 12px;
    --k-card-gap: 6px;
    --k-card-fs-badge: 10px;
    --k-card-badge-pad-y: 3px;
    --k-card-badge-pad-x: 8px;
    --k-card-btn-fs: 11px;
    --k-card-btn-icon: 16px;
    --k-card-meta-gap: 8px;
    --k-card-photo-h: 214px;
    box-sizing: border-box;
    overflow: hidden !important;
    border-radius: var(--k-card-radius) !important;
    contain: layout style !important;
  }

  body.kasalia-mobile-listing.landing .property.carrusel-card > .property-image-container {
    margin: 0 !important;
    padding: 0 !important;
    flex: 1 1 var(--k-card-photo-h) !important;
    width: 100% !important;
    height: auto !important;
    min-height: var(--k-card-photo-h) !important;
    max-height: none !important;
    border-radius: 0 !important;
    overflow: hidden !important;
  }

  /* RESPONSIVE MOBILE — sin hover amarillo (escala y se come el tap de la flecha) */
  body.kasalia-mobile-listing .property.carrusel-card:hover,
  body.kasalia-mobile-listing .property.carrusel-card.tarjeta-resaltada,
  body.kasalia-mobile-listing .property.carrusel-card.elevated {
    transform: none !important;
    box-shadow: none !important;
    background-color: transparent !important;
    border-color: transparent !important;
    z-index: 1 !important;
  }

  body.kasalia-mobile-listing .property.carrusel-card.tarjeta-resaltada::before {
    display: none !important;
    content: none !important;
    pointer-events: none !important;
  }

  /* RESPONSIVE MOBILE — la foto no debe tapar el toque de las flechas */
  body.kasalia-mobile-listing .property .carousel .carousel-img {
    pointer-events: none !important;
  }

  body.kasalia-mobile-listing .property.carrusel-card {
    -webkit-tap-highlight-color: transparent;
  }

  /* RESPONSIVE MOBILE — flechas visibles y táctiles (44px), sin zona fantasma */
  body.kasalia-mobile-listing .property .carousel .prev,
  body.kasalia-mobile-listing .property .carousel .next {
    top: 50% !important;
    width: 44px !important;
    height: 44px !important;
    max-width: 44px !important;
    max-height: 44px !important;
    transform: translateY(-50%) scale(1) !important;
    border-radius: 50% !important;
    opacity: 0.94 !important;
    pointer-events: auto !important;
    z-index: 50 !important;
    background: rgba(255, 255, 255, 0.92) !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15) !important;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }

  body.kasalia-mobile-listing .property .carousel .prev { left: 8px !important; }
  body.kasalia-mobile-listing .property .carousel .next { right: 8px !important; }

  body.kasalia-mobile-listing.landing .property.carrusel-card > .property-content {
    display: flex !important;
    flex-direction: column !important;
    flex: 0 1 auto !important;
    gap: var(--k-card-gap) !important;
    padding: var(--k-card-pad-y) var(--k-card-pad-x) !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  body.kasalia-mobile-listing.landing .property.carrusel-card > .property-content > .property-actions {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
  }

  body.kasalia-mobile-listing.landing .property.carrusel-card > .property-image-container .carousel,
  body.kasalia-mobile-listing.landing .property.carrusel-card > .property-image-container .carousel .carousel-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 0 !important;
  }

  body.kasalia-mobile-listing.landing .property.carrusel-card > .property-image-container .carousel .prev img,
  body.kasalia-mobile-listing.landing .property.carrusel-card > .property-image-container .carousel .next img {
    width: 18px !important;
    height: 18px !important;
    max-width: 18px !important;
    max-height: 18px !important;
    padding: 0 !important;
    object-fit: contain !important;
    pointer-events: none !important;
    background: transparent !important;
  }

  body.kasalia-mobile-listing.landing .property.carrusel-card .property-card-header,
  body.kasalia-mobile-listing.landing .property.carrusel-card .property-header,
  body.kasalia-mobile-listing.landing .property.carrusel-card .characteristics,
  body.kasalia-mobile-listing.landing .property.carrusel-card .property-extras,
  body.kasalia-mobile-listing.landing .property.carrusel-card .property-meta-row {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Fila acción: grid 1fr auto — contacto nunca en fila aislada */
  body.kasalia-mobile-listing.landing .property.carrusel-card .property-meta-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    column-gap: var(--k-card-meta-gap) !important;
    row-gap: 4px !important;
    align-items: end !important;
    margin-top: auto !important;
    padding-top: 8px !important;
    padding-bottom: 0 !important;
    flex-wrap: nowrap !important;
    justify-content: unset !important;
    border-top: 0 !important;
  }

  body.kasalia-mobile-listing.landing .property.carrusel-card .disponibilidad-badges {
    grid-column: 1;
    grid-row: 1;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    align-content: flex-start !important;
    gap: 6px !important;
    min-width: 0 !important;
    max-width: 100% !important;
    flex: unset !important;
  }

  body.kasalia-mobile-listing.landing .property.carrusel-card .disponibilidad-badge {
    flex: 0 0 auto !important;
    font-size: var(--k-card-fs-badge) !important;
    padding: var(--k-card-badge-pad-y) var(--k-card-badge-pad-x) !important;
    line-height: 1.2 !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
  }

  body.kasalia-mobile-listing.landing .property.carrusel-card .btn-chat-interno--index-casa {
    grid-column: 2;
    grid-row: 1;
    justify-self: end !important;
    align-self: end !important;
    flex: 0 0 auto !important;
    flex-shrink: 0 !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: var(--k-card-badge-pad-y) 12px !important;
    font-size: var(--k-card-btn-fs) !important;
    line-height: 1.2 !important;
    min-height: 0 !important;
    height: auto !important;
    white-space: nowrap !important;
  }

  body.kasalia-mobile-listing.landing .property.carrusel-card .btn-chat-interno--index-casa .btn-chat-interno--index-casa__ic {
    width: var(--k-card-btn-icon) !important;
    height: var(--k-card-btn-icon) !important;
  }

  /* Hint doble tap retirado: un tap abre la ficha */
  body.kasalia-mobile-listing.landing .property.carrusel-card .rwd-card-detail-hint {
    display: none;
  }
}
/* RESPONSIVE MOBILE — fin — KASALIA MOBILE CARD SYSTEM */

/* RESPONSIVE MOBILE — inicio — L-08 pulido listado móvil (espaciados toolbar/rejilla) */
@media (max-width: 1024px) {
  body.kasalia-mobile-listing.landing:has(.filters-bar.rwd-filters-canonical) .properties-wrapper {
    gap: var(--rwd-space-md, 16px) !important;
    padding-bottom: calc(var(--rwd-space-md, 16px) + env(safe-area-inset-bottom, 0px)) !important;
  }

  body.kasalia-mobile-listing.landing:has(.filters-bar.rwd-filters-canonical) .filters-bar.rwd-filters-canonical {
    row-gap: var(--rwd-space-xs, 8px) !important;
  }

  body.kasalia-mobile-listing.landing:has(.filters-bar.rwd-filters-canonical) .property-submenu {
    margin-bottom: var(--rwd-space-xs, 8px) !important;
  }
}
/* RESPONSIVE MOBILE — fin — L-08 pulido listado móvil */

/* =============================================================================
   KASALIA DESKTOP FILTER BAR — SSOT chips (≥1025)
   Tokens: Styles/tokens/kasalia-filter-chip-tokens.css (--filter-chip-*, --filter-bar-*, --filter-action-*)
   Chip = contenido + pad (anula size=20 / us-inline). Grupos L/R + color acciones.
   No toca MQ ≤1024.
   ============================================================================= */
@media (min-width: 1025px) {
  body.landing .banner-bottom {
    padding: var(--filter-bar-pad-y) var(--filter-bar-pad-x) !important;
    box-sizing: border-box !important;
  }

  body.landing .banner-bottom .search-bar,
  body.landing .banner-bottom .filters-bar {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: var(--filter-chip-h) !important;
    height: auto !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: var(--filter-bar-gap) !important;
    box-sizing: border-box !important;
  }

  body.landing .banner-bottom .search-fields-container,
  body.landing .banner-bottom .filters-left {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    min-height: var(--filter-chip-h) !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: var(--filter-bar-gap) !important;
  }

  /* Grupo acciones a la derecha: separación clara + anti-solape */
  body.landing .banner-bottom .buttons-container,
  body.landing .banner-bottom .filters-right {
    flex: 0 0 auto !important;
    min-width: 0 !important;
    min-height: var(--filter-chip-h) !important;
    margin-left: auto !important;
    padding-left: var(--filter-bar-groups-gap) !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: var(--filter-bar-gap) !important;
    box-sizing: border-box !important;
  }

  /* Chips filtro + acciones: altura táctil, pad proporcional a fs 12 */
  body.landing .banner-bottom .filters-left > .search-field,
  body.landing .banner-bottom .filters-left > .text-button,
  body.landing .banner-bottom .filters-right > .text-button:not(#clear-community-btn),
  body.landing .banner-bottom .filters-right > .search-button:not(#clear-community-btn),
  body.landing .banner-bottom .buttons-container .text-button:not(#clear-community-btn),
  body.landing .banner-bottom .buttons-container .search-button:not(#clear-community-btn) {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: var(--filter-chip-h) !important;
    min-height: var(--filter-chip-h) !important;
    max-height: var(--filter-chip-h) !important;
    padding-block: 0 !important;
    padding-inline: var(--filter-chip-pad-x) !important;
    border-radius: var(--filter-chip-radius) !important;
    font-size: var(--filter-chip-fs) !important;
    font-weight: var(--filter-chip-fw) !important;
    line-height: var(--filter-chip-lh) !important;
    letter-spacing: normal !important;
    flex: 0 0 auto !important;
    width: max-content !important;
    min-width: var(--filter-chip-min) !important;
    max-width: none !important;
    white-space: nowrap !important;
  }

  /* Filtros (izq.): blanco + borde verde */
  body.landing .banner-bottom .filters-left > .search-field:not(#ubicacion-field),
  body.landing .banner-bottom .filters-left > .text-button {
    background: var(--filter-chip-bg) !important;
    border-color: var(--filter-chip-border) !important;
    color: var(--filter-chip-color) !important;
  }

  /* Acciones (der.) — Opción A soft fill (documentada vs Opción B outline mute) */
  body.landing .banner-bottom .filters-right > .text-button:not(#clear-community-btn),
  body.landing .banner-bottom .filters-right > .search-button:not(#clear-community-btn),
  body.landing .banner-bottom .buttons-container .text-button:not(#clear-community-btn),
  body.landing .banner-bottom .buttons-container .search-button:not(#clear-community-btn) {
    background: var(--filter-action-bg) !important;
    border-color: var(--filter-action-border) !important;
    color: var(--filter-action-color) !important;
  }

  body.landing .banner-bottom .filters-right > .text-button:not(#clear-community-btn):hover,
  body.landing .banner-bottom .filters-right > .search-button:not(#clear-community-btn):hover,
  body.landing .banner-bottom .buttons-container .text-button:not(#clear-community-btn):hover,
  body.landing .banner-bottom .buttons-container .search-button:not(#clear-community-btn):hover {
    background: var(--filter-action-bg-hover) !important;
    border-color: var(--filter-action-border) !important;
  }

  body.landing .banner-bottom #clear-community-btn {
    display: none !important;
  }

  /* Anula anchos legacy us-inline-* / size=20 en Desktop */
  body.landing .banner-bottom .filters-left > .search-field[class*="us-inline-style-"],
  body.landing .banner-bottom .filters-left > .search-field.kasalia-locales-pill {
    width: max-content !important;
    min-width: var(--filter-chip-min) !important;
    max-width: none !important;
    flex: 0 0 auto !important;
  }

  body.landing .banner-bottom .filters-left > .search-field input,
  body.landing .banner-bottom .filters-left > .search-field input::placeholder,
  body.landing .banner-bottom #ubicacion-field input,
  body.landing .banner-bottom #ubicacion-field input::placeholder {
    font-size: var(--filter-chip-fs) !important;
    font-weight: var(--filter-chip-fw) !important;
    letter-spacing: normal !important;
    line-height: var(--filter-chip-lh) !important;
  }

  /* Inputs filtro: ancho = texto (override size=20); no stretch */
  body.landing .banner-bottom .filters-left > .search-field:not(#ubicacion-field) input {
    box-sizing: border-box !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    field-sizing: content;
    height: var(--filter-chip-h) !important;
    line-height: var(--filter-chip-h) !important;
    padding: 0 !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
  }

  body.landing .banner-bottom #ubicacion-field input {
    box-sizing: border-box !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: var(--filter-chip-h) !important;
    line-height: var(--filter-chip-h) !important;
    padding: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body.landing .banner-bottom #ubicacion-field {
    flex: 1 1 var(--filter-ubicacion-flex-basis) !important;
    min-width: 0 !important;
    max-width: var(--filter-ubicacion-max) !important;
    width: auto !important;
    margin-right: 0 !important;
  }

  body.landing .banner-bottom #open-advanced-filter-cta {
    flex: 0 0 auto !important;
    width: max-content !important;
    padding-inline: var(--filter-chip-pad-x) !important;
    gap: calc(var(--filter-bar-gap) / 2) !important;
    font-size: var(--filter-chip-fs) !important;
    font-weight: var(--filter-chip-fw) !important;
  }

  body.landing .banner-bottom .filters-left > #habitaciones-banos-field,
  body.landing .banner-bottom .filters-left > #tipo-vivienda-field,
  body.landing .banner-bottom .filters-left > #precio-field,
  body.landing .banner-bottom .filters-left > #estado-field,
  body.landing .banner-bottom .filters-left > #ordenar-field,
  body.landing .banner-bottom .filters-left > #superficie-field,
  body.landing .banner-bottom .filters-left > #tipo-transaccion-field,
  body.landing .banner-bottom .filters-left > #local-estado-planta-field,
  body.landing .banner-bottom .filters-left > #acceso-parking-field,
  body.landing .banner-bottom .filters-left > #parking-dims-field,
  body.landing .banner-bottom .filters-left > #trastero-ubicacion-field {
    flex: 0 0 auto !important;
    min-width: var(--filter-chip-min) !important;
    max-width: none !important;
    width: max-content !important;
    padding-inline: var(--filter-chip-pad-x) !important;
  }

  /* Sin diferencias por categoría en chips (Desktop) */
  body.landing .banner-bottom .filters-bar[data-kasalia-cat] .filters-left {
    gap: var(--filter-bar-gap) !important;
  }

  body.landing .banner-bottom .filters-bar[data-kasalia-cat] .filters-left > .search-field,
  body.landing .banner-bottom .filters-bar[data-kasalia-cat] .filters-left > .text-button {
    padding-inline: var(--filter-chip-pad-x) !important;
    min-width: var(--filter-chip-min) !important;
    width: max-content !important;
    flex: 0 0 auto !important;
  }

  /* Tipografía opciones dropdown = tipografía chip (fs/fw/lh); sin bold > chip */
  body.landing .banner-bottom .filter-dropdown .option-item,
  body.landing .banner-bottom .filter-dropdown .option,
  body.landing .banner-bottom .filter-dropdown .hb-option,
  body.landing .banner-bottom .filter-dropdown .kasalia-lep-estado-opt,
  body.landing .banner-bottom .filter-dropdown .kasalia-planta-chip,
  body.landing .banner-bottom .filter-dropdown .kasalia-tx-opt,
  body.landing .banner-bottom .filter-dropdown .kasalia-acceso-opt,
  body.landing .banner-bottom .filter-dropdown .kasalia-orden-item,
  body.landing .banner-bottom #ordenar-dropdown .option-item {
    font-size: var(--filter-chip-fs) !important;
    font-weight: var(--filter-chip-fw) !important;
    line-height: var(--filter-chip-lh) !important;
    letter-spacing: normal !important;
  }

  body.landing .banner-bottom .filter-dropdown .option-item.selected,
  body.landing .banner-bottom .filter-dropdown .option.selected,
  body.landing .banner-bottom .filter-dropdown .selected,
  body.landing .banner-bottom .filter-dropdown .hb-option.selected,
  body.landing .banner-bottom .filter-dropdown .kasalia-lep-estado-opt.selected,
  body.landing .banner-bottom .filter-dropdown .kasalia-planta-chip.selected,
  body.landing .banner-bottom .filter-dropdown .kasalia-tx-opt.selected,
  body.landing .banner-bottom .filter-dropdown .kasalia-acceso-opt.selected,
  body.landing .banner-bottom .filter-dropdown .kasalia-orden-item.selected,
  body.landing .banner-bottom #ordenar-dropdown .option-item.selected {
    font-size: var(--filter-chip-fs) !important;
    font-weight: var(--filter-chip-fw) !important;
  }

  /*
   * SECTION RULE (SSOT): misma sección → mismos tamaños de botón.
   * Ancho compartido = etiqueta más larga (grid fit-content + 1fr iguales).
   * Ahorro solo vía --filter-option-pad-* / --filter-option-gap. Altura ≥44.
   * Hab/Baños: UNA fila (6 / 4) — NO grid 2×N. Estado / Tipo: grids.
   * No toca ≤1024.
   */
  body.landing .banner-bottom #habitaciones-banos-dropdown,
  body.landing .banner-bottom #estado-dropdown,
  body.landing .banner-bottom #tipo-vivienda-dropdown {
    /* max-content: no anclar a ancho del chip (position:relative del field) */
    width: max-content !important;
    min-width: max-content !important;
    max-width: min(92vw, 720px) !important;
    padding: var(--filter-dropdown-pad) !important;
    box-sizing: border-box !important;
  }

  /*
   * Hab/Baños Desktop: marcos a 100% del ancho de sección (misma columna).
   * Baños: botones siguen fit-content a la izquierda; aire muerto DENTRO
   * del marco a la derecha. No toca tamaño/gap de .option.
   */
  body.landing .banner-bottom #habitaciones-banos-dropdown .hb-filter-section,
  body.landing .banner-bottom #habitaciones-banos-dropdown .range-selector {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body.landing .banner-bottom #habitaciones-banos-dropdown .hb-filter-section + .hb-filter-section {
    margin-top: var(--filter-bar-gap) !important;
  }

  body.landing .banner-bottom #habitaciones-banos-dropdown .range-selector {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    overflow: visible !important;
  }

  /*
   * Helper: ocupa el ancho del marco (100%), sin forzar max-content del
   * grid de botones. Botones siguen width:auto vía .selector-options.
   */
  body.landing .banner-bottom #habitaciones-banos-dropdown .helper-text {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
    overflow: visible !important;
  }

  /*
   * Grids de opciones: inline-grid + 1fr (mín. auto, no minmax(0)) para que
   * todas las columnas compartan el ancho de la etiqueta más larga de la sección.
   */
  body.landing .banner-bottom #habitaciones-banos-dropdown .selector-options,
  body.landing .banner-bottom #estado-dropdown .estado-grid,
  body.landing .banner-bottom #tipo-vivienda-dropdown .grid-options {
    display: inline-grid !important;
    width: auto !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    gap: var(--filter-option-gap) !important;
    row-gap: var(--filter-option-gap) !important;
    column-gap: var(--filter-option-gap) !important;
    padding: 0 !important;
    justify-items: stretch !important;
    overflow: visible !important;
    max-height: none !important;
  }

  /* Habitaciones: 6 botones en UNA fila. Baños: 4 en UNA fila. */
  body.landing .banner-bottom #habitaciones-banos-dropdown .hb-filter-section:nth-child(1) .selector-options {
    grid-template-columns: repeat(6, 1fr) !important;
  }

  body.landing .banner-bottom #habitaciones-banos-dropdown .hb-filter-section:nth-child(2) .selector-options {
    grid-template-columns: repeat(4, 1fr) !important;
  }

  body.landing .banner-bottom #estado-dropdown .estado-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  body.landing .banner-bottom #tipo-vivienda-dropdown .grid-options {
    grid-template-columns: repeat(3, 1fr) !important;
  }

  body.landing .banner-bottom #habitaciones-banos-dropdown .option,
  body.landing .banner-bottom #estado-dropdown .option-item,
  body.landing .banner-bottom #tipo-vivienda-dropdown .option-item {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 100% !important;
    height: var(--filter-option-h) !important;
    min-height: var(--filter-option-h) !important;
    max-height: var(--filter-option-h) !important;
    padding-block: var(--filter-option-pad-y) !important;
    padding-inline: var(--filter-option-pad-x) !important;
    border-radius: var(--filter-option-radius) !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  /* Ordenar: ancho = etiqueta más larga (Conservación) + controles flecha; sin aire muerto */
  body.landing .banner-bottom #ordenar-dropdown {
    width: max-content !important;
    min-width: max-content !important;
    max-width: min(92vw, 480px) !important;
    padding: var(--filter-dropdown-pad) !important;
    box-sizing: border-box !important;
  }

  body.landing .banner-bottom #ordenar-dropdown .kasalia-ordenar-simple {
    display: inline-grid !important;
    grid-template-columns: max-content !important;
    width: auto !important;
    max-width: 100% !important;
    gap: var(--filter-option-gap) !important;
    padding: 0 !important;
  }

  body.landing .banner-bottom #ordenar-dropdown .kasalia-orden-item {
    box-sizing: border-box !important;
    display: inline-flex !important;
    width: auto !important;
    min-width: 100% !important;
    height: var(--filter-option-h) !important;
    min-height: var(--filter-option-h) !important;
    max-height: var(--filter-option-h) !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: var(--filter-option-gap) !important;
    padding-block: var(--filter-option-pad-y) !important;
    padding-inline: var(--filter-option-pad-x) !important;
    border-radius: var(--filter-option-radius) !important;
  }

  body.landing .banner-bottom #ordenar-dropdown .kasalia-orden-label {
    flex: 0 0 auto !important;
    min-width: 0 !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
  }

  body.landing .banner-bottom #ordenar-dropdown .kasalia-orden-direcciones {
    flex: 0 0 auto !important;
    margin-left: auto !important;
  }
}

