/**
 * Asset Real Estate — Custom Listing Styles
 * Card: Compass style (clean, image-first, price bold, horizontal specs)
 * Single Gallery: HOMIQ style
 */

/* ================================================================
   CSS VARIABLES
================================================================ */
:root {
    --asset-primary:      #1a1a2e;
    --asset-teal:         #2a9d8f;
    --asset-gold:         #EED26E;
    --asset-text:         #1a1a2e;
    --asset-text-muted:   #6b7280;
    --asset-text-light:   #9ca3af;
    --asset-border:       #e5e7eb;
    --asset-white:        #ffffff;
    --asset-radius:       10px;
    --asset-shadow:       0 1px 4px rgba(0,0,0,.08), 0 4px 12px rgba(0,0,0,.06);
    --asset-shadow-hover: 0 4px 20px rgba(0,0,0,.14);
    --asset-transition:   .22s ease;
}

/* ================================================================
   GRID WRAPPER
================================================================ */
.directorist-col-4 {
    visibility: visible !important;
    opacity: 1 !important;
}

.directorist-archive-items .directorist-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
}

/* ================================================================
   LISTING CARD — Compass Style
================================================================ */
.directorist-content-active .asset-listing-card,
.asset-listing-card {
    background: var(--asset-white) !important;
    border-radius: var(--asset-radius) !important;
    overflow: hidden !important;
    box-shadow: var(--asset-shadow) !important;
    border: 1px solid var(--asset-border) !important;
    transition: box-shadow var(--asset-transition), transform var(--asset-transition) !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: var(--asset-text) !important;
    cursor: pointer !important;
    position: relative !important;
}

.asset-listing-card:hover {
    box-shadow: var(--asset-shadow-hover) !important;
    transform: translateY(-3px) !important;
}

/* ── Full-card overlay link ── */
.asset-card__overlay {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    border-radius: inherit !important;
}

.asset-listing-card a:not(.asset-card__overlay),
.asset-listing-card button {
    position: relative !important;
    z-index: 2 !important;
}

/* ── Thumbnail ── */
.asset-listing-card .directorist-listing-single__thumb {
    overflow: hidden !important;
    position: relative !important;
    flex-shrink: 0 !important;
}

.asset-listing-card .directorist-thumnail-card {
    height: 260px !important;
    min-height: 260px !important;
    max-height: 260px !important;
    padding-top: 0 !important;
    overflow: hidden !important;
    position: relative !important;
    border-radius: 0 !important;
    display: block !important;
}

.asset-listing-card .directorist-thumnail-card-front-wrap,
.asset-listing-card .directorist-thumnail-card-back-wrap {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
}

.asset-listing-card .directorist-thumnail-card .directorist-swiper,
.asset-listing-card .directorist-swiper-listing {
    height: 100% !important;
    width: 100% !important;
}

.asset-listing-card .directorist-thumnail-card .swiper-wrapper,
.asset-listing-card .directorist-thumnail-card .swiper-slide {
    height: 100% !important;
    width: 100% !important;
}

.asset-listing-card .directorist-thumnail-card .swiper-slide > a,
.asset-listing-card .directorist-thumnail-card .swiper-slide > div {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
}

.asset-listing-card .directorist-thumnail-card figure {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
}

.asset-listing-card .directorist-thumnail-card img,
.asset-listing-card .directorist-thumnail-card-front-img,
.asset-listing-card .directorist-thumnail-card-back-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    transition: transform .5s ease !important;
}

.asset-listing-card:hover .directorist-thumnail-card-front-img,
.asset-listing-card:hover .directorist-thumnail-card img {
    transform: scale(1.04) !important;
}

/* ── Badges on image ── */
.asset-listing-card .directorist-thumb-top-left { z-index: 3 !important; }
.asset-listing-card .directorist-thumb-top-right { z-index: 3 !important; }

