.filter-section-title {
    font-size: 17px;
    font-weight: 600;
}

input[type="checkbox"] {
    accent-color: var(--w34-primary-color);
}
/* Estilos encapsulados para la cuadrícula */
.more-filters{
    position:relative;
    display:inline-block;
}
.field-checkbox {
    display: flex;
    justify-content: space-between;
}

.filters-dropdown{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    width:330px;
    background:#fff;
    border:1px solid #ddd;
    border-radius:5px;
    padding:20px;
    box-shadow:0 10px 30px rgba(0,0,0,.15);
    z-index:1000;
}

@media(max-width: 600px) {
    .filters-dropdown {
        width: 100%;
    }

}
.filter-group{
    margin-bottom:20px;
}

.filter-group h4{
    margin-bottom:15px;
}

.filter-option{
    font-size: 15px;
    padding:2px 8px;
    border:1px solid #ddd;
    background:#fff;
    border-radius:5px;
    cursor:pointer;
    color: #706f6f;
    margin:3px;
}

.filter-option.active{
    border-color:var(--w34-color-principal);
    color:var(--w34-color-principal);
    background:#fffaf1;
}

#btnMoreFilters {
    text-align: start;
    height: 40px;
    padding: 0 35px 0 12px;
    background: #fff;
    position: relative;
    cursor: pointer;
    font-size: 12px;
    border: 2px solid #e2e8f0;
    border-radius: 5px;
}

#btnMoreFilters::after {
    content: "\23F7";
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 14px;
    color: #666;
    transition: transform .2s ease;
}

#btnMoreFilters.open::after {
    transform: translateY(-50%) rotate(180deg);
}

.w34-destacados-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 30px;
    margin: 20px 0;
}

.w34-card-propiedad {
    border: 1px solid #eaeaea;
    border-radius: 8px;
    overflow: hidden;
    transition: box-shadow 0.3s ease;
    background: #fff;
}

.w34-card-location {
    text-transform: uppercase;
    font-style: italic;
    font-size: 12px;
    font-weight: 500;
    color: #666;
    padding: 5px 0 5px 0;
    line-height: 1.2em;
    pointer-events: none;
}


.et_pb_contact_consentimiento_5_0 a{
    text-decoration: underline !important;
}
p.et_pb_contact_field {
    margin-bottom: 0% !important;
}
.w34-card-price-ref {
    display: flex;
    align-items: center;
    gap: 3px !important;
}

.heart-icon {
    background-color: rgba(255, 255, 255, 0.75);
    display: flex;
    align-items: center;
    padding: 4px;
    border-radius: 5px;
}

.heart-icon path {
    fill: currentColor;
}

.heart-icon:hover {
    color: var(--w34-primary-color);
    background-color: rgba(255, 255, 255, 1);
}

.w34-card-propiedad:hover {
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

.w34-card-img-container {
    position: relative;
}

.w34-card-img-wrapper {
    position: relative;
    width: 100%;
    height: 220px;
    overflow: hidden;
    background: #f5f5f5;
}

.w34-card-img-wrapper img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    transition: transform 0.5s ease;
    display: block;
}

/* Asegurar que el enlace que envuelve la foto ocupe todo el slide */
.w34-card-img-wrapper a.w34-card-img-link {
    display: block !important;
    height: 100%;
    width: 100%;
}

/* Forzar que el slide de Slick ocupe la altura completa del wrapper */
.w34-card-img-wrapper .slick-slide {
    height: 220px; /* Misma altura que el wrapper */
    width: 100%;
}

.view-list .w34-card-img-wrapper .slick-slide {
    height: 100%;
    min-height: 200px;
    width: 100%;
}

/* Evitar que las imágenes se amontonen antes de que Slick cargue (FOUC) */
.w34-card-img-wrapper:not(.slick-initialized) img:not(:first-child) {
    display: none;
}

/* FLECHAS INTERNAS (Fotos dentro de las tarjetas) */
.w34-card-img-wrapper .slick-prev {
    left: 10px !important;
    z-index: 2;
}

.w34-card-img-wrapper .slick-next {
    right: 10px !important;
    z-index: 2;
}

.w34-card-img-wrapper .slick-prev:before,
.w34-card-img-wrapper .slick-next:before {
    font-size: 20px;
    color: white !important;
    opacity: 0.8;
    text-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
}

/* FLECHAS EXTERNAS (Bloque completo de destacados) */
.destacados-block .slick-prev,
.destacados-block .slick-next {
    width: 40px;
    height: 40px;
    z-index: 10;
}
.destacados-block button.slick-next.slick-arrow:not(.w34-card-img-container button.slick-next.slick-arrow), .destacados-block button.slick-prev.slick-arrow:not(.w34-card-img-container button.slick-prev.slick-arrow){
 background-color: white !important;
    background: none;
    text-align: center !important;
    margin: 0;
    width: 44px;
    height: 44px;
    line-height: 44px;
    background: #FFF;
    box-shadow: 0 1px 4px rgb(38 50 56 / .2) !important;
    border-radius: 6px;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}
.destacados-block button.slick-prev.slick-arrow:hover,
.destacados-block button.slick-next.slick-arrow:hover{
    background-color: white !important;
    .slick-prev, .slick-next{
        color: black !important;
    }
}

@media (min-width: 1205px) {

    .destacados-block .slick-prev {
        left: -52px !important;
    }
    
    .destacados-block .slick-next {
        right: -52px !important;
    }
	.w34-premium-single .w34-sp-info-left{
		    width: 60% !important;
	}
		
}

.destacados-block .slick-prev:before,
.destacados-block .slick-next:before {
    color: #d7d7d7  !important; 
    font-size: 18px;
    opacity: 1;
}


@media (max-width: 1200px) {
    .destacados-block {
        padding-left: 52px;
        padding-right: 52px;
    }

    .destacados-block .slick-prev { left: 0px !important; }
    .destacados-block .slick-next { right: 0px !important; }
}

/* Aqui las flechas ya miden 32px, asi que el hueco puede ser menor */
@media (max-width: 768px) {
    .destacados-block {
        padding-left: 40px;
        padding-right: 40px;
    }
}

.w34-badge-vendido {
    position: absolute;
    display: flex;
    top: 15px;
    left: 15px;
    background: var(--w34-primary-color);
    color: #fff;
    padding: 1px 12px;
    border-radius: 4px;
    font-size: 13px;
    font-weight: bold;
    z-index: 2;
}

.w34-badge-reservado {
    background: var(--w34-primary-color);
}

.w34-badge-alquilado {
    background: var(--w34-primary-color);
}

.w34-card-content {
    padding: 4%;
}

.feature-item {
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.w34-card-title {
    font-size: 20px;
    line-height: 1.2em;
    font-family: 'Lora' !important;
    /* white-space: nowrap; */
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0 0 2%;
    padding: 0;
}

.w34-card-title a {
    color: #333;
    text-decoration: none;
}

.w34-card-price {
    font-size: 16px;
    color: #263238;
    /* Tu color corporativo dorado */
    line-height: 2.4em;
    font-family: 'Lora';
    font-weight: 400;
}
/* Etiqueta "Consultar precio": el fondo lo lleva su propio span, porque el separador "|"
   es un ::after del div del precio y se quedaria dentro de la caja gris. */
.w34-destacados-grid .w34-price-badge {
    background-color: #d2d0d0 !important;
    color: var(--w34-color-principal) !important;
    cursor: help;
    padding: 4px;
    border-radius: 6px;
    font-weight: 900;
	font-family: 'Lora';
	font-size:12px;
}
.w34-premium-single .w34-price-badge {
font-size:24px !important;
	padding:5px 10px !important;
	 background-color: #d2d0d0 !important;
    color: var(--w34-color-principal) !important;
    cursor: help;
    border-radius: 6px;
    font-weight: 900;
	font-family: 'Lora';
}

/* la fila precio + referencia es flex: sin esto el texto parte en dos lineas */
.w34-card-price.w34-card-price--consultar,.w34-sp-price.w34-sp-price--consultar {
    flex: 0 0 auto;
    white-space: nowrap;
}

.w34-sp-price.w34-sp-price--consultar + .w34-sp-ref {
    white-space: nowrap;
}

.w34-card-features {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 4px;
    padding-top: 12px;
    color: #666;
    font-size: 13px;
    line-height: 1.2;
    border-top: 1px solid #666;
}

.w34-card-features span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 2px 6px;
    white-space: nowrap;
    font-size: 15px;
    /* Evita que el rango se rompa por la mitad */
}

.fa-heart.fa-solid {
    color: var(--w34-color-principal);
}
.topbar{
    margin-bottom: 20px;
     display: flex;
      justify-content: space-between;
       align-items: center;
}
.fitlers-list{
    display:flex;flex-direction:row;gap:15px
}
/* Contador de resultados de la topbar del listado */
.w34-results-count {
    font-size: 14px;
    font-weight: 600;
    color: #64748b;
}

/* ========================================================
   ESTILOS DE LOS BOTONES TOGGLE
======================================================== */
.view-toggles {
    display: flex;
    gap: 10px;
}

.bwm-toggle-view {
    padding: 8px 10px;
    background: #f1f1f1;
    border: 1px solid #ddd;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    transition: all 0.3s ease;
}

.bwm-toggle-view:hover {
    color: var(--w34-color-principal) !important;
}

.bwm-toggle-view.active {
    background: #EFF3F5;
    border-color: #EFF3F5;
    /* Cambia esto por tu color principal */
    color: #DADADA;
}


