/*
Theme Name: Houzez Child
Theme URI: http://www.favethemes.com/
Author: Favethemes
Author URI: http://www.favethemes.com/
Description: Houzez is a premium WordPress theme for real estate agents where modern aesthetics are combined with tasteful simplicity, and where the ease of use is achieved without compromise in your ability to customise the design.
Version: 1.0
Tags: white, right-sidebar, left-sidebar, custom-colors, custom-menu, featured-images, post-formats, theme-options, translation-ready
License: GNU General Public License version 3.0
License URI: http://www.gnu.org/licenses/gpl-3.0.html
Text Domain: houzez
Template: houzez
*/

@import url("../houzez/style.css");

/* Your CSS code goes here
-------------------------------------- */

/* ============================================
   Review Stars (admin columns)
   ============================================ */
.column-vecy_avg,
.column-vecy_overall {
  min-width: 140px;
}
.column-vecy_avg .dashicons,
.column-vecy_overall .dashicons {
  font-size: 16px;
  line-height: 1;
  vertical-align: middle;
}


/* ============================================================
   Vecy login popup styling — REMOVED (popup deprecated)
   ============================================================ */

/* (intentionally left blank — old popup fully disabled) */


/* ============================================
   Reviews section & cards (home sliders)
   ============================================ */
.vecy-reviews-section {
    padding: 60px 20px;
    background: #FFFCEE;
    text-align: center;
}

.vecy-reviews-title {
    font-size: 2.2rem;
    margin-bottom: 5px;
    font-weight: 700;
}

.vecy-reviews-subtitle {
    margin-bottom: 30px;
    color: #666;
}

.vecy-reviews-wrapper {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 20px;
    max-width: 1100px;
    margin: 0 auto;
}

.vecy-review-card {
    background: #fff;
    border-radius: 10px;
    padding: 18px 20px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    text-align: left;
    cursor: pointer;
    transition: transform 0.12s ease, box-shadow 0.12s ease;
    outline: none;
}

.vecy-review-card:hover,
.vecy-review-card:focus {
    transform: translateY(-2px);
    box-shadow: 0 4px 14px rgba(0,0,0,0.09);
}

.vecy-review-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
    gap: 10px;
}

.vecy-review-avatar img {
    border-radius: 50%;
}

.vecy-review-author {
    flex: 1;
    font-size: 0.9rem;
}

.vecy-review-author strong {
    display: block;
}

.vecy-review-building a {
    color: #69BAC8;
    font-weight: 600;
    text-decoration: none;
    display: inline-block;
}

.vecy-review-building a:hover {
    text-decoration: underline;
}

.vecy-review-address {
    display: block;
    font-size: 0.8rem;
    color: #777;
}

.vecy-review-date {
    display: block;
    font-size: 0.8rem;
    color: #999;
}

.vecy-review-rating {
    font-size: 0.9rem;
    text-align: right;
    white-space: nowrap;
}

.vecy-review-rating-stars {
    color: #F5A623;
    margin-right: 4px;
}

.vecy-review-rating-number {
    font-weight: 600;
    color: #333;
}

.vecy-review-content p {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.5;
    color: #444;
}

/* Modal popup */
.vecy-modal-open {
    overflow: hidden;
}

.vecy-review-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.45);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.15s ease;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.vecy-review-modal-overlay.is-visible {
    opacity: 1;
    visibility: visible;
}

.vecy-review-modal {
    background: #fff;
    border-radius: 12px;
    max-width: 640px;
    width: 100%;
    max-height: 80vh;
    overflow: auto;
    padding: 24px 26px;
    position: relative;
    box-shadow: 0 8px 25px rgba(0,0,0,0.20);
}

.vecy-review-modal-close {
    position: absolute;
    top: 10px;
    right: 14px;
    border: none;
    background: transparent;
    font-size: 1.6rem;
    line-height: 1;
    cursor: pointer;
}

.vecy-review-modal-body {
    text-align: left;
}

.vecy-review-full-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}

.vecy-review-full-header .vecy-review-author {
    font-size: 0.95rem;
}

.vecy-review-full-body p {
    margin: 0;
    font-size: 0.98rem;
    line-height: 1.6;
}