.asset-listing-card .directorist-listing-badge {
    font-size: 11px !important;
    font-weight: 700 !important;
    padding: 4px 10px !important;
    border-radius: 4px !important;
    letter-spacing: .4px !important;
    text-transform: uppercase !important;
}

/* Heart / favorite button */
.asset-listing-card .directorist-mark-as-favorite__btn,
.directorist-content-active .asset-listing-card .directorist-mark-as-favorite__btn {
    background: rgba(255,255,255,.9) !important;
    border-radius: 50% !important;
    width: 32px !important;
    height: 32px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    backdrop-filter: blur(4px) !important;
}

/* ── Content area ── */
.directorist-content-active .asset-listing-card .directorist-listing-single__content,
.asset-listing-card .directorist-listing-single__content {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
    padding: 16px 16px 14px !important;
    background: var(--asset-white) !important;
}

.directorist-content-active .asset-listing-card .directorist-listing-single__info,
.asset-listing-card .directorist-listing-single__info {
    flex: 1 !important;
    padding: 0 !important;
    background: transparent !important;
}

/* ── Price — first, biggest, boldest ── */
.directorist-content-active .asset-listing-card .directorist-pricing-meta,
.asset-listing-card .directorist-pricing-meta,
.directorist-content-active .asset-listing-card .directorist-info-item.directorist-pricing-meta,
.asset-listing-card .directorist-info-item.directorist-pricing-meta {
    display: block !important;
    width: 100% !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    color: var(--asset-text) !important;
    line-height: 1.2 !important;
    margin: 0 0 6px !important;
    letter-spacing: -.4px !important;
    background: transparent !important;
    order: -1 !important;
}

.directorist-content-active .asset-listing-card .directorist-pricing-meta *,
.asset-listing-card .directorist-pricing-meta *,
.asset-listing-card .directorist-info-item.directorist-pricing-meta * {
    color: var(--asset-text) !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    background: transparent !important;
}

/* ── Title — property name, after price ── */
.directorist-content-active .asset-listing-card .directorist-listing-title,
.asset-listing-card .directorist-listing-title {
    font-size: 13px !important;
    font-weight: 400 !important;
    color: var(--asset-text-muted) !important;
    line-height: 1.4 !important;
    margin: 0 0 8px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 1 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    background: transparent !important;
}

.directorist-content-active .asset-listing-card .directorist-listing-title a,
.asset-listing-card .directorist-listing-title a {
    color: var(--asset-text-muted) !important;
    text-decoration: none !important;
}

/* ── Info list: horizontal row with | separators ── */
.directorist-content-active .asset-listing-card .directorist-listing-single__info__list,
.asset-listing-card .directorist-listing-single__info__list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 4px !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 0 !important;
}

.directorist-content-active .asset-listing-card .directorist-listing-single__info__list li,
.directorist-content-active .asset-listing-card .directorist-listing-single__info__list > div,
.asset-listing-card .directorist-listing-single__info__list li,
.asset-listing-card .directorist-listing-single__info__list > div {
    color: var(--asset-text-muted) !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
    line-height: 1.5 !important;
    white-space: nowrap !important;
}

/* | separator between items */
.asset-listing-card .directorist-listing-single__info__list li + li::before,
.asset-listing-card .directorist-listing-single__info__list > div + div::before {
    content: '|' !important;
    margin: 0 7px !important;
    color: var(--asset-border) !important;
    font-weight: 400 !important;
    font-size: 13px !important;
}

/* Hide icons in info list — numbers only */
.asset-listing-card .directorist-listing-single__info__list li i,
.asset-listing-card .directorist-listing-single__info__list li .directorist-icon,
.asset-listing-card .directorist-listing-single__info__list li svg,
.asset-listing-card .directorist-listing-single__info__list .directorist-icon-mask,
.directorist-content-active .asset-listing-card .directorist-listing-single__info__list li i {
    display: none !important;
}

/* Links in info list (beds/baths underline like Compass) */
.directorist-content-active .asset-listing-card .directorist-listing-single__info a,
.asset-listing-card .directorist-listing-single__info a {
    color: var(--asset-text-muted) !important;
    text-decoration: none !important;
}

