/*
Theme Name:  Houzez Child
Theme URI:   https://cabareterealestate.com/
Author:      Cabarete Real Estate
Description: Child theme de Houzez para el sitio de Cabarete Real Estate.
             Compatible con Houzez 4.x. NO sobreescribe templates del padre —
             todas las personalizaciones se implementan mediante hooks y filtros.
Version:     2.0
Template:    houzez
Text Domain: houzez
License:     GNU General Public License version 3.0
License URI: http://www.gnu.org/licenses/gpl-3.0.html
*/

/*
 * La hoja de estilos del tema padre (houzez/style.css) se carga
 * mediante wp_enqueue_scripts en functions.php.
 * NO usar @import aquí — carga el CSS dos veces y bloquea el renderizado.
 *
 * Agrega tus estilos personalizados debajo de esta línea.
 * ---------------------------------------------------------------
 */

/* ================================================
   PROPERTY CARDS — BASE
   ================================================ */

.item-listing-wrap.item-wrap-v1 {
    border-radius: 10px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 16px rgba(0,0,0,0.07) !important;
    border: 1px solid rgba(0,0,0,0.05) !important;
    transition: box-shadow 0.3s ease, transform 0.3s ease !important;
    background: #fff !important;
}

.item-listing-wrap.item-wrap-v1:hover {
    box-shadow: 0 8px 32px rgba(0,0,0,0.13) !important;
    transform: translateY(-4px) !important;
}

/* ================================================
   PROPERTY CARDS — ALTURA UNIFORME
   ================================================ */

.item-listing-wrap.item-wrap-v1 .item-wrap-no-frame {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

.item-listing-wrap.item-wrap-v1 .item-body {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
}

/* ================================================
   PROPERTY CARDS — TÍTULO
   ================================================ */

.item-listing-wrap.item-wrap-v1 .item-title {
    font-size: 14px !important;
    line-height: 1.4 !important;
    min-height: 52px !important;
    margin-bottom: 8px !important;
}

/* ================================================
   PROPERTY CARDS — BOTÓN DETAILS AL FONDO
   ================================================ */

.item-listing-wrap.item-wrap-v1 .btn-item {
    margin-top: auto !important;
    align-self: flex-start !important;
}

/* ================================================
   PROPERTY CARDS — OCULTAR ELEMENTOS
   ================================================ */

.item-address.mb-2 {
    display: none !important;
}

.item-footer {
    display: none !important;
}

.item-listing-wrap.item-wrap-v1 .h-type {
    display: none !important;
}

/* ================================================
   PROPERTY CARDS — IMÁGENES (CARRUSEL SLICK)
   ================================================ */

.listing-gallery-wrap.houzez-show-gallery {
    height: 220px !important;
}

.listing-gallery-wrap.houzez-show-gallery .houzez-listing-carousel,
.listing-gallery-wrap.houzez-show-gallery .slick-list,
.listing-gallery-wrap.houzez-show-gallery .slick-track,
.listing-gallery-wrap.houzez-show-gallery .slick-slide {
    height: 220px !important;
}

.listing-gallery-wrap.houzez-show-gallery .slick-slide img {
    height: 220px !important;
    width: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
}

/* Fix list view en páginas de agentes */
.listing-view.list-view .listing-gallery-wrap.houzez-show-gallery,
.listing-view.list-view .listing-gallery-wrap.houzez-show-gallery .houzez-listing-carousel,
.listing-view.list-view .listing-gallery-wrap.houzez-show-gallery .slick-list,
.listing-view.list-view .listing-gallery-wrap.houzez-show-gallery .slick-track,
.listing-view.list-view .listing-gallery-wrap.houzez-show-gallery .slick-slide {
    height: 100% !important;
}

.listing-view.list-view .listing-gallery-wrap.houzez-show-gallery .slick-slide img {
    height: 100% !important;
    width: 100% !important;
    object-fit: cover !important;
}



/* ================================================
   PROPERTY DETAIL — 3 COLUMNAS
   ================================================ */

.detail-wrap .row > li {
    flex: 0 0 33.333%;
    max-width: 33.333%;
}

.detail-wrap {
    padding: 15px !important;
}

.detail-wrap .list-lined-item {
    justify-content: flex-start !important;
    gap: 5px;
}

.detail-wrap .list-lined-item strong::after {
    content: "";
}

.detail-wrap .list-lined-item span {
    font-size: 14px;
    color: rgba(0, 0, 0, 0.55);
    font-weight: 400;
}

#property-detail-wrap .detail-wrap .row > li.col-md-6 {
    flex: 0 0 33.333% !important;
    max-width: 33.333% !important;
}

#property-detail-wrap .list-lined-item.justify-content-between {
    justify-content: flex-start !important;
    gap: 6px !important;
}

#property-detail-wrap .list-lined-item span:last-child {
    color: rgba(0,0,0,0.6) !important;
    font-weight: 400 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

#property-detail-wrap .list-lined-item {
    flex-wrap: nowrap !important;
    align-items: baseline !important;
}

#property-detail-wrap .list-lined-item strong::after {
    content: ":";
}

#property-address-wrap .detail-wrap .row > li.col-md-6 {
    flex: 0 0 33.333% !important;
    max-width: 33.333% !important;
}

#property-address-wrap .list-lined-item.justify-content-between {
    justify-content: flex-start !important;
    gap: 6px !important;
}