/* Hide the full content block inside cards */
.vecy-review-full {
    display: none;
}


/* ============================================
   VECY STYLING FOR /MI-CUENTA PAGES
   ============================================ */

/* Links */
.woocommerce-MyAccount-content a,
.woocommerce-MyAccount-navigation a,
.woocommerce form.login a,
.woocommerce form.register a,
.woocommerce-LostPassword a {
    color: #69BAC8 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

.woocommerce-MyAccount-content a:hover,
.woocommerce-MyAccount-navigation a:hover,
.woocommerce form.login a:hover,
.woocommerce form.register a:hover,
.woocommerce-LostPassword a:hover {
    color: #4eaab8 !important;
    text-decoration: underline !important;
}

/* Buttons */
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button,
.woocommerce input[type="submit"],
.woocommerce-button,
button.woocommerce-Button,
button[name="login"],
button[name="register"] {
    background-color: #C87469 !important;
    border-color: #C87469 !important;
    color: #ffffff !important;
    padding: 12px 20px !important;
    border-radius: 20px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    display: inline-block !important;
    width: auto !important;
}

/* Button hover */
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button:hover,
.woocommerce input[type="submit"]:hover,
button.woocommerce-Button:hover,
button[name="login"]:hover,
button[name="register"]:hover {
    background-color: #b9685e !important;
    border-color: #b9685e !important;
}

/* Alt buttons */
.woocommerce button.button.alt,
.woocommerce a.button.alt,
.woocommerce input.button.alt {
    background-color: #C87469 !important;
    border-color: #C87469 !important;
    color: #fff !important;
}

/* WooCommerce notices */
.woocommerce-error a,
.woocommerce-message a,
.woocommerce-info a {
    color: #69BAC8 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

.woocommerce-error a:hover,
.woocommerce-message a:hover,
.woocommerce-info a:hover {
    color: #4eaab8 !important;
    text-decoration: underline !important;
}


/* ============================================
   VeCy Custom Hover Colors (Terracotta #C87469)
   ============================================ */

/* Desktop & mobile main menu items */
#main-nav .nav-link:hover,
#main-nav .nav-link:focus {
    color: #1b365d !important;
}

#main-nav .nav-link:hover {
    text-decoration: underline;
}

/* Login/Register icon (desktop & mobile) */
.houzez-icon:hover,
.houzez-icon:focus {
    color: #C87469 !important;
    fill: #C87469 !important;
}

/* Menu items with icons */
#main-nav li a i:hover {
    color: #C87469 !important;
    fill: #C87469 !important;
}

/* Mobile menu */
.nav-mobile .nav-link:hover,
.nav-mobile .nav-link:focus {
    color: #C87469 !important;
}

/* Favorite icon active */
.item-tool-favorite.vecy-is-favorite .houzez-icon.icon-love-it,
.item-tool-favorite.vecy-is-favorite i {
    color: #C87469 !important;
}


/* ============================================
   WooCommerce My Account left menu – active item
   ============================================ */
.woocommerce-MyAccount-navigation-link.is-active a,
.woocommerce-MyAccount-navigation-link.is-active a:hover {
    background-color: #C87469;
    color: #ffffff !important;
    border-radius: 4px;
    padding: 8px 14px;
}

/* Hover over left menu items (non-active) */
.woocommerce-MyAccount-navigation li a:hover {
    color: #C87469 !important;
}


/* ================================
   VeCy Search Results layout
   ================================ */
.vecy-search-results-wrap {
    max-width: 1100px;
    margin: 40px auto;
    padding: 0 20px 60px;
}

.vecy-search-results-header h1 {
    font-size: 28px;
    margin-bottom: 5px;
}

.vecy-search-query {
    color: #C87469; /* VeCy terracotta */
}

.vecy-search-subtitle {
    margin-bottom: 25px;
    color: #555;
}