/* ── Footer — minimal, no border ── */
.asset-card__footer {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding-top: 0 !important;
    margin-top: 4px !important;
    border-top: none !important;
    gap: 6px !important;
    background: transparent !important;
}

.asset-card__footer .directorist-listing-single__meta__left {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    flex: 1 !important;
    min-width: 0 !important;
}

.directorist-content-active .asset-listing-card .directorist-listing-single__meta,
.asset-listing-card .directorist-listing-single__meta {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
}

/* Category and view count — very small, lightest */
.directorist-content-active .asset-listing-card .directorist-listing-category a,
.asset-listing-card .directorist-listing-category a {
    color: var(--asset-text-light) !important;
    font-size: 11px !important;
    text-decoration: none !important;
}

.directorist-content-active .asset-listing-card .directorist-view-count,
.asset-listing-card .directorist-view-count {
    color: var(--asset-text-light) !important;
    font-size: 11px !important;
}

/* Category icon */
.asset-listing-card .directorist-listing-category,
.directorist-content-active .asset-listing-card .directorist-listing-category {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
}

.asset-listing-card .directorist-listing-category i,
.asset-listing-card .directorist-listing-category .directorist-icon,
.asset-listing-card .directorist-listing-category svg {
    font-size: 11px !important;
    flex-shrink: 0 !important;
    color: var(--asset-text-light) !important;
}

/* Hide rating in cards — keep it clean */
.asset-listing-card .directorist-listing-rating-wrap { display: none !important; }

/* ── Category tabs spacing ── */
.directorist-listing-card-list,
.directorist-archive-wrap .directorist-listing-card-list {
    margin-top: 24px !important;
}
   SINGLE LISTING GALLERY — HOMIQ Style
================================================================ */

.asset-gallery-wrap {
    position: relative;
    margin-bottom: 32px;
    border-radius: var(--asset-radius);
    overflow: hidden;
}

.asset-gallery {
    display: grid;
    grid-template-columns: 60% 40%;
    height: 420px;
    gap: 4px;
}

.asset-gallery__main {
    overflow: hidden;
    position: relative;
    height: 100%;
}

.asset-gallery__main-link {
    display: block;
    width: 100%;
    height: 100%;
}

.asset-gallery__main-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .4s ease;
}

.asset-gallery__main:hover .asset-gallery__main-img {
    transform: scale(1.03);
}

.asset-gallery__thumbs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 4px;
    height: 100%;
}

.asset-gallery__thumb {
    display: block;
    overflow: hidden;
    position: relative;
    height: 100%;
}

.asset-gallery__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .4s ease;
}

.asset-gallery__thumb:hover img { transform: scale(1.05); }

.asset-gallery__thumb--more::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(15,23,42,.55);
}

.asset-gallery__more-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #fff;
    gap: 2px;
    pointer-events: none;
}

.asset-gallery__more-count { font-size: 28px; font-weight: 700; line-height: 1; }
.asset-gallery__more-label { font-size: 12px; font-weight: 500; opacity: .9; }

.asset-gallery__count-badge {
    position: absolute;
    bottom: 16px;
    left: 16px;
    background: rgba(0,0,0,.6);
    color: #fff;
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 6px;
    backdrop-filter: blur(4px);
    z-index: 4;
    pointer-events: none;
}

.asset-gallery__thumbs--1 { grid-template-columns: 1fr; grid-template-rows: 1fr; }
.asset-gallery__thumbs--2 { grid-template-columns: 1fr; grid-template-rows: 1fr 1fr; }
.asset-gallery__thumbs--3 .asset-gallery__thumb:first-child { grid-column: 1 / -1; }

/* ================================================================
   RESPONSIVE
================================================================ */

@media (max-width: 1024px) {
    .asset-gallery { height: 320px; }
}

