/*
Theme Name:   Homirx Child
Template:     homirx
Version:      1.0.3
Description:  Zennt Real Estate - child theme con overrides corporativos
*/

/* === Color corporativo unificado === */
:root {
    --zennt-primary: #172740;
    --zennt-primary-light: #2a3a5a;
    --directorist-color-primary: #172740 !important;
}

/* Botones 'Add Properties' y similares: color corporativo */
.elementor-button[href*="add-listing"],
.elementor-button[href*="add-properties"],
a[href*="add-listing"].elementor-button,
.directorist-add-listing-btn {
    background-color: #172740 !important;
    border-color: #172740 !important;
    color: #fff !important;
}

.elementor-button[href*="add-listing"]:hover,
.elementor-button[href*="add-properties"]:hover {
    background-color: #2a3a5a !important;
    border-color: #2a3a5a !important;
}

/* Precio en cards: color corporativo */
.directorist-listing-price {
    color: #172740 !important;
    font-weight: 700;
}

/* Card hover refinado */
.property-block:hover {
    box-shadow: 0 8px 24px rgba(23, 39, 64, 0.12);
    transition: box-shadow 0.3s ease;
}

/* === Header: solo reducir padding vertical, NO afectar al logo === */
.wp-site-header .e-con {
    --padding-top: 10px !important;
    --padding-bottom: 10px !important;
}

.top-bar,
.gva-top-bar,
.header-top-bar {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    min-height: 0 !important;
    font-size: 13px !important;
}

/* === Header más compacto (v2) === */
.wp-site-header .e-con-inner,
.wp-site-header .e-con {
    --padding-top: 4px !important;
    --padding-bottom: 4px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
}

/* Logo 20% más pequeño */
.wp-site-header img[src*="zennt-logo"],
.wp-site-header .elementor-widget-image img {
    max-height: 55px !important;
    width: auto !important;
}

/* === Hero: separar letras de 'Let's Find Your Dream House' === */
.elementor-widget-heading .elementor-heading-title,
h1.elementor-heading-title,
h2.elementor-heading-title {
    letter-spacing: 0.02em !important;
}

/* Específico para el hero principal de la home */
.elementor-location-header ~ * h1.elementor-heading-title,
.elementor-section .elementor-heading-title[class*="elementor-size-xxl"],
.elementor-heading-title:where(h1) {
    letter-spacing: 0.03em !important;
    word-spacing: 0.08em !important;
}

/* === Header logo+menu: padding mínimo === */
.wp-site-header .e-con,
.wp-site-header .e-con-inner,
.wp-site-header .elementor-section,
.wp-site-header .elementor-container,
.wp-site-header section.elementor-section-stretched {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    --padding-top: 0px !important;
    --padding-bottom: 0px !important;
    --padding-block-start: 0px !important;
    --padding-block-end: 0px !important;
}

.wp-site-header .elementor-element,
.wp-site-header .elementor-widget-wrap {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.wp-site-header .elementor-widget {
    margin-bottom: 0 !important;
}

/* Logo container sin padding extra */
.wp-site-header .elementor-widget-image {
    padding: 0 !important;
}

/* === Reemplazar verde lima del tema por corporativo === */
:root {
    --homirx-primary: #172740 !important;
    --homirx-accent: #172740 !important;
    --gva-primary: #172740 !important;
}

/* Cualquier elemento con color verde lima → corporativo */
[style*='#C2DF93'],
[style*='#c2df93'],
.gva-hover-color,
.elementor-element:hover .property-cat-icon,
.elementor-element-hover {
    color: #172740 !important;
    border-color: #172740 !important;
    background-color: transparent !important;
}

/* Hovers en cards de tipos de propiedad */
.directory-type-item:hover,
.property-type-card:hover,
.gva-feature-box:hover,
.elementor-widget-wrap:hover {
    border-color: #172740 !important;
}

/* Spans con highlight verde en títulos */
.elementor-heading-title span,
.gva-heading-color,
.gva-color {
    color: #172740 !important;
}

/* ============================================
   QUIRÚRGICO: Sección 'Our Listing' / Cards
   ============================================ */

/* Pre-title 'Our Listing' con línea decorativa */
.elementor-heading-title + .elementor-heading-title,
.gva-heading-pre,
h4:has-text('Our Listing'),
.elementor-widget-heading h2:where([class*="size-xs"]):first-child,
.elementor-widget-heading .elementor-heading-title:where([class*="sub-title"]) {
    position: relative;
    padding-left: 56px;
    display: inline-block;
}

/* Línea decorativa antes del subtítulo */
.gva-heading-pre::before,
[data-element_type='widget'][data-widget_type*='heading'] h4::before,
.elementor-heading-title[class*='size-xs']::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 40px;
    height: 2px;
    background: #172740;
    transform: translateY(-50%);
}