.bwm-toggle-view[data-view="map"]::before {
    content: "\f3c5";
    font-family: "Font Awesome 6 Free";
    font-weight: 900; 
    font-style: normal;
    font-variant: normal;
    line-height: 1;
    display: inline-block;
    -webkit-font-smoothing: antialiased;
    color: black;
}
.bwm-toggle-view[data-view="map"]:hover {
color: var(--w34-color-principal) !important;
}
.bwm-toggle-view[data-view="map"]:hover,
.bwm-toggle-view[data-view="map"]:focus {
color: var(--w34-color-principal);
}
/* ========================================================
   MODO CUADRÍCULA (GRID) - Por defecto
======================================================== */
.view-grid .w34-destacados-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)) ;
    gap: 30px;
}

/* Fix para cuando Slick se inicializa en el grid de destacados */
.w34-destacados-grid.slick-initialized {
    display: block;
}

.w34-destacados-grid.slick-initialized .slick-track {
    display: flex !important;
}

.w34-destacados-grid.slick-initialized .w34-card-propiedad {
    margin: 0 15px; /* Añadir espacio entre slides del carousel */
}

.view-grid .w34-card-propiedad {
    display: flex;
    flex-direction: column;
    border: 1px solid #eaeaea;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    justify-content: space-between;
}

.view-grid .w34-card-img-wrapper {
    height: 220px;
}

/* .view-grid .w34-card-img-wrapper img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    object-position: center;
} */

.view-grid .w34-card-content {
    padding: 8px 18px;
}

.et_pb_section_2.et_pb_section {
padding: 40px !important;
background-color: white !important;
}
#post-28 .et_pb_section_2.et_pb_section {
    padding: 0 !important;
}
p.et_pb_contact_field {
margin-bottom: 3% !important;
}


/* ========================================================
   MODO LISTA (LIST)
======================================================== */
.view-list .w34-destacados-grid {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.view-list .w34-card-propiedad {
    display: flex;
    flex-direction: row;
    /* Elementos lado a lado */
    border: 1px solid #eaeaea;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    align-items: stretch;
}

.view-list .w34-card-img-container {
    width: 35%;
    /* La imagen ocupa el 35% */
    flex-shrink: 0;
}

.view-list .w34-card-img-wrapper {
    height: 100%;
    min-height: 200px;
}

.view-list .w34-card-img-wrapper img {
    width: 100%;
    height: 240px;
    object-fit: cover;
}

.view-list .w34-card-content {
    width: 65%;
    /* El contenido ocupa el 65% */
    padding: 25px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    /* Centrar contenido verticalmente */
}
/* 
div.sortby {
    display: flex;
    gap: 5px;
}

div.sortby a {
    background: var(--w34-primary-color);
    padding: 1px 5px;
    border-radius: 5px;
    color: white;
} */
 /* Contenedor principal para alinear el texto y el select */
.sortby {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #64748b; 
}
div.sortby label{
font-weight: normal;
} 

.sortby select {
    appearance: none; 
    -webkit-appearance: none;
    -moz-appearance: none;
    
    /* Diseño de la caja */
    background-color: #ffffff;
    border-radius: 4px;
    padding: 8px 36px 8px 12px;
    
    font-size: 14px;
    color:black; 
    cursor: pointer;
    outline: none;
    
    /* Flecha personalizada (SVG en Base64) */
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%232c3e50%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 12px auto;
    transition: all 0.2s ease-in-out;
    border: 2px solid #ECEFF1;
}
.sortby select option {
cursor: pointer !important;
}
/* Efecto al hacer clic en el select */
.sortby select:focus {
    border-color: var(--w34-color-principal); 
    box-shadow: 0 0 0 2px rgba(26, 115, 232, 0.2);
}
.bwm-field.w34-dropdown-field button{
    font-weight: normal !important;
}
body .et_pb_gallery_2.et_pb_gallery:after{
    padding: 6px 10px !important;
    height: auto !important;
}

/* Modo Lista - Adaptación para móviles */
@media (max-width: 768px) {
    .destacados-block button.slick-next.slick-arrow:not(.w34-card-img-container button.slick-next.slick-arrow), .destacados-block button.slick-prev.slick-arrow:not(.w34-card-img-container button.slick-prev.slick-arrow){
    width: 32px;
    height: 32px;
    }
    .view-grid .w34-destacados-grid {
    grid-template-columns: 1fr !important;
    }
    .view-list .w34-card-propiedad {
        flex-direction: column;
        /* Vuelve a apilarse en vertical */
    }

    .view-list .w34-card-img-container,
    .view-list .w34-card-content {
        width: 100%;
    }

    .view-list .w34-card-img-wrapper {
        height: 220px;
    }
    .sortby label[for*="sort-options"]{
        display: none;
    }
    .topbar{
        flex-direction: column;
        align-items: flex-start !important;

    }
    .fitlers-list{
        justify-content: space-between !important;
        width: 100%;
        margin-bottom: 25px;
    }
     .et_pb_section_2.et_pb_section {
    padding:50px 0 !important; 
    background-color:none !important;
    }
    .et_pb_contact_form {
    display: flex;
    flex-direction: column;
    height: auto;}
    .w34-sp-info-left{
        width: 100%;
    }
    .w34-sp-info-left h2 {
    font-size: 1.5em !important;
    }
    .w34-premium-single {
    padding: 0 !important;
    }
    .wp-singular .w34-sp-price,.wp-singular .w34-sp-ref ,.wp-singular .w34-sp-separator  {
        font-size: 17px !important;
    }
    .wp-singular .w34-sp-actions {
    align-items: flex-start !important;
    }
}

/* ========================================================
   CONFIGURACIÓN VISTA DE MAPA
======================================================== */

/* Ocultar el mapa en modo Grid y Lista por defecto */
#w34inmo-map-wrapper {
    display: none;
}

/* ESCRITORIO (Más de 992px): Propiedades (2 col) a la Izquierda, Mapa a la Derecha */
@media (min-width: 993px) {
    .view-map .w34-layout-wrapper {
        display: flex;
        align-items: flex-start;
        gap: 25px;
    }

    /* El listado ocupa la mitad izquierda y se fuerza a 2 columnas */
    .view-map #bwmproperties {
        width: 55%;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    /* El mapa ocupa la mitad derecha y te persigue al hacer scroll (Sticky) */
    .view-map #w34inmo-map-wrapper {
        display: block;
        width: 45%;
        position: sticky;
        top: 20px;
        /* Distancia del borde superior de la pantalla */
        height: calc(100vh - 40px);
        /* Ocupa el alto de la pantalla */
    }

    .view-map #w34inmo-map-container {
        height: 100% !important;
        /* Sobrescribe la altura del HTML */
    }
}

/* TABLET Y MÓVIL (Hasta 992px): Mostrar SOLO el Mapa a pantalla completa */
@media (max-width: 992px) {
    .view-map #w34inmo-map-wrapper {
        display: block;
        width: 100%;
        height: 70vh;
        /* Ocupa un 70% de la pantalla del móvil */
        margin-bottom: 30px;
    }

    .view-map #w34inmo-map-container {
        height: 100% !important;
    }

    /* Ocultamos las propiedades y la paginación en el móvil */
    .view-map #bwmproperties,
    .view-map .bwm-pagination {
        display: none !important;
    }
}

/* ========================================================
   ESTILOS BOTÓN FAVORITOS
*/

/* Botón de corazón en la tarjeta */
.bwm-favorite-btn {
    background: rgba(255, 255, 255, 0.75);
    border: none;
     color: #000;
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
    font-size: 18px;
    transition: transform 0.2s ease;
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 10;
    display: flex;
    border-radius: 6px;
    padding: 5px 7px; 
}

.bwm-favorite-btn:hover {
    background: rgba(255, 255, 255, 1);
}

/* Botón de corazón en la página de favoritos */
.bwm-favorites-list .bwm-favorite-btn {
    font-size: 24px;
    /* Más grande en la lista de favoritos */
}

/* --- BUSCADOR (BWM SEARCH FORM) --- */
.bwm-search-form {
    background: #ffffff;
    padding: 25px;
    border-radius: 5px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.06);
    margin: 20px 0 40px;
    border: 2px solid rgba(0, 0, 0, 0.03);
}

.bwm-search-form form {
        display: inline-flex;
    flex-wrap: wrap;
    /* gap: 12px; */
    width: calc(100% - 140px) !important;
}
.bwm-field.w34-dropdown-field{
    border-right: 1px solid #CFD8DC !important;
}
.bwm-field {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.bwm-field input:not([type="checkbox"]),
.bwm-field select:not(#w34inmo_location_select) {
    width: 100%;
    height: 40px;
    padding: 0 16px;
    border: 2px solid #e2e8f0;
    border-radius: 5px;
    font-size: 12px;
    color: #1a202c;
    transition: all 0.2s ease-in-out;
    background-color: #fff;
    box-sizing: border-box;
}



.bwm-field select {
    appearance: none;
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 16px;
    padding-right: 40px;
}

.bwm-field input:focus,
.bwm-field select:focus {
    outline: none;
    border-color: var(--w34-primary-color);
    background-color: #fff;
    box-shadow: 0 0 0 4px rgba(181, 138, 54, 0.1);
}

.bwm-field input::placeholder {
    color: black;
}

.bwm-submit {
    
    display: flex;
    justify-content: flex-end;
    /* margin-left: -14px !important; */
}

.bwm-btn {
    background: var(--w34-primary-color);
    color: #fff;
    border: none;
    padding: 0 28px;
    height: 40px;
    border-radius: 5px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}



.bwm-btn:active {
    transform: translateY(0);
}
.bwm-btn span{
margin-right:200px;
}

/* Campos especiales */
.bwm-field-unique {
    flex: 2 !important;
}

@media (max-width: 1100px) {
    .bwm-search-form form {
        flex-wrap: wrap;
    }

    .bwm-field {
        flex: 1 1 calc(33.333% - 12px);
        min-width: 200px;
    }

    .bwm-submit {
        flex: 1 1 100%;
    }

    .bwm-btn {
        width: 100%;
    }
}

@media (max-width: 600px) {
    .bwm-field {
        flex: 1 1 100%;
    }
    .bwm-btn span{
    display: none !important;
    }
    .w34-premium-single .w34-sp-slider-thumbs.slick-initialized.slick-slider{
        display: none;
    }
    .w34-card-price-ref{
        flex-wrap: wrap  !important;
        margin-left: 5px !important;
    }
}

/* --- Select2 Premium Overrides --- */
.select2-container--default .select2-selection--single {
    height: 40px !important;
    display: flex !important;
    align-items: center !important;
    border: 2px solid #e2e8f0 !important;
    border-radius: 5px !important;
    background-color: #fff !important;
    transition: all 0.2s ease-in-out !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #1a202c !important;
    font-size: 12px !important;
    padding-left: 16px !important;
    padding-right: 40px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 40px !important;
    right: 12px !important;
    display: flex !important;
    align-items: center !important;
}

.select2-container--default.select2-container--focus .select2-selection--single {
    border-color: var(--w34-primary-color) !important;
    background-color: #fff !important;
    box-shadow: 0 0 0 4px rgba(181, 138, 54, 0.1) !important;
    outline: none !important;
   
}


.select2.select2-container.select2-container--default,
.select2-container.select2-container--default.select2-container--open .select2-results{
 width: 140px !important;
 font-weight: 600;
 color: black;
}
.select2-dropdown {
    border: 2px solid #e2e8f0 !important;
    border-radius: 5px !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1) !important;
    z-index: 9999 !important;
}