@media (max-width: 768px) {
    .asset-gallery {
        grid-template-columns: 1fr;
        grid-template-rows: 260px 80px;
        height: auto;
    }
    .asset-gallery__thumbs {
        grid-template-columns: repeat(4, 1fr);
        grid-template-rows: 80px;
        height: 80px;
    }
    .asset-gallery__thumbs--3 .asset-gallery__thumb:first-child { grid-column: auto; }
    .asset-listing-card .directorist-thumnail-card { height: 200px !important; }
}

@media (max-width: 480px) {
    .asset-gallery__thumbs { display: none; }
    .asset-gallery { grid-template-columns: 1fr; grid-template-rows: 240px; }
    .asset-listing-card .directorist-thumnail-card { height: 185px !important; }
    .asset-card__cta { padding: 8px 12px !important; font-size: 12px !important; }
    .directorist-content-active .asset-listing-card .directorist-pricing-meta,
    .asset-listing-card .directorist-pricing-meta { font-size: 20px !important; }
}

/* ── Category tabs spacing fix (tabs above cards too close) ── */
.directorist-listing-card-list,
.directorist-archive-wrap .directorist-listing-card-list {
    margin-top: 24px !important;
}

/* Category icon inside card footer — add gap */
.asset-listing-card .directorist-listing-category,
.directorist-content-active .asset-listing-card .directorist-listing-category {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
}

.asset-listing-card .directorist-listing-category i,
.asset-listing-card .directorist-listing-category .directorist-icon,
.asset-listing-card .directorist-listing-category svg {
    font-size: 14px !important;
    flex-shrink: 0 !important;
    color: var(--asset-text-muted) !important;
}

/* ================================================================
   SINGLE LISTING PAGE — Remove duplicate title + sidebar
================================================================ */

/* ================================================================
   SINGLE LISTING PAGE — Layout + Agent Sidebar
================================================================ */

/* Hide duplicate H1 added by Hello Elementor */
.at_biz_dir .page-header {
    display: none !important;
}

/* Fancybox: hide image filename caption */
.fancybox__caption {
    display: none !important;
}

/* ── Agent Sidebar Wrapper ──────────────────────────────────── */
.asset-agent-sidebar {
    position: sticky;
    top: 24px;
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* ── Agent Card ─────────────────────────────────────────────── */
.asset-agent-card {
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 12px 12px 0 0;
    padding: 24px 20px 20px;
    border-bottom: none;
}

.asset-agent-top {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
}

.asset-agent-photo {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    border: 2px solid #f0f0f0;
}

.asset-agent-meta {
    flex: 1;
    min-width: 0;
}

.asset-agent-name {
    font-size: 17px;
    font-weight: 700;
    color: #1a1a2e;
    line-height: 1.2;
    margin-bottom: 4px;
}

.asset-agent-since {
    font-size: 13px;
    color: #888;
}

/* Call Agent button */
.asset-agent-call-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 11px 16px;
    background: transparent;
    border: 1.5px solid #2a9d8f;
    border-radius: 8px;
    color: #2a9d8f;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
}

.asset-agent-call-btn:hover {
    background: #2a9d8f;
    color: #fff;
    text-decoration: none;
}

/* ── Contact Form Card ──────────────────────────────────────── */
.asset-contact-form {
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 0 0 12px 12px;
    padding: 20px;
    border-top: 1px solid #f0f0f0;
}