/* === Tabs (Apartments / Lots / Villas) === */
.tab-listing-filter-button,
.elementor-tabs-wrapper .elementor-tab-title,
.directorist-filter-buttons li,
ul.directorist-tabs__nav li {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    border-radius: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
}

.tab-listing-filter-button:hover,
.directorist-filter-buttons li:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 16px rgba(23, 39, 64, 0.12);
}

/* Tab activo: borde inferior animado */
.tab-listing-filter-button.active,
.directorist-tabs__nav .active,
.elementor-tab-title.elementor-active {
    position: relative;
}

/* === CARDS de propiedades: estilo premium === */
.property-block,
.directorist-listing-card,
.atbd_single_listing {
    border-radius: 20px !important;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    background: #fff;
    border: 1px solid rgba(23, 39, 64, 0.06);
    box-shadow: 0 1px 3px rgba(23, 39, 64, 0.04);
}

.property-block:hover,
.directorist-listing-card:hover,
.atbd_single_listing:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 24px 48px rgba(23, 39, 64, 0.14), 0 0 0 1px rgba(23, 39, 64, 0.08) !important;
    border-color: transparent !important;
}

/* Imagen de la card: zoom suave en hover */
.property-block__thumb,
.directorist-thumnail-card {
    overflow: hidden;
    position: relative;
}