.select2-results__option {
    padding: 10px 16px !important;
    font-size: 12px !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #eac8cb !important;
    color: white !important;
}

.select2-results__option[aria-selected="true"] {
    background-color: #DDDDDD !important;
    color: black !important;
}

.select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: black !important;
}

.slick-dots {
    position: absolute;
    padding-bottom: 0 !important;
    bottom: 5px;
    z-index: 2;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    text-align: center;
}

/* DOTS INTERNOS (Fotos de las tarjetas) */
.w34-card-img-wrapper .slick-dots li button:before {
    color: white !important;
    opacity: 0.7;
    font-size: 8px !important;
}
.w34-card-img-wrapper .slick-dots li.slick-active button:before {
    opacity: 1;
    color: white !important;
}

.slick-dotted.slick-slider {
    margin-bottom: 0;
}

.w34-destacados .w34-card-img-wrapper .slick-dots li button::before {
    color: black;
}

.slick-dots li {
    margin: 0px !important;
    width: 15px;
    height: 15px;

}
/* ========================================================
   VISTA INDIVIDUAL (SINGLE PROPERTY) PREMIUM
======================================================== */
.w34-premium-single {
    max-width: 1200px;
    font-family: 'Lato', sans-serif;
    color: #333;
    padding: 0 15px;
}

/* Header */
.w34-sp-header h1 {
    font-family: 'didot-title', serif;
    font-size: 30px;
    color: #1a202c;
    line-height: 1.2;
}
.w34-premium-single .w34-sp-header h1{
font-family: "Open Sans", Arial, sans-serif !important;
}
.w34-sp-breadcrumbs {
    font-size: 13px;
    color: #B0BEC5;
    margin-bottom: 15px;
}

/* Gallery Grid */
.w34-sp-gallery {
    display: flex;
    gap: 15px;
    margin-bottom: 15px;
    height: 500px;
}

.w34-sp-gallery-main {
    flex: 0 0 65%; /* Ocupa el 65% del ancho */
    position: relative;
    overflow: hidden;
    border-radius: 4px;
}

.w34-sp-gallery-main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.w34-sp-badge {
       position: absolute;
    /* top: 20px; */
    /* left: 20px; */
    background: var(--w34-primary-color);
    color: #fff;
    padding: 0px 6px;
    font-size: 11px;
    /* font-weight: bold; */
    border-radius: 4px;
    z-index: 5;
    font-family: 'Manrope' !important;
}

.w34-sp-badge-list {
    position: absolute;
    top: 20px;
    left: 20px;
    background: var(--w34-color-principal);
    color: #fff;
    padding: 0px 7px;
    font-size: 9px;
    border-radius: 4px;
    z-index: 5;
}

.w34-sp-gallery-main .bwm-favorite-btn {
    position: absolute;
    top: 20px;
    right: 20px;
    background: #fff;
    border: none;
    border-radius: 4px;
    padding: 10px;
    cursor: pointer;
    z-index: 5;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s;
    bottom: auto;
}

.w34-sp-gallery-main .bwm-favorite-btn:hover {
    transform: scale(1.05);
}

.w34-sp-gallery-main .heart-icon {
    font-size: 20px;
    line-height: 1;
}

.w34-sp-gallery-side {
    flex: 0 0 calc(35% - 15px); /* Ocupa el resto menos el gap */
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.w34-sp-gallery-item {
    flex: 1; /* Dividimos el espacio disponible */
    position: relative;
    overflow: hidden;
    border-radius: 4px;
}

.w34-sp-gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.w34-sp-more-photos {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
    border-radius: 4px;
}

/* Location text */
.w34-sp-location-text {
    /* font-size: 1.2em; */
    color: black;
    margin-bottom: 10px;
    text-transform: none;
    font-style: normal;
}

.w34-sp-location-text a:hover {
    color: var(--w34-primary-color) !important;
}

/* Info Row */
.w34-sp-info-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 40px;
    flex-wrap: wrap;
    gap: 20px;
}

.w34-sp-info-left h2 {
    color: var(--w34-primary-color);
    font-family: 'Lora';
    font-size: 2em;
    line-height: 1.7em;
    font-weight: 600;
    margin: 0 0 16px;
}

.w34-sp-features {
    display: flex;
    gap: 25px;
    color: #666;
    font-size: 14px;
}

.w34-sp-features .feature-item {
    display: flex;
     flex-direction: row;
    align-items: center;
    gap: 5px;
}
.w34-sp-features .feature-item img{
    width: 16px;
    height: 16px;
    color: var(--w34-color-principal);
 }

.feature-item span.feature-number {
    font-size: larger;
    font-weight: 400;
}