.asset-agent-form {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.asset-form-group {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.asset-form-label {
    font-size: 12px;
    color: #888;
    font-weight: 500;
    margin-bottom: 2px;
}

.asset-form-input,
.asset-form-textarea {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 14px;
    color: #333;
    background: #fff;
    outline: none;
    transition: border-color 0.2s;
    font-family: inherit;
    box-sizing: border-box;
}

.asset-form-input:focus,
.asset-form-textarea:focus {
    border-color: #2a9d8f;
}

.asset-form-textarea {
    resize: vertical;
    min-height: 90px;
    line-height: 1.5;
}

/* Phone row */
.asset-phone-row {
    flex-direction: row !important;
    gap: 8px !important;
}

.asset-phone-code {
    width: 90px;
    flex-shrink: 0;
    padding: 10px 8px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 14px;
    color: #333;
    background: #fff;
    outline: none;
    cursor: pointer;
    font-family: inherit;
    transition: border-color 0.2s;
}

.asset-phone-code:focus {
    border-color: #2a9d8f;
}

.asset-phone-row .asset-form-input {
    flex: 1;
}

/* Form response message */
.asset-form-response {
    font-size: 13px;
    margin: 0;
    min-height: 0;
}

.asset-form-success {
    color: #2a9d8f;
    font-weight: 500;
}

.asset-form-error {
    color: #e74c3c;
    font-weight: 500;
}

/* Submit button */
.asset-form-submit {
    width: 100%;
    padding: 12px;
    background: #2a9d8f;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
    transition: background 0.2s, opacity 0.2s;
}

.asset-form-submit:hover {
    background: #21867a;
}

.asset-form-submit:disabled {
    opacity: 0.65;
    cursor: not-allowed;
}

/* Checkboxes */
.asset-form-checkboxes {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 4px;
}

.asset-checkbox-label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
    font-size: 12px;
    color: #555;
    line-height: 1.4;
}

.asset-checkbox-label input[type="checkbox"] {
    margin-top: 1px;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    accent-color: #2a9d8f;
    cursor: pointer;
}

.asset-checkbox-label a {
    color: #2a9d8f;
    text-decoration: underline;
}

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 991px) {
    .asset-agent-sidebar {
        position: static;
        margin-top: 32px;
    }

    .asset-agent-card {
        border-radius: 12px 12px 0 0;
    }
}

@media (max-width: 575px) {
    .asset-agent-card,
    .asset-contact-form {
        padding: 18px 16px;
    }
}

/* ── Hide category type tabs (Apartment / Lots / Villa) ── */
.directorist-type-nav,
.directorist-type-nav,
.directorist-archive-type-nav {
    display: none !important;
}

/* ── Hide 'View Property' button on listing cards ── */
.directorist-listing-footer .directorist-btn-sm,
.directorist-card-list__bottom .directorist-btn,
.atbd_listing_action_btn,
.directorist-listing-card .directorist-btn-view {
    display: none !important;
}

/* ── Full card overlay link (makes entire card clickable) ── */
.asset-listing-card {
    position: relative;
}
.asset-card__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    border-radius: inherit;
}
/* Keep inner links/buttons above the overlay */
.asset-listing-card a:not(.asset-card__overlay),
.asset-listing-card button {
    position: relative;
    z-index: 2;
}

.directorist-type-nav { display: none !important; }

/* ================================================================
   COMPASS-STYLE CARD BODY — custom classes from loop-grid.php
================================================================ */

/* ── Card body wrapper ── */
.asset-card-body {
    padding: 14px 16px 16px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    background: var(--asset-white) !important;
    flex: 1 !important;
}

/* ── Price — big, bold, first ── */
.asset-card-price {
    font-size: 22px !important;
    font-weight: 800 !important;
    color: var(--asset-text) !important;
    line-height: 1.2 !important;
    letter-spacing: -.4px !important;
    margin-bottom: 4px !important;
}

/* ── Specs row: beds | baths | area ── */
.asset-card-specs {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
    font-size: 13px !important;
    color: var(--asset-text-muted) !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    margin-bottom: 2px !important;
}

/* Pipe separator between spec spans */
.asset-card-specs span + span::before {
    content: '|' !important;
    margin: 0 6px !important;
    color: var(--asset-border) !important;
    font-weight: 400 !important;
}

.asset-spec-label {
    color: var(--asset-text-muted) !important;
    font-weight: 400 !important;
}

/* ── Address / title — small, gray ── */
.asset-card-address {
    font-size: 13px !important;
    color: var(--asset-text-muted) !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    margin-top: 2px !important;
}