/* List layout (one per row) */
.vecy-search-list {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

/* Card */
.vecy-building-card {
    border: 2px solid #69BAC8;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
    padding: 18px 20px !important;
    box-sizing: border-box !important;
}

/* Ensure our card uses flex row */
.vecy-search-results-wrap .vecy-building-link {
    display: flex;
    gap: 22px;
    padding: 18px 20px;
    text-decoration: none;
    color: inherit;
}

/* 300x300 thumbnail – force size */
.vecy-search-results-wrap .vecy-building-thumb {
    flex: 0 0 300px;
    width: 300px !important;
    height: 300px !important;
    overflow: hidden;
    border-radius: 10px;
    background: #f2f6f7;
    display: flex;
    align-items: center;
    justify-content: center;
}

.vecy-search-results-wrap .vecy-building-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
}

.vecy-building-thumb--placeholder span {
    color: #888;
    font-size: 14px;
}

/* Text content */
.vecy-search-results-wrap .vecy-building-content {
    flex: 1;
}

/* Force 24px address, overriding Elementor/Houzez */
.vecy-search-results-wrap h2.vecy-building-title {
    font-size: 24px !important;
    line-height: 1.3 !important;
    margin: 0 0 8px !important;
    text-transform: none !important;
}

/* Rating row */
.vecy-building-rating {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
}

.vecy-stars {
    line-height: 1;
}

.vecy-star {
    font-size: 16px;
    color: #d8d8d8; /* empty star */
    margin-right: 1px;
}

.vecy-star.filled,
.vecy-star.half {
    color: #C87469; /* VeCy terracotta */
}

.vecy-rating-number {
    font-size: 14px;
    font-weight: 600;
    color: #333;
}

.vecy-rating-count {
    font-weight: 400;
    color: #777;
}

.vecy-building-excerpt {
    font-size: 14px;
    color: #555;
    margin: 8px 0 10px;
}

.vecy-building-more {
    font-size: 13px;
    font-weight: 600;
    color: #C87469;
}

/* Hover */
.vecy-building-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0,0,0,0.08);
}

/* Pagination / no results */
.vecy-search-pagination {
    margin-top: 30px;
}

.vecy-search-no-results {
    margin-top: 20px;
}

/* Mobile: stack image above text */
@media (max-width: 768px) {
    .vecy-search-results-wrap .vecy-building-link {
        flex-direction: column;
    }

    .vecy-search-results-wrap .vecy-building-thumb {
        width: 100% !important;
        max-width: 300px;
        margin: 0 auto;
    }

    .vecy-building-card {
        padding: 22px 22px !important;
    }
}


/* ============================================
   VeCy sliders – buildings + reviews
   ============================================ */

/* Sections act as positioning context for arrows */
.vecy-buildings-section,
.vecy-reviews-section {
    position: relative;
}

/* Slider wrappers */
.vecy-buildings-slider,
.vecy-reviews-slider {
    position: relative;
    overflow: hidden;
}

/* Tracks: horizontal scroll areas */
.vecy-buildings-track,
.vecy-reviews-track {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    gap: 1.25rem;
    padding: 0 2.5rem; /* space left/right for arrows */
}

/* Arrows: absolutely positioned, vertically centered */
.vecy-buildings-section .vecy-slider-btn,
.vecy-reviews-section   .vecy-slider-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    border: none;
    background: transparent;
    font-size: 2rem;
    cursor: pointer;
    line-height: 1;
    padding: 0;
    z-index: 5;
}

.vecy-buildings-prev,
.vecy-reviews-prev {
    left: 0.75rem;
}

.vecy-buildings-next,
.vecy-reviews-next {
    right: 0.75rem;
}

/* Mobile: one card per view for both sliders */
@media (max-width: 767px) {
    .vecy-review-card,
    .vecy-building-card {
        flex: 0 0 100%;
        max-width: 100%;
    }
}


/* ============================================
   Fix mobile header profile icon visibility
   ============================================ */
.header-mobile-right .houzez-icon.icon-single-neutral-circle {
    display: inline-block !important;
    color: #C87469 !important;   /* VeCy terracotta */
    fill:  #C87469 !important;
    font-size: 22px !important;
    line-height: 1 !important;
    margin-right: 12px;
}


/* ============================================================
   VECY MOBILE MENUS — TERRACOTTA TEXT + BLUE HOVER
   ============================================================ */