.w34-sp-info-right {
    text-align: right;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.w34-sp-price-ref {
    margin-bottom: 15px;
    color: #666;
    font-size: 22px;
}

.w34-sp-price {
    font-size: 28px;
    font-weight: bold;
    color: #666;
}

.w34-sp-separator {
    margin: 0 10px;
    color: #ccc;
    font-size: 22px;
}

.w34-sp-ref {
    font-size: 22px;
    color: #666;
}
.w34-sp-actions {
    display: flex;
    gap: 10px;
}
.wp-singular .w34-sp-actions {
    display: flex;
    flex-direction: column;
    align-items: end;
    gap: 10px;
}

.w34-btn-action {
    display: inline-block;
    padding: 12px 20px;
    font-size: 13px;
    font-weight: bold;
    text-decoration: none;
    text-transform: uppercase;
    transition: background 0.3s, transform 0.2s;
    cursor: pointer;
}
.wp-singular .w34-btn-action{
    padding: 10px 30px!important;
    width: fit-content;
}
/* grosor normal y gris mas oscuro: con font-weight 100 y #666 el precio casi no se leia
   en Mac/iPhone, donde el suavizado de Safari afina mucho mas los grosores finos */
.wp-singular .w34-sp-price {
font-size: 24px ;
color: #666 !important;
font-weight: 400 !important;
}
.w34-premium-single .w34-sp-price-ref {
    margin-bottom: 15px;
    font-family: 'lora' !important;
}

.w34-btn-gold {
    background-color: var(--w34-primary-color);
    color: #fff;
    border: none;
    font-family: 'Manrope', sans-serif;
}

.w34-btn-gold:hover {
    opacity: 0.8;
}

.rounded-btn {
    border-radius: 4px;
}

/* Essential Content */
.w34-sp-content {
    margin-top: 20px;
}
.wp-singular .w34-sp-content {
    margin-top: 60px !important;
}
/* Titulo de seccion de la ficha: el texto tal cual y una linea fina que se come
   el ancho que sobra, a media altura.
   Antes era mayusculas en negrita con un subrayado negro debajo del texto, que se
   conseguia con un border-bottom en el span pisando el del contenedor (de ahi el
   margin-bottom: -1px). Ahora la linea la pone el ::after como elemento flexible,
   asi que no hay bordes que cuadrar ni trucos de pixel. */
.w34-sp-section-title {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 20px;
}

.w34-sp-section-title span {
    flex: 0 0 auto;
    font-family: 'didot-title', serif;
    color: var(--w34-color-principal);
    font-size: 22px;
    font-weight: normal;
    line-height: 1.3;
    /* Los dos vienen de la hoja base y hay que apagarlos a mano */
    text-transform: none;
    letter-spacing: normal;
    border-bottom: 0;
    padding-bottom: 0;
    margin-bottom: 0;
}
.wp-singular .w34-sp-section-title span {
     font-family: 'Lora', serif !important;
     letter-spacing: 0.9px !important;
}
.w34-sp-section-title::after {
    content: '';
    flex: 1 1 auto;
    height: 1px;
    background: #e5e7eb;
}

.w34-sp-extra-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 15px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.w34-sp-extra-list li {
    display: flex;
    align-items: center;
    font-size: 15px;
    color: #444;
}
.w34-sp-extra-list li span {
    display: flex;
    text-transform: capitalize;
}

.w34-sp-extra-list {
    margin-right: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.w34-sp-essential-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    row-gap: 20px;
    column-gap: 40px;
    list-style: none;
    padding: 0;
    margin: 20px 0;
}

.w34-sp-essential-list li {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    font-size: 14px;
    color: #444;
}

.w34-sp-essential-list .label {
    font-weight: 600;
    min-width: 130px;
    color: #555;
    padding-right: 10px;
}

.w34-sp-essential-list .value {
    color: #111;
}

.w34-sp-description-text {
    font-size: 16px;
    line-height: 1.8;
    color: #555;
    margin-bottom: 40px;
}
.wp-singular .w34-sp-description-text{
    font-weight: 400;
    font-size: 1em;
    line-height: 1.7em;
    color: #263238;
}
.w34-sp-description-text p {
    margin-bottom: 15px;
}

/* Contact Form Overrides to fit bottom block */
.w34-sp-contact-form {
    background: #fdfdfd;
    padding: 30px;
    border-radius: 8px;
    max-width: 600px;
    border: 1px solid #eaeaea;
}

/* Contact Form Styles */
.w34-sp-contact-form {
    background: #f9f9f9;
    padding: 35px;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    margin-top: 50px;
}

.w34-sp-contact-form h3 {
    font-family: 'didot-title', serif;
    font-size: 24px;
    color: #1a202c;
    margin-top: 0;
    margin-bottom: 25px;
    border-bottom: 1px solid #eaeaea;
    padding-bottom: 15px;
}

.w34-sp-contact-form form {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
}

.w34-sp-contact-form input[type="text"],
.w34-sp-contact-form input[type="email"],
.w34-sp-contact-form input[type="tel"] {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 15px;
    box-sizing: border-box;
    font-family: inherit;
    transition: border-color 0.3s;
    background: #fff;
}

.w34-sp-contact-form input:focus,
.w34-sp-contact-form textarea:focus {
    outline: none;
    border-color: var(--w34-primary-color);
}

.w34-sp-contact-form textarea {
    grid-column: 1 / -1;
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 15px;
    min-height: 120px;
    resize: vertical;
    box-sizing: border-box;
    font-family: inherit;
    background: #fff;
}

.w34-sp-contact-form button[type="submit"] {
    grid-column: 1 / -1;
    background-color: var(--w34-primary-color);
    color: #fff;
    border: none;
    padding: 15px 40px;
    font-size: 16px;
    font-weight: bold;
    border-radius: 30px;
    cursor: pointer;
    text-transform: uppercase;
    transition: background-color 0.3s, transform 0.2s;
    justify-self: start;
    margin-top: 10px;
}

.w34-sp-contact-form button[type="submit"]:hover {
    background-color: #f1ccd3;
    transform: translateY(-2px);
}

@media (max-width: 768px) {
    .w34-sp-contact-form form {
        grid-template-columns: 1fr;
    }
}

/* Responsive adjustments */
@media (max-width: 992px) {
    .w34-sp-gallery {
        flex-direction: column;
        height: auto;
    }
    
    .w34-sp-gallery-main {
        flex: 0 0 auto;
        height: 400px;
    }
    
    .w34-sp-gallery-side {
        flex-direction: row;
        height: 150px;
    }
    
    .w34-sp-info-row {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .w34-sp-info-right {
        text-align: left;
        align-items: flex-start;
        width: 100%;
        margin-top: 20px;
    }

    .w34-sp-essential-list {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .w34-sp-gallery-side {
        display: none;
    }
    .w34-sp-gallery-main {
        height: 300px;
    }
    .w34-sp-actions {
        flex-direction: column;
        width: 100%;
    }
    .w34-btn-action {
        text-align: center;
        width: 100%;
    }
    .w34-sp-essential-list {
        grid-template-columns: 1fr;
    }
}

/* ========================================================
   STICKY CONTACT BUTTON
======================================================== */
.w34-sticky-contact-button {
    position: fixed;
    right: 0;
    top: 80%;
    transform: translateY(-50%);
    z-index: 9999;
}

.w34-sticky-contact-button .w34-btn-sticky {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--w34-primary-color); /* Matching action buttons gold color */
    color: #fff;
    padding: 12px 20px 12px 25px;
    font-size: 14px;
    font-weight: bold;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 4px 0 0 4px;
    box-shadow: -2px 4px 15px rgba(0,0,0,0.15);
    transition: all 0.3s ease;
    gap: 10px;
}

.w34-sticky-contact-button .w34-btn-sticky:hover {
    background-color: #b9002533!important;
    color: var(--w34-color-principal);
    padding-right: 30px; /* Expands outwards interaction */
}

.w34-sticky-contact-button .w34-btn-sticky i {
    font-size: 16px;
}

@media (max-width: 768px) {
    .w34-sticky-contact-button {
        top: auto;
        bottom: 0;
        right: 0;
        left: 0;
        transform: none;
        width: 100%;
        margin: 0;
    }
    
    .w34-sticky-contact-button .w34-btn-sticky {
        border-radius: 0;
        width: 100%;
        text-align: center;
        padding-top: 15px;
        padding-bottom: 15px;
        box-shadow: 0 -4px 15px rgba(0,0,0,0.15);
    }

    .w34-sticky-contact-button .w34-btn-sticky:hover {
        padding-right: 25px;
    }
}

/* ========================================================
   EV MODAL CONTACT FORM
======================================================== */
.w34-ev-modal {
    background: #fff;
    padding: 30px 40px;
    width: auto;
    max-width: 600px;
    margin: 40px auto;
    position: relative;
    box-shadow: 0 10px 40px rgba(0,0,0,0.15);
    font-family: Arial, sans-serif; /* Fallback until EV font loaded */
    border: 1px solid #e0e0e0;
}

.w34-ev-modal .mfp-close {
    font-size: 36px;
    font-weight: 300;
    top: 20px;
    right: 20px;
    color: #000;
    opacity: 1;
}

.w34-ev-modal-title {
    font-family: 'didot-title', serif;
    font-size: 26px;
    font-weight: normal;
    color: #333;
    margin-top: 0;
    margin-bottom: 25px;
    border-bottom: 1px solid #eaeaea;
    padding-bottom: 15px;
}

.w34-ev-form .w34-ev-row {
    display: flex;
    gap: 15px;
    margin-bottom: 15px;
}

.w34-ev-form .w34-ev-row input {
    flex: 1;
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #ccc;
    font-size: 14px;
    color: #333;
    outline: none;
    box-sizing: border-box;
    transition: border-color 0.3s;
}

.w34-ev-form input::placeholder,
.w34-ev-form textarea::placeholder {
    color: #666;
}

.w34-ev-form textarea {
    width: 100%;
    min-height: 100px;
    padding: 12px 15px;
    border: 1px solid #ccc;
    font-size: 14px;
    margin-bottom: 15px;
    box-sizing: border-box;
    color: #333;
    outline: none;
    resize: vertical;
    transition: border-color 0.3s;
}

.w34-ev-form select {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #ccc;
    font-size: 14px;
    margin-bottom: 25px;
    box-sizing: border-box;
    color: #333;
    outline: none;
    background: #fff;
    cursor: pointer;
    appearance: none;
}

.w34-ev-form input:focus,
.w34-ev-form textarea:focus,
.w34-ev-form select:focus {
    border-color: var(--w34-primary-color);
}

.w34-ev-checkbox {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 25px;
    font-size: 13px;
    color: #333;
    cursor: pointer;
    line-height: 1.4;
}

.w34-ev-checkbox input[type="checkbox"] {
    margin-top: 2px;
    width: 16px;
    height: 16px;
    cursor: pointer;
    flex-shrink: 0;
}

.w34-ev-btn-submit {
    background-color: var(--w34-primary-color);
    color: #fff;
    border: none;
    padding: 14px 28px;
    font-size: 14px;
    font-weight: bold;
    cursor: pointer;
    text-transform: uppercase;
    transition: background-color 0.3s;
    border-radius: 2px;
}

.w34-ev-btn-submit:hover {
    background-color: var(--w34-primary-color);
}

.w34-ev-privacy {
    margin-top: 20px;
    font-size: 12px;
    color: #666;
    line-height: 1.5;
}

.w34-ev-privacy a {
    color: var(--w34-primary-color);
    text-decoration: none;
}

.w34-ev-privacy a:hover {
    text-decoration: underline;
}

@media (max-width: 600px) {
    .w34-ev-form .w34-ev-row {
        flex-direction: column;
        gap: 15px;
    }
}

/* Fix width for intl-tel-input */
.w34-ev-row .iti {
    display: block;
    width: 100%;
}
.w34-ev-row .iti__flag-container {
    z-index: 10;
}


/* update design */
:root {
   --w34-color-principal: #b90025;
   --w34-color-secundario: #f6dfe3;
   --w34-color-texto: #333333;
}

/* cyrillic-ext */
@font-face {
   font-family: 'Roboto';
   font-style: normal;
   font-weight: 400;
   font-stretch: 100%;
   src: url(//fonts.gstatic.com/s/roboto/v48/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3GUBGEe.woff2) format('woff2');
   unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* cyrillic */
@font-face {
   font-family: 'Roboto';
   font-style: normal;
   font-weight: 400;
   font-stretch: 100%;
   src: url(//fonts.gstatic.com/s/roboto/v48/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3iUBGEe.woff2) format('woff2');
   unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

.bwm-favorite-btn:hover {
   color: var(--w34-color-principal);
}

.bwm-favorite-btn {
   top: auto;
   bottom: 10px;
}

.view-grid .w34-card-propiedad {
   justify-content: unset;
}

/* arrow  */

/* .w34-card-propiedad .slick-next,
.w34-card-propiedad .slick-prev {
    display: none !important;
} */

.w34-card-img-wrapper .slick-prev:before,
.w34-card-img-wrapper .slick-next:before {
   font-size: 15px;
}

.w34-card-propiedad:hover .slick-next,
.w34-card-propiedad:hover .slick-prev {
   display: flex !important;
}

.w34-card-img-wrapper .slick-prev:before,
.w34-card-img-wrapper .slick-next::before {
   font-size: auto;
}

/* .slick-prev::before, .slick-next::before {
   content: '' !important;
} */
.w34-card-img-wrapper .slick-prev:before {
   display: flex;
}

.slick-prev:before,
.slick-next:before {
   font-family: Arial, Helvetica, sans-serif;
}

.slick-prev:before {
   content: '\276E';
   margin: auto !important;
   padding: 0 !important;
   /* display: block !important; */
   text-align: center !important;
}

.slick-next:before {
   content: '\276F';
   left: .2em;
}

.slick-prev {
   left: -25px;
}

.slick-prev,
.slick-next {
   /* transform: translateY(-50%); */
   background: rgb(255 255 255 / .75);
   border-radius: 6px;
   width: 32px;
   height: 32px;
   /* line-height: 3.2em; */
   font-size: 1em !important;
   text-align: center;
   /* margin: .6em; */
   padding: 0;
   z-index: 1;
   border: 0;
   opacity: 1
}

/* Title */
.w34-card-title a {
   color: #b5001f;
   font-size: 22px;
   font-weight: 700;
}

.w34-card-title {
   font-weight: 700;
   line-height: 1.5em;
   display: -webkit-box;
   -webkit-line-clamp: 1;
   -webkit-box-orient: vertical;
   overflow: hidden;
   text-overflow: ellipsis;
}

.w34-card-location {
   text-transform: none;
   font-style: normal;
   color: black;
}

.w34-card-features {
   border-top: none;
}

/* Separador price- ref */
.w34-card-ref{
    font-size: 16px;
    color: #263238;
    font-family: 'Lora' !important;
    font-weight: 400;
}
.w34-card-price::after {
   content: "|";
   color: #263238;
   margin-left: 4px;
   margin-right: 4px;
   font-weight: normal;
}

/* Layout */
.view-grid .w34-destacados-grid {
   grid-template-columns: 1fr 1fr 1fr;
}

/* search bar */
.bwm-submit .bwm-btn {
   background-color:  white !important;
       width: 80px;
}
.bwm-submit .bwm-btn svg{
   display: none !important;
}
.bwm-submit button[type='submit'] {
background-color: white !important;
   padding: 0px !important;
}
.bwm-search-form {
     font-family: 'Manrope', sans-serif;
   margin: 0 !important;
   padding: 8px;
}
#btnMoreFilters, .bwm-field input:not([type="checkbox"]), .bwm-field select,
.select2-container--default .select2-selection--single{
   border: 0 !important;
   border-radius: 0 !important;
   border-right: 1px solid rgb(207, 216, 220) !important;

}

.select2-container--open .select2-dropdown {
    width: auto !important;
   width: auto !important;
    /* min-width: 280px !important; */
    max-width: 400px !important;
    overflow: hidden !important; 
        
    border-radius: 4px !important;
    border: 1px solid #e5e7eb !important;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1) !important;
}

a{
   text-decoration: none !important;
}
/* =========================================================================
   DESPLEGABLES DEL BUSCADOR (.bwm-search-form)
   -------------------------------------------------------------------------
   Select2 saca el desplegable a <body>, fuera de .bwm-search-form, asi que no
   se puede acotar por ancestro: se acota con .w34-search-dropdown, la clase que
   pone el init via dropdownCssClass. Asi estos estilos no se comen los select2
   del resto del sitio ni los del admin.
   ========================================================================= */
.w34-search-dropdown.select2-dropdown {
    border: 1px solid #e5e7eb !important;
    border-radius: 8px !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .12) !important;
    padding: 16px !important;
    overflow: hidden !important;
}

/* -------------------------------------------------------------------------
   Campo Precio: panel propio con dos selects nativos (Min / Max)
   ------------------------------------------------------------------------- */
/* El aspecto del campo y del panel esta mas abajo, en .w34-dropdown-toggle /
   .w34-dropdown-panel, que comparten Categoria, Tipo y Precio. */

.w34-price-inputs {
    display: flex;
    gap: 10px;
}

.w34-price-inputs select {
    flex: 1 1 0;
    min-width: 0;
    height: 40px;
    padding: 0 10px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    color: #263238;
    font-size: 14px;
    cursor: pointer;
}

/* Titulo del desplegable ("Categoria", "Precio"...), lo inyecta el JS de search.php */
.w34-search-dropdown .w34-dropdown-title {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #263238;
    margin-bottom: 12px;
}

.w34-search-dropdown .select2-results__options {
    display: flex !important;
    flex-direction: row !important;
    /* flex-wrap: wrap !important; */
    gap: 10px !important;
    /* Antes habia un margin-top de 35px para dejar sitio al titulo; ahora el
       titulo existe de verdad y ocupa su espacio, no hace falta reservarlo. */
    margin-top: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

/* Cada opcion como pastilla con borde, no como fila de lista */
.w34-search-dropdown .select2-results__option {
    display: inline-flex !important;
    align-items: center !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 6px !important;
    padding: 8px 16px !important;
    background-color: #fff !important;
    color: #263238 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    transition: border-color .15s ease, color .15s ease;
}

/* El estado activo es solo el borde: el relleno rojo lo mete una regla global
   anterior (.select2-container--default .select2-results__option--highlighted),
   y aqui se le gana en especificidad (4 clases frente a 3) para anularlo. */
.w34-search-dropdown.select2-dropdown .select2-results__option--highlighted[aria-selected],
.w34-search-dropdown.select2-dropdown .select2-results__option[aria-selected="true"] {
    background-color: #fff !important;
    border-color: var(--w34-primary-color, #ba0c2f) !important;
    color: var(--w34-primary-color, #ba0c2f) !important;
}

.view-grid .w34-card-img-wrapper img {
    width: 100%;
    height: 100% !important;
    object-fit: cover;
}

.view-grid .w34-card-content {
    padding: 4%;
    box-sizing: border-box;
}
@media (min-width: 981px) {
    .et_pb_row {
   padding: 0;
   }
   }
@media (max-width: 1100px) {
   .et_pb_section.et_pb_section_1.et_pb_with_background.et_section_regular {
      display: none !important;
   }
}

/* Single page */
.wp-singular h1{
    font-family: 'Lora',Georgia,"Times New Roman",serif !important;
    font-size: 30px;
    font-weight: 500;
}


.w34-sp-description {
    position: relative;
}


.w34-sp-description .w34-sp-description-text {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Desplegado */
.w34-sp-desc-toggle:checked ~ .w34-sp-description-text {
    display: block;
    -webkit-line-clamp: unset;
    overflow: visible;
}

.w34-sp-desc-mas {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 12px;
    cursor: pointer;
     color: var(--w34-color-principal);
    font-size: 15px;
    user-select: none;
    opacity:0.4;
}

.w34-sp-desc-mas:hover {
    color: var(--w34-color-principal);
    opacity: 0.8;

}


.w34-sp-desc-ver,
.w34-sp-desc-ocultar {
    align-items: center;
    gap: 8px;
}

.w34-sp-desc-ver::after,
.w34-sp-desc-ocultar::after {
    content: '';
    width: 7px;
    height: 7px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
}


.w34-sp-desc-ver::after {
    transform: rotate(45deg) translate(-1px, -2px);
}


.w34-sp-desc-ocultar::after {
    transform: rotate(-135deg) translate(-1px, -2px);
}


.w34-sp-desc-ocultar,
.w34-sp-desc-toggle:checked ~ .w34-sp-desc-mas .w34-sp-desc-ver {
    display: none;
}

.w34-sp-desc-ver,
.w34-sp-desc-toggle:checked ~ .w34-sp-desc-mas .w34-sp-desc-ocultar {
    display: inline-flex;
}
input[name="tx_realstate_reference"]::placeholder {
    color: #b8b8b8; 
    opacity: 1;
}




.destacados-block > button.slick-prev.slick-arrow::before,
.destacados-block > button.slick-next.slick-arrow::before {
    content: '';
    display: block !important;
    box-sizing: border-box !important;
    width: 11px !important;
    height: 11px !important;
    line-height: 0 !important;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    margin: 0 !important;
    padding: 0 !important;
    left: auto;
    opacity: 1;
}


.destacados-block > button.slick-next.slick-arrow::before {
    transform: translateX(-2px) rotate(45deg);
}

.destacados-block > button.slick-prev.slick-arrow::before {
    transform: translateX(2px) rotate(-135deg);
}

.destacados-block > button.slick-prev.slick-arrow,
.destacados-block > button.slick-next.slick-arrow {
    font-size: 0 !important;
}

.destacados-block > button.slick-prev.slick-arrow::before,
.destacados-block > button.slick-next.slick-arrow::before {
    flex: 0 0 auto !important;
}



.destacados-block .w34-card-img-wrapper button.slick-prev.slick-arrow,
.destacados-block .w34-card-img-wrapper button.slick-next.slick-arrow {
    width: 32px;
    height: 32px;
    line-height: 32px;
    box-shadow: none !important;
}

/* Dentro de la foto, no fuera de la tarjeta */
.destacados-block .w34-card-img-wrapper button.slick-prev.slick-arrow {
    left: 10px !important;
    right: auto !important;
}

.destacados-block .w34-card-img-wrapper button.slick-next.slick-arrow {
    right: 10px !important;
    left: auto !important;
}

/* Solo al pasar el raton por la tarjeta */
/* .w34-card-propiedad:hover .w34-card-img-wrapper button.slick-prev.slick-arrow,
.w34-card-propiedad:hover .w34-card-img-wrapper button.slick-next.slick-arrow {
    display: flex !important;
} */
.w34-card-desc-corta p {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.w34-card-img-wrapper button.slick-prev.slick-arrow,
.w34-card-img-wrapper button.slick-next.slick-arrow {
    font-size: 0 !important;
}

.w34-card-img-wrapper button.slick-prev.slick-arrow::before,
.w34-card-img-wrapper button.slick-next.slick-arrow::before {
    content: '';
    display: block !important;
    box-sizing: border-box !important;
    flex: 0 0 auto !important;
    width: 9px !important;
    height: 9px !important;
    line-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    justify-self: center;
    align-self: center;
    opacity: 1;
}

.w34-card-img-wrapper button.slick-next.slick-arrow::before {
    transform: translateX(-2px) rotate(45deg);
}

.w34-card-img-wrapper button.slick-prev.slick-arrow::before {
    transform: translateX(2px) rotate(-135deg);
}


.destacados-block .w34-card-img-wrapper button.slick-prev.slick-arrow::before,
.destacados-block .w34-card-img-wrapper button.slick-next.slick-arrow::before {
    border-top-color: #fff !important;
    border-right-color: #fff !important;
}


.w34-card-img-wrapper .slick-dots {
    position: absolute;
    left: 0;
    bottom: 8px;
    width: 100%;
    margin: 0;
    padding: 0;
    line-height: 1;
}


.view-list .w34-card-img-wrapper .slick-list,
.view-list .w34-card-img-wrapper .slick-track,
.view-list .w34-card-img-wrapper .w34-card-img-link,
.view-list .w34-card-img-wrapper img {
    height: 100% !important;
}

/* La descripcion corta SOLO en vista lista.*/
.w34-card-desc-corta {
    display: none;
}

.view-list .w34-card-desc-corta {
    display: block;
}

.w34-card-img-wrapper button.slick-prev.slick-arrow:hover,
.w34-card-img-wrapper button.slick-next.slick-arrow:hover {
    background: #96001d !important;
}

/* -----------------------------------------------------------------------------
   Flechas de la tarjeta: mostrar/ocultar SIN tocar display
   -----------------------------------------------------------------------------
   El centrado del chevron depende de que el boton sea flex. Si se usa display para
   ocultarlo y mostrarlo, el estado sin hover cae a "block" (slick-theme) y el chevron
   se descoloca; solo queda centrado mientras el raton esta encima.
   Con opacity + visibility el boton es SIEMPRE flex, asi que el centrado no cambia
   nunca, y ademas se puede animar la aparicion. */
.w34-card-img-wrapper button.slick-prev.slick-arrow,
.w34-card-img-wrapper button.slick-next.slick-arrow {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0;
    visibility: hidden;
    transition: opacity .2s ease;
}

.w34-card-propiedad:hover .w34-card-img-wrapper button.slick-prev.slick-arrow,
.w34-card-propiedad:hover .w34-card-img-wrapper button.slick-next.slick-arrow {
    opacity: 1;
    visibility: visible;
}


/* El wrapper necesita una altura DEFINIDA: con "auto" el height:100% de las capas
   internas no resuelve, la imagen cae a su altura natural y el .slick-track (slides
   flotados) se estira hasta la foto mas alta del carrusel. La foto visible se queda
   corta y debajo asoma el fondo gris del wrapper. */
.w34-card-img-wrapper {
    aspect-ratio: 3 / 2;
    height: auto !important;
}

/* Las capas de slick y la imagen tienen que seguir al contenedor */
.w34-card-img-wrapper .slick-list,
.w34-card-img-wrapper .slick-track,
.w34-card-img-wrapper .slick-slide,
.w34-card-img-wrapper .w34-card-img-link,
.w34-card-img-wrapper img {
    height: 100% !important;
}

/* Con altura real vuelve a mandar el recorte, no la proporcion de cada foto */
.w34-card-img-wrapper img {
    width: 100%;
    object-fit: cover;
    object-position: center;
}


/* -----------------------------------------------------------------------------
   BUSCADOR: boton de FAVORITOS
   -----------------------------------------------------------------------------
   Ocupa el hueco donde antes estaba "Mas filtros". No filtra en cliente: reenvia
   el formulario con tx_realstate_favorites=1 y el listado hace el resto.
   No se estira como el resto de campos (.bwm-field lleva flex:1) porque solo
   lleva un icono y una palabra. */
.bwm-search-form .w34-fav-field {
    flex: 0 0 auto;
     border-right: 1px solid  #CFD8DC !important;
}

.bwm-search-form:first-child {
  border-right: 1px solid  #CFD8DC !important;
}
.bwm-search-form .w34-fav-toggle {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    height: 40px;
    padding: 0 14px;
    background: none;
    cursor: pointer;
    color: #706f6f;
    font-size: 11px;
    line-height: 1.2;
    transition: color 0.2s;
  
}

.bwm-search-form .w34-fav-toggle i {
    font-size: 16px;
}

.bwm-search-form .w34-fav-toggle:hover {
    color: var(--w34-color-principal);
}

/* Activo = estamos viendo la lista de favoritos */
.bwm-search-form .w34-fav-toggle.active {
    color: var(--w34-color-principal);
}


/* =============================================================================
   LIGHTBOX DE LAS GALERIAS (magnific popup)
   =============================================================================
   En la pagina se cargan DOS hojas de magnific: la que trae Divi (dentro de su
   CSS dinamico) y la del plugin (templates/assets/css/magnific-popup.css). Entre
   las dos se pisaban y quedaba esto:

     - las flechas eran cajas de 48x48 invisibles: Divi dibuja el simbolo con su
       fuente de iconos en ::before y la hoja del plugin deja el ::after con los
       bordes a 0, asi que no se pintaba ninguna de las dos cosas y no habia forma
       de pasar la foto salvo con el teclado;
     - la foto se quedaba pequena, porque Divi limita .mfp-content a 960px y ademas
       pone img.mfp-img a max-width:90% (960 x 90% = los 864px que se veian);
     - la cabecera pegajosa del theme builder tapaba la lightbox, que se queda en
       el z-index 1042/1043 de serie.

   Aqui se fija el resultado final una sola vez, para las galerias de Divi y para
   las fichas de propiedad, que usan la misma lightbox.
   ========================================================================== */

/* Por encima de la cabecera pegajosa y del boton flotante de WhatsApp.
   Se queda por debajo del aviso de cookies a proposito, que va al maximo. */
.mfp-bg {
    z-index: 999990 !important;
    background: #0b0b0b !important;
    opacity: 0.93 !important;
}

.mfp-wrap {
    z-index: 999991 !important;
}

.mfp-wrap .mfp-close,
.mfp-wrap .mfp-arrow {
    z-index: 999992 !important;
}

/* La foto, lo mas grande que quepa en la pantalla */
.mfp-container {
    padding: 0 !important;
}

.mfp-content {
    max-width: 100% !important;
    width: auto !important;
}

.mfp-figure {
    width: auto !important;
}

/* 40px arriba y abajo (el de magnific): ahi van la X y la barra de titulo + contador
   (36px); con menos se montaban sobre la foto. La ficha lleva su propio padding (.w34-mfp-ficha) */
img.mfp-img {
    max-width: 100% !important;
    padding: 40px 0 !important;
}

/* Flechas: chevron blanco, mismo lenguaje que las del pase de fotos de la ficha */
.mfp-wrap .mfp-arrow {
    width: 60px !important;
    height: 60px !important;
    margin-top: -30px;
    opacity: 1 !important;
    background: none !important;
    border: 0 !important;
}

.mfp-wrap .mfp-arrow:hover {
    background: none !important;
}

/* El ::before es el que usa Divi para su icono y el que en magnific hace de
   relleno transparente: fuera, el chevron lo pinta el ::after. */
.mfp-wrap .mfp-arrow:before {
    display: none !important;
}

.mfp-wrap .mfp-arrow:after {
    content: '' !important;
    display: block !important;
    position: absolute;
    top: 50%;
    left: 50%;
    box-sizing: border-box;
    width: 22px !important;
    height: 22px !important;
    margin: 0 !important;
    border: 0;
    border-top: 3px solid #fff !important;
    border-right: 3px solid #fff !important;
    opacity: 1;
    filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.6));
}

.mfp-wrap .mfp-arrow-right:after {
    transform: translate(-65%, -50%) rotate(45deg);
}

.mfp-wrap .mfp-arrow-left:after {
    transform: translate(-35%, -50%) rotate(-135deg);
}

.mfp-wrap .mfp-arrow-left {
    left: 25px !important;
}

.mfp-wrap .mfp-arrow-right {
    right: 25px !important;
}

/* Pie: titulo de la foto y contador */
.mfp-wrap .mfp-title,
.mfp-wrap .mfp-counter {
    color: #fff;
    font-size: 14px;
}

@media (max-width: 768px) {
    .mfp-wrap .mfp-arrow {
        width: 44px !important;
        height: 44px !important;
        margin-top: -22px;
    }

    .mfp-wrap .mfp-arrow:after {
        width: 16px !important;
        height: 16px !important;
    }

    .mfp-wrap .mfp-arrow-left {
        left: 5px !important;
    }

    .mfp-wrap .mfp-arrow-right {
        right: 5px !important;
    }
}


/* -----------------------------------------------------------------------------
   BUSCADOR: desplegable de CATEGORIA (Alquiler / Venta, se pueden marcar las dos)
   -----------------------------------------------------------------------------
   Antes era un select2 al que habia que domar a base de !important para que las
   opciones parecieran pastillas. Al admitir varias a la vez ya no encajaba (un
   select2 multiple pinta etiquetas dentro del campo y la barra dejaba de decir
   "Categoria"), asi que es un panel propio: dos botones que escriben en el
   <select> oculto del formulario.
   El aspecto del campo y del panel se hereda de .w34-dropdown-toggle /
   .w34-dropdown-panel, que comparte con el de Precio. */
.w34-status-field {
    position: relative;
}

.w34-pill-options {
    display: flex;
    gap: 10px;
}

/* Sin marcar: borde gris y texto oscuro, como el resto de campos de la barra.
   El check no ocupa sitio hasta que hace falta (display:none y no opacity:0), que
   es lo que hace que la pastilla crezca al marcarla. */
.w34-pill-option {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    color: #263238;
    font-size: 14px;
    line-height: 1.2;
    white-space: nowrap;
    cursor: pointer;
    transition: border-color .15s ease;
}

.w34-pill-option i {
    display: none;
    font-size: 12px;
    /* Rosa = el rojo corporativo aclarado. Va en duro porque --w34-primary-color
       es un hex y no se le puede bajar la opacidad desde aqui. */
    color: #e9a6b3;
}

.w34-pill-option:hover {
    border-color: #cbd0d6;
}

/* Marcada: borde rosa y aparece el check */
.w34-pill-option.active {
    border-color: #e9a6b3;
}

.w34-pill-option.active i {
    display: inline-block;
}

/* -----------------------------------------------------------------------------
   Mecanica comun de los desplegables de la barra
   -----------------------------------------------------------------------------
   Campo, boton y panel de Categoria, Tipo y Precio. Los tres son paneles propios
   y no select2, entre otras cosas para que solo pueda haber uno abierto: el
   desplegable de select2 cuelga de <body> y no se enteraba de los demas, asi que
   se solapaban unos con otros. */
.w34-dropdown-field {
    position: relative;
}

.w34-dropdown-toggle {
    height: 40px;
    padding: 0 35px 0 12px;
    background: #fff;
    border: 0;
    position: relative;
    cursor: pointer;
    font-size: 12px;
    text-align: start;
    color: #1a202c;
}

.w34-dropdown-toggle::after {
    content: "";
    position: absolute;
    right: 14px;
    top: 50%;
    width: 7px;
    height: 7px;
    border-right: 2px solid #666;
    border-bottom: 2px solid #666;
    transform: translateY(-70%) rotate(45deg);
    transition: transform .2s ease;
}

.w34-dropdown-toggle.open::after {
    transform: translateY(-30%) rotate(-135deg);
}

.w34-dropdown-panel {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    min-width: 260px;
    padding: 16px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .12);
    margin-top: 20px;
}

.w34-dropdown-panel .w34-dropdown-title {
    display: block;
    margin-bottom: 12px;
    color: #263238;
    font-size: 13px;
    font-weight: 600;
}

@media (max-width: 600px) {
    .w34-dropdown-panel {
        min-width: 0;
        width: 100%;
    }
}

/* El boton muestra lo elegido ("Casa") y vuelve a su etiqueta ("Tipo") al
   deseleccionar, igual que hacia el select2 al que sustituye. */
.w34-type-field .w34-dropdown-toggle {
    color: #263238;
}


/* -----------------------------------------------------------------------------
   ETIQUETA "VENDIDO" DE PROMOCIONES
   -----------------------------------------------------------------------------
   La etiqueta no la pinta el plugin: es un ::after definido a mano en los ajustes
   de los modulos de galeria de Divi, y venia con el relleno torcido
   (padding: 5px 24px 24px + height: 20px), asi que el texto se quedaba pegado
   arriba en vez de centrado.

   Se corrige desde aqui para no tener que editar 18 modulos en el Builder ni
   tocar el contenido de las paginas en la base de datos.

   Divi genera esas reglas como ".et_pb_gallery_2.et_pb_gallery::after" (dos
   clases) y con !important en el padding. Por eso aqui hacen falta las dos cosas:
   !important tambien, y un selector mas especifico. Con "body" delante y las dos
   clases que el modulo ya lleva, sale 0-2-1 contra el 0-2-0 de Divi y gana este.

   Solo afecta a los pseudoelementos que tengan content: si un ::after no lo trae,
   el navegador ni lo genera. */
body .et_pb_gallery.et_pb_module::after {
    /* Relleno simetrico y sin alto fijo: la altura la marcan el line-height y el
       propio relleno, y el texto queda centrado sin depender de si el
       box-sizing del pseudoelemento es content-box o border-box. */
    padding: 6px 24px !important;
    height: auto !important;
}


/* -----------------------------------------------------------------------------
   LIGHTBOX DE LA FICHA DE PROPIEDAD (fondo claro)
   -----------------------------------------------------------------------------
   Solo esta: se engancha a .w34-mfp-ficha, la clase que pone el mainClass del
   init de single.php. La lightbox de las galerias de Divi (Lifestyle) sigue con
   el fondo oscuro de mas arriba.

   Los selectores llevan .mfp-wrap o .mfp-bg ademas de la clase propia porque las
   reglas comunes de mas arriba ya usan dos clases; asi estas ganan sin depender
   del orden del fichero. */
.mfp-bg.w34-mfp-ficha {
    background: #fff !important;
    opacity: 1 !important;
}

/* Deja sitio arriba para el contador y el boton de cerrar */
.w34-mfp-ficha img.mfp-img {
    padding: 76px 0 40px !important;
}

.w34-mfp-ficha .mfp-figure:after {
    display: none;
}

/* Contador arriba y centrado ("1 / 5"), en vez de abajo a la derecha */
.w34-mfp-ficha .mfp-bottom-bar {
    position: fixed;
    top: 26px;
    left: 0;
    right: 0;
    margin: 0;
    text-align: center;
    pointer-events: none;
}

/* El pie de foto no va en este diseño */
.w34-mfp-ficha .mfp-title {
    display: none;
}

.w34-mfp-ficha .mfp-counter {
    position: static;
    display: inline-block;
    color: #263238;
    font-size: 15px;
    line-height: 1.4;
}

/* Cerrar: pastilla blanca con texto, arriba a la izquierda */
.mfp-wrap.w34-mfp-ficha button.mfp-close {
    position: fixed;
    top: 18px;
    left: 24px;
    right: auto;
    width: auto;
    height: auto;
    margin: 0;
    padding: 9px 16px !important;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #fff !important;
    color: #263238 !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 8px !important;
    box-shadow: 0 1px 4px rgba(38, 50, 56, 0.15);
    font-size: 14px !important;
    line-height: 1.2 !important;
    opacity: 1 !important;
    text-align: left;
}

.mfp-wrap.w34-mfp-ficha button.mfp-close:hover {
    background: #f7f7f8 !important;
}

.mfp-wrap.w34-mfp-ficha button.mfp-close .w34-mfp-close-x {
    font-size: 13px;
    line-height: 1;
}

/* Flechas: boton blanco con el chevron oscuro, no el chevron suelto en blanco
   que usa la lightbox de las galerias */
.mfp-wrap.w34-mfp-ficha .mfp-arrow {
    width: 44px !important;
    height: 44px !important;
    margin-top: -22px;
    background: #fff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 8px !important;
    box-shadow: 0 1px 4px rgba(38, 50, 56, 0.15);
}

.mfp-wrap.w34-mfp-ficha .mfp-arrow:hover {
    background: #f7f7f8 !important;
}

.mfp-wrap.w34-mfp-ficha .mfp-arrow:after {
    width: 12px !important;
    height: 12px !important;
    border-top-color: #263238 !important;
    border-right-color: #263238 !important;
    filter: none;
}

.mfp-wrap.w34-mfp-ficha .mfp-arrow-left {
    left: 24px !important;
}

.mfp-wrap.w34-mfp-ficha .mfp-arrow-right {
    right: 24px !important;
}

.mfp-wrap.w34-mfp-ficha .mfp-arrow.mfp-prevent-close.mfp-arrow-left:after {
    transform: translate(-35%, -50%) rotate(-135deg);
}

@media (max-width: 600px) {
    .mfp-wrap.w34-mfp-ficha button.mfp-close {
        top: 10px;
        left: 10px;
        padding: 7px 12px !important;
        font-size: 13px !important;
    }

    .w34-mfp-ficha img.mfp-img {
        padding: 64px 0 24px !important;
    }

    .mfp-wrap.w34-mfp-ficha .mfp-arrow-left {
        left: 6px !important;
    }

    .mfp-wrap.w34-mfp-ficha .mfp-arrow-right {
        right: 6px !important;
    }
}

/* Magnific deja dentro de la figura un <div class="mfp-close"> vacio: es el hueco
   donde inyectaria el boton cuando closeBtnInside esta activo. Aqui el boton va
   fuera, asi que ese hueco se queda como una franja invisible de 44px sobre la
   foto que ademas cierra la lightbox al pulsarla. Fuera. */
.w34-mfp-ficha .mfp-figure > .mfp-close {
    display: none !important;
}
.w34-sp-caracteristicas span, .w34-sp-description-text p{
    font-family: 'Manrope' !important;
}


/* Descripcion que cabe entera: sin boton de desplegar. La clase la pone el JS de
   single.php despues de medir si el texto sobresale del recorte de 4 lineas. */
.w34-sp-description.w34-sp-desc-completa .w34-sp-desc-mas {
    display: none;
}


/* Punta que une el panel con su campo, para que se vea de cual cuelga.
   Es un cuadrado girado 45 grados con solo dos bordes: asi hereda el mismo fondo
   y el mismo borde del panel y el pico queda limpio, sin el escalonado que deja
   el truco de los border-color transparentes. */
.w34-dropdown-panel::before {
    content: '';
    position: absolute;
    top: -7px;
    left: 28px;
    width: 12px;
    height: 12px;
    background: #fff;
    border-left: 1px solid #e5e7eb;
    border-top: 1px solid #e5e7eb;
    border-radius: 2px 0 0 0;
    transform: rotate(45deg);
}

/* La referencia es un campo de texto libre y necesita mas sitio que los
   desplegables, que solo muestran una etiqueta corta. Con flex-grow 2 se lleva
   el doble del espacio sobrante que los demas, sin fijarle un ancho: la barra
   sigue repartiendose sola. */
.bwm-search-form .w34-ref-field {
    flex-grow: 2;
}

#w34inmo_location_select + .select2-container--default .select2-selection--single,
.w34-price-inputs .select2-container--default .select2-selection--single {
    border: 2px double #eceff1 !important;
    border-radius: 6px !important;
    box-sizing: border-box !important;
}

/* El select2 de las zonas va suelto en la barra: un poco de aire para que el
   marco no toque los campos de al lado. Los Min/Max ya lo tienen del gap de
   .w34-price-inputs. */
#w34inmo_location_select + .select2-container {
        margin: 0 5px 0 -6px !important;
    padding: 3px;
    border-right: 1px solid  #CFD8DC ;
}

/* Los Min/Max reparten el ancho del panel a partes iguales; select2 los deja
   con width en linea (width:auto del init), asi que se fuerza aqui. */
.w34-price-inputs .select2.select2-container.select2-container--default {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    width: 135px !important;
}

/* Al enfocar, el marco cambia de color pero sigue siendo double: la regla
   generica de focus de select2 esta antes en el archivo y perderia contra la
   de arriba. */
#w34inmo_location_select + .select2-container--default.select2-container--focus .select2-selection--single,
.w34-price-inputs .select2-container--default.select2-container--focus .select2-selection--single {
    border-color: var(--w34-primary-color) !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
font-size: 14px !important;
}


/* =============================================================================
   GALERIA DE FICHA - ESTILO "SLIDER"
   =============================================================================
   Se aplica cuando en W34 Inmo > Ficha propiedad se elige el estilo "Slider".
   Una foto a todo el ancho con flechas y contador, y una tira de miniaturas
   debajo que hace de navegacion.

   Los selectores del contenedor llevan las DOS clases a proposito
   (.w34-sp-gallery.w34-sp-gallery--slider): la hoja del sitio se carga despues
   de esta y define .w34-sp-gallery como flex de 500px de alto. Con una sola
   clase ganaria ella por orden de carga y el slider saldria descuadrado.
   ========================================================================== */
.w34-sp-gallery.w34-sp-gallery--slider {
    display: block;
    height: auto;
    margin-bottom: 45px;
}

.w34-sp-gallery--slider .w34-sp-slider {
    position: relative;
    border-radius: 4px;
    overflow: hidden;
    background: #f5f5f5;
}

.w34-sp-gallery--slider .w34-sp-slide a {
    display: block;
}

.w34-sp-gallery--slider .w34-sp-slide img {
    width: 100%;
    /* height: 520px; */
    object-fit: cover;
    display: block;
}


.w34-sp-gallery--slider .w34-sp-slider-main:not(.slick-initialized) .w34-sp-slide:not(:first-child) {
    display: none;
}

.w34-sp-gallery--slider .w34-sp-slider-thumbs:not(.slick-initialized) {
    display: flex;
    gap: 10px;
    overflow: hidden;
}


.w34-sp-gallery--slider .w34-sp-slider > .w34-sp-badge {
    top: 10px;
    left: 20px;
}

.w34-sp-gallery--slider .w34-sp-slider > .bwm-favorite-btn {
    position: absolute;
    top: 20px;
    bottom: auto;
    right: 20px;
    background: #fff;
    border: none;
    border-radius: 4px;
    padding: 10px;
    cursor: pointer;
    z-index: 5;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s;
}

.w34-sp-gallery--slider .w34-sp-slider > .bwm-favorite-btn:hover {
    transform: scale(1.05);
}

.w34-sp-gallery--slider .w34-sp-slider-contador {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 4;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px;
    border-radius: 4px;
    background: rgba(0, 0, 0, 0.55);
    color: #fff;
    font-size: 14px;
    line-height: 1.6;
}

/* Tira de miniaturas */
.w34-sp-gallery--slider .w34-sp-slider-thumbs {
    margin-top: 10px;
}

.w34-sp-gallery--slider .w34-sp-slider-thumbs .slick-track {
    margin-left: 0;
}

.w34-sp-gallery--slider .w34-sp-slider-thumb {
    padding: 0 5px;
    cursor: pointer;
}

/* proporcion fija: el slide no tiene alto, asi que height:100% dejaba cada miniatura
   con la proporcion de su foto (una foto 3:2 entre fotos 4:3 salia mas baja) */
.w34-sp-gallery--slider .w34-sp-slider-thumb img {
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    display: block;
    border-radius: 4px;
    opacity: 1;
    transition: opacity 0.2s;
}

.w34-sp-gallery--slider .w34-sp-slider-thumb:hover img,
.w34-sp-gallery--slider .w34-sp-slider-thumb.slick-current img {
    opacity: 0.55;
}


.w34-sp-gallery--slider .w34-sp-slider-main button.slick-prev.slick-arrow,
.w34-sp-gallery--slider .w34-sp-slider-main button.slick-next.slick-arrow {
    width: 44px;
    height: 44px;
    z-index: 3;
    padding: 0 !important;
    margin: 0;
    background: none !important;
    background-color: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.w34-sp-gallery--slider .w34-sp-slider-main button.slick-prev.slick-arrow:hover,
.w34-sp-gallery--slider .w34-sp-slider-main button.slick-next.slick-arrow:hover {
    background: none !important;
    background-color: transparent !important;
}

.w34-sp-gallery--slider .w34-sp-slider-main .slick-prev {
    left: 20px;
}

.w34-sp-gallery--slider .w34-sp-slider-main .slick-next {
    right: 20px;
}

.w34-sp-gallery--slider .w34-sp-slider-main button.slick-prev.slick-arrow::before,
.w34-sp-gallery--slider .w34-sp-slider-main button.slick-next.slick-arrow::before {
    content: '' !important;
    display: block !important;
    box-sizing: border-box;
    width: 16px;
    height: 16px;
    border: 0;
    border-top: 2px solid #fff !important;
    border-right: 2px solid #fff !important;
    opacity: 1;
    filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.45));
}

.w34-sp-gallery--slider .w34-sp-slider-main button.slick-next.slick-arrow::before {
    transform: translateX(-3px) rotate(45deg);
}

.w34-sp-gallery--slider .w34-sp-slider-main button.slick-prev.slick-arrow::before {
    transform: translateX(3px) rotate(-135deg);
}

.w34-sp-gallery--slider .w34-sp-slider-main .slick-disabled {
    opacity: 0.35;
}

@media (max-width: 992px) {
    .w34-sp-gallery--slider .w34-sp-slide img {
        height: 400px;
    }

    .w34-sp-gallery--slider .w34-sp-slider-thumb img {
        height: 70px;
    }
}

@media (max-width: 600px) {
    .w34-sp-gallery--slider .w34-sp-slide img {
        height: 167.625px;
    }
    .w34-sp-badge{
    padding: 2px 10px;
    font-size: 10px;
    }

    .w34-sp-gallery--slider .w34-sp-slider-thumb img {
        height: 55px;
    }

    .w34-sp-gallery--slider .w34-sp-slider-main .slick-prev {
        left: 10px;
    }

    .w34-sp-gallery--slider .w34-sp-slider-main .slick-next {
        right: 10px;
    }
}

.w34-dropdown-panel::before {
    content: '';
    position: absolute;
    top: -7px;
    left: 28px;
    width: 12px;
    height: 12px;
    background: #fff;
    border-left: 1px solid #e5e7eb;
    border-top: 1px solid #e5e7eb;
    border-radius: 2px 0 0 0;
    transform: rotate(45deg);
}


.bwm-search-form .w34-ref-field {
    flex-grow: 2;
}
#w34inmo_location_select + .select2-container--default .select2-selection--single,
.w34-price-inputs .select2-container--default .select2-selection--single {
    border: 2px double #eceff1 !important;
    border-radius: 6px !important;
    box-sizing: border-box !important;
}


#w34inmo_location_select + .select2-container {
    margin: 0 5px !important;
}


.w34-price-inputs .select2.select2-container.select2-container--default {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    width: 135px !important;
}


#w34inmo_location_select + .select2-container--default.select2-container--focus .select2-selection--single,
.w34-price-inputs .select2-container--default.select2-container--focus .select2-selection--single {
    border-color: var(--w34-primary-color) !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
font-size: 14px !important;
}

@media (min-width:1500px) {
.w34-sp-slider-main .slick-list.draggable:nth-child(2){
height: 656.797px !important;
} 
}

/* Sobre nosotros (Divi Carousel del equipo): en movil las flechas van en medio y tapaban el texto.
   El modulo solo deja ponerlas arriba o en medio, asi que se bajan aqui a la fila de los puntos. */
@media (max-width: 767px) {
    .page-id-24 .dica-container.mobile_middle-inside .swiper-buttton-container {
        top: auto !important;
        bottom: 0 !important;
        transform: none !important;
        height: 53px;
        margin: 0 !important;
    }

    .page-id-24 .dica-container.mobile_middle-inside .swiper-button-prev,
    .page-id-24 .dica-container.mobile_middle-inside .swiper-button-next {
        top: 0 !important;
        margin-top: 0 !important;
        transform: none !important;
    }

    .page-id-24 .dica-container.mobile_middle-inside .swiper-pagination {
        min-height: 53px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-top: 10px;
    }
}
.beez-no-results {
    grid-column: 1 / -1;
    padding: 60px 0 80px;
    text-align: left;
}

.beez-no-results-title {
    margin: 0 0 12px;
    color: #263238;
    font-size: 2em;
    font-weight: bold;
    font-family: 'Lora';
}
.w34-list-title {
    font-weight: 600 !important;
    font-size: 1.4em;
}
.beez-no-results-text {
    margin: 0;
    color: #546E7A;
    font-weight: normal;
    font-size: 1.2em;
    line-height: 24px;
    font-family: 'Manrope';
}
.w34-sp-breadcrumbs span.separador {
    margin: 0px 8px 5px 3px;
    font-family: 'Manrope';
    font-size: 1.9em;
    line-height: 0.5;
    font-weight: 200;
    display: inline-block;
    vertical-align: middle;
}
.slick-list.draggable .slick-track{
	margin:auto !important;
}