/* ── Agent footer on card ── */
.asset-card-agent {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: auto !important;
    padding-top: 10px !important;
    border-top: 1px solid var(--asset-border) !important;
}

.asset-card-agent__avatar {
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    flex-shrink: 0 !important;
    border: 1.5px solid var(--asset-border) !important;
}

.asset-card-agent__name {
    font-size: 12px !important;
    color: var(--asset-text-muted) !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    min-width: 0 !important;
}

/* ================================================================
   ASSET FOOTER — Luxury Edition
================================================================ */
.asset-site-footer {
    background: #080e1c !important;
    color: rgba(255,255,255,.6) !important;
    padding: 72px 24px 48px !important;
    margin-top: 0 !important;
    border-top: 1px solid rgba(201,169,110,.18) !important;
}

.asset-footer-inner {
    max-width: 860px !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 0 !important;
    text-align: center !important;
}

/* Logo */
.asset-footer-brand {
    margin-bottom: 36px !important;
}
.asset-footer-brand img {
    height: 48px !important;
    width: auto !important;
    display: block !important;
    opacity: .85 !important;
    margin: 0 auto !important;
}

/* Nav links */
.asset-footer-nav {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 6px 32px !important;
    margin: 0 0 36px !important;
}
.asset-footer-nav__link {
    color: rgba(255,255,255,.5) !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    transition: color .25s !important;
}
.asset-footer-nav__link:hover { color: #c9a96e !important; }

/* Gold divider */
.asset-footer-divider {
    width: 200px !important;
    height: 1px !important;
    background: rgba(201,169,110,.35) !important;
    margin: 0 auto 32px !important;
}

/* Contact row */
.asset-footer-contact {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 28px !important;
    flex-wrap: wrap !important;
    margin-bottom: 36px !important;
}

.asset-footer-contact__item {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    font-size: 12px !important;
    letter-spacing: .4px !important;
    color: rgba(255,255,255,.45) !important;
    text-decoration: none !important;
    transition: color .2s !important;
    white-space: nowrap !important;
}

.asset-footer-contact__item:hover { color: rgba(255,255,255,.8) !important; }

.asset-footer-contact__item svg {
    flex-shrink: 0 !important;
    opacity: .5 !important;
}

/* Copyright */
.asset-footer-copy {
    font-size: 11px !important;
    letter-spacing: .5px !important;
    color: rgba(255,255,255,.25) !important;
}

/* Responsive */
@media (max-width: 600px) {
    .asset-site-footer { padding: 52px 20px 36px !important; }
    .asset-footer-nav { gap: 8px 20px !important; }
    .asset-footer-contact { gap: 14px !important; }
}

/* ================================================================
   SINGLE LISTING — Brand Block + Related Listings
================================================================ */

/* ── Brand Block ── */
.asset-brand-block {
    background: #f8f9fa;
    border-top: 2px solid #e5e7eb;
    margin-top: 60px;
    padding: 48px 24px;
    margin-top: 0;
}

.asset-brand-block__inner {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: flex-start;
    gap: 40px;
}

.asset-brand-block__logo {
    flex-shrink: 0;
}

.asset-brand-block__logo img {
    width: 110px;
    height: auto;
    opacity: .85;
}

.asset-brand-block__text {
    flex: 1;
    min-width: 0;
}

.asset-brand-block__title {
    font-size: 18px;
    font-weight: 700;
    color: #1a1a2e;
    margin: 0 0 12px;
    line-height: 1.3;
}

.asset-brand-block__text p {
    font-size: 14px;
    color: #6b7280;
    line-height: 1.7;
    margin: 0;
}

/* ── Related Listings ── */
.asset-related-section {
    padding: 80px 24px 64px;
    background: #fff;
    border-top: 2px solid #e5e7eb;
    margin-top: 60px;
}

.asset-related-section__inner {
    max-width: 1200px;
    margin: 0 auto;
}

.asset-related-section__title {
    font-size: 22px;
    font-weight: 700;
    color: #1a1a2e;
    margin: 0 0 28px;
}

/* Responsive */
@media (max-width: 640px) {
    .asset-brand-block__inner {
        flex-direction: column;
        gap: 20px;
    }
    .asset-brand-block__logo img {
        width: 80px;
    }
}

/* ================================================================
   CARD FIXES — heart, dots, carousel arrows
================================================================ */

/* Hide heart / favorite button on cards */
.asset-listing-card .directorist-mark-as-favorite__btn {
    display: none !important;
}

/* Hide pagination dots on card carousels */
.asset-listing-card .directorist-swiper__pagination {
    display: none !important;
}

/* Fix carousel prev/next arrows — lift above overlay */
.asset-listing-card [class*="directorist-swiper__nav--next-listing"],
.asset-listing-card [class*="directorist-swiper__nav--prev-listing"] {
    position: relative !important;
    z-index: 10 !important;
    pointer-events: all !important;
}

/* Also ensure the thumb wrap doesn't eat pointer events */
.asset-listing-card .directorist-listing-single__thumb {
    z-index: 2 !important;
}

/* The photo count badge (1/9) — keep visible */
.asset-listing-card .directorist-thumnail-card .directorist-slider-count {
    z-index: 10 !important;
    position: relative !important;
}

/* ================================================================
   CARD FIXES v2 — heart, arrows, mejoras visuales
================================================================ */

/* ── Ocultar corazón — máxima especificidad ── */
.directorist-mark-as-favorite__btn,
.directorist-listing-card .directorist-mark-as-favorite__btn,
.asset-listing-card .directorist-mark-as-favorite__btn,
.directorist-content-active .directorist-mark-as-favorite__btn,
[class*="directorist"] .directorist-mark-as-favorite__btn {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* ── Thumb area: allow arrows to show ── */
.asset-listing-card .directorist-listing-single__thumb {
    overflow: visible !important;
    position: relative !important;
    z-index: 2 !important;
}

/* Clip only the image, not the nav buttons */
.asset-listing-card .directorist-thumnail-card {
    overflow: hidden !important;
}

/* ── Carousel arrows — estilo visible ── */
.asset-listing-card [class*="directorist-swiper__nav--prev-listing"],
.asset-listing-card [class*="directorist-swiper__nav--next-listing"] {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 10 !important;
    width: 32px !important;
    height: 32px !important;
    background: rgba(255,255,255,.92) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.18) !important;
    transition: background .15s, opacity .15s !important;
    pointer-events: all !important;
    opacity: 0 !important;
}

/* Show arrows on card hover */
.asset-listing-card:hover [class*="directorist-swiper__nav--prev-listing"],
.asset-listing-card:hover [class*="directorist-swiper__nav--next-listing"] {
    opacity: 1 !important;
}

.asset-listing-card [class*="directorist-swiper__nav--prev-listing"] {
    left: 10px !important;
}

.asset-listing-card [class*="directorist-swiper__nav--next-listing"] {
    right: 10px !important;
}

.asset-listing-card [class*="directorist-swiper__nav--prev-listing"]:hover,
.asset-listing-card [class*="directorist-swiper__nav--next-listing"]:hover {
    background: #fff !important;
}

/* ── Pagination dots — ocultar ── */
.asset-listing-card [class*="directorist-swiper__pagination--listing"] {
    display: none !important;
}

/* ── Photo count badge (1/9) — estilo ── */
.asset-listing-card .directorist-slider-count {
    position: absolute !important;
    bottom: 10px !important;
    right: 10px !important;
    background: rgba(0,0,0,.55) !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    padding: 3px 8px !important;
    border-radius: 20px !important;
    z-index: 5 !important;
    backdrop-filter: blur(4px) !important;
}

/* ── Header bar (3 Listings Found / Sort By) — mejorar ── */
.directorist-archive-header {
    padding: 0 0 16px !important;
}

.directorist-archive-header .directorist-archive-header__left {
    font-size: 13px !important;
    color: var(--asset-text-muted) !important;
    font-weight: 500 !important;
}

/* ── Spacing before footer ── */
#site-footer.asset-site-footer { margin-top: 0px !important; }

/* ── Card title ── */
.asset-card-title {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #1a1a2e !important;
    line-height: 1.35 !important;
    margin-bottom: 2px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

/* ── Card badges (top of image) ── */
.asset-badge {
    position: absolute !important;
    top: 12px !important;
    z-index: 5 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .4px !important;
    text-transform: uppercase !important;
    padding: 5px 11px !important;
    border-radius: 5px !important;
    line-height: 1 !important;
    pointer-events: none !important;
}

.asset-badge--dark {
    left: 12px !important;
    background: #0f172a !important;
    color: #fff !important;
}

.asset-badge--teal {
    background: #2a9d8f !important;
    color: #fff !important;
}

.asset-badge--right {
    right: 12px !important;
}

/* ── Badges v2 — relative to article ── */
.asset-badges-wrap {
    position: absolute !important;
    top: 12px !important;
    left: 12px !important;
    right: 12px !important;
    z-index: 20 !important;
    display: flex !important;
    gap: 6px !important;
    flex-wrap: wrap !important;
    pointer-events: none !important;
}

.asset-badge {
    display: inline-block !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .4px !important;
    text-transform: uppercase !important;
    padding: 5px 11px !important;
    border-radius: 5px !important;
    line-height: 1 !important;
}

.asset-badge--dark {
    background: #0f172a !important;
    color: #fff !important;
}

.asset-badge--teal {
    background: #2a9d8f !important;
    color: #fff !important;
}

/* ── Listing badges — positioned on card, above swiper ── */
.asset-listing-card > .asset-badges-outer {
    position: absolute !important;
    top: 12px !important;
    left: 12px !important;
    right: 12px !important;
    z-index: 50 !important;
    display: flex !important;
    gap: 6px !important;
    pointer-events: none !important;
}

/* ── Ocultar sección Tag en detalle de propiedad ── */
.directorist-single-tag-list,
.directorist-single-field:has(.directorist-single-tag-list),
.directorist-single-info-row:has(.directorist-single-tag-list) {
    display: none !important;
}






/* Elementor button — quitar subrayado del texto */
.elementor-widget-button a,
.elementor-widget-button a:hover,
.elementor-widget-button a:visited {
    text-decoration: none !important;
}

/* ── Menu hover elegante ── */
.ekit-menu-nav-link {
    position: relative;
    transition: color .25s ease !important;
    text-decoration: none !important;
}
.ekit-menu-nav-link::after {
    content: '';
    position: absolute;
    bottom: -3px;
    left: 50%;
    right: 50%;
    height: 1.5px;
    background: #c9a96e;
    transition: left .3s cubic-bezier(.22,1,.36,1), right .3s cubic-bezier(.22,1,.36,1);
    border-radius: 2px;
}
.ekit-menu-nav-link:hover,
.ekit-menu-nav-link:focus {
    color: #c9a96e !important;
    text-decoration: none !important;
}
.ekit-menu-nav-link:hover::after,
.ekit-menu-nav-link:focus::after {
    left: 15px;
    right: 15px;
}

/* ── Ocultar vistas lista y mapa de Directorist ── */
.directorist-view-as .atbdp-list-view,
.directorist-view-as .atbdp-map-view,
.directorist-view-as a[href*="view=list"],
.directorist-view-as a[href*="view=map"],
.atbd_listing_type_switch_list,
.atbd_listing_type_switch_map {
    display: none !important;
}

.directorist-viewas__item--list,
.directorist-viewas__item--map { display:none !important; }

/* ── Footer nav links ── */
.asset-footer-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 28px;
    margin: 0 0 20px;
}
.asset-footer-nav__link {
    color: rgba(255,255,255,0.65);
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.4px;
    text-decoration: none;
    transition: color .2s;
}
.asset-footer-nav__link:hover { color: #c9a96e; }
