/**
 * Asset Real Estate — Custom Listing Styles
 * Card: Zenvia style (white card, dark text)
 * Single Gallery: HOMIQ style
 */

/* ================================================================
   CSS VARIABLES
================================================================ */
:root {
    --asset-primary:      #1C2D37;
    --asset-gold:         #EED26E;
    --asset-text:         #1C2D37;
    --asset-text-muted:   #6E7070;
    --asset-border:       #e5e7eb;
    --asset-white:        #ffffff;
    --asset-radius:       12px;
    --asset-shadow:       0 2px 16px rgba(0,0,0,.09);
    --asset-shadow-hover: 0 10px 36px rgba(0,0,0,.17);
    --asset-transition:   .22s ease;
}

/* ================================================================
   LISTING CARD — Zenvia Style
================================================================ */

/* ── Grid wrapper: ensure cards are visible in Hello Elementor ── */
.directorist-col-4 {
    visibility: visible !important;
    opacity: 1 !important;
}

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

.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;
}

.asset-listing-card:hover {
    box-shadow: var(--asset-shadow-hover) !important;
    transform: translateY(-4px) !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: 230px !important;
    min-height: 230px !important;
    max-height: 230px !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;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;
}

/* Swiper inside thumbnail — force full height */
.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 {
    height: 100% !important;
}

.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 .45s ease !important;
}

.asset-listing-card:hover .directorist-thumnail-card-front-img,
.asset-listing-card:hover .directorist-thumnail-card img {
    transform: scale(1.06) !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; }

/* NEW / FEATURED / POPULAR badge pills */
.asset-listing-card .directorist-listing-badge {
    font-size: 11px !important;
    font-weight: 700 !important;
    padding: 4px 10px !important;
    border-radius: 20px !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,.85) !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: 20px 20px 16px !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;
}

/* ── Title ── */
.directorist-content-active .asset-listing-card .directorist-listing-title,
.asset-listing-card .directorist-listing-title {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--asset-text) !important;
    line-height: 1.4 !important;
    margin: 0 0 10px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !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) !important;
    text-decoration: none !important;
}

.directorist-content-active .asset-listing-card .directorist-listing-title a:hover,
.asset-listing-card .directorist-listing-title a:hover {
    color: var(--asset-primary) !important;
    opacity: .8 !important;
}

/* ── Price — big, bold, own line ── */
.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: 24px !important;
    font-weight: 800 !important;
    color: var(--asset-text) !important;
    line-height: 1.2 !important;
    margin: 0 0 4px !important;
    background: transparent !important;
    letter-spacing: -.3px !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;
}

/* ── Rating — separate line, smaller ── */
.directorist-content-active .asset-listing-card .directorist-listing-rating-wrap,
.asset-listing-card .directorist-listing-rating-wrap,
.directorist-content-active .asset-listing-card .directorist-info-item:has(.directorist-rating),
.asset-listing-card .directorist-info-item:has(.directorist-rating) {
    display: block !important;
    margin-bottom: 10px !important;
}

.asset-listing-card .directorist-rating {
    font-size: 13px !important;
    color: #f59e0b !important;
}

.asset-listing-card .directorist-ratings-count {
    font-size: 12px !important;
    color: var(--asset-text-muted) !important;
}

/* ── Info list: address, phone, date ── */
.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 6px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !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;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 6px !important;
    line-height: 1.4 !important;
}

.asset-listing-card .directorist-listing-single__info__list li i,
.asset-listing-card .directorist-listing-single__info__list li .directorist-icon,
.directorist-content-active .asset-listing-card .directorist-listing-single__info__list li i {
    color: var(--asset-primary) !important;
    font-size: 13px !important;
    margin-top: 1px !important;
    flex-shrink: 0 !important;
}

/* icon-mask pseudo elements */
.directorist-content-active .asset-listing-card .directorist-listing-single__info__list li .directorist-icon-mask:after,
.directorist-content-active .asset-listing-card .directorist-listing-single__info__list > div .directorist-icon-mask:after {
    background-color: var(--asset-text-muted) !important;
}

/* All links inside info */
.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 ── */
.asset-card__footer {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding-top: 14px !important;
    margin-top: auto !important;
    border-top: 1px solid var(--asset-border) !important;
    gap: 10px !important;
    background: transparent !important;
}

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

/* Category text */
.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;
}

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

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

.directorist-content-active .asset-listing-card .directorist-listing-single__meta .directorist-view-count .directorist-icon-mask:after {
    background-color: var(--asset-text-muted) !important;
}

/* ── CTA Button "View Property" ── */
.asset-card__cta {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: var(--asset-primary) !important;
    color: var(--asset-white) !important;
    text-decoration: none !important;
    padding: 9px 16px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    transition: background var(--asset-transition), gap var(--asset-transition) !important;
    border: none !important;
    line-height: 1 !important;
}

.asset-card__cta:hover {
    background: var(--asset-gold) !important;
    color: var(--asset-primary) !important;
    text-decoration: none !important;
    gap: 9px !important;
}

.asset-card__cta-icon {
    width: 14px !important;
    height: 14px !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
================================================================ */

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

/* 2. Hide sidebar column (Search, Recent Posts, Recent Comments, Archives) */
.directorist-single-contents-area .directorist-col-lg-4 {
    display: none !important;
}

/* 3. Expand main content to full width */
.directorist-single-contents-area .directorist-col-lg-8 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
}

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