.property-block__thumb img,
.directorist-thumnail-card img {
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

.property-block:hover .property-block__thumb img,
.directorist-listing-card:hover img.lazyload,
.atbd_single_listing:hover img {
    transform: scale(1.05) !important;
}

/* Badge NEW: refinar */
.directorist-badge,
.property-thumb-bottom-left .directorist-badge,
.atbd_upper_badge .new {
    background: #172740 !important;
    color: #fff !important;
    font-weight: 700 !important;
    font-size: 11px !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    padding: 6px 12px !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 12px rgba(23, 39, 64, 0.25) !important;
}

/* Favorite icon (corazón) */
.directorist-favorite-icon,
.directorist-mark-as-favorite__btn {
    transition: all 0.3s ease !important;
    backdrop-filter: blur(8px);
    background: rgba(255, 255, 255, 0.9) !important;
    border: none !important;
}

.directorist-mark-as-favorite__btn:hover {
    background: #172740 !important;
    transform: scale(1.1) !important;
}

.directorist-mark-as-favorite__btn:hover .directorist-favorite-icon::before,
.directorist-mark-as-favorite__btn:hover svg {
    color: #fff !important;
    fill: #fff !important;
}

/* Avatar del autor: borde corporativo */
.directorist-thumb-listing-author img {
    border: 2px solid #fff !important;
    box-shadow: 0 4px 12px rgba(23, 39, 64, 0.18) !important;
    transition: transform 0.3s ease;
}

.property-block:hover .directorist-thumb-listing-author img {
    transform: scale(1.08);
}

/* Título de la card */
.directorist-listing-title a {
    color: #172740 !important;
    font-weight: 700 !important;
    transition: color 0.3s ease;
}

.directorist-listing-title a:hover {
    color: #2a3a5a !important;
}

/* Precio: estilo premium */
.directorist-listing-price {
    background: linear-gradient(135deg, #172740, #2a3a5a);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-size: 20px !important;
    font-weight: 800 !important;
}

/* Meta info (bed, bath, m²): iconos corporativos */
.property-block__info--list,
.directorist-listing-card-meta {
    border-top: 1px dashed rgba(23, 39, 64, 0.1);
    padding-top: 12px !important;
    margin-top: 8px !important;
}

/* Spacing general de la sección */
.directorist-archive-contents,
.directorist-archive-grid-view {
    padding-top: 8px;
}

/* === FIX: Botón Details color de texto === */
.property-block .property-listing-link a,
.property-list .property-listing-link a,
.property-block__meta--right .property-listing-link a {
    color: #fff !important;
    background: #172740 !important;
    transition: all 0.3s ease !important;
}

.property-block .property-listing-link a i,
.property-list .property-listing-link a i {
    color: #fff !important;
}

.property-block .property-listing-link a:hover,
.property-block:hover .property-listing-link a,
.property-list:hover .property-listing-link a {
    background: #2a3a5a !important;
    color: #fff !important;
    transform: translateX(2px);
}

/* === Zennt Listing Intro Block === */
.znt-listing-intro {
    margin-top: 24px;
    max-width: 540px;
    animation: zntFadeUp 0.8s cubic-bezier(0.25,0.46,0.45,0.94) both;
}

.znt-listing-desc {
    font-size: 16px;
    line-height: 1.7;
    color: #6C6E76;
    margin: 0 0 32px;
    font-weight: 400;
}

.znt-stats {
    display: flex;
    gap: 32px;
    margin-bottom: 28px;
    flex-wrap: wrap;
}

.znt-stat {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-left: 16px;
    border-left: 2px solid #172740;
    transition: transform 0.3s ease;
}

.znt-stat:hover {
    transform: translateY(-2px);
}

.znt-stat-num {
    font-size: 34px;
    font-weight: 800;
    line-height: 1;
    color: #172740;
    font-family: 'Manrope', sans-serif;
    letter-spacing: -0.5px;
}

.znt-stat-label {
    font-size: 12px;
    font-weight: 600;
    color: #6C6E76;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.znt-cta-list {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 28px;
    background: #172740;
    color: #fff !important;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-decoration: none !important;
    transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
    box-shadow: 0 4px 14px rgba(23,39,64,0.18);
}

.znt-cta-list span {
    transition: transform 0.3s ease;
    display: inline-block;
}

.znt-cta-list:hover {
    background: #2a3a5a;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(23,39,64,0.28);
    color: #fff !important;
}

.znt-cta-list:hover span {
    transform: translateX(4px);
}

@keyframes zntFadeUp {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 768px) {
    .znt-stats { gap: 20px; }
    .znt-stat-num { font-size: 28px; }
}

/* === FIX: Avatar del autor por encima (no cortado) === */
.property-block__thumb {
    overflow: visible !important;
}

/* El zoom se mantiene solo en el wrapper de la imagen */
.directorist-thumnail-card {
    overflow: hidden !important;
    border-radius: 16px !important;
}

/* Avatar por encima de todo, sin cortar */
.directorist-thumb-listing-author {
    z-index: 20 !important;
    position: absolute !important;
}

.directorist-thumb-listing-author img {
    width: 52px !important;
    height: 52px !important;
    border-radius: 50% !important;
    border: 3px solid #fff !important;
    box-shadow: 0 6px 16px rgba(23, 39, 64, 0.25) !important;
}

/* La card padre tampoco debe cortar el avatar */
.property-block {
    overflow: visible !important;
}

/* === FIX: Avatar círculo perfecto === */
.directorist-thumb-listing-author,
.directorist-thumb-listing-author a {
    width: 52px !important;
    height: 52px !important;
    display: block !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
}

.directorist-thumb-listing-author img {
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    min-height: 52px !important;
    max-width: 52px !important;
    max-height: 52px !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    border-radius: 50% !important;
    border: 3px solid #fff !important;
    box-shadow: 0 6px 16px rgba(23, 39, 64, 0.25) !important;
    padding: 0 !important;
    display: block !important;
}

/* === Page Intro Block con imagen de fondo === */
.znt-page-intro {
    position: relative;
    max-width: none;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);

    text-align: center;
    padding: 180px 20px 70px;
    background-image: linear-gradient(rgba(23,39,64,0.78), rgba(23,39,64,0.85)), url('/wp-content/uploads/2025/04/0364-min-scaled-1.jpg');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    border-radius: 0 0 32px 32px;
    overflow: hidden;
    animation: zntFadeUp 0.7s cubic-bezier(0.25,0.46,0.45,0.94) both;
}

.znt-page-eyebrow {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    margin-bottom: 16px;
    padding: 8px 20px;
    background: rgba(255,255,255,0.15);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 50px;
}

.znt-page-title {
    font-size: 48px;
    font-weight: 800;
    line-height: 1.1;
    color: #fff !important;
    margin: 0 0 18px;
    letter-spacing: -0.5px;
}

.znt-page-intro .znt-listing-desc {
    text-align: center;
    margin: 0 auto 32px;
    max-width: 600px;
    color: rgba(255,255,255,0.85) !important;
    font-size: 17px;
}

.znt-page-intro .znt-stats {
    justify-content: center;
    margin-top: 28px;
}

.znt-page-intro .znt-stat {
    border-left: 2px solid rgba(255,255,255,0.4);
}

.znt-page-intro .znt-stat-num {
    color: #fff !important;
}

.znt-page-intro .znt-stat-label {
    color: rgba(255,255,255,0.75) !important;
}

@media (max-width: 768px) {
    .znt-page-title { font-size: 32px; }
    .znt-page-intro { padding: 130px 16px 50px; background-attachment: scroll; }
}

/* === FIX: hover de iconbox-one (Top Features) que ocultaba contenido === */
/* En hover: fondo blanco, contenido corporativo (contraste claro) */
.iconbox-one__single:before {
    background: #fff !important;
}

.iconbox-one__single:hover .iconbox-one__icon,
.iconbox-one__single:focus .iconbox-one__icon,
.iconbox-one__single.active .iconbox-one__icon {
    border-color: rgba(23,39,64,0.2) !important;
    color: #172740 !important;
    background: rgba(23,39,64,0.05) !important;
}

.iconbox-one__single:hover .iconbox-one__icon svg,
.iconbox-one__single.active .iconbox-one__icon svg {
    fill: #172740 !important;
}

.iconbox-one__single:hover .iconbox-one__title,
.iconbox-one__single:hover .iconbox-one__title a,
.iconbox-one__single:focus .iconbox-one__title,
.iconbox-one__single.active .iconbox-one__title,
.iconbox-one__single.active .iconbox-one__title a {
    color: #172740 !important;
}

.iconbox-one__single:hover .term-count,
.iconbox-one__single:focus .term-count,
.iconbox-one__single.active .term-count {
    color: #6C6E76 !important;
}

/* Icono visible en estado normal (no tenue) */
.iconbox-one__icon {
    opacity: 1 !important;
}

/* === Ocultar shapes decorativas (estrella, círculos, triángulos) === */
[style*='bg-01.png'],
[style*='bg-02.png'],
[style*='bg-03.png'],
[style*='bg-04.png'],
[style*='bg-05.png'],
.gva-shape, .shape-decoration, .elementor-shape-deco,
img[src*='bg-01.png'], img[src*='bg-02.png'], img[src*='bg-03.png'],
img[src*='bg-04.png'], img[src*='bg-05.png'] {
    background-image: none !important;
    display: none !important;
}

/* ============================================
   Explore Property Types (de720c3) - LIMPIO
   ============================================ */

/* Sección: fondo claro */
.elementor-element-de720c3 {
    background: #F5F7FA !important;
    padding-top: 70px !important;
    padding-bottom: 70px !important;
}

/* Quitar cualquier overlay/background oscuro del heading wrapper */
.elementor-element-de720c3 > .e-con-inner > .elementor-element,
.elementor-element-de720c3 .gva-element-gva-heading-block {
    background: transparent !important;
}

/* Heading en corporativo */
.elementor-element-de720c3 .gva-heading-block .title-text,
.elementor-element-de720c3 .gva-heading-block h2,
.elementor-element-de720c3 .elementor-heading-title {
    color: #172740 !important;
}
.elementor-element-de720c3 .gva-heading-block .sub-title,
.elementor-element-de720c3 .sub-title {
    color: #6C6E76 !important;
    letter-spacing: 0.18em !important;
}

/* === CARDS: fondo blanco, contenido corporativo === */
.elementor-element-de720c3 .iconbox-one__single {
    background: #fff !important;
    border: 1px solid rgba(23,39,64,0.08) !important;
    border-radius: 16px !important;
    padding: 32px 20px !important;
    box-shadow: 0 1px 3px rgba(23,39,64,0.04) !important;
    transition: all 0.35s cubic-bezier(0.4,0,0.2,1) !important;
}

/* Quitar las capas :before/:after del tema que ponían el color */
.elementor-element-de720c3 .iconbox-one__single:before,
.elementor-element-de720c3 .iconbox-one__single:after {
    display: none !important;
}

/* Icono compacto corporativo */
.elementor-element-de720c3 .iconbox-one__icon {
    width: 56px !important;
    height: 56px !important;
    font-size: 28px !important;
    color: #172740 !important;
    border: 1px solid rgba(23,39,64,0.15) !important;
    border-radius: 14px !important;
    margin-bottom: 16px !important;
    background: rgba(23,39,64,0.04) !important;
}
.elementor-element-de720c3 .iconbox-one__icon svg {
    width: 28px !important;
    fill: #172740 !important;
}

/* Textos de la card */
.elementor-element-de720c3 .iconbox-one__title,
.elementor-element-de720c3 .iconbox-one__title a {
    color: #172740 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
}
.elementor-element-de720c3 .term-count {
    color: #6C6E76 !important;
    font-size: 13px !important;
}






/* === HOVER: fondo 10% corporativo, todo visible === */
.elementor-element-de720c3 .iconbox-one__single:hover {
    background: rgba(23,39,64,0.06) !important;
    border-color: rgba(23,39,64,0.25) !important;
    transform: translateY(-6px) !important;
    box-shadow: 0 16px 40px rgba(23,39,64,0.12) !important;
}
/* Texto siempre corporativo, visible */
.elementor-element-de720c3 .iconbox-one__single:hover .iconbox-one__title,
.elementor-element-de720c3 .iconbox-one__single:hover .iconbox-one__title a {
    color: #172740 !important;
}
.elementor-element-de720c3 .iconbox-one__single:hover .term-count {
    color: #6C6E76 !important;
}
/* Icono: fondo corporativo sólido + símbolo blanco (contraste, NO se mimetiza) */
.elementor-element-de720c3 .iconbox-one__single:hover .iconbox-one__icon {
    background: #172740 !important;
    border-color: #172740 !important;
    color: #fff !important;
}
.elementor-element-de720c3 .iconbox-one__single:hover .iconbox-one__icon svg {
    fill: #fff !important;
}

/* ============================================================
   FIX v6 (cache-bust): fondo header + ícono usuario alineado
   ============================================================ */

/* Fondo del hero de listados — forzado para ganar a Elementor */
.znt-page-intro {
    background-image:
        linear-gradient(rgba(23,39,64,0.78), rgba(23,39,64,0.85)),
        url('/wp-content/uploads/2025/04/0364-min-scaled-1.jpg') !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}
.znt-page-title { color: #fff !important; }
.znt-page-eyebrow { color: #fff !important; }
.znt-page-intro .znt-listing-desc { color: rgba(255,255,255,0.85) !important; }
.znt-page-intro .znt-stat-num { color: #fff !important; }
.znt-page-intro .znt-stat-label { color: rgba(255,255,255,0.75) !important; }

/* === Ícono de usuario del header (gva_user) — inline y centrado === */
.elementor-widget-gva_user { display: flex !important; align-items: center !important; margin: 0 !important; }
.elementor-widget-gva_user .elementor-widget-container { display: flex !important; align-items: center !important; }
.gva-user, .gva-user .login-account, .gva-user .profile {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    height: 48px !important;
}
.gva-user .avata.avata-icon {
    width: 48px !important;
    height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    background: #172740 !important;
    color: #fff !important;
    flex-shrink: 0 !important;
}
.gva-user .avata.avata-icon .icon,
.gva-user .avata.avata-icon i {
    color: #fff !important;
    font-size: 20px !important;
    line-height: 1 !important;
    margin: 0 !important;
}
.gva-user .avata img {
    width: 48px !important; height: 48px !important;
    border-radius: 50% !important; object-fit: cover !important;
}

/* === Ocultar estrellas de rating en cards y single === */
.directorist-rating-meta,
.directorist-rating-transparent,
.directorist-rating-avg,
.directorist-total-review,
.atbd_listing_rating,
.atbd_meta-rating,
.directorist-listings-reviews,
.directorist-review-meta,
.directorist-review-form,
.directorist-content-active-review {
    display: none !important;
}

/* === Card Image Slider (Swiper) === */
.znnt-card-swiper {
    position: relative;
    width: 100%;
    height: 100%;
    border-radius: 16px;
    overflow: hidden;
}
.znnt-card-swiper .swiper-wrapper {
    height: 100%;
}
.znnt-card-swiper .swiper-slide {
    height: 100%;
}
.znnt-card-swiper .swiper-slide a {
    display: block;
    width: 100%;
    height: 100%;
}
.znnt-card-swiper .swiper-slide img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block;
}

/* Botones nav */
.znnt-card-swiper .swiper-button-prev,
.znnt-card-swiper .swiper-button-next {
    width: 36px !important;
    height: 36px !important;
    background: rgba(255,255,255,0.95) !important;
    backdrop-filter: blur(8px);
    border-radius: 50% !important;
    border: none;
    cursor: pointer;
    color: #172740 !important;
    opacity: 0;
    transition: opacity 0.3s, transform 0.2s;
    box-shadow: 0 4px 12px rgba(23,39,64,0.18);
    margin-top: -18px !important;
}
.znnt-card-swiper .swiper-button-prev::after,
.znnt-card-swiper .swiper-button-next::after {
    font-size: 14px !important;
    font-weight: 800 !important;
    color: #172740 !important;
}
.znnt-card-swiper .swiper-button-prev:hover,
.znnt-card-swiper .swiper-button-next:hover {
    transform: scale(1.08);
    background: #fff !important;
}
.property-block:hover .znnt-card-swiper .swiper-button-prev,
.property-block:hover .znnt-card-swiper .swiper-button-next,
.directorist-listing-card:hover .znnt-card-swiper .swiper-button-prev,
.directorist-listing-card:hover .znnt-card-swiper .swiper-button-next {
    opacity: 1;
}

/* Pagination dots */
.znnt-card-swiper .swiper-pagination {
    bottom: 12px !important;
}
.znnt-card-swiper .swiper-pagination-bullet {
    background: #fff !important;
    opacity: 0.6 !important;
    width: 6px !important;
    height: 6px !important;
}
.znnt-card-swiper .swiper-pagination-bullet-active {
    opacity: 1 !important;
    background: #fff !important;
    width: 20px !important;
    border-radius: 3px !important;
}

/* Mobile: botones siempre visibles, más pequeños */
@media (max-width: 768px) {
    .znnt-card-swiper .swiper-button-prev,
    .znnt-card-swiper .swiper-button-next {
        opacity: 0.85;
        width: 30px !important;
        height: 30px !important;
    }
    .znnt-card-swiper .swiper-button-prev::after,
    .znnt-card-swiper .swiper-button-next::after {
        font-size: 12px !important;
    }
}


/* === Cards: altura homogénea independiente de la imagen === */
/* Imagen siempre con aspect-ratio fijo (4:3) */
.property-block__thumb,
.directorist-thumnail-card,
.atbd_thumbnail,
.directorist-similar-thumb,
.directorist-related-thumb {
    aspect-ratio: 4 / 3 !important;
    width: 100% !important;
    height: auto !important;
    overflow: hidden;
    position: relative;
}

.property-block__thumb img,
.directorist-thumnail-card img,
.atbd_thumbnail img,
.directorist-similar-thumb img,
.directorist-related-thumb img,
.znnt-card-swiper .swiper-slide img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
}

/* Cards: usar flex para que todas se estiren igual */
.directorist-archive-items .directorist-row,
.directorist-similar-listings .directorist-row,
.directorist-related-listings .directorist-row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
}

.directorist-col-4,
.directorist-col-6,
.directorist-col-12 {
    display: flex !important;
    flex-direction: column !important;
}

.directorist-col-4 > .property-block,
.directorist-col-6 > .property-block,
.directorist-col-12 > .property-block,
.directorist-col-4 > .directorist-listing-card,
.directorist-col-6 > .directorist-listing-card {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}

/* El contenido bajo la imagen se expande para llenar */
.property-block__content {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
}

.property-block__meta {
    margin-top: auto !important;
}

/* También Related/Similar listings (mismas reglas) */
.directorist-related-listing__items,
.directorist-similar-listings__items {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    gap: 20px !important;
    align-items: stretch !important;
}

.directorist-related-listing__items > *,
.directorist-similar-listings__items > * {
    display: flex !important;
    flex-direction: column !important;
}


/* === FIX: Heading 'Explore Apartments Types' visible en fondo claro === */
.elementor-element-de720c3 h2.title,
.elementor-element-de720c3 h2.title span,
.elementor-element-de720c3 .gva-heading-block h2,
.elementor-element-de720c3 .gva-heading-block h2 span,
.elementor-element-de720c3 .gva-heading-block .title,
.elementor-element-de720c3 .gva-heading-block .title span {
    color: #172740 !important;
    opacity: 1 !important;
}

.elementor-element-de720c3 h2.title em,
.elementor-element-de720c3 .gva-heading-block em {
    color: #2a3a5a !important;
    font-style: normal;
    margin-left: 6px;
    opacity: 1 !important;
}

.elementor-element-de720c3 .sub-title,
.elementor-element-de720c3 .gva-sub-title {
    color: #6C6E76 !important;
    opacity: 1 !important;
}


/* === FIX: Estado .active = mismo tratamiento que :hover (Lots aparecía invisible) === */
.elementor-element-de720c3 .iconbox-one__single.active,
.elementor-element-de720c3 .iconbox-one__single:focus,
.iconbox-one__single.active,
.iconbox-one__single:focus {
    background: rgba(23,39,64,0.06) !important;
    border-color: rgba(23,39,64,0.25) !important;
}
.iconbox-one__single.active .iconbox-one__icon,
.iconbox-one__single:focus .iconbox-one__icon,
.elementor-element-de720c3 .iconbox-one__single.active .iconbox-one__icon {
    background: #172740 !important;
    border-color: #172740 !important;
    color: #fff !important;
}
.iconbox-one__single.active .iconbox-one__icon svg,
.elementor-element-de720c3 .iconbox-one__single.active .iconbox-one__icon svg {
    fill: #fff !important;
}
.iconbox-one__single.active .iconbox-one__title,
.iconbox-one__single.active .iconbox-one__title a,
.iconbox-one__single.active .term-count,
.elementor-element-de720c3 .iconbox-one__single.active .iconbox-one__title,
.elementor-element-de720c3 .iconbox-one__single.active .term-count {
    color: #172740 !important;
}

/* Re-asegurar shapes decorativas ocultas en /properties/ y todas */
[class*='triangle'], [class*='shape-deco'],
img[src*='shape'], img[src*='triangle'],
.gva-shape, .shape-decoration,
.elementor-element-de720c3 svg.deco,
[style*='shape-'][style*='url'] {
    display: none !important;
}


/* === FIX: Top Features en /properties/ tiene fondo OSCURO — texto blanco === */
.elementor-element-3418e63 .iconbox-one__single .iconbox-one__title,
.elementor-element-3418e63 .iconbox-one__single .iconbox-one__title a,
.elementor-element-3418e63 .iconbox-one__single .term-count,
.elementor-element-1a53146 .iconbox-one__single .iconbox-one__title,
.elementor-element-1a53146 .iconbox-one__single .iconbox-one__title a,
.elementor-element-1a53146 .iconbox-one__single .term-count,
.elementor-element-6ece3a8 .iconbox-one__single .iconbox-one__title,
.elementor-element-6ece3a8 .iconbox-one__single .iconbox-one__title a,
.elementor-element-6ece3a8 .iconbox-one__single .term-count {
    color: #fff !important;
}

.elementor-element-3418e63 .iconbox-one__single.active .iconbox-one__title,
.elementor-element-3418e63 .iconbox-one__single.active .iconbox-one__title a,
.elementor-element-3418e63 .iconbox-one__single.active .term-count,
.elementor-element-1a53146 .iconbox-one__single.active .iconbox-one__title,
.elementor-element-1a53146 .iconbox-one__single.active .term-count,
.elementor-element-6ece3a8 .iconbox-one__single.active .iconbox-one__title,
.elementor-element-6ece3a8 .iconbox-one__single.active .term-count {
    color: #fff !important;
}

/* Icono visible (borde + color blanco translúcido) */
.elementor-element-3418e63 .iconbox-one__icon,
.elementor-element-1a53146 .iconbox-one__icon,
.elementor-element-6ece3a8 .iconbox-one__icon {
    color: #fff !important;
    border-color: rgba(255,255,255,0.2) !important;
    background: rgba(255,255,255,0.06) !important;
}
.elementor-element-3418e63 .iconbox-one__icon svg,
.elementor-element-1a53146 .iconbox-one__icon svg,
.elementor-element-6ece3a8 .iconbox-one__icon svg {
    fill: #fff !important;
}


/* === FIX: icono <i> en Top Features de /properties/ === */
.elementor-element-3418e63 .iconbox-one__icon i,
.elementor-element-1a53146 .iconbox-one__icon i,
.elementor-element-6ece3a8 .iconbox-one__icon i,
[class*='elementor-element-'] .iconbox-one__single .iconbox-one__icon i {
    color: #fff !important;
    opacity: 1 !important;
    font-size: 38px !important;
    line-height: 1 !important;
}

/* Asegurar visibilidad del wrapper también */
.elementor-element-3418e63 .iconbox-one__icon,
.elementor-element-1a53146 .iconbox-one__icon,
.elementor-element-6ece3a8 .iconbox-one__icon {
    opacity: 1 !important;
    visibility: visible !important;
}