#property-address-wrap .list-lined-item span:last-child {
    color: rgba(0,0,0,0.6) !important;
    font-weight: 400 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

#property-address-wrap .list-lined-item {
    flex-wrap: nowrap !important;
    align-items: baseline !important;
}

#property-address-wrap .list-lined-item strong::after {
    content: "";
}

/* ================================================
   SINGLE PROPERTY — HEADER TRANSPARENTE (fix raíz)
   SOLO DESKTOP — en mobile Houzez queda de fábrica
   ================================================ */

@media (min-width: 768px) {

.single-property .site-content {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Header SIEMPRE fixed y SIEMPRE por encima del trigger */
.single-property #header-section {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 9999 !important;
    background: transparent !important;
    background-color: transparent !important;
}

.single-property #header-section .header-main-wrap,
.single-property #header-section .navbar,
.single-property #header-section nav {
    background: transparent !important;
    background-color: transparent !important;
}

.single-property #header-section .nav-link,
.single-property #header-section .navbar-nav .nav-link {
    color: #fff !important;
}

.single-property #header-section .logo img {
    filter: brightness(10) !important;
}

/* Con el header en 9999, el logo ya es clickeable. */

/* Banner content por debajo del trigger */
.single-property .property-banner-v2 .container.h-100 {
    position: relative !important;
    z-index: 10 !important;
    padding-top: 100px !important;
    pointer-events: none !important;
}

/* Los elementos interactivos DENTRO del container recuperan el click */
.single-property .property-banner-v2 .container.h-100 a,
.single-property .property-banner-v2 .container.h-100 button,
.single-property .property-banner-v2 .container.h-100 nav {
    pointer-events: auto !important;
}

/* Trigger de galería: cubre TODO el banner y por encima del container (10).
   El logo sigue protegido por el header (z-index 9999). */
.single-property .property-banner-trigger {
    pointer-events: auto !important;
    z-index: 20 !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
}

/* Gradiente sobre la imagen */
.single-property .property-top-wrap,
.single-property .property-banner-v2 {
    position: relative !important;
    z-index: 1 !important;
}
.single-property .property-top-wrap::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 200px !important;
    background: linear-gradient(to bottom, rgba(10,22,40,0.65), transparent) !important;
    z-index: 2 !important;
    pointer-events: none !important;
}

/* FOR SALE badge — por encima del trigger para que sea clickeable */
.single-property .property-banner-v2 .page-label-wrap {
    position: relative !important;
    z-index: 25 !important;
    margin-bottom: 8px !important;
}

.single-property .property-banner-v2 .page-label-wrap .item-label,
.single-property .property-banner-v2 .page-label-wrap a,
.single-property .property-banner-v2 .page-label-wrap span {
    font-size: 10px !important;
    padding: 3px 10px !important;
}

/* Tabs galería/mapa — por encima del trigger */
.single-property #pills-tab {
    position: absolute !important;
    top: 120px !important;
    right: 20px !important;
    z-index: 25 !important;
}

/* Nav tools (favorito, share, print) — por encima del trigger */
.single-property .property-banner-v2 nav[role="navigation"] {
    position: relative !important;
    z-index: 25 !important;
    pointer-events: all !important;
}

/* Sin zoom en la imagen */
.single-property .property-top-wrap img {
    animation: none !important;
    transform: scale(1) !important;
    transition: none !important;
}

/* Scroll — SOLO cambia el fondo, NO la posición */
.single-property #header-section.scrolled {
    background: #004274 !important;
    background-color: #004274 !important;
}

.single-property #header-section.scrolled .logo img {
    filter: none !important;
}

} /* fin @media desktop — abajo de esta línea vuelve a aplicar a todo */

/* ================================================
   HOMEPAGE — LÍNEA SEPARADORA EN HEADINGS
   ================================================ */
/* NOTA: este bloque NO se activará hasta que me pases el class
   real del <h2> del homepage (es WPBakery, no Elementor). */

.home .section-title,
.home .block-title,
.home h2.elementor-heading-title {
    position: relative !important;
    padding-bottom: 14px !important;
}

.home .section-title::after,
.home .block-title::after,
.home h2.elementor-heading-title::after {
    content: "" !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 48px !important;
    height: 2px !important;
    background: #1a6bbf !important;
}

/* ================================================
   MISC
   ================================================ */

.vc_btn3.vc_btn3-color-juicy-pink,
.vc_btn3.vc_btn3-color-juicy-pink.vc_btn3-style-flat {
    color: #fff;
    background-color: #00a3b9;
}

/* ================================================
   RESPONSIVE — MOBILE
   ================================================ */

@media (max-width: 767px) {
    .detail-wrap .row > li {
        flex: 0 0 100%;
        max-width: 100%;
    }

    #property-detail-wrap .detail-wrap .row > li.col-md-6 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}

/* -----------------------------------------------------------------------
   FIX: Botón "Other Features" duplicado en el dock search
   dock-search.php (theme padre) y other-features.php ambos apuntan al
   mismo panel #features-list. Se mantiene "More Options" (ya está bien
   ubicado, justo debajo de Search) y se oculta el toggle "+ Other Features"
   de other-features.php, que es donde vive exclusivamente esta clase.
   ----------------------------------------------------------------------- */
.search-expandable-wrap .btn-features-list {
	display: none !important; /* .d-flex de Bootstrap trae display:flex !important, hay que igualar */
}