/* Default text color — terracotta */
.nav-mobile a,
.nav-mobile .nav-item a,
.offcanvas .nav-login-register a,
.offcanvas .nav-login-register span,
.offcanvas .nav-login-register li a,
.offcanvas .nav-mobile-nav a {
    color: #C87469 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

/* Hover text color — blue */
.nav-mobile a:hover,
.nav-mobile .nav-item a:hover,
.offcanvas .nav-login-register a:hover,
.offcanvas .nav-login-register li a:hover,
.offcanvas .nav-mobile-nav a:hover {
    color: #69BAC8 !important;
}

/* Remove unwanted underline */
.nav-mobile a:hover,
.offcanvas a:hover {
    text-decoration: none !important;
}

/* Icons inside menu links */
.nav-mobile i,
.offcanvas i {
    color: #C87469 !important;
}

/* Icon hover */
.nav-mobile a:hover i,
.offcanvas a:hover i {
    color: #69BAC8 !important;
}

/* Extra override for strong Houzez selectors */
.nav-mobile .logged-in-nav a,
.nav-mobile .main-nav .nav-item a,
.nav-mobile .main-nav .nav-item a.nav-link {
    color: #C87469 !important;
}

.nav-mobile .logged-in-nav a:hover,
.nav-mobile .main-nav .nav-item a:hover,
.nav-mobile .main-nav .nav-item a.nav-link:hover {
    color: #69BAC8 !important;
}

.nav-mobile .logged-in-nav a i,
.nav-mobile .main-nav .nav-item a i {
    color: #C87469 !important;
}

.nav-mobile .logged-in-nav a:hover i,
.nav-mobile .main-nav .nav-item a:hover i {
    color: #69BAC8 !important;
}


/* ============================================
   VeCy – prevent horizontal overflow on mobile
   ============================================ */
html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

/* Make sure the mobile header never extends wider than the viewport */
.header-main-wrap,
#header-mobile {
    max-width: 100% !important;
    overflow-x: hidden !important;
}


/* ============================================
   VeCy – ensure mobile profile icon stays visible
   ============================================ */

/* Give the whole header some right padding so the icon isn't clipped */
#header-mobile {
    padding-right: 16px !important;
}

/* Nudge the profile icon left so it stays fully inside the teal bar */
.header-mobile-right .houzez-icon.icon-single-neutral-circle {
    margin-right: 0 !important;
    margin-left: 4px !important;
    transform: translateX(-6px);
}

/* Make sure the button wrapper doesn't push it outward */
.header-mobile-right .toggle-button-right {
    padding-right: 0 !important;
    margin-right: 0 !important;
}

/* ============================================
   VeCy – hide profile icon section on very small screens
   ============================================ */
@media (max-width: 767px) {
    .header-mobile-right {
        display: none !important;
    }
}


/* ============================================
   VECY REVIEW PAGE — STYLE IMPROVEMENTS
   ============================================ */

/* 1. Star rating */
.vecy-review-meta .vecy-stars {
    color: #C87469 !important;
    font-size: 18px !important;
    line-height: 1.2;
}

.vecy-review-meta .vecy-stars i,
.vecy-review-meta .vecy-stars svg {
    font-size: 20px !important;
    color: #C87469 !important;
}

/* 2. Review text */
.vecy-review-body {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 18px !important;
    line-height: 1.6 !important;
    color: #333 !important;
}

/* 3. Rating chips */
.vecy-review-chip {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 18px !important;
    border: 1px solid #69BAC8 !important;
    background: #f7fafc !important;
    padding: 6px 10px !important;
    border-radius: 6px !important;
    display: inline-block;
    margin-right: 8px;
}


/* Hide any leftover VeCy login overlay if something injects it */
#vecy-login-overlay {
    display: none !important;
}


/* ============================================================
   VeCy — Hide Houzez default user icons (desktop only)
   ============================================================ */
@media (min-width: 992px) {

    /* Hide the default Houzez user icon */
    i.houzez-icon.icon-single-neutral-circle.ms-1 {
        display: none !important;
    }

    /* Hide the default Houzez avatar image in the header login block */
    .login-register-nav.d-flex.align-items-center.d-none.d-md-flex img.rounded {
        display: none !important;
    }
}

/* ============================================================
   VECY - CUSTOM CARDS STYLE (GRID VIEW)
   ============================================================ */

/* 1. Contenedor principal de la tarjeta */
.item-listing-wrap {
    border-radius: 12px !important;
    border: 1px solid #f0f3f5 !important;
    background-color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(27, 54, 93, 0.05) !important;
    transition: all 0.3s ease-in-out !important;
    overflow: hidden !important;
}

/* Efecto Hover en la tarjeta */
.item-listing-wrap:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 24px rgba(93, 83, 163, 0.12) !important;
    border-color: #5d53a3 !important;
}

/* 2. La imagen (Thumbnail) */
.listing-thumb {
    border-radius: 12px 12px 0 0 !important;
}

.listing-thumb img {
    transition: transform 0.5s ease !important;
}

.item-listing-wrap:hover .listing-thumb img {
    transform: scale(1.08); /* Zoom sutil al pasar el mouse */
}

/* 3. Cuerpo de la tarjeta (Textos) */
.item-body {
    padding: 20px !important;
}

/* Título / Dirección */
.item-title a {
    font-family: 'Open Sans', sans-serif !important;
    color: #1b365d !important; /* Azul Marino */
    font-weight: 700 !important;
    font-size: 17px !important;
    line-height: 1.4 !important;
    transition: color 0.2s ease !important;
}

.item-title a:hover {
    color: #5d53a3 !important; /* Violeta */
}

/* 4. Ocultar datos innecesarios (Ej: si no quieres m2 o ID) */
.item-amenities, .item-type {
    border-top: 1px solid #f0f3f5 !important;
    padding-top: 10px !important;
    color: #556b8d !important;
}

/* Botón flotante de "Favoritos" (corazón) */
.item-tools .item-tool-favorite i {
    color: #ffffff !important;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

/* ============================================================
   VECY - REVIEWS CARDS (ANCHO EQUILIBRADO Y MOBILE READY)
   ============================================================ */

/* 1. ELIMINAR BOTONES DUPLICADOS/HUÉRFANOS */
.vecy-slider-btn {
    display: none !important;
}

/* 2. CARD ESTRUCTURA */
.vecy-review-card {
    background: #ffffff !important;
    border-radius: 18px !important;
    padding: 20px !important;
    border: 1px solid #f0f3f5 !important;
    box-shadow: 0 8px 25px rgba(27, 54, 93, 0.04) !important;
    
    /* Ajuste de ancho para escritorio */
    flex: 0 0 280px !important; /* Ancho fijo base */
    width: 280px !important;
    min-height: 220px !important; 
    
    display: flex !important;
    flex-direction: column !important;
    text-align: center !important;
    margin: 10px !important;
    transition: transform 0.3s ease !important;
}

/* 3. CONTENIDO COMPACTO */
.vecy-review-author strong {
    font-family: 'Baloo 2', cursive !important;
    color: #1b365d !important;
    font-size: 1.05rem !important;
    line-height: 1.2 !important;
    margin-bottom: 5px !important;
    display: block;
}

.vecy-review-rating {
    background: #f8f7ff;
    padding: 4px 12px;
    border-radius: 50px;
    display: inline-flex !important;
    margin: 8px auto !important;
}

.vecy-review-content p {
    font-family: 'Inter', sans-serif !important;
    color: #4a5568 !important;
    font-size: 0.88rem !important;
    line-height: 1.5 !important;
    /* Limitamos a 4 líneas para que no se deformen */
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 10px !important;
}

/* 4. RESPONSIVE: MÓVIL (No se deforma) */
@media (max-width: 768px) {
    .vecy-review-card {
        flex: 0 0 85% !important; /* En móvil ocupan el 85% del ancho */
        width: 85% !important;
        margin: 10px 5% !important;
        min-height: 200px !important;
        padding: 15px !important;
    }
    
    .vecy-review-content p {
        font-size: 0.85rem !important;
        -webkit-line-clamp: 3; /* Un poquito más corto en móvil */
    }
}

/* 5. HOVER */
.vecy-review-card:hover {
    transform: translateY(-5px) !important;
    border-color: #5d53a3 !important;
    box-shadow: 0 12px 30px rgba(93, 83, 163, 0.1) !important;
}